/* ═══════════════════════════════════════════════════════════
   DETECTIVE CONAN INDIA — v2
   Cinematic · Image-First · Multi-Page · Editorial
═══════════════════════════════════════════════════════════ */

:root {
  --font-display:'Bebas Neue','Arial Narrow',sans-serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --radius:14px;
  --radius-lg:22px;
  --spring:cubic-bezier(0.34,1.56,0.64,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-in-out:cubic-bezier(0.4,0,0.2,1);
}

[data-theme="dark"] {
  --bg:#07070f;
  --surface:#0e0e1c;
  --surface2:#14142a;
  --border:rgba(255,255,255,0.07);
  --border2:rgba(255,255,255,0.15);
  --text:#eeeefc;
  --text2:#a0a0c8;
  --muted:#60608a;
  --red:#CC2233;
  --red-glow:rgba(204,34,51,0.35);
  --card-grad:linear-gradient(180deg,rgba(7,7,15,0) 0%,rgba(7,7,15,0.5) 40%,rgba(7,7,15,0.97) 100%);
  --hero-grad:linear-gradient(105deg,rgba(7,7,15,0.97) 0%,rgba(7,7,15,0.75) 50%,rgba(7,7,15,0.08) 100%);
  --img-tint:rgba(7,7,15,0.22);
  --modal-bg:rgba(14,14,28,0.7);
  --modal-inner:rgba(255,255,255,0.04);
}
/* ── LIGHT MODE: Detective Conan Color Identity ──────────────
   Background gradient tells the full Conan story:
   navy jacket → white shirt → amber investigation lamp → bow-tie red
──────────────────────────────────────────────────────────── */
[data-theme="light"] {
  /* Used as a tint reference for overlays */
  --bg: #EEF2FF;
  --surface: #FFFFFF;
  --surface2: #E3EAFC;
  /* Navy-blue border system */
  --border: rgba(26,35,126,0.10);
  --border2: rgba(26,35,126,0.24);
  /* Deep navy text — Conan's jacket color */
  --text: #0D1547;
  --text2: #364080;
  --muted: #6672B8;
  /* Conan's bow-tie red — full vibrant signature */
  --red: #E53935;
  --red-glow: rgba(229,57,53,0.30);
  /* card-grad fades to our signature rich Conan Navy overlay */
  --card-grad: linear-gradient(180deg, rgba(16, 25, 78, 0) 10%, rgba(16, 25, 78, 0.92) 100%);
  /* hero-grad uses the bold Blazer Navy vertical overlay */
  --hero-grad: linear-gradient(105deg, rgba(16, 25, 78, 0.96) 0%, rgba(16, 25, 78, 0.80) 50%, rgba(16, 25, 78, 0.08) 100%);
  --img-tint: rgba(16, 25, 78, 0.10);
  /* Saturated Blazer Navy glass modals */
  --modal-bg: rgba(16, 25, 78, 0.96);
  --modal-inner: rgba(229, 57, 53, 0.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:16px;
  line-height:1.6;cursor:auto;
  transition:background 0.4s,color 0.4s;
  position:relative;
}

/* ── LIGHT MODE: Conan gradient background ──────────────────────────
   Reads like a scene: you walk from the cool navy shadow of Conan's jacket
   (top-left), across his crisp white shirt (centre), into the warm amber
   glow of a late-night investigation lamp (bottom-right), with the
   faintest bow-tie red warmth at the very corner.
   background-attachment:fixed keeps it stationary while the page scrolls,
   so it feels like a cinematic world rather than a flat wallpaper. */
[data-theme="light"] body {
  background:
    linear-gradient(
      148deg,
      #D8E0FF 0%,    /* Conan's jacket — deep navy brightened to near-white */
      #EEF2FF 22%,   /* White shirt with navy cast */
      #F7F5FF 45%,   /* Neutral lavender-white mid-point */
      #FFF8EC 72%,   /* Amber — late-night investigation lamp */
      #FFEEE8 100%   /* Bow-tie warmth — soft red rose */
    );
  background-attachment: fixed;
}
/* ── AMBIENT BACKGROUND GLOW ─────────────── */
body::before{
  content:'';
  position:fixed;inset:0;z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 80vw 60vh at 15% 10%,  rgba(180,20,40,0.13)   0%, transparent 70%),
    radial-gradient(ellipse 60vw 50vh at 85% 5%,   rgba(30,60,180,0.10)   0%, transparent 65%),
    radial-gradient(ellipse 50vw 40vh at 70% 55%,  rgba(100,20,160,0.08)  0%, transparent 60%),
    radial-gradient(ellipse 70vw 55vh at 10% 80%,  rgba(20,80,200,0.07)   0%, transparent 65%),
    radial-gradient(ellipse 40vw 35vh at 90% 90%,  rgba(180,30,50,0.09)   0%, transparent 60%);
}
[data-theme="light"] body::before{
  /* Conan-themed ambient light — navy, bow-tie red, amber, steel-blue */
  background:
    radial-gradient(ellipse 80vw 60vh at 12% 8%,   rgba(26,35,126,0.10)   0%, transparent 70%),  /* Navy — jacket */
    radial-gradient(ellipse 55vw 50vh at 88% 6%,   rgba(229,57,53,0.08)   0%, transparent 65%),  /* Red  — bow tie */
    radial-gradient(ellipse 45vw 40vh at 65% 58%,  rgba(255,193,7,0.07)   0%, transparent 60%),  /* Amber — logo */
    radial-gradient(ellipse 65vw 50vh at 8%  82%,  rgba(69,90,100,0.06)   0%, transparent 65%),  /* Steel-blue — mystery */
    radial-gradient(ellipse 40vw 35vh at 92% 88%,  rgba(229,57,53,0.06)   0%, transparent 60%);  /* Red again — balance */
}

/* ── PREMIUM PARALLAX BACKGROUND ───────────────────── */
#parallax-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
  background: radial-gradient(ellipse at top left, rgba(10,10,30,0.2), transparent 70%),
              radial-gradient(ellipse at bottom right, rgba(20,0,30,0.15), transparent 70%);
  /* subtle dark glow */
  box-shadow: inset 0 0 120px 40px rgba(255,0,0,0.06);
}
[data-theme="light"] #parallax-bg {
  /* Soft Conan-themed ambient gradient: navy top-left, red bottom-right */
  background:
    radial-gradient(ellipse at 10% 15%, rgba(26,35,126,0.07), transparent 65%),
    radial-gradient(ellipse at 90% 85%, rgba(229,57,53,0.05), transparent 60%);
  box-shadow: none;
}

.pill {
  position: absolute;
  width: 180px;
  height: 52px;
  /* APTX4869 pill: red half, white half */
  background: linear-gradient(90deg, var(--red) 50%, rgba(255,255,255,0.75) 50%);
  border-radius: 26px;
  filter: blur(var(--pill-blur, 8px));
  opacity: var(--pill-opacity, 0.25);
  mix-blend-mode: screen;
  will-change: transform;
  pointer-events: none;
}

/* ── LIGHT MODE PILL OVERRIDE ────────────────────────────────
   Keep the APTX-4869 red+white design intact.
   Switch blend mode from screen (invisible on light) to multiply
   so both halves show as soft tints on the gradient background.
   No color change — just blend mode + shadow for visibility. */
[data-theme="light"] .pill {
  mix-blend-mode: multiply;
  filter: blur(var(--pill-blur, 8px)) drop-shadow(0 1px 8px rgba(0,0,0,0.07));
}
#app{position:relative;z-index:1;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* ── PAGE TRANSITION ─────────────────────── */
#app{min-height:100vh;}
.page-enter{animation:pageEnter 0.5s var(--ease-out) forwards;width:100%;}
@keyframes pageEnter{from{opacity:0;margin-top:18px;}99%{opacity:1;margin-top:0;}to{opacity:1;margin-top:0;}}


/* ── NAV — Floating Liquid Glass Pill ──────── */
#nav{
  position:fixed;top:12px;left:50%;transform:translateX(-50%);
  z-index:200;
  display:flex;align-items:center;gap:20px;
  padding:0 20px;height:52px;
  width:calc(100% - 48px);max-width:1320px;
  background:rgba(10,10,20,0.55);
  backdrop-filter:blur(32px) saturate(2);-webkit-backdrop-filter:blur(32px) saturate(2);
  border:1px solid rgba(255,255,255,0.13);
  border-radius:100px;
  box-shadow:0 8px 32px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.1);
  transition:transform 0.35s cubic-bezier(0.4,0,0.2,1),background 0.35s,box-shadow 0.35s,top 0.35s;
}
#nav.nav-hidden{
  transform:translateX(-50%) translateY(calc(-100% - 20px));
}
#nav.scrolled{
  background:rgba(7,7,15,0.72);
  backdrop-filter:blur(40px) saturate(2.2);-webkit-backdrop-filter:blur(40px) saturate(2.2);
  box-shadow:0 12px 48px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.12);
}
/* Extended frosted glass when filter bar sticks at top */
#nav.nav-frosted{
  background:rgba(7,7,15,0.85);
  backdrop-filter:blur(40px) saturate(2.2);-webkit-backdrop-filter:blur(40px) saturate(2.2);
  box-shadow:0 12px 48px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.12);
}
[data-theme="light"] #nav{background:rgba(238,242,255,0.62);border-color:rgba(26,35,126,0.16);box-shadow:0 8px 32px rgba(26,35,126,0.10),inset 0 1px 0 rgba(255,255,255,0.9);}
[data-theme="light"] #nav.scrolled{background:rgba(232,238,255,0.88);border-color:rgba(26,35,126,0.22);}
.nav-logo{
  display:flex;align-items:center;gap:9px;
  font-family:var(--font-display);font-size:21px;letter-spacing:0.05em;
  white-space:nowrap;cursor:pointer;
}
.nav-bbdci-logo{height:32px;width:auto;object-fit:contain;display:block;flex-shrink:0;}
.nav-logo-tagline{
  font-family:var(--font-display);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text2);white-space:nowrap;line-height:1;font-weight:600;
}
.nav-logo-tagline em{color:var(--red);font-style:normal;}
.nav-logo em{color:var(--red);font-style:normal;}
.nav-links{display:flex;gap:20px;align-items:center;margin:0 auto;}
.nav-links a{
  font-size:11.5px;font-weight:600;color:var(--text2);
  letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;
  transition:color 0.2s;
}
.nav-links a:hover{color:var(--text);}
.nav-more-btn{
  font-size:11.5px;font-weight:600;color:var(--text2);
  letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;
  background:none;border:none;padding:0;transition:color 0.2s;
}
.nav-more-btn:hover,.nav-more-btn.active{color:var(--text);}
.nav-right{display:flex;align-items:center;gap:12px;}
/* ── NAV SEARCH ──────────────────────────── */
.nav-search-wrap{
  position:relative;display:flex;align-items:center;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:100px;
  transition:width 0.3s var(--spring),background 0.2s,border-color 0.2s;
  width:36px;overflow:hidden;cursor:pointer;
}
.nav-search-wrap:focus-within{
  width:200px;
  background:rgba(255,255,255,0.11);
  border-color:rgba(255,255,255,0.28);
}
.nav-search-icon{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;color:rgba(255,255,255,0.6);cursor:pointer;
}
.nav-search-input{
  flex:1;min-width:0;background:none;border:none;outline:none;
  color:var(--text);font-size:12px;font-family:var(--font-body);
  padding:0 4px 0 0;
  opacity:0;transition:opacity 0.2s;cursor:text;
}
.nav-search-wrap:focus-within .nav-search-input{opacity:1;}
.nav-search-wrap:focus-within{cursor:text;}
.nav-search-input::placeholder{color:rgba(255,255,255,0.4);}
.nav-search-clear{
  display:none;align-items:center;justify-content:center;
  flex-shrink:0;width:22px;height:22px;margin-right:7px;
  border-radius:50%;border:none;background:rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.7);font-size:10px;cursor:pointer;
  transition:background 0.15s;
}
.nav-search-clear:hover{background:rgba(255,255,255,0.25);}
[data-theme="light"] .nav-search-wrap{background:rgba(26,35,126,0.07);border-color:rgba(26,35,126,0.16);}
[data-theme="light"] .nav-search-wrap:focus-within{background:rgba(26,35,126,0.11);border-color:rgba(26,35,126,0.30);}
[data-theme="light"] .nav-search-icon{color:rgba(26,35,126,0.55);}
[data-theme="light"] .nav-search-input{color:var(--text);}
[data-theme="light"] .nav-search-input::placeholder{color:rgba(26,35,126,0.40);}
@media(max-width:768px){.nav-search-wrap{display:none;}}
.nav-advocacy-btn{
  font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;background:var(--red);border-radius:100px;
  padding:6px 16px;cursor:pointer;white-space:nowrap;
  transition:filter 0.2s,transform 0.2s var(--spring);
}
.nav-advocacy-btn:hover{filter:brightness(1.15);transform:translateY(-1px);}
.theme-btn{
  background:none;border:1px solid var(--border2);
  border-radius:8px;padding:5px 12px;cursor:pointer;
  font-size:15px;color:var(--text);
  transition:border-color 0.2s,transform 0.3s var(--spring);
}
.theme-btn:hover{border-color:var(--muted);transform:scale(1.08);}
.nav-hamburger{
  display:none;background:none;border:none;cursor:pointer;
  flex-direction:column;gap:5px;padding:4px;
}
.nav-hamburger span{
  display:block;width:24px;height:2px;
  background:var(--text);border-radius:2px;
  transition:transform 0.35s var(--spring),opacity 0.25s;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-more-wrap{position:relative;display:flex;align-items:center;}
.nav-drawer{
  position:absolute;top:calc(100% + 10px);right:0;z-index:300;
  background:rgba(12,12,22,0.97);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:14px;
  display:flex;flex-direction:column;gap:0;
  min-width:200px;
  box-shadow:0 16px 48px rgba(0,0,0,0.55);
  opacity:0;transform:translateY(-8px) scale(0.97);transform-origin:top right;
  transition:opacity 0.22s var(--ease-out),transform 0.22s var(--ease-out);
  pointer-events:none;
}
.nav-drawer.open{opacity:1;transform:none;pointer-events:auto;}
.nav-drawer a{
  padding:11px 20px;font-size:12px;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text2);border-bottom:1px solid rgba(255,255,255,0.06);
  cursor:pointer;transition:color 0.15s,background 0.15s;
  display:block;
}
.nav-drawer a:first-child{border-radius:14px 14px 0 0;}
.nav-drawer a:last-child{border-bottom:none;border-radius:0 0 14px 14px;}
.nav-drawer a:hover{color:var(--text);background:rgba(255,255,255,0.06);}

/* ── SECTION COMMONS ─────────────────────── */
.section-max{max-width:1400px;margin:0 auto;padding:0 40px;}
.section-eyebrow{
  font-size:12px;font-weight:600;letter-spacing:0.04em;
  color:var(--text2);margin-bottom:8px;
  display:flex;align-items:center;gap:8px;
}
.section-eyebrow::before{
  content:'';
  display:inline-block;width:3px;height:14px;
  background:var(--red);border-radius:2px;flex-shrink:0;
}
.section-title{
  font-family:var(--font-display);font-size:clamp(32px,4vw,56px);
  line-height:1;letter-spacing:0.01em;margin-bottom:12px;
}
.section-title em{color:var(--red);font-style:normal;}
.section-sub{color:var(--text2);font-size:14px;margin-bottom:16px;max-width:520px;}
section{padding:40px 0;}
section:not(#hero){content-visibility:auto;contain-intrinsic-size:auto 600px;}
/* Seamless section backgrounds — no alternating colours */

/* ── REVEAL ANIMATIONS ───────────────────── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 0.75s var(--ease-out),transform 0.75s var(--ease-out);}
.reveal.visible{opacity:1;transform:none;}
.reveal-left{opacity:0;transform:translateX(-48px);transition:opacity 0.75s var(--ease-out),transform 0.75s var(--ease-out);}
.reveal-left.visible{opacity:1;transform:none;}
.reveal-right{opacity:0;transform:translateX(48px);transition:opacity 0.75s var(--ease-out),transform 0.75s var(--ease-out);}
.reveal-right.visible{opacity:1;transform:none;}
.reveal-scale{opacity:0;transform:scale(0.88);transition:opacity 0.7s var(--ease-out),transform 0.7s var(--spring);}
.reveal-scale.visible{opacity:1;transform:scale(1);}
.reveal-blur{opacity:0;filter:blur(10px);transform:translateY(16px);transition:opacity 0.8s var(--ease-out),filter 0.8s var(--ease-out),transform 0.8s var(--ease-out);}
.reveal-blur.visible{opacity:1;filter:blur(0);transform:none;}
.stagger{opacity:0;transition:opacity 0.55s var(--ease-out),transform 0.55s var(--ease-out);transform:translateY(24px);}
.stagger.visible{opacity:1;transform:none;}
.stagger:nth-child(1){transition-delay:0s;}
.stagger:nth-child(2){transition-delay:0.07s;}
.stagger:nth-child(3){transition-delay:0.14s;}
.stagger:nth-child(4){transition-delay:0.21s;}
.stagger:nth-child(5){transition-delay:0.28s;}
.stagger:nth-child(6){transition-delay:0.35s;}
.stagger:nth-child(7){transition-delay:0.42s;}
.stagger:nth-child(8){transition-delay:0.49s;}

/* ── HERO CAROUSEL ───────────────────────── */
#hero{position:relative;height:100svh;min-height:620px;overflow:hidden;}
/* Hero carousel - allows swipe navigation and vertical page scroll */
.hero-carousel{position:relative;width:100%;height:100%;cursor:grab;touch-action:pan-x pan-y pinch-zoom;}
.hero-carousel:active{cursor:grabbing;}
.hero-slide{
  position:absolute;inset:0;display:flex;align-items:center;
  padding:100px 80px 200px;
  opacity:0;transition:opacity 0.9s var(--ease-out);pointer-events:none;
}
.hero-slide.active{opacity:1;pointer-events:auto;}
.hero-slide-bg{
  position:absolute;inset:0;background-size:cover;background-position:center 20%;
  transform:scale(1) translateY(0);transition:transform 12s ease-out;
  filter:blur(3px);scale:1.02;
}
.hero-slide.active .hero-slide-bg{transform:scale(1.06) translateY(0);}
/* Reset class — snaps content to start state instantly so transitions replay */
.hero-slide.slide-reset .hero-tag,
.hero-slide.slide-reset .hero-title,
.hero-slide.slide-reset .hero-subtitle,
.hero-slide.slide-reset .hero-desc,
.hero-slide.slide-reset .hero-cta,
.hero-slide.slide-reset .hero-quick-actions{
  opacity:0!important;transform:translateY(18px)!important;transition:none!important;
}
.hero-slide.slide-reset .hero-slide-bg{
  transform:scale(1)!important;transition:none!important;
}
.hero-slide-img-right{
  position:absolute;right:0;top:0;bottom:0;
  height:100%;width:auto;
  max-width:65%;
  object-fit:contain;object-position:right center;
  z-index:3;
  pointer-events:none;user-select:none;
  -webkit-user-drag:none;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 28%);
  mask-image:linear-gradient(to right, transparent 0%, black 28%);
}
.hero-slide-img-right-grad{
  display:none;
}
.hero-slide-bg::before{
  content:'';position:absolute;inset:0;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:0.5;pointer-events:none;
}
.hero-slide-bg::after{content:'';position:absolute;inset:0;background:var(--hero-grad);}
.hero-slide-fade{
  position:absolute;bottom:0;left:0;right:0;height:250px;z-index:3;
  background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none;
}
.hero-slide-content{position:relative;z-index:10;max-width:640px;}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid;border-radius:100px;
  padding:5px 14px;font-size:11px;font-weight:700;letter-spacing:0.12em;
  text-transform:uppercase;margin-bottom:22px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s 0.1s var(--ease-out),transform 0.6s 0.1s var(--ease-out);
}
.hero-slide.active .hero-tag{opacity:1;transform:none;}
.hero-emoji{font-size:13px;}
.hero-title{
  font-family:var(--font-display);font-size:clamp(52px,8vw,100px);
  line-height:0.92;letter-spacing:0.02em;color:#fff;
  opacity:0;transform:translateY(20px);
  transition:opacity 0.7s 0.2s var(--ease-out),transform 0.7s 0.2s var(--ease-out);
}
.hero-slide.active .hero-title{opacity:1;transform:none;}
.hero-subtitle{
  font-family:var(--font-display);font-size:clamp(28px,4vw,52px);
  line-height:1;letter-spacing:0.04em;margin-top:4px;
  opacity:0;transform:translateY(16px);
  transition:opacity 0.6s 0.3s var(--ease-out),transform 0.6s 0.3s var(--ease-out);
}
.hero-slide.active .hero-subtitle{opacity:1;transform:none;}
.hero-desc{
  font-size:15px;color:rgba(238,238,252,0.8);line-height:1.7;
  max-width:480px;margin-top:18px;
  opacity:0;transform:translateY(14px);
  transition:opacity 0.6s 0.4s var(--ease-out),transform 0.6s 0.4s var(--ease-out);
}
.hero-slide.active .hero-desc{opacity:1;transform:none;}
.hero-cta{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:28px;padding:13px 28px;border:none;border-radius:100px;
  font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;cursor:pointer;
  opacity:0;transform:translateY(12px);
  transition:opacity 0.6s 0.5s var(--ease-out),transform 0.6s 0.5s var(--ease-out),filter 0.2s;
}
.hero-slide.active .hero-cta{opacity:1;transform:none;}
.hero-cta:hover{filter:brightness(1.15);}
.hero-quick-actions{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;
  opacity:0;transform:translateY(10px);
  transition:opacity 0.55s 0.58s var(--ease-out),transform 0.55s 0.58s var(--ease-out);
}
.hero-slide.active .hero-quick-actions{opacity:1;transform:none;}

/* Disable popup animations on mobile to prevent scroll interference */
@media(max-width:768px){
  .hero-tag,.hero-title,.hero-subtitle,.hero-desc,.hero-cta,.hero-quick-actions{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}
.hero-quick-btn{
  border:1px solid rgba(255,255,255,0.24);
  background:rgba(255,255,255,0.08);
  color:#fff;
  border-radius:100px;
  padding:8px 14px;
  font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  cursor:pointer;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:background 0.2s,border-color 0.2s,transform 0.2s var(--spring);
}
.hero-quick-btn:hover{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.4);transform:translateY(-1px);}
.hero-carousel-nav{
  position:absolute;bottom:100px;left:80px;z-index:5;
  display:flex;align-items:center;gap:16px;
}
.carousel-btn{
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  color:#fff;width:40px;height:40px;border-radius:50%;
  font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background 0.2s,transform 0.2s var(--spring);
  backdrop-filter:blur(8px);
}
.carousel-btn:hover{background:rgba(255,255,255,0.2);transform:scale(1.1);}
.carousel-dots{display:flex;gap:7px;align-items:center;}
.cdot{width:6px;height:6px;border-radius:50%;cursor:pointer;transition:all 0.3s var(--spring);background:rgba(255,255,255,0.35);}
.cdot.active{background:#fff;width:22px;border-radius:4px;}
.cdot:hover{background:rgba(255,255,255,0.6);}
.hero-stats-bar{
  position:absolute;bottom:0;left:0;right:0;z-index:5;
  display:flex;justify-content:center;gap:0;
  background:rgba(7,7,15,0.75);backdrop-filter:blur(20px);
  border-top:1px solid var(--border);
}
.stat{display:flex;flex-direction:column;align-items:center;padding:18px 40px;gap:2px;}
.stat-div{width:1px;background:var(--border);align-self:stretch;margin:14px 0;}
.stat-n{font-family:var(--font-display);font-size:36px;line-height:1;letter-spacing:0.04em;color:#fff;}
.stat-n small{font-size:0.6em;}
.stat-l{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--text2);}

/* ── PLATFORM MARQUEE ────────────────────── */
#platform-marquee{
  padding:28px 0;
  overflow:hidden;
  border-bottom:1px solid var(--border);
  position:relative;
  background:transparent;
}
#platform-marquee::before,
#platform-marquee::after{
  content:'';position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none;
}
#platform-marquee::before{left:0;background:linear-gradient(to right,var(--bg),transparent);}
#platform-marquee::after{right:0;background:linear-gradient(to left,var(--bg),transparent);}
.marquee-label{
  text-align:center;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:20px;
}
.marquee-track-wrap{display:flex;overflow:hidden;}
.marquee-track{
  display:flex;align-items:center;gap:40px;
  animation:marquee-scroll 28s linear infinite;
  will-change:transform;
  flex-shrink:0;
}
.marquee-track-wrap:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.marquee-logo{
  height:28px;width:auto;
  object-fit:contain;object-position:center;
  opacity:0.45;filter:grayscale(1) brightness(1.4);
  transition:opacity 0.3s,filter 0.3s;
  flex-shrink:0;
  max-width:130px;
}
.marquee-logo:hover{opacity:0.9;filter:grayscale(0) brightness(1);}
/* Special logo filters for Dark Mode visibility */
.marquee-logo.logo-appletv{
  filter: invert(1) brightness(2.2);
  opacity: 0.5;
}
.marquee-logo.logo-appletv:hover{
  filter: invert(1) brightness(3);
  opacity: 0.9;
}

/* Light Mode visibility overrides (Apple TV dark, white logos inverted to dark) */
[data-theme="light"] .marquee-logo.logo-appletv {
  filter: grayscale(1) brightness(0.3);
  opacity: 0.55;
}
[data-theme="light"] .marquee-logo.logo-appletv:hover {
  filter: grayscale(0) brightness(0.1);
  opacity: 0.9;
}

[data-theme="light"] .marquee-logo.logo-animetimes,
[data-theme="light"] .marquee-logo.logo-etvwin {
  filter: invert(1) brightness(0.3) grayscale(1);
  opacity: 0.55;
}
[data-theme="light"] .marquee-logo.logo-animetimes:hover,
[data-theme="light"] .marquee-logo.logo-etvwin:hover {
  filter: invert(1) brightness(0.1) grayscale(0);
  opacity: 0.9;
}
.marquee-sep{
  color:rgba(255,255,255,0.12);
  font-size:20px;
  flex-shrink:0;
  line-height:1;
  padding:0 8px;
  user-select:none;
}

/* ── MAGNIFYING GLASS / LENS REVEAL ─────── */
#suspects-reveal{
  position:relative;
  padding:80px 0 60px;
  background:transparent;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.lens-section{
  position:relative;
  height:420px;
  overflow:hidden;
  user-select:none;
}
/* Giant ghost watermark text */
.lens-ghost-text{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:clamp(80px, 18vw, 200px);
  font-weight:900;
  letter-spacing:0.04em;
  color:transparent;
  -webkit-text-stroke:2px rgba(255,255,255,0.06);
  pointer-events:none;
  white-space:nowrap;
  z-index:1;
}
/* The bright "lit" layer that gets clipped to the lens circle */
.lens-reveal-layer{
  position:absolute;inset:0;
  /* clip-path updated by JS on mousemove */
  clip-path:circle(140px at 50% 50%);
  transition:clip-path 0.05s linear;
  z-index:2;
  pointer-events:none;
}
.lens-ghost-text-lit{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:clamp(80px, 18vw, 200px);
  font-weight:900;
  letter-spacing:0.04em;
  color:rgba(204,34,51,0.12);
  -webkit-text-stroke:2px rgba(204,34,51,0.3);
  pointer-events:none;
  white-space:nowrap;
}
.lens-tag{
  position:absolute;
  z-index:3;
  background:var(--red);
  color:#fff;
  padding:8px 18px;
  border-radius:999px;
  font-size:13px;font-weight:700;
  letter-spacing:0.04em;
  white-space:nowrap;
  box-shadow:0 4px 20px rgba(204,34,51,0.4);
  /* top/left set via inline style to scatter tags */
}
/* CTA row below the lens canvas */
.lens-cta-row{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
  padding:36px 0 8px;
}
.lens-cta-row .hero-cta{
  opacity:1 !important;
  transform:none !important;
}
/* Primary CTA inside lens section — always red */
.lens-cta-row .hero-cta:not(.lens-cta-ghost){
  background:var(--red) !important;
  color:#fff !important;
  border:none !important;
}
.lens-cta-ghost{
  background:transparent !important;
  border:1.5px solid var(--red) !important;
  color:var(--red) !important;
}
.lens-cta-ghost:hover{
  background:rgba(204,34,51,0.12) !important;
  border-color:var(--red) !important;
  color:#fff !important;
}
.lens-ring{
  position:absolute;
  width:280px;height:280px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.18);
  box-shadow:0 0 0 6px rgba(0,0,0,0.4), inset 0 0 40px rgba(0,0,0,0.5);
  pointer-events:none;
  transform:translate(-50%,-50%);
  z-index:10;
  transition:transform 0.04s linear;
  background:transparent;
}
/* Magnifying glass handle visual */
.lens-ring::after{
  content:'';
  position:absolute;
  bottom:-60px;right:-20px;
  width:10px;height:64px;
  background:linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0.1));
  border-radius:6px;
  transform:rotate(40deg);
  transform-origin:top center;
}
/* Section heading above the lens */
.suspects-section-head{
  text-align:center;
  margin-bottom:0;
}
.suspects-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;display:block;
}
.suspects-title{
  font-family:var(--font-display);
  font-size:clamp(28px,4vw,48px);
  line-height:1;margin-bottom:4px;
}
.suspects-title em{color:var(--red);font-style:normal;}
.suspects-desc{
  font-size:14px;color:var(--text2);
  max-width:460px;margin:0 auto 32px;
}
/* Mobile: static centered circle, no hover */
@media(max-width:768px){
  .lens-reveal-layer{
    clip-path:circle(110px at 50% 50%);
  }
  .lens-section{height:300px;}
  /* Scale down tags on mobile so they don't overflow */
  .lens-tag{
    font-size:11px;
    padding:6px 12px;
    /* Clamp right-edge tags into view — overflow is hidden by .lens-section */
    max-width:calc(100vw - 24px);
  }
  /* Stack CTA buttons vertically on mobile */
  .lens-cta-row{
    flex-direction:column;
    align-items:center;
    gap:10px;
    padding:24px 20px 4px;
  }
  .lens-cta-row .hero-cta,
  .lens-cta-row .lens-cta-ghost{
    width:100%;
    max-width:320px;
    justify-content:center;
  }
}

/* ── ENHANCED STAT CARDS (standalone section) ─── */
#stat-cards-section {
  padding: 60px 0 32px;
  border-bottom: 1px solid var(--border);
}
#stat-cards-section .stat-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
}
#stat-cards-section .stat-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.4s var(--spring), background 0.3s, border-color 0.3s, box-shadow 0.3s;
}
[data-theme="dark"] #stat-cards-section .stat-card {
  background: linear-gradient(135deg, rgba(20, 20, 42, 0.6) 0%, rgba(14, 14, 28, 0.4) 100%);
  border: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
[data-theme="light"] #stat-cards-section .stat-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.8) 0%, rgba(240, 236, 232, 0.5) 100%);
  border: 1px solid rgba(26, 10, 16, 0.08);
  box-shadow: 0 8px 32px rgba(26, 10, 16, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
#stat-cards-section .stat-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0; height: 3px;
  background: var(--red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s var(--ease-out);
}
#stat-cards-section .stat-card:hover::before {
  transform: scaleX(1);
}
#stat-cards-section .stat-card:hover {
  transform: translateY(-6px);
}
[data-theme="dark"] #stat-cards-section .stat-card:hover {
  background: linear-gradient(135deg, rgba(20, 20, 42, 0.85) 0%, rgba(20, 20, 42, 0.65) 100%);
  border-color: rgba(204, 34, 51, 0.4);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.3), 0 0 20px rgba(204, 34, 51, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
[data-theme="light"] #stat-cards-section .stat-card:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(240, 236, 232, 0.8) 100%);
  border-color: rgba(190, 22, 40, 0.35);
  box-shadow: 0 14px 40px rgba(26, 10, 16, 0.07), 0 0 20px rgba(190, 22, 40, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
#stat-cards-section .stat-card-num {
  font-family: var(--font-display);
  font-size: clamp(48px, 5vw, 80px);
  line-height: 1;
  color: var(--red);
  letter-spacing: 0.02em;
}
#stat-cards-section .stat-card-num small {
  font-size: 0.55em;
  color: var(--text2);
}
#stat-cards-section .stat-card-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
#stat-cards-section .stat-card-sub {
  font-size: 13px;
  color: var(--text2);
  margin-top: 4px;
  line-height: 1.4;
}
@media(max-width:900px){
  #stat-cards-section .stat-cards-grid{grid-template-columns:repeat(2,1fr); gap: 16px;}
}
@media(max-width:520px){
  #stat-cards-section .stat-cards-grid{grid-template-columns:repeat(2,1fr); gap: 12px;}
  #stat-cards-section .stat-card{padding:24px 20px;}
  #stat-cards-section .stat-card-num{font-size:clamp(36px,10vw,56px);}
}

/* ── PLATFORM CARDS — Disney+ style ─────── */
/* Platforms grid - same touch behavior as lang-one-row */
.platforms-grid{
  display:flex;
  flex:1 1 auto;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:none;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y pinch-zoom;
  gap:12px;
  padding-top:12px;
  padding-bottom:20px;
  margin-top:-12px;
  margin-bottom:-20px;
}
.platforms-grid::-webkit-scrollbar{display:none;}
.platforms-row-wrap{position:relative;display:flex;align-items:center;}
.platform-scroll-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:999px;
  border:1px solid var(--border2);
  background:var(--surface2);color:var(--text);
  font-size:22px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;z-index:3;
  transition:transform .2s var(--spring),opacity .2s,background .2s;
}
.platform-scroll-btn--left{left:8px;}
.platform-scroll-btn--right{right:8px;}
.platform-scroll-btn:hover{transform:translateY(-50%) scale(1.06);background:var(--surface);}
.platform-scroll-btn:disabled{opacity:.35;cursor:default;transform:translateY(-50%);}
.plat-card{
  position:relative;height:160px;border-radius:16px;overflow:hidden;
  flex:0 0 260px;max-width:260px;scroll-snap-align:start;
  cursor:pointer;transition:transform 0.35s var(--spring),box-shadow 0.35s;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 4px 24px rgba(0,0,0,0.5);
}
.plat-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 40px rgba(0,0,0,0.55);}
.plat-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 0.5s var(--ease-out);opacity:0.35;}
.plat-card:hover .plat-card-bg{transform:scale(1.06);}
.plat-card-color-layer{position:absolute;inset:0;opacity:0.7;}
.plat-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.08) 0%,rgba(0,0,0,0.5) 100%);}
.plat-card-logo{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.plat-logo-svg{width:100%;height:100%;object-fit:contain;}
.plat-logo-img{
  max-width:78%;max-height:52%;
  width:auto;height:auto;
  object-fit:contain;object-position:center;
}
.plat-logo-img.logo-appletv{filter:brightness(0) invert(1);}
.plat-logo-img.logo-primevideo{max-width:88%;max-height:62%;}
.plat-logo-img.logo-amasiantv{max-width:92%;max-height:68%;}
.plat-logo-img.logo-etvbalb{max-width:92%;max-height:68%;}
.plat-logo-img.plat-logo-hero{
  max-width:240px;max-height:64px;
}
.plat-card-info{
  position:absolute;bottom:0;left:0;right:0;padding:12px 16px 14px;
  z-index:2;
}
.plat-card-name{
  font-size:13px;font-weight:700;color:#fff;margin-bottom:2px;
  letter-spacing:0.01em;
}
.plat-card-tagline{
  font-size:11px;color:rgba(255,255,255,0.55);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.plat-card-accent-bar{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  opacity:0.6;transition:opacity 0.3s,height 0.3s;
}
.plat-card:hover .plat-card-accent-bar{opacity:1;height:3px;}
.plat-card-arrow{
  position:absolute;right:16px;bottom:14px;top:auto;transform:none;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,0.16);border:1px solid rgba(255,255,255,0.28);
  display:flex;align-items:center;justify-content:center;
  font-size:16px;color:var(--text);
  transition:background 0.2s,color 0.2s,transform 0.3s var(--spring);
}
.plat-card:hover .plat-card-arrow{background:rgba(255,255,255,0.24);color:#fff;transform:translateX(2px);}

/* ── LANGUAGES SECTION ───────────────────── */
#languages{padding:48px 0;background:transparent;}
.lang-section-grid{display:flex;flex-direction:column;gap:28px;margin-top:40px;}
.lang-dubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;}
/* Language row - allows both horizontal scroll and vertical page scroll */
.lang-one-row{
  display:flex;gap:12px;flex-wrap:nowrap;overflow-x:auto;
  overflow-y:hidden;
  flex:1 1 auto;width:100%;min-width:0;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  touch-action:pan-x pan-y pinch-zoom;
  padding-top:12px;
  padding-bottom:20px;
  margin-top:-12px;
  margin-bottom:-20px;
}
.lang-one-row::-webkit-scrollbar{display:none;}
.lang-one-row-wrap{position:relative;display:flex;align-items:center;}
.lang-scroll-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border-radius:999px;
  border:1px solid var(--border2);
  background:var(--surface2);color:var(--text);
  font-size:20px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:3;transition:transform .2s var(--spring),opacity .2s,background .2s;
}
.lang-scroll-btn--left{left:6px;}
.lang-scroll-btn--right{right:6px;}
.lang-scroll-btn:hover{transform:translateY(-50%) scale(1.06);background:var(--surface);}
.lang-scroll-btn:disabled{opacity:.35;cursor:default;transform:translateY(-50%);}
.lang-section-col-title{
  font-size:10px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border);
}
.lang-big-pill{
  display:flex;align-items:center;justify-content:center;
  padding:14px;border-radius:14px;
  background:linear-gradient(155deg,rgba(255,255,255,0.09) 0%,rgba(204,34,51,0.2) 100%);
  border:1px solid rgba(255,255,255,0.16);
  margin-bottom:0;transition:border-color 0.2s,transform 0.2s var(--spring),background 0.2s;
  width:144px;min-width:144px;min-height:144px;aspect-ratio:1/1;
  text-align:center;
}
.lang-big-pill:hover{border-color:rgba(255,255,255,0.28);transform:translateY(-3px);}
.lang-pill-flag{font-size:28px;flex-shrink:0;}
.lang-pill-body{flex:1;min-width:0;}
.lang-pill-name{font-weight:700;font-size:24px;color:#fff;line-height:1.2;}
.lang-pill-sub{font-size:11px;color:var(--text2);margin-top:1px;}
.lang-pill-dots{display:flex;gap:5px;flex-shrink:0;}
.lang-pdot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.lang-square-tile .lang-pill-sub,
.lang-square-tile .lang-pill-dots,
.lang-square-tile .lang-pill-arrow,
.lang-square-tile .lang-pill-platforms,
.lang-square-tile .lang-pill-flag{display:none;}
.lang-square-tile .lang-pill-body{flex:none;}
.lang-sub-row .lang-square-tile{
  width:144px;min-width:144px;min-height:144px;aspect-ratio:1/1;
}

/* ── ETV SECTION ────────────────────────── */
#etv{padding:80px 0;}
.etv-hero{position:relative;height:340px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:28px;}
.etv-hero-img{position:absolute;inset:0;background-size:cover;background-position:center 30%;}
.etv-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,7,15,0.95) 0%,rgba(7,7,15,0.5) 60%,rgba(7,7,15,0.2) 100%);}
.etv-hero-content{position:absolute;bottom:28px;left:32px;right:32px;}
.etv-stat-row{display:flex;gap:32px;}
.etv-stat-val{font-family:var(--font-display);font-size:42px;line-height:1;color:#fff;}
.etv-stat-lab{font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.6);margin-top:2px;}
.etv-dub-note{
  padding:12px 16px;border-radius:10px;border:1px solid rgba(255,107,0,0.3);
  background:rgba(255,107,0,0.08);font-size:13px;color:var(--text2);margin-bottom:20px;
}
.lang-pills{display:flex;flex-wrap:wrap;gap:8px;}
.lang-pill{
  font-size:13px;font-weight:600;padding:0;border-radius:12px;
  background:var(--surface2);border:1px solid var(--border);color:var(--text2);
  transition:border-color 0.2s,color 0.2s,background 0.2s;
  width:76px;height:76px;
  display:inline-flex;align-items:center;justify-content:center;
  text-align:center;line-height:1.3;letter-spacing:0.01em;
}
.lang-pill:hover{border-color:var(--border2);color:var(--text);}
.lang-pill-btn{cursor:pointer;}
.lang-pill-btn:hover{border-color:var(--red);color:#fff;background:rgba(204,34,51,0.12);}
.lang-pill-clickable{cursor:pointer;}
.lang-pill-clickable:hover{border-color:var(--border2);transform:translateX(4px);}
.lang-pill-arrow{font-size:16px;color:var(--muted);flex-shrink:0;transition:transform 0.2s,color 0.2s;}
.lang-big-pill:hover .lang-pill-arrow{color:var(--text);transform:translateX(4px);}
.lang-big-pill--merged{cursor:pointer;}
/* Language modal platform rows */
.lang-modal-plat-list{display:flex;flex-direction:column;gap:8px;}
.lang-modal-plat-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 16px;border-radius:12px;
  background:var(--surface2);border:1px solid var(--border);
  cursor:pointer;transition:border-color 0.2s,transform 0.2s var(--spring);
}
.lang-modal-plat-row:hover{border-color:var(--border2);transform:translateX(4px);}
.lang-modal-plat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.lang-modal-plat-info{flex:1;}
.lang-modal-plat-name{font-size:15px;font-weight:700;margin-bottom:2px;}
.lang-modal-plat-detail{font-size:12px;color:var(--text2);}
.lang-modal-plat-arrow{font-size:18px;color:var(--muted);}

/* ── LANGUAGE MODAL CONTENT ─────────────── */
.lm-plat-section{padding:0 0 20px;}
.lm-plat-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 12px;}
.lm-plat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.lm-plat-name{font-size:16px;font-weight:700;}
.lm-plat-detail{font-size:13px;color:var(--text2);}
.lm-plat-link{
  margin-left:auto;font-size:12px;padding:6px 16px;
  border-radius:20px;border:1px solid var(--border2);
  background:var(--surface2);color:var(--text2);
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  transition:border-color 0.2s,color 0.2s;
}
.lm-plat-link:hover{border-color:var(--text);color:var(--text);}
.lm-plat-divider{border:none;border-top:1px solid var(--border);margin:4px 0 8px;}
.lm-grid-label{
  font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);margin:12px 0 8px;
}
.lm-etv-note{
  font-size:12px;padding:10px 14px;border-radius:10px;
  background:rgba(239,68,68,0.08);color:var(--text2);
  border:1px solid rgba(239,68,68,0.15);margin-bottom:10px;
}
/* Horizontal scroll rows */
.lm-season-scroll,.lm-movie-scroll{
  display:flex;flex-direction:row;gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-top:12px;
  padding-bottom:20px;
  margin-top:-12px;
  margin-bottom:-20px;
  scrollbar-width:none;-ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
}
.lm-season-scroll::-webkit-scrollbar,.lm-movie-scroll::-webkit-scrollbar{display:none;}
.lm-season-scroll:active,.lm-movie-scroll:active{cursor:grabbing;}
/* Grid (used by spinoff section) */
.lm-movie-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;
}
/* Cards */
.lm-season-card,.lm-movie-card{
  position:relative;flex:0 0 110px;height:150px;border-radius:12px;
  overflow:hidden;cursor:pointer;background:var(--surface2);
  transition:transform 0.25s var(--spring),box-shadow 0.2s;
}
.lm-season-card:hover,.lm-movie-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 12px 32px rgba(0,0,0,0.5);
}
.lm-season-bg,.lm-movie-bg,.lm-movie-img{
  position:absolute;inset:0;background-size:cover;background-position:center top;
  transition:transform 0.4s var(--ease-out);
}
.lm-season-card:hover .lm-season-bg,
.lm-movie-card:hover .lm-movie-bg{transform:scale(1.06);}
.lm-season-overlay,.lm-movie-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(7,7,15,0.9) 0%,rgba(7,7,15,0.2) 55%,transparent 100%);
}
.lm-season-num,.lm-movie-num{
  position:absolute;top:8px;left:10px;
  font-family:var(--font-display);font-size:28px;line-height:1;
  color:rgba(255,255,255,0.18);letter-spacing:-0.02em;
}
.lm-season-label,.lm-movie-title{
  position:absolute;bottom:22px;left:0;right:0;
  padding:0 9px;font-size:11px;font-weight:700;color:#fff;
  line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;
  line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.lm-season-eps,.lm-movie-year{
  position:absolute;bottom:7px;left:9px;right:9px;
  font-size:10px;color:rgba(255,255,255,0.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ── BROWSE / FILTER SECTION ─────────────── */
#browse{padding:48px 0;}
.browse-heading-row{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-bottom:8px;
}
.browse-collapse-btn{
  display:flex;align-items:center;gap:6px;
  background:transparent;border:1px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.7);font-size:12px;font-weight:600;
  padding:5px 14px;border-radius:20px;cursor:pointer;
  white-space:nowrap;flex-shrink:0;
  transition:border-color 0.2s,color 0.2s,background 0.2s;
}
.browse-collapse-btn:hover{border-color:rgba(255,255,255,0.5);color:#fff;background:rgba(255,255,255,0.07);}
.browse-collapsible{
  overflow:hidden;
  max-height:0;
  transition:max-height 0.4s ease;
}
.browse-collapsible.open{
  max-height:8000px;
  transition:max-height 0.6s ease;
}
.filter-bar{
  display:flex;flex-direction:column;gap:12px;
  margin-bottom:32px;
}
.filter-bar.filter-bar--inline{margin-bottom:0;}
.filter-dropdowns{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.filter-dropdown-group{display:flex;flex-direction:column;gap:5px;min-width:160px;}
.filter-select{
  padding:9px 12px;border-radius:10px;border:1px solid var(--border2);
  background:var(--surface2);color:var(--text);font-size:12px;font-weight:700;
  outline:none;cursor:pointer;
}
.filter-select:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-glow);}
.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.filter-row-label{
  font-size:10px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--muted);min-width:70px;flex-shrink:0;
}
.filter-pills{display:flex;gap:6px;flex-wrap:wrap;}
.filter-pill{
  font-size:11.5px;font-weight:600;padding:7px 16px;border-radius:100px;
  background:var(--surface2);border:1px solid var(--border);color:var(--text2);
  cursor:pointer;transition:all 0.2s var(--spring);white-space:nowrap;
}
.filter-pill:hover{border-color:var(--border2);color:var(--text);}
.filter-pill.active{background:var(--red);border-color:var(--red);color:#fff;}
.filter-count{
  font-size:12px;color:var(--muted);margin-bottom:20px;padding-top:4px;
}
.browse-search-row{margin-bottom:12px;}
.browse-search-wrap{
  position:relative;display:flex;align-items:center;
  background:rgba(255,255,255,0.07);
  backdrop-filter:blur(24px) saturate(1.8);
  -webkit-backdrop-filter:blur(24px) saturate(1.8);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:16px;
  box-shadow:0 4px 24px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.1);
  padding:0 14px;
  transition:border-color 0.2s,box-shadow 0.2s;
}
.browse-search-wrap:focus-within{
  border-color:rgba(255,255,255,0.28);
  box-shadow:0 4px 32px rgba(0,0,0,0.35),inset 0 1px 0 rgba(255,255,255,0.15),0 0 0 3px rgba(255,255,255,0.06);
}
.browse-search-icon{font-size:16px;opacity:0.45;flex-shrink:0;margin-right:10px;}
.browse-search-input{
  flex:1;background:transparent;border:none;padding:14px 0;
  font-size:15px;font-weight:400;color:var(--text);outline:none;
  letter-spacing:-0.01em;min-width:0;
}
.browse-search-input::placeholder{color:rgba(255,255,255,0.35);}
.browse-search-clear{
  display:none;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,0.12);border:none;
  color:rgba(255,255,255,0.6);font-size:12px;cursor:pointer;
  flex-shrink:0;margin-left:8px;
  transition:background 0.15s,color 0.15s;
}
.browse-search-clear:hover{background:rgba(255,255,255,0.2);color:#fff;}

/* ── Multi-select Dropdown (Plot filter) ── */
.multi-select-dropdown{position:relative;display:inline-block;}
.multi-select-btn{
  display:flex;align-items:center;gap:6px;
  padding:9px 14px;border-radius:10px;
  background:var(--surface2);border:1px solid var(--border2);
  color:var(--text);font-size:12px;font-weight:700;
  cursor:pointer;white-space:nowrap;
  transition:border-color 0.2s,background 0.2s;
}
.multi-select-btn:hover{border-color:var(--red);}
.multi-select-chevron{font-size:14px;opacity:0.6;transition:transform 0.2s;margin-left:8px;pointer-events:none;}
.multi-select-dropdown.open .multi-select-chevron{transform:rotate(180deg);}
.multi-select-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 300;
  background: rgba(20, 20, 25, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  box-shadow: 0 12px 48px rgba(0,0,0,0.5);
  min-width: 240px;
  max-height: 320px;
  overflow-y: auto;
  padding: 8px;
}
.multi-select-menu.active{display:block;}
.multi-select-option{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:8px;cursor:pointer;
  font-size:13px;color:var(--text2);
  transition:background 0.15s,color 0.15s;
}
.multi-select-option:hover{background:rgba(255,255,255,0.06);color:var(--text);}
.multi-select-option input[type=checkbox]{
  width:15px;height:15px;accent-color:var(--red);flex-shrink:0;cursor:pointer;
}

.browse-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:14px;
}
.browse-card{
  position:relative;aspect-ratio:2/3;border-radius:var(--radius);overflow:hidden;
  cursor:pointer;transition:transform 0.4s var(--spring),box-shadow 0.3s;
  background:var(--surface2);
}
.browse-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 24px 60px rgba(0,0,0,0.55);}
.browse-card-img{
  position:absolute;inset:0;background-size:cover;background-position:center top;
  transition:transform 0.5s var(--ease-out);
}
.browse-card:hover .browse-card-img{transform:scale(1.06);}
.browse-card-grad{position:absolute;inset:0;background:var(--card-grad);}
.browse-card-num{
  position:absolute;top:10px;left:12px;
  font-family:var(--font-display);font-size:22px;color:rgba(255,255,255,0.5);
}
.browse-card-badges{position:absolute;top:10px;right:10px;display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;}
.browse-card-content{
  position:absolute;bottom:0;left:0;right:0;padding:14px 12px 12px;
}
.browse-card-type{
  font-size:9px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;
  color:rgba(255,255,255,0.5);margin-bottom:4px;
}
.browse-card-title{
  font-weight:700;font-size:13px;line-height:1.3;color:#fff;
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.browse-card-meta{font-size:11px;color:rgba(255,255,255,0.55);margin-top:4px;}
.browse-card-hover{
  position:absolute;inset:0;background:rgba(7,7,15,0.92);
  display:flex;flex-direction:column;justify-content:center;padding:20px;
  opacity:0;transition:opacity 0.3s;
}
.browse-card:hover .browse-card-hover{opacity:1;}
.browse-card-hover-desc{font-size:12px;color:rgba(238,238,252,0.8);line-height:1.6;}
.browse-card-hidden{display:none;}
.no-results{
  grid-column:1/-1;text-align:center;padding:60px 20px;
  color:var(--muted);font-size:15px;
}
.no-results-icon{font-size:40px;margin-bottom:12px;}
.empty-state{
  text-align:center;padding:56px 20px;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.empty-state-illustration{font-size:44px;line-height:1;}
.empty-state-title{font-size:18px;font-weight:700;color:var(--text);}
.empty-state-sub{font-size:14px;color:var(--muted);max-width:360px;line-height:1.6;}
.empty-state-action{
  margin-top:2px;padding:11px 22px;border-radius:100px;
  background:var(--red);color:#fff;border:none;cursor:pointer;
  font-size:12px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;
}
.browse-ep-heading{
  font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);padding:8px 0 4px;border-bottom:1px solid var(--border);
  margin-bottom:4px;
}

/* ── TAG BADGES ─────────────────────────── */
.tag{display:inline-block;font-size:9px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:3px 7px;border-radius:5px;}
.tag.tag-compact{
  min-width:30px;
  text-align:center;
  padding:3px 6px;
}
.tag-netflix{background:rgba(229,9,20,0.2);color:#E50914;border:1px solid rgba(229,9,20,0.4);}
.tag-prime{background:rgba(26,152,255,0.2);color:#1A98FF;border:1px solid rgba(26,152,255,0.4);}
.tag-etv{background:rgba(255,107,0,0.2);color:#FF6B00;border:1px solid rgba(255,107,0,0.4);}
.tag-etvwin{background:rgba(255,149,0,0.2);color:#FF9500;border:1px solid rgba(255,149,0,0.4);}
.tag-plex{background:rgba(229,160,13,0.2);color:#E5A00D;border:1px solid rgba(229,160,13,0.4);}
.tag-pvr{background:rgba(212,160,23,0.2);color:#D4A017;border:1px solid rgba(212,160,23,0.4);}
.tag-soon{background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.7);border:1px solid rgba(255,255,255,0.2);}

/* ── PREVENT IMAGE GHOST DRAG ───────────── */
.scroll-row img,
.platforms-grid img,
.lang-one-row img,
.season-card-bg,
.plat-card-bg,
.content-card-bg,
.spinoff-bg,
.sbc-img,
.lm-movie-img,
.lm-movie-bg{
  -webkit-user-drag:none;
  pointer-events:none;
}

/* ── SCROLL ROW ─────────────────────────── */
.scroll-row{
  display:flex;gap:12px;overflow-x:auto;
  overflow-y:hidden;
  padding-top:12px;
  padding-bottom:20px;
  margin-top:-12px;
  margin-bottom:-20px;
  scrollbar-width:thin;scrollbar-color:var(--border2) transparent;
  cursor:grab;max-width:100%;box-sizing:border-box;
  touch-action:pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling:touch;
  /* scroll-behavior intentionally omitted — JS momentum loop sets scrollLeft
     directly in rAF; CSS smooth-scroll would fight each frame and cause drift */
}
.scroll-row:active,.platforms-grid:active,.lang-one-row:active{cursor:grabbing;}
.platforms-grid,.lang-one-row{cursor:grab;}
.scroll-row::-webkit-scrollbar{height:3px;}
.scroll-row::-webkit-scrollbar-track{background:transparent;}
.scroll-row::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* ── TV SERIES SECTION ───────────────────── */
#series{padding:48px 0;}
.seasons-group{margin-bottom:32px;padding:0 8px;}
.seasons-group-label{
  display:flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text2);margin-bottom:12px;padding:0 2px;
}
.seasons-group-note{font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);}
.avail-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.avail-dot.avail-yes{background:#22c55e;}
.avail-dot.avail-no{background:#ef4444;}
.season-card{
  flex:0 0 140px;height:190px;border-radius:12px;overflow:hidden;
  position:relative;cursor:pointer;
  transition:transform 0.35s var(--spring),box-shadow 0.3s;
}
.movie-row-card{
  flex:0 0 240px;height:120px;
  display:flex;flex-direction:row;border-radius:12px;overflow:hidden;
  background:var(--surface2);cursor:pointer;
  border:1px solid var(--border);
  transition:transform 0.3s var(--spring),box-shadow 0.3s;
}
.movie-row-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px rgba(0,0,0,0.5),0 0 0 1px var(--card-color1,var(--border));}
.mrc-poster{flex:0 0 80px;background-size:cover;background-position:center top;}
.mrc-body{flex:1;min-width:0;padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:3px;position:relative;}
.mrc-num{font-family:'Bebas Neue',sans-serif;font-size:28px;line-height:1;color:rgba(255,255,255,0.12);position:absolute;top:6px;right:8px;}
.mrc-title{font-size:12px;font-weight:700;color:#fff;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.mrc-meta{font-size:10px;color:var(--muted);}
.mrc-dots{display:flex;gap:3px;margin-top:2px;}
.season-card:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 16px 40px rgba(0,0,0,0.55);}
.season-card.unavailable{opacity:0.4;filter:grayscale(0.5);}
.season-card.unavailable:hover{opacity:0.65;filter:grayscale(0.3);}
.season-card-bg{position:absolute;inset:0;background-size:cover;background-position:center top;}
.season-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,15,0.2) 0%,rgba(7,7,15,0.92) 100%);}
.season-card-num{
  position:absolute;top:8px;left:10px;
  font-family:var(--font-display);font-size:36px;color:rgba(255,255,255,0.15);line-height:1;
}
.avail-badge{
  position:absolute;top:10px;right:8px;
  font-size:8px;font-weight:900;letter-spacing:0.08em;padding:3px 7px;border-radius:5px;
}
.avail-badge.yes{background:rgba(34,197,94,0.25);color:#22c55e;border:1px solid rgba(34,197,94,0.4);}
.avail-badge.no{background:rgba(239,68,68,0.15);color:#ef4444;border:1px solid rgba(239,68,68,0.25);}
.season-card-content{position:absolute;bottom:10px;left:10px;right:10px;}
.season-card-label{font-size:10px;font-weight:700;letter-spacing:0.08em;color:rgba(255,255,255,0.65);}
.season-card-eps{font-size:11px;font-weight:600;color:#fff;margin-top:2px;}
.season-card-dots{display:flex;gap:4px;margin-top:6px;}
.content-card-tags .season-card-dots,
.browse-card-badges .season-card-dots,
.mbc-tags .season-card-dots{margin-top:0;}
.plat-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--dot,#888);display:inline-block;}
.plat-legend{
  display:flex;flex-wrap:wrap;gap:12px 20px;
  padding:10px 0 16px;
  border-bottom:1px solid var(--border);
  margin-bottom:20px;
}
.plat-legend-item{
  display:flex;align-items:center;gap:6px;
  font-size:11px;color:var(--muted);font-weight:600;letter-spacing:0.04em;
}
.plat-legend-item .plat-dot{width:8px;height:8px;}

/* ── MOVIES SECTION ──────────────────────── */
#movies{padding:48px 0;}
.content-card{
  flex:0 0 160px;height:220px;border-radius:12px;overflow:hidden;position:relative;
  cursor:pointer;transition:transform 0.35s var(--spring),box-shadow 0.3s;
  touch-action:pan-x pan-y pinch-zoom;
  -webkit-user-drag:none;
}
.content-card:hover{transform:translateY(-5px) scale(1.04);box-shadow:0 16px 40px rgba(0,0,0,0.55);}
.content-card-bg{position:absolute;inset:0;background-size:cover;background-position:center top;}
.content-card-bg-overlay{position:absolute;inset:0;background:var(--card-grad);}
.content-card-num{
  position:absolute;top:8px;left:10px;
  font-family:var(--font-display);font-size:28px;color:rgba(255,255,255,0.18);line-height:1;
}
.content-card-content{position:absolute;bottom:10px;left:10px;right:10px;}
.content-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px;}
.content-card-title{font-size:11.5px;font-weight:700;color:#fff;line-height:1.35;}
.content-card-meta{font-size:10px;color:rgba(255,255,255,0.5);margin-top:3px;}

/* ── SPINOFFS ────────────────────────────── */
#spinoffs{padding:48px 0;}
.spinoff-grid{
  display:flex;gap:16px;overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  padding-top:12px;
  padding-bottom:20px;
  margin-top:-12px;
  margin-bottom:-20px;
}
.spinoff-grid::-webkit-scrollbar{display:none;}
.spinoff-grid .content-card{flex:0 0 200px;height:280px;}
.spinoff-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  aspect-ratio:3/4;
  cursor:pointer;transition:transform 0.4s var(--spring),box-shadow 0.3s;
}
.spinoff-card:hover{transform:translateY(-5px) scale(1.01);box-shadow:0 24px 60px rgba(0,0,0,0.5);}
.spinoff-bg{position:absolute;inset:0;background-size:cover;background-position:center top;transition:transform 0.5s var(--ease-out);}
.spinoff-card:hover .spinoff-bg{transform:scale(1.04);}
.spinoff-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(7,7,15,0.98) 0%,rgba(7,7,15,0.75) 45%,rgba(7,7,15,0.15) 100%);
}
.spinoff-content{position:absolute;bottom:24px;left:24px;right:24px;}
.spinoff-label{font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.spinoff-title{font-family:var(--font-display);font-size:28px;color:#fff;line-height:1;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,0.8);}
.spinoff-desc{font-size:12px;color:rgba(255,255,255,0.85);line-height:1.55;margin-bottom:10px;text-shadow:0 1px 4px rgba(0,0,0,0.9);}
.spinoff-dub{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.spinoff-cta{font-size:12px;font-weight:700;color:var(--red);letter-spacing:0.04em;}

/* ── MANGA ───────────────────────────────── */
#manga{padding:48px 0;}
.manga-feature-card{position:relative;height:380px;border-radius:var(--radius-lg);overflow:hidden;}
.manga-feature-img{position:absolute;inset:0;background-size:cover;background-position:center 20%;}
.manga-feature-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,15,0.94) 0%,rgba(7,7,15,0.65) 55%,rgba(7,7,15,0.1) 100%);}
.manga-feature-content{position:absolute;inset:0;padding:40px 48px;display:flex;flex-direction:column;justify-content:center;max-width:560px;}
.manga-feature-label{font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:10px;}
.manga-feature-title{font-family:var(--font-display);font-size:56px;color:#fff;line-height:1;margin-bottom:6px;}
.manga-feature-title span{display:block;font-size:18px;color:rgba(255,255,255,0.5);margin-top:4px;font-family:var(--font-body);font-weight:300;}
.manga-feature-desc{font-size:14px;color:rgba(238,238,252,0.75);line-height:1.7;margin-bottom:16px;}
.manga-feature-meta{font-size:12px;color:rgba(238,238,252,0.5);margin-bottom:20px;}
.manga-feature-btns{display:flex;gap:10px;flex-wrap:wrap;}

/* ── Manga homepage teaser ── */
.manga-teaser{
  display:flex;align-items:center;gap:24px;
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:border-color 0.2s,transform 0.25s var(--ease-out),box-shadow 0.25s;
}
.manga-teaser:hover{border-color:var(--border2);transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,0.35);}
.manga-teaser-img{
  width:220px;min-height:320px;flex-shrink:0;
  background-size:cover;background-repeat:no-repeat;background-position:center;
  background-color:var(--surface2);
}
.manga-teaser-body{padding:24px 24px 24px 0;flex:1;}
.manga-teaser-label{font-size:10px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.manga-teaser-title{font-family:var(--font-display);font-size:28px;line-height:1;color:var(--text);margin-bottom:8px;}
.manga-teaser-title em{color:var(--red);font-style:normal;}
.manga-teaser-desc{font-size:13px;color:var(--text2);line-height:1.6;margin-bottom:14px;}
.manga-teaser-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
@media(max-width:600px){
  .manga-teaser{flex-direction:column;align-items:flex-start;}
  .manga-teaser-img{width:100%;min-height:280px;background-position:center top;}
  .manga-teaser-body{padding:16px;}
}
.manga-feature-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--red);color:#fff;padding:12px 22px;border-radius:100px;
  font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  transition:filter 0.2s;
}
.manga-feature-btn:hover{filter:brightness(1.15);}
.manga-feature-btn--outline{
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.25);
}
.manga-feature-btn--outline:hover{filter:none;background:rgba(255,255,255,0.18);}

/* ── Latest Cinematic Card ── */
.latest-cinematic-card{
  position:relative;border-radius:var(--radius-lg);overflow:hidden;
  cursor:pointer;min-height:420px;display:flex;align-items:flex-end;
  border:1px solid var(--border);
  transition:transform 0.3s var(--ease-out),box-shadow 0.3s;
}
.latest-cinematic-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,0.55);}
.lcc-img{
  position:absolute;inset:0;background-size:cover;background-position:center;
}
.lcc-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.95) 0%,rgba(0,0,0,0.55) 45%,rgba(0,0,0,0.1) 75%,transparent 100%);
}
.lcc-content{
  position:relative;z-index:1;padding:28px 32px;width:100%;
}
.lcc-new-inline{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--red);color:#fff;
  font-size:11px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;
  padding:5px 14px;border-radius:100px;margin-bottom:12px;
  box-shadow:0 4px 16px rgba(204,34,51,0.45);
}
.lcc-platform-badge{
  display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);
  backdrop-filter:blur(4px);color:#fff;font-size:11px;font-weight:600;
  padding:4px 12px;border-radius:100px;margin-bottom:10px;
}
.lcc-ep-num{
  font-family:var(--font-display);font-size:72px;line-height:1;
  color:rgba(255,255,255,0.12);letter-spacing:-2px;position:absolute;right:32px;bottom:24px;
  pointer-events:none;
}
.lcc-title{
  font-family:var(--font-display);font-size:32px;line-height:1.1;
  color:#fff;margin-bottom:10px;
}
.lcc-desc{font-size:13px;color:rgba(255,255,255,0.75);line-height:1.6;margin-bottom:14px;max-width:560px;}
.lcc-tags{display:flex;gap:8px;flex-wrap:wrap;}
.ltag{
  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);
  color:#fff;font-size:11px;font-weight:600;padding:4px 12px;border-radius:100px;
}
@media(max-width:600px){
  .latest-cinematic-card{min-height:280px;}
  .lcc-title{font-size:22px;}
  .lcc-content{padding:20px;}
  .lcc-ep-num{font-size:48px;right:16px;bottom:16px;}
}
.latest-cards-container {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 10px 4px 20px 4px;
  scrollbar-width: none;
  margin-top: 16px;
  cursor: grab;
}
.latest-cards-container::-webkit-scrollbar {
  display: none;
}
.latest-cards-container .latest-cinematic-card {
  flex: 0 0 100%;
  scroll-snap-align: start;
  width: 100%;
}
@media (min-width: 768px) {
  .latest-cards-container .latest-cinematic-card {
    flex: 0 0 calc(50% - 10px);
  }
}
.manga-feature-vol-badge{
  position:absolute;right:40px;top:50%;transform:translateY(-50%);
  font-family:var(--font-display);font-size:120px;line-height:1;
  color:rgba(255,255,255,0.06);letter-spacing:-4px;pointer-events:none;
  user-select:none;
}
/* Merged English Sub pill */
.lang-big-pill--merged{flex-direction:column;align-items:flex-start;gap:10px;padding:20px;}
.lang-big-pill--merged .lang-pill-flag{font-size:32px;}
.lang-big-pill--merged .lang-pill-body{width:100%;}
.lang-big-pill--merged .lang-pill-dots{align-self:flex-start;}
.lang-pill-platforms{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px;}
.lang-plat-chip{
  font-size:10px;font-weight:700;letter-spacing:0.06em;
  padding:3px 10px;border-radius:100px;
  background:color-mix(in srgb,var(--c) 18%,transparent);
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent);
  color:var(--c);
}
/* Manga page */
.manga-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px;}
.manga-page-buy-links{display:flex;gap:10px;flex-wrap:wrap;}
.manga-page-sort{display:flex;gap:8px;}
.manga-vol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px;}
.manga-vol-card{
  display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;
  background:var(--surface2);border:1px solid var(--border);
  text-decoration:none;cursor:pointer;
  transition:transform 0.3s var(--spring),box-shadow 0.3s,border-color 0.2s;
}
.manga-vol-card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 16px 40px rgba(0,0,0,0.5);border-color:var(--border2);}
.manga-vol-num{
  position:absolute;top:8px;left:10px;
  font-family:var(--font-display);font-size:20px;color:rgba(255,255,255,0.2);
  pointer-events:none;
}
.manga-vol-img-wrap{position:relative;aspect-ratio:2/3;overflow:hidden;}
.manga-vol-img{position:absolute;inset:0;background-size:cover;background-position:center top;transition:transform 0.4s var(--ease-out);}
.manga-vol-card:hover .manga-vol-img{transform:scale(1.06);}
.manga-vol-label{padding:10px 12px 4px;font-size:12px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.manga-latest-badge{font-size:8px;font-weight:900;letter-spacing:0.08em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:rgba(204,34,51,0.2);color:var(--red);border:1px solid rgba(204,34,51,0.35);}
.manga-vol-buy{padding:0 12px 10px;font-size:11px;font-weight:700;color:var(--red);}
@media(max-width:600px){
  .manga-vol-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;}
  .manga-page-header{flex-direction:column;align-items:flex-start;}
}

/* ── MERCH ───────────────────────────────── */
#merch{padding:80px 0;}
.merch-feature-grid{display:grid;grid-template-columns:1fr 320px;gap:20px;}
.merch-main-card{background:var(--surface2);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);}
.merch-main-card--teaser{display:grid;grid-template-columns:340px 1fr;align-items:stretch;}
.merch-card-img{
  min-height:420px;background-size:contain;background-repeat:no-repeat;background-position:center;
  background-color:#d6dbe8;position:relative;
}
.merch-card-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(14,14,28,1) 100%);}
.merch-card-body{padding:24px 28px 28px;}
.merch-card-tag{font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:6px;}
.merch-card-title{font-family:var(--font-display);font-size:40px;color:var(--text);line-height:1;margin:8px 0;}
.merch-card-desc{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:18px;}
.merch-detail-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-size:13px;color:var(--text2);}
.merch-btns{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.merch-btn{
  display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:100px;
  font-size:12px;font-weight:700;letter-spacing:0.06em;
  background:var(--red);color:#fff;transition:filter 0.2s;
}
.merch-btn:hover{filter:brightness(1.15);}
.merch-btn-outline{background:transparent;border:1px solid var(--border2);color:var(--text);}
.merch-btn-outline:hover{filter:none;border-color:var(--muted);background:var(--surface2);}
.merch-info-stack{display:flex;flex-direction:column;gap:12px;}
.merch-info-block{
  background:var(--surface2);border-radius:var(--radius);padding:20px;
  border:1px solid var(--border);
}
.merch-info-icon{font-size:24px;margin-bottom:8px;}
.merch-info-title{font-weight:700;font-size:14px;margin-bottom:6px;}
.merch-info-desc{font-size:13px;color:var(--text2);line-height:1.6;}

/* ── ARCHIVE ─────────────────────────────── */
#archive{padding:80px 0;scroll-margin-top:80px;}
.archive-block{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:16px;background:var(--surface2);}
.archive-block-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;cursor:pointer;transition:background 0.2s;
}
.archive-block-header:hover{background:var(--surface);}
.archive-block-title{font-size:15px;font-weight:700;margin-bottom:3px;}
.archive-block-sub{font-size:12px;color:var(--muted);}
.archive-chevron{font-size:22px;color:var(--muted);transition:transform 0.35s var(--spring);}
.archive-chevron.open{transform:rotate(90deg);}
.archive-block-body{max-height:0;overflow:hidden;transition:max-height 0.5s var(--ease-in-out);}
.archive-block-body.open{max-height:1000px;}
.pvr-cards-grid{display:flex;gap:12px;overflow-x:auto;padding:20px 24px;scrollbar-width:thin;scrollbar-color:var(--border2) transparent;}
.pvr-cards-grid::-webkit-scrollbar{height:3px;}
.pvr-cards-grid::-webkit-scrollbar-thumb{background:var(--border2);}
.pvr-card{
  flex:0 0 200px;height:240px;border-radius:var(--radius);overflow:hidden;position:relative;
  cursor:pointer;transition:transform 0.35s var(--spring),box-shadow 0.3s;
}
.pvr-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 14px 36px rgba(0,0,0,0.5);}
.pvr-card-bg{position:absolute;inset:0;background-size:cover;background-position:center top;}
.pvr-card-overlay{position:absolute;inset:0;background:var(--card-grad);}
.pvr-card-content{position:absolute;bottom:14px;left:12px;right:12px;}
.pvr-type-badge{display:inline-block;font-size:8px;font-weight:900;letter-spacing:0.1em;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:6px;}
.pvr-type-movie{background:rgba(229,9,20,0.2);color:#E50914;border:1px solid rgba(229,9,20,0.3);}
.pvr-type-special{background:rgba(212,160,23,0.2);color:#D4A017;border:1px solid rgba(212,160,23,0.3);}
.pvr-type-festival{background:rgba(92,0,199,0.2);color:#9B59B6;border:1px solid rgba(92,0,199,0.3);}
.pvr-type-etv{background:rgba(255,107,0,0.2);color:#FF6B00;border:1px solid rgba(255,107,0,0.3);}
.pvr-card-title{font-size:13px;font-weight:700;color:#fff;line-height:1.35;}
.pvr-card-sub{font-size:10px;color:rgba(255,255,255,0.55);margin-top:3px;}

/* ── PLATFORM PAGE ───────────────────────── */

/* Top accent color bar */
.pp-hero-color-bar{
  height:3px;width:100%;position:relative;z-index:5;
}

.pp-hero{
  position:relative;height:600px;overflow:hidden;
}
.pp-hero-img{
  position:absolute;inset:0;background-size:cover;background-position:center 15%;
  transform:scale(1.04);transition:transform 14s ease-out;will-change:transform;
}
.pp-hero-img.loaded{transform:scale(1);}
.pp-hero-grad{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,7,15,0.18) 0%,rgba(7,7,15,0.65) 55%,var(--bg) 100%);
}
.pp-hero-grad2{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(7,7,15,0.88) 0%,rgba(7,7,15,0.45) 55%,transparent 100%);
}
/* Color glow layer */
.pp-hero-glow{
  position:absolute;inset:0;pointer-events:none;z-index:2;
}
.pp-hero-back{
  position:absolute;top:80px;left:40px;z-index:10;
  display:flex;align-items:center;gap:8px;
  background:rgba(7,7,15,0.6);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.15);border-radius:100px;
  padding:9px 18px;font-size:13px;font-weight:600;color:#fff;
  cursor:pointer;transition:background 0.2s,transform 0.2s var(--spring);
}
.pp-hero-back:hover{background:rgba(7,7,15,0.85);transform:translateX(-3px);}
.pp-hero-content{
  position:absolute;bottom:44px;left:40px;right:40px;z-index:5;
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:40px;
}
.pp-hero-info{max-width:620px;}

/* Large platform logo */
.pp-hero-logo-wrap{
  display:flex;align-items:center;
  opacity:0;transform:translateY(14px);
  transition:opacity 0.55s var(--ease-out),transform 0.55s var(--ease-out);
  margin-bottom:14px;
}
.pp-hero-logo-wrap.logo-entered{opacity:1;transform:translateY(0);}
.pp-hero-logo-wrap .plat-logo-svg{
  height:56px;width:auto;max-width:220px;
}

.pp-hero-sub{font-size:15px;color:rgba(255,255,255,0.5);margin-top:4px;font-weight:300;}
.pp-hero-desc{font-size:14px;color:rgba(238,238,252,0.68);line-height:1.7;margin-top:12px;max-width:480px;}

/* Meta badges strip */
.pp-hero-meta-strip{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.pp-hero-meta-badge{
  display:flex;align-items:center;gap:5px;
  background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.13);
  border-radius:100px;padding:5px 12px;
  font-size:12px;font-weight:600;color:rgba(238,238,252,0.85);
  backdrop-filter:blur(8px);
  letter-spacing:0.03em;
}
.pp-meta-icon{font-size:13px;}

.pp-hero-langs{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;}

.pp-hero-cta{
  flex-shrink:0;align-self:flex-end;
  padding:16px 34px;border-radius:100px;
  font-size:14px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#fff;text-decoration:none;
  transition:filter 0.2s,transform 0.2s var(--spring),box-shadow 0.2s;
  display:inline-block;white-space:nowrap;
}
.pp-hero-cta:hover{filter:brightness(1.18);transform:scale(1.04);}
.pp-hero-cta--tv{
  background:transparent!important;
  border:2px solid currentColor;
  box-shadow:none!important;
  padding:14px 32px;
}

/* Stats bar */
.pp-stats-bar{
  display:flex;gap:0;border-bottom:1px solid var(--border);
  background:var(--surface);
}
.pp-stat{
  flex:1;display:flex;flex-direction:column;align-items:center;
  padding:22px 16px 16px;gap:4px;border-right:1px solid var(--border);
  position:relative;overflow:hidden;min-width:0;
}
.pp-stat:last-child{border-right:none;}
.pp-stat-n{font-family:var(--font-display);font-size:32px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.pp-stat-l{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
/* Thin color bar at top of each stat */
.pp-stat-bar{
  position:absolute;top:0;left:0;right:0;height:2px;opacity:0.5;
}

.pp-tabs{
  display:flex;gap:0;border-bottom:1px solid var(--border);
  background:var(--surface);position:sticky;top:62px;z-index:100;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
}
.pp-tabs::-webkit-scrollbar{display:none;}
.pp-tab{
  padding:16px 24px;font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;
  transition:color 0.2s,border-color 0.2s;
}
.pp-tab:hover{color:var(--text);}
.pp-tab.active{color:var(--text);border-bottom-color:var(--red);}
.pp-tab-panels{background:var(--bg);}
.pp-panel{display:none;padding:40px;}
.pp-panel.active{display:block;}
.pp-section-title{
  font-family:var(--font-display);font-size:28px;letter-spacing:0.04em;
  margin-bottom:18px;color:var(--text);
}
.pp-note{
  padding:14px 18px;border-radius:10px;border:1px solid var(--border2);
  background:var(--surface2);font-size:13px;color:var(--text2);
  margin-bottom:24px;line-height:1.6;
}
.pp-provider-grid-new{
  display:flex;
  gap:14px;
  margin-top:12px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
}
.pp-provider-grid-new::-webkit-scrollbar{display:none;}
.pp-provider-grid-new img{-webkit-user-drag:none;user-select:none;pointer-events:none;}
.pp-provider-tile{
  display:flex;flex-direction:column;gap:8px;
  flex:0 0 180px;
}
.pp-provider-card{
  position:relative;height:130px;
  border-radius:16px;overflow:hidden;
  border:1px solid rgba(255,255,255,0.06);
  cursor:default;
  transition:transform 0.4s var(--spring),box-shadow 0.4s;
}
.pp-provider-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 28px 70px rgba(0,0,0,0.6);}
.pp-provider-card-color{
  position:absolute;inset:0;opacity:0.85;
}
.pp-provider-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,0.08) 0%,rgba(0,0,0,0.45) 100%);
}
.pp-provider-card-logo{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:18px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}
.pp-provider-logo{max-width:82%;max-height:60%;width:auto;height:auto;object-fit:contain;}
.pp-provider-logo-text{
  font-weight:900;font-size:20px;color:#fff;
  text-align:center;line-height:1.1;
}
.pp-provider-accent-bar{
  position:absolute;bottom:0;left:0;right:0;height:3px;
  opacity:0;transition:opacity 0.3s;
}
.pp-provider-card:hover .pp-provider-accent-bar{opacity:1;}
.pp-provider-tile-label{
  display:flex;flex-wrap:wrap;gap:5px;justify-content:center;align-items:center;
}
.pp-provider-name-label{
  font-size:11px;font-weight:700;color:var(--text2);
  text-align:center;width:100%;letter-spacing:0.02em;
  margin-bottom:2px;
}
.pp-provider-ch{
  font-size:10px;font-weight:700;letter-spacing:0.05em;
  padding:2px 8px;border-radius:100px;
  background:rgba(255,107,0,0.18);border:1px solid rgba(255,107,0,0.38);color:#FF9B4E;
}
.pp-provider-ch-label{font-size:8px;color:var(--muted);margin-left:2px;}
.pp-social-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1A98FF;text-decoration:none;padding:10px 16px;border:1px solid rgba(26,152,255,0.3);border-radius:100px;transition:background 0.2s;}
.pp-social-link:hover{background:rgba(26,152,255,0.1);}
.pp-lang-section{margin-bottom:28px;}
.pp-lang-section-title{font-size:11px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.pp-lang-grid{display:flex;flex-wrap:wrap;gap:8px;}
.pp-lang-chip{
  display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;
  background:var(--surface2);border:1px solid var(--border);
  font-size:13px;font-weight:600;color:var(--text);
}
.pp-lang-chip-flag{font-size:18px;}

/* ── MODAL ───────────────────────────────── */
.modal-root{
  position:fixed;inset:0;z-index:500;
  background:rgba(7,7,15,0.4);backdrop-filter:blur(16px);
  display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.35s;
}
.modal-root.open{opacity:1;pointer-events:auto;}
.modal-root.modal-fullpage{align-items:center;}
/* Prevent body scroll when modal is open */
body.modal-open{overflow:hidden;}
/* Desktop: subtle scale behind modal */
@media(min-width:769px){
  body.modal-open #app{transform:scale(0.965);transform-origin:top center;transition:transform 0.45s var(--ease-out);}
  #app{transition:transform 0.45s var(--ease-out);}
}
.modal-panel{
  width:100%;max-width:640px;max-height:85svh;overflow-y:auto;
  background:var(--modal-bg);
  backdrop-filter:blur(32px);
  -webkit-backdrop-filter:blur(32px);
  border-top:1px solid var(--border);
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  box-shadow:0 -8px 32px rgba(0,0,0,0.3);
  border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  padding:8px 28px 40px;
  transform:translateY(100%);
  transition:transform 0.45s var(--ease-out);
  scrollbar-width:thin;scrollbar-color:var(--border2) transparent;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  /* Override surface2 for inner elements to become glass layers */
  --surface2: var(--modal-inner);
}
.modal-root.open .modal-panel{transform:translateY(0);}
.modal-panel.modal-panel-fullpage{
  max-width:860px;
  width:min(96vw,860px);
  max-height:92svh;
  border-radius:18px;
  border-bottom:1px solid var(--border);
  padding:20px;
}
.modal-root.modal-fullpage .modal-handle{display:none;}
.modal-handle{width:40px;height:4px;border-radius:4px;background:var(--border2);margin:14px auto 20px;}

/* Mobile swipe-down support for cards in modals */
@media(max-width:768px){
  .modal-ep,.lm-season-card,.lm-movie-card,.spinoff-card,.content-card,.browse-card,.movie-big-card{
    touch-action:pan-y pinch-zoom;
    -webkit-user-select:none;user-select:none;
  }
  .modal-ep:active,.lm-season-card:active,.lm-movie-card:active{
    transform:scale(0.98);
    transition:transform 0.1s;
  }
  /* Add padding to modals on mobile so content doesn't touch edges */
  .modal-panel{
    padding:12px 20px calc(24px + env(safe-area-inset-bottom,0));
  }
  .modal-panel.modal-panel-fullpage{
    padding:16px;
    width:min(94vw,860px);
  }
}

/* ── SEASON MODAL FILTERS ─────────────── */
.sm-filter-row{
  display:flex;gap:10px;flex-wrap:nowrap;margin:16px 0 8px;
  padding:12px;border-radius:12px;background:var(--surface2);
  border:1px solid var(--border);
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.sm-filter-row::-webkit-scrollbar{display:none;}
.sm-filter-select,.sm-filter-search{
  background:var(--surface);border:1px solid var(--border);border-radius:8px;
  padding:8px 12px;font-size:13px;color:var(--text);outline:none;
  min-width:120px;
}
.sm-filter-select:focus,.sm-filter-search:focus{border-color:var(--red);}
.sm-filter-search{flex:1;min-width:150px;}
.sm-filter-select option{
  background:var(--surface);
  color:var(--text);
  font-size:13px;
  padding:8px;
}
.sm-filter-search-row{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:14px 18px;
  transition:all 0.2s var(--ease-out);
}
.sm-filter-search-row:hover{
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.12);
}
.sm-filter-search-row:focus-within{
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.2);
  box-shadow:0 0 0 3px rgba(255,255,255,0.05),0 4px 12px rgba(0,0,0,0.1);
}
.sm-filter-search-icon{font-size:18px;opacity:0.4;transition:opacity 0.2s;}
.sm-filter-search-row:focus-within .sm-filter-search-icon{opacity:0.8;color:var(--red);}
.sm-filter-search{
  flex:1;background:transparent;border:none;padding:0;font-size:15px;
  font-weight:400;color:var(--text);outline:none;letter-spacing:-0.01em;
}
.sm-filter-search::placeholder{color:rgba(255,255,255,0.35);}
.sm-filter-count{font-size:12px;font-weight:500;color:var(--muted);white-space:nowrap;margin-left:auto;}

/* Toggle switch for India filter - compact iOS style */
.tv-filter-toggle{
  display:flex;align-items:center;gap:8px;cursor:pointer;
  font-size:13px;font-weight:500;color:var(--text);
  user-select:none;-webkit-user-select:none;
  flex-shrink:0;
}
.tv-filter-toggle input{display:none;}
.tv-toggle-slider{
  width:44px;height:26px;border-radius:13px;
  background:var(--surface3);border:1px solid rgba(255,255,255,0.1);
  position:relative;transition:background 0.3s var(--spring),border-color 0.3s;
  box-shadow:inset 0 2px 4px rgba(0,0,0,0.2);
  flex-shrink:0;
}
.tv-toggle-slider::before{
  content:'';position:absolute;left:2px;top:2px;width:22px;height:22px;
  border-radius:50%;background:linear-gradient(145deg,#fff,#e8e8e8);
  box-shadow:0 2px 8px rgba(0,0,0,0.3);
  transition:transform 0.3s var(--spring);
}
.tv-filter-toggle input:checked+.tv-toggle-slider{
  background:#34C759;border-color:#34C759;
  box-shadow:inset 0 2px 4px rgba(0,0,0,0.1);
}
.tv-filter-toggle input:checked+.tv-toggle-slider::before{
  transform:translateX(18px);background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,0.2);
}
.tv-toggle-label{font-weight:500;letter-spacing:-0.01em;}

/* Second filter row - toggle and count inline */
.tv-filter-row-2{
  display:flex;align-items:center;gap:12px;
  margin-top:12px;margin-bottom:0;
  padding-top:0;
}

/* Season sections - non collapsible */
.tv-season-section{
  margin-bottom:40px;
  padding:0 8px;
}
.tv-season-header-static{
  display:flex;align-items:center;
  padding:12px 0 16px;
  border-bottom:2px solid var(--border);
  margin-bottom:16px;
}
.tv-season-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.tv-season-badge{
  background:var(--red);color:#fff;font-size:12px;font-weight:800;
  padding:4px 10px;border-radius:6px;
}
.tv-season-title{font-size:18px;font-weight:700;color:var(--text);}
.tv-season-year{font-size:14px;color:var(--muted);}
.tv-season-count{font-size:12px;color:var(--text2);background:var(--surface2);padding:3px 10px;border-radius:100px;}

/* Episode grid using modal-ep style */
.tv-ep-grid-modal{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;
}
.tv-ep-grid-modal .modal-ep{
  background:var(--surface2);border:1px solid transparent;
}

/* Platform dots for episodes */
.tv-ep-platforms{
  display:flex;gap:4px;margin-top:6px;flex-wrap:wrap;
}
.tv-ep-plat-dot{
  width:8px;height:8px;border-radius:50%;
  display:inline-block;
}

.tv-no-results{text-align:center;padding:60px 20px;color:var(--muted);font-size:15px;}

/* Floating Search Bar - Liquid Glass */
.tv-search-float{
  position:fixed;bottom:100px;right:24px;z-index:100;
  display:flex;flex-direction:column;align-items:flex-end;
}
.tv-search-toggle{
  width:56px;height:56px;border-radius:50%;
  background:linear-gradient(135deg,rgba(255,255,255,0.15),rgba(255,255,255,0.05));
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.1);
  cursor:pointer;transition:all 0.3s var(--spring);
  display:flex;align-items:center;justify-content:center;
  font-size:22px;color:#fff;
}
.tv-search-toggle:hover{transform:scale(1.1);background:linear-gradient(135deg,rgba(255,255,255,0.25),rgba(255,255,255,0.1));}
.tv-search-toggle.active{background:var(--red);transform:scale(0.95);}
.tv-search-panel{
  position:absolute;bottom:70px;right:0;width:320px;
  background:linear-gradient(145deg,rgba(30,30,40,0.95),rgba(20,20,30,0.98));
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,0.15);
  border-radius:20px;
  box-shadow:0 20px 60px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05);
  padding:16px;
  opacity:0;transform:translateY(20px) scale(0.95);pointer-events:none;
  transition:all 0.35s var(--spring);
}
.tv-search-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.tv-search-inner{
  display:flex;align-items:center;gap:12px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  border-radius:14px;padding:12px 16px;
}
.tv-search-icon{font-size:18px;opacity:0.5;}
.tv-search-input{
  flex:1;background:transparent;border:none;padding:0;font-size:15px;
  font-weight:400;color:var(--text);outline:none;letter-spacing:-0.01em;
}
.tv-search-input::placeholder{color:rgba(255,255,255,0.35);}
.tv-search-close{
  width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.1);border:none;
  color:var(--text2);font-size:14px;cursor:pointer;transition:all 0.2s;
  display:flex;align-items:center;justify-content:center;
}
.tv-search-close:hover{background:rgba(255,255,255,0.2);color:#fff;}
/* Unified Filter Design System - Desktop & Base */
.tv-filter-bar, .browse-filters-row {
  margin-bottom: 0;
  background: transparent;
  backdrop-filter: none;
  border: none;
  border-radius: 0;
  padding: 0;
  position: relative;
  z-index: auto;
}

/* Sticky filter bar for browse page - frosted glass when sticky */
.browse-sticky-filters {
  position: sticky;
  top: 64px;
  z-index: 300;
  background: rgba(22, 22, 25, 0.45);
  backdrop-filter: blur(24px) saturate(1.8);
  -webkit-backdrop-filter: blur(24px) saturate(1.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 32px;
  padding: 14px 28px;
  margin-bottom: 24px;
  align-self: flex-start;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.05);
}

/* Desktop: Filters on left, search on right */
.browse-sticky-filters .browse-filters-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.browse-sticky-filters .browse-multi-filters {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.browse-sticky-filters .browse-search-row {
  flex-shrink: 0;
  margin-left: auto;
}

/* Make search bar match filter buttons */
.browse-search-wrap {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 100px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  display: flex;
  align-items: center;
  padding: 4px 16px;
  gap: 12px;
  width: 340px;
  transition: all 0.2s ease;
}

.browse-search-wrap:focus-within {
  background: rgba(0, 0, 0, 0.35);
  border-color: rgba(79, 172, 254, 0.4);
  box-shadow: 0 0 0 4px rgba(79, 172, 254, 0.1);
}

.browse-search-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4facfe;
  filter: drop-shadow(0 0 5px rgba(79, 172, 254, 0.6));
  font-size: 16px;
}

.browse-search-input {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 14px;
  width: 100%;
  outline: none;
  padding: 8px 0;
}

.browse-search-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}

.tv-filter-row, .browse-multi-filters {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .tv-filter-row, .browse-multi-filters {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px;
  }
  .tv-filter-row::-webkit-scrollbar, .browse-multi-filters::-webkit-scrollbar { display: none; }
}

.tv-filter-select, .filter-select, .filter-dropdown-group .filter-select, .multi-select-btn, .custom-select-btn {
  appearance: none;
  -webkit-appearance: none;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 40px 10px 18px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 140px;
  outline: none;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.multi-select-btn {
  padding-right: 14px;
  background-image: none;
  justify-content: space-between;
  min-width: 120px;
}

.tv-filter-select:hover, .filter-select:hover, .multi-select-btn:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.tv-filter-select:focus, .filter-select:focus, .multi-select-btn:focus, .custom-select-btn:focus {
  border-color: var(--red);
  box-shadow: 0 0 0 4px rgba(225, 29, 44, 0.15);
}

/* Custom Modern Dropdown Options (to replace native white-on-white) */
.custom-select-dropdown {
  position: relative;
  display: inline-block;
}

.custom-select-btn {
  appearance: none;
  background-color: rgba(0, 0, 0, 0.2);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 40px 10px 18px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  min-width: 160px;
  text-align: left;
  white-space: nowrap;
}

.custom-select-btn:hover {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.custom-select-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 2100;
  background: rgba(20, 20, 25, 0.98);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  box-shadow: 0 12px 48px rgba(0,0,0,0.6);
  min-width: 220px;
  padding: 8px;
}

.custom-select-menu.active {
  display: block;
  animation: dropdownFadeIn 0.2s ease;
}

@keyframes dropdownFadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.custom-select-option {
  padding: 10px 14px;
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.custom-select-option:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.custom-select-option.selected {
  background: rgba(225, 29, 44, 0.15);
  color: var(--red);
  font-weight: 600;
}

/* Premium Toggle Styling */
.tv-filter-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 0 16px;
  user-select: none;
  height: 44px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  transition: all 0.2s ease;
}

.tv-filter-toggle:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
}

.tv-filter-toggle input { display: none; }

.tv-toggle-slider {
  position: relative;
  width: 40px;
  height: 22px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tv-toggle-slider::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 3px;
  bottom: 3px;
  background: #fff;
  border-radius: 50%;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.tv-filter-toggle input:checked + .tv-toggle-slider {
  background: var(--red);
}

.tv-filter-toggle input:checked + .tv-toggle-slider::before {
  transform: translateX(18px);
}

.tv-toggle-label {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.01em;
}

@media(max-width:768px){
  .tv-search-float{bottom:90px;right:16px;}
  .tv-search-toggle{width:48px;height:48px;font-size:20px;}
  .tv-search-panel{width:280px;right:-8px;padding:14px;}
  .tv-search-panel{bottom:60px;}
}
@media(max-width:480px){
  .tv-search-panel{width:calc(100vw - 32px);right:-8px;}
}

/* Mobile - Modern sleek Apple-like design */
@media(max-width:768px){
  .tv-filter-bar{
    border-radius:20px;
    padding:16px;
    margin-bottom:20px;
    background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.01));
    box-shadow:0 4px 24px rgba(0,0,0,0.15),0 1px 4px rgba(0,0,0,0.1);
  }
  /* Single horizontal scrollable row for all filters */
  .tv-filter-row{
    flex-direction:row;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    touch-action:pan-x pan-y pinch-zoom;
    padding-bottom:8px;
    margin-bottom:0;
  }
  .tv-filter-row::-webkit-scrollbar{display:none;}
  .tv-filter-select{
    min-width:fit-content;
    flex:none;
    white-space:nowrap;
    padding:8px 32px 8px 12px;
    font-size:12px;
    border-radius:10px;
    background-position:right 8px center;
    background-size:12px;
  }
  .tv-filter-toggle{
    padding:0 12px;
    height: 38px;
  }
  .tv-toggle-label{display:none;}
  .tv-filter-count{font-size:11px;margin-left:0;padding:8px 10px;background:rgba(255,255,255,0.03);border-radius:12px;}
  .tv-season-header-static{
    padding:10px 0 12px;
  }
  .tv-season-title{font-size:16px;}
  .tv-ep-grid-modal{grid-template-columns:1fr;gap:8px;}
  /* Hide desktop search row on mobile - use floating instead */
  .tv-filter-search-row{display:none;}
}

@media(max-width:480px){
  .tv-filter-bar{padding:12px 14px;border-radius:16px;margin-bottom:16px;}
  .tv-filter-select{padding:8px 26px 8px 10px;font-size:12px;border-radius:10px;}
  .tv-season-badge{font-size:11px;padding:3px 8px;}
  .tv-season-title{font-size:15px;}
  .tv-season-year{font-size:12px;}
  .tv-toggle-slider{width:40px;height:24px;}
  .tv-toggle-slider::before{width:20px;height:20px;}
  .tv-filter-toggle input:checked+.tv-toggle-slider::before{transform:translateX(14px);}
}

.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px;padding:0 4px;}
.modal-badge{font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--red);margin-bottom:5px;}
.modal-title{font-family:var(--font-display);font-size:32px;line-height:1;color:var(--text);}
.modal-close{
  background:var(--surface2);border:none;color:var(--text2);
  width:36px;height:36px;border-radius:50%;font-size:16px;
  cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  transition:background 0.2s;
}
.modal-close:hover{background:var(--border2);}
.modal-desc{font-size:14px;color:var(--text2);line-height:1.7;margin-bottom:20px;}
.modal-where-title{font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.modal-where{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.watch-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.watch-btn{
  display:flex;align-items:center;gap:0;
  margin-top:0;padding:0;border-radius:16px;
  color:var(--text);cursor:pointer;text-decoration:none;
  background:linear-gradient(145deg,color-mix(in srgb,var(--btn-color,#fff) 12%,rgba(255,255,255,0.06)),color-mix(in srgb,var(--btn-color,#fff) 5%,rgba(255,255,255,0.02)));
  border:1px solid color-mix(in srgb,var(--btn-color,#fff) 25%,rgba(255,255,255,0.1));
  box-shadow:0 8px 32px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  overflow:hidden;position:relative;
  opacity:1;transform:none;
  transition:all 0.3s ease;
}
.watch-btn:hover{
  background:linear-gradient(145deg,color-mix(in srgb,var(--btn-color,#fff) 18%,rgba(255,255,255,0.1)),color-mix(in srgb,var(--btn-color,#fff) 8%,rgba(255,255,255,0.04)));
  box-shadow:0 0 30px -5px var(--btn-glow,var(--btn-color)),0 8px 32px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,255,0.12);
  transform:translateY(-2px);
}
.watch-btn--nolink{opacity:0.4;cursor:default;pointer-events:none;}
.watch-btn-logo-wrap{
  flex-shrink:0;
  min-width:90px;max-width:90px;
  padding:14px 12px;
  display:flex;align-items:center;justify-content:center;
  border-right:none;
  background:transparent;
}
.watch-btn-logo{
  height:20px;width:auto;max-width:80px;
  object-fit:contain;display:block;
  margin:0 auto;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}
.watch-btn-name-fallback{
  font-size:11px;font-weight:800;letter-spacing:0.02em;
  white-space:nowrap;display:none;
  color:var(--btn-color);
}
.watch-btn-logo:not([src]) + .watch-btn-name-fallback,
.watch-btn-logo[src=''] + .watch-btn-name-fallback{
  display:block;
}
.watch-btn-name{
  flex-shrink:0;
  min-width:100px;
  padding:14px 12px;
  font-size:12px;font-weight:800;letter-spacing:0.02em;
  color:var(--btn-color,#fff);
  white-space:nowrap;
  border-right:1px solid rgba(255,255,255,0.1);
  background:linear-gradient(135deg,color-mix(in srgb,var(--btn-color,#fff) 15%,transparent),transparent);
}
.watch-btn-detail{
  flex:1;padding:14px 12px;
  font-size:12px;font-weight:500;
  color:rgba(255,255,255,0.8);
  text-align:left;line-height:1.4;
}
.watch-btn-arrow{
  padding:14px 16px 14px 0;
  font-size:18px;color:var(--btn-color,rgba(255,255,255,0.4));
  flex-shrink:0;
  opacity:0.6;
  transition:opacity 0.2s,transform 0.2s;
}
.watch-btn:hover .watch-btn-arrow{
  opacity:1;
  transform:translateX(4px);
}
.modal-where-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;padding:10px 14px;border-radius:10px;background:var(--surface2);}
.modal-where-plat{font-weight:700;}
.modal-where-plat-link{
  background:none;border:none;padding:0;margin:0;
  font:inherit;font-weight:700;cursor:pointer;
  text-align:left;
}
.modal-where-plat-link:hover{text-decoration:underline;}
.modal-where-detail{color:var(--text2);}
.modal-unavail{
  padding:14px 16px;border-radius:10px;border:1px solid rgba(239,68,68,0.3);
  background:rgba(239,68,68,0.08);font-size:13px;color:var(--text2);
  margin-bottom:16px;line-height:1.6;
}
.modal-ep-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.modal-ep{
  padding:12px;border-radius:12px;background:var(--surface2);
  display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center;
  cursor:pointer;transition:transform .2s var(--ease-out),border-color .2s,background .2s;
  border:1px solid transparent;
  margin-bottom:4px;
}
.modal-ep:hover{transform:translateY(-2px);border-color:var(--border2);background:rgba(255,255,255,0.04);}
.modal-ep-thumb{
  height:78px;border-radius:8px;background-size:cover;background-position:center;
  background-color:#1a1a1a;
}
.modal-ep-body{min-width:0;}
.modal-ep-num{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:4px;}
.modal-ep-title{font-size:13px;font-weight:600;color:var(--text);}
.modal-ep-etv{display:inline-block;font-size:10px;font-weight:700;color:#FF6B00;background:rgba(255,107,0,0.12);border:1px solid rgba(255,107,0,0.3);border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle;}
.modal-ep-filler{display:inline-block;font-size:9px;font-weight:700;color:#1b74e4;background:rgba(27,116,228,0.12);border:1px solid rgba(27,116,228,0.3);border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:0.04em;}
.modal-ep--etv{background:rgba(255,107,0,0.07);border:1px solid rgba(255,107,0,0.18);}
.modal-ep--special{background:rgba(255,200,0,0.07);border:1px solid rgba(255,200,0,0.18);}
.ep-star{color:#FFB300;font-size:10px;vertical-align:super;line-height:1;margin-left:1px;}
.ep-star--2{color:#FF8C00;}
.modal-ep-grid .modal-ep--unavailable{opacity:0.7;}
.modal-ep-grid .modal-ep--unavailable .modal-ep-thumb{filter:grayscale(0.3);}
.modal-etv-summary{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;border-radius:10px;
  background:rgba(255,107,0,0.09);border:1px solid rgba(255,107,0,0.28);
  font-size:13px;color:var(--text2);margin-bottom:16px;line-height:1.5;
}

/* ── Movie modal poster-left layout ── */
.mmh-close{
  position:absolute;top:12px;right:12px;z-index:10;
  background:rgba(7,7,15,0.55);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.15);
  width:32px;height:32px;border-radius:50%;color:#fff;
  font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
/* Movie modal panel - with proper padding for scrolling */
.modal-panel.modal-panel-fullpage.modal-movie-panel {
  padding: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.modal-movie-layout{
  display:flex;flex-direction:row;gap:0;
  position:relative;
  min-height:100%;
}
.mml-poster-wrap{
  flex:0 0 200px;width:200px;flex-shrink:0;
  position:relative;align-self:stretch;min-height:360px;
}
.mml-poster-img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  display:block;
}
.mml-body{
  flex:1;min-width:0;padding:20px 24px 24px 20px;
  display:flex;flex-direction:column;gap:0;overflow-y:auto;
}
@media(max-width:600px){
  .modal-movie-layout{flex-direction:column;}
  .mml-poster-wrap{flex:none;width:100%;min-height:0;height:220px;}
  .mml-poster-img{object-position:center 15%;}
  .mml-body{padding:16px;}
}
/* ── Movie modal hero (legacy, used by other modals) ── */
.modal-movie-hero{
  position:relative;width:calc(100% + 56px);margin:-8px -28px 0;
  height:200px;overflow:hidden;flex-shrink:0;
}
.mmh-poster{
  position:absolute;inset:0;background-size:cover;background-position:center top;
  transform:scale(1.04);transition:transform 0.6s var(--ease-out);
}
.modal-root.open .mmh-poster{transform:scale(1);}
.mmh-overlay{position:absolute;inset:0;}
.mmh-info{
  position:absolute;bottom:0;left:0;right:0;
  padding:16px 20px 20px;
}
.mmh-badge{
  font-size:10px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(255,255,255,0.6);margin-bottom:5px;
}
.mmh-title{
  font-family:var(--font-display);font-size:26px;line-height:1;
  color:#fff;text-shadow:0 2px 12px rgba(0,0,0,0.6);
  margin-bottom:8px;
}
.mmh-close{
  position:absolute;top:12px;right:12px;
  background:rgba(7,7,15,0.55);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.15);
}
.mmb-status{
  display:inline-block;font-size:10px;font-weight:800;letter-spacing:0.1em;
  text-transform:uppercase;padding:3px 10px;border-radius:100px;
}
.mmb-status--yes{background:rgba(34,197,94,0.2);color:#4ade80;border:1px solid rgba(34,197,94,0.35);}
.mmb-status--no{background:rgba(120,120,120,0.2);color:#aaa;border:1px solid rgba(120,120,120,0.3);}
.mmb-status--soon{background:rgba(234,179,8,0.18);color:#facc15;border:1px solid rgba(234,179,8,0.3);}
.modal-movie-body{padding:16px 0 0;}

/* Movie modal variant: centered floating poster card */
.modal-movie-hero--poster{
  height:390px;
  background:radial-gradient(circle at 50% 20%, rgba(255,255,255,0.12), rgba(7,7,15,0.92) 68%);
}
.modal-movie-hero--poster .mmh-poster{
  inset:0;
  width:100%;
  height:100%;
  left:auto;
  top:auto;
  bottom:auto;
  transform:scale(1.02);
  border-radius:0;
  background-size:cover;
  background-position:center center;
  box-shadow:none;
}
.modal-root.open .modal-movie-hero--poster .mmh-poster{transform:scale(1);}
.modal-movie-hero--poster .mmh-overlay{
  background:linear-gradient(to top, rgba(7,7,15,0.55) 0%, rgba(7,7,15,0.18) 58%, rgba(7,7,15,0.08) 100%);
}
.modal-movie-hero--poster .mmh-info{
  padding:16px 20px 20px;
}
.modal-movie-hero--poster .mmh-badge,
.modal-movie-hero--poster .mmh-title{
  display:none;
}
.modal-movie-body .mmh-title{
  font-family:var(--font-display);
  font-size:34px;
  line-height:1;
  color:#fff;
  text-shadow:none;
}

/* ── Season modal thumbnail banner ── */
.modal-season-thumb{
  position:relative;width:calc(100% + 56px);margin:-8px -28px 20px;
  height:160px;overflow:hidden;background-size:cover;background-position:center 20%;
  flex-shrink:0;
}
.modal-season-thumb-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(7,7,15,0.15) 0%,rgba(7,7,15,0.85) 100%);
}
.modal-season-thumb-num{
  position:absolute;top:16px;left:20px;
  font-family:var(--font-display);font-size:52px;line-height:1;
  color:rgba(255,255,255,0.12);letter-spacing:-0.02em;
}
.modal-season-thumb-label{
  position:absolute;bottom:24px;left:20px;right:20px;
  font-family:var(--font-display);font-size:24px;color:#fff;line-height:1;
}
.modal-season-thumb-eps{
  position:absolute;bottom:8px;left:20px;
  font-size:11px;color:rgba(255,255,255,0.55);font-weight:600;letter-spacing:0.05em;
}
.modal-panel.modal-panel-fullpage .modal-header{margin-bottom:8px;}
.modal-panel.modal-panel-fullpage .modal-header .modal-close{display:none;}
.modal-fp-close{
  position:sticky;top:12px;
  float:right;
  width:36px;height:36px;border-radius:50%;
  background:rgba(7,7,15,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.15);
  color:#fff;font-size:16px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:20;
  margin:0 0 -48px auto;
  flex-shrink:0;
  transition:background 0.2s;
}
.modal-fp-close:hover{background:rgba(7,7,15,0.8);}
.modal-panel.modal-panel-fullpage .modal-season-thumb{
  width:100%;
  height:220px;
  margin:8px 0 18px;
  border-radius:14px;
  background-position:center 28%;
}
.modal-panel.modal-panel-fullpage .modal-movie-hero{
  width:100%;
  height:220px;
  margin:8px 0 18px;
  border-radius:14px;
}
.modal-panel.modal-panel-fullpage .modal-movie-hero--poster{
  height:480px;
}
.modal-panel.modal-panel-fullpage .modal-movie-hero--poster .mmh-poster{
  width:100%;
  top:0;
  bottom:0;
}
.modal-panel.modal-panel-fullpage .mmh-info{
  padding:14px 16px 16px;
}

/* ── FOOTER ─────────────────────── */
.site-footer{
  background:var(--surface);border-top:1px solid var(--border);
  padding:60px 0 30px;
}
.footer-inner{max-width:1400px;margin:0 auto;padding:0 40px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-logo{margin-bottom:16px;}
.footer-bbdci-logo{height:48px;width:auto;display:block;object-fit:contain;}
.footer-tagline{font-size:13px;color:var(--text2);line-height:1.7;max-width:300px;margin-bottom:18px;}
.footer-social{
  display:flex;flex-direction:column;gap:8px;margin-bottom:20px;
}
.footer-social-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;color:var(--text2);text-decoration:none;
  padding:7px 12px;border-radius:8px;
  border:1px solid var(--border);background:var(--surface2);
  transition:color 0.2s,border-color 0.2s,background 0.2s;
  max-width:fit-content;
}
.footer-social-btn:hover{color:var(--text);border-color:var(--red);background:rgba(204,34,51,0.08);}
.footer-disclaimer{
  font-size:11px;color:var(--muted);line-height:1.7;max-width:300px;
  padding:12px 14px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);
}
.footer-col-title{
  font-size:10px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:18px;
}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{
  font-size:13px;color:var(--text2);cursor:pointer;
  transition:color 0.2s;padding:2px 0;
}
.footer-links a:hover{color:var(--text);}
.footer-link-badge{
  display:inline-block;font-size:8px;font-weight:800;letter-spacing:0.08em;
  padding:2px 6px;border-radius:4px;margin-left:6px;vertical-align:middle;
}
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:24px;border-top:1px solid var(--border);
  flex-wrap:wrap;gap:12px;
}
.footer-copy{font-size:12px;color:var(--muted);}
.footer-made{
  font-size:11px;color:var(--muted);
  display:flex;align-items:center;gap:6px;
}
.footer-made a{color:var(--text2);transition:color 0.2s;}
.footer-made a:hover{color:var(--text);}

/* ── RESPONSIVE ──────────────────────────── */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-brand{grid-column:1/-1;}
  .lang-section-grid{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .merch-feature-grid{grid-template-columns:1fr;}
  .merch-main-card--teaser{grid-template-columns:1fr;}
  .merch-card-img{min-height:340px;}
  .spinoff-grid{grid-template-columns:1fr;}
  .pp-hero{height:480px;}
  .pp-hero-content{flex-direction:column;align-items:flex-start;gap:16px;}
  .pp-hero-cta{align-self:flex-start;}
  .pp-hero-logo-wrap .plat-logo-svg{height:44px;}
  .pp-hero-meta-strip{gap:6px;}
  .pp-panel{padding:24px 20px;}
}

/* ════════════════════════════════════════════════════
   MOBILE REDESIGN v2
   Breakpoint: ≤768px
════════════════════════════════════════════════════ */

/* ── Mobile top bar (hidden on desktop) ── */
.mobile-top-bar{display:none;}
.mobile-search-overlay{display:none;}

/* ── Mobile bottom bar + more menu (hidden on desktop) ── */
.mobile-bottom-bar{display:none;}
.mbb-more-menu{display:none;}
.mobile-back-btn{display:none;}
.mobile-search-pill{display:none;}

@media(max-width:768px){
  /* ── Base ── */
  body{font-size:16px;}
  #nav{display:none !important;}

  /* ── Mobile top bar ── */
  .mobile-top-bar{
    display:flex;
    position:fixed;top:0;left:0;right:0;z-index:200;
    height:54px;
    align-items:center;justify-content:space-between;
    padding:0 20px;
    background:rgba(7,7,15,0.82);
    backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .mtb-logo{display:flex;align-items:center;gap:9px;cursor:pointer;}
  .mtb-logo-img{height:26px;width:auto;}
  .mtb-logo-text{font-family:var(--font-display);font-size:17px;color:#fff;letter-spacing:0.04em;line-height:1;}
  .mtb-logo-text em{color:var(--red);font-style:normal;}
  .mtb-actions{display:flex;align-items:center;gap:8px;}
  .mtb-search-btn{
    width:36px;height:36px;border-radius:50%;
    background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.14);
    display:flex;align-items:center;justify-content:center;
    color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;
    transition:background 0.2s;
  }
  .mtb-search-btn:active{background:rgba(255,255,255,0.2);}

  /* ── Mobile search overlay ── */
  .mobile-search-overlay{
    display:block;
    position:fixed;top:0;left:0;right:0;z-index:400;
    padding:7px 12px;
    background:rgba(7,7,15,0.97);
    backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
    transform:translateY(-110%);opacity:0;
    transition:transform 0.26s var(--ease-out),opacity 0.2s;
    pointer-events:none;
  }
  .mobile-search-overlay.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .mso-bar{display:flex;align-items:center;gap:10px;height:54px;}
  .mso-input-wrap{
    flex:1;display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);
    border-radius:12px;padding:0 12px;height:42px;
  }
  .mso-icon{color:rgba(255,255,255,0.45);flex-shrink:0;}
  .mso-input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:16px;}
  .mso-input::placeholder{color:rgba(255,255,255,0.3);}
  .mso-clear{
    display:none;width:20px;height:20px;border-radius:50%;
    background:rgba(255,255,255,0.18);border:none;
    color:rgba(255,255,255,0.7);font-size:10px;cursor:pointer;
    align-items:center;justify-content:center;flex-shrink:0;
  }
  .mso-cancel{
    background:none;border:none;color:var(--red);
    font-size:14px;font-weight:700;cursor:pointer;
    white-space:nowrap;padding:8px 0;-webkit-tap-highlight-color:transparent;
  }

  /* ── Bottom nav bar — iOS floating pill ── */
  .mobile-bottom-bar {
    display: flex;
    position: fixed;
    bottom: calc(16px + env(safe-area-inset-bottom,0));
    left: 16px;
    right: 16px;
    max-width: 480px;
    margin: 0 auto;
    z-index: 999;
    background: linear-gradient(135deg, rgba(14, 14, 28, 0.72) 0%, rgba(7, 7, 15, 0.85) 100%);
    backdrop-filter: blur(24px) saturate(1.8);
    -webkit-backdrop-filter: blur(24px) saturate(1.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 32px;
    height: 62px;
    padding: 0 8px;
    align-items: center;
    box-shadow: 
      0 12px 40px rgba(0, 0, 0, 0.55), 
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 0 15px rgba(204, 34, 51, 0.05);
    transition: transform 0.4s var(--spring), opacity 0.3s;
  }
  .mobile-bottom-bar.bar-hidden {
    transform: translateY(calc(100% + 28px));
    opacity: 0;
    pointer-events: none;
  }
  .mbb-tab {
    flex: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    height: 46px;
    border-radius: 23px;
    padding: 0 10px;
    color: var(--text2);
    opacity: 0.45;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    border: 1px solid transparent;
    background: none;
    position: relative;
    transition: 
      flex 0.38s var(--spring), 
      background-color 0.38s var(--spring), 
      border-color 0.38s var(--spring), 
      box-shadow 0.38s var(--spring), 
      color 0.38s var(--spring), 
      opacity 0.38s var(--spring);
  }
  .mbb-tab.active {
    flex: 1.45;
    opacity: 1;
    color: var(--red);
    background: linear-gradient(135deg, rgba(204, 34, 51, 0.16) 0%, rgba(204, 34, 51, 0.06) 100%);
    border: 1px solid rgba(204, 34, 51, 0.22);
    box-shadow: 
      0 4px 14px rgba(204, 34, 51, 0.15), 
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .mbb-tab:active {
    opacity: 0.75;
  }
  .mbb-tab-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.38s var(--spring);
  }
  .mbb-tab:active .mbb-tab-icon {
    transform: scale(0.9) !important;
  }
  .mbb-tab.active .mbb-tab-icon {
    transform: scale(1.08) translateY(-1px);
  }

  /* ─── Premium Mobile Nav SVG Overrides ─── */
  .mbb-tab svg.svg-conan-icon {
    width: 22px;
    height: 22px;
    display: block;
    overflow: visible;
  }

  /* Base paths (silver outline, inactive) */
  .mbb-tab .svg-base-path {
    stroke: var(--text2);
    stroke-width: 2;
    opacity: 0.6;
    fill: none;
    transition: stroke 0.38s var(--spring), opacity 0.38s var(--spring);
  }
  .mbb-tab.active .svg-base-path {
    stroke: var(--red);
    opacity: 1;
  }

  /* Detective Gadget Accent paths (glows, colors) */
  .mbb-tab .svg-accent-path {
    stroke: var(--text2);
    stroke-width: 2;
    fill: none;
    opacity: 0.45;
    transition: stroke 0.38s var(--spring), fill 0.38s var(--spring), opacity 0.38s var(--spring), filter 0.38s var(--spring);
  }
  .mbb-tab.active .svg-accent-path {
    stroke: var(--red);
    opacity: 1;
    filter: drop-shadow(0 0 5px rgba(204,34,51,0.6));
  }

  /* Specific SVG Fill overrides */
  .mbb-tab[data-mbb="home"].active .svg-accent-path,
  .mbb-tab[data-mbb="movies"].active .svg-accent-path {
    fill: var(--red);
  }
  .mbb-tab[data-mbb="tvshows"].active .svg-accent-path {
    fill: var(--red);
    stroke: var(--red);
  }
  .mbb-tab[data-mbb="more"].active .svg-accent-path {
    fill: var(--red);
    stroke: var(--red);
  }

  /* Ambient Radial/Linear Glow Layers */
  .mbb-tab .svg-accent-glow {
    opacity: 0;
    transform: scale(0.95);
    transform-origin: center;
    transition: opacity 0.4s var(--spring), transform 0.4s var(--spring);
  }
  .mbb-tab.active .svg-accent-glow {
    opacity: 1;
    transform: scale(1);
  }

  /* Light Theme Inherit overrides for SVG strokes */
  [data-theme="light"] .mbb-tab:not(.active) .svg-base-path,
  [data-theme="light"] .mbb-tab:not(.active) .svg-accent-path {
    stroke: currentColor;
  }

  .mbb-tab-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    color: inherit;
    transition: max-width 0.38s var(--spring), opacity 0.28s ease, margin 0.38s var(--spring);
  }
  .mbb-tab.active .mbb-tab-label {
    max-width: 80px;
    opacity: 1;
    margin-left: 6px;
  }

  /* ── More menu sheet ── */
  .mbb-more-menu{
    display:block;
    position:fixed;bottom:calc(82px + env(safe-area-inset-bottom,0));left:0;right:0;z-index:350;
    background:rgba(12,12,22,0.97);
    backdrop-filter:blur(40px) saturate(1.8);-webkit-backdrop-filter:blur(40px) saturate(1.8);
    border-top:1px solid rgba(255,255,255,0.1);
    border-radius:24px 24px 0 0;
    transform:translateY(calc(100% + 82px + env(safe-area-inset-bottom,0)));transition:transform 0.38s cubic-bezier(0.32,0.72,0,1);
    padding:0 20px 28px;
    pointer-events:none;
    overflow-y:auto;max-height:80svh;
  }
  .mbb-more-menu.open{transform:translateY(0);pointer-events:auto;}
  .mbb-more-drag-handle{
    width:36px;height:4px;border-radius:4px;
    background:rgba(255,255,255,0.2);
    margin:12px auto 0;
  }
  .mbb-more-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 0 8px;
  }
  .mbb-more-header-title{
    font-family:var(--font-display);font-size:26px;color:#fff;letter-spacing:0.02em;
  }
  .mbb-more-close{
    width:32px;height:32px;border-radius:50%;
    background:rgba(255,255,255,0.12);border:none;
    color:#fff;display:flex;align-items:center;justify-content:center;
    cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .mbb-more-section-label{
    font-size:10px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;
    color:rgba(255,255,255,0.3);margin:24px 0 12px 4px;
  }
  .mbb-more-list{
    display:flex;flex-direction:column;gap:2px;
    background:rgba(255,255,255,0.03);border-radius:18px;
    padding:4px;border:1px solid rgba(255,255,255,0.06);
    margin-bottom:8px;
  }
  .mbb-more-row{
    display:flex;align-items:center;gap:14px;
    padding:10px 12px;border-radius:14px;
    cursor:pointer;transition:background 0.2s,transform 0.2s;
    -webkit-tap-highlight-color:transparent;
  }
  .mbb-more-row:active{
    background:rgba(255,255,255,0.08);
    transform:scale(0.985);
  }
  .mbb-more-row-icon{
    width:36px;height:36px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;flex-shrink:0;
    box-shadow:0 4px 12px rgba(0,0,0,0.2);
  }
  .mbb-more-row-body{
    flex:1;display:flex;flex-direction:column;gap:1px;min-width:0;
  }
  .mbb-more-row-name{
    font-size:14px;font-weight:600;color:#fff;
  }
  .mbb-more-row-sub{
    font-size:11px;color:rgba(255,255,255,0.45);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .mbb-more-row-chevron{
    color:rgba(255,255,255,0.2);flex-shrink:0;
  }

  /* ── Campaign Hero Card ── */
  .mbb-campaign-card{
    position:relative;margin-top:28px;
    padding:20px;border-radius:22px;
    background:linear-gradient(135deg,#1e1e2e 0%,#0f0f1a 100%);
    border:1px solid rgba(255,255,255,0.1);
    overflow:hidden;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    box-shadow:0 12px 40px rgba(0,0,0,0.4);
  }
  .mbb-campaign-card:active{transform:scale(0.96);}
  
  .mbb-campaign-glow{
    position:absolute;top:-50%;left:-20%;width:100%;height:200%;
    background:radial-gradient(circle,rgba(225,29,44,0.15) 0%,transparent 70%);
    pointer-events:none;z-index:1;
  }
  
  .mbb-campaign-shimmer{
    position:absolute;inset:0;
    background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,0.03) 40%,rgba(255,255,255,0.03) 45%,transparent 60%);
    background-size:200% 100%;
    animation:mbb-shimmer 4s infinite linear;
    z-index:2;
  }
  @keyframes mbb-shimmer{
    0%{background-position:200% 0;}
    100%{background-position:-200% 0;}
  }

  .mbb-campaign-content{
    position:relative;z-index:3;
    display:flex;align-items:center;gap:16px;
  }
  .mbb-campaign-icon{
    width:48px;height:48px;border-radius:14px;
    background:linear-gradient(135deg,#e11d2c,#b91c1c);
    display:flex;align-items:center;justify-content:center;
    color:#fff;flex-shrink:0;
    box-shadow:0 8px 20px rgba(185,28,28,0.3);
  }
  .mbb-campaign-text{flex:1;display:flex;flex-direction:column;gap:2px;}
  .mbb-campaign-eyebrow{
    font-size:9px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;
    color:var(--red);margin-bottom:2px;
  }
  .mbb-campaign-title{
    font-family:var(--font-display);font-size:20px;color:#fff;
    letter-spacing:0.02em;line-height:1.1;
  }
  .mbb-campaign-sub{
    font-size:12px;color:rgba(255,255,255,0.5);margin-top:2px;
  }
  .mbb-campaign-arrow-wrap{
    color:rgba(255,255,255,0.2);flex-shrink:0;
  }

  /* ── Back button (inner pages) — standalone circle ── */
  .mobile-back-btn{
    position:fixed;top:66px;left:16px;z-index:150;
    width:40px;height:40px;border-radius:50%;
    background:rgba(7,7,15,0.75);backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,0.15);
    display:flex;align-items:center;justify-content:center;
    font-size:18px;color:#fff;cursor:pointer;
    transition:background 0.2s,transform 0.2s var(--spring);
    -webkit-tap-highlight-color:transparent;
    box-shadow:0 4px 16px rgba(0,0,0,0.4);
  }
  .mobile-back-btn:active{transform:scale(0.92);}
  /* Hide old pp-hero-back on mobile */
  .pp-hero-back{display:none;}

  /* ── Push content below fixed top bar ── */
  #app{padding-top:54px;}

  /* ── Sections — tight spacing (override ID-level rules) ── */
  section,
  #hero,#platforms,#languages,#series,#movies,#spinoffs,#manga,#browse,#archive,#merch,#pvr,#etv,#events {
    padding:20px 0 0 !important;
    content-visibility:visible !important;
    contain-intrinsic-size:unset !important;
  }
  section:last-of-type,
  #archive,#etv {
    padding-bottom:calc(100px + env(safe-area-inset-bottom,0)) !important;
  }
  #hero { padding:0 !important; margin:10px 12px 0 !important; }
  .section-max{padding:0 14px;}
  /* Hide clutter */
  .section-eyebrow{display:none;}
  .section-sub{display:none;}
  .section-title{font-size:22px;margin-bottom:6px;letter-spacing:0.01em;}
  .section-max > .section-title{padding:0 14px;}
  .section-title-row{margin-bottom:6px;align-items:center;padding:0 14px;}
  .section-view-all{align-self:center;margin-top:0;}
  /* Kill all internal top margins that add space */
  .lang-section-grid{margin-top:8px !important;}
  .seasons-group{margin-bottom:8px !important;}
  .platforms-row-wrap{margin-top:6px;}
  .manga-teaser{margin:0 14px;}
  .scroll-row{margin-top:6px;padding-bottom:0;overflow-y:hidden !important;}
  .scroll-row::-webkit-scrollbar{display:none;}
  .scroll-row{scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;}
  .platforms-grid{overflow-y:hidden !important;touch-action:pan-x pan-y pinch-zoom;}

  /* ── Hero — full-cover swipeable card ── */
  #hero{
    height:52svh;
    min-height:280px;max-height:420px;
    margin:10px 12px 0;
    border-radius:20px;
    overflow:hidden;
    position:relative;
  }
  .hero-carousel{height:100%;border-radius:20px;overflow:hidden;}
  .hero-slide{
    align-items:flex-end;
    padding:0 18px 46px;
    border-radius:20px;
  }
  /* All slides: image covers full card */
  .hero-slide-bg{
    border-radius:20px;
    background-size:cover !important;
    background-position:center center !important;
    filter:brightness(0.75) blur(3px);
    scale:1.04;
    opacity:1 !important;
  }
  /* Override left-to-right desktop grad with bottom-up on mobile so text area is readable but image is visible */
  .hero-slide-bg::after{
    background:linear-gradient(to top, rgba(7,7,15,0.65) 0%, rgba(7,7,15,0.1) 30%, transparent 55%) !important;
  }
  .hero-slide-content{z-index:10;}
  .hero-slide-fade{display:none;}
  .hero-title,.hero-subtitle,.hero-desc,.hero-tag{text-shadow:0 2px 12px rgba(0,0,0,0.9),0 1px 4px rgba(0,0,0,1);}
  .hero-cta{box-shadow:0 4px 20px rgba(0,0,0,0.6);}
  /* contain-right slides: also use image as full bg on mobile */
  .hero-slide-img-right{display:none;}
  .hero-slide-img-right-grad{display:none;}
  /* Hero text sizing — compact */
  .hero-title{font-size:clamp(22px,5.5vw,34px);}
  .hero-subtitle{font-size:clamp(13px,3.5vw,18px);}
  .hero-tag{font-size:9px;padding:3px 9px;margin-bottom:6px;}
  .hero-desc{font-size:12px;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .hero-cta{margin-top:8px;padding:9px 18px;font-size:11px;}
  .hero-quick-actions{display:none;}
  /* Carousel nav: dots only at bottom of card */
  .hero-carousel-nav{left:50%;bottom:12px;transform:translateX(-50%);gap:8px;}
  .carousel-btn{width:28px;height:28px;font-size:16px;background:rgba(0,0,0,0.35);border-color:rgba(255,255,255,0.25);}
  /* Stats bar — hidden on mobile (too cluttered) */
  .hero-stats-bar{display:none !important;}

  /* ── Homepage section rows — teaser rows ── */
  .home-section-row{margin-bottom:40px;}
  .home-section-row-header{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:14px;
  }
  .home-section-row-title{
    font-family:var(--font-display);font-size:22px;letter-spacing:0.04em;color:var(--text);
  }
  .home-section-row-title em{color:var(--red);font-style:normal;}
  .home-section-row-more{
    font-size:12px;font-weight:700;color:var(--red);
    display:flex;align-items:center;gap:4px;cursor:pointer;
    background:none;border:none;padding:8px 0;
    -webkit-tap-highlight-color:transparent;
    min-height:44px;
  }

  /* ── Platform row: bigger cards ── */
  .platforms-grid{gap:10px;}
  .platform-scroll-btn{display:none;}
  .lang-scroll-btn{display:none;}
  .plat-card{flex:0 0 76vw;max-width:340px;height:180px;}
  .plat-card-bg{opacity:0.75;backdrop-filter:blur(2px);}

  /* ── Season cards: bigger ── */
  .tv-seasons-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;padding:0 8px;}
  #seasons-all{
    gap:12px;
    padding:0 8px;
    -webkit-overflow-scrolling:touch;
  }
  .season-card{flex:0 0 150px;height:200px;}

  /* ── Movie grid: 2-col ── */
  .browse-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .movies-big-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .movie-big-card{min-height:90px;}
  .mbc-poster{flex:0 0 70px;}
  .mbc-desc{display:none;}
  .mbc-body{padding:10px 12px;}
  /* Movie row cards on home — horizontal scroll, bigger */
  .movie-row-card{flex:0 0 72vw;max-width:300px;height:130px;}
  .mrc-poster{flex:0 0 90px;}

  /* ── Episode lists: vertical stack ── */
  .modal-ep-grid{grid-template-columns:1fr;gap:10px;}
  .modal-ep{grid-template-columns:108px 1fr;padding:10px;gap:10px;}
  .modal-ep-thumb{height:66px;}

  /* ── Platform page ── */
  .pp-hero{height:360px;}
  .pp-hero-content{bottom:16px;left:16px;right:16px;}
  .pp-hero-logo-wrap .plat-logo-svg{height:36px;}
  .pp-tabs{top:56px;}
  .pp-tab{padding:12px 14px;font-size:10px;white-space:nowrap;flex-shrink:0;}
  .pp-panel{padding:16px;}
  .pp-stat{padding:14px 8px 10px;}
  .pp-stat-n{font-size:20px;}
  .pp-stat-l{font-size:9px;letter-spacing:0.06em;}
  .pp-section-title{font-size:22px;}

  /* ── Modal → bottom sheet with scale bg ── */
  .modal-panel{
    padding:8px 20px calc(32px + env(safe-area-inset-bottom,0));
    max-height:92svh;
    border-radius:20px 20px 0 0;
  }
  .modal-root.modal-fullpage{align-items:flex-end;}
  .modal-panel.modal-panel-fullpage{
    width:100%;
    max-width:100%;
    max-height:100svh;
    height:100svh;
    border-radius:20px 20px 0 0;
    margin:0;
    padding:12px 20px calc(24px + env(safe-area-inset-bottom,0));
    transform:translateY(100%);
    transition:transform 0.3s var(--ease-out);
  }
  .modal-root.open .modal-panel.modal-panel-fullpage{transform:translateY(0);}
  /* Swipe-down tracking for modals */
  .modal-panel.modal-panel-fullpage.swipe-tracking{transition:none;}
  /* Content padding for fullpage modals */
  .modal-panel.modal-panel-fullpage .modal-header,
  .modal-panel.modal-panel-fullpage .modal-desc,
  .modal-panel.modal-panel-fullpage .modal-where-title,
  .modal-panel.modal-panel-fullpage .watch-btns,
  .modal-panel.modal-panel-fullpage .modal-ep-grid{
    padding-left:4px;
    padding-right:4px;
  }
  /* Movie modal full screen on mobile */
  .modal-panel.modal-panel-fullpage.modal-movie-panel{
    border-radius:0 !important;
    padding:0 !important;
  }
  .mml-poster-wrap{height:65vw;min-height:240px;max-height:340px;}
  .mml-body{padding:16px 20px calc(32px + env(safe-area-inset-bottom,0));overflow-y:visible;flex:none;}
  .modal-movie-layout{overflow-y:auto;max-height:100%;}
  /* Scale page behind modal when open */
  body.modal-open #app{
    transform:scale(0.97) translateY(-8px);
    border-radius:14px;overflow:hidden;
    transition:transform 0.4s var(--ease-out);
  }
  body:not(.modal-open) #app{
    transform:scale(1) translateY(0);
    transition:transform 0.4s var(--ease-out);
  }

  /* ── Language picker → bottom sheet (same modal) ── */
  /* already uses modal system */

  /* ── Footer ── */
  .footer-top{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;}
  .site-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0));}
  section:last-of-type{padding-bottom:90px;}

  /* ── ETV section lang pills → horizontal carousel on mobile ── */
  .lang-pills{
    flex-wrap:nowrap;overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .lang-pills::-webkit-scrollbar{display:none;}
  .lang-pill{flex-shrink:0;}

  /* ── All tap targets ≥ 44px ── */
  .filter-pill{min-height:44px;display:flex;align-items:center;}
  .filter-select{min-height:44px;}
  .mpf-btn{min-height:44px;display:flex;align-items:center;}
  .section-view-all{min-height:44px;display:inline-flex;align-items:center;}
  .pp-tab{min-height:44px;}
  .browse-heading-row{flex-direction:column;align-items:flex-start;}
  .filter-dropdowns{justify-content:flex-start;width:100%;}
  .filter-dropdown-group{min-width:0;flex:1;}

  /* ── Lang big pills ── */
  .lang-dubs-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .lang-one-row{gap:10px;}
  .lang-big-pill{width:132px;min-width:132px;min-height:132px;}
  .lang-pill-name{font-size:22px;}

  /* ── Spinoff grid → horizontal scroll on mobile ── */
  .spinoff-grid{gap:12px;-webkit-overflow-scrolling:touch;}
  .spinoff-grid .content-card{flex:0 0 150px;height:200px;}

  /* ── Browse page — mobile ── */
  .movies-page-hero{height:200px;}
  .movies-page-hero-content{padding:0 16px 20px;}
  .movies-page-body{padding:16px 0 calc(80px + env(safe-area-inset-bottom,0));}
  .movies-page-body .section-max{padding:0 12px;}
  /* Mobile: Stack search above filters - minimal padding, NO border */
  .browse-sticky-filters {
    position: relative !important;
    top: 0 !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .browse-sticky-filters .browse-search-row {
    width: 100%;
    order: -1;
    margin-bottom: 4px;
  }
  .browse-sticky-filters .browse-filters-row {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 6px;
    padding: 4px 0;
  }
  .browse-sticky-filters .browse-filters-row::-webkit-scrollbar {
    display: none;
  }
  /* Narrower pill buttons on mobile */
  .browse-sticky-filters .custom-select-btn,
  .browse-sticky-filters .multi-select-btn {
    padding: 6px 12px;
    font-size: 13px;
    min-width: auto;
  }
  /* Remove showing results text on mobile */
  .results-count-text,
  .browse-results-count {
    display: none !important;
  }
  /* Prevent border/outline on scroll/active states */
  .browse-sticky-filters .custom-select-btn:focus,
  .browse-sticky-filters .multi-select-btn:focus,
  .browse-sticky-filters .browse-search-input:focus {
    outline: none;
    box-shadow: none;
    border-color: rgba(255, 255, 255, 0.2);
  }
  .browse-sticky-filters .custom-select-btn:active,
  .browse-sticky-filters .multi-select-btn:active {
    border-color: rgba(255, 255, 255, 0.2);
  }
  /* Row 1: Search bar full width */
  .browse-sticky-filters .browse-search-wrap {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    padding: 12px 16px;
    margin-bottom: 12px;
  }
  .browse-sticky-filters .browse-search-input {
    font-size: 15px;
    padding: 0;
  }
  /* Row 2: Horizontal scrolling filter pills */
  .browse-sticky-filters .browse-filters-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .browse-sticky-filters .browse-filters-row::-webkit-scrollbar {
    display: none;
  }
  .browse-sticky-filters .browse-multi-filters {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .browse-sticky-filters .browse-multi-filters::-webkit-scrollbar {
    display: none;
  }
  /* Netflix-style pill buttons */
  .browse-sticky-filters .custom-select-btn,
  .browse-sticky-filters .multi-select-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
  }
  .browse-sticky-filters .custom-select-btn:active,
  .browse-sticky-filters .multi-select-btn:active {
    background: rgba(255, 255, 255, 0.2);
  }
  /* Active/selected state */
  .browse-sticky-filters .custom-select-btn.active,
  .browse-sticky-filters .custom-select-btn[data-active="true"] {
    background: rgba(255, 255, 255, 0.95);
    color: var(--bg);
    border-color: transparent;
  }
  .browse-multi-filters{
    display:flex;flex-direction:row;flex-wrap:nowrap;
    gap:7px;overflow-x:auto;padding:2px 0 4px;
    scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
  }
  .browse-multi-filters::-webkit-scrollbar{display:none;}
  .browse-multi-filters .filter-dropdown-group{flex:0 0 auto;min-width:0;}
  .browse-multi-filters .filter-dropdown-group .filter-select{
    padding:8px 32px 8px 10px;font-size:12px;border-radius:10px;
    white-space:nowrap;min-height:38px;width:auto;min-width:fit-content;
  }
  /* Plot dropdown on mobile — normal dropdown fixed to top of screen */
  .browse-multi-filters .multi-select-menu{
    position:fixed !important;
    top:120px !important;left:12px !important;right:12px !important;bottom:auto !important;
    z-index:601;border-radius:14px;
    max-height:60vh;overflow-y:auto;
    box-shadow:0 8px 32px rgba(0,0,0,0.5);
  }
  .browse-page-meta{font-size:12px;margin-bottom:8px;}

  /* ── Language modal — mobile ── */
  .lm-plat-section{padding:0 0 16px;}
  .lm-plat-header{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:12px 0 10px;}
  .lm-plat-name{font-size:15px;font-weight:700;}
  .lm-plat-detail{font-size:12px;color:var(--text2);flex-basis:100%;padding-left:18px;}
  .lm-plat-link{margin-left:auto;font-size:12px;padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;white-space:nowrap;flex-shrink:0;}
  .lm-grid-label{font-size:10px;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin:10px 0 6px;}
  /* On mobile: convert horizontal scroll rows to wrapping grid */
  .lm-season-scroll,.lm-movie-scroll{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));
    gap:8px;overflow-x:visible;cursor:default;
  }
  .lm-season-card,.lm-movie-card{
    flex:none;width:auto;height:116px;border-radius:10px;
  }
  .lm-movie-title{font-size:10px;line-height:1.3;}
  .lm-movie-year{font-size:9px;}
  .lm-plat-divider{margin:8px 0;border-top:1px solid var(--border);}
  .lm-etv-note{font-size:11px;padding:8px 12px;border-radius:8px;margin-bottom:8px;}
  /* Platform header: stack detail below name/link */
  .lm-plat-header{padding:10px 0 8px;gap:4px 8px;}
  .lm-plat-name{font-size:14px;}
  .lm-plat-detail{font-size:11px;flex-basis:100%;padding-left:18px;}
  .lm-plat-link{font-size:11px;padding:5px 12px;}

  /* ── Empty states ── */
  .empty-state{
    text-align:center;padding:56px 20px;
    display:flex;flex-direction:column;align-items:center;gap:14px;
  }
  .empty-state-illustration{font-size:52px;line-height:1;}
  .empty-state-title{font-size:17px;font-weight:700;color:var(--text);}
  .empty-state-sub{font-size:14px;color:var(--muted);max-width:260px;line-height:1.6;}
  .empty-state-action{
    margin-top:4px;padding:12px 24px;border-radius:100px;
    background:var(--red);color:#fff;font-size:13px;font-weight:700;
    border:none;cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
}

@media(max-width:480px){
  .platforms-grid{gap:8px;}
  .plat-card{flex:0 0 80vw;height:160px;}
  .browse-grid{grid-template-columns:repeat(2,1fr);}
}

/* ── MOVIES PAGE ─────────────────────────────────────── */
.movies-page-hero{position:relative;height:360px;display:flex;align-items:flex-end;overflow:hidden;}
.movies-page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);transition:transform 8s ease;}
.movies-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(0,0,0,0.5) 100%);}
.movies-page-hero-content{position:relative;z-index:2;padding:0 40px 48px;}
.movies-page-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(48px,8vw,80px);line-height:1;color:#fff;margin:8px 0 12px;}
.movies-page-title em{color:var(--red);font-style:normal;}
.movies-page-sub{color:var(--muted);font-size:15px;max-width:500px;}
.movies-page-body{padding:48px 0 80px;}
.movies-page-filter-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin-bottom: 32px;
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 18px;
  padding: 12px 16px;
  position: relative;
  z-index: 2000;
}

.movies-page-filter-row{display:none;}
.mpf-btn{padding:8px 18px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;}
.mpf-btn:hover{border-color:var(--text);color:var(--text);}
.mpf-btn.active{background:var(--red);border-color:var(--red);color:#fff;}
.movies-big-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;}
.movie-big-card{
  display:flex;flex-direction:row;border-radius:14px;overflow:hidden;
  background:var(--surface2);cursor:pointer;
  border:1px solid var(--border);
  transition:transform 0.3s var(--spring),box-shadow 0.3s;
  min-height:140px;
}
.movie-big-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,0.55),0 0 0 1px var(--card-accent,var(--border));}
.mbc-poster{flex:0 0 95px;background-size:cover;background-position:center top;transition:transform 0.4s;position:relative;}
.mbc-poster-dots{position:absolute;bottom:7px;left:0;right:0;display:flex;justify-content:center;gap:4px;}
.mbc-poster-dots .season-card-dots{margin-top:0;justify-content:center;}
.movie-big-card:hover .mbc-poster{transform:scale(1.04);}
.mbc-body{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:5px;}
.mbc-num{font-family:'Bebas Neue',sans-serif;font-size:13px;color:var(--muted);letter-spacing:0.06em;}
.mbc-status{display:inline-block;font-size:9px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:20px;align-self:flex-start;}
.mbc-status.yes{background:rgba(39,174,96,0.15);color:#27AE60;border:1px solid rgba(39,174,96,0.4);}
.mbc-status.no{background:rgba(255,255,255,0.06);color:var(--muted);border:1px solid var(--border);}
.mbc-status.soon{background:rgba(229,160,13,0.15);color:#E5A00D;border:1px solid rgba(229,160,13,0.4);}
.mbc-title{font-size:14px;font-weight:700;color:#fff;line-height:1.3;}
.mbc-meta{font-size:11px;color:var(--muted);}
.mbc-desc{font-size:11px;color:rgba(255,255,255,0.5);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:600px){
  .movies-page-hero{height:260px;}
  .movies-page-hero-content{padding:0 20px 32px;}
  .movies-big-grid{grid-template-columns:1fr;gap:10px;}
  .mbc-desc{display:none;}
}
.mpf-btn-lang{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.2s;}
.mpf-btn-lang:hover{border-color:var(--text);color:var(--text);}
.mpf-btn-lang.active{background:rgba(255,107,0,0.15);border-color:#FF6B00;color:#FF6B00;}
.mpf-select{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.2s;outline:none;}
.mpf-select:focus{border-color:#FF6B00;color:var(--text);}
/* ── SECTION TITLE ROW ───────────────────────────────── */
.section-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.section-view-all{
  background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  color:rgba(255,255,255,0.75);
  font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;
  cursor:pointer;padding:6px 16px;border-radius:100px;
  transition:background 0.2s,border-color 0.2s,color 0.2s,transform 0.2s var(--spring);
  white-space:nowrap;flex-shrink:0;
}
.section-view-all:hover{
  background:rgba(255,255,255,0.13);
  border-color:rgba(255,255,255,0.28);
  color:#fff;
  transform:translateY(-1px);
}
[data-theme="light"] .section-view-all{
  background:rgba(0,0,0,0.05);
  border-color:rgba(0,0,0,0.12);
  color:rgba(0,0,0,0.55);
}
[data-theme="light"] .section-view-all:hover{
  background:rgba(0,0,0,0.09);
  border-color:rgba(0,0,0,0.22);
  color:rgba(0,0,0,0.85);
}

/* ── TV SHOWS PAGE ───────────────────────────────────── */
.tv-seasons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin-top:8px;}
.tv-seasons-grid .season-card{width:auto;flex:none;}
@media(max-width:600px){
  .tv-seasons-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;}
}

.spinoff-card,
.archive-block,
.merch-main-card,
.manga-teaser,
.platform-page,
.movies-page-hero,
.etv-hero {
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
}

.plat-card,
.browse-card,
.content-card,
.season-card,
.movie-big-card,
.lang-page-dub-card,
.lang-page-plat-card,
.pvr-card {
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}

/* Hover: subtle lift, Apple blue ring instead of purple neon */
.plat-card:hover,
.browse-card:hover,
.content-card:hover,
.season-card:hover,
.movie-big-card:hover,
.spinoff-card:hover,
.pvr-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 16px 48px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.2);
}

/* Removed old modal overrides to allow glassmorphism to work */

/* — Footer — */
[data-theme="dark"] .site-footer {
  border-top: 1px solid rgba(255,255,255,0.1);
  background: #000000;
}



@media (max-width:768px) {
  .hero-slide::before { display: none; }
  .hero-slide-content { padding: 18px 20px; border-radius: 16px; }

  /* Platform page mobile fixes */
  .pp-hero { height: auto; min-height: 500px; padding-top: 120px; padding-bottom: 44px; }
  .pp-hero-back { top: 70px; left: 20px; }
  .pp-hero-content { position: relative; bottom: auto; left: 20px; right: 20px; flex-direction: column; align-items: flex-start; gap: 20px; }
  .pp-hero-info { max-width: 100%; }
  .pp-hero-logo-wrap .plat-logo-svg { height: 40px; max-width: 160px; }
  .pp-hero-desc { font-size: 13px; line-height: 1.6; }

  /* Stats bar mobile */
  .pp-stats-bar { flex-wrap: wrap; }
  .pp-stat { padding: 16px 8px; min-width: 50%; border-right: none; border-bottom: 1px solid var(--border); }
  .pp-stat:nth-child(2) { border-right: none; }
  .pp-stat:nth-child(3), .pp-stat:nth-child(4) { border-bottom: none; }
  .pp-stat-n { font-size: 24px; }
}
/* ── WATCH GUIDE PAGE ───────────────────────── */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:28px;margin-top:8px;}
.guide-card{background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:16px;}
.guide-card-header{display:flex;align-items:flex-start;gap:16px;padding-left:16px;}
.guide-card-icon{font-size:32px;line-height:1;flex-shrink:0;margin-top:2px;}
.guide-card-title{font-family:var(--font-display);font-size:26px;color:var(--text1);line-height:1.1;}
.guide-card-subtitle{font-size:13px;color:var(--muted);margin-top:4px;}
.guide-tags{display:flex;flex-wrap:wrap;gap:6px;}
.guide-tag{font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:20px;border:1px solid;background:transparent;}
.guide-desc{font-size:14px;color:var(--text2);line-height:1.7;margin:0;}
.guide-steps{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--border);padding-top:16px;}
.guide-step{display:flex;gap:14px;align-items:flex-start;}
.guide-step-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px;}
.guide-step-body{flex:1;}
.guide-step-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);margin-bottom:3px;}
.guide-step-text{font-size:13px;color:var(--muted);line-height:1.6;}
.guide-card-actions{margin-top:4px;}
.guide-action-btn{background:transparent;border:1.5px solid var(--guide-color);color:var(--guide-color);padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s,color .2s;}
.guide-action-btn:hover{background:var(--guide-color);color:#fff;}
.guide-footer-note{display:flex;gap:14px;align-items:flex-start;background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:20px;margin-top:32px;font-size:14px;color:var(--text2);line-height:1.6;}
.guide-footer-icon{font-size:24px;flex-shrink:0;}
@media(max-width:768px){
  .guide-grid{grid-template-columns:1fr;gap:16px;}
  .guide-card{padding:20px;}
  .guide-card-title{font-size:22px;}
}

/* ─── IMPORTANT EPISODES PAGE STYLES ───── */
.important-episodes-filter{margin-bottom:32px;overflow:hidden;}
.filter-scroll-container{display:flex;gap:12px;overflow-x:auto;padding:20px 20px 20px 20px;background:linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2);border-radius:16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.3) transparent;}
.filter-scroll-container::-webkit-scrollbar{height:6px;}
.filter-scroll-container::-webkit-scrollbar-track{background:transparent;}
.filter-scroll-container::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.3);border-radius:3px;}
.filter-scroll-container::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.5);}
.important-episodes-filter .filter-pill{padding:10px 20px;border-radius:24px;border:1px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.1);color:var(--text2);cursor:pointer;transition:all 0.3s ease;font-size:14px;font-weight:500;white-space:nowrap;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
.important-episodes-filter .filter-pill:hover{background:rgba(255,255,255,0.2);color:var(--text1);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.1);}
.important-episodes-filter .filter-pill.active{background:var(--red);color:white;border-color:var(--red);box-shadow:0 4px 16px rgba(220,53,69,0.3);}

.episodes-grid-horizontal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:48px;}
.episode-horizontal-card{background:var(--surface1);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:all 0.3s ease;display:flex;flex-direction:column;cursor:pointer;}
.episode-horizontal-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,0.15);border-color:var(--red);}
.episode-horizontal-img{width:100%;height:140px;background-size:cover;background-position:center;background-color:var(--surface3);}
.episode-horizontal-content{flex:1;padding:14px;display:flex;flex-direction:column;}
.episode-horizontal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.episode-horizontal-number{font-weight:600;color:var(--red);font-size:12px;}
.episode-intl{font-size:10px;color:var(--text3);margin-left:4px;}
.episode-horizontal-type{padding:2px 6px;border-radius:10px;font-size:9px;font-weight:600;text-transform:uppercase;}
.episode-horizontal-type.episode{background:#e3f2fd;color:#1976d2;}
.episode-horizontal-type.movie{background:#ffe4e1;color:#d32f2f;}
.episode-horizontal-type.ova{background:#f3e5f5;color:#7b1fa2;}
.episode-horizontal-type.magic-file{background:#fff3e0;color:#f57c00;}
.episode-horizontal-type.tv-special{background:#e8f5e8;color:#2e7d32;}
.episode-horizontal-type.magic-kaito{background:#fce4ec;color:#c2185b;}
.episode-horizontal-title{font-size:14px;font-weight:600;color:var(--text1);margin-bottom:4px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.episode-horizontal-tags{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px;}
.tag-badge{padding:1px 5px;border-radius:8px;font-size:8px;font-weight:600;text-transform:uppercase;}
.tag-badge.main-plot{background:#ffe4e1;color:#d32f2f;}
.tag-badge.character{background:#e3f2fd;color:#1976d2;}
.tag-badge.black-org{background:#f3e5f5;color:#7b1fa2;}
.tag-badge.heiji{background:#fff3e0;color:#f57c00;}
.tag-badge.kaito-kid{background:#fce4ec;color:#c2185b;}
.tag-badge.romance{background:#ffebee;color:#e91e63;}
.tag-badge.fbi{background:#e8f5e8;color:#2e7d32;}
.tag-badge.shinichi{background:#e1f5fe;color:#0277bd;}
.tag-badge.police{background:#f1f8e9;color:#689f38;}
.tag-badge.setup{background:#fff8e1;color:#ffa000;}
.tag-badge.fun{background:#fce4ec;color:#c2185b;}
.tag-badge.movie-prequel{background:#ede7f6;color:#512da8;}
.tag-badge.movie-sequel{background:#e0f2f1;color:#00796b;}
.tag-badge.canon{background:#e8f5e8;color:#2e7d32;}
.episode-horizontal-desc{font-size:11px;color:var(--text2);line-height:1.3;margin-bottom:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.episode-horizontal-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--text3);margin-bottom:6px;}

/* ─── FLOATING SEASON JUMP BUTTON ───── */
.floating-season-jump{position:fixed;bottom:24px;right:24px;z-index:1000;}
.season-jump-toggle{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--red);color:white;border:none;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 12px rgba(0,0,0,0.15);}
.season-jump-toggle:hover{background:#c41e3a;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,0.2);}
.floating-season-jump.open .season-jump-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0;}
.season-jump-menu{position:absolute;bottom:100%;right:0;background:var(--surface1);border:1px solid var(--border);border-radius:12px;border-bottom-right-radius:0;box-shadow:0 4px 20px rgba(0,0,0,0.15);max-height:0;overflow:hidden;opacity:0;transition:all 0.3s ease-out;min-width:280px;}
.floating-season-jump.open .season-jump-menu{max-height:400px;opacity:1;transition:all 0.3s ease-in;}
.season-jump-content{padding:16px;}
.season-jump-content h4{margin:0 0 12px 0;font-size:16px;font-weight:600;color:var(--text1);}
.season-quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:300px;overflow-y:auto;}
.season-quick-links a{display:block;padding:8px 12px;background:var(--surface2);color:var(--text1);text-decoration:none;border-radius:6px;font-size:13px;transition:background 0.2s;}
.season-quick-links a:hover{background:var(--surface3);color:var(--red);}

/* ─── NO FILLER PAGE STYLES ───── */
.no-filler-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:40px;}
.no-filler-stats .stat-card{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;}
.no-filler-stats .stat-number{font-size:32px;font-weight:700;color:var(--red);margin-bottom:4px;}
.no-filler-stats .stat-label{font-size:14px;color:var(--text2);font-weight:500;}

.seasons-accordion{display:flex;flex-direction:column;gap:16px;}
.season-accordion-item{background:var(--surface1);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.season-accordion-header{display:flex;align-items:center;gap:16px;padding:20px;cursor:pointer;transition:background 0.2s;}
.season-accordion-header:hover{background:var(--surface2);}
.season-accordion-img{width:60px;height:60px;border-radius:8px;background-size:cover;background-position:center;flex-shrink:0;}
.season-accordion-info{flex:1;}
.season-accordion-info h3{font-size:18px;font-weight:600;color:var(--text1);margin-bottom:4px;}
.season-accordion-info p{font-size:14px;color:var(--text2);}
.season-accordion-toggle{font-size:12px;color:var(--text2);transition:transform 0.2s;}
.season-accordion-item.open .season-accordion-toggle{transform:rotate(180deg);}
.season-accordion-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease-out;}
.season-accordion-item.open .season-accordion-content{max-height:2000px;transition:max-height 0.3s ease-in;}
.season-accordion-content{border-top:1px solid var(--border);}

.episodes-list{max-height:400px;overflow-y:auto;}
.episode-list-item{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border);transition:background 0.2s;}
.episode-list-item:hover{background:var(--surface2);}
.episode-list-item:last-child{border-bottom:none;}
.episode-list-img{width:40px;height:40px;border-radius:6px;background-size:cover;background-position:center;flex-shrink:0;}
.episode-list-info{flex:1;}
.episode-list-number{font-size:12px;font-weight:600;color:var(--red);margin-bottom:2px;}
.episode-list-title{font-size:14px;font-weight:500;color:var(--text1);margin-bottom:4px;line-height:1.3;}
.episode-list-meta{display:flex;gap:12px;font-size:12px;color:var(--text3);}
.episode-list-actions{display:flex;gap:8px;}
.episode-list-watch-btn{width:32px;height:32px;background:var(--red);color:white;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background 0.2s;display:flex;align-items:center;justify-content:center;}
.episode-list-watch-btn:hover{background:#c41e3a;}

@media(max-width:768px){
  .episodes-grid{grid-template-columns:1fr;gap:16px;}
  .episode-card-content{padding:16px;}
  .no-filler-stats{grid-template-columns:repeat(3,1fr);gap:12px;}
  .no-filler-stats .stat-card{padding:16px;}
  .no-filler-stats .stat-number{font-size:24px;}
  .season-accordion-header{padding:16px;}
  .season-accordion-img{width:50px;height:50px;}
  .episodes-list{max-height:300px;}
  .episode-list-item{padding:10px 16px;}
  
  /* Horizontal card responsive styles */
  .episodes-grid-horizontal{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
  .episode-horizontal-card{border-radius:10px;}
  .episode-horizontal-img{height:120px;}
  .episode-horizontal-content{padding:12px;}
  .episode-horizontal-title{font-size:13px;-webkit-line-clamp:2;line-clamp:2;}
  .episode-horizontal-tags{gap:2px;}
  .tag-badge{font-size:7px;padding:1px 4px;}
  .episode-horizontal-desc{font-size:10px;-webkit-line-clamp:2;line-clamp:2;}
  .episode-horizontal-meta{font-size:9px;gap:4px;}
  .episode-horizontal-number{font-size:11px;}
  .episode-horizontal-type{font-size:8px;}
  
  /* Filter responsive */
  .filter-scroll-container{padding:16px;gap:10px;}
  .filter-pill{padding:8px 16px;font-size:13px;}
}

/* ═══════════════════════════════════════════════════════════
   XERBLADE GUIDE FILTER SYSTEM
═══════════════════════════════════════════════════════════ */

.filter-system-container {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin: 20px;
  backdrop-filter: blur(10px);
  position: sticky;
  top: 70px;
  z-index: 2000;
}

/* Episodes Grid Container Padding */
.episodes-grid-horizontal {
  padding: 0 20px;
  margin: 20px auto 0 auto;
  max-width: 1400px;
}

/* Add spacing between filter row and episodes */
.filter-system-container + .episodes-grid-horizontal,
.filter-system-container + .season-navigator-container,
.filter-system-container + div[class*="episodes"] {
  margin-top: 24px;
}

/* Single Row Filter Layout */
.filter-row {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .filter-row {
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
}

.filter-row .filter-main-options {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.filter-row .filter-dropdowns {
  flex: 0 0 auto;
  display: flex;
  gap: 12px;
  margin-bottom: 0;
}

.filter-main-options {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

.filter-main-options:active {
  cursor: grabbing;
}

.filter-main-options::-webkit-scrollbar {
  height: 6px;
}

.filter-main-options::-webkit-scrollbar-track {
  background: var(--surface2);
  border-radius: 3px;
}

.filter-main-options::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
  transition: background 0.2s;
}

.filter-main-options::-webkit-scrollbar-thumb:hover {
  background: var(--muted);
}

.filter-main-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 20px;
  border-radius: var(--radius);
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
  font-size: 14px;
  position: relative;
  overflow: hidden;
}

.filter-main-btn:hover {
  background: var(--border);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.filter-main-btn.active {
  background: var(--red);
  color: white;
  border-color: var(--red);
  box-shadow: 0 0 20px var(--red-glow);
}

.filter-main-btn.active::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.filter-main-btn.active::before {
  left: 100%;
}

.filter-dropdowns {
  display: flex;
  gap: 16px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

.filter-dropdowns:active {
  cursor: grabbing;
}

.filter-dropdowns::-webkit-scrollbar {
  height: 6px;
}

.filter-dropdowns::-webkit-scrollbar-track {
  background: var(--surface2);
  border-radius: 3px;
}

.filter-dropdowns::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
  transition: background 0.2s;
}

.filter-dropdowns::-webkit-scrollbar-thumb:hover {
  background: var(--muted);
}

.filter-dropdown {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 10px 16px;
  border-radius: var(--radius);
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
  min-width: 200px;
}

.filter-dropdown:focus {
  outline: none;
  border-color: var(--red);
  box-shadow: 0 0 0 3px var(--red-glow);
}

.filter-dropdown option {
  background: var(--surface2);
  color: var(--text);
}

/* Season Navigator */
.season-navigator-container {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 20px;
  margin: 20px;
  backdrop-filter: blur(10px);
}

.season-nav-header {
  margin-bottom: 16px;
}

.season-nav-header h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
}

.season-nav-grid {
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  user-select: none;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}

.season-nav-grid:active {
  cursor: grabbing;
}

.season-nav-grid::-webkit-scrollbar {
  height: 6px;
}

.season-nav-grid::-webkit-scrollbar-track {
  background: var(--surface2);
  border-radius: 3px;
}

.season-nav-grid::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 3px;
  transition: background 0.2s;
}

.season-nav-grid::-webkit-scrollbar-thumb:hover {
  background: var(--muted);
}

.season-nav-btn {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--text);
  padding: 12px 16px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
  text-align: left;
  position: relative;
  overflow: hidden;
}

.season-nav-btn:hover {
  background: var(--border);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.season-nav-btn:active {
  transform: translateY(0);
}

.season-nav-btn::before {
  content: '→';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0;
  transition: all 0.2s;
}

.season-nav-btn:hover::before {
  opacity: 1;
  right: 12px;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .filter-system-container {
    margin: 16px;
    padding: 16px;
  }
  
  .episodes-grid-horizontal {
    padding: 0 16px;
  }
  
  .filter-main-options {
    gap: 8px;
    margin-bottom: 16px;
  }
  
  .filter-main-options::-webkit-scrollbar {
    height: 4px;
  }
  
  .filter-main-btn {
    padding: 10px 16px;
    font-size: 13px;
    flex: 0 0 auto;
    min-width: fit-content;
    white-space: nowrap;
  }
  
  .filter-dropdowns {
    gap: 12px;
  }
  
  .filter-dropdowns::-webkit-scrollbar {
    height: 4px;
  }
  
  .filter-dropdown {
    min-width: 160px;
    flex: 0 0 auto;
  }
  
  .season-navigator-container {
    margin: 16px;
    padding: 16px;
  }
  
  .season-nav-grid {
    gap: 8px;
    padding-bottom: 4px;
  }
  
  .season-nav-grid::-webkit-scrollbar {
    height: 4px;
  }
  
  .season-nav-btn {
    padding: 10px 16px;
    font-size: 12px;
    flex: 0 0 auto;
    min-width: fit-content;
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .episodes-grid-horizontal {
    padding: 0 12px;
  }
  
  .filter-system-container {
    margin: 12px;
    padding: 12px;
  }
  
  .season-navigator-container {
    margin: 12px;
    padding: 12px;
  }
  
  .filter-main-options {
    gap: 6px;
    margin-bottom: 12px;
  }
  
  .filter-main-options::-webkit-scrollbar {
    height: 3px;
  }
  
  .filter-main-btn {
    flex: 0 0 auto;
    min-width: fit-content;
    white-space: nowrap;
    padding: 8px 12px;
    font-size: 12px;
  }
  
  .filter-dropdowns {
    gap: 8px;
  }
  
  .filter-dropdowns::-webkit-scrollbar {
    height: 3px;
  }
  
  .filter-dropdown {
    min-width: 140px;
    flex: 0 0 auto;
  }
  
  .season-nav-grid {
    gap: 6px;
  }
  
  .season-nav-grid::-webkit-scrollbar {
    height: 3px;
  }
  
  .season-nav-btn {
    flex: 0 0 auto;
    min-width: fit-content;
    white-space: nowrap;
    padding: 8px 12px;
    font-size: 11px;
  }
}

/* ─── COMPREHENSIVE WATCH GUIDE STYLES ─── */
.guide-hero {
  position: relative;
  height: 60vh;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.guide-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: brightness(0.4);
  transform: scale(1.1);
}

.guide-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 100%);
}

.guide-hero-content {
  position: relative;
  text-align: center;
  max-width: 800px;
  padding: 2rem;
  z-index: 1;
}

.guide-eyebrow {
  color: var(--accent);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 1rem;
}

.guide-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 900;
  color: white;
  margin-bottom: 1rem;
  line-height: 1.1;
  text-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.guide-sub {
  font-size: 1.2rem;
  color: rgba(255,255,255,0.9);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.guide-meta {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
}

.guide-meta-item {
  color: rgba(255,255,255,0.8);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.guide-section {
  margin-bottom: 4rem;
  padding: 2rem 0;
}

.guide-section-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2rem;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 1rem;
}

.guide-section-icon {
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--surface);
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.guide-section-desc {
  color: var(--text-secondary);
  font-size: 1.1rem;
  margin-bottom: 2rem;
  padding-left: 66px;
}

.guide-items {
  display: grid;
  gap: 1rem;
  margin-left: 66px;
}

.guide-item {
  background: var(--surface);
  border-radius: 16px;
  padding: 1.5rem;
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.guide-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
  border-color: var(--accent);
}

.guide-item--movie {
  border-left: 4px solid #E50914;
}

.guide-item--kaito {
  border-left: 4px solid #FF6B35;
}

.guide-item--episode {
  border-left: 4px solid var(--accent);
}

.guide-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  gap: 1rem;
}

.guide-item-episodes {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text);
  background: var(--surface2);
  padding: 0.5rem 1rem;
  border-radius: 8px;
  min-width: fit-content;
}

.guide-item-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.guide-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.guide-badge--main {
  background: var(--accent);
  color: white;
}

.guide-badge--special {
  background: #FF6B35;
  color: white;
}

.guide-badge--intl {
  background: var(--surface2);
  color: var(--text-secondary);
}

.guide-item-content {
  flex: 1;
}

.guide-item-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 0.5rem;
}

.guide-item-desc {
  color: var(--text-secondary);
  line-height: 1.5;
  margin-bottom: 0.5rem;
}

.guide-item-manga {
  font-size: 0.9rem;
  color: var(--muted);
  font-style: italic;
  margin-top: 0.5rem;
}

/* ─── MODERN WATCH GUIDE STYLES ───────────────────────────── */

/* Modern Hero Section */
.modern-guide-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #0f0f23 0%, #1a1a3e 100%);
}

.modern-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: brightness(0.3) saturate(1.2);
  transform: scale(1.05);
}

.modern-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, 
    rgba(15, 15, 35, 0.9) 0%, 
    rgba(26, 26, 62, 0.7) 50%,
    rgba(59, 130, 246, 0.3) 100%
  );
}

.modern-hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem;
}

.modern-hero-content {
  text-align: center;
  color: white;
}

.modern-hero-badge {
  display: inline-block;
  background: rgba(59, 130, 246, 0.2);
  border: 1px solid rgba(59, 130, 246, 0.5);
  color: #60a5fa;
  padding: 0.5rem 1.5rem;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2rem;
  backdrop-filter: blur(10px);
}

.modern-hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #60a5fa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 40px rgba(59, 130, 246, 0.3);
}

.modern-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 3rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

.modern-hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.modern-hero-stats .stat-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  padding: 1.5rem;
  text-align: center;
  transition: all 0.3s ease;
}

.modern-hero-stats .stat-card:hover {
  transform: translateY(-5px);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 10px 30px rgba(59, 130, 246, 0.3);
}

.modern-hero-stats .stat-number {
  font-size: 2.5rem;
  font-weight: 900;
  color: #60a5fa;
  margin-bottom: 0.5rem;
  text-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
}

.modern-hero-stats .stat-label {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 600;
}

.modern-hero-meta {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.meta-item {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Modern Guide Container */
.modern-guide-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem 4rem;
}

.container .modern-guide-header {
  margin-top: 2rem;
}

.modern-guide-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
  gap: 2rem;
  flex-wrap: wrap;
}

.guide-filter-tabs {
  display: flex;
  gap: 0.5rem;
  background: var(--surface);
  padding: 0.5rem;
  border-radius: 16px;
  border: 1px solid var(--border);
}

.filter-tab {
  padding: 0.75rem 1.5rem;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.filter-tab:hover {
  background: var(--surface2);
  color: var(--text);
}

.filter-tab.active {
  background: var(--accent);
  color: white;
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

.guide-search-box {
  display: flex;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  min-width: 300px;
}

.guide-search-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 0.875rem;
  outline: none;
}

.guide-search-input::placeholder {
  color: var(--text-secondary);
}

.guide-search-btn {
  padding: 0.75rem 1rem;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 1rem;
  transition: color 0.3s ease;
}

.guide-search-btn:hover {
  color: var(--accent);
}

/* Modern Watch Grid */
.modern-watch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
}

.modern-watch-card {
  background: var(--surface);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.modern-watch-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
  border-color: var(--accent);
}

.modern-card-image {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.modern-card-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
}

.modern-watch-card:hover .modern-card-img {
  transform: scale(1.1);
}

.modern-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, 
    transparent 0%, 
    transparent 50%, 
    rgba(0, 0, 0, 0.7) 100%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modern-watch-card:hover .modern-card-overlay {
  opacity: 1;
}

.modern-card-play {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--accent);
  transform: scale(0);
  transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.modern-watch-card:hover .modern-card-play {
  transform: scale(1);
}

.modern-card-type {
  position: absolute;
  top: 1rem;
  left: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  backdrop-filter: blur(10px);
}

.modern-card-type.episode {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.modern-card-type.movie {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.modern-card-type.magic-kaito {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.type-icon {
  font-size: 1rem;
}

.modern-card-content {
  padding: 1.5rem;
}

.modern-card-number {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.modern-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 1rem;
  line-height: 1.4;
  display: -webkit-box;
  display: box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  box-orient: vertical;
  overflow: hidden;
}

.modern-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.modern-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.modern-badge--main {
  background: linear-gradient(135deg, var(--accent), #3b82f6);
  color: white;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3);
}

.modern-badge--special {
  background: linear-gradient(135deg, #f59e0b, #f97316);
  color: white;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.3);
}

/* Page Hero Styles */
.page-hero {
  position: relative;
  min-height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #0f0f23 0%, #1a1a3e 100%);
}

.page-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: brightness(0.3) saturate(1.2);
  transform: scale(1.05);
}

.page-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, 
    rgba(15, 15, 35, 0.9) 0%, 
    rgba(26, 26, 62, 0.7) 50%,
    rgba(59, 130, 246, 0.3) 100%
  );
}

.page-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: white;
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
}

.page-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 1.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #60a5fa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 0 40px rgba(59, 130, 246, 0.3);
}

.page-subtitle {
  font-size: clamp(1rem, 2vw, 1.5rem);
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.page-hero-nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}

.hero-nav-btn {
  padding: 0.75rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease;
  backdrop-filter: blur(10px);
  text-decoration: none;
}

.hero-nav-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
}

.hero-nav-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
}

/* Episodes List Horizontal - for Watch Guide */
.episodes-list-horizontal {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
}

/* Responsive Design */
@media (max-width: 768px) {
  .guide-hero {
    height: 50vh;
    min-height: 300px;
  }
  
  .guide-section-title {
    font-size: 1.5rem;
  }
  
  .guide-section-icon {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
  }
  
  .guide-section-desc,
  .guide-items {
    padding-left: 0;
    margin-left: 0;
  }
  
  .guide-item-header {
    flex-direction: column;
    gap: 0.75rem;
  }
  
  .guide-item-badges {
    align-self: flex-start;
  }
  
  .guide-meta {
    gap: 1rem;
  }
  
  .episodes-list-horizontal {
    gap: 0.75rem;
    padding: 1rem 0;
  }

  /* Page Hero Mobile Responsive */
  .page-hero {
    min-height: 40vh;
  }

  .page-hero-content {
    padding: 1rem;
  }

  .page-title {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .page-subtitle {
    font-size: clamp(0.9rem, 3vw, 1.2rem);
    margin-bottom: 1.5rem;
  }

  .page-hero-nav {
    gap: 0.5rem;
    margin-top: 1.5rem;
  }

  .hero-nav-btn {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
  }

  /* Modern Watch Guide Mobile Responsive */
  .modern-guide-hero {
    min-height: 60vh;
  }

  .modern-hero-container {
    padding: 1rem;
  }

  .modern-hero-title {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .modern-hero-subtitle {
    font-size: clamp(0.9rem, 3vw, 1.2rem);
    margin-bottom: 2rem;
  }

  .modern-hero-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .modern-hero-stats .stat-card {
    padding: 1rem;
  }

  .modern-hero-stats .stat-number {
    font-size: 2rem;
  }

  .modern-hero-meta {
    gap: 1rem;
    font-size: 0.75rem;
  }

  .modern-guide-container {
    padding: 0 1rem 2rem;
  }

  .modern-guide-header {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .guide-filter-tabs {
    order: 2;
    justify-content: center;
    flex-wrap: wrap;
  }

  .guide-search-box {
    order: 1;
    min-width: 100%;
  }

  .filter-tab {
    padding: 0.5rem 1rem;
    font-size: 0.75rem;
  }

  .modern-watch-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 1rem;
  }

  .modern-card-image {
    height: 120px;
  }

  .modern-card-content {
    padding: 1rem;
  }

  .modern-card-title {
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .modern-card-number {
    font-size: 0.75rem;
    margin-bottom: 0.25rem;
  }

  .modern-card-type {
    top: 0.5rem;
    left: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.65rem;
  }

  .type-icon {
    font-size: 0.75rem;
  }

  .modern-badge {
    font-size: 0.65rem;
    padding: 0.2rem 0.5rem;
  }

  .modern-card-play {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
}

/* ── LANGUAGES PAGE (Standalone) ───────────────────────── */
.lang-page-section-title {
  font-family: var(--font-display);
  font-size: 28px;
  color: #fff;
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.lang-page-sub-grid, .lang-page-dub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
  margin-bottom: 48px;
}

.lang-page-plat-card, .lang-page-dub-card {
  display: flex;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lang-page-plat-card:hover, .lang-page-dub-card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.15);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
}

.lang-page-plat-color {
  width: 6px;
  flex-shrink: 0;
}

.lang-page-plat-body, .lang-page-dub-body {
  flex: 1;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lang-page-plat-name {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.lang-page-plat-detail {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.4;
}

.lang-page-plat-pills, .lang-page-dub-avail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.lang-page-pill {
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.7);
}

.lang-page-plat-arrow {
  display: flex;
  align-items: center;
  padding-right: 20px;
  color: rgba(255, 255, 255, 0.2);
  font-size: 20px;
}

.lang-page-dub-native {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
}

.lang-page-dub-eng {
  font-size: 14px;
  color: var(--red);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lang-page-dub-plats {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.lang-page-dub-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.lang-cast-btn {
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  align-self: flex-start;
}

.lang-cast-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

/* ── ADVOCACY PAGE ────────────────────────────────── */
.adv-sticky-nav {
  position: sticky;
  top: 0;
  z-index: 400;
  background: rgba(7, 7, 15, 0.8);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.adv-sticky-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adv-sticky-back {
  background: transparent;
  border: none;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.adv-sticky-links {
  display: flex;
  gap: 24px;
}

.adv-sticky-links a {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition: color 0.2s;
}

.adv-sticky-links a:hover {
  color: #fff;
}

.adv-hero {
  position: relative;
  padding: 120px 24px 80px;
  background: #000;
  overflow: hidden;
  text-align: center;
}

.adv-hero-texture {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(225, 29, 44, 0.15) 0%, transparent 70%);
  opacity: 0.6;
}

.adv-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
  padding: 100px 24px 60px;
}

.adv-hero-eyebrow {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 24px;
}

.adv-hero-title {
  font-family: var(--font-display);
  font-size: clamp(48px, 10vw, 100px);
  line-height: 0.9;
  color: #fff;
  margin-bottom: 32px;
}

.adv-hero-title em {
  font-style: italic;
  color: var(--red);
}

.adv-hero-sub {
  font-size: 20px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  max-width: 700px;
  margin: 0 auto 48px;
}

.adv-stats-hero {
  max-width: 900px;
  margin: 0 auto 64px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
  background: rgba(255, 255, 255, 0.03);
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.adv-stats-hero .adv-stat {
  padding: 0;
  background: transparent;
  border: none;
}

.adv-stats-hero .adv-stat-n {
  font-size: 32px;
}

.adv-stats-hero .adv-stat-l {
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
}

.adv-hero-ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
}

.adv-btn-primary {
  padding: 16px 32px;
  border-radius: 14px;
  background: var(--red);
  color: #fff;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: transform 0.2s;
}

.adv-btn-ghost {
  padding: 16px 32px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: background 0.2s;
}

.adv-btn-primary:hover { transform: scale(1.05); }
.adv-btn-ghost:hover { background: rgba(255, 255, 255, 0.15); }

.adv-proof {
  padding: 100px 24px;
  background: #07070f;
}

.adv-section-max {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 24px;
}

.adv-proof-eyebrow {
  font-size: 11px;
  font-weight: 800;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: 48px;
  text-align: center;
  opacity: 0.8;
}

.adv-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px;
  margin-bottom: 64px;
}

.adv-stat {
  padding: 32px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 20px;
}

.adv-stat-n {
  font-family: var(--font-display);
  font-size: 56px;
  color: #fff;
  line-height: 1;
}

.adv-stat-n span { color: var(--red); }

.adv-stat-l {
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.45);
  margin-top: 6px;
  line-height: 1.3;
}

/* ── OPEN LETTERS ────────────────────────────────── */
.adv-letter-section {
  padding: 120px 24px;
  background: #000;
}

.adv-letter-premium {
  max-width: 900px;
  margin: 0 auto;
}

.adv-letter-header {
  margin-bottom: 48px;
  text-align: center;
}

.adv-letter-header-main {
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 1;
  color: #fff;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.adv-letter-header-sub {
  font-size: 14px;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.adv-letter-card {
  background: linear-gradient(165deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 40px;
  padding: 100px 80px;
  box-shadow: 0 60px 120px rgba(0,0,0,0.7);
  position: relative;
  overflow: hidden;
}

.adv-letter-card::before {
  content: '"';
  position: absolute;
  top: 40px;
  left: 60px;
  font-family: serif;
  font-size: 160px;
  color: rgba(255, 255, 255, 0.03);
  line-height: 1;
}

.adv-letter-to {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 48px;
  line-height: 1.2;
}

.adv-letter-body {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: 20px;
  line-height: 1.9;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 400;
}

.adv-letter-body p {
  margin-bottom: 32px;
}

.adv-letter-sig {
  margin-top: 64px;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}

.adv-letter-date {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.3);
  margin-top: 12px;
  font-weight: 600;
}

.adv-letter-divider {
  height: 1px;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  margin: 120px 0;
}

/* ── FOOTER (Advocacy) ─────────────────────────── */
.adv-footer {
  padding: 80px 24px;
  background: #000;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.adv-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.adv-footer-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 32px;
}

.adv-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  margin-bottom: 48px;
}

.adv-footer-links a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: color 0.2s;
}

.adv-footer-links a:hover { color: #fff; }

.adv-footer-legal {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.2);
  line-height: 1.6;
  max-width: 800px;
}

.adv-proof-body {
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.6);
  column-count: 2;
  column-gap: 48px;
}

.adv-opportunity {
  padding: 100px 24px;
  background: #000;
}

.adv-opp-heading {
  font-family: var(--font-display);
  font-size: 64px;
  color: #fff;
  margin-bottom: 64px;
}

.adv-opp-block {
  display: flex;
  gap: 40px;
  margin-bottom: 80px;
  position: relative;
}

.adv-opp-number {
  font-family: var(--font-display);
  font-size: 80px;
  color: rgba(255, 255, 255, 0.15);
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.3);
  line-height: 0.8;
}

.adv-opp-content {
  flex: 1;
}

.adv-opp-tag {
  font-size: 11px;
  font-weight: 800;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}

.adv-opp-title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
}

.adv-opp-body {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.5);
}

.adv-opp-quote {
  font-style: italic;
  font-size: clamp(18px, 2.5vw, 24px);
  color: #fff;
  padding: 24px 32px;
  border-left: 3px solid var(--red);
  background: rgba(255, 255, 255, 0.03);
  margin: 40px 0;
  max-width: 80%;
}

@media (max-width: 768px) {
  .adv-proof-body { column-count: 1; font-size: 16px; }
  .adv-stats-grid { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 12px; 
  }
  .adv-stats-hero {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 32px;
    padding: 16px;
  }
  .adv-stat { padding: 20px 16px; }
  .adv-stat-n { font-size: 28px; }
  .adv-stat-l { font-size: 10px; }

  .adv-opp-block { flex-direction: column; gap: 16px; }
  .adv-opp-number { font-size: 60px; }
  .adv-opp-title { font-size: 24px; }
  .adv-opp-quote { max-width: 100%; font-size: 18px; padding: 20px; }

  .adv-letter-header-main { font-size: 40px; }
  .adv-letter-card { padding: 60px 24px; border-radius: 24px; }
  .adv-letter-to { font-size: 24px; margin-bottom: 32px; }
  .adv-letter-body { font-size: 17px; line-height: 1.8; }
  .adv-letter-card::before { left: 24px; top: 20px; font-size: 100px; }

  .adv-sticky-links { display: none; }
  .lang-page-sub-grid, .lang-page-dub-grid { grid-template-columns: 1fr; }
}


@media (max-width: 480px) {
  .modern-hero-stats {
    grid-template-columns: 1fr;
  }

  .modern-watch-grid {
    grid-template-columns: 1fr;
  }

  .modern-card-image {
    height: 160px;
  }

  .guide-filter-tabs {
    gap: 0.25rem;
    padding: 0.25rem;
  }

  .filter-tab {
    padding: 0.5rem 0.75rem;
    font-size: 0.7rem;
  }
}

/* ── CAST MODAL (CM) ────────────────────── */
.cm-header {
  padding: 12px 0 20px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 20px;
  text-align: center;
}
.cm-title {
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.cm-sub {
  font-size: 13px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.cm-section-label {
  font-size: 11px;
  font-weight: 800;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 28px 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.cm-section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, rgba(225, 29, 44, 0.3), transparent);
}
.cm-cast-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cm-cast-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 12px;
  transition: all 0.2s ease;
}
.cm-cast-row:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.12);
  transform: translateX(4px);
}
.cm-cast-char {
  font-weight: 700;
  color: #fff;
  font-size: 15px;
  flex: 1;
}
.cm-cast-artist {
  font-size: 14px;
  color: var(--text2);
  font-weight: 500;
  padding-left: 16px;
  text-align: right;
  opacity: 0.8;
}

@media (max-width: 480px) {
  .cm-cast-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .cm-cast-artist {
    padding-left: 0;
    text-align: left;
    font-size: 13px;
  }
}

/* ═══════════════════════════════════════════════════════════
   NETFLIX-STYLE ENHANCEMENTS
   Pill Nav + Card Press + Shimmer Loading
   ═══════════════════════════════════════════════════════════ */

/* ── 1. NETFLIX-STYLE PILL NAVIGATION ─────────────────────── */

.tag-filter-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
}

.tag-filter-carousel {
  flex: 1;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.tag-filter-carousel::-webkit-scrollbar {
  display: none;
}

.tag-filter-carousel.dragging {
  cursor: grabbing;
}

.tag-chips-container {
  display: flex;
  gap: 8px;
  padding: 4px 0;
}

/* Netflix-style pill button */
.tag-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
  white-space: nowrap;
  scroll-snap-align: start;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

/* Active state - Netflix uses semi-transparent white */
.tag-chip.selected {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
  font-weight: 600;
}

/* Hover state */
.tag-chip:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: scale(1.02);
}

/* Press feedback */
.tag-chip:active {
  transform: scale(0.96);
  background: rgba(255, 255, 255, 0.12);
}

.tag-chip .tag-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.tag-chip .tag-name {
  line-height: 1;
}

.tag-chip .tag-check {
  font-size: 12px;
  margin-left: 2px;
  opacity: 0.9;
}

/* Logic toggle - pill style */
.filter-logic-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  flex-shrink: 0;
}

.logic-label {
  font-size: 11px;
  color: var(--text2);
  font-weight: 500;
}

.logic-btn {
  padding: 6px 12px;
  background: transparent;
  border: none;
  border-radius: 12px;
  color: var(--text2);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  text-transform: none;
}

.logic-btn.active {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* Clear filters button */
.clear-filters-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(204, 34, 51, 0.15);
  border: 1px solid rgba(204, 34, 51, 0.3);
  border-radius: 16px;
  color: var(--red);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.clear-filters-btn:hover {
  background: rgba(204, 34, 51, 0.25);
}

.clear-filters-btn:active {
  transform: scale(0.96);
}

.clear-icon {
  font-size: 14px;
  line-height: 1;
}

/* ── 2. CARD PRESS FEEDBACK ──────────────────────────────── */

/* Base card press feedback - Netflix uses 0.96 scale */
.content-card,
.browse-card,
.episode-horizontal-card,
.season-card,
.spinoff-card,
.movie-big-card,
.plat-card,
.lang-page-dub-card,
.lm-season-card,
.lm-movie-card,
.mbc-episode-card {
  transition: transform 0.1s ease-out, box-shadow 0.2s var(--ease-out);
  will-change: transform;
}

/* Press state for all cards */
.content-card:active,
.browse-card:active,
.episode-horizontal-card:active,
.season-card:active,
.spinoff-card:active,
.movie-big-card:active,
.plat-card:active,
.lang-page-dub-card:active,
.lm-season-card:active,
.lm-movie-card:active,
.mbc-episode-card:active {
  transform: scale(0.96) !important;
  transition: transform 0.08s ease-out;
}

/* Mobile touch optimization */
@media (hover: none) and (pointer: coarse) {
  .content-card,
  .browse-card,
  .episode-horizontal-card,
  .season-card,
  .spinoff-card,
  .movie-big-card,
  .plat-card,
  .lang-page-dub-card,
  .lm-season-card,
  .lm-movie-card,
  .mbc-episode-card {
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
  }
  
  /* Slightly stronger press on mobile for tactile feedback */
  .content-card:active,
  .browse-card:active,
  .episode-horizontal-card:active,
  .season-card:active,
  .spinoff-card:active,
  .movie-big-card:active,
  .plat-card:active,
  .lang-page-dub-card:active,
  .lm-season-card:active,
  .lm-movie-card:active,
  .mbc-episode-card:active {
    transform: scale(0.94) !important;
  }
}

/* ── 3. SHIMMER LOADING STATES ───────────────────────────── */

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.shimmer {
  background: linear-gradient(
    90deg,
    var(--surface) 25%,
    var(--surface2) 50%,
    var(--surface) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
}

/* Loading card placeholder */
.loading-card {
  background: var(--surface);
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.loading-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 25%,
    rgba(255, 255, 255, 0.05) 50%,
    transparent 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
}

/* Loading text lines */
.loading-text {
  height: 12px;
  background: var(--surface2);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.loading-text::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 25%,
    rgba(255, 255, 255, 0.08) 50%,
    transparent 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
}

/* Loading image placeholder */
.loading-image {
  background: var(--surface2);
  position: relative;
  overflow: hidden;
}

.loading-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 25%,
    rgba(255, 255, 255, 0.05) 50%,
    transparent 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite linear;
}

/* Grid of loading cards */
.loading-grid {
  display: grid;
  gap: 16px;
}

.loading-grid .loading-card {
  aspect-ratio: 2/3;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .shimmer,
  .loading-card::before,
  .loading-text::after,
  .loading-image::after {
    animation: none;
    background: var(--surface2);
  }
}

/* ═══════════════════════════════════════════════════════════
   SPINOFF MODAL EPISODE GRID
   ═══════════════════════════════════════════════════════════ */

.spinoff-episodes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
  padding: 8px 0 24px;
}

.spinoff-ep-card {
  display: flex;
  gap: 12px;
  padding: 10px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s var(--ease-out);
  overflow: hidden;
}

.spinoff-ep-card:hover {
  background: var(--surface2);
  border-color: var(--border2);
  transform: translateY(-2px);
}

.spinoff-ep-card:active {
  transform: scale(0.98);
}

.spinoff-ep-thumb {
  flex-shrink: 0;
  width: 120px;
  height: 68px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.spinoff-ep-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.6) 100%);
}

.spinoff-ep-num {
  position: absolute;
  bottom: 4px;
  left: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
  z-index: 1;
}

.spinoff-ep-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.spinoff-ep-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.spinoff-ep-meta {
  font-size: 11px;
  color: var(--text2);
}

.spinoff-ep-desc {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Mobile responsive */
@media (max-width: 640px) {
  .spinoff-episodes-grid {
    grid-template-columns: 1fr;
  }
  
  .spinoff-ep-card {
    padding: 8px;
  }
  
  .spinoff-ep-thumb {
    width: 100px;
    height: 56px;
  }
}

/* ═══════════════════════════════════════════════════════════
   NETFLIX-STYLE MOVIE MODAL
   ═══════════════════════════════════════════════════════════ */

/* Hero section with backdrop */
.movie-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 300px;
  max-height: 500px;
  background-size: cover;
  background-position: center top;
  display: flex;
  align-items: flex-end;
  -webkit-mask-image: linear-gradient(180deg, black 0%, black 60%, transparent 100%);
  mask-image: linear-gradient(180deg, black 0%, black 60%, transparent 100%);
}

.movie-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(0,0,0,0.1) 40%,
    rgba(0,0,0,0.6) 70%,
    rgba(0,0,0,0.85) 100%
  );
}

.movie-hero-content {
  position: relative;
  z-index: 2;
  padding: 24px 28px 48px;
  width: 100%;
  max-width: 800px;
}

.movie-hero-badge {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.8);
  margin-bottom: 12px;
}

.movie-hero-title {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px 0;
  line-height: 1.2;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.movie-hero-meta {
  font-size: 14px;
  color: rgba(255,255,255,0.8);
  margin-bottom: 20px;
}

.movie-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.movie-hero-actions .watch-btn {
  background: rgba(255,255,255,0.95);
  color: #000;
  --btn-color: #000 !important;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 4px;
  min-width: 140px;
  justify-content: center;
}

.movie-hero-actions .watch-btn:hover {
  background: #fff;
  transform: scale(1.02);
}

/* Close button for movie modal */
.movie-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(8px);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.2s;
}

.movie-modal-close:hover {
  background: rgba(0,0,0,0.6);
  transform: scale(1.05);
}

/* Movie details section */
.movie-details {
  display: flex;
  gap: 24px;
  padding: 0 28px 32px;
  margin-top: -40px;
  position: relative;
  z-index: 3;
}

.movie-details-poster {
  flex-shrink: 0;
  width: 160px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.movie-poster-img {
  width: 100%;
  aspect-ratio: 2/3;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
  object-fit: cover;
}

.movie-status {
  font-size: 11px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
  text-align: center;
}

.movie-status--yes {
  background: rgba(76,175,80,0.2);
  color: #4CAF50;
}

.movie-status--soon {
  background: rgba(255,152,0,0.2);
  color: #FF9800;
}

.movie-status--no {
  background: rgba(244,67,54,0.2);
  color: #F44336;
}

.movie-details-body {
  flex: 1;
  min-width: 0;
}

.movie-details-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px 0;
  color: var(--text);
}

.movie-details-desc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--text2);
  margin-bottom: 24px;
}

.movie-details-section {
  padding-top: 16px;
  border-top: 1px solid var(--border);
}


/* Ensure backdrop shows properly */
.movie-hero {
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
}

/* Episode hero - stills are 16:9 so use different positioning */
.episode-hero {
  background-position: center center !important;
  height: 45vh;
  min-height: 280px;
}

/* Episode still as poster - different aspect ratio */
.episode-poster-img {
  aspect-ratio: 16/9 !important;
  object-fit: cover;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .modal-panel.modal-panel-fullpage.modal-movie-panel {
    padding: 8px !important;
    border-radius: 12px 12px 0 0 !important;
    width: 100% !important;
    max-height: 95vh !important;
  }
  
  .movie-hero {
    height: 40vh;
    min-height: 250px;
  }
  
  .episode-hero {
    height: 35vh;
    min-height: 220px;
  }
  
  .movie-hero-title {
    font-size: 24px;
  }
  
  .movie-hero-content {
    padding: 16px 20px 32px;
  }
  
  .movie-details {
    flex-direction: column;
    padding: 0 20px 24px;
    margin-top: -20px;
  }
  
  .movie-details-poster {
    width: 120px;
    margin: 0 auto;
  }
}

/* ── YAIBA: SAMURAI LEGEND MODAL ─────────────────────────── */
.yaiba-modal-hero{
  position:relative;width:100%;min-height:480px;
  background-size:cover;background-position:center 20%;
  display:flex;align-items:flex-end;
  flex-shrink:0;
}
.yaiba-modal-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(7,7,15,1) 0%,rgba(7,7,15,0.65) 50%,rgba(7,7,15,0.2) 100%);
}
.yaiba-modal-hero-body{
  position:relative;z-index:1;padding:0 52px 36px;width:100%;box-sizing:border-box;
}
.yaiba-modal-platform{
  font-size:13px;font-weight:700;color:#fff;margin-bottom:10px;
  display:flex;align-items:center;
}
.yaiba-modal-title{
  font-family:var(--font-display);font-size:48px;color:#fff;line-height:1;
  margin:0 0 12px;text-shadow:0 2px 12px rgba(0,0,0,0.6);
}
.yaiba-modal-meta{font-size:11px;color:rgba(255,255,255,0.5);margin-bottom:8px;}
.yaiba-modal-tags{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;
}
.yaiba-modal-tags span{
  font-size:11px;color:rgba(255,255,255,0.65);
}
.yaiba-modal-tags span:not(:last-child)::after{content:'·';margin-left:6px;}
.yaiba-modal-year{color:rgba(255,255,255,0.55);}
.yaiba-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.yaiba-modal-btn-watch{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:6px;font-size:14px;font-weight:700;
  background:#fff;color:#000;text-decoration:none;
  transition:background .2s,opacity .2s;
}
.yaiba-modal-btn-watch:hover{background:#ddd;}
.yaiba-modal-btn-at{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:6px;font-size:14px;font-weight:700;
  background:rgba(255,255,255,0.12);color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,0.2);
  transition:background .2s;
}
.yaiba-modal-btn-at:hover{background:rgba(255,255,255,0.2);}
.yaiba-modal-avail{display:flex;align-items:center;gap:4px;}

.yaiba-modal-body{padding:28px 52px 48px;}
.yaiba-season-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px;}
.yaiba-season-title{font-size:22px;font-weight:700;color:var(--text);}
.yaiba-season-tabs{display:flex;gap:16px;}
.yaiba-tab{font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;padding-bottom:4px;}
.yaiba-tab--active{color:var(--text);border-bottom:2px solid var(--text);}
.yaiba-season-count{font-size:13px;color:var(--muted);margin-bottom:18px;}

/* 4-column episode grid */
.yaiba-ep-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.yaiba-ep-card{
  cursor:pointer;border-radius:8px;overflow:hidden;
  background:var(--surface2);
  transition:transform .2s var(--ease-out),box-shadow .2s;
}
.yaiba-ep-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,0.5);}
.yaiba-ep-thumb{
  position:relative;aspect-ratio:16/9;
  background-size:cover;background-position:center;
  background-color:#1a1a1a;
}
.yaiba-ep-overlay{
  position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,0.5) 0%,transparent 60%);
}
.yaiba-ep-num-badge{
  position:absolute;bottom:6px;left:8px;
  font-size:11px;font-weight:700;color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,0.8);
}
.yaiba-ep-info{padding:10px 12px 12px;}
.yaiba-ep-title{
  font-size:14px;font-weight:600;color:var(--text);
  margin-bottom:6px;line-height:1.4;
}
.yaiba-ep-desc{
  font-size:12.5px;color:var(--text2);line-height:1.6;
  margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.yaiba-ep-meta{
  font-size:11px;color:var(--muted);
  display:flex;gap:8px;flex-wrap:wrap;align-items:center;
}
.yaiba-ep-rating{
  font-size:10px;font-weight:700;
  border:1px solid var(--muted);border-radius:3px;
  padding:1px 4px;color:var(--muted);
}

@media(max-width:900px){
  .yaiba-ep-grid{grid-template-columns:repeat(2,1fr);}
  .yaiba-modal-hero{min-height:300px;}
  .yaiba-modal-title{font-size:34px;}
  .yaiba-modal-hero-body{padding:0 28px 28px;}
  .yaiba-modal-body{padding:20px 28px 36px;}
}
@media(max-width:540px){
  .yaiba-ep-grid{grid-template-columns:1fr;}
  .yaiba-modal-hero{min-height:240px;}
  .yaiba-modal-hero-body{padding:0 18px 20px;}
  .yaiba-modal-title{font-size:26px;}
  .yaiba-modal-body{padding:16px 18px 28px;}
}

/* ── AUDIT REMEDIATION STYLES ─────────────────────── */

/* 1. Mobile Bottom Sheet Backdrop Overlay */
.mbb-backdrop {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(4, 4, 8, 0.65);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 340; /* Just below bottom sheet's 350 */
  opacity: 0;
  display: none;
  transition: opacity 0.28s cubic-bezier(0.32, 0.72, 0, 1);
  pointer-events: auto;
}

/* 2. Theme Icon Automatic Switching */
[data-theme="dark"] .theme-icon-dark { display: block !important; }
[data-theme="dark"] .theme-icon-light { display: none !important; }
[data-theme="light"] .theme-icon-dark { display: none !important; }
[data-theme="light"] .theme-icon-light { display: block !important; }

/* 3. Navigation Search Box Persistence on Has-Text */
.nav-search-wrap.has-text {
  width: 200px;
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(255, 255, 255, 0.28);
}
.nav-search-wrap.has-text .nav-search-input {
  opacity: 1;
}
[data-theme="light"] .nav-search-wrap.has-text {
  background: rgba(0, 0, 0, 0.09);
  border-color: rgba(0, 0, 0, 0.22);
}

/* 4. Fine-Tuned Light Theme Contrast & Colors */
[data-theme="light"] {
  /* Dynamic Detective Conan Theme Palette */
  --bg: #EEF2FF;               /* Bright glass shirt white-blue background */
  --surface: #FFFFFF;          /* Pure white shirt base */
  --surface2: #D8E0FF;         /* Soft Conan Navy tint */
  --border: rgba(26, 35, 126, 0.11); /* Soft navy glass borders */
  --border2: rgba(26, 35, 126, 0.22); /* Sharp navy glass borders */
  --text: #0D1547;             /* Saturated deep Conan Navy jacket color */
  --text2: #364080;            /* Vibrant medium steel blue */
  --muted: #6672B8;            /* Medium Conan blue */
  --red: #E53935;              /* Saturated Bow-tie Red */
  --red-glow: rgba(229, 57, 53, 0.3); /* Bow-tie Red hover glows */
  --yellow: #FFC107;           /* Saturated investigation badge amber */
  --yellow-glow: rgba(255, 193, 7, 0.3);
  --card-grad: linear-gradient(180deg, rgba(238, 242, 255, 0) 10%, rgba(238, 242, 255, 0.95) 100%);
  --hero-grad: linear-gradient(105deg, rgba(16, 25, 78, 0.96) 0%, rgba(16, 25, 78, 0.80) 50%, rgba(16, 25, 78, 0.08) 100%);
  --modal-bg: rgba(16, 25, 78, 0.96);
  --modal-inner: rgba(229, 57, 53, 0.08);
}

/* Custom logo filters for light theme */
[data-theme="light"] .nav-bbdci-logo,
[data-theme="light"] .mtb-logo-img,
[data-theme="light"] .footer-bbdci-logo {
  filter: brightness(0.12) contrast(1.15);
}

/* Fix mobile more menu elements for light theme contrast */
[data-theme="light"] .mbb-more-menu {
  background: rgba(245, 243, 240, 0.96) !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .mbb-more-header-title {
  color: #141215 !important;
}
[data-theme="light"] .mbb-more-close {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #141215 !important;
}
[data-theme="light"] .mbb-more-section-label {
  color: #827e85 !important;
}
[data-theme="light"] .mbb-more-row {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .mbb-more-row-name {
  color: #141215 !important;
}
[data-theme="light"] .mbb-more-row-sub {
  color: #524e54 !important;
}
[data-theme="light"] .mbb-more-row-chevron {
  color: #827e85 !important;
}

/* Fix mobile top bar and bottom bar in light theme */
[data-theme="light"] .mobile-top-bar {
  background: rgba(245, 243, 240, 0.85) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .mtb-logo-text {
  color: #141215 !important;
}
[data-theme="light"] .mobile-bottom-bar {
  background: rgba(250, 248, 245, 0.85) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
  color: #524e54 !important;
}
[data-theme="light"] .mbb-tab {
  color: #524e54 !important;
  opacity: 0.55;
}
[data-theme="light"] .mbb-tab.active {
  color: var(--red) !important;
  opacity: 1;
  background: rgba(190, 22, 40, 0.08) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

/* Navigation drawer light-theme fix */
[data-theme="light"] .nav-drawer {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .nav-drawer a {
  color: #524e54 !important;
}
[data-theme="light"] .nav-drawer a:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #141215 !important;
}

/* Fix desktop search wrapper in light mode */
[data-theme="light"] .nav-search-clear {
  background: rgba(0, 0, 0, 0.06);
  color: rgba(0, 0, 0, 0.6);
}
[data-theme="light"] .nav-search-clear:hover {
  background: rgba(0, 0, 0, 0.12);
}

/* Soft drop shadow on active page guides so cards stand out in light mode */
[data-theme="light"] .guide-card-horizontal,
[data-theme="light"] .season-card,
[data-theme="light"] .plat-card,
[data-theme="light"] .latest-cinematic-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

/* Light mode specific platform scroll buttons */
[data-theme="light"] .platform-scroll-btn,
[data-theme="light"] .lang-scroll-btn {
  background: #ffffff !important;
  color: #141215 !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Light mode specific text color overrides */
[data-theme="light"] .lang-pill-name,
[data-theme="light"] .stat-n {
  color: var(--text);
  text-shadow: none;
}
[data-theme="light"] .hero-title,
[data-theme="light"] .hero-desc,
[data-theme="light"] .hero-slide.slide-reset .hero-title,
[data-theme="light"] .hero-slide.slide-reset .hero-desc {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.95), 0 1px 4px rgba(0,0,0,1) !important;
}

/* Make pills more visible in light mode with a darker outline */
[data-theme="light"] .lang-pill,
[data-theme="light"] .lang-big-pill {
  border: 1px solid rgba(0, 0, 0, 0.8) !important;
}

/* Light mode specific background and carousel dots overrides */
[data-theme="light"] .hero-stats-bar {
  background: rgba(250, 248, 245, 0.85);
}
[data-theme="light"] .cdot {
  background: rgba(0, 0, 0, 0.2);
}
[data-theme="light"] .cdot:hover {
  background: rgba(0, 0, 0, 0.4);
}
[data-theme="light"] .cdot.active {
  background: var(--text);
}

/* Light mode specific platform logo inversion */
[data-theme="light"] img.logo-animetimes,
[data-theme="light"] img.logo-etvwin,
[data-theme="light"] img[alt="Anime Times"],
[data-theme="light"] img[alt="ETV Win"],
[data-theme="light"] img[alt="Amasian TV"] {
  filter: invert(1) hue-rotate(180deg);
}

/* Watch Guide v2 light mode overrides */
[data-theme="light"] {
  --wg2-bg: #f5f3f0;
  --wg2-surface: rgba(0, 0, 0, 0.04);
  --wg2-surface-hover: rgba(0, 0, 0, 0.07);
  --wg2-glass: rgba(255, 255, 255, 0.88);
  --wg2-glass-border: rgba(0, 0, 0, 0.08);
  --wg2-text: #141215;
  --wg2-text-muted: rgba(20, 20, 20, 0.62);
  --wg2-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .wg2-arc-drawer {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
  border-left-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .wg2-arc-drawer-header {
  border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .wg2-close-btn {
  color: #141215 !important;
}

[data-theme="light"] .wg2-arc-sheet {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top-color: rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .wg2-arc-sheet-handle {
  background: rgba(0, 0, 0, 0.16) !important;
}

[data-theme="light"] .wg2-arc-sheet-title {
  color: #141215 !important;
}

[data-theme="light"] .wg2-arc-pill {
  background: rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .wg2-arc-pill-name {
  color: #141215 !important;
}

[data-theme="light"] .wg2-arc-pill-range {
  color: rgba(20, 20, 20, 0.58) !important;
}

[data-theme="light"] .wg2-arc-item {
  color: #141215 !important;
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .wg2-arc-item:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

[data-theme="light"] .wg2-arc-name {
  color: #141215 !important;
}

[data-theme="light"] .wg2-arc-range {
  color: rgba(20, 20, 20, 0.58) !important;
}

[data-theme="light"] .wg2-filter-menu {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

[data-theme="light"] .wg2-filter-option {
  color: #524e54 !important;
}

[data-theme="light"] .wg2-filter-option:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  color: #141215 !important;
}

[data-theme="light"] .wg2-filter-option.active {
  background: var(--wg2-red) !important;
  color: white !important;
}

[data-theme="light"] .wg2-hero-content h1 {
  color: #141215 !important;
}

[data-theme="light"] .wg2-fab-main {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

/* ─── ADDED COMPREHENSIVE LIGHT THEME OVERRIDES ─── */

/* 1. Platform card overrides in light theme */
[data-theme="light"] .plat-card-name {
  color: var(--text) !important;
}
[data-theme="light"] .plat-card-tagline {
  color: var(--text2) !important;
}
[data-theme="light"] .plat-card-arrow {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  color: var(--text) !important;
}
[data-theme="light"] .plat-card:hover .plat-card-arrow {
  background: rgba(0, 0, 0, 0.1) !important;
  color: var(--text) !important;
}

/* 2. Browse page overrides in light theme */
[data-theme="light"] .browse-collapse-btn {
  border-color: var(--border) !important;
  color: var(--text) !important;
  background: transparent !important;
}
[data-theme="light"] .browse-collapse-btn:hover {
  border-color: var(--border2) !important;
  background: rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .browse-search-wrap {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}
[data-theme="light"] .browse-search-wrap:focus-within {
  border-color: rgba(0, 0, 0, 0.18) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 0 0 3px rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .browse-search-input::placeholder {
  color: rgba(0, 0, 0, 0.38) !important;
}
[data-theme="light"] .browse-search-icon {
  color: rgba(0, 0, 0, 0.4) !important;
}
[data-theme="light"] .browse-search-clear {
  background: rgba(0, 0, 0, 0.06) !important;
  color: rgba(0, 0, 0, 0.6) !important;
}
[data-theme="light"] .browse-search-clear:hover {
  background: rgba(0, 0, 0, 0.12) !important;
  color: var(--text) !important;
}

/* 3. Custom Select filter controls in light theme */
[data-theme="light"] .custom-select-btn,
[data-theme="light"] .multi-select-btn,
[data-theme="light"] .filter-select {
  background-color: rgba(0, 0, 0, 0.04) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.55)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: var(--text) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
[data-theme="light"] .custom-select-btn:hover,
[data-theme="light"] .multi-select-btn:hover,
[data-theme="light"] .filter-select:hover {
  background-color: rgba(0, 0, 0, 0.07) !important;
  border-color: rgba(0, 0, 0, 0.16) !important;
}
[data-theme="light"] .custom-select-menu {
  background: rgba(255, 255, 255, 0.98) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .custom-select-option {
  color: var(--text2) !important;
}
[data-theme="light"] .custom-select-option:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--text) !important;
}
[data-theme="light"] .custom-select-option.selected {
  background: rgba(225, 29, 44, 0.08) !important;
  color: var(--red) !important;
}

/* 4. Episode modal item overrides in light theme */
[data-theme="light"] .modal-ep:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: var(--border2) !important;
}

/* 5. Movie page card overrides in light theme */
[data-theme="light"] .movies-page-filter-bar {
  background: rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .mbc-title {
  color: var(--text) !important;
}
[data-theme="light"] .mbc-desc {
  color: var(--text2) !important;
}
[data-theme="light"] .mbc-status.no {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
}

/* 6. Mobile campaign button overrides in light theme */
[data-theme="light"] .mbb-campaign-card {
  background: linear-gradient(135deg, #ffffff 0%, #f7f4f0 100%) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .mbb-campaign-title {
  color: var(--text) !important;
}
[data-theme="light"] .mbb-campaign-sub {
  color: var(--text2) !important;
}
[data-theme="light"] .mbb-campaign-arrow-wrap {
  color: rgba(0, 0, 0, 0.25) !important;
}
[data-theme="light"] .mbb-campaign-glow {
  background: radial-gradient(circle, rgba(225, 29, 44, 0.05) 0%, transparent 70%) !important;
}

/* 7. Language page card and button overrides in light theme */
[data-theme="light"] .lang-page-plat-card, 
[data-theme="light"] .lang-page-dub-card {
  background: rgba(0, 0, 0, 0.02) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .lang-page-plat-card:hover, 
[data-theme="light"] .lang-page-dub-card:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.12) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .lang-page-plat-detail {
  color: var(--text2) !important;
}
[data-theme="light"] .lang-page-pill {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--text2) !important;
}
[data-theme="light"] .lang-page-plat-arrow {
  color: rgba(0, 0, 0, 0.2) !important;
}
[data-theme="light"] .lang-page-dub-native {
  color: var(--text) !important;
}
[data-theme="light"] .lang-cast-btn {
  background: rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: var(--text) !important;
}
[data-theme="light"] .lang-cast-btn:hover {
  background: rgba(0, 0, 0, 0.07) !important;
  border-color: rgba(0, 0, 0, 0.14) !important;
}

/* 8. Additional Light Mode Fine-Tuning */

/* Explicit Light Mode Footer */
[data-theme="light"] .site-footer {
  background: var(--surface) !important;
  border-top: 1px solid var(--border) !important;
}

/* Platform Card Light Mode Overrides */
[data-theme="light"] .plat-card {
  border-color: rgba(0, 0, 0, 0.08) !important;
  background: var(--surface) !important;
}
[data-theme="light"] .plat-card-overlay {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.85) 100%) !important;
}

/* Multi-select filter menu */
[data-theme="light"] .multi-select-menu {
  background: rgba(255, 255, 255, 0.98) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .multi-select-option:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  color: var(--text) !important;
}

/* Movie Detail Hero Overlays and Texts */
[data-theme="light"] .movie-hero-overlay {
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(250,248,245,0.2) 40%,
    rgba(250,248,245,0.7) 75%,
    var(--surface) 100%
  ) !important;
}
[data-theme="light"] .movie-hero-title {
  color: var(--text) !important;
  text-shadow: none !important;
}
[data-theme="light"] .movie-hero-badge {
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7) !important;
}
[data-theme="light"] .movie-hero-meta {
  color: rgba(255, 255, 255, 0.8) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}

/* Movie row card and big card soft shadow overrides */
[data-theme="light"] .movie-row-card {
  background: var(--surface) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .movie-row-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06), 0 0 0 1px var(--border) !important;
}
[data-theme="light"] .mrc-title {
  color: var(--text) !important;
}
[data-theme="light"] .mrc-num {
  color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .movie-big-card:hover {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.06), 0 0 0 1px var(--border) !important;
}

/* Movies Page Hero Overrides for Vibrant Contrast */
[data-theme="light"] .movies-page-title {
  color: #ffffff !important;
  text-shadow: 0 2px 4px rgba(16, 25, 78, 0.4) !important;
}
[data-theme="light"] .movies-page-hero-overlay {
  background: linear-gradient(to top, var(--bg) 0%, rgba(16, 25, 78, 0.9) 65%, rgba(16, 25, 78, 0.98) 100%) !important;
}

/* Movie Modal Centered Poster Overrides */
[data-theme="light"] .modal-movie-hero--poster {
  background: radial-gradient(circle at 50% 20%, rgba(16, 25, 78, 0.5), rgba(16, 25, 78, 0.96) 75%) !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-overlay {
  background: linear-gradient(to top, rgba(16, 25, 78, 0.96) 0%, rgba(16, 25, 78, 0.15) 60%, transparent 100%) !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-title {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-badge {
  color: var(--yellow) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="light"] .mmh-close {
  background: rgba(255, 255, 255, 0.8) !important;
  border-color: var(--border) !important;
  color: var(--text) !important;
}
[data-theme="light"] .mmh-close:hover {
  background: var(--surface2) !important;
}
[data-theme="light"] .modal-movie-body .mmh-title {
  color: var(--text) !important;
}

/* List Mode Scroll & Card Shadows */
[data-theme="light"] .lm-season-card,
[data-theme="light"] .lm-movie-card {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .lm-season-card:hover,
[data-theme="light"] .lm-movie-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .lm-season-overlay,
[data-theme="light"] .lm-movie-overlay {
  background: linear-gradient(to top, rgba(16, 25, 78, 0.96) 0%, rgba(16, 25, 78, 0.5) 60%, transparent 100%) !important;
}
[data-theme="light"] .spinoff-overlay {
  background: linear-gradient(0deg, rgba(16, 25, 78, 0.98) 0%, rgba(16, 25, 78, 0.7) 45%, rgba(16, 25, 78, 0.1) 100%) !important;
}
[data-theme="light"] .season-card-overlay {
  background: linear-gradient(180deg, rgba(16, 25, 78, 0.15) 0%, rgba(16, 25, 78, 0.9) 100%) !important;
}
[data-theme="light"] .manga-feature-overlay {
  background: linear-gradient(90deg, rgba(16, 25, 78, 0.96) 0%, rgba(16, 25, 78, 0.75) 55%, rgba(16, 25, 78, 0.1) 100%) !important;
}
[data-theme="light"] .etv-hero-overlay {
  background: linear-gradient(0deg, rgba(16, 25, 78, 0.95) 0%, rgba(16, 25, 78, 0.5) 60%, rgba(16, 25, 78, 0.2) 100%) !important;
}
[data-theme="light"] .merch-card-img-overlay {
  background: linear-gradient(180deg, transparent 40%, #10194E 100%) !important;
}

/* Light mode card overlays - White text contrast overrides */
[data-theme="light"] .lm-season-label,
[data-theme="light"] .lm-movie-title,
[data-theme="light"] .spinoff-title,
[data-theme="light"] .spinoff-label,
[data-theme="light"] .spinoff-cta,
[data-theme="light"] .content-card-title,
[data-theme="light"] .browse-card-title,
[data-theme="light"] .season-card-eps,
[data-theme="light"] .mrc-title,
[data-theme="light"] .manga-feature-title,
[data-theme="light"] .pvr-card-title,
[data-theme="light"] .etv-stat-val {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="light"] .lm-season-eps,
[data-theme="light"] .lm-movie-year,
[data-theme="light"] .spinoff-desc,
[data-theme="light"] .spinoff-dub,
[data-theme="light"] .content-card-meta,
[data-theme="light"] .browse-card-meta,
[data-theme="light"] .browse-card-type,
[data-theme="light"] .season-card-label,
[data-theme="light"] .mrc-meta,
[data-theme="light"] .manga-feature-title span,
[data-theme="light"] .manga-feature-desc,
[data-theme="light"] .manga-feature-meta,
[data-theme="light"] .pvr-card-sub,
[data-theme="light"] .etv-stat-lab {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Bright yellow / white for overlay card highlights & watermark badges */
[data-theme="light"] .lm-season-num,
[data-theme="light"] .lm-movie-num,
[data-theme="light"] .season-card-num,
[data-theme="light"] .content-card-num,
[data-theme="light"] .browse-card-num,
[data-theme="light"] .mrc-num {
  color: var(--yellow) !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
}

/* Light mode Movie Big Card (details bar) stays readable on its white surface */
[data-theme="light"] .mbc-title,
[data-theme="light"] .mbc-num {
  color: var(--text) !important;
}
[data-theme="light"] .mbc-desc,
[data-theme="light"] .mbc-meta {
  color: var(--text2) !important;
}

[data-theme="light"] .manga-feature-btn--outline {
  border-color: rgba(0, 0, 0, 0.2) !important;
  color: var(--text) !important;
}
[data-theme="light"] .manga-feature-btn--outline:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}

/* Language Page Section Title */
[data-theme="light"] .lang-page-section-title {
  color: var(--text) !important;
}

/* Voice Cast Modals */
[data-theme="light"] .cm-header {
  border-bottom: 1px solid var(--border) !important;
}
[data-theme="light"] .cm-title {
  color: var(--text) !important;
}
[data-theme="light"] .cm-cast-row {
  background: rgba(0, 0, 0, 0.02) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
}
[data-theme="light"] .cm-cast-row:hover {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] .cm-cast-char {
  color: var(--text) !important;
}

/* Watch Buttons in Light Mode */
[data-theme="light"] .watch-btn {
  background: linear-gradient(145deg, color-mix(in srgb, var(--btn-color, #000) 10%, rgba(0, 0, 0, 0.03)), color-mix(in srgb, var(--btn-color, #000) 5%, rgba(0, 0, 0, 0.01))) !important;
  border: 1px solid color-mix(in srgb, var(--btn-color, rgba(0, 0, 0, 0.15)) 25%, rgba(0, 0, 0, 0.08)) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
  color: var(--text) !important;
}
[data-theme="light"] .watch-btn:hover {
  background: linear-gradient(145deg, color-mix(in srgb, var(--btn-color, #000) 15%, rgba(0, 0, 0, 0.05)), color-mix(in srgb, var(--btn-color, #000) 8%, rgba(0, 0, 0, 0.02))) !important;
  box-shadow: 0 0 24px -5px var(--btn-color), 0 4px 20px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}
[data-theme="light"] .watch-btn-name {
  color: var(--btn-color, var(--text)) !important;
  border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--btn-color, #000) 12%, transparent), transparent) !important;
}
[data-theme="light"] .watch-btn-detail {
  color: var(--text2) !important;
}
[data-theme="light"] .watch-btn-arrow {
  color: var(--btn-color, var(--text2)) !important;
}
[data-theme="light"] .watch-btn-logo[src*="appletv"],
[data-theme="light"] .logo-appletv,
[data-theme="light"] .plat-logo-img.logo-appletv {
  filter: brightness(0.12) contrast(1.15) !important;
}

/* ─── MODERN WATCH GUIDES INDEX PAGE ─────────────────────── */
.guides-page-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px;
  box-sizing: border-box;
}

.guides-section-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 24px;
  position: relative;
  display: inline-block;
  letter-spacing: 0.5px;
}
.guides-section-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 40px;
  height: 3px;
  background: var(--red);
  border-radius: 2px;
}

.featured-guide-section {
  margin-top: 16px;
  margin-bottom: 48px;
}

.featured-guide-card {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s, border-color 0.3s;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.featured-guide-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(204, 34, 51, 0.15), 0 10px 25px rgba(0, 0, 0, 0.3);
  border-color: rgba(204, 34, 51, 0.3);
}

.featured-guide-img-wrap {
  position: relative;
  overflow: hidden;
  height: 100%;
  min-height: 340px;
}
.featured-guide-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.featured-guide-card:hover .featured-guide-img {
  transform: scale(1.05);
}
.featured-guide-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: 6px 16px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.featured-guide-body {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.01) 0%, rgba(255, 255, 255, 0.03) 100%);
}
.featured-guide-eyebrow {
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.featured-guide-title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}
.featured-guide-desc {
  font-size: 14px;
  color: var(--text2);
  line-height: 1.6;
}
.featured-guide-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.guide-tag-pill {
  font-size: 11px;
  font-weight: 600;
  background: rgba(204, 34, 51, 0.12);
  color: var(--red);
  padding: 5px 12px;
  border-radius: 100px;
  border: 1px solid rgba(204, 34, 51, 0.2);
  letter-spacing: 0.3px;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.featured-guide-card:hover .guide-tag-pill,
.guide-card-modern:hover .guide-tag-pill {
  background: rgba(204, 34, 51, 0.2);
  border-color: rgba(204, 34, 51, 0.35);
}

.featured-guide-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 8px;
  align-self: flex-start;
  transition: gap 0.3s;
}
.featured-guide-card:hover .featured-guide-cta {
  gap: 12px;
}
.cta-arrow {
  font-size: 16px;
  line-height: 1;
  transition: transform 0.3s;
}
.featured-guide-card:hover .cta-arrow {
  transform: translateX(2px);
}

.explore-guides-section {
  margin-top: 48px;
  margin-bottom: 60px;
}

.guides-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 28px;
  margin-top: 24px;
}

.guide-card-modern {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  height: 100%;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s, border-color 0.3s;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}
.guide-card-modern:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  border-color: rgba(204, 34, 51, 0.25);
}
.guide-card-img-wrap {
  position: relative;
  height: 200px;
  overflow: hidden;
  background: #000;
}
.guide-card-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.guide-card-modern:hover .guide-card-img {
  transform: scale(1.05);
}
.guide-card-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.guide-card-india-flag {
  position: absolute;
  top: 12px;
  right: 16px;
  font-size: 24px;
}
.guide-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 12px;
}
.guide-card-eyebrow {
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.guide-card-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.guide-card-desc {
  font-size: 13.5px;
  color: var(--text2);
  line-height: 1.6;
  margin-bottom: 8px;
  flex-grow: 1;
}
.guide-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border);
  padding-top: 16px;
  margin-top: auto;
}
.guide-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.guide-card-cta {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--red);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: transform 0.3s;
}
.guide-card-modern:hover .guide-card-cta {
  transform: translateX(3px);
}

@media (max-width: 992px) {
  .featured-guide-card {
    grid-template-columns: 1fr;
  }
  .featured-guide-img-wrap {
    min-height: 260px;
    height: 260px;
  }
  .featured-guide-body {
    padding: 30px;
  }
}

@media (max-width: 576px) {
  .guides-page-container {
    padding: 24px 16px;
  }
  .guides-section-title {
    font-size: 24px;
  }
  .featured-guide-title {
    font-size: 22px;
  }
  .featured-guide-body {
    padding: 24px 20px;
    gap: 12px;
  }
  .guide-card-modern .guide-card-body {
    padding: 20px;
  }
  .featured-guide-desc,
  .guide-card-desc {
    font-size: 13px;
  }
}

/* ─── LIGHT THEME OVERRIDES ──────────────────────────────── */
[data-theme="light"] .featured-guide-card,
[data-theme="light"] .guide-card-modern {
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
}
[data-theme="light"] .featured-guide-card:hover,
[data-theme="light"] .guide-card-modern:hover {
  box-shadow: 0 16px 45px rgba(190, 22, 40, 0.08), 0 8px 24px rgba(0, 0, 0, 0.04);
  border-color: rgba(190, 22, 40, 0.3);
}
[data-theme="light"] .featured-guide-body {
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.002) 0%, rgba(0, 0, 0, 0.01) 100%);
}
[data-theme="light"] .guide-tag-pill {
  background: rgba(190, 22, 40, 0.08);
  color: var(--red);
  border-color: rgba(190, 22, 40, 0.15);
}
[data-theme="light"] .featured-guide-card:hover .guide-tag-pill,
[data-theme="light"] .guide-card-modern:hover .guide-tag-pill {
  background: rgba(190, 22, 40, 0.14);
  border-color: rgba(190, 22, 40, 0.28);
}
[data-theme="light"] .guide-card-footer {
  border-color: var(--border);
}

/* ==========================================================================
   VIBRANT DETECTIVE CONAN LIGHT MODE OVERHAUL
   Inspired by Conan's classic color palette:
   - Deep Blazer Navy (#10194E / #0D1547)
   - Signature Bow-tie Red (#E53935 / #FF5252)
   - Investigation Amber Gold (#FFC107 / #FFB300)
   - Crisp Shirt White (#FFFFFF / #EEF2FF)
   ========================================================================== */

/* 1. BRAND NEW DETECTIVE CONAN NAV BAR OVERRIDES */
[data-theme="light"] #nav {
  background: rgba(16, 25, 78, 0.94) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: 0 8px 32px rgba(16, 25, 78, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(24px) saturate(1.8) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.8) !important;
}
[data-theme="light"] #nav.scrolled {
  background: rgba(10, 17, 56, 0.97) !important;
  border-bottom: 2.5px solid var(--red) !important; /* Bold Bow-tie Red bottom divider on scroll */
  box-shadow: 0 10px 36px rgba(10, 17, 56, 0.32) !important;
}
[data-theme="light"] .nav-logo {
  color: #ffffff !important;
}
[data-theme="light"] .nav-logo-tagline {
  color: rgba(255, 255, 255, 0.72) !important;
}
[data-theme="light"] .nav-logo-tagline em {
  color: #FF5252 !important; /* Bright glowing red keyword */
  font-weight: 700;
}
[data-theme="light"] .nav-logo em {
  color: #FF5252 !important;
}
[data-theme="light"] .nav-links a,
[data-theme="light"] .nav-more-btn {
  color: rgba(255, 255, 255, 0.78) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}
[data-theme="light"] .nav-links a:hover,
[data-theme="light"] .nav-more-btn:hover,
[data-theme="light"] .nav-more-btn.active {
  color: #FF5252 !important; /* Bow-tie Red hover */
}
[data-theme="light"] .theme-btn {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="light"] .theme-btn:hover {
  border-color: #FF5252 !important;
  color: #FF5252 !important;
  background: rgba(255, 255, 255, 0.15) !important;
}
[data-theme="light"] .nav-hamburger span {
  background: #ffffff !important;
}
[data-theme="light"] .nav-bbdci-logo {
  filter: brightness(0) invert(1) !important; /* Make the logo solid white to pop on the navy bar */
}

/* Nav Search bar inside navy container */
[data-theme="light"] .nav-search-wrap {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
[data-theme="light"] .nav-search-wrap:focus-within {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
}
[data-theme="light"] .nav-search-icon {
  color: rgba(255, 255, 255, 0.75) !important;
}
[data-theme="light"] .nav-search-input {
  color: #ffffff !important;
}
[data-theme="light"] .nav-search-input::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
}
[data-theme="light"] .nav-search-clear {
  background: rgba(255, 255, 255, 0.18) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
[data-theme="light"] .nav-search-clear:hover {
  background: rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}
[data-theme="light"] .nav-drawer {
  background: rgba(16, 25, 78, 0.98) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 16px 48px rgba(16, 25, 78, 0.28) !important;
}
[data-theme="light"] .nav-drawer a {
  color: rgba(255, 255, 255, 0.82) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
[data-theme="light"] .nav-drawer a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #FF5252 !important;
}

/* 2. PLATFORM CARDS - HIGH CONTRAST & BRAND gradient VIBRANCY */
[data-theme="light"] .plat-card {
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
  background: #10194E !important;
  box-shadow: 0 8px 24px rgba(16, 25, 78, 0.08) !important;
}
[data-theme="light"] .plat-card-bg {
  opacity: 0.65 !important;
  filter: contrast(1.15) brightness(0.85) !important;
}
[data-theme="light"] .plat-card-color-layer {
  opacity: 0.85 !important;
}
[data-theme="light"] .plat-card-overlay {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 10%, rgba(16, 25, 78, 0.9) 100%) !important;
}
[data-theme="light"] .plat-card-name {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
  font-weight: 700 !important;
}
[data-theme="light"] .plat-card-tagline {
  color: rgba(255, 255, 255, 0.78) !important;
}
[data-theme="light"] .plat-card-arrow {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}
[data-theme="light"] .plat-card:hover .plat-card-arrow {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(229, 57, 53, 0.4) !important;
}
[data-theme="light"] .plat-card img.logo-appletv,
[data-theme="light"] .plat-card .plat-logo-img.logo-appletv {
  filter: brightness(0) invert(1) !important;
}
[data-theme="light"] .plat-card img.logo-animetimes,
[data-theme="light"] .plat-card img.logo-etvwin,
[data-theme="light"] .plat-card img[alt="Anime Times"],
[data-theme="light"] .plat-card img[alt="ETV Win"] {
  filter: none !important;
}

/* 3. TAG CHIPS & matching FILTER CONTROLS */
[data-theme="light"] .tag-chip {
  background: rgba(26, 35, 126, 0.05) !important;
  border: 1.5px solid rgba(26, 35, 126, 0.14) !important;
  color: #10194E !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px rgba(16, 25, 78, 0.03) !important;
}
[data-theme="light"] .tag-chip:hover {
  background: rgba(26, 35, 126, 0.09) !important;
  border-color: rgba(26, 35, 126, 0.25) !important;
  transform: scale(1.03) !important;
}
[data-theme="light"] .tag-chip.selected {
  background: var(--tag-color) !important;
  border-color: var(--tag-color) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16), 0 0 10px var(--tag-color) !important;
}
[data-theme="light"] .tag-chip.selected .tag-indicator {
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
}
[data-theme="light"] .tag-chip .tag-indicator {
  box-shadow: 0 0 4px rgba(0,0,0,0.15) !important;
}

/* Match logic toggle button overrides */
[data-theme="light"] .filter-logic-toggle {
  background: rgba(26, 35, 126, 0.05) !important;
  border: 1px solid rgba(26, 35, 126, 0.12) !important;
  border-radius: 100px;
  padding: 4px;
}
[data-theme="light"] .filter-logic-toggle .logic-label {
  color: #364080 !important;
  font-weight: 700;
}
[data-theme="light"] .filter-logic-toggle .logic-btn {
  background: transparent !important;
  color: #364080 !important;
  border: none !important;
  font-weight: 700 !important;
  border-radius: 100px;
}
[data-theme="light"] .filter-logic-toggle .logic-btn.active[data-logic="OR"] {
  background: var(--text2) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] .filter-logic-toggle .logic-btn.active[data-logic="AND"] {
  background: var(--red) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(229, 57, 53, 0.25) !important;
}

/* Clear filters button override */
[data-theme="light"] .clear-filters-btn {
  background: #ffffff !important;
  border: 1.5px solid var(--red) !important;
  color: var(--red) !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 8px rgba(229, 57, 53, 0.08) !important;
}
[data-theme="light"] .clear-filters-btn:hover {
  background: var(--red) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(229, 57, 53, 0.2) !important;
}

/* 4. TEASER CARDS, SEASON CARDS & MEDIA PREVIEWS */
[data-theme="light"] .season-card {
  border: 1px solid rgba(26, 35, 126, 0.12) !important;
}
[data-theme="light"] .season-card-overlay {
  background: linear-gradient(180deg, rgba(16, 25, 78, 0) 30%, rgba(16, 25, 78, 0.88) 100%) !important;
}
[data-theme="light"] .season-card-eps {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5) !important;
}
[data-theme="light"] .season-card-label {
  color: var(--yellow) !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}
[data-theme="light"] .season-card-num {
  color: rgba(255, 255, 255, 0.28) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.15) !important;
}

/* List Mode Season & Movie Cards */
[data-theme="light"] .lm-season-card,
[data-theme="light"] .lm-movie-card {
  border: 1px solid rgba(26, 35, 126, 0.12) !important;
  background: #ffffff !important;
}
[data-theme="light"] .lm-season-overlay,
[data-theme="light"] .lm-movie-overlay {
  background: linear-gradient(to top, rgba(16, 25, 78, 0.94) 0%, rgba(16, 25, 78, 0.45) 60%, transparent 100%) !important;
}
[data-theme="light"] .lm-season-card:hover,
[data-theme="light"] .lm-movie-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 12px 32px rgba(16, 25, 78, 0.12) !important;
}
[data-theme="light"] .lm-season-label,
[data-theme="light"] .lm-movie-title {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5) !important;
}
[data-theme="light"] .lm-season-eps,
[data-theme="light"] .lm-movie-year {
  color: #364080 !important;
  text-shadow: none !important;
}
[data-theme="light"] .lm-season-num,
[data-theme="light"] .lm-movie-num {
  color: var(--yellow) !important;
  font-weight: 800 !important;
}

/* Spin-off, Manga, ETV & Detail Overlays */
[data-theme="light"] .spinoff-card {
  border: 1px solid rgba(26, 35, 126, 0.12) !important;
}
[data-theme="light"] .spinoff-overlay {
  background: linear-gradient(0deg, rgba(238, 242, 255, 0.98) 0%, rgba(238, 242, 255, 0.85) 50%, rgba(238, 242, 255, 0.3) 80%, transparent 100%) !important;
}
[data-theme="light"] .spinoff-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .spinoff-desc,
[data-theme="light"] .spinoff-dub,
[data-theme="light"] .spinoff-label {
  color: #364080 !important;
  text-shadow: none !important;
}
[data-theme="light"] .spinoff-cta {
  color: var(--red) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
[data-theme="light"] .manga-feature-overlay {
  background: linear-gradient(90deg, rgba(16, 25, 78, 0.95) 0%, rgba(16, 25, 78, 0.65) 55%, transparent 100%) !important;
}
[data-theme="light"] .manga-feature-title,
[data-theme="light"] .manga-feature-desc,
[data-theme="light"] .manga-feature-meta,
[data-theme="light"] .manga-feature-title span {
  color: #ffffff !important;
}
[data-theme="light"] .etv-hero-overlay {
  background: linear-gradient(0deg, rgba(16, 25, 78, 0.95) 0%, rgba(16, 25, 78, 0.5) 60%, transparent 100%) !important;
}
[data-theme="light"] .etv-stat-val {
  color: #ffffff !important;
}
[data-theme="light"] .etv-stat-lab {
  color: rgba(255, 255, 255, 0.78) !important;
}
[data-theme="light"] .movie-hero-overlay {
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.75) 75%, #EEF2FF 100%) !important;
}
[data-theme="light"] .movie-hero-title {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8), 0 1px 2px rgba(0,0,0,0.9) !important;
}
[data-theme="light"] .movie-hero-meta {
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.7) !important;
}

/* 5. INPUTS, STYLED SELECTS & SEARCH BOXES */
[data-theme="light"] .custom-select-btn,
[data-theme="light"] .multi-select-btn,
[data-theme="light"] .filter-select {
  background-color: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.18) !important;
  color: #10194E !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 6px rgba(16, 25, 78, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgba(16,25,78,0.7)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}
[data-theme="light"] .custom-select-btn:hover,
[data-theme="light"] .multi-select-btn:hover,
[data-theme="light"] .filter-select:hover {
  background-color: rgba(26, 35, 126, 0.04) !important;
  border-color: rgba(26, 35, 126, 0.35) !important;
}
[data-theme="light"] .custom-select-menu,
[data-theme="light"] .multi-select-menu {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.18) !important;
  box-shadow: 0 12px 48px rgba(16, 25, 78, 0.12) !important;
  border-radius: 12px !important;
}
[data-theme="light"] .custom-select-option,
[data-theme="light"] .multi-select-option {
  color: #364080 !important;
  font-weight: 600 !important;
}
[data-theme="light"] .custom-select-option:hover,
[data-theme="light"] .multi-select-option:hover {
  background: rgba(26, 35, 126, 0.05) !important;
  color: #10194E !important;
}
[data-theme="light"] .custom-select-option.selected,
[data-theme="light"] .multi-select-option.selected {
  background: rgba(229, 57, 53, 0.08) !important;
  color: var(--red) !important;
}
[data-theme="light"] .browse-search-wrap {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.18) !important;
  box-shadow: 0 4px 15px rgba(16, 25, 78, 0.04) !important;
}
[data-theme="light"] .browse-search-wrap:focus-within {
  border-color: var(--red) !important;
  box-shadow: 0 4px 20px rgba(229, 57, 53, 0.1), 0 0 0 3px rgba(229, 57, 53, 0.05) !important;
}
[data-theme="light"] .browse-search-input {
  color: #10194E !important;
}
[data-theme="light"] .browse-search-input::placeholder {
  color: rgba(26, 35, 126, 0.4) !important;
}
[data-theme="light"] .browse-search-icon {
  color: #364080 !important;
}

/* 6. CAMPAIGN CARDS, STAT CARDS & UTILITY SECTIONS */
[data-theme="light"] .mbb-campaign-card {
  background: linear-gradient(135deg, #ffffff 0%, #E3EAFC 100%) !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
  box-shadow: 0 12px 32px rgba(16, 25, 78, 0.06) !important;
}
[data-theme="light"] .mbb-campaign-title {
  color: #10194E !important;
}
[data-theme="light"] .mbb-campaign-sub {
  color: #364080 !important;
}
[data-theme="light"] .mbb-campaign-arrow-wrap {
  color: var(--red) !important;
}
[data-theme="light"] .mbb-campaign-glow {
  background: radial-gradient(circle, rgba(229, 57, 53, 0.08) 0%, transparent 70%) !important;
}
[data-theme="light"] #stat-cards-section .stat-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(227, 234, 252, 0.65) 100%) !important;
  box-shadow: 0 12px 36px rgba(16, 25, 78, 0.08), 0 0 15px rgba(229, 57, 53, 0.15) !important;
}

/* ─── ADDITIONAL DETECTIVE CONAN COLORFUL LIGHT MODE OVERRIDES ─── */

/* 1. TEASER & FEATURED GUIDE CARDS (Bright Investigation Amber & Bow-tie Red Theme) */
[data-theme="light"] .manga-teaser,
[data-theme="light"] .merch-main-card,
[data-theme="light"] .latest-cinematic-card,
[data-theme="light"] .featured-guide-card,
[data-theme="light"] .guide-card-modern {
  background: linear-gradient(135deg, #FFF9D0 0%, #EEF2FF 100%) !important;
  border: 2.5px solid var(--red) !important;
  box-shadow: 0 12px 32px rgba(229, 57, 53, 0.12) !important;
  color: #0D1547 !important;
}
[data-theme="light"] .manga-teaser:hover,
[data-theme="light"] .merch-main-card:hover,
[data-theme="light"] .latest-cinematic-card:hover,
[data-theme="light"] .featured-guide-card:hover,
[data-theme="light"] .guide-card-modern:hover {
  border-color: #FF9800 !important; /* Glowing amber border on hover */
  box-shadow: 0 16px 48px rgba(229, 57, 53, 0.22) !important;
  transform: translateY(-4px) !important;
}
[data-theme="light"] .lcc-overlay {
  background: linear-gradient(90deg, rgba(238, 242, 255, 0.98) 0%, rgba(238, 242, 255, 0.88) 45%, rgba(238, 242, 255, 0.3) 75%, transparent 100%) !important;
}
[data-theme="light"] .manga-teaser-title,
[data-theme="light"] .merch-card-title,
[data-theme="light"] .featured-guide-title,
[data-theme="light"] .guide-card-title,
[data-theme="light"] .lcc-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .manga-teaser-desc,
[data-theme="light"] .merch-card-desc,
[data-theme="light"] .merch-detail-row,
[data-theme="light"] .featured-guide-desc,
[data-theme="light"] .guide-card-desc,
[data-theme="light"] .lcc-desc {
  color: #364080 !important;
}
[data-theme="light"] .manga-teaser-label,
[data-theme="light"] .merch-card-tag,
[data-theme="light"] .guide-card-eyebrow,
[data-theme="light"] .featured-guide-meta,
[data-theme="light"] .lcc-platform-badge {
  color: var(--red) !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
[data-theme="light"] .manga-feature-btn--outline,
[data-theme="light"] .merch-btn-outline,
[data-theme="light"] .featured-guide-cta,
[data-theme="light"] .guide-card-cta {
  border: 1.5px solid var(--red) !important;
  color: var(--red) !important;
  background: rgba(229, 57, 53, 0.06) !important;
  font-weight: 700 !important;
}
[data-theme="light"] .manga-feature-btn--outline:hover,
[data-theme="light"] .merch-btn-outline:hover,
[data-theme="light"] .featured-guide-cta:hover,
[data-theme="light"] .guide-card-cta:hover {
  background: var(--red) !important;
  color: #ffffff !important;
  border-color: var(--red) !important;
}

/* 2. SPINOFF CARDS & SPINOFF EPISODE CARDS (Vivid & Bright Conan Branding) */
[data-theme="light"] .spinoff-card {
  border: 2px solid rgba(26, 35, 126, 0.2) !important;
  background: linear-gradient(135deg, #FFFDE7 0%, #EEF2FF 100%) !important;
}
[data-theme="light"] .spinoff-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 12px 32px rgba(229, 57, 53, 0.14) !important;
}
[data-theme="light"] .spinoff-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .spinoff-desc,
[data-theme="light"] .spinoff-dub,
[data-theme="light"] .spinoff-label {
  color: #364080 !important;
}
[data-theme="light"] .spinoff-cta {
  color: var(--red) !important;
  font-weight: 700 !important;
}
[data-theme="light"] .spinoff-overlay {
  background: linear-gradient(0deg, rgba(238, 242, 255, 0.98) 0%, rgba(238, 242, 255, 0.85) 50%, rgba(238, 242, 255, 0.3) 80%, transparent 100%) !important;
}
[data-theme="light"] .spinoff-ep-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
  color: #0D1547 !important;
}
[data-theme="light"] .spinoff-ep-card:hover {
  background: #FFEBEB !important;
  border-color: var(--red) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(229, 57, 53, 0.15) !important;
}
[data-theme="light"] .spinoff-ep-title {
  color: #0D1547 !important;
}
[data-theme="light"] .spinoff-ep-meta {
  color: #364080 !important;
}
[data-theme="light"] .spinoff-ep-desc {
  color: #6672B8 !important;
}

/* 3. BROWSE & FILTER PAGE EPISODE CARDS (Bright Blue-Lavender Surfaces) */
[data-theme="light"] .browse-card,
[data-theme="light"] .content-card,
[data-theme="light"] .season-card {
  background: linear-gradient(135deg, #EEF2FF 0%, #FFFDE7 100%) !important;
  border: 1.5px solid rgba(26, 35, 126, 0.2) !important;
  box-shadow: 0 8px 24px rgba(26, 35, 126, 0.05) !important;
}
[data-theme="light"] .browse-card:hover,
[data-theme="light"] .content-card:hover,
[data-theme="light"] .season-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 16px 40px rgba(229, 57, 53, 0.15) !important;
}
[data-theme="light"] .browse-card-hover {
  background: rgba(238, 242, 255, 0.98) !important;
  border: 2px solid var(--red) !important;
}
[data-theme="light"] .browse-card-hover-desc {
  color: #0D1547 !important;
  font-weight: 600 !important;
}
[data-theme="light"] .browse-card-title,
[data-theme="light"] .mrc-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .browse-card-meta,
[data-theme="light"] .browse-card-type,
[data-theme="light"] .mrc-meta {
  color: #364080 !important;
}
[data-theme="light"] .browse-card-num,
[data-theme="light"] .mrc-num {
  color: var(--red) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
[data-theme="light"] .season-card-overlay,
[data-theme="light"] .content-card-bg-overlay {
  background: linear-gradient(180deg, rgba(16, 25, 78, 0) 10%, rgba(16, 25, 78, 0.95) 100%) !important;
}
[data-theme="light"] .season-card-eps,
[data-theme="light"] .content-card-title {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
[data-theme="light"] .season-card-label,
[data-theme="light"] .content-card-meta {
  color: rgba(255, 255, 255, 0.85) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}
[data-theme="light"] .season-card-num,
[data-theme="light"] .content-card-num {
  color: var(--yellow) !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}
[data-theme="light"] .avail-badge.yes {
  background: #1b5e20 !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 6px rgba(27, 94, 32, 0.3) !important;
  opacity: 0.95 !important;
}
[data-theme="light"] .avail-badge.no {
  background: #b71c1c !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 6px rgba(183, 28, 28, 0.3) !important;
  opacity: 0.95 !important;
}

/* 4. DETAIL MODALS, MODAL EPISODE CARDS & VOICE CAST ROWS (Premium Lavender Glass) */
[data-theme="light"] .modal-panel {
  background: rgba(245, 247, 255, 0.97) !important;
  border: 3px solid var(--red) !important;
  box-shadow: 0 -8px 48px rgba(16, 25, 78, 0.18) !important;
}
[data-theme="light"] .modal-handle {
  background: rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .modal-title,
[data-theme="light"] .modal-where-plat,
[data-theme="light"] .modal-ep-title,
[data-theme="light"] .cm-title,
[data-theme="light"] .cm-cast-char,
[data-theme="light"] .lang-modal-plat-name,
[data-theme="light"] .lm-plat-name {
  color: #0D1547 !important;
  text-shadow: none !important;
}
/* Season thumbnail labels sit on dark image overlay — keep white */
[data-theme="light"] .modal-season-thumb-label {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8) !important;
}
[data-theme="light"] .modal-desc,
[data-theme="light"] .modal-where-detail,
[data-theme="light"] .lang-modal-plat-detail,
[data-theme="light"] .lm-plat-detail,
[data-theme="light"] .modal-unavail {
  color: #364080 !important;
}
/* Season thumbnail episode count also on dark overlay — keep readable */
[data-theme="light"] .modal-season-thumb-eps {
  color: rgba(255, 255, 255, 0.8) !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.6) !important;
}
[data-theme="light"] .modal-badge,
[data-theme="light"] .modal-where-title,
[data-theme="light"] .modal-ep-num,
[data-theme="light"] .lm-plat-link,
[data-theme="light"] .lang-modal-plat-arrow {
  color: var(--red) !important;
  font-weight: 700 !important;
}
[data-theme="light"] .modal-close {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  color: #0D1547 !important;
}
[data-theme="light"] .modal-close:hover {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
}
[data-theme="light"] .modal-where-row,
[data-theme="light"] .lang-modal-plat-row {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .modal-where-row:hover,
[data-theme="light"] .lang-modal-plat-row:hover {
  background: #FFEBEB !important;
  border-color: var(--red) !important;
  box-shadow: 0 8px 24px rgba(229, 57, 53, 0.1) !important;
}
[data-theme="light"] .modal-ep {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .modal-ep:hover {
  background: #FFEBEB !important;
  border-color: var(--red) !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(229, 57, 53, 0.15) !important;
}
[data-theme="light"] .modal-etv-summary {
  background: rgba(255, 107, 0, 0.15) !important;
  border: 1.5px solid rgba(255, 107, 0, 0.4) !important;
  color: #d84315 !important;
}
[data-theme="light"] .cm-cast-row {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .cm-cast-row:hover {
  background: #FFEBEB !important;
  border-color: var(--red) !important;
}

/* Movie Modal Header Overrides */
[data-theme="light"] .modal-movie-hero--poster {
  background: radial-gradient(circle at 50% 20%, rgba(238, 242, 255, 0.5), rgba(238, 242, 255, 0.96) 75%) !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-overlay {
  background: linear-gradient(to top, rgba(238, 242, 255, 0.96) 0%, rgba(238, 242, 255, 0.15) 60%, transparent 100%) !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .modal-movie-hero--poster .mmh-badge {
  color: var(--red) !important;
}
[data-theme="light"] .mmh-close {
  background: rgba(0, 0, 0, 0.05) !important;
  border-color: rgba(0, 0, 0, 0.1) !important;
  color: #0D1547 !important;
}
[data-theme="light"] .mmh-close:hover {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
}
[data-theme="light"] .modal-movie-body .mmh-title {
  color: #0D1547 !important;
}

/* 5. MOVIE CARDS & LIST-MODE OVERRIDES (Vivid Light Surfaces) */
[data-theme="light"] .movie-big-card {
  background: linear-gradient(135deg, #FFFDE7 0%, #EEF2FF 100%) !important;
  border: 2px solid rgba(26, 35, 126, 0.25) !important;
  box-shadow: 0 8px 28px rgba(26, 35, 126, 0.06) !important;
}
[data-theme="light"] .movie-big-card:hover {
  background: #ffffff !important;
  border-color: var(--red) !important;
  box-shadow: 0 16px 48px rgba(229, 57, 53, 0.18) !important;
}
[data-theme="light"] .mbc-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .mbc-desc {
  color: #364080 !important;
}
[data-theme="light"] .mbc-num {
  color: var(--red) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
}
[data-theme="light"] .mbc-meta {
  color: #364080 !important;
}
[data-theme="light"] .mbc-status.no {
  background: rgba(0, 0, 0, 0.04) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  color: #6672B8 !important;
}
[data-theme="light"] .movie-row-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .movie-row-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 12px 32px rgba(229, 57, 53, 0.1) !important;
}
[data-theme="light"] .lm-season-card,
[data-theme="light"] .lm-movie-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.15) !important;
}
[data-theme="light"] .lm-season-card:hover,
[data-theme="light"] .lm-movie-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 12px 32px rgba(229, 57, 53, 0.12) !important;
}
[data-theme="light"] .lm-season-label,
[data-theme="light"] .lm-movie-title {
  color: #0D1547 !important;
}
[data-theme="light"] .movie-details-title {
  color: #0D1547 !important;
  text-shadow: none !important;
}
[data-theme="light"] .movie-details-desc {
  color: #364080 !important;
}
[data-theme="light"] .movie-details-section,
[data-theme="light"] .movie-details-section .modal-where-title {
  color: var(--red) !important;
}
[data-theme="light"] .lm-season-overlay,
[data-theme="light"] .lm-movie-overlay {
  background: linear-gradient(to top, rgba(238, 242, 255, 0.95) 0%, rgba(238, 242, 255, 0.45) 60%, transparent 100%) !important;
}

/* 6. CINEMATIC HERO SECTION BANNERS & GRADIENT FADEOUTS (NO MORE WHITE FADEOUTS!) */
/* Note: .movie-hero-overlay and .etv-hero-overlay are intentionally excluded here —
   they have their own specific gradients above for proper text contrast */
[data-theme="light"] .movies-page-hero-overlay,
[data-theme="light"] .guide-hero-overlay,
[data-theme="light"] .modern-hero-overlay,
[data-theme="light"] .page-hero-overlay,
[data-theme="light"] .pp-hero-grad {
  background: linear-gradient(to bottom, 
    rgba(26, 35, 126, 0.85) 0%, 
    rgba(54, 64, 128, 0.45) 50%, 
    rgba(238, 242, 255, 0.85) 85%, 
    var(--bg) 100%) !important;
}
[data-theme="light"] .pp-hero-grad2 {
  background: linear-gradient(90deg, rgba(238, 242, 255, 0.95) 0%, rgba(238, 242, 255, 0.65) 55%, transparent 100%) !important;
}
[data-theme="light"] .hero-slide-fade {
  background: linear-gradient(to bottom, transparent 0%, rgba(238, 242, 255, 0.4) 60%, var(--bg) 100%) !important;
}
[data-theme="light"] .pp-hero-back {
  background: rgba(255, 255, 255, 0.6) !important;
  border-color: rgba(26, 35, 126, 0.25) !important;
  color: #0D1547 !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
[data-theme="light"] .pp-hero-back:hover {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #ffffff !important;
}

/* 7. MANGA VOLUME CARDS & SITE FOOTER OVERHAULS */
[data-theme="light"] .manga-vol-card {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.18) !important;
}
[data-theme="light"] .manga-vol-card:hover {
  border-color: var(--red) !important;
  box-shadow: 0 12px 36px rgba(229, 57, 53, 0.1) !important;
}
[data-theme="light"] .manga-vol-label {
  color: #0D1547 !important;
}
[data-theme="light"] .manga-vol-num {
  color: var(--red) !important;
  opacity: 0.85 !important;
}
[data-theme="light"] .site-footer {
  background: #10194E !important;
  border-top: 3.5px solid var(--red) !important;
  color: rgba(255, 255, 255, 0.8) !important;
}
[data-theme="light"] .footer-links a,
[data-theme="light"] .footer-copy,
[data-theme="light"] .footer-made a {
  color: rgba(255, 255, 255, 0.8) !important;
}
[data-theme="light"] .footer-links a:hover,
[data-theme="light"] .footer-social-btn:hover {
  color: var(--yellow) !important;
  border-color: var(--yellow) !important;
}
[data-theme="light"] .footer-tagline {
  color: rgba(255, 255, 255, 0.72) !important;
}
[data-theme="light"] .footer-col-title {
  color: var(--yellow) !important;
  font-weight: 700 !important;
}

/* 8. STAT CARDS & FILTER LOGIC OVERRIDES */
[data-theme="light"] #stat-cards-section .stat-card {
  background: linear-gradient(135deg, #FFF9D0 0%, #EEF2FF 100%) !important;
  border: 2px solid var(--red) !important;
  box-shadow: 0 12px 36px rgba(229, 57, 53, 0.1) !important;
}
[data-theme="light"] #stat-cards-section .stat-card:hover {
  border-color: #FF9800 !important;
}
[data-theme="light"] .stat-card-title,
[data-theme="light"] .stat-card-subtitle,
[data-theme="light"] .stat-card-value,
[data-theme="light"] .stat-val,
[data-theme="light"] .stat-num {
  color: #0D1547 !important;
}
[data-theme="light"] .stat-card-icon,
[data-theme="light"] .stat-card-trend {
  color: var(--red) !important;
}
[data-theme="light"] .clear-filters-btn {
  background: #ffffff !important;
  border: 1.5px solid var(--red) !important;
  color: var(--red) !important;
}
[data-theme="light"] .clear-filters-btn:hover {
  background: var(--red) !important;
  color: #ffffff !important;
}

/* 9. SEARCH BAR & CUSTOM FILTER SELECTS (Vivid Navy & Red Accent) */
[data-theme="light"] .custom-select-btn,
[data-theme="light"] .multi-select-btn,
[data-theme="light"] .filter-select {
  background-color: #ffffff !important;
  border: 1.8px solid rgba(26, 35, 126, 0.2) !important;
  color: #0D1547 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230D1547' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}
[data-theme="light"] .custom-select-btn:hover,
[data-theme="light"] .multi-select-btn:hover,
[data-theme="light"] .filter-select:hover {
  background-color: #FFEBEB !important;
  border-color: var(--red) !important;
}
[data-theme="light"] .custom-select-menu,
[data-theme="light"] .multi-select-menu {
  background: #ffffff !important;
  border: 1.5px solid rgba(26, 35, 126, 0.2) !important;
  box-shadow: 0 12px 48px rgba(16, 25, 78, 0.1) !important;
}
[data-theme="light"] .custom-select-option,
[data-theme="light"] .multi-select-option {
  color: #364080 !important;
}
[data-theme="light"] .custom-select-option:hover,
[data-theme="light"] .multi-select-option:hover {
  background: #FFEBEB !important;
  color: var(--red) !important;
}
[data-theme="light"] .custom-select-option.selected,
[data-theme="light"] .multi-select-option.selected {
  background: rgba(229, 57, 53, 0.12) !important;
  color: var(--red) !important;
}
[data-theme="light"] .browse-search-wrap {
  background: #ffffff !important;
  border: 1.8px solid rgba(26, 35, 126, 0.2) !important;
}
[data-theme="light"] .browse-search-input {
  color: #0D1547 !important;
}
[data-theme="light"] .browse-search-input::placeholder {
  color: rgba(26, 35, 126, 0.4) !important;
}
[data-theme="light"] .browse-search-icon,
[data-theme="light"] .browse-search-clear {
  color: #364080 !important;
}

/* ==========================================================================
   LIGHT MODE CONTRAST & LEGIBILITY ACCESSIBILITY FIXES
   Specifically addressing low-contrast text on dark backgrounds or images.
   ========================================================================== */

/* 1. Homepage Hero Carousel - Force White Text with Heavy Text Shadows */
[data-theme="light"] .hero-slide-content .hero-title,
[data-theme="light"] .hero-slide-content .hero-desc,
[data-theme="light"] .hero-slide-content .hero-subtitle,
[data-theme="light"] .hero-slide.active .hero-title,
[data-theme="light"] .hero-slide.active .hero-desc,
[data-theme="light"] .hero-slide.active .hero-subtitle,
[data-theme="light"] .hero-title,
[data-theme="light"] .hero-desc,
[data-theme="light"] .hero-subtitle {
  color: #ffffff !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.95), 0 1px 4px rgba(0, 0, 0, 1) !important;
}

/* 2. Apple TV+ Logo - Protect Logo in Dark Cards & Platform Detail Heroes */
[data-theme="light"] .plat-card img.logo-appletv,
[data-theme="light"] .plat-card .plat-logo-img.logo-appletv,
[data-theme="light"] .pp-hero-logo-wrap img.logo-appletv,
[data-theme="light"] .pp-hero-logo-wrap .plat-logo-img.logo-appletv {
  filter: brightness(0) invert(1) !important;
}

/* 3. Latest Cinematic (Additions) Card - Keep as Premium Dark Showcase Card */
[data-theme="light"] .latest-cinematic-card {
  background: #0a0e29 !important; /* Premium dark background fallback */
  border: 2.5px solid var(--red) !important;
}
[data-theme="light"] .lcc-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.70) 50%, rgba(0, 0, 0, 0.15) 85%, transparent 100%) !important;
}
[data-theme="light"] .lcc-title {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8) !important;
}
[data-theme="light"] .lcc-desc {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
}
[data-theme="light"] .lcc-platform-badge {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}
[data-theme="light"] .lcc-ep-num {
  color: rgba(255, 255, 255, 0.15) !important;
}

/* 4. Availability Badges - High-Contrast Solid Blocks with White Text */
[data-theme="light"] .avail-badge.yes {
  background: #1b5e20 !important;
  color: #ffffff !important;
  border: 1px solid #123e15 !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  box-shadow: 0 2px 6px rgba(27, 94, 32, 0.35) !important;
}
[data-theme="light"] .avail-badge.no {
  background: #d32f2f !important;
  color: #ffffff !important;
  border: 1px solid #9a1f1f !important;
  font-weight: 800 !important;
  opacity: 1 !important;
  box-shadow: 0 2px 6px rgba(211, 47, 47, 0.35) !important;
}

/* 5. Spinoff & Cover Grid Cards (Zero's Tea Time, etc.) - Force White Text on Dark Navy Overlay */
[data-theme="light"] .browse-card .browse-card-title,
[data-theme="light"] .browse-card .browse-card-type,
[data-theme="light"] .browse-card .browse-card-meta,
[data-theme="light"] #spinoffs-grid .browse-card-title,
[data-theme="light"] #spinoffs-grid .browse-card-type,
[data-theme="light"] #spinoffs-grid .browse-card-meta {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
[data-theme="light"] .browse-card .browse-card-num,
[data-theme="light"] #spinoffs-grid .browse-card-num {
  color: var(--yellow) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}
[data-theme="light"] .browse-card-grad {
  background: linear-gradient(180deg, rgba(16, 25, 78, 0) 10%, rgba(16, 25, 78, 0.95) 100%) !important;
}

/* Dedicated TV Season Tab & Grid aesthetics */
.tv-season-tabs-scroll {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 10px 4px 16px 4px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
  -webkit-overflow-scrolling: touch;
}
.tv-season-tabs-scroll::-webkit-scrollbar {
  display: none;
}
.tv-season-tab {
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border);
  color: var(--text2);
  padding: 10px 20px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}
.tv-season-tab:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--text);
}
.tv-season-tab.active {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
  font-weight: 750;
  box-shadow: 0 4px 16px rgba(229, 9, 20, 0.45);
}

.tv-filter-bar {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px 20px;
}

/* Modernized Language Cards - Clean Disney+ Brand Tile style */
.lang-modern-card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 16px 20px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1.5px solid rgba(255, 255, 255, 0.08);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  width: 196px;
  min-width: 196px;
  height: 120px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Interior Aurora/Nebula Glowing Ambient Orb (No AI Shimmer) */
.lang-modern-card::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 193, 7, 0.28) 0%, rgba(255, 193, 7, 0) 70%);
  transform: translate(-50%, -50%) scale(0.6);
  opacity: 0.15;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  filter: blur(12px);
}

.lang-modern-card:hover {
  transform: translateY(-8px) scale(1.04);
  border-color: rgba(255, 193, 7, 0.45);
  box-shadow: 0 20px 40px rgba(255, 193, 7, 0.18), 0 0 0 1px rgba(255, 193, 7, 0.2), inset 0 1px 1px rgba(255, 255, 255, 0.2);
}
.lang-modern-card:hover::before {
  transform: translate(-50%, -50%) scale(1.45);
  opacity: 0.95;
}
.lang-modern-native {
  font-size: 26px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-family: 'DM Sans', var(--font-display), sans-serif;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  background: linear-gradient(135deg, #ffffff 40%, #ffd54f 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.lang-modern-card:hover .lang-modern-native {
  transform: scale(1.06) translateY(-2px);
  text-shadow: 0 0 15px rgba(255, 213, 79, 0.45);
}

/* Accented card for English Sub (first tile) */
.lang-modern-card--merged {
  background: rgba(229, 9, 20, 0.05);
  border-color: rgba(229, 9, 20, 0.22);
  box-shadow: 0 10px 30px rgba(229, 9, 20, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.lang-modern-card--merged::before {
  background: radial-gradient(circle, rgba(229, 9, 20, 0.38) 0%, rgba(229, 9, 20, 0) 70%) !important;
}
.lang-modern-card--merged .lang-modern-native {
  background: linear-gradient(135deg, #ffffff 40%, #ff5252 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.lang-modern-card--merged:hover {
  border-color: rgba(229, 9, 20, 0.5) !important;
  box-shadow: 0 20px 40px rgba(229, 9, 20, 0.25), 0 0 0 1px rgba(229, 9, 20, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
}
.lang-modern-card--merged:hover .lang-modern-native {
  text-shadow: 0 0 15px rgba(255, 82, 82, 0.55);
}

@media(max-width:540px){
  .lang-modern-card {
    width: 150px;
    min-width: 150px;
    height: 92px;
    padding: 12px 14px;
  }
  .lang-modern-native {
    font-size: 20px;
  }
}

/* 6. HOME PAGE OVERLAYS & YELLOW ACCENT UNIFICATION (Light Theme) */
[data-theme="light"] .pvr-card-overlay {
  background: linear-gradient(180deg, rgba(16, 25, 78, 0) 10%, rgba(16, 25, 78, 0.95) 100%) !important;
}
[data-theme="light"] .pvr-card-title {
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
[data-theme="light"] .pvr-card-sub {
  color: var(--yellow) !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}
[data-theme="light"] .plat-card-tagline {
  color: var(--yellow) !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}
[data-theme="light"] .lang-modern-card {
  background: linear-gradient(135deg, rgba(16, 25, 78, 0.96) 0%, rgba(26, 35, 126, 0.88) 100%) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 10px 30px rgba(16, 25, 78, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}
[data-theme="light"] .lang-modern-card:hover {
  border-color: rgba(255, 193, 7, 0.5) !important;
  box-shadow: 0 20px 40px rgba(255, 193, 7, 0.22), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
}
[data-theme="light"] .lang-modern-card--merged {
  background: linear-gradient(135deg, rgba(229, 9, 20, 0.45) 0%, rgba(16, 25, 78, 0.95) 100%) !important;
  border-color: rgba(229, 9, 20, 0.4) !important;
}
[data-theme="light"] .lang-modern-card--merged:hover {
  border-color: rgba(229, 9, 20, 0.6) !important;
  background: linear-gradient(135deg, rgba(229, 9, 20, 0.5) 0%, rgba(16, 25, 78, 0.95) 100%) !important;
  box-shadow: 0 20px 40px rgba(229, 9, 20, 0.32), inset 0 1px 1px rgba(255, 255, 255, 0.2) !important;
}






