:root {
    --bg: #07090e;
    --bg-soft: #0c0f17;
    --panel: rgba(13, 18, 29, 0.75);
    --panel-strong: #0d121d;
    --panel-border: rgba(255, 255, 255, 0.06);
    --panel-border-hover: rgba(255, 255, 255, 0.15);
    --text: #f8fafc;
    --text-muted: #94a3b8;
    --text-dim: #64748b;
    --primary: #ff2e4d;
    --primary-soft: rgba(255, 46, 77, 0.12);
    --primary-glow: rgba(255, 46, 77, 0.4);
    --shadow: 0 20px 40px rgba(0, 0, 0, 0.6);
    --shadow-glow: 0 0 25px rgba(255, 46, 77, 0.15);
    --radius-lg: 20px;
    --radius-md: 14px;
    --radius-sm: 8px;
    --layout-gutter: clamp(1.25rem, 2vw, 2.5rem);
}

/* ================================================================
   BCN STREAM — CINEMATIC PUBLIC THEME
   A cohesive premium streaming treatment for every public surface.
   ================================================================ */
:root {
    --bg: #141414;
    --bg-soft: #181818;
    --panel: #181818;
    --panel-strong: #202020;
    --panel-border: rgba(255,255,255,.08);
    --panel-border-hover: rgba(255,255,255,.24);
    --text: #fff;
    --text-muted: #b3b3b3;
    --text-dim: #808080;
    --primary: #e50914;
    --primary-soft: rgba(229,9,20,.16);
    --primary-glow: rgba(229,9,20,.28);
    --radius-lg: 8px;
    --radius-md: 5px;
    --radius-sm: 4px;
    --layout-gutter: clamp(1.25rem, 4vw, 4rem);
}

body.site-body {
    background: #141414;
    color: #fff;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0;
}
.site-main { min-height: 78vh; }
.site-container { max-width: 1920px; }

/* Navigation */
.site-navbar {
    min-height: 68px;
    padding: .7rem 0;
    border: 0;
    background: linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.28),transparent);
    backdrop-filter: none;
    box-shadow: none;
}
.site-navbar.scrolled {
    min-height: 62px;
    padding: .45rem 0;
    border: 0;
    background: #141414;
    box-shadow: 0 3px 14px rgba(0,0,0,.28);
}
.brand-logo { height: 36px; max-width: 145px; filter: none; }
.site-brand__text { font-size: 1.15rem; letter-spacing: -.035em; }
.site-brand:hover .brand-logo { transform: none; }
.site-navbar .nav-link {
    padding: .5rem .65rem !important;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    color: #e5e5e5 !important;
    font-size: .86rem;
    font-weight: 500;
    box-shadow: none !important;
}
.site-navbar .nav-link:hover { color: #b3b3b3 !important; }
.site-navbar .nav-link.active { color: #fff !important; font-weight: 700; }
.navbar-desktop-search {
    width: 36px; height: 36px; border: 0; border-radius: 0;
    background: transparent; font-size: 1.05rem;
}
.navbar-desktop-search:hover { background: transparent; color: #b3b3b3; transform: none; }

/* Cinematic home hero */
.homepage-v2 { background: #141414; }
.discover-hero { min-height: min(84vh,820px); padding: 9rem 0 8rem; align-items: flex-end; }
.discover-hero__image { inset: 0; width: 100%; object-position: center 22%; filter: saturate(.9) contrast(1.04); }
.discover-hero__veil {
    background:
        linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.58) 38%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.02) 100%),
        linear-gradient(0deg,#141414 0%,rgba(20,20,20,.18) 24%,transparent 52%,rgba(0,0,0,.25) 100%);
}
.discover-hero::after { background: linear-gradient(0deg,#141414 0%,transparent 17%); }
.discover-hero__inner { display:block; }
.discover-hero__copy { width: min(620px,58vw); }
.discover-kicker { margin-bottom: .8rem; color: #fff; font-size: .74rem; letter-spacing: .18em; }
.discover-kicker__dot { background: #e50914; box-shadow: none; }
.discover-hero h1 {
    max-width: 760px; margin: 0 0 1rem; font-family: 'Outfit',sans-serif;
    font-size: clamp(2.8rem,5.2vw,5.8rem); line-height: .98; letter-spacing: -.05em;
    text-wrap: balance; text-shadow: 0 3px 22px rgba(0,0,0,.55);
}
.discover-hero h1 span { color: #fff; -webkit-text-stroke: 0; }
.discover-hero__copy>p { max-width: 580px; margin-bottom: 1.5rem; color: #e5e5e5; font-size: 1.08rem; line-height: 1.55; text-shadow: 0 2px 8px #000; }
.discover-btn { min-height: 48px; padding: .7rem 1.65rem; border: 0; border-radius: 4px; font-size: 1rem; font-weight: 700; }
.discover-btn--primary { background: #fff; color: #000; box-shadow: none; }
.discover-btn--primary:hover { background: rgba(255,255,255,.72); color:#000; transform:none; box-shadow:none; }
.discover-btn--secondary { background: rgba(109,109,110,.72); color:#fff; backdrop-filter: blur(4px); }
.discover-btn--secondary:hover { background: rgba(109,109,110,.48); color:#fff; }
.discover-hero__proof { margin-top: 1.8rem; color: #aaa; }
.discover-hero__proof strong { font-size: 1.05rem; }
.discover-feature { display:none; }
.discover-body { position:relative; z-index:2; margin-top:-5.5rem; padding-bottom: 4rem; }
.discover-nav,.discover-portals,.discover-cta { display:none; }

/* Content rails and titles */
.content-section,.homepage-v2 .content-section { margin-bottom: 2.6rem; }
.section-header { margin-bottom: .75rem; }
.section-title-accent { display:none; }
.section-title,.homepage-v2 .section-title {
    color:#e5e5e5; font-family:'Inter',sans-serif; font-size:clamp(1.2rem,1.55vw,1.65rem);
    font-weight:700; letter-spacing:-.025em;
}
.view-all { color:#54b9c5; font-size:.76rem; font-weight:700; opacity:0; transform:translateX(-6px); transition:.2s ease; }
.section-header:hover .view-all { opacity:1; transform:none; }
.row-scroll-btn { width:32px; height:32px; border:0; border-radius:50%; background:rgba(0,0,0,.55); color:#fff; }
.scroll-container { gap:.45rem; padding:.8rem .15rem 1.5rem; overflow-y:visible; }
.scroll-container .card-wrapper { width:clamp(150px,14.5vw,230px); }

/* Premium streaming cards */
.content-card { overflow:visible; border:0; border-radius:5px; background:#181818; box-shadow:none; }
.content-card__media { border-radius:5px; background:#222; }
.content-card__body { padding:.72rem .7rem .8rem; border-radius:0 0 5px 5px; background:#181818; backdrop-filter:none; }
.content-card-link:hover .content-card {
    z-index:20; transform:translateY(-7px) scale(1.055); border:0;
    box-shadow:0 14px 32px rgba(0,0,0,.72); transition-delay:80ms;
}
.content-card-link:hover .card-img { transform:scale(1.035); filter:brightness(.74); }
.content-card__shade { background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.82)); opacity:.35; }
.content-card__play {
    width:42px; height:42px; border:2px solid rgba(255,255,255,.9); background:#fff; color:#111;
    box-shadow:0 4px 16px rgba(0,0,0,.5); font-size:.9rem;
}
.card-title { color:#fff; font-size:.88rem; font-weight:600; }
.card-meta { color:#46d369; font-size:.72rem; font-weight:600; }
.badge-quality { padding:.08rem .28rem; border:1px solid #777; border-radius:2px; background:transparent; color:#bcbcbc; }

/* Catalog and general public pages */
.page-shell { background:#141414; }
.page-hero--compact { padding:8.5rem 0 2.4rem; background:linear-gradient(180deg,#080808,#141414); }
.page-hero__eyebrow { color:#e50914; font-weight:700; letter-spacing:.16em; }
.page-hero__title { color:#fff; font-family:'Outfit',sans-serif; font-size:clamp(2.4rem,5vw,4.6rem); letter-spacing:-.045em; }
.page-hero__description { max-width:650px; color:#b3b3b3; }
.browse-section { background:#141414; }
.browse-toolbar { border:0; border-radius:5px; background:#1b1b1b; box-shadow:none; }
.browse-toolbar .form-control,.browse-toolbar .form-select {
    border:1px solid #555 !important; border-radius:3px !important; background:#111; color:#fff;
}
.filter-chip { border:1px solid #444; border-radius:3px; background:#232323; color:#d2d2d2; }
.filter-chip:hover,.filter-chip.is-active { border-color:#e50914; background:#e50914; color:#fff; }
.browse-grid { gap:clamp(.7rem,1.4vw,1.15rem); }

/* Player and iframe — same visual language as the full site */
.player-page { min-height:100vh; padding:6.2rem 0 4rem; background:radial-gradient(circle at 50% 0,rgba(229,9,20,.08),transparent 30%),#0b0b0b; }
.player-layout { gap:1.35rem; }
.player-stage { border:0; border-radius:7px; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.72); }
.player-surface { border:1px solid rgba(255,255,255,.13); border-radius:7px; box-shadow:0 26px 70px rgba(0,0,0,.72); }
.player-toolbar__link,.player-toolbar__select .form-select {
    min-height:40px; border:1px solid rgba(255,255,255,.16); border-radius:4px;
    background:rgba(20,20,20,.78); color:#fff; backdrop-filter:blur(10px);
}
.player-toolbar__link:hover { background:#fff; color:#000; border-color:#fff; }
.player-corner { --corner-size:clamp(18px,2vw,28px); opacity:.62; }
.player-corner--tl,.player-corner--tr { border-top-color:rgba(255,255,255,.9); }
.player-corner--bl,.player-corner--br { border-bottom-color:rgba(255,255,255,.9); }
.player-surface--iframe::after { inset:4px; border-color:rgba(255,255,255,.09); border-radius:4px; }

/* Footer and mobile navigation */
.site-footer { border-top:1px solid #272727; background:#0f0f0f; color:#808080; }
.bottom-nav { background:rgba(20,20,20,.96); border-top:1px solid #333; backdrop-filter:blur(16px); }
.bottom-nav a.active,.bottom-nav a:hover { color:#fff; }

@media (max-width:991.98px) {
    .site-navbar { background:linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.62),transparent); }
    .site-navbar .navbar-collapse { margin-top:.6rem; padding:.65rem; border-radius:5px; background:#181818; box-shadow:0 18px 36px rgba(0,0,0,.55); }
    .discover-hero__copy { width:min(680px,82vw); }
    .player-layout { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    .discover-hero { min-height:72vh; padding:7.5rem 0 6.5rem; }
    .discover-hero__image { height:100%; opacity:1; }
    .discover-hero__veil { background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.2)),linear-gradient(0deg,#141414,transparent 58%); }
    .discover-hero__copy { width:100%; }
    .discover-hero__copy>p { max-width:92%; font-size:.9rem; }
    .discover-hero__proof { display:none; }
    .discover-body { margin-top:-3.5rem; }
    .scroll-container .card-wrapper { width:clamp(132px,38vw,176px); }
    .content-card-link:hover .content-card { transform:none; }
    .view-all { opacity:1; transform:none; }
    .page-hero--compact { padding-top:7rem; }
    .player-page { padding-top:5.2rem; }
}

/* Homepage editorial redesign — 2026 */
.navbar-desktop-search { align-items:center; justify-content:center; width:42px; height:42px; margin-left:.5rem; border:1px solid rgba(255,255,255,.1); border-radius:50%; color:#fff; background:rgba(255,255,255,.04); transition:.25s ease; }
.navbar-desktop-search:hover { color:#fff; background:var(--primary); border-color:var(--primary); transform:translateY(-1px); }
.homepage-v2 { --home-line:rgba(255,255,255,.09); background:#07090e; overflow:hidden; }
.discover-hero { position:relative; min-height:720px; padding:10rem 0 5rem; display:flex; align-items:flex-end; isolation:isolate; }
.discover-hero__image { position:absolute; z-index:-3; inset:0 0 0 auto; width:68%; height:100%; object-fit:cover; object-position:center 24%; filter:saturate(.9) contrast(1.04); }
.discover-hero__veil { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,#07090e 0%,rgba(7,9,14,.98) 30%,rgba(7,9,14,.72) 58%,rgba(7,9,14,.2) 100%),linear-gradient(0deg,#07090e 0%,transparent 42%,rgba(7,9,14,.32) 100%); }
.discover-hero::after { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 19% 42%,rgba(255,46,77,.13),transparent 30%),linear-gradient(0deg,#07090e 0%,transparent 18%); pointer-events:none; }
.discover-hero__inner { display:grid; grid-template-columns:minmax(0,720px) minmax(250px,1fr); align-items:end; gap:4rem; }
.discover-kicker { display:inline-flex; align-items:center; gap:.65rem; margin-bottom:1.4rem; font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#e9edf5; }
.discover-kicker__dot { width:8px; height:8px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 5px rgba(255,46,77,.12); }
.discover-hero h1 { max-width:850px; margin:0 0 1.35rem; font-family:'Outfit',sans-serif; font-size:clamp(3.3rem,6vw,6.3rem); font-weight:800; line-height:.9; letter-spacing:-.055em; color:#fff; }
.discover-hero h1 span { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.48); }
.discover-hero__copy>p { max-width:590px; margin:0 0 2rem; color:#adb5c5; font-size:1.05rem; line-height:1.75; }
.discover-hero__actions { display:flex; flex-wrap:wrap; gap:.85rem; }
.discover-btn { min-height:50px; padding:.8rem 1.4rem; display:inline-flex; align-items:center; justify-content:center; gap:.7rem; border:1px solid transparent; border-radius:10px; font-size:.9rem; font-weight:700; transition:.25s ease; }
.discover-btn--primary { background:var(--primary); color:#fff; box-shadow:0 12px 30px rgba(255,46,77,.22); }
.discover-btn--primary:hover { color:#fff; background:#ff4661; transform:translateY(-2px); box-shadow:0 16px 34px rgba(255,46,77,.3); }
.discover-btn--secondary { border-color:rgba(255,255,255,.14); background:rgba(10,13,20,.58); color:#fff; backdrop-filter:blur(14px); }
.discover-btn--secondary:hover { color:#fff; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.1); }
.discover-hero__proof { display:flex; flex-wrap:wrap; gap:0; margin-top:3rem; color:#727d90; font-size:.76rem; letter-spacing:.07em; text-transform:uppercase; }
.discover-hero__proof span { padding:0 1.5rem; border-left:1px solid rgba(255,255,255,.13); }
.discover-hero__proof span:first-child { padding-left:0; border-left:0; }
.discover-hero__proof strong { display:block; margin-bottom:.25rem; color:#fff; font-family:'Outfit',sans-serif; font-size:1.25rem; letter-spacing:0; text-transform:none; }
.discover-feature { justify-self:end; width:min(100%,330px); padding:1.35rem; display:flex; flex-direction:column; border:1px solid rgba(255,255,255,.14); border-radius:16px; background:rgba(8,11,18,.62); backdrop-filter:blur(18px); box-shadow:0 24px 60px rgba(0,0,0,.35); transition:.25s ease; }
.discover-feature:hover { color:#fff; border-color:rgba(255,255,255,.27); transform:translateY(-4px); }
.discover-feature__label { margin-bottom:.7rem; color:#f1b54a; font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.discover-feature__title { margin-bottom:1rem; color:#fff; font-family:'Outfit',sans-serif; font-size:1.45rem; font-weight:700; line-height:1.1; }
.discover-feature__meta { display:flex; align-items:center; gap:.65rem; color:#8d98aa; font-size:.8rem; }
.discover-feature__meta b { padding:.22rem .4rem; border:1px solid rgba(255,255,255,.16); border-radius:4px; color:#fff; font-size:.65rem; }
.discover-feature__meta i { margin-left:auto; color:var(--primary); font-size:1.6rem; }
.discover-body { padding-bottom:4rem; }
.discover-nav { min-height:76px; margin:-1px 0 3.4rem; padding:0 1rem; display:flex; align-items:center; border-block:1px solid var(--home-line); }
.discover-nav__label { display:flex; align-items:center; gap:.6rem; padding-right:1.4rem; color:#fff; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.discover-nav__label i { color:var(--primary); }
.discover-nav__links { flex:1; display:flex; align-items:center; gap:.3rem; overflow:auto; scrollbar-width:none; }
.discover-nav__links::-webkit-scrollbar { display:none; }
.discover-nav__links a { flex:0 0 auto; padding:.6rem .8rem; border-radius:7px; color:#7f8999; font-size:.82rem; font-weight:600; }
.discover-nav__links a:hover,.discover-nav__links a.active { color:#fff; background:rgba(255,255,255,.06); }
.discover-nav__search { display:flex; align-items:center; gap:.55rem; padding:.62rem .85rem; border:1px solid var(--home-line); border-radius:8px; color:#abb4c3; font-size:.8rem; }
.homepage-v2 .content-section { margin-bottom:4rem; }
.homepage-v2 .section-title { font-size:clamp(1.35rem,2vw,1.75rem); text-transform:none; letter-spacing:-.025em; }
.homepage-v2 .section-title-accent { width:4px; height:23px; border-radius:4px; }
.discover-portals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:-.5rem 0 4rem; }
.discover-portal { position:relative; overflow:hidden; min-height:170px; padding:1.7rem; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.3rem; border:1px solid var(--home-line); border-radius:16px; transition:.3s ease; }
.discover-portal::before { content:""; position:absolute; inset:0; opacity:.65; pointer-events:none; }
.discover-portal--live::before { background:radial-gradient(circle at 80% 30%,rgba(255,46,77,.24),transparent 42%),linear-gradient(135deg,rgba(255,46,77,.08),transparent 55%); }
.discover-portal--series::before { background:radial-gradient(circle at 80% 30%,rgba(85,112,255,.23),transparent 42%),linear-gradient(135deg,rgba(85,112,255,.08),transparent 55%); }
.discover-portal:hover { color:#fff; transform:translateY(-4px); border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.025); }
.discover-portal__icon { position:relative; width:58px; height:58px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.06); color:#fff; font-size:1.25rem; }
.discover-portal>span:nth-child(2) { position:relative; display:flex; flex-direction:column; }
.discover-portal small { color:#929bad; font-size:.68rem; font-style:normal; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.discover-portal small i { display:inline-block; width:6px; height:6px; margin-right:.4rem; border-radius:50%; background:var(--primary); box-shadow:0 0 10px var(--primary); }
.discover-portal strong { margin:.4rem 0 .25rem; color:#fff; font-family:'Outfit',sans-serif; font-size:1.55rem; line-height:1; }
.discover-portal em { color:#7e8898; font-size:.8rem; font-style:normal; }
.discover-portal__arrow { position:relative; color:#aeb6c4; transition:.25s ease; }
.discover-portal:hover .discover-portal__arrow { color:#fff; transform:translateX(4px); }
.discover-cta { position:relative; overflow:hidden; margin:1rem 0 1.2rem; padding:clamp(2rem,4vw,3.5rem); display:flex; align-items:center; justify-content:space-between; gap:2rem; border:1px solid rgba(255,255,255,.1); border-radius:20px; background:radial-gradient(circle at 80% 50%,rgba(255,46,77,.18),transparent 30%),linear-gradient(110deg,#101522,#0a0d14); }
.discover-cta>div>span { color:var(--primary); font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.discover-cta h2 { margin:.45rem 0; color:#fff; font-family:'Outfit',sans-serif; font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; letter-spacing:-.035em; }
.discover-cta p { margin:0; color:#8e98a8; }
.discover-adult-link { margin-bottom:1rem; padding:1rem .25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; color:#717b8a; font-size:.78rem; }
.discover-adult-link a { color:#aab2bf; font-weight:600; }
.discover-adult-link a:hover { color:#fff; }

@media (max-width:991.98px) {
  .discover-hero { min-height:670px; padding-top:9rem; }
  .discover-hero__image { width:100%; opacity:.68; }
  .discover-hero__veil { background:linear-gradient(90deg,#07090e 0%,rgba(7,9,14,.83) 60%,rgba(7,9,14,.42)),linear-gradient(0deg,#07090e,transparent 65%); }
  .discover-hero__inner { grid-template-columns:1fr; }
  .discover-feature { display:none; }
  .discover-nav__label span,.discover-nav__search span { display:none; }
  .discover-nav__label { padding-right:.75rem; }
}
@media (max-width:767.98px) {
  .discover-hero { min-height:620px; padding:8rem 0 3.5rem; align-items:end; }
  .discover-hero__image { height:72%; opacity:.55; }
  .discover-hero h1 { font-size:clamp(2.7rem,13vw,4rem); }
  .discover-hero__copy>p { font-size:.95rem; line-height:1.65; }
  .discover-hero__proof { margin-top:2.2rem; }
  .discover-hero__proof span { padding:0 .85rem; font-size:.62rem; }
  .discover-hero__proof strong { font-size:1rem; }
  .discover-nav { margin-bottom:2.5rem; padding:0; }
  .discover-nav__search { border:0; }
  .discover-portals { grid-template-columns:1fr; }
  .discover-portal { min-height:140px; padding:1.25rem; }
  .discover-cta { align-items:flex-start; flex-direction:column; }
  .discover-adult-link { align-items:flex-start; flex-direction:column; }
}
@media (max-width:420px) {
  .discover-hero__actions .discover-btn { width:100%; }
  .discover-hero__proof span { padding:0 .6rem; }
  .discover-portal__icon { width:48px; height:48px; }
  .discover-portal strong { font-size:1.3rem; }
}
@media (prefers-reduced-motion:reduce) {
  .discover-btn,.discover-feature,.discover-portal { transition:none; }
}

html {
    scroll-behavior: smooth;
}

body.site-body {
    min-height: 100vh;
    min-height: 100dvh;
    background: 
        radial-gradient(circle at 50% 0%, rgba(255, 46, 77, 0.12), transparent 45%),
        radial-gradient(circle at 10% 30%, rgba(88, 101, 242, 0.06), transparent 30%),
        radial-gradient(circle at 90% 70%, rgba(255, 46, 77, 0.04), transparent 35%),
        #07090e;
    color: var(--text);
    font-family: 'Inter', sans-serif;
    overflow-x: hidden;
    letter-spacing: -0.01em;
    padding-top: env(safe-area-inset-top, 0);
    padding-bottom: env(safe-area-inset-bottom, 0);
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
}

main {
    position: relative;
    z-index: 1;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

img {
    display: block;
    max-width: 100%;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

.site-container {
    width: calc(100% - (var(--layout-gutter) * 2));
    margin: 0 auto;
}

/* Navbar Styling */
.site-navbar {
    padding: 1.1rem 0;
    background: linear-gradient(180deg, rgba(7, 9, 14, 0.95) 0%, rgba(7, 9, 14, 0.8) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--panel-border);
    transition: all 0.3s ease;
}

.site-navbar.scrolled {
    padding: 0.8rem 0;
    background: rgba(7, 9, 14, 0.96);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    border-bottom-color: rgba(255, 255, 255, 0.08);
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: 1.25rem;
    letter-spacing: -0.02em;
    color: #fff !important;
}

.brand-logo {
    width: auto;
    height: 42px;
    max-width: 170px;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(255, 46, 77, 0.45));
    transition: transform 0.3s ease;
}

.site-brand__text {
    white-space: nowrap;
}

.site-brand:hover .brand-logo {
    transform: rotate(-8deg) scale(1.05);
}

.site-navbar .nav-link {
    color: var(--text-muted) !important;
    font-weight: 500;
    font-size: 0.95rem;
    padding: 0.6rem 1.1rem !important;
    border-radius: 99px;
    border: 1px solid transparent;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-navbar .nav-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.06);
}

.site-navbar .nav-link.active {
    color: #fff !important;
    background: var(--primary-soft);
    border-color: rgba(255, 46, 77, 0.15);
    box-shadow: 0 0 15px rgba(255, 46, 77, 0.1);
}

.nav-link--adult {
    color: #fda4af !important;
}
.nav-link--adult:hover {
    background: rgba(244, 63, 94, 0.1) !important;
}
.nav-link--adult.active {
    background: rgba(244, 63, 94, 0.2) !important;
    border-color: rgba(244, 63, 94, 0.3) !important;
}

.site-navbar__toggler {
    border: 0;
    padding: 0.5rem;
}
.site-navbar__toggler:focus {
    box-shadow: none;
}
.navbar-toggler-icon {
    filter: invert(1);
}

/* Hero Slider Section */
.hero-slider,
.hero-slider .carousel-item {
    height: min(90vh, 880px);
    min-height: 560px;
}

.hero-slider {
    margin-bottom: 0.5rem;
    background:
        radial-gradient(circle at 15% 30%, rgba(255, 46, 77, 0.18), transparent 45%),
        radial-gradient(circle at 85% 25%, rgba(88, 101, 242, 0.18), transparent 40%),
        linear-gradient(180deg, #0e1322 0%, #07090e 100%);
    overflow: hidden;
    position: relative;
}

.hero-slider .carousel-inner {
    width: 100%;
    height: 100%;
}

.hero-slider .carousel-item {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.hero-slider--fallback {
    position: relative;
    overflow: hidden;
    background: 
        radial-gradient(circle at 80% 20%, rgba(255, 46, 77, 0.20), transparent 40%),
        radial-gradient(circle at 20% 80%, rgba(88, 101, 242, 0.16), transparent 45%),
        #0b0f19;
}

.hero-fallback__backdrop {
    position: absolute;
    inset: 0;
    background: 
        radial-gradient(rgba(255, 255, 255, 0.1) 1.5px, transparent 1.5px);
    background-size: 32px 32px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.8), transparent 90%);
    opacity: 0.28;
}

.hero-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    filter: brightness(0.78) saturate(1.15) contrast(1.04);
    transform: none;
    transition: filter 0.4s ease, opacity 0.6s ease;
    display: block;
    margin: 0;
    image-rendering: auto;
}

.carousel-item.active .hero-bg {
    transform: none;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg,
            rgba(7, 9, 14, 0.88) 0%,
            rgba(7, 9, 14, 0.74) 28%,
            rgba(7, 9, 14, 0.42) 56%,
            rgba(7, 9, 14, 0.12) 82%,
            rgba(7, 9, 14, 0.02) 100%),
        linear-gradient(180deg,
            rgba(7, 9, 14, 0.22) 0%,
            rgba(7, 9, 14, 0.08) 26%,
            rgba(7, 9, 14, 0.18) 56%,
            rgba(7, 9, 14, 0.92) 100%);
    display: flex;
    align-items: center;
}

.hero-content {
    width: min(760px, calc(100% - (var(--layout-gutter) * 2)));
    padding: 4rem 0 5.5rem;
    margin-left: var(--layout-gutter);
}

.hero-eyebrow,
.page-hero__eyebrow,
.player-meta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
    color: var(--primary);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-family: 'Outfit', sans-serif;
}

.hero-title,
.page-hero__title,
.detail-hero__title {
    margin: 0 0 1rem;
    font-size: clamp(2.2rem, 5.5vw, 4.2rem);
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
    line-height: 0.95;
    letter-spacing: -0.03em;
    background: linear-gradient(180deg, #ffffff 40%, #e2e8f0 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.hero-desc,
.page-hero__description,
.detail-hero__description {
    max-width: 55ch;
    margin-bottom: 2rem;
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.65;
}

.hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: -0.5rem 0 1.5rem;
}

.hero-meta__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #e2e8f0;
    font-size: 0.84rem;
    font-weight: 600;
    backdrop-filter: blur(12px);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.btn-hero-primary,
.btn-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.9rem 1.8rem;
    border-radius: 99px;
    font-weight: 700;
    font-size: 0.95rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow);
}

.btn-hero-primary {
    background: var(--primary);
    border: 1px solid var(--primary);
    color: #fff;
}
.btn-hero-primary:hover {
    background: #e11d38;
    border-color: #e11d38;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255, 46, 77, 0.4);
}

.btn-hero-secondary {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    backdrop-filter: blur(8px);
}
.btn-hero-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
}

.carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin: 0 5px;
    transition: all 0.3s ease;
}
.carousel-indicators .active {
    width: 24px;
    border-radius: 99px;
    background-color: var(--primary);
}

/* Homepage Hero */
.home-hero {
    position: relative;
    overflow: hidden;
    padding: 8.5rem 0 3rem;
    background:
        radial-gradient(circle at top right, rgba(255, 46, 77, 0.18), transparent 32%),
        radial-gradient(circle at bottom left, rgba(88, 101, 242, 0.12), transparent 32%);
}

.home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 9, 14, 0.82) 0%, rgba(7, 9, 14, 0.25) 30%, rgba(7, 9, 14, 0.8) 100%);
    pointer-events: none;
}

.home-hero__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, 460px);
    gap: clamp(2rem, 4vw, 5rem);
    align-items: end;
}

.home-hero__content {
    padding: 2rem 0 1rem;
}

.home-hero__title {
    margin: 0 0 1rem;
    max-width: 11ch;
    font-size: clamp(2.7rem, 5vw, 4.9rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.04em;
    font-family: 'Outfit', sans-serif;
    color: #fff;
}

.home-hero__description {
    max-width: 72ch;
    margin: 0 0 2rem;
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.7;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}

.home-hero__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

.home-stat {
    min-width: 140px;
    padding: 1rem 1.15rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.home-stat strong {
    display: block;
    margin-bottom: 0.2rem;
    font-size: 1.4rem;
    line-height: 1;
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
    color: #fff;
}

.home-stat span {
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 600;
}

.home-hero__spotlight {
    display: flex;
    justify-content: flex-end;
}

.home-spotlight {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 460px;
    min-height: 560px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 28px;
    box-shadow: var(--shadow);
}

.home-spotlight__media,
.home-spotlight__image,
.home-spotlight__overlay {
    position: absolute;
    inset: 0;
}

.home-spotlight__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-spotlight__overlay {
    background: linear-gradient(180deg, rgba(7, 9, 14, 0.05) 0%, rgba(7, 9, 14, 0.45) 45%, rgba(7, 9, 14, 0.96) 100%);
}

.home-spotlight__body {
    position: relative;
    z-index: 1;
    min-height: 560px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.75rem;
}

.home-spotlight__eyebrow {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.7rem;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.home-spotlight__body h2 {
    margin: 0 0 0.75rem;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.1;
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
}

.home-spotlight__body p {
    margin: 0 0 1rem;
    color: rgba(248, 250, 252, 0.82);
    line-height: 1.65;
}

.home-spotlight__meta {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 1rem;
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.home-spotlight__link {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    width: fit-content;
    color: #fff;
    font-weight: 700;
}

.home-spotlight__link i {
    font-size: 0.85rem;
    transition: transform 0.25s ease;
}

.home-spotlight__link:hover i {
    transform: translateX(3px);
}

.home-overview {
    position: relative;
    z-index: 2;
    margin-top: -1.4rem;
    padding-bottom: 1rem;
}

.home-overview__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-overview-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1.15rem 1.2rem;
    background: rgba(12, 15, 23, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.home-overview-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(16, 20, 31, 0.98);
}

.home-overview-card--adult {
    border-color: rgba(255, 46, 77, 0.22);
    background: linear-gradient(180deg, rgba(255, 46, 77, 0.12) 0%, rgba(12, 15, 23, 0.96) 100%);
}

.home-overview-card__icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 1rem;
}

.home-overview-card h2 {
    margin: 0 0 0.2rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
}

.home-overview-card p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.55;
}

.home-overview-card__arrow {
    color: var(--text-muted);
    transition: transform 0.25s ease, color 0.25s ease;
}

.home-overview-card:hover .home-overview-card__arrow {
    color: #fff;
    transform: translateX(3px);
}

.home-categories {
    padding: 0.5rem 0 1.5rem;
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.section-heading__eyebrow {
    display: inline-block;
    margin-bottom: 0.4rem;
    color: var(--primary);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-family: 'Outfit', sans-serif;
}

.section-heading__title {
    margin: 0;
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-family: 'Outfit', sans-serif;
}

.section-heading__link {
    color: #e2e8f0;
    font-weight: 600;
    white-space: nowrap;
}

.home-categories__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.home-category-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1.2rem 1.3rem;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(16, 20, 31, 0.94) 0%, rgba(10, 13, 21, 0.98) 100%);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.home-category-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, 0.16);
    background: linear-gradient(180deg, rgba(20, 25, 38, 0.98) 0%, rgba(10, 13, 21, 1) 100%);
}

.home-category-card__icon {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 18px;
    background: rgba(255, 46, 77, 0.12);
    color: #fda4af;
}

.home-category-card h3 {
    margin: 0 0 0.2rem;
    color: #fff;
    font-size: 1.02rem;
    font-family: 'Outfit', sans-serif;
}

.home-category-card p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
}

.home-category-card__arrow {
    color: var(--text-muted);
    transition: transform 0.25s ease, color 0.25s ease;
}

.home-category-card:hover .home-category-card__arrow {
    color: #fff;
    transform: translateX(3px);
}

/* Home Layout Panels */
.home-content-shell,
.page-shell {
    position: relative;
    z-index: 2;
    padding: 0 0 5rem;
}

.page-shell {
    padding-top: 7.5rem;
}

/* Home Quick Chips (Netflix-style quick category bar) */
.home-quick-chips {
    position: relative;
    z-index: 3;
    padding: 0.85rem 0 0.5rem;
}

.home-quick-chips__inner {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.home-quick-chips__inner::-webkit-scrollbar {
    display: none;
}

.home-quick-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 1.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e2e8f0;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.25s ease;
    -webkit-user-select: none;
    user-select: none;
    min-height: 42px;
    line-height: 1;
}

.home-quick-chip i {
    font-size: 0.72rem;
    opacity: 0.9;
    transition: opacity 0.2s ease;
}

.home-quick-chip:hover {
    color: #fff;
    border-color: rgba(255, 46, 77, 0.45);
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.22), rgba(88, 101, 242, 0.16));
    transform: translateY(-1px);
}

.home-quick-chip:active {
    transform: translateY(0);
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.35), rgba(88, 101, 242, 0.28));
}

.home-quick-chip--primary {
    background: linear-gradient(135deg, #ff2e4d, #ff4d63);
    border-color: rgba(255, 46, 77, 0.55);
    color: #fff;
    box-shadow: 0 6px 20px -6px rgba(255, 46, 77, 0.55);
}

.home-quick-chip--primary:hover {
    box-shadow: 0 10px 24px -6px rgba(255, 46, 77, 0.7);
}

/* Glass-ify homepage base section styling */
.home-hero {
    background:
        radial-gradient(circle at 20% 0%, rgba(255, 46, 77, 0.30), transparent 40%),
        radial-gradient(circle at 85% 15%, rgba(88, 101, 242, 0.22), transparent 38%),
        radial-gradient(circle at 50% 100%, rgba(168, 85, 247, 0.16), transparent 45%);
}

.home-stat {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 6px 24px -10px rgba(0, 0, 0, 0.5);
}

.home-stat strong {
    background: linear-gradient(135deg, #fff, #fda4af 60%, #a5b4fc);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}

.home-overview-card {
    background: linear-gradient(160deg, rgba(22, 27, 42, 0.98), rgba(12, 15, 23, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.7);
}

.home-overview-card:nth-child(1) .home-overview-card__icon {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.22), rgba(88, 101, 242, 0.18));
    color: #fda4af;
}

.home-overview-card:nth-child(2) .home-overview-card__icon {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(88, 101, 242, 0.18));
    color: #6ee7b7;
}

.home-overview-card--adult .home-overview-card__icon {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.30), rgba(217, 70, 239, 0.20));
    color: #fda4af;
}

.home-category-card {
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: linear-gradient(145deg, rgba(20, 25, 38, 0.96), rgba(10, 13, 21, 0.98));
    box-shadow: 0 10px 28px -16px rgba(0, 0, 0, 0.65);
    position: relative;
    overflow: hidden;
}

.home-category-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(255, 46, 77, 0.18), transparent 55%);
    opacity: 0.9;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.home-category-card:hover::before {
    opacity: 1;
}

.home-category-card > * {
    position: relative;
    z-index: 1;
}

/* Home Sidebar (under hero) */
.home-sidebar {
    position: relative;
    z-index: 4;
    padding: 1.5rem 0 0.75rem;
    margin-top: 0;
}

.home-sidebar__card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    padding: 1.5rem 1.6rem;
    background:
        radial-gradient(circle at 0% 0%, rgba(255, 46, 77, 0.20), transparent 45%),
        radial-gradient(circle at 100% 0%, rgba(88, 101, 242, 0.20), transparent 40%),
        linear-gradient(180deg, rgba(18, 22, 34, 0.98), rgba(10, 13, 21, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 30px 60px -30px rgba(0, 0, 0, 0.85),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.home-sidebar__card::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 35%);
}

.home-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.3rem;
    position: relative;
    z-index: 1;
}

.home-sidebar__eyebrow {
    display: inline-flex;
    align-items: center;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #fca5a5;
    margin-bottom: 0.45rem;
}

.home-sidebar__title {
    margin: 0;
    font-size: clamp(1.2rem, 2.6vw, 1.55rem);
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
    color: #fff;
    letter-spacing: -0.025em;
}

.home-sidebar__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.65rem 1.1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #ff2e4d, #5865f2);
    color: #fff;
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 12px 24px -10px rgba(255, 46, 77, 0.6);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 42px;
}

.home-sidebar__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px -10px rgba(255, 46, 77, 0.75);
    color: #fff;
}

.home-sidebar__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr);
    gap: 1.5rem;
    position: relative;
    z-index: 1;
}

.home-sidebar__col-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.8rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(226, 232, 240, 0.9);
    font-family: 'Outfit', sans-serif;
}

.home-sidebar__col-title i {
    font-size: 0.75rem;
    color: #fda4af;
}

.home-sidebar__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.home-sidebar__list--grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.home-sidebar__item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 0.8rem;
    padding: 0.75rem 0.85rem;
    border-radius: 16px;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.22s ease;
    position: relative;
    overflow: hidden;
    min-height: 56px;
}

.home-sidebar__item::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), transparent 45%);
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.home-sidebar__item:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 46, 77, 0.28);
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.12), rgba(88, 101, 242, 0.10));
    box-shadow: 0 14px 24px -18px rgba(255, 46, 77, 0.55);
}

.home-sidebar__item:hover::before {
    opacity: 1;
}

.home-sidebar__item > * {
    position: relative;
    z-index: 1;
}

.home-sidebar__item--adult {
    border-color: rgba(255, 46, 77, 0.22);
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.14), rgba(217, 70, 239, 0.08));
}

.home-sidebar__item--more .home-sidebar__icon {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.25), rgba(88, 101, 242, 0.22));
    color: #fff;
}

.home-sidebar__item--compact {
    padding: 0.65rem 0.75rem;
    min-height: 52px;
    border-radius: 14px;
    gap: 0.7rem;
}

.home-sidebar__item--compact .home-sidebar__item-body strong {
    font-size: 0.88rem;
}

.home-sidebar__item--compact .home-sidebar__item-body span {
    font-size: 0.74rem;
}

.home-sidebar__icon {
    display: grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 12px;
    font-size: 0.85rem;
    flex-shrink: 0;
}

.home-sidebar__icon--red {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.22), rgba(88, 101, 242, 0.14));
    color: #fca5a5;
}

.home-sidebar__icon--blue {
    background: linear-gradient(135deg, rgba(88, 101, 242, 0.22), rgba(168, 85, 247, 0.16));
    color: #a5b4fc;
}

.home-sidebar__icon--green {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(88, 101, 242, 0.14));
    color: #6ee7b7;
}

.home-sidebar__icon--adult {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.32), rgba(217, 70, 239, 0.22));
    color: #fda4af;
}

.home-sidebar__icon--muted {
    background: rgba(255, 255, 255, 0.07);
    color: rgba(248, 250, 252, 0.85);
}

.home-sidebar__icon--primary {
    background: linear-gradient(135deg, rgba(255, 46, 77, 0.28), rgba(88, 101, 242, 0.24));
    color: #fff;
}

.home-sidebar__item-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
}

.home-sidebar__item-body strong {
    font-size: 0.92rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
}

.home-sidebar__item-body span {
    font-size: 0.78rem;
    font-weight: 500;
    color: rgba(203, 213, 225, 0.85);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-sidebar__badge {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 0.22rem 0.45rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.home-sidebar__chev {
    color: rgba(226, 232, 240, 0.6);
    font-size: 0.7rem;
    transition: transform 0.2s ease, color 0.2s ease;
}

.home-sidebar__item:hover .home-sidebar__chev {
    color: #fff;
    transform: translateX(2px);
}

.page-shell--adult {
    padding-top: 6rem;
}

.page-hero {
    padding: 2rem 0 1.5rem;
}
.page-hero--compact {
    padding-bottom: 2.2rem;
}

.content-section {
    padding: 2rem 0;
}

.section-header {
    width: calc(100% - (var(--layout-gutter) * 2));
    margin: 0 auto 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
}

.section-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    letter-spacing: -0.01em;
    position: relative;
    padding-left: 0.85rem;
}
.section-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 15%;
    bottom: 15%;
    width: 3.5px;
    background: var(--primary);
    border-radius: 99px;
    box-shadow: 0 0 8px var(--primary);
}

.view-all {
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.view-all i {
    font-size: 0.75rem;
    transition: transform 0.25s ease;
}
.view-all:hover {
    color: var(--primary);
}
.view-all:hover i {
    transform: translateX(3px);
}

/* Horizontally Scrolling Rows */
.scroll-container {
    width: 100%;
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(230px, 230px);
    gap: 1.25rem;
    overflow-x: auto;
    padding: 0 var(--layout-gutter) 1.25rem;
    scroll-padding: var(--layout-gutter);
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.scroll-container::-webkit-scrollbar {
    height: 6px;
}
.scroll-container::-webkit-scrollbar-track {
    background: transparent;
}
.scroll-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.05);
}
.scroll-container:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
}

.card-wrapper {
    min-width: 0;
}

.content-card-link {
    display: block;
    height: 100%;
}

/* Card Styling */
.content-card {
    height: 100%;
    background: var(--bg-soft);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.content-card:hover {
    transform: translateY(-8px);
    border-color: var(--panel-border-hover);
    box-shadow: 
        0 15px 30px rgba(0, 0, 0, 0.7),
        0 0 20px rgba(255, 46, 77, 0.1);
}

.content-card__media {
    position: relative;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background: #080b11;
}

.live-card .content-card__media,
.live-card__media {
    aspect-ratio: 16 / 10;
    background: #080b11;
}

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.content-card:hover .card-img {
    transform: scale(1.06);
}

.live-card__image {
    object-fit: contain;
    padding: 1.5rem;
}

.content-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, 
        transparent 50%, 
        rgba(7, 9, 14, 0.5) 75%,
        rgba(7, 9, 14, 0.95) 100%);
    opacity: 0.9;
}

.content-card__play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.85);
    display: grid;
    place-items: center;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    box-shadow: 0 8px 20px rgba(255, 46, 77, 0.4);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.content-card:hover .content-card__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.content-card__play i {
    font-size: 1rem;
    margin-left: 2px;
}

.content-card__body {
    padding: 1rem 1.15rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

.card-title {
    margin: 0 0 0.5rem;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    line-clamp: 2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.badge-quality {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 4px;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    background: rgba(255, 255, 255, 0.05);
}

/* Badges */
.adult-warning,
.live-badge {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.75rem;
    border-radius: 99px;
    background: rgba(13, 18, 29, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    z-index: 2;
}

.live-badge {
    left: auto;
    right: 0.85rem;
    border-color: rgba(255, 46, 77, 0.2);
}

.blur-content {
    filter: none !important;
}

.blur-adult-thumb {
    filter: blur(14px);
    transition: filter 0.35s ease;
}

.card-wrapper:hover .blur-adult-thumb {
    filter: blur(0px);
}

.adult-badge-overlay {
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    background: rgba(225, 29, 72, 0.85);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    z-index: 3;
    pointer-events: none;
}

.pulse-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--primary);
    box-shadow: 0 0 0 0 rgba(255, 46, 77, 0.7);
    animation: pulse 1.6s infinite;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 46, 77, 0.7); }
    70% { box-shadow: 0 0 0 8px rgba(255, 46, 77, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 46, 77, 0); }
}

/* Browse Toolbar & Filter Chips */
.browse-section {
    padding-bottom: 4rem;
}

.browse-toolbar {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 2rem;
    padding: 1.25rem 1.5rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-md);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.browse-toolbar__summary {
    color: var(--text-muted);
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.browse-toolbar__summary strong {
    color: #fff;
}

.filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.catalog-filter-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.65rem;
}

.catalog-filter-bar .filter-chips {
    min-width: 0;
}

.catalog-filter-more {
    position: relative;
    flex: 0 0 auto;
    z-index: 42;
}

.catalog-filter-more .dropdown-menu {
    position: absolute !important;
    z-index: 1080;
    top: calc(100% + 0.5rem) !important;
    right: 0 !important;
    left: auto !important;
    display: none;
    width: min(20rem, calc(100vw - 2rem));
    min-width: 0;
    margin: 0 !important;
    transform: none !important;
}

.catalog-filter-more.is-open .dropdown-menu {
    display: block;
}

.filter-chip {
    padding: 0.55rem 1.1rem;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 500;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.filter-chip:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
}

.filter-chip.is-active {
    color: #fff;
    border-color: var(--primary);
    background: var(--primary);
    box-shadow: 0 4px 15px rgba(255, 46, 77, 0.35);
}

/* Grids */
.browse-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
}

.browse-grid--live {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    text-align: center;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-lg);
    color: var(--text-muted);
    padding: 2rem;
}

.empty-state h2 {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    margin-bottom: 0.5rem;
}

/* Pagination */
.site-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--panel-border);
}

.site-pagination__status {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.site-pagination__jump {
    margin-left: 0.25rem;
}

.site-pagination__select {
    background-color: rgba(15, 23, 42, 0.85) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 99px !important;
    padding: 0.2rem 1.8rem 0.2rem 0.75rem !important;
    font-size: 0.82rem !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.site-pagination__select:hover,
.site-pagination__select:focus {
    border-color: var(--primary, #ff2e4d) !important;
    box-shadow: 0 0 0 2px rgba(255, 46, 77, 0.25) !important;
    outline: none;
}

.site-pagination__select option {
    background-color: #0f172a;
    color: #f8fafc;
}

.site-pagination__rail {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    color: var(--text-muted);
    font-weight: 600;
    font-size: 0.88rem;
    transition: all 0.2s ease;
}

.page-link--nav {
    border-radius: 99px;
    min-width: auto;
    padding: 0 1.2rem;
}

.page-link--ellipsis {
    border: 0;
    background: transparent;
    cursor: default;
    min-width: 2rem;
}

.page-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.15);
}

.page-link.is-active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 5px 15px rgba(255, 46, 77, 0.3);
}

.page-link.is-disabled {
    pointer-events: none;
    opacity: 0.25;
}

/* Detail Hero Spotlights */
.detail-hero {
    position: relative;
    min-height: 65vh;
    padding: 9rem 0 5rem;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
}
.detail-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, 
        rgba(7, 9, 14, 0.3) 0%, 
        rgba(7, 9, 14, 0.75) 60%, 
        #07090e 100%);
    z-index: 1;
}

.detail-hero__content {
    position: relative;
    z-index: 2;
}

.detail-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
    color: var(--text-muted);
    font-weight: 500;
    font-size: 0.95rem;
}

.detail-hero__description {
    max-width: 70ch;
    font-size: 1.05rem;
}

/* Episodes Panel */
.episodes-section {
    padding: 3rem 0 5rem;
}

.season-tabs {
    gap: 0.5rem;
    margin-bottom: 2rem;
    border: 0;
}

.season-tabs .nav-link {
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    background: rgba(255, 255, 255, 0.03) !important;
    color: var(--text-muted) !important;
    border-radius: 99px;
    padding: 0.65rem 1.35rem;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.season-tabs .nav-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08) !important;
}

.season-tabs .nav-link.active {
    background: var(--primary-soft) !important;
    color: #fff !important;
    border-color: rgba(255, 46, 77, 0.3) !important;
    box-shadow: 0 5px 15px rgba(255, 46, 77, 0.1);
}

.episode-list {
    display: grid;
    gap: 1rem;
}

.episode-item {
    display: grid;
    grid-template-columns: 190px 1fr auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.15rem;
    background: var(--bg-soft);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-md);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.episode-item:hover {
    transform: translateX(4px);
    border-color: var(--panel-border-hover);
    background: rgba(255, 255, 255, 0.01);
}

.episode-item__image {
    width: 100%;
    height: 115px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    transition: transform 0.4s ease;
}
.episode-item:hover .episode-item__image {
    transform: scale(1.03);
}

.episode-item__body h2 {
    margin: 0 0 0.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
}

.episode-item__body p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.episode-item__action {
    color: var(--text-muted);
    font-size: 2.2rem;
    display: inline-flex;
    transition: all 0.25s ease;
}
.episode-item:hover .episode-item__action {
    color: var(--primary);
    transform: scale(1.08);
}

/* Player Stage Details */
.player-page {
    padding: 7.5rem 0 5rem;
}

.player-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 2rem;
}

.player-stage {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: #000;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8);
    border: 1px solid var(--panel-border);
}

.player-toolbar {
    position: absolute;
    inset: 1.25rem 1.25rem auto 1.25rem;
    z-index: 4;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.player-toolbar__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(7, 9, 14, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    border-radius: 99px;
    font-weight: 600;
    font-size: 0.88rem;
    transition: all 0.2s ease;
}
.player-toolbar__link:hover {
    background: #fff;
    color: #000;
    border-color: #fff;
}

.player-toolbar__select .form-select {
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(7, 9, 14, 0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
    border-radius: 99px;
    font-weight: 600;
    font-size: 0.88rem;
    min-width: 170px;
    padding: 0.6rem 2.2rem 0.6rem 1.2rem;
}
.player-toolbar__select .form-select:focus {
    box-shadow: none;
    border-color: var(--primary);
}

.player-surface {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.46),
        inset 0 0 0 1px rgba(255, 255, 255, 0.025);
}
.player-surface video,
.player-surface iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* Restrained broadcast-style L brackets shared by native and iframe playback. */
.player-corner {
    --corner-size: clamp(20px, 2.5vw, 32px);
    --corner-weight: 2px;
    position: absolute;
    z-index: 8;
    width: var(--corner-size);
    height: var(--corner-size);
    pointer-events: none;
    opacity: 0.72;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.7));
    transition: opacity 180ms ease;
}
.player-corner--tl { top: 14px; left: 14px; border-top: var(--corner-weight) solid rgba(255, 255, 255, 0.94); border-left: var(--corner-weight) solid var(--primary, #e50914); }
.player-corner--tr { top: 14px; right: 14px; border-top: var(--corner-weight) solid rgba(255, 255, 255, 0.94); border-right: var(--corner-weight) solid var(--primary, #e50914); }
.player-corner--bl { bottom: 14px; left: 14px; border-bottom: var(--corner-weight) solid rgba(255, 255, 255, 0.94); border-left: var(--corner-weight) solid var(--primary, #e50914); }
.player-corner--br { right: 14px; bottom: 14px; border-right: var(--corner-weight) solid var(--primary, #e50914); border-bottom: var(--corner-weight) solid rgba(255, 255, 255, 0.94); }
.player-surface:hover .player-corner,
.player-surface--iframe .player-corner { opacity: 1; }
.player-surface--iframe::after {
    content: '';
    position: absolute;
    inset: 5px;
    z-index: 7;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    pointer-events: none;
}

@media (max-width: 575.98px) {
    .player-surface { border-radius: 7px; }
    .player-corner { --corner-size: 18px; --corner-weight: 1.5px; }
    .player-corner--tl { top: 9px; left: 9px; }
    .player-corner--tr { top: 9px; right: 9px; }
    .player-corner--bl { bottom: 9px; left: 9px; }
    .player-corner--br { right: 9px; bottom: 9px; }
}

/* Ad Overlay styles */
.ad-overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    background: #000;
}
.ad-overlay__media,
.ad-overlay__video,
.ad-overlay__image {
    width: 100%;
    height: 100%;
}
.ad-overlay__video,
.ad-overlay__image {
    object-fit: contain;
}
.ad-overlay__click {
    position: absolute;
    inset: 0;
}
.ad-overlay__footer {
    position: absolute;
    inset: auto 1.25rem 1.25rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    z-index: 6;
}
.ad-overlay__label,
.ad-overlay__timer {
    padding: 0.5rem 1rem;
    border-radius: 99px;
    background: rgba(7, 9, 14, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
}
.ad-overlay__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
#skipBtn {
    padding: 0.5rem 1.25rem;
    border-radius: 99px;
    font-weight: 700;
}

/* Player Meta details */
.player-meta {
    margin-top: 1.5rem;
    padding: 1.75rem 2rem;
    background: var(--bg-soft);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.player-meta h1 {
    margin: 0 0 0.85rem;
    font-size: 1.85rem;
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
    color: #fff;
    letter-spacing: -0.01em;
}
.player-meta__stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem;
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 500;
}
.player-meta__description {
    margin: 1.25rem 0 0;
    color: var(--text-muted);
    font-size: 0.98rem;
    line-height: 1.7;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

/* Sidebar elements */
.related-panel {
    padding: 1.5rem;
    background: var(--bg-soft);
    border: 1px solid var(--panel-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.related-panel h2 {
    margin: 0 0 1.25rem;
    font-size: 1.2rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    color: #fff;
}
.related-list {
    display: grid;
    gap: 1rem;
}
.related-item {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: var(--radius-md);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.related-item:hover {
    border-color: var(--panel-border-hover);
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(3px);
}
.related-item__image {
    width: 100%;
    height: 70px;
    object-fit: cover;
    border-radius: var(--radius-sm);
}
.related-item__body h3 {
    margin: 0 0 0.25rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    line-clamp: 2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.related-item__body p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 500;
}
.related-panel__empty {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Forms & Text Fields styling */
.form-control,
.form-select,
.dropdown-menu {
    background-color: #0c0f17;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.95rem;
    border-radius: var(--radius-sm);
}

.form-control:focus,
.form-select:focus {
    background-color: #0d121d;
    border-color: var(--primary);
    box-shadow: 0 0 15px var(--primary-glow);
    color: #fff;
}

.form-label {
    font-weight: 600;
    font-size: 0.9rem;
}

/* Footer Section styling */
.site-footer {
    padding: 4rem 0 calc(3rem + env(safe-area-inset-bottom, 0));
    border-top: 1px solid var(--panel-border);
    background: #05070a;
}
.site-footer__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 800;
    font-size: 1.2rem;
    color: #fff !important;
}
.site-footer__logo {
    width: auto;
    height: 38px;
    max-width: 160px;
    object-fit: contain;
}
.site-footer__copy {
    max-width: 36ch;
    color: var(--text-muted);
    line-height: 1.65;
    font-size: 0.92rem;
}
.site-footer__heading {
    margin: 0 0 1.2rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim);
}
.site-footer__links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.75rem;
    font-size: 0.92rem;
}
.site-footer__links a {
    color: var(--text-muted);
    transition: color 0.2s ease;
}
.site-footer__links a:hover {
    color: #fff;
}
.site-footer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}
.site-footer__pill {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 99px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--text-muted);
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
}
.site-footer__pill:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.site-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 3.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-dim);
    font-size: 0.88rem;
}
.site-footer__bottom p {
    margin: 0;
}

/* Age verification Gate modal */
.modal-content {
    background: #0c0f17;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.9);
}
.modal-header, .modal-footer {
    border-color: rgba(255, 255, 255, 0.05);
}
.modal-title {
    font-family: 'Outfit', sans-serif;
    font-weight: 700;
}

/* Responsiveness Media Queries */
@media (max-width: 991px) {
    .site-navbar {
        background: rgba(7, 9, 14, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .site-navbar .navbar-collapse {
        background: #0b0f19;
        padding: 1.25rem;
        border-radius: var(--radius-md);
        border: 1px solid var(--panel-border);
        margin-top: 1rem;
        box-shadow: var(--shadow);
    }

    .site-navbar .nav-link {
        padding: 0.75rem 1.25rem !important;
        width: 100%;
        display: block;
    }
    
    .home-hero {
        padding-top: 7.75rem;
    }

    .home-hero__inner {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .home-hero__title {
        max-width: 100%;
        font-size: clamp(2.4rem, 8vw, 4rem);
    }

    .home-hero__spotlight {
        justify-content: stretch;
    }

    .home-spotlight,
    .home-spotlight__body {
        min-height: 480px;
        max-width: none;
    }

    .home-overview {
        margin-top: 0;
    }

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

    .section-heading {
        align-items: start;
        flex-direction: column;
    }

    .section-heading__link {
        white-space: normal;
    }

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

    .home-sidebar__card {
        padding: 1.35rem 1.3rem;
    }

    .home-sidebar__grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .home-sidebar__list--grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-sidebar__header {
        gap: 0.85rem;
    }

    .home-sidebar__cta {
        padding: 0.6rem 1rem;
        font-size: 0.82rem;
    }


    .hero-content {
        padding: 0 1rem 6rem;
        margin-left: 0;
    }

    .player-layout {
        grid-template-columns: 1fr;
    }
    
    .site-footer__brand {
        margin-top: 1rem;
    }
}

@media (max-width: 767px) {
    .site-container {
        width: calc(100% - 1.5rem);
    }
    
    .site-navbar {
        padding: 0.8rem 0;
    }

    .hero-slider,
    .hero-slider .carousel-item {
        height: min(84vh, 780px);
        min-height: 520px;
    }

    .hero-slider {
        margin-bottom: 0.25rem;
    }

    .hero-bg {
        object-position: center 18%;
    }

    .hero-content {
        padding: 0 0 6rem;
    }

    .home-hero {
        padding-top: 7rem;
        padding-bottom: 2rem;
    }

    .home-hero__content {
        padding-top: 1rem;
    }

    .home-hero__description {
        font-size: 0.98rem;
    }

    .home-hero__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-stat {
        min-width: 0;
    }

    .home-overview-card {
        grid-template-columns: auto 1fr;
    }

    .home-overview-card__arrow {
        display: none;
    }

    .hero-meta {
        gap: 0.55rem;
    }

    .home-category-card {
        grid-template-columns: auto 1fr;
    }

    .home-category-card__arrow {
        display: none;
    }

    .hero-title,
    .page-hero__title,
    .detail-hero__title {
        line-height: 1.02;
    }

    .scroll-container {
        grid-auto-columns: minmax(180px, 180px);
        gap: 0.9rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .browse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }
    
    .browse-grid--live {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .browse-toolbar {
        padding: 1rem;
    }

    .filter-chips {
        gap: 0.5rem;
    }

    .filter-chip,
    .page-link--nav {
        font-size: 0.8rem;
        padding: 0.45rem 0.9rem;
    }

    .page-link {
        font-size: 0.8rem;
    }

    .site-pagination {
        flex-direction: column;
        align-items: center;
        margin-top: 2rem;
    }

    .site-pagination__rail {
        justify-content: center;
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    .page-link--nav {
        min-width: auto;
        padding: 0 1rem;
    }

    .episode-item {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .episode-item__image {
        height: 160px;
    }

    .ad-overlay__footer {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    
    .player-meta {
        padding: 1.25rem;
    }
}

/* Premium Button Styling Overrides */
.btn-danger {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
    font-weight: 700;
    border-radius: 99px;
    box-shadow: 0 4px 15px rgba(255, 46, 77, 0.25);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-danger:hover {
    background-color: #e11d38 !important;
    border-color: #e11d38 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 46, 77, 0.45);
}

.btn-outline-light {
    border-radius: 99px;
    font-weight: 600;
    border-color: rgba(255, 255, 255, 0.15);
    transition: all 0.25s ease;
}
.btn-outline-light:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px);
}

.premium-glass-card {
    background: var(--panel) !important;
    border: 1px solid var(--panel-border) !important;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Full-Site Polish Overrides */
.site-main {
    position: relative;
    isolation: isolate;
}

.site-body::before,
.site-body::after {
    content: '';
    position: fixed;
    inset: auto;
    width: 38rem;
    height: 38rem;
    border-radius: 999px;
    pointer-events: none;
    z-index: 0;
    filter: blur(90px);
    opacity: 0.2;
}

.site-body::before {
    top: -12rem;
    right: -10rem;
    background: radial-gradient(circle, rgba(255, 46, 77, 0.8) 0%, rgba(255, 46, 77, 0) 70%);
}

.site-body::after {
    bottom: -18rem;
    left: -12rem;
    background: radial-gradient(circle, rgba(88, 101, 242, 0.7) 0%, rgba(88, 101, 242, 0) 70%);
}

.site-navbar {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.site-navbar .navbar-collapse {
    justify-content: flex-end;
}

.page-hero .site-container {
    padding: 1.6rem clamp(1.15rem, 2vw, 2rem);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(14, 18, 30, 0.88) 0%, rgba(9, 12, 20, 0.96) 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.page-hero.page-hero--compact .site-container {
    padding-block: 1.4rem;
}

.hero-content,
.detail-hero__content {
    max-width: min(820px, calc(100% - (var(--layout-gutter) * 2)));
}

.carousel-control-prev,
.carousel-control-next {
    width: 6.25rem;
    opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background-color: rgba(4, 8, 15, 0.5);
    background-size: 42%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
}

.content-section {
    padding-block: 2.35rem;
}

.section-header {
    margin-bottom: 1.5rem;
}

.view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e2e8f0;
    font-weight: 600;
}

.view-all:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
}

.scroll-container {
    padding-bottom: 0.4rem;
}

.card-wrapper {
    min-width: clamp(170px, 18vw, 220px);
}

.content-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.26);
}

.content-card:hover {
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.36);
}

.content-card__body {
    gap: 0.55rem;
}

.content-card .card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.9em;
    line-height: 1.45;
}

.badge-quality {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.browse-section .site-container,
.player-page .site-container,
.series-detail-page .site-container {
    position: relative;
}

.browse-toolbar {
    padding: 1rem 1.1rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(14, 18, 30, 0.92) 0%, rgba(10, 13, 21, 0.98) 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.browse-toolbar form .form-control,
.browse-toolbar form .form-select,
.player-toolbar__select .form-select,
.contact .form-control,
.premium-glass-card .form-control {
    min-height: 2.7rem;
    border-radius: 16px !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.browse-toolbar form .form-control::placeholder,
.premium-glass-card .form-control::placeholder {
    color: rgba(226, 232, 240, 0.55);
}

.browse-toolbar form .form-control:focus,
.browse-toolbar form .form-select:focus,
.player-toolbar__select .form-select:focus,
.premium-glass-card .form-control:focus {
    border-color: rgba(255, 46, 77, 0.4) !important;
    box-shadow: 0 0 0 0.2rem rgba(255, 46, 77, 0.12) !important;
}

.filter-chip {
    font-weight: 600;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.empty-state {
    width: 100%;
    padding: 2.25rem 1.5rem;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(14, 18, 30, 0.78) 0%, rgba(10, 13, 21, 0.98) 100%);
    border: 1px dashed rgba(255, 255, 255, 0.12);
}

.player-stage,
.player-meta,
.related-panel,
.episode-item,
.site-pagination,
.premium-glass-card {
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.28);
}

.player-toolbar {
    background: linear-gradient(180deg, rgba(8, 11, 19, 0.92) 0%, rgba(8, 11, 19, 0.78) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.player-toolbar__link,
.player-meta__stats span,
.related-panel__empty {
    color: #cbd5e1;
}

.player-meta__header h1,
.related-panel h2 {
    letter-spacing: -0.02em;
}

.related-item__body h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.episode-item,
.related-item {
    border-color: rgba(255, 255, 255, 0.08);
}

.site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.site-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e2e8f0;
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.site-social-link:hover {
    color: #fff;
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.08);
}

.site-footer__pill {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

@media (max-width: 991.98px) {
    .site-navbar .navbar-collapse {
        margin-top: 1rem;
        padding: 1rem;
        border-radius: 22px;
        background: rgba(8, 11, 19, 0.96);
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
    }

    .site-navbar .nav-link {
        width: 100%;
    }

    .page-hero .site-container {
        border-radius: 22px;
    }
}

@media (max-width: 767.98px) {
    .site-body::before,
    .site-body::after {
        width: 24rem;
        height: 24rem;
        opacity: 0.16;
    }

    .browse-toolbar {
        padding: 0.95rem;
        border-radius: 20px;
    }

    .card-wrapper {
        min-width: 160px;
    }

    .carousel-control-prev,
    .carousel-control-next {
        display: none;
    }

    .detail-hero {
        min-height: 55vh;
        padding: 7.5rem 0 3rem;
    }

    .detail-hero__title {
        font-size: clamp(1.8rem, 7.5vw, 2.8rem);
    }

    .detail-hero__description {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    .season-tabs {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .season-tabs .nav-item {
        flex: 0 0 auto;
    }
    .season-tabs .nav-link {
        padding: 0.55rem 1.1rem;
        font-size: 0.85rem;
        white-space: nowrap;
    }

    .player-page {
        padding: 6.5rem 0 4rem;
    }

    .player-meta h1 {
        font-size: 1.4rem;
    }

    .player-meta__stats {
        gap: 0.6rem;
        font-size: 0.82rem;
    }

    .related-item__image {
        height: 62px;
    }
}

@media (max-width: 575.98px) {
    :root {
        --layout-gutter: 1rem;
    }

    html {
        font-size: 15px;
    }

    .site-container {
        width: calc(100% - 1rem);
    }

    .site-navbar {
        padding: 0.6rem 0;
    }

    .brand-logo {
        height: 34px;
        max-width: 120px;
    }

    .site-brand {
        font-size: 1.05rem;
        gap: 0.5rem;
    }

    .site-brand__text {
        display: none;
    }

    .site-navbar .navbar-collapse {
        margin-top: 0.75rem;
        padding: 0.75rem;
        border-radius: 18px;
        max-height: 70vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .site-navbar .nav-link {
        padding: 0.65rem 1rem !important;
        font-size: 0.9rem;
        border-radius: 12px;
    }

    .site-navbar__toggler {
        padding: 0.35rem 0.5rem;
    }

    .hero-slider,
    .hero-slider .carousel-item {
        height: min(80vh, 680px);
        min-height: 500px;
    }

    .hero-slider {
        margin-bottom: 0.15rem;
    }

    .hero-bg {
        object-position: top center;
    }

    .hero-overlay {
        background:
            linear-gradient(180deg,
                rgba(7, 9, 14, 0.18) 0%,
                rgba(7, 9, 14, 0.1) 22%,
                rgba(7, 9, 14, 0.28) 52%,
                rgba(7, 9, 14, 0.96) 100%),
            linear-gradient(90deg,
                rgba(7, 9, 14, 0.78) 0%,
                rgba(7, 9, 14, 0.52) 32%,
                rgba(7, 9, 14, 0.12) 70%,
                rgba(7, 9, 14, 0.02) 100%);
        align-items: flex-end;
    }

    .hero-content {
        padding: 0 0 3.6rem;
    }

    .hero-eyebrow,
    .page-hero__eyebrow,
    .player-meta__eyebrow {
        font-size: 0.72rem;
        margin-bottom: 0.6rem;
        letter-spacing: 0.15em;
    }

    .hero-title,
    .page-hero__title,
    .detail-hero__title {
        font-size: clamp(1.7rem, 8vw, 2.6rem);
        margin-bottom: 0.75rem;
    }

    .hero-desc,
    .page-hero__description,
    .detail-hero__description {
        font-size: 0.9rem;
        margin-bottom: 1.25rem;
        line-height: 1.55;
    }

    .hero-meta {
        gap: 0.45rem;
        margin-bottom: 1rem;
    }

    .hero-meta__pill {
        padding: 0.4rem 0.7rem;
        font-size: 0.75rem;
        gap: 0.4rem;
    }

    .hero-actions {
        gap: 0.65rem;
    }

    .btn-hero-primary,
    .btn-hero-secondary {
        padding: 0.72rem 1.25rem;
        font-size: 0.85rem;
        gap: 0.55rem;
        width: 100%;
    }

    .carousel-indicators {
        margin-bottom: 0.75rem;
    }
    .carousel-indicators [data-bs-target] {
        width: 6px;
        height: 6px;
        margin: 0 3px;
    }
    .carousel-indicators .active {
        width: 20px;
    }

    .home-hero {
        padding: 5.75rem 0 1rem;
        background:
            radial-gradient(circle at 50% 0%, rgba(255, 46, 77, 0.38), transparent 42%),
            radial-gradient(circle at 10% 40%, rgba(88, 101, 242, 0.22), transparent 35%),
            radial-gradient(circle at 90% 80%, rgba(168, 85, 247, 0.24), transparent 40%);
    }

    .home-hero::before {
        background: linear-gradient(180deg, rgba(7, 9, 14, 0.78) 0%, rgba(7, 9, 14, 0.15) 28%, rgba(7, 9, 14, 0.75) 80%, rgba(7, 9, 14, 0.96) 100%);
    }

    .home-hero__inner {
        gap: 1.5rem;
    }

    .home-hero__content {
        padding: 1.1rem 0 0;
    }

    .home-hero__title {
        font-size: clamp(2rem, 9.5vw, 3.2rem);
        font-weight: 800;
        line-height: 0.97;
        letter-spacing: -0.045em;
        margin-bottom: 0.85rem;
        background: linear-gradient(135deg, #ffffff 0%, #fecdd3 55%, #c7d2fe 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

    .home-hero__description {
        font-size: 0.92rem;
        line-height: 1.55;
        margin-bottom: 1.25rem;
        color: rgba(226, 232, 240, 0.88);
    }

    .home-hero__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.6rem;
        margin-bottom: 1.35rem;
    }

    .home-hero__actions .btn-hero-primary,
    .home-hero__actions .btn-hero-secondary {
        width: 100%;
        justify-content: center;
        padding: 0.78rem 1rem;
        font-size: 0.88rem;
        font-weight: 700;
        letter-spacing: 0.005em;
        border-radius: 14px;
        min-height: 48px;
        gap: 0.45rem;
    }

    .home-hero__actions .btn-hero-primary {
        grid-column: 1 / -1;
        background: linear-gradient(135deg, #ff2e4d 0%, #ff4d63 45%, #5865f2 100%);
        border: 0;
        color: #fff;
        box-shadow: 0 14px 28px -12px rgba(255, 46, 77, 0.72), 0 4px 10px -6px rgba(88, 101, 242, 0.5);
    }

    .home-hero__actions .btn-hero-secondary {
        background: rgba(255, 255, 255, 0.09);
        border: 1px solid rgba(255, 255, 255, 0.12);
        color: #fff;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .home-hero__stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
    }

    .home-stat {
        min-width: 0;
        padding: 0.85rem 0.9rem;
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.03));
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 18px;
        box-shadow: 0 8px 22px -14px rgba(0, 0, 0, 0.7);
    }

    .home-stat strong {
        font-size: 1.25rem;
        font-weight: 800;
        margin-bottom: 0.25rem;
    }

    .home-stat span {
        font-size: 0.78rem;
        color: rgba(226, 232, 240, 0.82);
    }

    .home-hero__spotlight {
        margin-top: 0.5rem;
    }

    .home-spotlight {
        max-width: 100%;
        min-height: 390px;
        border-radius: 24px;
        border: 1px solid rgba(255, 255, 255, 0.12);
        box-shadow: 0 24px 60px -26px rgba(255, 46, 77, 0.42), 0 14px 30px -16px rgba(0, 0, 0, 0.75);
    }

    .home-spotlight__body {
        min-height: 390px;
        padding: 1.35rem 1.25rem 1.25rem;
        justify-content: flex-end;
    }

    .home-spotlight__overlay {
        background: linear-gradient(180deg, rgba(7, 9, 14, 0.18) 0%, rgba(7, 9, 14, 0.45) 48%, rgba(7, 9, 14, 0.97) 100%);
    }

    .home-spotlight__eyebrow {
        padding: 0.38rem 0.7rem;
        font-size: 0.7rem;
        letter-spacing: 0.08em;
        background: linear-gradient(135deg, rgba(255, 46, 77, 0.65), rgba(88, 101, 242, 0.55));
        border: 0;
        color: #fff;
        border-radius: 99px;
        margin-bottom: 0.75rem;
    }

    .home-spotlight__body h2 {
        font-size: 1.6rem;
        line-height: 1.08;
        margin-bottom: 0.55rem;
        color: #fff;
        font-weight: 800;
    }

    .home-spotlight__body p {
        font-size: 0.86rem;
        line-height: 1.5;
        margin-bottom: 0.9rem;
        color: rgba(241, 245, 249, 0.86);
    }

    .home-spotlight__meta {
        margin-bottom: 0.95rem;
        gap: 0.6rem;
        color: rgba(226, 232, 240, 0.9);
        font-size: 0.82rem;
    }

    .home-spotlight__link {
        padding: 0.7rem 1rem;
        border-radius: 12px;
        background: rgba(255, 255, 255, 0.92);
        color: #07090e !important;
        font-weight: 700;
        font-size: 0.86rem;
        gap: 0.45rem;
        box-shadow: 0 10px 20px -12px rgba(255, 255, 255, 0.4);
    }

    .home-quick-chips {
        padding: 1rem 0 0.6rem;
    }

    .home-quick-chips__inner {
        gap: 0.55rem;
    }

    .home-quick-chip {
        padding: 0.6rem 0.95rem;
        font-size: 0.8rem;
        min-height: 40px;
        border-radius: 999px;
    }

    .home-overview {
        margin-top: 0.2rem;
        padding-bottom: 0.8rem;
    }

    .home-overview__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .home-overview-card,
    .home-category-card {
        grid-template-columns: auto 1fr auto;
        gap: 0.9rem;
        padding: 1rem 1.05rem;
        border-radius: 20px;
        background: linear-gradient(145deg, rgba(24, 29, 44, 0.98), rgba(12, 15, 23, 0.98));
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: 0 14px 34px -20px rgba(0, 0, 0, 0.75);
    }

    .home-overview-card::after,
    .home-category-card::after {
        content: '';
        position: absolute;
        inset: 0;
        pointer-events: none;
        border-radius: inherit;
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), transparent 30%);
    }

    .home-overview-card__icon,
    .home-category-card__icon {
        width: 2.8rem;
        height: 2.8rem;
        border-radius: 16px;
        font-size: 0.95rem;
    }

    .home-overview-card h2,
    .home-category-card h3 {
        font-size: 1rem;
        margin-bottom: 0.15rem;
    }

    .home-overview-card p,
    .home-category-card p {
        font-size: 0.83rem;
        line-height: 1.45;
        color: rgba(203, 213, 225, 0.92);
    }

    .home-overview-card__arrow,
    .home-category-card__arrow {
        display: grid;
        place-items: center;
        width: 2rem;
        height: 2rem;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.06);
        color: #fff;
    }

    .home-categories__grid {
        grid-template-columns: 1fr;
        gap: 0.8rem;
    }

    .home-sidebar {
        padding: 0.95rem 0 0.45rem;
        margin-top: 0;
    }

    .home-sidebar__card {
        padding: 1.05rem 1rem;
        border-radius: 22px;
    }

    .home-sidebar__header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.8rem;
        margin-bottom: 1.1rem;
    }

    .home-sidebar__eyebrow {
        font-size: 0.7rem;
    }

    .home-sidebar__title {
        font-size: 1.15rem;
    }

    .home-sidebar__cta {
        width: 100%;
        justify-content: center;
        padding: 0.7rem 1rem;
        font-size: 0.86rem;
        border-radius: 12px;
        min-height: 46px;
    }

    .home-sidebar__grid {
        grid-template-columns: 1fr;
        gap: 1.15rem;
    }

    .home-sidebar__col-title {
        font-size: 0.75rem;
        margin-bottom: 0.65rem;
    }

    .home-sidebar__list {
        gap: 0.5rem;
    }

    .home-sidebar__list--grid {
        display: flex;
        flex-direction: column;
    }

    .home-sidebar__item {
        padding: 0.7rem 0.8rem;
        border-radius: 14px;
        min-height: 54px;
        gap: 0.7rem;
    }

    .home-sidebar__item--compact {
        min-height: 52px;
        padding: 0.62rem 0.75rem;
        border-radius: 13px;
    }

    .home-sidebar__icon {
        width: 2.3rem;
        height: 2.3rem;
        border-radius: 11px;
        font-size: 0.82rem;
    }

    .home-sidebar__item-body strong {
        font-size: 0.9rem;
    }

    .home-sidebar__item-body span {
        font-size: 0.76rem;
    }

    .home-sidebar__item--compact .home-sidebar__item-body strong {
        font-size: 0.88rem;
    }

    .home-sidebar__item--compact .home-sidebar__item-body span {
        font-size: 0.73rem;
    }

    .home-sidebar__badge {
        font-size: 0.6rem;
        padding: 0.2rem 0.4rem;
        margin-right: 0.35rem !important;
    }

    .home-sidebar__chev {
        font-size: 0.65rem;
    }

    .section-heading {
        margin-bottom: 1rem;
    }

    .section-heading__eyebrow {
        font-size: 0.72rem;
    }

    .section-heading__title {
        font-size: clamp(1.25rem, 5vw, 1.75rem);
    }

    .section-heading__link {
        font-size: 0.82rem;
    }

    .content-section {
        padding-block: 1.6rem;
    }

    .section-header {
        margin-bottom: 1rem;
    }

    .section-title {
        font-size: 1.2rem;
        padding-left: 0.7rem;
    }

    .view-all {
        padding: 0.45rem 0.8rem;
        font-size: 0.8rem;
        gap: 0.35rem;
    }

    .scroll-container {
        grid-auto-columns: minmax(150px, 150px);
        gap: 0.75rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-bottom: 0.25rem;
    }

    .card-wrapper {
        min-width: 150px;
    }

    .content-card {
        border-radius: 12px;
    }

    .content-card:hover {
        transform: none;
    }

    .content-card__body {
        padding: 0.75rem 0.85rem 0.95rem;
    }

    .card-title {
        font-size: 0.85rem;
        min-height: 2.5em;
    }

    .card-meta {
        gap: 0.45rem;
        font-size: 0.72rem;
    }

    .badge-quality {
        font-size: 0.62rem;
        padding: 0.18rem 0.4rem;
    }

    .content-card__play {
        width: 2.6rem;
        height: 2.6rem;
    }

    .adult-warning,
    .live-badge {
        top: 0.55rem;
        left: 0.55rem;
        right: auto;
        padding: 0.28rem 0.55rem;
        font-size: 0.62rem;
        gap: 0.3rem;
    }

    .live-badge {
        left: auto;
        right: 0.55rem;
    }

    .page-shell {
        padding-top: 6rem;
        padding-bottom: 3rem;
    }

    .page-hero {
        padding: 1rem 0 1rem;
    }

    .page-hero .site-container {
        padding: 1.15rem 1rem;
        border-radius: 20px;
    }

    .browse-toolbar {
        padding: 0.85rem;
        border-radius: 18px;
        gap: 0.9rem;
        margin-bottom: 1.25rem;
    }

    .browse-toolbar form {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.75rem !important;
    }

    .browse-toolbar form > div:last-child {
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        width: 100% !important;
        gap: 0.75rem !important;
        margin-left: 0 !important;
    }

    .browse-toolbar__summary {
        font-size: 0.85rem;
        order: 0;
    }

    .browse-toolbar form .d-flex.align-items-center.gap-2.position-relative {
        min-width: 0 !important;
        width: 100% !important;
    }

    .browse-toolbar form input[name="q"] {
        width: 100% !important;
    }

    .browse-toolbar form .btn-outline-secondary {
        width: 100%;
        font-size: 0.82rem;
        padding: 0.5rem 0.8rem;
    }

    .browse-toolbar form .d-flex.align-items-center.gap-2:has(> select) {
        width: 100% !important;
    }

    .browse-toolbar form .d-flex.align-items-center.gap-2:has(> select) label {
        font-size: 0.8rem;
    }

    #movieSortSelect,
    .browse-toolbar form .form-select {
        width: 100% !important;
        min-width: 0 !important;
    }

    .filter-chips {
        gap: 0.4rem;
        padding-top: 0.85rem !important;
        margin-top: 0.25rem !important;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .filter-chips .filter-chip {
        flex: 0 0 auto;
    }

    .filter-chip {
        font-size: 0.78rem;
        padding: 0.45rem 0.85rem;
    }

    .browse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .browse-grid--live {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .site-pagination {
        margin-top: 2rem;
        padding-top: 1.25rem;
        gap: 0.85rem;
    }

    .site-pagination__status {
        font-size: 0.8rem;
        text-align: center;
        width: 100%;
        order: 2;
    }

    .site-pagination__rail {
        order: 1;
        width: 100%;
        justify-content: space-between !important;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 0.25rem;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .site-pagination__rail .page-link:not(.page-link--nav):not(.page-link--ellipsis) {
        flex: 0 0 auto;
    }

    .page-link {
        min-width: 2.2rem;
        height: 2.2rem;
        font-size: 0.78rem;
        padding: 0 0.6rem;
    }

    .page-link--nav {
        padding: 0 0.9rem;
        font-size: 0.78rem;
    }

    .empty-state {
        padding: 1.75rem 1rem;
        border-radius: 20px;
        min-height: 240px;
    }

    .empty-state h2 {
        font-size: 1.2rem;
    }

    .empty-state p {
        font-size: 0.85rem;
    }

    .detail-hero {
        min-height: 50vh;
        padding: 7rem 0 2.5rem;
    }

    .detail-hero__meta {
        gap: 0.6rem;
        font-size: 0.82rem;
        margin-bottom: 0.9rem;
    }

    .detail-hero .btn-hero-primary {
        width: 100%;
    }

    .episodes-section {
        padding: 1.75rem 0 3rem;
    }

    .season-tabs {
        margin-bottom: 1.25rem;
    }

    .episode-list {
        gap: 0.75rem;
    }

    .episode-item {
        padding: 0.8rem;
        gap: 0.8rem;
        border-radius: 14px;
    }

    .episode-item:hover {
        transform: none;
    }

    .episode-item__image {
        height: 140px;
        border-radius: 10px;
    }

    .episode-item__body h2 {
        font-size: 0.95rem;
        margin-bottom: 0.35rem;
    }

    .episode-item__body p {
        font-size: 0.8rem;
        line-height: 1.45;
    }

    .episode-item__action {
        font-size: 1.8rem;
        justify-self: end;
    }

    .player-page {
        padding: 6rem 0 3rem;
    }

    .player-stage {
        border-radius: 16px;
    }

    .player-toolbar {
        inset: 0.65rem 0.65rem auto 0.65rem;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;
        padding: 0;
        background: transparent;
        border-bottom: 0;
    }

    .player-toolbar__link {
        padding: 0.48rem 0.9rem;
        font-size: 0.78rem;
        gap: 0.4rem;
    }

    .player-toolbar__select {
        flex: 1 1 auto;
        min-width: 0;
    }

    .player-toolbar__select .form-select {
        min-width: 0;
        width: 100%;
        font-size: 0.78rem;
        padding: 0.48rem 1.9rem 0.48rem 0.9rem;
    }

    .ad-overlay__footer {
        inset: auto 0.65rem 0.65rem 0.65rem;
    }

    .ad-overlay__label,
    .ad-overlay__timer {
        font-size: 0.72rem;
        padding: 0.38rem 0.75rem;
    }

    #skipBtn {
        font-size: 0.78rem;
        padding: 0.4rem 0.9rem;
    }

    .player-meta {
        padding: 1rem;
        border-radius: 16px;
        margin-top: 1rem;
    }

    .player-meta h1 {
        font-size: 1.2rem;
        margin-bottom: 0.65rem;
    }

    .player-meta__stats {
        gap: 0.5rem;
        font-size: 0.78rem;
    }

    .player-meta__description {
        margin-top: 0.9rem;
        padding-top: 0.9rem;
        font-size: 0.88rem;
        line-height: 1.6;
    }

    .related-panel {
        padding: 1rem;
        border-radius: 16px;
    }

    .related-panel h2 {
        font-size: 1.05rem;
        margin-bottom: 0.9rem;
    }

    .related-list {
        gap: 0.7rem;
    }

    .related-item {
        padding: 0.6rem;
        gap: 0.75rem;
        border-radius: 12px;
    }

    .related-item:hover {
        transform: none;
    }

    .related-item__image {
        height: 58px;
        border-radius: 8px;
    }

    .related-item__body h3 {
        font-size: 0.82rem;
    }

    .related-item__body p {
        font-size: 0.72rem;
    }

    .form-control,
    .form-select,
    .browse-toolbar form .form-control,
    .browse-toolbar form .form-select,
    .premium-glass-card .form-control {
        min-height: 2.4rem;
        font-size: 0.88rem;
    }

    .form-label {
        font-size: 0.85rem;
    }

    .btn,
    .btn-danger,
    .btn-outline-light {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-footer {
        padding: 2.5rem 0 2rem;
    }

    .site-footer__brand {
        margin-bottom: 1rem;
    }

    .site-footer__logo {
        height: 32px;
        max-width: 130px;
    }

    .site-footer__copy {
        font-size: 0.85rem;
        line-height: 1.6;
        margin-bottom: 1.25rem;
    }

    .site-footer__heading {
        margin-bottom: 0.85rem;
    }

    .site-footer__links {
        gap: 0.6rem;
        font-size: 0.85rem;
    }

    .site-footer__actions {
        gap: 0.5rem;
    }

    .site-footer__pill {
        padding: 0.45rem 0.85rem;
        font-size: 0.78rem;
    }

    .site-footer__socials {
        gap: 0.6rem;
    }

    .site-social-link {
        width: 2.4rem;
        height: 2.4rem;
        font-size: 0.85rem;
    }

    .site-footer__bottom {
        margin-top: 2.25rem;
        padding-top: 1.1rem;
        gap: 0.5rem;
        font-size: 0.75rem;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .site-footer .row.g-4 {
        --bs-gutter-y: 1.5rem;
    }

    .modal-dialog {
        margin: 1rem;
    }

    .modal-content {
        border-radius: 18px;
    }

    .modal-header {
        padding: 1rem 1.1rem;
    }

    .modal-title {
        font-size: 1rem;
    }

    .modal-body {
        padding: 1.25rem 1.1rem;
    }

    .modal-body p.lead {
        font-size: 0.95rem;
    }

    .modal-body p:not(.lead) {
        font-size: 0.85rem;
    }

    .modal-footer {
        padding: 0.9rem 1.1rem 1.1rem;
    }

    .modal-footer .btn {
        width: 100%;
    }
}

@media (max-width: 399.98px) {
    html {
        font-size: 14.5px;
    }

    .home-stat {
        padding: 0.7rem 0.75rem;
    }

    .home-stat strong {
        font-size: 1.05rem;
    }

    .home-stat span {
        font-size: 0.72rem;
    }

    .scroll-container {
        grid-auto-columns: minmax(140px, 140px);
        gap: 0.6rem;
    }

    .card-wrapper {
        min-width: 140px;
    }

    .browse-grid,
    .browse-grid--live {
        gap: 0.65rem;
    }

    .page-link {
        min-width: 2rem;
        height: 2rem;
    }
}

@media (hover: none) and (pointer: coarse) {
    .content-card:hover .content-card__play,
    .content-card:hover .card-img {
        transform: none;
    }

    .content-card:hover {
        transform: none;
        border-color: var(--panel-border);
        box-shadow: var(--shadow);
    }

    .home-overview-card:hover,
    .home-category-card:hover,
    .episode-item:hover,
    .related-item:hover {
        transform: none;
    }

    .site-social-link:hover,
    .home-overview-card:hover .home-overview-card__arrow,
    .home-category-card:hover .home-category-card__arrow,
    .view-all:hover i,
    .episode-item:hover .episode-item__action,
    .home-spotlight__link:hover i {
        transform: none;
    }

    .btn-hero-primary:hover,
    .btn-hero-secondary:hover,
    .btn-danger:hover,
    .btn-outline-light:hover {
        transform: none;
    }

    .content-card:active {
        transform: scale(0.97);
    }

    .home-overview-card:active,
    .home-category-card:active,
    .episode-item:active,
    .related-item:active,
    .site-social-link:active,
    .filter-chip:not(.is-active):active,
    .site-footer__pill:active {
        opacity: 0.85;
    }
}

/* ==========================================================================
   Mobile UI Enhancements & Bottom Navigation Bar
   ========================================================================== */

/* Card Poster Aspect Ratio & CLS Prevention */
.content-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background-color: #0c0f17;
}

.content-card__media.live-card__media {
    aspect-ratio: 16 / 9;
}

.content-card__media img.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Horizontal Touch Scroll Snap */
.scroll-container {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.scroll-container::-webkit-scrollbar {
    display: none;
}

.scroll-container .card-wrapper {
    scroll-snap-align: start;
    flex: 0 0 auto;
}

/* Mobile Bottom Navigation Bar */
.mobile-bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(60px + env(safe-area-inset-bottom, 0));
    padding-bottom: env(safe-area-inset-bottom, 0);
    background: rgba(7, 9, 14, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-around;
    z-index: 1040;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.4);
}

.mobile-nav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-dim);
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    padding: 4px 0;
}

.mobile-nav-icon {
    font-size: 1.15rem;
    line-height: 1;
    margin-bottom: 3px;
    transition: transform 0.2s ease, color 0.2s ease;
}

.mobile-nav-label {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: color 0.2s ease;
}

.mobile-nav-item:hover,
.mobile-nav-item:focus {
    color: var(--text-muted);
}

.mobile-nav-item.active {
    color: #fff;
}

.mobile-nav-item.active .mobile-nav-icon {
    color: var(--primary);
    transform: translateY(-2px) scale(1.1);
}

.mobile-nav-item.active .mobile-nav-label {
    color: #fff;
    font-weight: 700;
}

.mobile-nav-item.active::after {
    content: '';
    position: absolute;
    top: 0;
    width: 24px;
    height: 3px;
    border-radius: 0 0 4px 4px;
    background: var(--primary);
    box-shadow: 0 2px 10px var(--primary-glow);
}

.mobile-nav-item--adult.active .mobile-nav-icon {
    color: #fda4af;
}

.mobile-nav-item--adult.active::after {
    background: #f43f5e;
    box-shadow: 0 2px 10px rgba(244, 63, 94, 0.5);
}

.navbar-search-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

#catalog-search {
    scroll-margin-top: 6rem;
}

@media (max-width: 767.98px) {
    body.site-body {
        padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)) !important;
    }
    .site-footer {
        padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0)) !important;
    }
    .page-shell {
        padding-top: 4.8rem !important;
        padding-bottom: 2.5rem !important;
    }
    .page-hero {
        padding: 0.5rem 0 0.75rem !important;
    }
    .page-hero__title {
        font-size: clamp(1.5rem, 6.5vw, 2.2rem) !important;
        margin-bottom: 0.5rem !important;
    }
    .page-hero__description {
        font-size: 0.88rem !important;
        margin-bottom: 0 !important;
    }
    .browse-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }
}

/* =====================================================
   ADULT HOME PAGE UI — /adult
   ===================================================== */

.page-shell--adult {
    padding-top: 5rem;
    padding-bottom: 4rem;
}

body[data-adult-page="true"].modal-open .site-main,
body[data-adult-page="true"].modal-open .site-footer {
    filter: blur(18px);
    pointer-events: none;
    user-select: none;
}

/* Age warning banner */
.adult-age-banner {
    width: 100%;
    background: linear-gradient(90deg, rgba(127, 29, 29, 0.55) 0%, rgba(159, 18, 57, 0.55) 40%, rgba(91, 33, 182, 0.5) 100%);
    border-bottom: 1px solid rgba(248, 113, 113, 0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.adult-age-banner__inner {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0.85rem var(--layout-gutter, 1.5rem);
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    color: #fff;
    font-size: 0.9rem;
}
.adult-age-banner__shield {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.08);
    color: #fecaca;
    border-radius: 10px;
    font-size: 1.05rem;
    border: 1px solid rgba(252, 165, 165, 0.35);
}
.adult-age-banner__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1 1 300px;
    min-width: 240px;
}
.adult-age-banner__text strong {
    color: #fff;
    letter-spacing: 0.2px;
}
.adult-age-banner__text span {
    color: rgba(254, 226, 226, 0.85);
    font-size: 0.8rem;
    line-height: 1.35;
}
.adult-age-banner__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.adult-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.8rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.2px;
}
.adult-chip--danger {
    background: rgba(239, 68, 68, 0.22);
    color: #fecaca;
    border: 1px solid rgba(239, 68, 68, 0.5);
}
.adult-chip--glass {
    background: rgba(255, 255, 255, 0.07);
    color: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

/* Adult cinematic hero */
.adult-hero {
    position: relative;
    width: 100%;
    min-height: min(82vh, 720px);
    margin-top: 1.25rem;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
}
.adult-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: 0 0 32px 32px;
}
.adult-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 18%;
    transform: scale(1.02);
    filter: saturate(1.08) contrast(1.02);
}
.adult-hero__bg--fallback {
    background:
        radial-gradient(1000px 520px at 18% 15%, rgba(236, 72, 153, 0.65), transparent 60%),
        radial-gradient(900px 600px at 88% 10%, rgba(34, 211, 238, 0.28), transparent 55%),
        radial-gradient(1000px 560px at 50% 110%, rgba(91, 33, 182, 0.75), transparent 60%),
        linear-gradient(160deg, #0f0017 0%, #1a0029 40%, #2a0035 100%);
}
.adult-hero__overlay--v {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(7, 2, 14, 0.55) 0%,
        rgba(7, 2, 14, 0.25) 28%,
        rgba(7, 2, 14, 0.18) 52%,
        rgba(7, 2, 14, 0.78) 82%,
        rgba(7, 2, 14, 0.97) 100%);
}
.adult-hero__overlay--h {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(7, 2, 14, 0.92) 0%,
        rgba(7, 2, 14, 0.78) 18%,
        rgba(7, 2, 14, 0.38) 42%,
        rgba(7, 2, 14, 0.06) 68%,
        rgba(7, 2, 14, 0) 100%);
}
.adult-hero__grain {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
    background-size: 3px 3px;
    mix-blend-mode: overlay;
    opacity: 0.55;
    pointer-events: none;
}

.adult-hero__container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
    padding: 4rem var(--layout-gutter, 1.5rem) 3.2rem;
    color: #fff;
}
.adult-hero__kicker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.1rem;
    flex-wrap: wrap;
}
.adult-badge-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.38rem 0.85rem;
    border-radius: 9999px;
    font-size: 0.72rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
}
.adult-badge-pill--sm {
    padding: 0.3rem 0.72rem;
    font-size: 0.68rem;
}
.adult-badge-pill--live .adult-badge-pill__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.22);
    animation: adult-live-dot 1.6s infinite;
}
@keyframes adult-live-dot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.45); }
    50%      { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
}
.adult-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #f9a8d4;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.adult-hero__eyebrow i { color: #fb7185; }

.adult-hero__title {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 0 0 1rem;
    line-height: 1;
}
.adult-hero__title-18 {
    display: inline-block;
    padding: 0.3rem 0.9rem 0.35rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #be123c 0%, #7c3aed 100%);
    color: white;
    font-weight: 900;
    font-size: clamp(2.2rem, 5.2vw, 3.6rem);
    letter-spacing: 0.02em;
    box-shadow:
        0 12px 30px rgba(190, 18, 60, 0.38),
        inset 0 0 0 1px rgba(255, 255, 255, 0.22);
}
.adult-hero__title-rest {
    font-size: clamp(1.8rem, 5vw, 3.4rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.02em;
    background: linear-gradient(100deg, #fff 0%, #fce7f3 38%, #93c5fd 78%, #fda4af 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 6px 20px rgba(236, 72, 153, 0.15));
}

.adult-hero__synopsis {
    max-width: 720px;
    color: rgba(254, 240, 248, 0.86);
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    margin: 0 0 1.75rem;
}

.adult-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
    max-width: 720px;
    margin-bottom: 1.75rem;
}
.adult-stat-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 16px;
    padding: 0.9rem 1rem 0.95rem;
    position: relative;
    overflow: hidden;
}
.adult-stat-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(236, 72, 153, 0.5), rgba(91, 33, 182, 0.45), rgba(59, 130, 246, 0.25));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
    pointer-events: none;
    opacity: 0.85;
}
.adult-stat-card__num {
    font-size: clamp(1.2rem, 2.2vw, 1.6rem);
    font-weight: 800;
    color: white;
    line-height: 1;
    margin-bottom: 0.35rem;
    letter-spacing: -0.01em;
}
.adult-stat-card__num small {
    font-size: 0.55em;
    margin-left: 2px;
    color: #fbcfe8;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.adult-stat-card__label {
    font-size: 0.72rem;
    color: rgba(254, 226, 242, 0.82);
    font-weight: 600;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.2rem;
}
.adult-stat-card__label i { color: #f9a8d4; }

.adult-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}
.adult-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 1.25rem;
    border-radius: 12px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
    user-select: none;
    border: 1px solid transparent;
}
.adult-btn:hover { transform: translateY(-2px); }
.adult-btn--play {
    background: linear-gradient(135deg, #ec4899 0%, #a855f7 50%, #2563eb 100%);
    color: white;
    box-shadow:
        0 10px 30px rgba(236, 72, 153, 0.35),
        inset 0 0 0 1px rgba(255, 255, 255, 0.22);
    padding-inline: 1.5rem;
}
.adult-btn--play:hover {
    box-shadow:
        0 16px 38px rgba(236, 72, 153, 0.5),
        inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}
.adult-btn--play i { font-size: 0.85em; }
.adult-btn--ghost {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(10px);
}
.adult-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.38);
}
.adult-btn--chip {
    background: rgba(255, 255, 255, 0.04);
    color: #fbcfe8;
    border: 1px dashed rgba(249, 168, 212, 0.45);
}
.adult-btn--chip:hover {
    background: rgba(249, 168, 212, 0.12);
    color: #fff;
    border-style: solid;
    border-color: rgba(249, 168, 212, 0.7);
}
.adult-btn--sm {
    padding: 0.55rem 0.95rem;
    font-size: 0.85rem;
    border-radius: 10px;
}

/* Adult quick-nav pills */
.adult-quick-nav {
    width: 100%;
    padding: 1.25rem 0 0.5rem;
}
.adult-quick-nav__inner {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 var(--layout-gutter, 1.5rem);
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}
.adult-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.95rem 0.65rem 0.6rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
    backdrop-filter: blur(8px);
}
.adult-pill:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.25);
    color: white;
    transform: translateY(-1px);
}
.adult-pill__dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06);
}
.adult-pill__dot--rose   { background: #fb7185; }
.adult-pill__dot--blue   { background: #60a5fa; }
.adult-pill__dot--green  { background: #34d399; }
.adult-pill__dot--amber  { background: #fbbf24; }
.adult-pill__dot--purple { background: #a78bfa; }
.adult-pill__dot--pink   { background: #f472b6; }
.adult-pill i { font-size: 0.65rem; color: rgba(255, 255, 255, 0.5); margin-left: 2px; }
.adult-pill:hover i { color: white; }

/* Adult library discovery */
.adult-discovery {
    width: calc(100% - (var(--layout-gutter, 1.5rem) * 2));
    max-width: 1480px;
    margin: 1.5rem auto 0;
    padding: 1.35rem;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 22px;
    background: radial-gradient(700px 220px at 0 0, rgba(236, 72, 153, 0.14), transparent 68%), rgba(255, 255, 255, 0.035);
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.22);
}
.adult-discovery__heading,
.adult-row-head__actions,
.adult-scroll-controls,
.adult-quick-links {
    display: flex;
    align-items: center;
}
.adult-discovery__heading { justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.adult-discovery__heading span { color: #f9a8d4; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.adult-discovery__heading h2 { margin: .2rem 0 0; color: #fff; font: 750 clamp(1.25rem, 2.5vw, 1.7rem)/1.15 'Outfit', sans-serif; }
.adult-discovery__heading > a { color: #d8b4fe; font-size: .82rem; font-weight: 650; text-decoration: none; }
.adult-search {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) minmax(150px, auto) auto;
    align-items: center;
    gap: .75rem;
    padding: .55rem .55rem .55rem 1rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 15px;
    background: rgba(4, 6, 12, .58);
}
.adult-search > i { color: #f472b6; }
.adult-search input,
.adult-search select { min-height: 42px; border: 0; outline: 0; background: transparent; color: #f8fafc; }
.adult-search input::placeholder { color: #7f8795; }
.adult-search select { padding: 0 .8rem; border-left: 1px solid rgba(255, 255, 255, .1); color-scheme: dark; }
.adult-search button {
    min-height: 44px;
    padding: 0 1.1rem;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #e11d48, #9333ea);
    color: #fff;
    font-size: .82rem;
    font-weight: 750;
}
.adult-category-list { display: flex; gap: .55rem; margin-top: 1rem; overflow-x: auto; scrollbar-width: none; }
.adult-category-list::-webkit-scrollbar { display: none; }
.adult-category-list a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .75rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
    color: #d6dbe4;
    font-size: .79rem;
    font-weight: 650;
    text-decoration: none;
}
.adult-category-list a:hover,
.adult-category-list a.is-active { border-color: rgba(244, 114, 182, .45); background: rgba(244, 114, 182, .11); color: #fff; }
.adult-category-list strong { color: #f9a8d4; font-size: .68rem; }
.adult-quick-links { gap: 1rem; margin-top: .9rem; }
.adult-quick-links a { color: #9ca6b6; font-size: .75rem; font-weight: 650; text-decoration: none; }
.adult-quick-links a:hover { color: #fff; }
.adult-quick-links i { margin-right: .3rem; color: #f472b6; }
.adult-row-head__actions { gap: .7rem; }
.adult-scroll-controls { gap: .35rem; }
.adult-scroll-controls button {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
    color: #e2e8f0;
}
.adult-scroll-controls button:hover:not(:disabled) { background: rgba(244, 114, 182, .16); border-color: rgba(244, 114, 182, .4); }
.adult-scroll-controls button:disabled { opacity: .32; cursor: default; }

/* Adult content sections with accent bars */
.adult-content-section {
    padding: 1.6rem 0 0.2rem;
    position: relative;
}
.adult-content-section--rose::before,
.adult-content-section--amber::before,
.adult-content-section--purple::before,
.adult-content-section--pink::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 180px;
    border-radius: 0 0 40% 40% / 0 0 100% 100%;
    pointer-events: none;
    z-index: 0;
    opacity: 0.55;
}
.adult-content-section--rose::before   { background: radial-gradient(60% 100% at 50% 0%, rgba(251, 113, 133, 0.22), transparent 70%); }
.adult-content-section--amber::before  { background: radial-gradient(60% 100% at 50% 0%, rgba(251, 191, 36, 0.22), transparent 70%); }
.adult-content-section--purple::before { background: radial-gradient(60% 100% at 50% 0%, rgba(167, 139, 250, 0.22), transparent 70%); }
.adult-content-section--pink::before   { background: radial-gradient(60% 100% at 50% 0%, rgba(244, 114, 182, 0.22), transparent 70%); }

.adult-row-head {
    position: relative;
    z-index: 1;
    width: calc(100% - (var(--layout-gutter) * 2));
    max-width: 1480px;
    margin: 0 auto 1rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.adult-row-head__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    color: rgba(226, 232, 240, 0.65);
    text-transform: uppercase;
    margin-bottom: 0.45rem;
}
.adult-accent-bar {
    display: inline-block;
    width: 38px;
    height: 4px;
    border-radius: 9999px;
}
.adult-accent-bar--rose   { background: linear-gradient(90deg, #fb7185, #ec4899, #a855f7); }
.adult-accent-bar--amber  { background: linear-gradient(90deg, #f59e0b, #ef4444); }
.adult-accent-bar--purple { background: linear-gradient(90deg, #8b5cf6, #2563eb, #22d3ee); }
.adult-accent-bar--pink   { background: linear-gradient(90deg, #f472b6, #be185d, #f59e0b); }
.adult-row-head__title {
    margin: 0;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 800;
    color: #f8fafc;
    letter-spacing: -0.01em;
    font-family: 'Outfit', system-ui, sans-serif;
}
.adult-view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: #f9a8d4;
    text-decoration: none;
    padding: 0.55rem 0.95rem;
    border-radius: 9999px;
    border: 1px solid rgba(249, 168, 212, 0.35);
    background: rgba(249, 168, 212, 0.08);
    transition: all 0.2s ease;
}
.adult-view-all:hover {
    background: rgba(249, 168, 212, 0.18);
    color: #fff;
    transform: translateX(2px);
    border-color: rgba(249, 168, 212, 0.7);
}
.adult-view-all i { font-size: 0.72rem; transition: transform 0.2s ease; }
.adult-view-all:hover i { transform: translateX(3px); }

.adult-row.scroll-container {
    grid-auto-columns: minmax(220px, 230px);
    padding-top: 0.15rem;
}

/* Adult disclaimer footer strip */
.adult-disclaimer {
    max-width: 1480px;
    margin: 3.5rem auto 0;
    padding: 1.6rem 1.8rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.2rem;
    align-items: center;
    border-radius: 20px;
    background:
        radial-gradient(800px 200px at 0% 0%, rgba(251, 113, 133, 0.18), transparent 70%),
        radial-gradient(800px 220px at 100% 100%, rgba(91, 33, 182, 0.22), transparent 70%),
        rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: #fff;
}
.adult-disclaimer__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    font-size: 1.25rem;
    color: #fca5a5;
    background: rgba(252, 165, 165, 0.12);
    border: 1px solid rgba(252, 165, 165, 0.35);
}
.adult-disclaimer__copy h4 {
    margin: 0 0 0.35rem;
    font-size: 0.98rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.adult-disclaimer__copy p {
    margin: 0;
    color: rgba(254, 226, 226, 0.82);
    font-size: 0.84rem;
    line-height: 1.55;
}

/* =====================================================
   ADULT PAGE — RESPONSIVE BREAKPOINTS
   ===================================================== */

/* Tablet 991px */
@media (max-width: 991px) {
    .adult-hero { min-height: min(76vh, 640px); }
    .adult-hero__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; }
    .adult-disclaimer {
        grid-template-columns: auto 1fr;
        padding: 1.4rem;
    }
    .adult-disclaimer__cta { grid-column: 2; }
}

/* Phone 576px */
@media (max-width: 576px) {
    .page-shell--adult { padding-top: 4.2rem; }
    .adult-age-banner__inner { padding: 0.85rem 1rem; gap: 0.7rem; }
    .adult-age-banner__shield { width: 34px; height: 34px; flex-basis: 34px; }
    .adult-age-banner__tags { width: 100%; justify-content: flex-start; }

    .adult-hero {
        min-height: 76vh;
        margin-top: 0.6rem;
    }
    .adult-hero__bg { border-radius: 0 0 20px 20px; }
    .adult-hero__container {
        padding: 3.25rem 1rem 2rem;
    }
    .adult-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.6rem;
        max-width: 100%;
    }
    .adult-stat-card { padding: 0.8rem 0.85rem 0.85rem; border-radius: 14px; }
    .adult-stat-card__num { font-size: 1.25rem; }

    .adult-hero__actions { gap: 0.55rem; }
    .adult-btn { padding: 0.75rem 1rem; font-size: 0.88rem; }
    .adult-btn--play { width: 100%; justify-content: center; padding-inline: 1rem; }
    .adult-btn--ghost,
    .adult-btn--chip { flex: 1 1 calc(50% - 0.3rem); justify-content: center; min-width: 0; white-space: normal; }

    .adult-quick-nav { padding-top: 1rem; }
    .adult-quick-nav__inner {
        padding: 0 1rem;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        padding-bottom: 0.5rem;
    }
    .adult-quick-nav__inner::-webkit-scrollbar { display: none; }
    .adult-pill {
        flex: 0 0 auto;
        padding: 0.55rem 0.85rem 0.55rem 0.55rem;
        font-size: 0.8rem;
    }

    .adult-discovery { width: calc(100% - 2rem); margin-top: 1rem; padding: 1rem; border-radius: 17px; }
    .adult-discovery__heading { align-items: flex-end; }
    .adult-discovery__heading > a { white-space: nowrap; }
    .adult-search { grid-template-columns: auto 1fr; gap: .35rem .65rem; padding: .7rem; }
    .adult-search select { grid-column: 1 / -1; border: 1px solid rgba(255, 255, 255, .1); border-radius: 9px; padding: 0 .7rem; }
    .adult-search button { grid-column: 1 / -1; }
    .adult-quick-links { gap: .75rem; overflow-x: auto; white-space: nowrap; }

    .adult-row-head {
        width: calc(100% - 2rem);
        margin-bottom: 0.85rem;
    }
    .adult-row-head__title { font-size: 1.25rem; }
    .adult-view-all { padding: 0.5rem 0.8rem; font-size: 0.8rem; }
    .adult-scroll-controls { display: none; }

    .adult-row.scroll-container { grid-auto-columns: minmax(160px, 160px); gap: 0.85rem; padding-bottom: 1rem; }

    .adult-disclaimer {
        margin-top: 2.4rem;
        grid-template-columns: 1fr;
        padding: 1.25rem 1.1rem;
        gap: 0.9rem;
    }
    .adult-disclaimer__icon { width: 46px; height: 46px; font-size: 1.05rem; }
    .adult-disclaimer__cta { grid-column: 1; }
    .adult-disclaimer__cta .adult-btn { width: 100%; justify-content: center; }
}

/* Tiny phones 400px */
@media (max-width: 399px) {
    .adult-hero__title { gap: 0.7rem; }
    .adult-hero__title-18 { font-size: 2rem; padding: 0.25rem 0.75rem; }
    .adult-hero__title-rest { font-size: 1.7rem; }
    .adult-hero__synopsis { font-size: 0.88rem; line-height: 1.55; }
    .adult-badge-pill { font-size: 0.62rem; padding: 0.28rem 0.65rem; }
    .adult-hero__eyebrow { font-size: 0.72rem; }
}

/* Touch devices: disable hover translate on adult pills/buttons/cards */
@media (hover: none) and (pointer: coarse) {
    .adult-pill:hover,
    .adult-btn:hover,
    .adult-view-all:hover {
        transform: none !important;
    }
    .adult-pill:active,
    .adult-btn:active,
    .adult-view-all:active {
        transform: scale(0.98) !important;
    }
}

/* ============================================================
   GLOBAL UI REPAIRS (hero, cards, layout fixes)
   ============================================================ */

/* Hero button contrast & visibility */
.hero-slider .btn-light,
.hero-slider .btn-hero-primary {
    background: var(--primary);
    background: linear-gradient(135deg, #ff2e4d 0%, #ff4d63 60%, #d91a3a 100%);
    color: #fff !important;
    border: 1px solid rgba(255, 46, 77, 0.35);
    box-shadow: 0 14px 28px -10px rgba(255, 46, 77, 0.6),
                inset 0 1px 0 rgba(255, 255, 255, 0.12);
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
}
.hero-slider .btn-light:hover,
.hero-slider .btn-light:focus,
.hero-slider .btn-hero-primary:hover,
.hero-slider .btn-hero-primary:focus {
    color: #fff !important;
    background: linear-gradient(135deg, #ff4d63 0%, #ff6378 60%, #f22546 100%);
    border-color: rgba(255, 109, 130, 0.5);
    box-shadow: 0 18px 32px -10px rgba(255, 46, 77, 0.72);
    transform: translateY(-2px);
}

.hero-slider .btn-dark,
.hero-slider .btn-hero-secondary {
    background: rgba(10, 13, 21, 0.55);
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.hero-slider .btn-dark:hover,
.hero-slider .btn-dark:focus,
.hero-slider .btn-hero-secondary:hover,
.hero-slider .btn-hero-secondary:focus {
    background: rgba(20, 25, 40, 0.72);
    border-color: rgba(255, 255, 255, 0.22);
    color: #fff !important;
    transform: translateY(-2px);
}

/* Hero text & pill white-on-dark enforce */
.hero-title,
.hero-desc,
.hero-eyebrow,
.hero-meta__pill {
    color: #fff !important;
}
.hero-meta__pill {
    background: rgba(12, 16, 28, 0.62) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #f8fafc !important;
}

/* Card overlap / stacked hero fix: ensure site-main flows after hero */
.hero-slider {
    margin-bottom: 1rem !important;
    isolation: isolate;
}
.hero-slider .hero-overlay {
    isolation: isolate;
}
.hero-slider .hero-content {
    position: relative;
    z-index: 2;
}

/* Content cards never overlap hero (isolation + containment) */
.site-main > section,
.site-main > * {
    position: relative;
    z-index: 1;
}
.content-section,
.home-sidebar {
    background: transparent;
}

/* Mobile hero layout repairs */
@media (max-width: 991.98px) {
    .hero-content {
        padding-bottom: 4.5rem !important;
        width: min(100%, 720px) !important;
    }
    .hero-title {
        font-size: clamp(2.1rem, 8.5vw, 3.2rem) !important;
    }
    .hero-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 0.7rem !important;
    }
    .hero-actions .btn-hero-primary,
    .hero-actions .btn-light {
        width: 100% !important;
        grid-column: 1 / -1;
    }
    .hero-actions .btn-dark,
    .hero-actions .btn-hero-secondary {
        width: 100% !important;
    }
    .hero-meta {
        gap: 0.4rem 0.5rem !important;
        margin-bottom: 1.1rem !important;
    }
    .hero-meta__pill {
        font-size: 0.72rem !important;
        padding: 0.38rem 0.62rem !important;
    }
}

@media (max-width: 575.98px) {
    .hero-slider,
    .hero-slider .carousel-item {
        height: min(82vh, 700px);
        min-height: 540px;
    }
    .hero-content {
        padding-bottom: 4.2rem !important;
    }
    .hero-overlay {
        align-items: flex-end !important;
        background:
            linear-gradient(180deg,
                rgba(7, 9, 14, 0.18) 0%,
                rgba(7, 9, 14, 0.10) 28%,
                rgba(7, 9, 14, 0.38) 58%,
                rgba(7, 9, 14, 0.97) 100%),
            linear-gradient(90deg,
                rgba(7, 9, 14, 0.82) 0%,
                rgba(7, 9, 14, 0.55) 30%,
                rgba(7, 9, 14, 0.16) 72%,
                rgba(7, 9, 14, 0.04) 100%) !important;
    }
    .hero-desc {
        color: rgba(226, 232, 240, 0.92) !important;
        font-size: 0.9rem !important;
    }
}

/* Ensure cards use deterministic fallback & layout, no overlaps */
.scroll-container .card-wrapper {
    position: relative;
    z-index: 1;
}

/* Prevent poster-image from breaking out of card bounds */
.content-card,
.content-card__media {
    position: relative;
    overflow: hidden !important;
    contain: layout paint;
}

/* Enforce .btn / .btn-light / .btn-dark text color across all pages */
.btn {
    --bs-btn-disabled-opacity: 0.55;
}
.btn-light {
    color: #0b0f19 !important;
    background-color: #fff;
    border-color: #f1f5f9;
}
.btn-light:hover {
    color: #0b0f19 !important;
    background-color: #eef2ff;
    border-color: #e2e8f0;
}
.btn-dark {
    color: #fff !important;
    background-color: #111827;
    border-color: #1f2937;
}
.btn-dark:hover {
    color: #fff !important;
    background-color: #1f2937;
    border-color: #374151;
}
.btn-primary {
    color: #fff !important;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover {
    color: #fff !important;
    background-color: #e11d38;
    border-color: #e11d38;
}

/* ==========================================================================
   HOMEPAGE PREMIUM STREAMING UI SYSTEM ENHANCEMENTS
   ========================================================================== */

/* 1. Quick Category Navigation Bar */
.home-quick-bar {
    position: relative;
    z-index: 5;
    margin-top: -1.5rem;
    margin-bottom: 2rem;
}

.home-quick-bar__inner {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
    background: rgba(13, 18, 29, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    overflow-x: auto;
    scrollbar-width: none;
}

.home-quick-bar__inner::-webkit-scrollbar {
    display: none;
}

.quick-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    font-size: 0.88rem;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.quick-pill:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    transform: translateY(-2px);
}

.quick-pill.active {
    background: linear-gradient(135deg, #ff2e4d 0%, #ff526d 100%);
    border-color: rgba(255, 46, 77, 0.4);
    color: #fff;
    box-shadow: 0 8px 20px -4px rgba(255, 46, 77, 0.5);
}

.quick-pill--adult {
    color: #f43f5e;
    border-color: rgba(244, 63, 94, 0.2);
}

.quick-pill--adult:hover {
    background: rgba(244, 63, 94, 0.15);
    color: #fff;
}

/* 2. Content Row Controls & Layout */
.content-section {
    position: relative;
    padding: 1.5rem 0;
    margin-bottom: 0.5rem;
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem;
    padding: 0 var(--layout-gutter, 1.5rem);
}

.section-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.section-title-accent {
    width: 4px;
    height: 22px;
    background: linear-gradient(180deg, #ff2e4d 0%, #ff526d 100%);
    border-radius: 99px;
    box-shadow: 0 0 12px rgba(255, 46, 77, 0.6);
}

.section-title {
    margin: 0;
    font-size: 1.45rem;
    font-weight: 700;
    font-family: 'Outfit', sans-serif;
    color: #f8fafc;
    letter-spacing: -0.02em;
}

.section-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.view-all {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.view-all:hover {
    color: var(--primary);
    transform: translateX(3px);
}

.row-controls {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.row-scroll-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    font-size: 0.85rem;
    cursor: pointer;
    backdrop-filter: blur(10px);
    transition: all 0.25s ease;
}

.row-scroll-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 0 15px rgba(255, 46, 77, 0.4);
    transform: scale(1.08);
}

.row-scroll-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
}

/* Content Row Scroll Container */
.scroll-container-wrapper {
    position: relative;
}

.scroll-container {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 0.5rem var(--layout-gutter, 1.5rem) 1.5rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

.scroll-container::-webkit-scrollbar {
    height: 6px;
}
.scroll-container::-webkit-scrollbar-track {
    background: transparent;
}
.scroll-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 99px;
}
.scroll-container::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

.scroll-container .card-wrapper {
    flex: 0 0 auto;
    width: clamp(160px, 16vw, 210px);
    scroll-snap-align: start;
}

.scroll-container .card-wrapper.live-wrapper {
    width: clamp(230px, 22vw, 280px);
}

/* 3. Content Card Design */
.content-card {
    position: relative;
    border-radius: var(--radius-md, 14px);
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.07);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.content-card-link:hover .content-card {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.7), 0 0 25px rgba(255, 46, 77, 0.2);
}

.content-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    overflow: hidden;
    background: #0f172a;
}

.live-card__media {
    aspect-ratio: 16 / 9;
}

.content-card__media.live-card__media img.live-card__image {
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    padding: clamp(0.75rem, 6%, 1.25rem);
    background: #080b11;
}

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), filter 0.3s ease;
}

.content-card-link:hover .card-img {
    transform: scale(1.08);
    filter: brightness(0.9);
}

.content-card__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(7, 9, 14, 0.95) 100%);
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

.content-card-link:hover .content-card__shade {
    opacity: 0.85;
}

.content-card__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.7);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff2e4d 0%, #ff526d 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    box-shadow: 0 10px 25px rgba(255, 46, 77, 0.6);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 3;
    padding-left: 3px;
}

.content-card-link:hover .content-card__play {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.content-card__body {
    padding: 0.85rem 0.9rem;
    background: rgba(13, 18, 29, 0.8);
    backdrop-filter: blur(10px);
}

.card-title {
    margin: 0 0 0.35rem;
    font-size: 0.92rem;
    font-weight: 600;
    color: #f1f5f9;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.content-card-link:hover .card-title {
    color: #fff;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.76rem;
    color: #94a3b8;
}

.badge-quality {
    display: inline-block;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #e2e8f0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.adult-badge-overlay {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
    background: rgba(225, 29, 72, 0.85);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 800;
    backdrop-filter: blur(8px);
    z-index: 2;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.4);
}

.blur-adult-thumb {
    filter: blur(14px) scale(1.1);
    transition: filter 0.4s ease, transform 0.4s ease;
}

.content-card-link:hover .blur-adult-thumb {
    filter: blur(6px) scale(1.15);
}

/* Live TV Pulse Indicator */
.live-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    right: auto;
    width: auto;
    max-width: calc(100% - 20px);
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.65rem;
    border-radius: 99px;
    background: rgba(225, 29, 72, 0.9);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    backdrop-filter: blur(8px);
    z-index: 2;
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.5);
}

.pulse-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
    animation: livePulse 1.6s infinite;
}

@keyframes livePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
    }
    70% {
        box-shadow: 0 0 0 8px rgba(255, 255, 255, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
    }
}

/* 4. A-Z Quick Filter Strip */
.home-az-strip {
    position: relative;
    padding: 1.25rem 1.5rem;
    background: rgba(13, 18, 29, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg, 20px);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
    margin-bottom: 2.5rem;
}

.az-strip-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.az-strip-title {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: 'Outfit', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.az-strip-title i {
    color: var(--primary);
}

.az-char-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: center;
}

.az-char-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #cbd5e1;
    font-size: 0.84rem;
    font-weight: 600;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.az-char-btn:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    transform: scale(1.15);
    box-shadow: 0 4px 15px rgba(255, 46, 77, 0.4);
}

/* 5. Platform Stats Banner */
.home-stats-banner {
    position: relative;
    padding: 2.5rem var(--layout-gutter, 1.5rem);
    margin: 3rem 0 1rem;
    background: radial-gradient(circle at 50% 0%, rgba(255, 46, 77, 0.15), transparent 70%),
                rgba(13, 18, 29, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-lg, 20px);
    backdrop-filter: blur(16px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.5rem;
    text-align: center;
}

.stat-item {
    padding: 1.25rem 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius-md, 14px);
    transition: all 0.3s ease;
}

.stat-item:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 46, 77, 0.3);
    transform: translateY(-4px);
}

.stat-icon {
    font-size: 1.75rem;
    color: var(--primary);
    margin-bottom: 0.6rem;
}

.stat-number {
    font-size: 1.85rem;
    font-weight: 800;
    font-family: 'Outfit', sans-serif;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 0.25rem;
}

.stat-label {
    font-size: 0.84rem;
    color: var(--text-muted);
    font-weight: 500;
}

/* Cinematic catalog landing headers — movies and series */
.catalog-page {
    padding-top: 5rem;
    background: #0c0f17;
}

.catalog-hero {
    position: relative;
    min-height: min(68vh, 650px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    background: #101522;
}

.catalog-hero__backdrop,
.catalog-hero__backdrop img,
.catalog-hero__wash {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.catalog-hero__backdrop img {
    object-fit: cover;
    object-position: center 28%;
    filter: saturate(.9) contrast(1.04);
}

.catalog-hero__wash {
    background:
        linear-gradient(90deg, rgba(5, 8, 16, .98) 0%, rgba(7, 11, 23, .86) 34%, rgba(7, 10, 20, .3) 72%, rgba(7, 10, 20, .48) 100%),
        linear-gradient(0deg, #0c0f17 0%, rgba(12, 15, 23, .74) 18%, transparent 62%);
}

.catalog-hero__content {
    position: relative;
    z-index: 2;
    width: min(1480px, calc(100% - (var(--layout-gutter, 1.5rem) * 2)));
    margin: 0 auto;
    padding: 5rem 0 4rem;
}

.catalog-hero__kicker {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    margin-bottom: 1rem;
    color: #c4b5fd;
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.catalog-hero__kicker > span:last-child {
    padding-left: .6rem;
    border-left: 1px solid rgba(255,255,255,.24);
    color: rgba(226,232,240,.68);
}

.catalog-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 5px rgba(52,211,153,.16);
}

.catalog-hero h1 {
    max-width: 850px;
    margin: 0 0 1rem;
    color: #fff;
    font: 850 clamp(2.6rem, 6vw, 5rem)/.98 'Outfit', 'Inter', sans-serif;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.catalog-hero__content > p {
    max-width: 720px;
    margin: 0 0 1.6rem;
    color: rgba(226,232,240,.82);
    font-size: clamp(.94rem, 1.4vw, 1.08rem);
    line-height: 1.65;
}

.catalog-hero__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 170px));
    gap: .7rem;
    margin-bottom: 1.55rem;
}

.catalog-hero__stats > span {
    display: flex;
    flex-direction: column;
    gap: .24rem;
    padding: .85rem .95rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(12,18,32,.46);
    backdrop-filter: blur(14px);
}

.catalog-hero__stats strong {
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
}

.catalog-hero__stats small {
    color: rgba(203,213,225,.7);
    font-size: .68rem;
    font-weight: 600;
}

.catalog-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.catalog-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .82rem 1.18rem;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #fff;
    font-size: .9rem;
    font-weight: 750;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.catalog-btn:hover { color: #fff; transform: translateY(-2px); }
.catalog-btn--primary {
    background: linear-gradient(135deg, #2563eb, #7c3aed 58%, #db2777);
    box-shadow: 0 12px 28px rgba(79,70,229,.35);
}
.catalog-btn--glass { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); backdrop-filter: blur(10px); }
.catalog-btn--glass:hover { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.14); }

.catalog-quick-nav {
    position: relative;
    z-index: 3;
    width: min(1480px, calc(100% - (var(--layout-gutter, 1.5rem) * 2)));
    margin: -1.2rem auto 0;
    padding: .85rem;
    display: flex;
    gap: .55rem;
    overflow-x: auto;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(16,21,34,.86);
    box-shadow: 0 18px 44px rgba(0,0,0,.35);
    backdrop-filter: blur(18px);
    scrollbar-width: none;
}
.catalog-quick-nav::-webkit-scrollbar { display: none; }
.catalog-quick-nav a {
    flex: 0 0 auto;
    padding: .58rem .86rem;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    color: #cbd5e1;
    font-size: .8rem;
    font-weight: 650;
    text-decoration: none;
}
.catalog-quick-nav a:hover,
.catalog-quick-nav a.is-active { border-color: rgba(129,140,248,.58); background: rgba(99,102,241,.22); color: #fff; }

.catalog-browse { padding-top: 2.4rem; }
.catalog-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.1rem;
}
.catalog-section-head span { color: #818cf8; font-size: .7rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.catalog-section-head h2 { margin: .25rem 0 0; color: #f8fafc; font: 800 clamp(1.45rem, 2.5vw, 2rem)/1.1 'Outfit', sans-serif; }
.catalog-section-head p { max-width: 440px; margin: 0; color: #94a3b8; font-size: .82rem; text-align: right; }
.catalog-page .browse-toolbar { border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(20,25,38,.9); box-shadow: 0 14px 38px rgba(0,0,0,.18); }

@media (max-width: 767.98px) {
    .catalog-page { padding-top: 4.2rem !important; }
    .catalog-hero { min-height: 640px; align-items: flex-end; }
    .catalog-hero__backdrop img { object-position: 62% center; }
    .catalog-hero__wash {
        background: linear-gradient(0deg, #0c0f17 0%, rgba(8,11,20,.9) 40%, rgba(8,11,20,.2) 80%), linear-gradient(90deg, rgba(8,11,20,.62), transparent);
    }
    .catalog-hero__content { width: calc(100% - 2rem); padding: 5rem 0 2.8rem; }
    .catalog-hero h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
    .catalog-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-btn--primary { flex: 1 1 100%; }
    .catalog-btn--glass { flex: 1 1 auto; }
    .catalog-quick-nav { width: calc(100% - 1.25rem); margin-top: -.8rem; padding: .65rem; border-radius: 14px; }
    .catalog-browse { padding-top: 1.8rem; }
    .catalog-section-head { align-items: flex-start; flex-direction: column; }
    .catalog-section-head p { text-align: left; }
}

/* ================================================================
   PUBLIC UI POLISH — unified surfaces, motion, accessibility
   ================================================================ */
:root {
    --ui-bg: #07090e;
    --ui-surface: #0d111a;
    --ui-surface-raised: #131925;
    --ui-line: rgba(255, 255, 255, .09);
    --ui-line-strong: rgba(255, 255, 255, .16);
    --ui-copy: #aab3c2;
    --ui-brand: #ff304f;
    --ui-brand-strong: #e5092f;
    --ui-violet: #7c6cff;
    --ui-radius: 16px;
    --ui-shadow: 0 24px 70px rgba(0, 0, 0, .42);
}

html { background: var(--ui-bg); scroll-padding-top: 84px; }
body.site-body {
    background: var(--ui-bg);
    color: #f8fafc;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    text-rendering: optimizeLegibility;
}
.site-main { min-height: 76vh; }
.site-ambient { position: fixed; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.site-ambient span { position: absolute; width: 32rem; aspect-ratio: 1; border-radius: 50%; filter: blur(120px); opacity: .055; }
.site-ambient span:first-child { top: -18rem; left: -12rem; background: var(--ui-brand); }
.site-ambient span:last-child { right: -18rem; bottom: -20rem; background: var(--ui-violet); }
.skip-link { position: fixed; z-index: 9999; top: .75rem; left: .75rem; padding: .7rem 1rem; border-radius: 9px; background: #fff; color: #05070b; font-weight: 750; transform: translateY(-160%); transition: transform .2s ease; }
.skip-link:focus { transform: none; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; box-shadow: 0 0 0 5px rgba(255, 48, 79, .3) !important; }
::selection { background: rgba(255, 48, 79, .78); color: #fff; }

/* Shared navigation */
.site-navbar { min-height: 74px; padding: .7rem 0; border-bottom: 1px solid transparent; transition: min-height .25s ease, padding .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.site-navbar::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(3, 5, 9, .9), rgba(3, 5, 9, .48), transparent); }
.site-navbar.scrolled { min-height: 66px; border-bottom-color: var(--ui-line); background: rgba(7, 9, 14, .86); box-shadow: 0 12px 34px rgba(0, 0, 0, .24); backdrop-filter: blur(18px) saturate(140%); }
.site-wordmark { font-family: 'Outfit', sans-serif; font-size: 1.8rem; font-weight: 800; letter-spacing: -.07em; }
.site-wordmark__nur { color: #fff; }
.site-wordmark__flix { color: var(--ui-brand); }
.site-navbar .nav-link { position: relative; padding: .58rem .78rem !important; color: #aeb6c4 !important; font-size: .82rem; font-weight: 650; }
.site-navbar .nav-link::after { content: ""; position: absolute; right: .78rem; bottom: .27rem; left: .78rem; height: 2px; border-radius: 2px; background: var(--ui-brand); transform: scaleX(0); transition: transform .2s ease; }
.site-navbar .nav-link:hover { color: #fff !important; }
.site-navbar .nav-link.active::after { transform: scaleX(1); }
.site-navbar .nav-link--adult { color: #ff9aaa !important; }
.navbar-desktop-search { border-color: var(--ui-line); background: rgba(255, 255, 255, .055); }
.navbar-desktop-search:hover { border-color: var(--ui-brand); background: var(--ui-brand); box-shadow: 0 10px 24px rgba(255, 48, 79, .25); }

/* Catalog cohesion */
.catalog-page, .page-shell, .browse-section { background: var(--ui-bg); }
.catalog-hero__wash { background: linear-gradient(90deg, rgba(7,9,14,.98), rgba(7,9,14,.82) 42%, rgba(7,9,14,.22) 78%), linear-gradient(0deg, var(--ui-bg), transparent 58%); }
.catalog-live-dot { background: var(--ui-brand); box-shadow: 0 0 0 5px rgba(255,48,79,.14), 0 0 24px rgba(255,48,79,.42); }
.catalog-hero__kicker, .catalog-section-head span { color: #ff6f86; }
.catalog-btn--primary { background: linear-gradient(135deg, var(--ui-brand), #d91c63); box-shadow: 0 14px 30px rgba(229,9,47,.27); }
.catalog-btn--primary:hover { box-shadow: 0 18px 38px rgba(229,9,47,.36); }
.catalog-quick-nav { border-color: var(--ui-line); background: rgba(13,17,26,.82); box-shadow: var(--ui-shadow); }
.catalog-quick-nav a:hover, .catalog-quick-nav a.is-active { border-color: rgba(255,48,79,.5); background: rgba(255,48,79,.14); }
.catalog-page .browse-toolbar, .live-page .browse-toolbar { border: 1px solid var(--ui-line); border-radius: 15px; background: rgba(13,17,26,.82); box-shadow: 0 18px 50px rgba(0,0,0,.2); backdrop-filter: blur(16px); }
.catalog-page .browse-toolbar { position: relative; z-index: 40; overflow: visible !important; }
.catalog-page .browse-grid { position: relative; z-index: 1; }
.catalog-page .catalog-filter-bar { position: relative; z-index: 41; overflow: visible; }
.filter-chip { min-height: 38px; display: inline-flex; align-items: center; border: 1px solid var(--ui-line); border-radius: 999px; background: rgba(255,255,255,.04); color: #bcc4d0; }
.filter-chip:hover, .filter-chip.is-active { border-color: rgba(255,48,79,.5); background: rgba(255,48,79,.16); color: #fff; }

/* Cards and content rails */
.section-title, .homepage-v2 .section-title { font-family: 'Outfit', sans-serif; font-weight: 700; }
.section-title-accent, .homepage-v2 .section-title-accent { display: block; background: linear-gradient(180deg, var(--ui-brand), #ff7890); }
.content-card { border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: var(--ui-surface); box-shadow: 0 10px 26px rgba(0,0,0,.22); }
.content-card__media { border-radius: 9px 9px 0 0; }
.content-card__body { border-radius: 0 0 9px 9px; background: linear-gradient(180deg, #121722, #0e131c); }
.content-card-link:hover .content-card { border-color: rgba(255,255,255,.16); box-shadow: 0 22px 48px rgba(0,0,0,.58); }
.content-card__play { border: 0; background: rgba(255,255,255,.96); box-shadow: 0 8px 28px rgba(0,0,0,.5); }
.card-title { letter-spacing: -.015em; }
.badge-quality { border-color: rgba(255,255,255,.18); border-radius: 4px; background: rgba(255,255,255,.045); }
.row-scroll-btn { border: 1px solid var(--ui-line); background: rgba(13,17,26,.85); }
.row-scroll-btn:hover { border-color: var(--ui-line-strong); background: #fff; color: #080a0f; }
.empty-state { border: 1px dashed var(--ui-line-strong); border-radius: var(--ui-radius); background: rgba(255,255,255,.025); }

/* Live TV landing */
.live-page { overflow: hidden; }
.live-hero { position: relative; min-height: min(70vh, 680px); padding: 10rem 0 5.5rem; display: flex; align-items: center; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 76% 44%, rgba(255,48,79,.16), transparent 28%), radial-gradient(circle at 70% 48%, rgba(124,108,255,.14), transparent 45%), linear-gradient(145deg,#07090e,#0b101a 65%,#07090e); }
.live-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg,transparent,#000 55%,transparent); }
.live-hero::after { content: ""; position: absolute; z-index: -1; inset: auto 0 0; height: 38%; background: linear-gradient(0deg,var(--ui-bg),transparent); }
.live-hero__inner { display: grid; grid-template-columns: minmax(0,680px) minmax(320px,1fr); align-items: center; gap: clamp(3rem,7vw,8rem); }
.live-hero__eyebrow { display: inline-flex; align-items: center; gap: .65rem; margin-bottom: 1.2rem; color: #ff8295; font-size: .72rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.live-hero__eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: var(--ui-brand); box-shadow: 0 0 0 6px rgba(255,48,79,.12); animation: liveHeroPulse 1.8s ease-out infinite; }
.live-hero h1 { margin: 0 0 1.3rem; color: #fff; font: 800 clamp(3.2rem,6.6vw,6.5rem)/.91 'Outfit',sans-serif; letter-spacing: -.06em; }
.live-hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.44); }
.live-hero__copy p { max-width: 620px; margin: 0 0 2rem; color: var(--ui-copy); font-size: 1.03rem; line-height: 1.72; }
.live-hero__button { min-height: 50px; padding: .8rem 1.25rem; display: inline-flex; align-items: center; gap: .7rem; border-radius: 11px; background: #fff; color: #080a0f; font-size: .88rem; font-weight: 750; box-shadow: 0 16px 34px rgba(0,0,0,.24); }
.live-hero__button:hover { color: #080a0f; transform: translateY(-2px); box-shadow: 0 20px 42px rgba(0,0,0,.35); }
.live-hero__signal { display: flex; flex-direction: column; align-items: center; gap: 2.2rem; }
.live-signal-ring { position: relative; width: clamp(160px,19vw,260px); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; background: radial-gradient(circle,rgba(255,48,79,.19),rgba(255,48,79,.04) 54%,transparent 55%); color: #fff; font-size: clamp(2rem,4vw,3.6rem); box-shadow: inset 0 0 60px rgba(255,48,79,.06); }
.live-signal-ring::before,.live-signal-ring::after { content:""; position:absolute; inset:-18%; border:1px solid rgba(255,48,79,.18); border-radius:50%; animation: signalRing 2.8s ease-out infinite; }
.live-signal-ring::after { inset:-38%; animation-delay:1.1s; }
.live-hero__metrics { width: min(100%,460px); display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border: 1px solid var(--ui-line); border-radius: 14px; background: rgba(10,14,22,.62); backdrop-filter: blur(14px); }
.live-hero__metrics span { padding: 1rem .7rem; display: flex; flex-direction: column; align-items: center; gap: .25rem; border-left: 1px solid var(--ui-line); color: #778195; font-size: .66rem; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.live-hero__metrics span:first-child { border-left: 0; }
.live-hero__metrics strong { color: #fff; font: 700 1.3rem/1 'Outfit',sans-serif; letter-spacing: 0; text-transform: none; }
.live-guide { position: relative; padding-top: 3rem; }
.live-guide__head { margin-bottom: 1.4rem; }
.browse-grid--live .content-card__media { aspect-ratio: 16/10; }
.browse-grid--live .live-card__image { object-fit: contain; padding: 1.2rem; background: radial-gradient(circle,rgba(255,255,255,.08),transparent 70%),#111722; }
@keyframes liveHeroPulse { 70% { box-shadow: 0 0 0 14px transparent; } }
@keyframes signalRing { 0% { opacity:.8; transform:scale(.72); } 100% { opacity:0; transform:scale(1.08); } }

/* Series details and episode guide */
.detail-hero--polished { position: relative; min-height: min(78vh,760px); padding: 9rem 0 5rem; display: flex; align-items: flex-end; isolation: isolate; background: var(--ui-bg); }
.detail-hero--polished::before { content:""; position:absolute; z-index:-2; inset:0; background-image: var(--detail-art); background-position:center 24%; background-size:cover; filter:saturate(.88) contrast(1.05); }
.detail-hero--polished::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(7,9,14,.98),rgba(7,9,14,.78) 43%,rgba(7,9,14,.15) 76%),linear-gradient(0deg,var(--ui-bg),transparent 55%); }
.detail-hero--polished .detail-hero__content { padding: 0; }
.detail-hero__title { max-width: 820px; margin-bottom: 1rem; font: 800 clamp(3rem,6.4vw,6rem)/.94 'Outfit',sans-serif; letter-spacing: -.055em; text-wrap: balance; }
.detail-hero__meta { flex-wrap: wrap; gap: .55rem; }
.detail-hero__meta > span:not(.badge-quality) { padding-right: .65rem; border-right: 1px solid rgba(255,255,255,.2); color: #d5d9e0; }
.detail-hero__description { max-width: 650px; color: #c1c7d0; line-height: 1.7; }
.detail-watch-btn { min-height: 50px; padding: .82rem 1.35rem; display: inline-flex; align-items: center; gap: .7rem; border-radius: 10px; background: #fff; color: #080a0f; font-size: .9rem; font-weight: 750; box-shadow: 0 14px 30px rgba(0,0,0,.3); }
.detail-watch-btn:hover { color:#080a0f; transform:translateY(-2px); background:#eceef2; }
.episodes-section { padding: 2.5rem 0 5rem; background: var(--ui-bg); }
.episodes-section__head { margin-bottom: 1.35rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.episodes-section__head span { color: #ff7187; font-size: .68rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.episodes-section__head h2 { margin: .3rem 0 0; font: 700 clamp(1.5rem,2.7vw,2.1rem)/1 'Outfit',sans-serif; }
.episodes-section__head p { margin: 0; color: #747f90; font-size: .78rem; }
.season-tabs { gap: .5rem; padding-bottom: 1.35rem; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.season-tabs::-webkit-scrollbar { display:none; }
.season-tabs .nav-link { white-space: nowrap; border: 1px solid var(--ui-line); border-radius: 999px; background: rgba(255,255,255,.035); color: #9ca6b5; }
.season-tabs .nav-link.active { border-color: rgba(255,48,79,.52); background: rgba(255,48,79,.15); color: #fff; box-shadow: none; }
.episode-list { gap: .65rem; }
.episode-item { grid-template-columns: minmax(180px,260px) 1fr auto; overflow: hidden; border: 1px solid var(--ui-line); border-radius: 13px; background: linear-gradient(100deg,rgba(19,25,37,.88),rgba(12,16,25,.72)); }
.episode-item:hover { border-color: var(--ui-line-strong); background: #151b27; transform: translateY(-2px); box-shadow: 0 15px 38px rgba(0,0,0,.24); }
.episode-item__media { position:relative; height:100%; min-height:126px; overflow:hidden; background:#0d1119; }
.episode-item__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(13,17,26,.28)); }
.episode-item__media > i { position:absolute; z-index:2; top:50%; left:50%; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.94); color:#0a0d13; opacity:0; transform:translate(-50%,-42%); transition:.2s ease; }
.episode-item:hover .episode-item__media > i { opacity:1; transform:translate(-50%,-50%); }
.episode-item__image { width:100%; height:100%; object-fit:cover; }
.episode-item__body { padding: 1rem .4rem; }
.episode-item__body h2 { font-size: .96rem; }

/* Support and legal */
.support-page,.legal-page { padding-bottom: 5rem; }
.support-page .page-hero--compact,.legal-page .page-hero--compact { position:relative; overflow:hidden; padding-bottom:3.5rem; background:radial-gradient(circle at 50% -20%,rgba(255,48,79,.16),transparent 45%),linear-gradient(180deg,#080b12,var(--ui-bg)); }
.support-layout { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.25fr); gap: 1.2rem; align-items: stretch; }
.support-aside,.support-form { border: 1px solid var(--ui-line); border-radius: 18px; background: linear-gradient(145deg,rgba(20,26,39,.92),rgba(10,14,22,.92)); box-shadow: var(--ui-shadow); }
.support-aside { padding: clamp(2rem,4vw,3.2rem); }
.support-aside__eyebrow,.support-form__head span { color:#ff7187; font-size:.68rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; }
.support-aside h2,.support-form__head h2 { margin:.55rem 0 1rem; font:700 clamp(1.8rem,3vw,2.55rem)/1.05 'Outfit',sans-serif; letter-spacing:-.035em; }
.support-aside>p { color:var(--ui-copy); line-height:1.7; }
.support-points { margin-top:2rem; display:grid; gap:.7rem; }
.support-points>span { padding:1rem; display:grid; grid-template-columns:42px 1fr; column-gap:.8rem; border:1px solid rgba(255,255,255,.07); border-radius:12px; background:rgba(255,255,255,.025); }
.support-points i { grid-row:1/3; width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:rgba(255,48,79,.12); color:#ff7187; }
.support-points strong { color:#fff; font-size:.84rem; }
.support-points small { color:#788396; font-size:.7rem; }
.support-form { height:100%; }
.support-form__head { margin-bottom:1.7rem; }
.support-form .form-label { color:#d7dce4; font-size:.78rem; font-weight:650; }
.support-form .form-control { min-height:52px; padding:.8rem .95rem; border:1px solid var(--ui-line) !important; border-radius:10px !important; background:rgba(4,7,12,.54) !important; color:#fff !important; }
.support-form textarea.form-control { min-height:150px; resize:vertical; }
.support-form .form-control:focus { border-color:rgba(255,48,79,.58) !important; box-shadow:0 0 0 4px rgba(255,48,79,.1) !important; }
.support-submit { min-height:52px; border:0; border-radius:10px; background:linear-gradient(135deg,var(--ui-brand),#d81d64); color:#fff; font-weight:750; box-shadow:0 14px 30px rgba(229,9,47,.22); }
.support-submit:hover { transform:translateY(-2px); box-shadow:0 18px 38px rgba(229,9,47,.32); }
.legal-page .premium-glass-card { max-width:960px; margin:0 auto; }
.legal-card { border:1px solid var(--ui-line); border-radius:18px; background:linear-gradient(145deg,rgba(19,25,37,.9),rgba(10,14,22,.94)); box-shadow:var(--ui-shadow); }
.legal-card__updated { display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .8rem; border:1px solid var(--ui-line); border-radius:999px; background:rgba(255,255,255,.035); color:#8e98a8; font-size:.72rem; }
.legal-card h4 { margin-top:2.1rem !important; font-family:'Outfit',sans-serif; font-size:1.2rem; }
.legal-card h4::before { content:""; display:inline-block; width:4px; height:17px; margin-right:.65rem; border-radius:4px; background:var(--ui-brand); vertical-align:-2px; }
.legal-card p { color:#99a3b2; line-height:1.78; }

/* Age gate */
.modal-backdrop.show { opacity:.82; backdrop-filter:blur(8px); }
.age-gate-dialog { max-width:470px; }
.age-gate-card { position:relative; padding:1.4rem; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:radial-gradient(circle at 100% 0,rgba(255,48,79,.17),transparent 38%),#0d121c; color:#fff; box-shadow:0 30px 90px rgba(0,0,0,.7); }
.age-gate-card__icon { width:58px; height:58px; margin-bottom:1.3rem; display:grid; place-items:center; border:1px solid rgba(255,48,79,.26); border-radius:16px; background:rgba(255,48,79,.11); color:#ff7187; font-size:1.35rem; }
.age-gate-card .modal-header,.age-gate-card .modal-body,.age-gate-card .modal-footer { padding:0; border:0; }
.age-gate-card__eyebrow { color:#ff7187; font-size:.66rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
.age-gate-card .modal-title { margin-top:.35rem; font:700 1.85rem/1 'Outfit',sans-serif; }
.age-gate-card .modal-body { margin:1rem 0 1.5rem; color:#9ca6b6; line-height:1.65; }
.age-gate-card .modal-body p { margin:0; }
.age-gate-card .modal-footer { display:grid; grid-template-columns:.8fr 1.4fr; gap:.65rem; }
.age-gate-btn { min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:10px; font-size:.78rem; font-weight:750; text-decoration:none; }
.age-gate-btn--muted { border:1px solid var(--ui-line); background:rgba(255,255,255,.04); color:#c5ccd7; }
.age-gate-btn--primary { border:0; background:var(--ui-brand); color:#fff; }

/* Footer and mobile dock */
.site-footer { position:relative; overflow:hidden; padding-top:4.5rem; border-top:1px solid var(--ui-line); background:#080a0f; }
.site-footer::before { content:""; position:absolute; top:-16rem; left:8%; width:34rem; aspect-ratio:1; border-radius:50%; background:var(--ui-brand); opacity:.035; filter:blur(100px); pointer-events:none; }
.site-footer__copy { max-width:510px; color:#778294; line-height:1.72; }
.site-footer__trust { display:flex; flex-wrap:wrap; gap:.55rem; }
.site-footer__trust span { padding:.5rem .7rem; display:inline-flex; align-items:center; gap:.45rem; border:1px solid var(--ui-line); border-radius:999px; color:#8d97a7; font-size:.7rem; }
.site-footer__trust i { color:#ff637b; }
.site-footer__developer { max-width:240px; margin-top:1.4rem; padding:.7rem; }
.site-footer__developer-logo { max-width:210px; }
.site-footer__heading { color:#e7eaf0; font-size:.75rem; letter-spacing:.13em; }
.site-footer__links a { padding:.32rem 0; display:inline-block; color:#7f8998; }
.site-footer__links a:hover { color:#fff; transform:translateX(3px); }
.site-footer__pill { border-color:var(--ui-line); border-radius:10px; background:rgba(255,255,255,.025); }
.site-footer__pill:hover { border-color:var(--ui-line-strong); background:rgba(255,255,255,.06); }
.site-footer__bottom { border-top-color:var(--ui-line); }
.mobile-bottom-nav { right:auto; left:50%; bottom:calc(.65rem + env(safe-area-inset-bottom,0)); width:min(calc(100% - 1rem),520px); height:auto; min-height:64px; padding:.3rem .35rem; border:1px solid rgba(255,255,255,.12); border-radius:17px; background:rgba(10,13,20,.9); box-shadow:0 16px 44px rgba(0,0,0,.55); backdrop-filter:blur(20px) saturate(140%); transform:translateX(-50%); }
.mobile-nav-item { border-radius:12px; color:#778193; }
.mobile-nav-item.active { background:rgba(255,255,255,.065); color:#fff; }
.mobile-nav-item.active .mobile-nav-icon { color:var(--ui-brand); }
.mobile-nav-label { font-size:.61rem; font-weight:650; }

@media (max-width:991.98px) {
    .site-navbar .navbar-collapse { border:1px solid var(--ui-line); border-radius:14px; background:rgba(10,13,20,.96); box-shadow:var(--ui-shadow); backdrop-filter:blur(18px); }
    .site-navbar .nav-link { padding:.75rem .8rem !important; border-radius:9px; }
    .site-navbar .nav-link.active { background:rgba(255,255,255,.055) !important; }
    .site-navbar .nav-link::after { display:none; }
    .live-hero__inner { grid-template-columns:1fr; }
    .live-hero__signal { display:none; }
    .support-layout { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
    body.site-body { padding-bottom:calc(82px + env(safe-area-inset-bottom,0)); }
    .site-wordmark { font-size:1.55rem; }
    .live-hero { min-height:620px; padding:8rem 0 4rem; align-items:flex-end; }
    .live-hero h1 { font-size:clamp(3rem,15vw,4.7rem); }
    .live-hero__copy p { font-size:.92rem; }
    .live-hero__button { width:100%; justify-content:center; }
    .live-guide { padding-top:2rem; }
    .catalog-section-head.live-guide__head { flex-direction:column; align-items:flex-start; }
    .episode-item { grid-template-columns:118px minmax(0,1fr); min-height:112px; }
    .episode-item__media { min-height:112px; }
    .episode-item__body { padding:.8rem .2rem .8rem .7rem; }
    .episode-item__body p,.episode-item__action { display:none; }
    .detail-hero--polished { min-height:660px; padding:8rem 0 3.5rem; }
    .detail-hero--polished::after { background:linear-gradient(0deg,var(--ui-bg),rgba(7,9,14,.86) 48%,rgba(7,9,14,.15)),linear-gradient(90deg,rgba(7,9,14,.66),transparent); }
    .detail-hero__title { font-size:clamp(2.7rem,13vw,4rem); }
    .detail-watch-btn { width:100%; justify-content:center; }
    .episodes-section__head { align-items:flex-start; flex-direction:column; }
    .support-page,.legal-page { padding-bottom:3rem; }
    .support-aside { padding:1.5rem; }
    .support-form .card-body { padding:1.5rem !important; }
    .age-gate-card .modal-footer { grid-template-columns:1fr; }
    .age-gate-btn--primary { grid-row:1; }
    .site-footer { padding-bottom:2rem; }
}
@media (max-width:420px) {
    .episode-item { grid-template-columns:98px minmax(0,1fr); }
    .episode-item__body h2 { font-size:.8rem; }
    .age-gate-card { margin:.6rem; padding:1.2rem; }
}
@media (hover:none) {
    .content-card-link:hover .content-card { transform:none; }
    .episode-item__media > i { display:none; }
}
@media (prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
}

/* ================================================================
   MOBILE EXPERIENCE — purpose-built touch layout
   ================================================================ */
@media (max-width: 767.98px) {
    :root { --layout-gutter: 1rem; --mobile-dock-height: 72px; }
    html { scroll-padding-top: 68px; overscroll-behavior-y: none; }
    body.site-body { padding-bottom: calc(var(--mobile-dock-height) + 1.2rem + env(safe-area-inset-bottom, 0)); }
    .site-container { width: 100%; padding-inline: 1rem; }

    /* Compact top bar; the dock owns primary navigation on phones. */
    .site-navbar { min-height: 62px; padding: .42rem 0; background: rgba(7,9,14,.8); backdrop-filter: blur(16px) saturate(135%); }
    .site-navbar::after { background: linear-gradient(180deg,rgba(4,6,10,.96),rgba(4,6,10,.62)); }
    .site-navbar.scrolled { min-height: 58px; padding: .32rem 0; }
    .site-navbar__toggler,.site-navbar .navbar-collapse { display: none !important; }
    .navbar-search-btn { width: 42px; height: 42px; display: grid !important; place-items: center; padding: 0; border: 1px solid var(--ui-line) !important; background: rgba(255,255,255,.055); }
    .site-brand { min-height: 44px; display: inline-flex; align-items: center; }

    /* Floating thumb dock */
    .mobile-bottom-nav { bottom: calc(.55rem + env(safe-area-inset-bottom,0)); min-height: var(--mobile-dock-height); padding: .32rem; border-radius: 19px; }
    .mobile-nav-item { min-width: 0; min-height: 60px; padding: .45rem .15rem .35rem; gap: .12rem; }
    .mobile-nav-icon { width: 34px; height: 28px; margin: 0; display: grid; place-items: center; border-radius: 10px; font-size: 1.08rem; }
    .mobile-nav-item.active .mobile-nav-icon { background: rgba(255,48,79,.13); }
    .mobile-nav-label { max-width: 100%; overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }

    /* HD homepage carousel */
    .homepage-v2--slider .hero-slider,
    .homepage-v2--slider .hero-slider .carousel-item { height: min(74svh,680px); min-height: 540px; }
    .homepage-v2--slider .hero-bg { object-position: 62% center; filter: brightness(.74) saturate(1.06); }
    .homepage-v2--slider .hero-overlay { align-items: flex-end; background: linear-gradient(0deg,#07090e 0%,rgba(7,9,14,.9) 34%,rgba(7,9,14,.2) 82%),linear-gradient(90deg,rgba(7,9,14,.68),transparent 80%); }
    .homepage-v2--slider .hero-content { width: 100%; margin: 0; padding: 7rem 1rem 4.25rem; }
    .homepage-v2--slider .hero-eyebrow { margin-bottom: .6rem; font-size: .62rem; }
    .homepage-v2--slider .hero-title { max-width: 12ch; margin-bottom: .75rem; font-size: clamp(2.15rem,11vw,3.15rem); line-height: .96; }
    .homepage-v2--slider .hero-desc { display: -webkit-box; overflow: hidden; max-width: 34rem; margin-bottom: 1rem; color: #c4cad3; font-size: .83rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
    .homepage-v2--slider .hero-meta { display: none; }
    .homepage-v2--slider .hero-actions { display: grid; grid-template-columns: 1.15fr 1fr; gap: .55rem; }
    .homepage-v2--slider .btn-hero-primary,.homepage-v2--slider .btn-hero-secondary { min-height: 46px; padding: .65rem .7rem; border-radius: 10px; font-size: .76rem; box-shadow: none; }
    .homepage-v2--slider .carousel-control-prev,.homepage-v2--slider .carousel-control-next { top: auto; bottom: 4.7rem; width: 40px; height: 40px; display: none; }
    .homepage-v2--slider .carousel-indicators { right: auto; bottom: 1.55rem; left: 1rem; justify-content: flex-start; margin: 0; }
    .homepage-v2--slider .carousel-indicators [data-bs-target] { width: 7px; height: 7px; margin-inline: 4px; }
    .homepage-v2--slider .carousel-indicators .active { width: 22px; }
    .homepage-v2--slider .discover-body { margin-top: 0; padding-top: 1.4rem; }

    /* Home content rails */
    .homepage-v2 .discover-nav { min-height: 58px; margin: 0 0 2rem; border-top: 0; }
    .homepage-v2 .discover-nav__links a { min-height: 40px; display: inline-flex; align-items: center; padding: .55rem .72rem; }
    .homepage-v2 .content-section { margin-bottom: 2.65rem; }
    .section-header { align-items: center; margin-bottom: .35rem; }
    .section-title,.homepage-v2 .section-title { font-size: 1.2rem; }
    .section-title-accent,.homepage-v2 .section-title-accent { width: 3px; height: 19px; }
    .section-header-actions { flex-shrink: 0; }
    .view-all { margin-right: 0 !important; font-size: .68rem; opacity: 1; transform: none; }
    .scroll-container { gap: .6rem; margin-inline: -1rem; padding: .7rem 1rem 1.1rem; scroll-padding-inline: 1rem; }
    .scroll-container .card-wrapper { width: min(42vw,172px); }
    .content-card { border-radius: 9px; }
    .content-card__body { min-height: 66px; padding: .58rem .6rem .65rem; }
    .content-card .card-title { font-size: .76rem; line-height: 1.3; }
    .card-meta { gap: .35rem; font-size: .62rem; }
    .badge-quality { font-size: .55rem; }

    /* Movie and series catalogs */
    .catalog-page { padding-top: 3.75rem !important; }
    .catalog-hero { min-height: 600px; }
    .catalog-hero__backdrop img { object-position: 66% center; }
    .catalog-hero__content { width: 100%; padding: 6.5rem 1rem 2.7rem; }
    .catalog-hero__kicker { gap: .4rem; margin-bottom: .7rem; font-size: .58rem; letter-spacing: .1em; }
    .catalog-hero h1 { margin-bottom: .75rem; font-size: clamp(2.35rem,12vw,3.35rem); }
    .catalog-hero__content>p { display: -webkit-box; overflow: hidden; margin-bottom: 1.1rem; font-size: .83rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }
    .catalog-hero__stats { gap: .45rem; margin-bottom: 1rem; }
    .catalog-hero__stats>span { min-height: 64px; padding: .65rem .7rem; border-radius: 10px; }
    .catalog-hero__stats strong { font-size: 1.05rem; }
    .catalog-hero__stats small { font-size: .58rem; }
    .catalog-hero__actions { gap: .5rem; }
    .catalog-btn { min-height: 46px; padding: .65rem .75rem; border-radius: 10px; font-size: .73rem; }
    .catalog-quick-nav { width: calc(100% - 1rem); padding: .55rem; gap: .4rem; }
    .catalog-quick-nav a { min-height: 40px; display: inline-flex; align-items: center; padding: .55rem .72rem; font-size: .7rem; }
    .catalog-browse { padding-top: 1.55rem; }
    .catalog-section-head { margin-bottom: .85rem; gap: .4rem; }
    .catalog-section-head h2 { font-size: 1.4rem; }
    .catalog-section-head p { font-size: .72rem; line-height: 1.45; }
    .browse-toolbar { padding: .8rem; border-radius: 13px !important; }
    .browse-toolbar__summary { font-size: .76rem; }
    .browse-toolbar .form-control,.browse-toolbar .form-select { min-height: 44px; font-size: .78rem; }
    .filter-chips { width: 100%; flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .filter-chips::-webkit-scrollbar { display: none; }
    .catalog-filter-bar { width: 100%; grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
    .catalog-filter-bar .filter-chips { margin-top: 0 !important; padding-top: 0 !important; }
    .catalog-filter-more .filter-chip { min-height: 40px; white-space: nowrap; }
    .catalog-filter-more .dropdown-menu { max-width: min(82vw, 22rem); }
    .filter-chip { flex: 0 0 auto; min-height: 40px; padding: .52rem .75rem; font-size: .69rem; }
    .browse-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem .6rem; }
    .browse-grid .card-wrapper { min-width: 0; }
    .browse-grid .content-card__body { min-height: 70px; }
    .browse-pagination { gap: .35rem; overflow-x: auto; justify-content: flex-start; padding-bottom: .5rem; }
    .browse-pagination a,.browse-pagination span { min-width: 42px; min-height: 42px; }

    /* Live guide */
    .live-hero { min-height: 570px; padding: 7.5rem 0 3.2rem; }
    .live-hero h1 { margin-bottom: 1rem; font-size: clamp(2.8rem,14vw,4.1rem); }
    .live-hero__copy p { font-size: .84rem; line-height: 1.6; }
    .live-guide__head p { font-size: .72rem; }
    .browse-grid--live { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .browse-grid--live .live-card__image { padding: .7rem; }
    .live-badge { top: 7px; left: 7px; padding: .2rem .48rem; font-size: .55rem; }

    /* Series details and episode rows */
    .detail-hero--polished { min-height: 620px; padding: 7.2rem 0 2.7rem; }
    .detail-hero--polished .detail-hero__content { padding-inline: 1rem; }
    .detail-hero__title { margin-bottom: .75rem; font-size: clamp(2.45rem,12vw,3.7rem); }
    .detail-hero__meta { gap: .4rem; font-size: .68rem; }
    .detail-hero__description { display: -webkit-box; overflow: hidden; margin-bottom: 1.2rem; font-size: .82rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; }
    .episodes-section { padding: 1.8rem 0 3rem; }
    .episodes-section__head { margin-bottom: .8rem; }
    .season-tabs { margin-inline: -1rem; padding: 0 1rem 1rem; scroll-padding-inline: 1rem; }
    .season-tabs .nav-link { min-height: 42px; padding: .55rem .8rem; font-size: .7rem; }
    .episode-list { gap: .55rem; }
    .episode-item { grid-template-columns: 112px minmax(0,1fr); min-height: 100px; padding: 0; border-radius: 11px; }
    .episode-item__media { min-height: 100px; }
    .episode-item__body { align-self: center; min-width: 0; padding: .65rem .7rem; }
    .episode-item__body h2 { display: -webkit-box; overflow: hidden; margin: 0; font-size: .76rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; }

    /* Support, legal, modal, footer */
    .page-hero--compact { padding: 6.6rem 0 1.8rem; }
    .page-hero__title { font-size: 2.35rem; }
    .page-hero__description { font-size: .82rem; line-height: 1.55; }
    .support-layout { gap: .8rem; }
    .support-aside,.support-form,.legal-card { border-radius: 14px; }
    .support-points>span { padding: .8rem; }
    .support-submit { width: 100%; }
    .legal-card .card-body { padding: 1.4rem !important; }
    .legal-card h4 { font-size: 1.05rem; }
    .legal-card p { font-size: .82rem; }
    .modal-dialog { margin: .75rem; }
    .age-gate-card { max-height: calc(100dvh - 1.5rem); overflow-y: auto; border-radius: 17px; }
    .site-footer { padding: 3rem 0 1rem; }
    .site-footer__copy { font-size: .78rem; }
    .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: .35rem; font-size: .68rem; }
}

@media (max-width: 374.98px) {
    .homepage-v2--slider .hero-slider,.homepage-v2--slider .hero-slider .carousel-item { min-height: 520px; }
    .homepage-v2--slider .hero-title { font-size: 2.05rem; }
    .homepage-v2--slider .hero-desc { -webkit-line-clamp: 2; line-clamp: 2; }
    .catalog-hero { min-height: 570px; }
    .catalog-hero__stats>span { padding: .55rem; }
    .catalog-btn { font-size: .68rem; }
    .browse-grid { gap: .6rem .45rem; }
    .content-card__body { padding-inline: .5rem; }
    .episode-item { grid-template-columns: 96px minmax(0,1fr); }
    .mobile-nav-label { font-size: .54rem; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .browse-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .catalog-hero__content { padding-inline: 1.5rem; }
    .support-layout { grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); }
}
