/**
 * 4K-IPTV UK – Homepage styles (index.php only)
 * Load after main.css
 */

:root {
   --iptv-primary: #ffb302;
   --iptv-primary-dark: #e6a000;
   --iptv-blue: #0b2b6f;
   --iptv-navy: #071a42;
   --iptv-text: #1a1a2e;
   --iptv-muted: #5c6370;
   --iptv-radius: 16px;
   --iptv-shadow: 0 12px 40px rgba(11, 43, 111, 0.12);
   --iptv-shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.18);
   --section-y: clamp(48px, 7vw, 96px);
   --section-y-tight: clamp(32px, 5vw, 64px);
   --section-head-mb: clamp(28px, 4vw, 40px);
}

/* ── Base / layout ── */
.page-home {
   max-width: 100%;
   overflow-x: hidden;
}

/* ── HERO – cinematic IPTV "entertainment universe" (CSS-only, provider-neutral) ── */
.home-hero {
   position: relative;
   padding: clamp(48px, 6.5vw, 92px) 0 clamp(56px, 6vw, 84px);
   background:
      radial-gradient(ellipse 90% 60% at 75% 18%, rgba(95, 145, 255, 0.22) 0%, transparent 55%),
      radial-gradient(ellipse 70% 55% at 12% 105%, rgba(255, 179, 2, 0.14) 0%, transparent 55%),
      radial-gradient(ellipse 55% 45% at 50% 60%, rgba(138, 80, 255, 0.12) 0%, transparent 60%),
      linear-gradient(170deg, #050f28 0%, #061633 38%, #03102c 100%);
   overflow: hidden;
   isolation: isolate;
}

.home-hero__bg {
   position: absolute;
   inset: 0;
   z-index: 0;
   pointer-events: none;
   overflow: hidden;
}

/* Subtle film-grain noise overlay */
.home-hero__bg::before {
   content: "";
   position: absolute;
   inset: 0;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.85'/%3E%3C/svg%3E");
   opacity: 0.045;
   mix-blend-mode: overlay;
   pointer-events: none;
}

.home-hero__aurora {
   position: absolute;
   border-radius: 50%;
   filter: blur(90px);
   opacity: 0.55;
   will-change: auto;
}

.home-hero__aurora--blue {
   top: -22%;
   right: -12%;
   width: 560px;
   height: 560px;
   background: radial-gradient(circle, rgba(76, 144, 255, 0.55), transparent 70%);
}

.home-hero__aurora--gold {
   bottom: -26%;
   left: -10%;
   width: 480px;
   height: 480px;
   background: radial-gradient(circle, rgba(255, 179, 2, 0.28), transparent 70%);
   opacity: 0.6;
}

.home-hero__aurora--violet {
   top: 38%;
   left: 38%;
   width: 420px;
   height: 420px;
   background: radial-gradient(circle, rgba(138, 80, 255, 0.32), transparent 72%);
   opacity: 0.4;
   filter: blur(100px);
}

.home-hero__stars {
   position: absolute;
   inset: 0;
   background-image:
      radial-gradient(rgba(255, 255, 255, 0.7) 1px, transparent 1.4px),
      radial-gradient(rgba(255, 255, 255, 0.4) 1px, transparent 1.4px);
   background-size: 120px 120px, 220px 220px;
   background-position: 0 0, 60px 80px;
   -webkit-mask-image: radial-gradient(ellipse 100% 80% at 50% 50%, #000 0%, transparent 80%);
   mask-image: radial-gradient(ellipse 100% 80% at 50% 50%, #000 0%, transparent 80%);
   opacity: 0.55;
}

.home-hero__grid {
   position: absolute;
   inset: 0;
   background-image:
      linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
   background-size: 72px 72px;
   -webkit-mask-image: radial-gradient(ellipse 100% 70% at 50% 50%, #000 0%, transparent 80%);
   mask-image: radial-gradient(ellipse 100% 70% at 50% 50%, #000 0%, transparent 80%);
   opacity: 0.45;
}

/* Cinematic vignette */
.home-hero::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   z-index: 1;
   background:
      radial-gradient(ellipse 100% 80% at 50% 50%, transparent 55%, rgba(2, 6, 22, 0.65) 100%);
}

.home-hero .container {
   position: relative;
   z-index: 2;
}

.home-hero__layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr);
   gap: clamp(36px, 4vw, 56px);
   align-items: center;
}

@media (min-width: 992px) {
   .home-hero__layout {
      grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
      gap: clamp(32px, 4vw, 60px);
   }
}

/* Content side */
.home-hero__content {
   max-width: 600px;
}

.home-hero__eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: #ffd87a;
   padding: 7px 14px;
   border-radius: 999px;
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.18) 0%, rgba(255, 179, 2, 0.06) 100%);
   border: 1px solid rgba(255, 179, 2, 0.34);
   margin-bottom: 18px;
   box-shadow: 0 6px 24px rgba(255, 179, 2, 0.1);
}

.home-hero__eyebrow-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: #ffb302;
   box-shadow: 0 0 12px rgba(255, 179, 2, 0.7);
}

.home-hero__title {
   font-size: clamp(1.75rem, 4.2vw, 2.95rem);
   font-weight: 800;
   line-height: 1.12;
   letter-spacing: -0.02em;
   color: #fff;
   margin: 0 0 16px;
   text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.home-hero__title-accent,
.hero-sub {
   display: block;
   margin-top: 8px;
   font-size: 0.62em;
   font-weight: 600;
   background: linear-gradient(90deg, #ffb302 0%, #ffd87a 55%, #ffb302 100%);
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   color: transparent;
}

.home-hero__text {
   font-size: clamp(0.98rem, 1.7vw, 1.06rem);
   line-height: 1.7;
   color: rgba(255, 255, 255, 0.84);
   max-width: 520px;
   margin: 0 0 22px;
}

.home-hero__pills {
   list-style: none;
   padding: 0;
   margin: 0 0 24px;
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   align-items: stretch;
}

.home-hero__pills li,
.home-hero__pill {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 8px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.05);
   border: 1px solid rgba(255, 255, 255, 0.09);
   font-size: 13px;
   font-weight: 600;
   color: rgba(255, 255, 255, 0.92);
   line-height: 1.25;
   transition: transform 0.22s ease, background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.home-hero__pills li:hover,
.home-hero__pill:hover {
   transform: translateY(-2px);
   background: rgba(255, 255, 255, 0.08);
   border-color: rgba(255, 179, 2, 0.35);
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.home-hero__pills li i,
.home-hero__pill i {
   width: 18px;
   height: 18px;
   border-radius: 50%;
   background: rgba(255, 179, 2, 0.18);
   color: var(--brand-accent, #ffb302);
   font-size: 10px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   transition: background 0.22s ease, color 0.22s ease;
}

.home-hero__pills li:hover i,
.home-hero__pill:hover i {
   background: rgba(255, 179, 2, 0.28);
   color: #ffd87a;
}

.home-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin-bottom: 18px;
   align-items: center;
}

.home-hero__social-proof {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   padding: 7px 14px;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.04);
   border: 1px solid rgba(255, 255, 255, 0.09);
   transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

.home-hero__social-proof:hover {
   background: rgba(255, 255, 255, 0.07);
   border-color: rgba(255, 179, 2, 0.28);
   transform: translateY(-1px);
}

.home-hero__stars {
   color: var(--iptv-primary);
   letter-spacing: 2px;
   font-size: 14px;
   line-height: 1;
}

.home-hero__rating-text {
   font-size: 13px;
   color: rgba(255, 255, 255, 0.85);
}

.home-hero__rating-text strong {
   color: #fff;
   font-weight: 700;
}

/* Visual side – glassmorphic Smart TV with abstract IPTV category cards */
.home-hero__visual {
   position: relative;
   width: 100%;
   max-width: 620px;
   margin-inline: auto;
   aspect-ratio: 5 / 4;
   min-height: 340px;
   padding: 8% 6% 4%;
}

.home-hero__device-img-wrap {
   position: absolute;
   inset: 10% 8% 14%;
   z-index: 0;
   pointer-events: none;
   display: flex;
   align-items: center;
   justify-content: center;
}

.home-hero__device-img {
   width: 520px;
   max-width: 100%;
   height: auto;
   aspect-ratio: 5 / 4;
   object-fit: contain;
   opacity: 0.14;
   filter: saturate(1.1) blur(0.5px);
}

.home-hero__visual-halo {
   position: absolute;
   inset: 8% 14% 12%;
   border-radius: 50%;
   background: radial-gradient(ellipse 65% 55% at 50% 50%, rgba(95, 145, 255, 0.38), transparent 70%);
   filter: blur(40px);
   z-index: 0;
   pointer-events: none;
}

.home-hero__tv {
   position: relative;
   z-index: 1;
   width: 100%;
   height: 100%;
   display: flex;
   flex-direction: column;
}

.home-hero__tv-frame {
   flex: 1;
   position: relative;
   border-radius: 22px;
   padding: 10px;
   background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 1px, transparent 2px),
      linear-gradient(160deg, #1a2848 0%, #0a1530 55%, #060e22 100%);
   border: 1px solid rgba(255, 255, 255, 0.1);
   box-shadow:
      0 40px 80px -10px rgba(0, 0, 0, 0.7),
      0 20px 40px -10px rgba(76, 144, 255, 0.18),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.home-hero__tv-screen {
   position: relative;
   height: 100%;
   border-radius: 14px;
   padding: 14px;
   background:
      radial-gradient(ellipse 80% 60% at 50% 0%, rgba(76, 144, 255, 0.18), transparent 65%),
      linear-gradient(160deg, #0b1d44 0%, #07142e 60%, #050d22 100%);
   border: 1px solid rgba(255, 255, 255, 0.06);
   display: flex;
   flex-direction: column;
   gap: 12px;
   overflow: hidden;
}

.home-hero__tv-screen::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 40%);
   border-radius: 14px;
}

.home-hero__tv-bar {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   position: relative;
   z-index: 1;
}

.home-hero__tv-pill {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: 10px;
   font-weight: 700;
   letter-spacing: 0.06em;
   color: #fff;
   padding: 5px 10px;
   border-radius: 999px;
   background: rgba(255, 255, 255, 0.08);
   border: 1px solid rgba(255, 255, 255, 0.12);
}

.home-hero__tv-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: #25d366;
   box-shadow: 0 0 8px rgba(37, 211, 102, 0.85);
}

.home-hero__tv-quality {
   font-size: 10px;
   font-weight: 800;
   letter-spacing: 0.1em;
   color: #ffd87a;
   padding: 4px 10px;
   border-radius: 6px;
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.2), rgba(255, 179, 2, 0.05));
   border: 1px solid rgba(255, 179, 2, 0.32);
}

.home-hero__cat-grid {
   flex: 1;
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   grid-template-rows: repeat(4, minmax(0, 1fr));
   gap: 7px;
   position: relative;
   z-index: 1;
}

.home-hero__cat {
   position: relative;
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 8px 11px;
   border-radius: 12px;
   background: linear-gradient(160deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.015) 100%);
   border: 1px solid rgba(255, 255, 255, 0.08);
   overflow: hidden;
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
   transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.home-hero__cat::before {
   content: "";
   position: absolute;
   inset: 0;
   background: radial-gradient(circle at 0% 50%, var(--cat-color, rgba(76, 144, 255, 0.3)), transparent 75%);
   opacity: 0.7;
   z-index: 0;
   pointer-events: none;
}

.home-hero__cat-icon {
   position: relative;
   z-index: 1;
   flex-shrink: 0;
   width: 32px;
   height: 32px;
   border-radius: 9px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   background: linear-gradient(135deg, var(--cat-color, rgba(76, 144, 255, 0.25)) 0%, rgba(255, 255, 255, 0.04) 100%);
   border: 1px solid rgba(255, 255, 255, 0.12);
   box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.1),
      0 2px 8px rgba(0, 0, 0, 0.25);
}

.home-hero__cat-icon i {
   font-size: 14px;
   color: var(--cat-icon, #ffd87a);
   line-height: 1;
}

.home-hero__cat-text {
   position: relative;
   z-index: 1;
   display: flex;
   flex-direction: column;
   gap: 2px;
   min-width: 0;
   flex: 1;
}

.home-hero__cat-name {
   font-size: 11px;
   font-weight: 800;
   letter-spacing: 0.02em;
   color: #fff;
   line-height: 1.1;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.home-hero__cat-sub {
   font-size: 9px;
   font-weight: 500;
   letter-spacing: 0.01em;
   color: rgba(255, 255, 255, 0.62);
   line-height: 1.2;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.home-hero__cat--live    { --cat-color: rgba(255, 92, 122, 0.32);  --cat-icon: #ff7a92; }
.home-hero__cat--movies  { --cat-color: rgba(168, 110, 255, 0.32); --cat-icon: #c4a7ff; }
.home-hero__cat--series  { --cat-color: rgba(76, 144, 255, 0.32);  --cat-icon: #87b3ff; }
.home-hero__cat--sports  { --cat-color: rgba(34, 197, 94, 0.32);   --cat-icon: #5fe9a4; }
.home-hero__cat--kids    { --cat-color: rgba(255, 145, 90, 0.34);  --cat-icon: #ffb079; }
.home-hero__cat--news    { --cat-color: rgba(82, 209, 234, 0.32);  --cat-icon: #87e6f5; }
.home-hero__cat--ultra   { --cat-color: rgba(255, 179, 2, 0.36);   --cat-icon: #ffd87a; }
.home-hero__cat--epg     { --cat-color: rgba(244, 114, 182, 0.34); --cat-icon: #ffa3d4; }

.home-hero__cat--live {
   border-color: rgba(255, 122, 146, 0.3);
}

.home-hero__tv-base {
   width: 24%;
   height: 6px;
   margin: 6px auto 0;
   background: linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.04));
   border-radius: 0 0 8px 8px;
}

.home-hero__tv-shadow {
   width: 60%;
   height: 24px;
   margin: 0 auto;
   background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(76, 144, 255, 0.35), transparent 70%);
   filter: blur(12px);
   margin-top: -8px;
}

/* Floating glass chips around the TV */
.home-hero__chip {
   position: absolute;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 8px 14px;
   border-radius: 999px;
   font-size: 11px;
   font-weight: 700;
   color: #fff;
   background: linear-gradient(135deg, rgba(20, 36, 72, 0.85), rgba(8, 18, 40, 0.78));
   border: 1px solid rgba(255, 255, 255, 0.14);
   box-shadow:
      0 12px 28px rgba(0, 0, 0, 0.45),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
   white-space: nowrap;
   letter-spacing: 0.02em;
}

.home-hero__chip i {
   color: #ffd87a;
   font-size: 13px;
}

.home-hero__chip--tl { top: 0;    left: -4%; }
.home-hero__chip--tr { top: 4%;   right: -5%; }
.home-hero__chip--ml { top: 46%;  left: -6%; transform: translateY(-50%); }
.home-hero__chip--mr { top: 46%;  right: -7%; transform: translateY(-50%); }
.home-hero__chip--bl { bottom: 6%; left: -2%; }
.home-hero__chip--br { bottom: 2%; right: -3%; }

.home-hero__price-note {
   margin: 12px 0 0;
   font-size: 13px;
   color: rgba(255, 255, 255, 0.62);
}

.home-hero__price-note strong {
   color: var(--iptv-primary);
   font-size: 1rem;
   font-weight: 700;
}

/* ── Trust stats strip (between hero and pricing) ── */
.home-stats {
   position: relative;
   padding: 0;
   margin-top: clamp(-32px, -3vw, -24px);
   z-index: 3;
}

.home-stats .container { position: relative; }

.home-stats__grid {
   list-style: none;
   padding: 0;
   margin: 0;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 12px;
   background: linear-gradient(180deg, rgba(13, 26, 56, 0.96) 0%, rgba(10, 21, 48, 0.96) 100%);
   border: 1px solid rgba(255, 255, 255, 0.08);
   border-radius: 18px;
   padding: 14px 18px;
   box-shadow:
      0 22px 50px -12px rgba(0, 0, 0, 0.45),
      0 6px 18px rgba(76, 144, 255, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.home-stats__num {
   font-size: clamp(1.1rem, 2vw, 1.35rem);
   font-weight: 800;
   color: #fff;
   line-height: 1.1;
   letter-spacing: -0.01em;
   font-variant-numeric: tabular-nums;
}

.home-stats.is-counted .home-stats__num[data-count] {
   transition: opacity 0.2s ease;
}

.home-stats__card {
   display: inline-flex;
   align-items: center;
   gap: 12px;
   padding: 6px 8px;
   border-radius: 12px;
   min-width: 0;
   position: relative;
   transition: transform 0.22s ease, background 0.22s ease;
}

.home-stats.is-counted .home-stats__card:hover {
   transform: translateY(-2px);
   background: rgba(255, 255, 255, 0.04);
}

.home-stats__card + .home-stats__card::before {
   content: "";
   position: absolute;
   left: -6px;
   top: 18%;
   bottom: 18%;
   width: 1px;
   background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.12), transparent);
}

.home-stats__icon {
   flex-shrink: 0;
   width: 38px;
   height: 38px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 10px;
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.16) 0%, rgba(255, 179, 2, 0.04) 100%);
   border: 1px solid rgba(255, 179, 2, 0.28);
   color: #ffd87a;
   font-size: 16px;
   box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.home-stats__text {
   display: flex;
   flex-direction: column;
   gap: 1px;
   min-width: 0;
}

.home-stats__label {
   font-size: 12px;
   font-weight: 600;
   color: rgba(255, 255, 255, 0.66);
   letter-spacing: 0.02em;
}

@media (max-width: 991.98px) {
   .home-stats__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      padding: 12px 14px;
   }
   .home-stats__card { padding: 6px; }
   .home-stats__card:nth-child(3)::before { display: none; }
   .home-stats__card:nth-child(odd)::before { display: none; }
}

@media (max-width: 480px) {
   .home-stats__grid {
      border-radius: 14px;
      padding: 10px 10px;
      gap: 6px;
   }
   .home-stats__card { gap: 8px; padding: 4px; }
   .home-stats__icon { width: 32px; height: 32px; font-size: 14px; border-radius: 8px; }
   .home-stats__num { font-size: 1rem; }
   .home-stats__label { font-size: 10px; }
}

@media (max-width: 1199.98px) {
   .home-hero__chip--ml { left: -2%; }
   .home-hero__chip--mr { right: -2%; }
}

@media (max-width: 991.98px) {
   .home-hero__visual {
      max-width: 520px;
      padding: 7% 6% 4%;
   }
   .home-hero__chip--tl { left: 0; }
   .home-hero__chip--tr { right: 0; }
   .home-hero__chip--ml { left: 0; }
   .home-hero__chip--mr { right: 0; }
   .home-hero__chip--bl { left: 2%; }
   .home-hero__chip--br { right: 2%; }
}

@media (max-width: 575.98px) {
   .home-hero__visual {
      max-width: 420px;
      aspect-ratio: 5 / 4.4;
      min-height: 300px;
      padding: 8% 4% 4%;
   }
   .home-hero__pills {
      gap: 6px;
   }
   .home-hero__tv-frame { padding: 8px; border-radius: 18px; }
   .home-hero__tv-screen { padding: 10px; border-radius: 12px; gap: 9px; }
   .home-hero__cat-grid { gap: 5px; }
   .home-hero__cat { padding: 6px 8px; border-radius: 10px; gap: 7px; }
   .home-hero__cat-icon { width: 26px; height: 26px; border-radius: 7px; }
   .home-hero__cat-icon i { font-size: 12px; }
   .home-hero__cat-name { font-size: 10px; }
   .home-hero__cat-sub { font-size: 8px; }
   .home-hero__chip {
      font-size: 10px;
      padding: 6px 11px;
      gap: 5px;
   }
   .home-hero__chip i { font-size: 11px; }
   .home-hero__chip--ml,
   .home-hero__chip--mr { display: none; }
   .home-hero__title-accent { font-size: 0.7em; }
   .home-btn--xl {
      padding: 14px 22px;
      font-size: 15px;
      min-height: 50px;
   }
}

@media (max-width: 400px) {
   .home-hero__chip--tl,
   .home-hero__chip--br { display: none; }
   .home-hero__cat-sub { display: none; }
   .home-hero__cat-icon { width: 24px; height: 24px; }
}

.home-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 14px 26px;
   border-radius: 999px;
   font-size: 15px;
   font-weight: 600;
   text-decoration: none;
   transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, border-color 0.22s ease;
   min-height: 48px;
   border: 2px solid transparent;
}

.home-btn:hover {
   transform: translateY(-3px);
   text-decoration: none;
}

.home-btn:active {
   transform: translateY(-1px);
}

.home-btn--primary {
   background: linear-gradient(135deg, #ffd055 0%, #ffb302 55%, #f5a800 100%);
   color: var(--iptv-navy);
   border: 1px solid rgba(255, 255, 255, 0.35);
   box-shadow:
      0 12px 32px rgba(255, 179, 2, 0.42),
      0 2px 6px rgba(255, 179, 2, 0.25),
      inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.home-btn--primary:hover {
   background: linear-gradient(135deg, #ffe084 0%, #ffc233 55%, #ffb302 100%);
   color: var(--iptv-navy);
   box-shadow:
      0 16px 36px rgba(255, 179, 2, 0.5),
      0 4px 10px rgba(255, 179, 2, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.55);
}

/* Larger primary CTA – used in hero */
.home-btn--xl {
   padding: 16px 30px;
   font-size: 16px;
   font-weight: 700;
   min-height: 54px;
   letter-spacing: 0.01em;
}

.home-btn--xl i {
   font-size: 14px;
}

.home-btn__arrow {
   transition: transform 0.22s ease;
}

.home-btn--primary:hover .home-btn__arrow {
   transform: translateX(3px);
}

.home-btn--outline {
   background: transparent;
   color: #fff;
   border-color: rgba(255, 255, 255, 0.45);
}

.home-btn--outline:hover {
   background: rgba(255, 255, 255, 0.1);
   color: #fff;
   border-color: #fff;
}

.home-btn--whatsapp {
   background: #128C7E;
   color: #fff;
   box-shadow: 0 8px 24px rgba(18, 140, 126, 0.35);
}

.home-btn--whatsapp:hover {
   background: #0f7668;
   color: #fff;
}

.home-btn--secondary {
   background: transparent;
   color: var(--iptv-blue);
   border: 2px solid var(--iptv-blue);
}

.home-btn--secondary:hover {
   background: var(--iptv-blue);
   color: #fff;
}

.home-hero__price-note {
   display: inline-flex;
   align-items: baseline;
   gap: 4px;
   font-size: 15px;
   color: rgba(255, 255, 255, 0.75);
}

.home-hero__price-note strong {
   color: var(--iptv-primary);
   font-size: 1.35rem;
}

.home-hero__price-note a {
   color: var(--iptv-primary);
   text-decoration: underline;
   text-underline-offset: 2px;
}

.home-hero__price-note a:hover {
   color: #fff;
}

/* ── Section shared (uses global .section / .section--alt / .section--tight from main.css) ── */
.page-home .home-pricing.section {
   padding-top: clamp(36px, 5vw, 72px);
}

.home-section-head {
   text-align: center;
   max-width: 680px;
   margin: 0 auto var(--section-head-mb);
}

.home-section-head .eyebrow {
   display: inline-block;
   font-size: 13px;
   font-weight: 600;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: var(--iptv-blue);
   margin-bottom: 12px;
}

.home-section-head h2 {
   font-size: clamp(1.5rem, 3.5vw, 2.25rem);
   font-weight: 700;
   color: var(--iptv-text);
   margin-bottom: 14px;
   line-height: 1.25;
}

.home-section-head p {
   color: var(--iptv-muted);
   font-size: 1.05rem;
   line-height: 1.65;
   margin: 0;
}

/* ── Pricing – premium SaaS section ── */
.home-pricing {
   position: relative;
   background:
      radial-gradient(ellipse 70% 45% at 30% -5%, rgba(255, 179, 2, 0.11) 0%, transparent 55%),
      radial-gradient(ellipse 60% 40% at 75% 110%, rgba(76, 144, 255, 0.08) 0%, transparent 55%),
      radial-gradient(ellipse 50% 35% at 50% 50%, rgba(255, 255, 255, 0.5) 0%, transparent 60%),
      linear-gradient(180deg, #eef2f9 0%, #f8faff 50%, #eef2f9 100%);
}

.home-pricing::before {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   background-image:
      radial-gradient(rgba(11, 43, 111, 0.04) 1px, transparent 1.4px);
   background-size: 32px 32px;
   -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 75%);
   mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, #000 30%, transparent 75%);
   opacity: 0.6;
}

.home-pricing > .container { position: relative; z-index: 1; }

.home-pricing__grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 12px;
   align-items: stretch;
   padding-top: 14px;
}

@media (max-width: 1399.98px) {
   .home-pricing__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
   }
}

@media (max-width: 991.98px) {
   .home-pricing__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
}

@media (max-width: 575.98px) {
   .home-pricing__grid {
      grid-template-columns: 1fr;
      max-width: 360px;
      margin-inline: auto;
   }
}

/* Connection selector – glass segmented control */
.home-conn-selector {
   display: flex;
   justify-content: center;
   margin-bottom: var(--section-head-mb);
}

.home-conn-selector__wrap {
   display: inline-flex;
   align-items: center;
   gap: 14px;
   padding: 6px 8px 6px 18px;
   background: rgba(255, 255, 255, 0.85);
   border: 1px solid rgba(11, 43, 111, 0.1);
   border-radius: 999px;
   box-shadow:
      0 10px 32px rgba(11, 43, 111, 0.08),
      0 2px 6px rgba(11, 43, 111, 0.04),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
   backdrop-filter: blur(8px);
   -webkit-backdrop-filter: blur(8px);
}

.home-conn-selector__label {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: 11px;
   font-weight: 700;
   color: var(--iptv-muted);
   margin: 0;
   text-transform: uppercase;
   letter-spacing: 0.1em;
   white-space: nowrap;
}

.home-conn-selector__label svg {
   color: var(--iptv-blue);
}

.home-conn-selector__btns {
   display: inline-flex;
   gap: 2px;
   padding: 3px;
   background: rgba(11, 43, 111, 0.05);
   border-radius: 999px;
}

.home-conn-selector__btn {
   display: inline-flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 1px;
   border: none;
   background: transparent;
   padding: 6px 14px;
   min-width: 50px;
   min-height: 38px;
   border-radius: 999px;
   cursor: pointer;
   color: inherit;
   transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

.home-conn-selector__num {
   font-size: 14px;
   font-weight: 800;
   line-height: 1;
   color: var(--iptv-navy);
}

.home-conn-selector__text {
   font-size: 9px;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.06em;
   color: var(--iptv-muted);
   line-height: 1;
}

.home-conn-selector__btn:hover {
   background: rgba(255, 255, 255, 0.9);
}

.home-conn-selector__btn:hover .home-conn-selector__num {
   color: var(--iptv-blue);
}

.home-conn-selector__btn.is-active {
   background: linear-gradient(135deg, #ffd055 0%, var(--brand-accent, #ffb302) 55%, #f5a800 100%) !important;
   box-shadow:
      0 6px 16px rgba(255, 179, 2, 0.38),
      inset 0 1px 0 rgba(255, 255, 255, 0.45),
      0 0 0 1px rgba(255, 179, 2, 0.35) !important;
   transform: scale(1.02);
}

.home-conn-selector__btn.is-active .home-conn-selector__num {
   color: var(--brand-navy, #071a42) !important;
}

.home-conn-selector__btn.is-active .home-conn-selector__text {
   color: var(--brand-navy, #071a42) !important;
   opacity: 0.85;
}

.home-conn-selector__btn:focus-visible {
   outline: 2px solid var(--iptv-primary);
   outline-offset: 2px;
}

/* Trust badges under connection toggle (Phase 15) */
.home-pricing__trust-badges {
   list-style: none;
   padding: 0;
   margin: -8px auto var(--section-head-mb, 28px);
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 8px 10px;
   max-width: 720px;
}

.home-pricing__trust-badges li {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 6px 12px;
   border-radius: 999px;
   border: 1px solid rgba(11, 43, 111, 0.08);
   background: rgba(255, 255, 255, 0.75);
   font-size: 11.5px;
   font-weight: 700;
   color: var(--iptv-muted);
   letter-spacing: 0.01em;
   white-space: nowrap;
}

.home-pricing__trust-badges li svg {
   flex-shrink: 0;
   color: var(--brand-accent, var(--iptv-primary));
}

/* ── Pricing cards – premium SaaS / Apple-style ── */
.home-pricing-card {
   position: relative;
   height: 100%;
   border-radius: 20px;
   background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
   border: 1px solid rgba(11, 43, 111, 0.08);
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.7) inset,
      0 6px 20px rgba(11, 43, 111, 0.06),
      0 2px 6px rgba(11, 43, 111, 0.04);
   transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.3, 1),
               box-shadow 0.28s ease,
               border-color 0.28s ease;
}

.home-pricing-card__inner {
   display: flex;
   flex-direction: column;
   height: 100%;
   padding: 24px 20px 22px;
   position: relative;
}

.home-pricing-card:hover {
   transform: translateY(-6px);
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 22px 48px rgba(11, 43, 111, 0.13),
      0 6px 14px rgba(11, 43, 111, 0.06);
   border-color: rgba(11, 43, 111, 0.18);
}

/* Highlighted plans — unified white base; badge + subtle accent only (Round 3 Option A) */
.home-pricing-card--featured {
   border-color: rgba(255, 179, 2, 0.48);
   transform: scale(1.03);
   z-index: 2;
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 12px 36px rgba(255, 179, 2, 0.16),
      0 4px 12px rgba(11, 43, 111, 0.06);
}

.home-pricing-card--featured:hover {
   transform: scale(1.03) translateY(-6px);
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 20px 44px rgba(255, 179, 2, 0.22),
      0 6px 14px rgba(11, 43, 111, 0.08);
}

.home-pricing-card--value {
   border-color: rgba(255, 179, 2, 0.38);
   transform: scale(1.02);
   z-index: 1;
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 12px 34px rgba(255, 179, 2, 0.12),
      0 4px 12px rgba(11, 43, 111, 0.06);
}

.home-pricing-card--value:hover {
   transform: scale(1.02) translateY(-6px);
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 18px 40px rgba(255, 179, 2, 0.16),
      0 6px 14px rgba(11, 43, 111, 0.08);
}

/* Best Saving — same base card; ribbon badge only */
.home-pricing-card--saving:hover {
   box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.8) inset,
      0 22px 48px rgba(11, 43, 111, 0.13),
      0 6px 14px rgba(11, 43, 111, 0.06);
}

/* Ribbon – floats above card top */
.home-pricing-card__ribbon {
   position: absolute;
   top: -12px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 2;
   font-size: 9px;
   font-weight: 800;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   padding: 5px 12px;
   border-radius: 999px;
   white-space: nowrap;
   line-height: 1.2;
}

.home-pricing-card--featured .home-pricing-card__ribbon {
   background: linear-gradient(135deg, #ffd055 0%, #ffb302 55%, #f59e0b 100%);
   color: var(--iptv-navy);
   box-shadow: 0 6px 18px rgba(255, 179, 2, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.home-pricing-card--value .home-pricing-card__ribbon {
   background: linear-gradient(135deg, #5b8def 0%, #2563eb 55%, #1d4ed8 100%);
   color: #fff;
   box-shadow: 0 6px 18px rgba(76, 144, 255, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.home-pricing-card--saving .home-pricing-card__ribbon {
   background: linear-gradient(135deg, #34d399 0%, #22c55e 55%, #16a34a 100%);
   color: #fff;
   box-shadow: 0 6px 18px rgba(34, 197, 94, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* Head */
.home-pricing-card__head {
   text-align: center;
   margin-bottom: 14px;
}

.home-pricing-card__head h3 {
   font-size: 1.05rem;
   font-weight: 800;
   margin: 0 0 4px;
   color: var(--iptv-navy);
   letter-spacing: -0.015em;
}

.home-pricing-card__label {
   margin: 0;
   font-size: 11.5px;
   font-weight: 600;
   color: var(--iptv-muted);
   letter-spacing: 0.02em;
   line-height: 1.4;
}

/* Price panel */
.home-pricing-card__price {
   text-align: center;
   padding: 18px 12px 14px;
   margin-bottom: 16px;
   min-height: 120px;
   border-radius: 14px;
   background: linear-gradient(165deg, rgba(11, 43, 111, 0.035) 0%, rgba(11, 43, 111, 0.015) 100%);
   border: 1px solid rgba(11, 43, 111, 0.06);
   display: flex;
   flex-direction: column;
   justify-content: center;
   transition: opacity 0.22s ease, transform 0.22s ease;
}

.home-pricing-card__price.is-swapping {
   opacity: 0;
   transform: translateY(8px);
}

.home-pricing-card__price.is-swapped-in {
   animation: homePriceFadeIn 0.24s ease forwards;
}

@keyframes homePriceFadeIn {
   from {
      opacity: 0;
      transform: translateY(-6px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.home-pricing-card__price-row {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 2px;
   margin-bottom: 10px;
}

.home-pricing-card__price .amount {
   font-size: clamp(2rem, 2.6vw, 2.55rem);
   font-weight: 800;
   color: var(--iptv-blue);
   line-height: 1;
   letter-spacing: -0.04em;
}

.home-pricing-card--featured .home-pricing-card__price .amount {
   color: var(--iptv-navy);
}

.home-pricing-card--value .home-pricing-card__price .amount {
   color: #1d4ed8;
}

.home-pricing-card--saving .home-pricing-card__price .amount {
   color: #15803d;
}

.home-pricing-card__price .period {
   font-size: 11.5px;
   color: var(--iptv-muted);
   font-weight: 600;
   white-space: nowrap;
}

.home-pricing-card__price-meta {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 6px;
   min-height: 22px;
}

.home-pricing-card__conn,
.home-pricing-card__per-month {
   font-size: 9.5px;
   font-weight: 700;
   line-height: 1.3;
   white-space: nowrap;
}

.home-pricing-card__conn {
   color: var(--iptv-blue);
   background: rgba(11, 43, 111, 0.08);
   text-transform: uppercase;
   letter-spacing: 0.06em;
   padding: 3px 9px;
   border-radius: 999px;
}

.home-pricing-card__per-month {
   color: var(--iptv-muted);
   background: transparent;
   padding: 0;
   font-size: 11px;
   font-weight: 600;
}

.home-pricing-card__saving {
   display: inline-block;
   margin-top: 10px;
   font-size: 10px;
   font-weight: 800;
   color: var(--brand-navy, var(--iptv-navy));
   line-height: 1.35;
   padding: 5px 11px;
   border-radius: 999px;
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.22) 0%, rgba(255, 179, 2, 0.12) 100%);
   border: 1px solid rgba(255, 179, 2, 0.38);
   letter-spacing: 0.01em;
}

.home-pricing-card__saving[hidden] {
   display: none !important;
}

.home-pricing-card--featured .home-pricing-card__saving {
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.28) 0%, rgba(255, 179, 2, 0.16) 100%);
   border-color: rgba(255, 179, 2, 0.45);
   color: #92400e;
}

.home-pricing-card--value .home-pricing-card__saving {
   background: linear-gradient(135deg, rgba(76, 144, 255, 0.18) 0%, rgba(76, 144, 255, 0.1) 100%);
   border-color: rgba(76, 144, 255, 0.35);
   color: #1d4ed8;
}

.home-pricing-card--saving .home-pricing-card__saving {
   background: linear-gradient(135deg, rgba(34, 197, 94, 0.18) 0%, rgba(34, 197, 94, 0.1) 100%);
   border-color: rgba(34, 197, 94, 0.35);
   color: #15803d;
}

/* Feature list */
.home-pricing-card__features {
   list-style: none;
   padding: 0;
   margin: 0 0 16px;
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 9px;
}

.home-pricing-card__features li {
   display: flex;
   align-items: flex-start;
   gap: 9px;
   font-size: 12.5px;
   color: #3d4556;
   font-weight: 500;
   line-height: 1.45;
}

.home-pricing-card__check {
   flex-shrink: 0;
   width: 18px;
   height: 18px;
   margin-top: 1px;
   padding: 2px;
   border-radius: 50%;
   color: var(--brand-accent, var(--iptv-primary));
   background: rgba(255, 179, 2, 0.14);
   box-sizing: border-box;
}

.home-pricing-card--featured .home-pricing-card__check {
   color: #b45309;
   background: rgba(255, 179, 2, 0.18);
}

.home-pricing-card--value .home-pricing-card__check {
   color: #1d4ed8;
   background: rgba(76, 144, 255, 0.16);
}

.home-pricing-card--saving .home-pricing-card__check {
   color: #16a34a;
   background: rgba(34, 197, 94, 0.14);
}

/* CTA */
.home-pricing-card__btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   width: 100%;
   margin-top: auto;
   padding: 12px 16px;
   border-radius: 12px;
   background: linear-gradient(135deg, var(--iptv-blue) 0%, var(--iptv-navy) 100%);
   color: #fff !important;
   font-weight: 700;
   font-size: 13.5px;
   text-decoration: none;
   min-height: 48px;
   letter-spacing: 0.01em;
   box-shadow: 0 6px 16px rgba(11, 43, 111, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
   transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.home-pricing-card__btn-icon {
   transition: transform 0.22s ease;
}

.home-pricing-card__btn:hover {
   background: linear-gradient(135deg, #1a4a9e 0%, var(--iptv-navy) 100%);
   transform: translateY(-2px);
   box-shadow: 0 10px 22px rgba(11, 43, 111, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.home-pricing-card__btn:hover .home-pricing-card__btn-icon {
   transform: translateX(2px);
}

.home-pricing-card__btn:focus-visible {
   outline: 2px solid var(--iptv-primary);
   outline-offset: 2px;
}

.home-pricing-card--featured .home-pricing-card__btn {
   background: linear-gradient(135deg, #ffd055 0%, #ffb302 55%, #f59e0b 100%);
   color: var(--iptv-navy) !important;
   box-shadow: 0 8px 20px rgba(255, 179, 2, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.home-pricing-card--featured .home-pricing-card__btn:hover {
   box-shadow: 0 12px 26px rgba(255, 179, 2, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.home-pricing-card--value .home-pricing-card__btn {
   background: linear-gradient(135deg, #5b8def 0%, #2563eb 55%, #1d4ed8 100%);
   color: #fff !important;
   box-shadow: 0 8px 20px rgba(76, 144, 255, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.home-pricing-card--value .home-pricing-card__btn:hover {
   box-shadow: 0 12px 26px rgba(76, 144, 255, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.home-pricing-card--saving .home-pricing-card__btn {
   background: linear-gradient(135deg, #34d399 0%, #22c55e 55%, #16a34a 100%);
   color: #fff !important;
   box-shadow: 0 8px 20px rgba(34, 197, 94, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.home-pricing-card--saving .home-pricing-card__btn:hover {
   box-shadow: 0 12px 26px rgba(34, 197, 94, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Compact trust line under cards */
.home-pricing__trust-line {
   margin: 32px auto 0;
   text-align: center;
   font-size: 13px;
   color: var(--iptv-muted);
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 6px 10px;
   max-width: 760px;
}

.home-pricing__trust-line span {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-weight: 600;
}

.home-pricing__trust-line span svg {
   color: var(--iptv-primary-dark);
}

.home-pricing__trust-line span[aria-hidden] {
   color: rgba(11, 43, 111, 0.25);
   font-weight: 400;
}

.home-seo-content h3 {
   scroll-margin-top: 96px;
}

/* SEO content section: see home-seo-content.css */

/* ── Trial funnel (Phase 8) ── */
.home-trial-steps .home-section-head {
   margin-bottom: clamp(28px, 4vw, 40px);
}

.home-trial-steps__flow {
   position: relative;
}

.home-trial-steps__grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: clamp(16px, 2.5vw, 24px);
   margin: 0 auto;
   align-items: stretch;
   position: relative;
   z-index: 1;
}

.home-trial-step {
   display: flex;
   flex-direction: column;
   align-items: stretch;
   min-height: 0;
   position: relative;
   z-index: 1;
}

.home-trial-step__marker {
   display: flex;
   justify-content: center;
   margin-bottom: 14px;
   position: relative;
   z-index: 2;
   flex-shrink: 0;
}

.home-trial-step__num {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   background: linear-gradient(135deg, #ffd055 0%, var(--brand-accent, var(--iptv-primary)) 55%, #f5a800 100%);
   color: var(--brand-navy, var(--iptv-navy));
   font-weight: 800;
   font-size: 18px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 6px 18px rgba(255, 179, 2, 0.35);
   border: 3px solid var(--surface-2, var(--surface, #fff));
}

@media (min-width: 768px) {
   .home-trial-steps__grid {
      position: relative;
   }

   /* Dashed connector through badge centres — hidden on mobile */
   .home-trial-steps__grid::before {
      content: "";
      position: absolute;
      left: calc(100% / 6);
      right: calc(100% / 6);
      top: 24px;
      height: 2px;
      transform: translateY(-50%);
      background: repeating-linear-gradient(
         90deg,
         rgba(255, 179, 2, 0.65) 0,
         rgba(255, 179, 2, 0.65) 10px,
         transparent 10px,
         transparent 18px
      );
      pointer-events: none;
      z-index: 0;
   }

   /* Small arrow chevrons between steps */
   .home-trial-step:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 18px;
      right: -7px;
      width: 10px;
      height: 10px;
      border-right: 2px solid rgba(255, 179, 2, 0.75);
      border-top: 2px solid rgba(255, 179, 2, 0.75);
      transform: rotate(45deg);
      pointer-events: none;
      z-index: 0;
   }
}

.home-trial-step__card {
   flex: 1;
   display: flex;
   flex-direction: column;
   text-align: center;
   padding: 24px 20px;
   min-height: 100%;
   position: relative;
   z-index: 1;
   border-radius: var(--iptv-radius);
   border: 1px solid var(--border, #eef1f7);
   background: var(--surface, #fff);
   box-shadow: 0 4px 18px rgba(11, 43, 111, 0.05);
   transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.home-trial-step:hover .home-trial-step__card {
   transform: translateY(-4px);
   box-shadow: var(--iptv-shadow);
   border-color: rgba(255, 179, 2, 0.3);
}

.home-trial-step__icon {
   width: 44px;
   height: 44px;
   margin: 0 auto 14px;
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 20px;
   color: var(--iptv-blue);
   background: linear-gradient(135deg, rgba(255, 179, 2, 0.16) 0%, rgba(11, 43, 111, 0.08) 100%);
   flex-shrink: 0;
}

.home-trial-step__card h3 {
   font-size: 1.05rem;
   font-weight: 700;
   margin-bottom: 10px;
   color: var(--iptv-text);
}

.home-trial-step__card p {
   font-size: 14px;
   line-height: 1.65;
   color: var(--iptv-muted);
   margin: 0;
   flex: 1;
}

.home-trial-steps__cta {
   position: relative;
   z-index: 2;
   margin: clamp(28px, 4vw, 48px) auto 0;
   padding: 0;
   text-align: center;
}

.home-trial-steps__cta .home-btn {
   position: relative;
   z-index: 2;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: min(100%, 280px);
   min-height: 48px;
}

@media (max-width: 767.98px) {
   .home-trial-steps__grid {
      grid-template-columns: 1fr;
      gap: 0;
      max-width: 520px;
      margin-inline: auto;
   }

   .home-trial-steps__grid::before,
   .home-trial-step::after {
      display: none;
   }

   .home-trial-step {
      flex-direction: row;
      align-items: flex-start;
      gap: 16px;
      padding-bottom: 18px;
   }

   .home-trial-step:last-child {
      padding-bottom: 0;
   }

   .home-trial-step__marker {
      flex-shrink: 0;
      margin-bottom: 0;
      padding-top: 4px;
      width: 48px;
   }

   .home-trial-step:not(:last-child) .home-trial-step__marker::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 52px;
      bottom: -12px;
      width: 2px;
      transform: translateX(-50%);
      background: linear-gradient(180deg, var(--brand-accent, var(--iptv-primary)) 0%, rgba(255, 179, 2, 0.2) 100%);
   }

   .home-trial-step__card {
      text-align: left;
      flex: 1;
      padding: 18px 16px;
   }

   .home-trial-step__icon {
      margin: 0 0 10px;
   }

   .home-trial-steps__cta {
      margin-top: clamp(28px, 4vw, 48px);
      width: 100%;
      max-width: 520px;
   }

   .home-trial-steps__cta .home-btn {
      width: 100%;
      max-width: 360px;
   }
}

/* ── Testimonials: see home-reviews.css ── */

/* ── Devices: see home-devices.css ── */

/* ── Floating contact & back-to-top ── */
.page-home .back-to-top-wrapper {
   left: auto;
   right: max(22px, env(safe-area-inset-right));
   bottom: calc(max(24px, env(safe-area-inset-bottom)) + 68px);
   z-index: 999;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transform: translateY(8px);
   transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.page-home .back-to-top-wrapper.back-to-top-btn-show {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
   transform: translateY(0);
}

.page-home .back-to-top-btn {
   background: var(--iptv-blue, #0b2b6f);
   color: #fff;
   box-shadow: 0 8px 24px rgba(11, 43, 111, 0.35);
}

.page-home .back-to-top-btn:hover {
   background: var(--iptv-navy, #071a42);
}

.floating-contact {
   position: fixed;
   right: max(20px, env(safe-area-inset-right));
   bottom: max(24px, env(safe-area-inset-bottom));
   z-index: 998;
   display: flex;
   flex-direction: column;
   gap: 14px;
   transition: opacity 0.3s ease, transform 0.3s ease;
}

.floating-contact.is-hidden {
   opacity: 0;
   pointer-events: none;
   transform: translateY(12px);
}

.floating-contact a {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   text-decoration: none;
   color: #fff;
   box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
   transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.floating-contact a:hover {
   transform: translateY(-3px);
   box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

.floating-contact .btn-whatsapp { background: #25d366; }
.floating-contact .btn-whatsapp:hover { background: #1faa55; }
.floating-contact svg { width: 26px; height: 26px; display: block; }

/* Mobile sticky CTA (Phase 15) */
.mobile-sticky-cta {
   display: none;
   position: fixed;
   bottom: 0;
   left: 0;
   right: 0;
   z-index: 997;
   background: #fff;
   border-top: 1px solid #e8ecf4;
   box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.1);
   padding: 10px 12px;
   padding-bottom: max(10px, env(safe-area-inset-bottom));
   gap: 10px;
   transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.mobile-sticky-cta.is-hidden {
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transform: translateY(100%);
}

.mobile-sticky-cta a {
   flex: 1;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 12px 16px;
   border-radius: 999px;
   font-size: 14px;
   font-weight: 700;
   text-decoration: none;
   min-height: 48px;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mobile-sticky-cta a:active {
   transform: scale(0.98);
}

.mobile-sticky-cta__trial {
   background: linear-gradient(135deg, #ffd055 0%, var(--brand-accent, var(--iptv-primary)) 55%, #f5a800 100%);
   color: var(--brand-navy, var(--iptv-navy));
   box-shadow: 0 4px 14px rgba(255, 179, 2, 0.35);
}

.mobile-sticky-cta__whatsapp {
   background: #25d366;
   color: #fff;
   box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28);
}

.page-home {
   padding-bottom: 0;
}

/* ── Features / Why Choose: see home-features.css ── */

/* ── Promo banner ── */
.home-promo {
   position: relative;
   background-color: var(--iptv-navy);
   background-image: url("../img/choose/choose-bg-3-1.jpg");
   background-size: cover;
   background-position: center;
}

.home-promo::before {
   content: "";
   position: absolute;
   inset: 0;
   background: linear-gradient(90deg, rgba(7, 26, 66, 0.94) 0%, rgba(11, 43, 111, 0.82) 100%);
}

.home-promo .container {
   position: relative;
   z-index: 1;
}

.home-promo h2 {
   font-size: clamp(1.5rem, 3.5vw, 2.1rem);
   font-weight: 700;
   color: #fff;
   margin-bottom: 16px;
   line-height: 1.25;
}

.home-promo p {
   color: rgba(255, 255, 255, 0.85);
   font-size: 1.05rem;
   line-height: 1.7;
   max-width: 580px;
   margin-bottom: 24px;
}

.home-promo__price {
   display: inline-block;
   font-size: 1.1rem;
   color: rgba(255, 255, 255, 0.8);
   margin-bottom: 24px;
}

.home-promo__price em {
   font-style: normal;
   font-size: 2rem;
   font-weight: 800;
   color: var(--iptv-primary);
}

/* FAQ styles moved to home-faq.css */

/* ── Legal disclaimer ── */
.home-disclaimer {
   padding: 24px 0;
   background: #f0f2f7;
   border-top: 1px solid #e4e8f0;
}

.home-disclaimer p {
   font-size: 13px;
   line-height: 1.65;
   color: var(--iptv-muted);
   text-align: center;
   max-width: 820px;
   margin: 0 auto;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
   .home-trust-badges {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 767.98px) {
   .home-hero {
      min-height: min(560px, 88svh);
      padding-top: 24px;
   }

   .mobile-sticky-cta {
      display: flex;
   }

   .home-pricing__trust-badges {
      gap: 6px 8px;
      margin-bottom: 22px;
   }

   .home-pricing__trust-badges li {
      font-size: 10.5px;
      padding: 5px 10px;
   }

   .page-home .floating-contact {
      bottom: calc(80px + env(safe-area-inset-bottom));
      right: max(14px, env(safe-area-inset-right));
   }

   .page-home .back-to-top-wrapper.back-to-top-btn-show {
      bottom: calc(80px + env(safe-area-inset-bottom) + 64px);
      right: max(14px, env(safe-area-inset-right));
   }

   .home-hero__actions {
      flex-direction: column;
      align-items: stretch;
   }

   .home-btn {
      width: 100%;
   }

   .home-pricing-card__inner {
      padding: 20px 16px 18px;
   }

   .home-pricing-card__ribbon {
      font-size: 8.5px;
      padding: 4px 10px;
      top: -11px;
   }

   .home-pricing-card__features li {
      font-size: 12px;
   }

   .home-pricing-card__price .amount {
      font-size: 2.1rem;
   }

   .home-pricing__grid {
      overflow: visible;
   }

   .home-conn-selector {
      margin-bottom: 28px;
   }

   .home-conn-selector__wrap {
      flex-direction: column;
      gap: 8px;
      padding: 12px 14px;
      border-radius: 18px;
      width: 100%;
      max-width: 360px;
   }

   .home-conn-selector__btns {
      width: 100%;
      justify-content: space-between;
   }

   .home-pricing__trust-line {
      font-size: 12px;
      gap: 4px 8px;
      margin-top: 24px;
   }

   .home-pricing__trust-line span[aria-hidden] {
      display: none;
   }

   .home-conn-selector__btn {
      flex: 1 1 22%;
      min-width: 0;
      min-height: 48px;
      padding: 8px 6px;
   }

   .home-conn-selector__btn.is-active {
      transform: none;
   }

   .home-pricing-card--featured,
   .home-pricing-card--value,
   .home-pricing-card--saving {
      transform: none !important;
   }

   .home-pricing-card--featured:hover,
   .home-pricing-card--value:hover,
   .home-pricing-card--saving:hover {
      transform: translateY(-4px) !important;
   }

   .home-pricing-card__btn {
      min-height: 48px;
      width: 100%;
   }
}

@media (max-width: 575.98px) {
   .floating-contact a {
      width: 44px;
      height: 44px;
   }

   .home-trust-badges {
      grid-template-columns: 1fr;
   }
}

@media (prefers-reduced-motion: reduce) {
   .mobile-sticky-cta,
   .mobile-sticky-cta a {
      transition: none;
   }

   .mobile-sticky-cta.is-hidden {
      transform: none;
   }

   .home-hero__pills li,
   .home-hero__pill,
   .home-hero__social-proof,
   .home-btn,
   .home-stats__card,
   .home-pricing-card,
   .home-pricing-card__price {
      transition: none;
   }

   .home-hero__pills li:hover,
   .home-hero__pill:hover,
   .home-hero__social-proof:hover,
   .home-stats.is-counted .home-stats__card:hover,
   .home-pricing-card--featured,
   .home-pricing-card--value {
      transform: none;
   }

   .home-pricing-card__price.is-swapping,
   .home-pricing-card__price.is-swapped-in {
      opacity: 1;
      transform: none;
      animation: none;
   }
}
