/* US IPTV — US Patriotic Theme Overrides */

:root {
  --us-red: #BF0A30;
  --us-white: #FFFFFF;
  --us-blue: #002868;
  --us-navy: #0a1a3a;
  --us-blue-light: #1a3570;
}

/* Refined typography for headings */
.section-heading {
  letter-spacing: -0.03em !important;
  text-shadow: 0 2px 20px rgba(0, 40, 104, 0.3);
}

.section-subheading {
  color: rgba(255, 255, 255, 0.82) !important;
  max-width: 44rem !important;
}

/* Nav — patriotic bottom stripe */
.nav-glass {
  border-color: rgba(191, 10, 48, 0.3) !important;
  background-color: rgba(10, 26, 58, 0.92) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25), inset 0 -2px 0 rgba(191, 10, 48, 0.5) !important;
}

/* Glass cards — softer corners & depth */
.glass-card {
  border-radius: 1.125rem !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.glass-card:hover {
  transform: translateY(-2px);
}

.glass-card-strong {
  border-radius: 1.125rem !important;
  border-color: rgba(191, 10, 48, 0.25) !important;
  background-image: linear-gradient(145deg, rgba(255,255,255,0.07), rgba(0,40,104,0.08)) !important;
}

/* Subtle star-spangled background pattern on hero */
.bg-promo-gradient {
  background: linear-gradient(165deg, #0a1a3a 0%, #0f1f4d 45%, #1a3570 100%) !important;
  position: relative;
}

.bg-promo-gradient::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(191, 10, 48, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(0, 40, 104, 0.15) 0%, transparent 50%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 40px,
      rgba(255, 255, 255, 0.015) 40px,
      rgba(255, 255, 255, 0.015) 41px
    );
  pointer-events: none;
  z-index: 0;
}

/* Patriotic stripe accent on section dividers */
.section-divider {
  background: linear-gradient(90deg, var(--us-red), var(--us-white), var(--us-blue)) !important;
  height: 3px !important;
}

/* Red-white-blue top bar on cards on hover */
.glass-card:hover {
  border-color: rgba(191, 10, 48, 0.4) !important;
  box-shadow: 0 8px 32px rgba(191, 10, 48, 0.12) !important;
}

/* CTA buttons — patriotic red gradient */
.btn-cta {
  background: linear-gradient(90deg, #BF0A30, #DC143C, #991B2B) !important;
  color: #fff !important;
  box-shadow: 0 0 48px rgba(191, 10, 48, 0.3) !important;
}

.btn-cta:hover {
  box-shadow: 0 12px 36px rgba(191, 10, 48, 0.5) !important;
}

.btn-cta-secondary {
  background: linear-gradient(to right, #1a3570, #002868) !important;
  border-color: rgba(191, 10, 48, 0.3) !important;
}

.btn-cta-secondary:hover {
  background: linear-gradient(to right, #002868, #1a3570) !important;
  border-color: rgba(191, 10, 48, 0.5) !important;
}

/* Icon box — red to blue gradient (flag colors) */
.icon-box-promo {
  background: linear-gradient(to bottom right, #BF0A30, #002868) !important;
  box-shadow: 0 0 48px rgba(191, 10, 48, 0.25) !important;
  --tw-ring-color: rgb(191 10 48 / 0.3) !important;
}

.icon-box-promo svg {
  color: #fff !important;
}

/* Gradient text — white to red (patriotic) */
.gradient-text {
  background-image: linear-gradient(to right, #ffffff, #ffc9c9, #BF0A30) !important;
}

.gradient-text-accent {
  background-image: linear-gradient(to right, #ffffff, #BF0A30) !important;
}

/* Badge pills — red accent */
.badge-pill {
  border-color: rgba(191, 10, 48, 0.45) !important;
  background-color: rgba(191, 10, 48, 0.15) !important;
  color: #ffc9c9 !important;
}

/* Popup — US themed */
#ukiptv-popup {
  background: linear-gradient(165deg, #0a1a3a, #0f1f4d 45%, #1a3570) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 80px rgba(191, 10, 48, 0.12) !important;
}

#ukiptv-popup::before {
  background: linear-gradient(90deg, #BF0A30 0%, #BF0A30 33%, #fff 33%, #fff 66%, #002868 66%, #002868 100%) !important;
  height: 5px !important;
}

.ukiptv-glow {
  background: radial-gradient(circle, rgba(191, 10, 48, 0.15) 0%, transparent 70%) !important;
}

.ukiptv-badge {
  background: linear-gradient(135deg, #BF0A30, #DC143C) !important;
  box-shadow: 0 4px 20px rgba(191, 10, 48, 0.4) !important;
}

.ukiptv-badge-save {
  background: rgba(0, 40, 104, 0.3) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
}

.ukiptv-title span {
  background: linear-gradient(90deg, #fff, #ffc9c9, #BF0A30) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.ukiptv-price-card {
  background: linear-gradient(145deg, rgba(191, 10, 48, 0.12), rgba(0, 40, 104, 0.1)) !important;
  border: 2px solid rgba(191, 10, 48, 0.35) !important;
}

.ukiptv-new {
  background: linear-gradient(180deg, #fff, #ffc9c9, #BF0A30) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  filter: drop-shadow(0 2px 12px rgba(191, 10, 48, 0.35)) !important;
}

.ukiptv-btn {
  background: linear-gradient(90deg, #BF0A30, #DC143C, #991B2B) !important;
  color: #fff !important;
  box-shadow: 0 8px 28px rgba(191, 10, 48, 0.4) !important;
}

.ukiptv-btn:hover {
  box-shadow: 0 12px 36px rgba(191, 10, 48, 0.55) !important;
}

.ukiptv-input:focus {
  border-color: rgba(191, 10, 48, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(191, 10, 48, 0.15) !important;
}

.ukiptv-form-title span {
  color: #BF0A30 !important;
}

/* Body background */
body {
  background-color: #0a1a3a !important;
}

/* Ring and focus states */
.ring-uk-gold,
.focus\:ring-uk-gold:focus {
  --tw-ring-color: rgb(191 10 48) !important;
}

/* Shadow glows */
.shadow-glow,
.shadow-glow-gold {
  --tw-shadow-color: rgba(191, 10, 48, 0.2) !important;
}

/* Text utility overrides for uk-* classes */
.text-uk-gold { color: #BF0A30 !important; }
.text-uk-gold-dark { color: #991B2B !important; }
.text-uk-gold-light { color: #ffc9c9 !important; }
.text-uk-navy { color: #002868 !important; }

.bg-uk-accent { background-color: #BF0A30 !important; }
.bg-uk-gold\/10 { background-color: rgba(191, 10, 48, 0.1) !important; }

.from-uk-gold { --tw-gradient-from: #BF0A30 !important; }
.to-uk-gold-dark { --tw-gradient-to: #991B2B !important; }
.from-uk-blue { --tw-gradient-from: #002868 !important; }
.from-uk-accent { --tw-gradient-from: #BF0A30 !important; }

.border-uk-gold\/30 { border-color: rgba(191, 10, 48, 0.3) !important; }
.border-uk-gold\/40 { border-color: rgba(191, 10, 48, 0.4) !important; }

.hover\:border-uk-gold\/30:hover {
  border-color: rgba(191, 10, 48, 0.3) !important;
}

/* Pricing card highlight ring */
.ring-uk-gold { --tw-ring-color: rgb(191 10 48) !important; }

/* Patriotic accent line under hero */
@keyframes us-stripe-shimmer {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}
