/* ==========================================================================
   NordicIPTVHub — Theme Stylesheet
   Tech · sharp · high-contrast palette
   Primary   : #121212 (Dark)
   Secondary : #00FF9C (Neon Green)
   Accent    : #FFFFFF
   ========================================================================== */

:root{
    --c-primary:   #121212;
    --c-primary-2: #1A1A1A;
    --c-primary-3: #222222;
    --c-secondary: #00FF9C;
    --c-accent:    #00FF9C;
    --c-accent-2:  #00d784;
    --c-accent-3:  #0bff8d;
    --c-bg:        #0a0a0a;
    --c-bg-2:      #121212;
    --c-card:      #161616;
    --c-card-2:    #1f1f1f;
    --c-text:      #FFFFFF;
    --c-muted:     #a8b0bb;
    --c-border:    rgba(0,255,156,.10);
    --c-success:   #00FF9C;
    --c-warning:   #FFC107;
    --c-danger:    #FF4D6D;
    --c-grad-hero: linear-gradient(135deg,#0a0a0a 0%,#121212 50%,#181818 100%);
    --c-grad-cta:  linear-gradient(135deg,#00FF9C 0%,#00d784 100%);
    --c-grad-soft: linear-gradient(180deg,#0a0a0a 0%,#121212 100%);
    --c-glow:      0 14px 40px rgba(0,255,156,.35);
    --r-sm:        8px;
    --r-md:        14px;
    --r-lg:        22px;
    --r-xl:        32px;
    --shadow-md:   0 12px 32px rgba(0,0,0,.45);
    --shadow-lg:   0 24px 60px rgba(0,0,0,.55);
    --ease:        cubic-bezier(.16,.84,.44,1);
    --container:   1240px;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    margin:0;padding:0;width:100vw;overflow-x:hidden;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;
    font-size:16px;line-height:1.65;color:var(--c-text);
    background:var(--c-grad-soft);
    -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-accent);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--c-accent-2)}
h1,h2,h3,h4,h5,h6{font-family:'Space Grotesk','Inter',sans-serif;line-height:1.18;margin:0 0 .6em;letter-spacing:-.02em;font-weight:700;color:#fff}
h1{font-size:clamp(2.2rem,4.4vw,3.8rem);font-weight:800}
h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
h3{font-size:clamp(1.25rem,1.8vw,1.5rem)}
p{margin:0 0 1em;color:var(--c-text)}
ul{padding-left:1.2em}
button{cursor:pointer;font-family:inherit}

/* ===== UTILS ===== */
.container{max-width:var(--container);margin:0 auto;padding:0 24px;width:100%}
.container.narrow,.container--narrow{max-width:920px}
.full-bleed{width:100vw;margin-left:calc(50% - 50vw);padding:0}
.visually-hidden,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--c-accent);color:#000;padding:8px 16px;z-index:9999;border-radius:0 0 8px 0}
.skip-link:focus{left:0}

/* ===== BUTTONS ===== */
.iptv-btn-primary,.iptv-btn-ghost,.iptv-btn-light{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:14px 28px;border-radius:var(--r-md);font-weight:700;font-size:.98rem;
    text-decoration:none;border:0;cursor:pointer;transition:all .25s var(--ease);
    white-space:nowrap;line-height:1;
}
.iptv-btn-primary{background:var(--c-grad-cta);color:#fff;box-shadow:var(--c-glow)}
.iptv-btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(0,255,156,.55);color:#fff}
.iptv-btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.25)}
.iptv-btn-ghost:hover{background:rgba(0,255,156,.1);border-color:var(--c-accent);color:var(--c-accent)}
.iptv-btn-light{background:#fff;color:var(--c-primary)}
.iptv-btn-light:hover{background:#fff;color:#000;transform:translateY(-2px)}
.iptv-btn-lg{padding:18px 36px;font-size:1.05rem}
.iptv-btn-sm{padding:10px 18px;font-size:.88rem}
.iptv-btn-block{display:flex;width:100%}

/* ===== TOPBAR ===== */
.iptv-topbar{background:linear-gradient(90deg,#121212,#181818);padding:8px 0;font-size:.88rem;border-bottom:1px solid rgba(0,255,156,.15)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar-flag{font-size:1.1rem;letter-spacing:2px}
.topbar-text{flex:1;text-align:center;color:rgba(255,255,255,.92)}
.topbar-cta{color:var(--c-accent);font-weight:600;text-decoration:none;white-space:nowrap}
.topbar-cta:hover{color:#fff}

/* ===== HEADER ===== */
.iptv-header{background:rgba(10,20,24,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--c-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px}
.iptv-brand__link{display:flex;align-items:center;gap:12px;text-decoration:none}
.iptv-brand__mark{flex-shrink:0}
.iptv-brand__text{display:flex;flex-direction:column;line-height:1.1}
.iptv-brand__text strong{color:#fff;font-size:1.2rem;font-family:'Space Grotesk',sans-serif;letter-spacing:-.02em}
.iptv-brand__text em{color:var(--c-muted);font-style:normal;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.iptv-nav{flex:1;display:flex;justify-content:center}
.iptv-menu{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.iptv-menu li a{color:rgba(230,251,255,.8);font-weight:500;font-size:.92rem;padding:8px 14px;border-radius:8px;text-decoration:none;transition:all .2s var(--ease)}
.iptv-menu li a:hover,.iptv-menu li.current-menu-item a{background:rgba(0,255,156,.12);color:var(--c-accent)}
.iptv-header-cta{display:flex;align-items:center;gap:12px}
.iptv-burger{display:none;width:42px;height:42px;background:transparent;border:1px solid var(--c-border);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.iptv-burger span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:all .25s}

/* ===== HERO ===== */
.iptv-hero{
    position:relative;padding:80px 0 100px;background-size:cover;background-position:center;background-repeat:no-repeat;
    color:#fff;overflow:hidden;
}
.iptv-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 50% at 70% 0%,rgba(0,255,156,.18),transparent 60%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(0,255,156,.12);color:var(--c-accent);font-size:.82rem;font-weight:600;border-radius:999px;border:1px solid rgba(0,255,156,.3);margin-bottom:24px}
.hero-title{margin-bottom:20px}
.hero-title__main,.hero-title-grad{display:block}
.hero-title__sub{display:block;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:500;color:rgba(230,251,255,.78);margin-top:14px;letter-spacing:0}
.hero-title-grad{background:linear-gradient(135deg,#00FF9C,#00FF9C);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lede,.hero-sub{font-size:1.05rem;color:rgba(230,251,255,.85);margin-bottom:24px;max-width:60ch}
.hero-bullets{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:10px}
.hero-bullets li{font-size:.96rem;color:rgba(230,251,255,.92)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero-trust{display:flex;align-items:center;gap:14px}
.hero-trust__rating strong{color:#fff;font-size:1.4rem;display:block}
.hero-trust__rating span,.hero-trust__stars{color:#FFC107;font-size:1.1rem;letter-spacing:2px}
.hero-trust__count,.hero-trust__text{color:var(--c-muted);font-size:.9rem}
.hero-media,.hero-visual{position:relative}
.hero-media img,.hero-visual img{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border)}
.hero-visual__badge{position:absolute;bottom:20px;right:20px;background:rgba(15,32,39,.92);backdrop-filter:blur(8px);padding:14px 20px;border-radius:14px;border:1px solid rgba(0,255,156,.4)}
.hero-visual__badge strong{display:block;color:var(--c-accent);font-size:1.4rem}
.hero-visual__badge span{color:var(--c-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}

/* ===== TRUST STRIP ===== */
.iptv-trust,.iptv-trust-strip{background:var(--c-bg-2);padding:36px 0;border-bottom:1px solid var(--c-border)}
.trust-row,.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;text-align:center}
.trust-item{padding:8px}
.trust-item strong{display:block;font-size:1.8rem;color:var(--c-accent);font-family:'Space Grotesk',sans-serif;font-weight:700;margin-bottom:4px}
.trust-item span{display:block;color:var(--c-muted);font-size:.85rem}
.trust-item .trust-icon{font-size:1.6rem;margin-bottom:6px;display:block}

/* ===== SECTION BASE ===== */
.iptv-section,.iptv-why,.iptv-devices,.iptv-channels,.iptv-how,.iptv-reviews,.iptv-faq,.iptv-pricing{
    padding:80px 0;
}
.iptv-section--alt{background:var(--c-bg-2)}
.section-head{text-align:center;max-width:760px;margin:0 auto 48px}
.section-eyebrow{display:inline-block;padding:6px 14px;background:rgba(0,255,156,.12);color:var(--c-accent);font-size:.82rem;font-weight:600;border-radius:999px;border:1px solid rgba(0,255,156,.3);margin-bottom:14px}
.section-head h2,.section-head .section-title{font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:14px}
.section-head p,.section-head .section-lede{color:var(--c-muted);font-size:1.05rem}
.section-head--light h2,.section-head--light .section-title{color:#fff}
.section-cta{text-align:center;margin-top:40px}

/* ===== GRIDS ===== */
.grid-3,.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.feature-card,.why-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:28px 24px;transition:all .3s var(--ease)}
.feature-card:hover,.why-card:hover{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:var(--c-glow)}
.feature-icon,.why-card__icon{font-size:2.4rem;margin-bottom:14px}
.feature-card h3,.why-card h3{color:#fff;margin-bottom:10px}
.feature-card p,.why-card p{color:var(--c-muted);font-size:.95rem;margin:0}

/* ===== CHANNELS ===== */
.channels-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.channels-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:24px}
.channels-card h3{color:var(--c-accent);font-size:1.1rem;margin-bottom:12px}
.channels-card p{font-size:.92rem;color:rgba(230,251,255,.82);line-height:1.7;margin:0}
.channel-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:1100px;margin:0 auto}
.channel-tag{background:var(--c-card);border:1px solid var(--c-border);color:rgba(230,251,255,.85);padding:6px 14px;border-radius:999px;font-size:.85rem;transition:all .2s var(--ease)}
.channel-tag:hover{background:rgba(0,255,156,.1);color:var(--c-accent);border-color:var(--c-accent)}
.champions-logos,.movies-strip{margin-top:48px}
.champions-title,.movies-title{text-align:center;color:#fff;margin-bottom:20px;font-size:1.2rem}
.logos-row{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;background:linear-gradient(180deg,transparent,rgba(0,255,156,.04));padding:24px;border-radius:var(--r-md)}
.logos-row img{height:60px;width:auto;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}
.movies-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}
.movie-thumb{margin:0;background:var(--c-card);border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--c-border);transition:transform .25s var(--ease)}
.movie-thumb:hover{transform:translateY(-3px)}
.movie-thumb img{width:100%;height:200px;object-fit:cover}
.movie-thumb figcaption{padding:8px 10px;font-size:.78rem;color:rgba(230,251,255,.78);text-align:center}

/* ===== DEVICES ===== */
.devices-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px}
.device-card,.device-tile{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);padding:20px 12px;text-align:center;transition:all .25s var(--ease)}
.device-card:hover,.device-tile:hover{border-color:var(--c-accent);transform:translateY(-3px)}
.device-card img,.device-tile img{width:48px;height:48px;object-fit:contain;margin:0 auto 10px;filter:brightness(1.1)}
.device-card span,.device-tile span{display:block;color:rgba(230,251,255,.85);font-size:.82rem;font-weight:500}
.smarters-banner{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-top:48px;background:var(--c-grad-hero);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:36px;overflow:hidden}
.smarters-text h3{color:#fff;margin-bottom:14px}
.smarters-text p{color:rgba(230,251,255,.82);margin-bottom:20px}
.smarters-img img{border-radius:var(--r-md);width:100%}
.devices-cta{text-align:center;margin-top:40px}
.devices-cta p{color:var(--c-muted);margin-bottom:14px}

/* ===== HOW IT WORKS ===== */
.steps-grid,.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;list-style:none;padding:0;counter-reset:steps}
.step-card,.how-step{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:32px 24px;position:relative;transition:transform .25s var(--ease)}
.step-card:hover,.how-step:hover{transform:translateY(-3px)}
.step-num,.how-step__num{display:inline-flex;width:42px;height:42px;background:var(--c-grad-cta);color:#fff;border-radius:50%;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;font-family:'Space Grotesk',sans-serif;margin-bottom:14px}
.step-card h3,.how-step h3{color:#fff;margin-bottom:8px}
.step-card p,.how-step p{color:var(--c-muted);font-size:.92rem;margin:0}

/* ===== PRICING ===== */
.iptv-pricing{padding:80px 0}
.pricing-countdown{text-align:center;background:linear-gradient(90deg,rgba(255,77,109,.15),rgba(255,193,7,.12));border:1px solid rgba(255,77,109,.4);border-radius:var(--r-md);padding:14px 20px;margin-bottom:36px;color:#fff;font-weight:500;font-size:.95rem}
.pricing-countdown strong{display:inline-block;background:#121212;color:var(--c-accent);padding:4px 10px;border-radius:6px;font-family:'Space Grotesk',monospace;margin:0 2px;min-width:42px}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:stretch}
.price-card,.pricing-card{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);
    padding:32px 28px;display:flex;flex-direction:column;gap:18px;position:relative;transition:all .3s var(--ease);
}
.price-card:hover,.pricing-card:hover{transform:translateY(-6px);border-color:var(--c-accent);box-shadow:var(--c-glow)}
.price-card--featured,.pricing-card--featured{
    background:linear-gradient(180deg,rgba(0,255,156,.08),var(--c-card));
    border-color:var(--c-accent);transform:scale(1.03);box-shadow:0 0 40px rgba(0,255,156,.25);
}
.price-card--featured:hover,.pricing-card--featured:hover{transform:scale(1.04) translateY(-4px)}
.pc-badge,.pricing-card__ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--c-grad-cta);color:#fff;padding:6px 18px;font-size:.78rem;font-weight:700;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}
.pc-head h3,.pricing-card__head h3{margin-bottom:6px;font-size:1.4rem}
.pc-tag,.pricing-card__sub{color:var(--c-muted);font-size:.9rem;margin:0}
.pc-price,.pricing-card__price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.pc-from,.pricing-card__from{color:var(--c-muted);font-size:.9rem}
.pc-price strong,.pricing-card__price strong{color:var(--c-accent);font-size:2.4rem;font-family:'Space Grotesk',sans-serif;font-weight:800}
.pc-period,.pricing-card__cycle{color:var(--c-muted);font-size:.95rem}
.pc-bullets,.pricing-card__features{list-style:none;padding:0;margin:0;display:grid;gap:8px;flex:1}
.pc-bullets li,.pricing-card__features li{color:rgba(230,251,255,.88);font-size:.92rem;line-height:1.5}
.pc-cta{width:100%;text-align:center}
.pricing-note,.pricing-foot{text-align:center;color:var(--c-muted);font-size:.92rem;margin-top:32px}
.pricing-card__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:rgba(0,255,156,.12);color:var(--c-accent);font-size:.78rem;font-weight:600;border-radius:999px;margin-bottom:8px}

/* ===== COUNTDOWN ===== */
.iptv-countdown{background:linear-gradient(90deg,rgba(255,77,109,.15),rgba(255,193,7,.12));padding:48px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.countdown-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.countdown-flag{font-size:2rem}
.countdown-text h3{color:#fff;margin:0 0 4px}
.countdown-text p{color:var(--c-muted);margin:0}
.countdown-clock{display:flex;gap:12px}
.countdown-clock>div{background:#121212;color:var(--c-accent);padding:14px 18px;border-radius:var(--r-sm);min-width:78px;text-align:center;border:1px solid var(--c-border)}
.countdown-clock strong{display:block;font-size:1.7rem;font-family:'Space Grotesk',monospace}
.countdown-clock span{display:block;font-size:.7rem;text-transform:uppercase;color:var(--c-muted);margin-top:4px;letter-spacing:.1em}

/* ===== SPORT ===== */
.iptv-sport{padding:80px 0;background-size:cover;background-position:center;color:#fff}
.sport-logos{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center;margin-bottom:32px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);padding:24px;border-radius:var(--r-md)}
.sport-logo img{height:54px;width:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.sport-leagues{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sport-leagues span{background:rgba(255,255,255,.08);color:#fff;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);font-size:.9rem;backdrop-filter:blur(4px)}

/* ===== REVIEWS ===== */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.review-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:24px;transition:all .25s var(--ease)}
.review-card:hover{transform:translateY(-3px);border-color:var(--c-accent)}
.review-head,.review-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.review-head img,.review-card__head img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--c-accent)}
.review-head strong,.review-card__head strong{color:#fff;display:block;font-size:.95rem}
.review-head small,.review-card__head small,.review-card__head span{color:var(--c-muted);font-size:.78rem;display:block}
.review-stars,.review-card__stars{margin-left:auto;color:#FFC107;font-size:.95rem;letter-spacing:1px}
.review-card p{color:rgba(230,251,255,.85);font-size:.92rem;font-style:italic;margin:0;line-height:1.6}

/* ===== FAQ ===== */
.faq-list{display:grid;gap:12px}
.faq-item{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:0;overflow:hidden;transition:all .25s var(--ease)}
.faq-item[open]{border-color:var(--c-accent);box-shadow:var(--c-glow)}
.faq-item summary{padding:20px 24px;cursor:pointer;color:#fff;font-weight:600;font-size:1rem;list-style:none;position:relative;padding-right:50px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--c-accent);font-size:1.6rem;font-weight:300;transition:transform .25s var(--ease)}
.faq-item[open] summary::after{content:"−";transform:translateY(-50%) rotate(180deg)}
.faq-item p,.faq-answer{padding:0 24px 20px;color:rgba(230,251,255,.82);margin:0;font-size:.95rem;line-height:1.7}
.faq-answer a{color:var(--c-accent);text-decoration:underline}

/* ===== FINAL CTA ===== */
.iptv-final-cta{padding:90px 0;background-size:cover;background-position:center;text-align:center;color:#fff;position:relative}
.iptv-final-cta h2{color:#fff;margin-bottom:14px}
.iptv-final-cta p{color:rgba(255,255,255,.85);font-size:1.1rem;margin-bottom:28px}
.cta-actions,.final-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== PAGE HERO (general) ===== */
.page-hero{padding:80px 0 60px;background-size:cover;background-position:center;color:#fff;text-align:center}
.page-hero .hero-title{margin-bottom:14px}
.page-hero .hero-sub{color:rgba(230,251,255,.85);font-size:1.05rem;max-width:62ch;margin:0 auto}

/* ===== POST GRID ===== */
.post-grid-wrap{padding:60px 0}
.post-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.post-card{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;transition:all .3s var(--ease)}
.post-card:hover{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:var(--c-glow)}
.post-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-bg-2)}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.post-card:hover .post-card__media img{transform:scale(1.04)}
.post-card__body{padding:22px}
.post-card__meta{font-size:.78rem;color:var(--c-muted);margin-bottom:8px;display:flex;gap:8px;align-items:center}
.post-card__title{font-size:1.15rem;line-height:1.3;margin-bottom:10px}
.post-card__title a{color:#fff;text-decoration:none}
.post-card__title a:hover{color:var(--c-accent)}
.post-card__excerpt{color:var(--c-muted);font-size:.9rem;margin-bottom:14px}
.post-card__cta{color:var(--c-accent);font-weight:600;font-size:.9rem}

/* ===== SINGLE / PAGE ===== */
.entry-content{max-width:800px;margin:0 auto;padding:60px 24px;color:rgba(230,251,255,.92);font-size:1.05rem;line-height:1.8}
.entry-content h2{margin-top:1.6em;color:#fff}
.entry-content h3{margin-top:1.4em;color:var(--c-accent)}
.entry-content a{color:var(--c-accent);text-decoration:underline}
.entry-content blockquote{border-left:4px solid var(--c-accent);background:var(--c-card);padding:18px 24px;margin:24px 0;border-radius:0 var(--r-sm) var(--r-sm) 0;font-style:italic}
.entry-content table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--c-card);border-radius:var(--r-sm);overflow:hidden}
.entry-content table th,.entry-content table td{padding:12px 16px;border:1px solid var(--c-border);text-align:left}
.entry-content table th{background:var(--c-bg-2);color:var(--c-accent)}
.entry-content img,.iptv-prose img{max-width:100%;height:auto;border-radius:var(--r-md);margin:24px auto;display:block}
.entry-content h1,.iptv-prose h1{color:#fff;margin-top:1.4em}
.entry-content ul,.entry-content ol,.iptv-prose ul,.iptv-prose ol{padding-left:1.5em;margin:1em 0;color:rgba(255,255,255,.85)}
.entry-content li,.iptv-prose li{margin-bottom:.4em}
.entry-content p,.iptv-prose p{color:rgba(255,255,255,.85);margin:0 0 1em}
.entry-content strong,.iptv-prose strong{color:#fff}

/* ===== PAGINATION ===== */
.pagination-wrap{margin:48px auto;text-align:center}
.pagination-wrap .page-numbers{display:inline-block;padding:10px 16px;margin:0 4px;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);color:rgba(230,251,255,.85);text-decoration:none;font-weight:500;transition:all .2s var(--ease)}
.pagination-wrap .page-numbers.current,.pagination-wrap .page-numbers:hover{background:var(--c-grad-cta);color:#fff;border-color:transparent}

/* ===== EMPTY STATE / 404 ===== */
.empty-state{text-align:center;padding:80px 24px}
.empty-state h2{color:#fff;margin-bottom:14px}
.empty-state p{color:var(--c-muted);margin-bottom:28px}

/* ===== FOOTER ===== */
.iptv-footer{background:var(--c-bg-2);color:rgba(230,251,255,.82)}
.iptv-footer__cta-band,.iptv-footer__cta{background:var(--c-grad-hero);padding:48px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}
.cta-band-inner,.footer-cta-card{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.cta-band-inner h3,.footer-cta-text h3{color:#fff;margin-bottom:6px}
.cta-band-inner p,.footer-cta-text p{color:rgba(230,251,255,.78);margin:0}
.cta-band-actions,.footer-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.iptv-footer__main{padding:60px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:48px}
.footer-col h4{color:var(--c-accent);font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-weight:700}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-col ul a{color:rgba(230,251,255,.7);font-size:.9rem;text-decoration:none}
.footer-col ul a:hover{color:var(--c-accent)}
.footer-col--brand .iptv-brand--footer,.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.iptv-brand--footer strong,.footer-brand strong{color:#fff;font-size:1.2rem;font-family:'Space Grotesk',sans-serif}
.iptv-brand--footer em{color:var(--c-muted);font-style:normal;font-size:.78rem;display:block}
.footer-pitch,.footer-tagline{font-size:.9rem;color:rgba(230,251,255,.7);margin-bottom:18px}
.footer-contact{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.88rem}
.footer-contact a{color:var(--c-accent);text-decoration:none}
.footer-contact a:hover{color:#fff}
.footer-payments{margin-top:18px}
.footer-payments strong,.footer-payments__title{display:block;color:var(--c-accent);font-size:.85rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
.pay-row,.footer-payments__icons{display:flex;flex-wrap:wrap;gap:8px}
.pay-row span,.footer-payments__icons span{background:var(--c-card);color:rgba(230,251,255,.82);padding:4px 10px;border-radius:6px;font-size:.78rem;border:1px solid var(--c-border)}
.iptv-footer__bottom,.footer-bottom{border-top:1px solid var(--c-border);padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;width:100%}
.iptv-footer__bottom p,.footer-copy,.footer-disclaimer,.bottom-tagline{margin:0;font-size:.82rem;color:var(--c-muted)}
.footer-disclaimer{font-size:.75rem;max-width:520px;text-align:right}

/* ===== FAB (Floating WhatsApp) ===== */
.iptv-wa-float,.iptv-fab{
    position:fixed;bottom:24px;right:24px;z-index:998;
    background:#25D366;color:#fff;border-radius:999px;
    padding:14px 18px;display:inline-flex;align-items:center;gap:8px;
    text-decoration:none;font-weight:600;font-size:.95rem;
    box-shadow:0 12px 30px rgba(37,211,102,.4);
    animation:fabPulse 2.4s var(--ease) infinite;transition:transform .25s var(--ease)
}
.iptv-wa-float:hover,.iptv-fab:hover{transform:scale(1.06);color:#fff}
.iptv-wa-float svg,.iptv-fab svg{width:24px;height:24px}
@keyframes fabPulse{0%,100%{box-shadow:0 12px 30px rgba(37,211,102,.4)}50%{box-shadow:0 0 0 12px rgba(37,211,102,0)}}

/* ===== WOOCOMMERCE PRODUCT (themed) ===== */
.woocommerce-main{padding:60px 0}
.product-page{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.product-gallery{position:sticky;top:90px}
.product-gallery img{border-radius:var(--r-md);border:1px solid var(--c-border)}
.product-info h1{margin-bottom:10px}
.product-tagline{color:var(--c-muted);font-size:1.05rem;margin-bottom:18px}
.price-display-wrap{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);padding:20px 24px;margin:20px 0}
.price-display{color:var(--c-accent);font-size:2.6rem;font-family:'Space Grotesk',sans-serif;font-weight:800}
.variation-benefit{color:rgba(230,251,255,.82);font-size:.95rem;margin-top:6px}
.variation-badge{display:inline-block;background:var(--c-grad-cta);color:#fff;font-size:.75rem;padding:4px 10px;border-radius:6px;font-weight:700;margin-top:8px}
.variation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:20px 0}
.variation-btn{
    background:var(--c-card);border:2px solid var(--c-border);border-radius:var(--r-sm);
    padding:14px 12px;cursor:pointer;color:#fff;transition:all .25s var(--ease);
    display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-family:inherit
}
.variation-btn:hover{border-color:var(--c-accent);background:rgba(0,255,156,.08)}
.variation-btn.active{background:rgba(0,255,156,.15);border-color:var(--c-accent);box-shadow:var(--c-glow);color:var(--c-accent)}
.variation-btn strong{font-size:1rem;font-family:'Space Grotesk',sans-serif}
.variation-btn small{color:var(--c-muted);font-size:.78rem}
.variation-btn.active small{color:var(--c-accent)}
.product-meta-list{list-style:none;padding:0;display:grid;gap:8px;margin:24px 0}
.product-meta-list li{padding-left:24px;position:relative;color:rgba(230,251,255,.85);font-size:.95rem}
.product-meta-list li::before{content:"✓";position:absolute;left:0;color:var(--c-accent);font-weight:700}
.related-products{margin-top:80px;padding-top:60px;border-top:1px solid var(--c-border)}
.related-products h2{text-align:center;margin-bottom:36px}

/* ===== BLOG / SINGLE / ARCHIVE / PAGE — iptv-prefixed classes used in templates ===== */
.iptv-page,.iptv-single,.iptv-archive{padding:0}

.iptv-page-hero,.iptv-single-hero,.iptv-archive-hero{
    position:relative;padding:80px 0 56px;color:#fff;overflow:hidden;
}
.iptv-page-hero .iptv-bg,.iptv-single-hero .iptv-bg,.iptv-archive-hero .iptv-bg{
    position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;
}
.iptv-page-hero .container,.iptv-single-hero .container,.iptv-archive-hero .container{position:relative;z-index:1;text-align:center}
.iptv-page-hero .iptv-h1,.iptv-single-hero .iptv-h1,.iptv-archive-hero .iptv-h1{color:#fff;margin-bottom:14px}
.iptv-page-hero .iptv-lead,.iptv-single-hero .iptv-lead,.iptv-archive-hero .iptv-lead{color:rgba(255,255,255,.85);font-size:1.05rem;max-width:62ch;margin:0 auto}

.iptv-page-content{padding:60px 0;background:var(--c-bg)}
.iptv-page-content .container.narrow,
.iptv-page-content .container--narrow{max-width:840px}

.iptv-meta{font-size:.88rem;color:var(--c-muted);margin-bottom:14px;text-align:center}
.iptv-meta a{color:var(--c-accent)}

.iptv-blog-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;
    list-style:none;padding:0;margin:0;
}
.iptv-blog-card{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);
    overflow:hidden;transition:all .3s var(--ease);display:flex;flex-direction:column;
}
.iptv-blog-card:hover{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:var(--c-glow)}
.iptv-blog-thumb{
    display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-bg-2);position:relative;
}
.iptv-blog-thumb img{
    width:100%;height:100%;max-height:260px;object-fit:cover;
    transition:transform .4s var(--ease);display:block;
}
.iptv-blog-card:hover .iptv-blog-thumb img{transform:scale(1.04)}
.iptv-blog-body{padding:22px;display:flex;flex-direction:column;flex:1}
.iptv-tag{
    display:inline-block;font-size:.78rem;color:var(--c-accent);
    margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
}
.iptv-blog-body h2,.iptv-blog-body .iptv-h3,.iptv-blog-body h3{font-size:1.15rem;line-height:1.3;margin-bottom:10px}
.iptv-blog-body h2 a,.iptv-blog-body h3 a{color:#fff;text-decoration:none}
.iptv-blog-body h2 a:hover,.iptv-blog-body h3 a:hover{color:var(--c-accent)}
.iptv-blog-body p{color:var(--c-muted);font-size:.92rem;margin-bottom:14px;flex:1}
.iptv-link{color:var(--c-accent);font-weight:700;font-size:.9rem;margin-top:auto}
.iptv-link:hover{color:var(--c-accent-2)}

.iptv-pagination{margin:48px 0;text-align:center}
.iptv-pagination .page-numbers{
    display:inline-block;padding:10px 16px;margin:0 4px;
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);
    color:rgba(255,255,255,.85);text-decoration:none;font-weight:500;
    transition:all .2s var(--ease);
}
.iptv-pagination .page-numbers.current,.iptv-pagination .page-numbers:hover{
    background:var(--c-grad-cta);color:#fff;border-color:transparent;
}

.iptv-tags{margin:24px 0 12px;color:var(--c-muted);font-size:.9rem}
.iptv-tags a{color:var(--c-accent);margin-right:6px}

.iptv-share{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    padding:16px 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);
    margin:28px 0;
}
.iptv-share strong{color:#fff}
.iptv-share a{
    padding:6px 14px;background:var(--c-card);border:1px solid var(--c-border);
    border-radius:999px;color:rgba(255,255,255,.85);font-size:.85rem;
}
.iptv-share a:hover{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}

.iptv-cta-card{
    background:linear-gradient(135deg,rgba(0,255,156,.12),var(--c-card));
    border:1px solid var(--c-accent);
    padding:32px;border-radius:var(--r-lg);margin-top:48px;text-align:center;
}
.iptv-cta-card h3{color:#fff;margin-bottom:8px}
.iptv-cta-card p{color:rgba(255,255,255,.85);margin-bottom:20px}
.iptv-cta-card-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.iptv-related{padding:60px 0;background:var(--c-bg-2);border-top:1px solid var(--c-border)}
.iptv-related .iptv-h2{text-align:center;margin-bottom:36px}

.iptv-comments{margin-top:60px;padding-top:30px;border-top:1px solid var(--c-border)}
.iptv-comment-list{list-style:none;padding:0}
.iptv-comment-list li{
    background:var(--c-card);border:1px solid var(--c-border);
    padding:20px;border-radius:var(--r-md);margin-bottom:12px;color:rgba(255,255,255,.85);
}
.comment-form input,.comment-form textarea{
    width:100%;padding:12px 16px;margin-bottom:12px;
    background:var(--c-card);color:#fff;border:1px solid var(--c-border);border-radius:var(--r-sm);
    font-family:inherit;font-size:.95rem;
}
.comment-form input:focus,.comment-form textarea:focus{outline:0;border-color:var(--c-accent)}
.comment-form .submit{
    background:var(--c-grad-cta);color:#fff;padding:14px 26px;border:0;
    border-radius:var(--r-md);font-weight:700;cursor:pointer;
}

@media (max-width:768px){
    .iptv-blog-grid{grid-template-columns:1fr}
    .iptv-blog-thumb{aspect-ratio:16/9}
    .iptv-page-hero,.iptv-single-hero,.iptv-archive-hero{padding:60px 0 40px}
}

/* ===== WOOCOMMERCE PRODUCT — iptv-prefixed classes used in content-single-product.php ===== */
.iptv-product{padding:0}
.iptv-product-hero{position:relative;padding:60px 0;color:#fff;overflow:hidden}
.iptv-product-hero .iptv-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.iptv-product-hero-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);
    gap:48px;align-items:start;
}
.iptv-product-gallery{position:sticky;top:96px}
.iptv-product-gallery .iptv-product-img,
.iptv-product-gallery img{
    width:100%;max-width:440px;height:auto;max-height:440px;object-fit:cover;
    border-radius:var(--r-lg);border:1px solid var(--c-border);
    box-shadow:var(--shadow-md);display:block;
}
.iptv-trust-badges{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.iptv-trust-badges span{
    background:var(--c-card);border:1px solid var(--c-border);
    padding:8px 12px;border-radius:var(--r-sm);
    font-size:.82rem;color:rgba(255,255,255,.85);
}
.iptv-product-summary{min-width:0}
.iptv-product-summary h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:8px;color:#fff}
.iptv-product-stars{color:#FFC107;font-size:.95rem;letter-spacing:1px;margin-bottom:14px}
.iptv-product-stars strong{color:#fff;margin-left:6px}
.iptv-product-stars span{color:var(--c-muted);font-size:.85rem;margin-left:4px}
.iptv-short-desc{color:rgba(255,255,255,.85);margin-bottom:18px;font-size:1rem}
.iptv-product-bullets{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:8px}
.iptv-product-bullets li{color:rgba(255,255,255,.88);font-size:.95rem}
.iptv-price-box{
    background:var(--c-card);border:1px solid var(--c-border);
    border-radius:var(--r-md);padding:20px 24px;margin-bottom:14px;
    display:flex;flex-wrap:wrap;align-items:center;gap:12px;
}
.iptv-price-from{color:var(--c-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}
.iptv-price-display{color:var(--c-accent);font-size:2.2rem;font-family:'Space Grotesk',sans-serif;font-weight:800;line-height:1}
.iptv-price-display .iptv-price-currency{font-size:1rem;color:var(--c-muted);margin-right:4px}
.iptv-variation-badge{
    display:inline-block;background:var(--c-grad-cta);color:#fff;
    font-size:.75rem;padding:4px 10px;border-radius:6px;font-weight:700;margin-left:auto;
}
.iptv-variation-benefit{color:var(--c-muted);font-size:.95rem;margin-bottom:18px}
.iptv-cart{margin-bottom:14px}
.iptv-variation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:16px}
.iptv-variation-btn{
    background:var(--c-card);border:2px solid var(--c-border);border-radius:var(--r-sm);
    padding:12px 10px;cursor:pointer;color:#fff;transition:all .25s var(--ease);
    display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;font-family:inherit;
}
.iptv-variation-btn:hover{border-color:var(--c-accent);background:rgba(0,255,156,.08)}
.iptv-variation-btn.active{background:rgba(0,255,156,.15);border-color:var(--c-accent);box-shadow:var(--c-glow);color:var(--c-accent)}
.iptv-vb-label{font-weight:700;font-size:.92rem}
.iptv-vb-price{font-size:.85rem;color:var(--c-muted)}
.iptv-variation-btn.active .iptv-vb-price{color:var(--c-accent)}
.iptv-vb-badge{font-size:.7rem;padding:2px 6px;background:rgba(0,255,156,.18);border-radius:4px;color:var(--c-accent);margin-top:2px}
.iptv-cart-note{text-align:center;color:var(--c-muted);font-size:.82rem;margin-top:8px}

.iptv-product-long{padding:60px 0;background:var(--c-bg)}
.iptv-product-compat{padding:60px 0;background:var(--c-bg-2);border-top:1px solid var(--c-border)}
.iptv-section-head{text-align:center;max-width:760px;margin:0 auto 36px}
.iptv-devices-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}
.iptv-devices-list--center{justify-content:center}
.iptv-device{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-sm);
    padding:18px 12px;text-align:center;transition:all .25s var(--ease);
}
.iptv-device:hover{border-color:var(--c-accent);transform:translateY(-3px)}
.iptv-device img{width:44px;height:44px;object-fit:contain;margin:0 auto 8px}
.iptv-device span{display:block;color:rgba(255,255,255,.85);font-size:.82rem;font-weight:500}

.iptv-product-how{padding:60px 0;background:var(--c-bg)}
.iptv-how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.iptv-how-step{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);
    padding:28px 22px;text-align:center;
}
.iptv-how-num{
    display:inline-flex;width:42px;height:42px;background:var(--c-grad-cta);color:#fff;
    border-radius:50%;align-items:center;justify-content:center;font-weight:800;
    font-size:1.05rem;font-family:'Space Grotesk',sans-serif;margin-bottom:12px;
}
.iptv-how-step h3{color:#fff;margin-bottom:6px;font-size:1.05rem}
.iptv-how-step p{color:var(--c-muted);font-size:.9rem;margin:0}

.iptv-product-faq{padding:60px 0;background:var(--c-bg-2);border-top:1px solid var(--c-border)}
.iptv-faq-item{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);
    margin-bottom:10px;overflow:hidden;transition:all .25s var(--ease);
}
.iptv-faq-item[open]{border-color:var(--c-accent);box-shadow:var(--c-glow)}
.iptv-faq-item summary{
    padding:18px 22px;cursor:pointer;color:#fff;font-weight:600;font-size:.98rem;
    list-style:none;position:relative;padding-right:48px;
}
.iptv-faq-item summary::-webkit-details-marker{display:none}
.iptv-faq-item summary::after{
    content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
    color:var(--c-accent);font-size:1.5rem;font-weight:300;transition:transform .25s var(--ease);
}
.iptv-faq-item[open] summary::after{content:"−"}
.iptv-faq-body{padding:0 22px 18px;color:rgba(255,255,255,.78);font-size:.93rem;line-height:1.65}
.iptv-faq-body p{margin:0;color:inherit}

.iptv-product-related{padding:60px 0;background:var(--c-bg)}

/* WC related products override (uses default ul.products) */
.iptv-product-related ul.products{
    display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;
    list-style:none;padding:0;margin:0;
}
.iptv-product-related ul.products li.product{
    background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);
    padding:20px;text-align:center;transition:all .25s var(--ease);width:auto !important;float:none !important;margin:0 !important;
}
.iptv-product-related ul.products li.product:hover{border-color:var(--c-accent);transform:translateY(-3px)}
.iptv-product-related ul.products li.product img{
    width:100%;max-height:200px;object-fit:cover;border-radius:var(--r-sm);margin:0 auto 12px;
}
.iptv-product-related ul.products li.product h2,.iptv-product-related ul.products li.product h3{color:#fff;font-size:1rem;margin:6px 0}
.iptv-product-related ul.products li.product .price{color:var(--c-accent);font-weight:700}
.iptv-product-related ul.products li.product .button{
    display:inline-block;margin-top:10px;padding:8px 16px;
    background:var(--c-grad-cta);color:#fff;border-radius:var(--r-sm);
    font-weight:700;font-size:.85rem;text-decoration:none;
}

@media (max-width:980px){
    .iptv-product-hero-grid{grid-template-columns:1fr;gap:32px}
    .iptv-product-gallery{position:static;max-width:380px;margin:0 auto}
    .iptv-product-related ul.products{grid-template-columns:1fr}
    .iptv-trust-badges{grid-template-columns:1fr}
}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
    .hero-grid,.smarters-banner,.product-page,.cta-band-inner,.footer-cta-card{grid-template-columns:1fr;gap:32px}
    .countdown-inner{grid-template-columns:1fr}
    .countdown-clock{justify-content:center}
    .footer-grid{grid-template-columns:1fr 1fr}
    .iptv-nav{display:none}
    .iptv-nav.is-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--c-bg-2);padding:14px 24px;border-bottom:1px solid var(--c-border)}
    .iptv-nav.is-open .iptv-menu{flex-direction:column;gap:4px}
    .iptv-burger{display:flex}
    .price-card--featured,.pricing-card--featured{transform:none}
    .product-gallery{position:static}
}
@media (max-width:640px){
    .footer-grid{grid-template-columns:1fr}
    .iptv-section,.iptv-pricing,.iptv-why,.iptv-devices,.iptv-channels,.iptv-how,.iptv-reviews,.iptv-faq{padding:60px 0}
    .iptv-hero{padding:60px 0 70px}
    .hero-actions,.cta-actions,.final-cta-actions{flex-direction:column;align-items:stretch}
    .iptv-btn-primary,.iptv-btn-ghost,.iptv-btn-light{width:100%}
    .topbar-text{display:none}
    .footer-disclaimer{text-align:left}
    .price-display{font-size:2rem}
}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.iptv-hero,.iptv-section,.iptv-why,.iptv-devices,.iptv-pricing,.iptv-channels,.iptv-how,.iptv-reviews,.iptv-faq,.iptv-final-cta{animation:fadeUp .6s var(--ease) both}
