/*
Theme Name: Lumeo Stream
Theme URI: https://lumeo.lt
Author: Lumeo
Description: Smooth Apple-TV-inspired movie and series WordPress theme with cinematic hero, rails, live search suggestions, player pages, Continue Watching, and server switching.
Version: 1.3.0
Requires at least: 6.0
Tested up to: 6.7
*/
:root{--bg:#030305;--panel:rgba(255,255,255,.065);--panel2:rgba(255,255,255,.105);--text:#f7f8fb;--muted:#a2a9b4;--line:rgba(255,255,255,.12);--green:#67c38f;--green2:#9df0bd;--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top,#15171d 0,#050507 38%,#030305 100%);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif}a{color:inherit}.lumeo-bg-glow{position:fixed;inset:-20%;background:radial-gradient(circle at 20% 10%,rgba(103,195,143,.17),transparent 24%),radial-gradient(circle at 80% 0,rgba(80,114,255,.10),transparent 25%);pointer-events:none;z-index:-1}.site-header{position:sticky;top:0;z-index:50;padding:14px 28px;background:linear-gradient(to bottom,rgba(3,3,5,.82),rgba(3,3,5,.35));backdrop-filter:blur(28px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{max-width:1480px;margin:auto;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:-.04em;font-size:23px}.brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--green),#fff);box-shadow:0 0 40px rgba(103,195,143,.4)}.menu{display:flex;gap:18px;margin-left:10px}.menu a{text-decoration:none;color:#d7dbe2;font-weight:700;font-size:14px;opacity:.88}.menu a:hover{opacity:1;color:#fff}.search-wrap{margin-left:auto;position:relative}.search{height:42px;width:min(360px,38vw);border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;padding:0 18px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.search:focus{border-color:rgba(103,195,143,.65);box-shadow:0 0 0 4px rgba(103,195,143,.12)}.container{max-width:1480px;margin:auto;padding:0 28px}.hero{min-height:72vh;display:flex;align-items:flex-end;position:relative;border-radius:0 0 42px 42px;overflow:hidden;margin-bottom:34px}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.04);filter:saturate(1.08)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#030305 0,rgba(3,3,5,.78) 20%,rgba(3,3,5,.25) 58%,rgba(3,3,5,.65) 100%),linear-gradient(to right,#030305 0,rgba(3,3,5,.48) 40%,transparent 75%)}.hero-content{position:relative;z-index:2;max-width:760px;padding:140px 28px 70px}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:13px;color:#e9edf2;font-weight:800;margin-bottom:18px}.hero h1{font-size:clamp(44px,6.6vw,96px);line-height:.92;margin:0 0 16px;letter-spacing:-.075em}.meta{display:flex;gap:12px;flex-wrap:wrap;color:#d7dde5;font-weight:700;margin-bottom:16px}.meta span{padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.09)}.summary{font-size:18px;line-height:1.55;color:#e4e7ed;max-width:650px}.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:999px;padding:13px 22px;font-weight:900;border:1px solid rgba(255,255,255,.15);transition:.2s}.btn-primary{background:#fff;color:#050507}.btn-primary:hover{transform:scale(1.04);box-shadow:0 18px 45px rgba(255,255,255,.12)}.btn-glass{background:rgba(255,255,255,.11);backdrop-filter:blur(20px)}.btn-glass:hover{background:rgba(255,255,255,.18)}.rail{margin:34px 0 44px}.rail-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.rail h2{font-size:24px;margin:0;letter-spacing:-.04em}.rail-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 0 16px}.rail-grid::-webkit-scrollbar{height:8px}.rail-grid::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}.card{scroll-snap-align:start;text-decoration:none;display:block;transition:.22s}.poster{aspect-ratio:2/3;border-radius:22px;background:#111;overflow:hidden;border:1px solid rgba(255,255,255,.09);box-shadow:0 16px 34px rgba(0,0,0,.36);position:relative}.poster img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}.card:hover{transform:translateY(-8px) scale(1.025)}.card:hover .poster img{transform:scale(1.06)}.card-title{font-weight:850;margin:10px 4px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:13px;color:var(--muted);margin:0 4px}.badge{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px}.single-hero{padding:56px 0 18px}.watch-layout{display:grid;grid-template-columns:1fr;gap:22px}.details-panel{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:24px;align-items:start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10);border-radius:32px;padding:18px;backdrop-filter:blur(20px)}.details-panel .poster{border-radius:24px}.details-copy h1{font-size:clamp(34px,5vw,68px);letter-spacing:-.06em;margin:6px 0 12px}.archive-title{font-size:52px;letter-spacing:-.06em;margin:44px 0 20px}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px;margin-bottom:70px}.footer{border-top:1px solid rgba(255,255,255,.08);padding:34px 28px;color:#8e96a3;text-align:center;margin-top:50px}@media(max-width:760px){.menu{display:none}.site-header{padding:12px 14px}.container{padding:0 16px}.search{width:44vw}.hero-content{padding:110px 16px 50px}.rail-grid{grid-auto-columns:150px}.details-panel{grid-template-columns:1fr}.details-panel>.poster{max-width:190px}.hero{min-height:65vh}}


/* v1.1 polish */
.hero{box-shadow:inset 0 -120px 120px rgba(3,3,5,.85)}
.hero-empty{background:radial-gradient(circle at 35% 0,rgba(103,195,143,.25),transparent 40%),linear-gradient(135deg,#111827,#030305)}
.rail h2{font-size:28px}.rail-grid{grid-auto-columns:210px}.poster:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.18),transparent 45%);opacity:0;transition:.25s}.card:hover .poster:after{opacity:1}.site-header{box-shadow:0 18px 60px rgba(0,0,0,.24)}
.search::placeholder{color:#b4bbc6}.brand-mark{position:relative}.brand-mark:after{content:"";position:absolute;inset:8px;border-radius:8px;background:rgba(3,3,5,.55)}
.lumeo-cw-rail .card{position:relative}.progress-pill{height:4px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden;margin:8px 4px 0}.progress-pill i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green2));width:var(--p,0%)}
@media(max-width:760px){.rail-grid{grid-auto-columns:155px}.rail h2{font-size:22px}}

/* v2 TMDB dynamic pages */
.watch-hero{min-height:62vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;margin-bottom:18px;border-radius:0 0 42px 42px}.watch-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05);transform:scale(1.03)}.watch-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#030305 0,rgba(3,3,5,.78) 24%,rgba(3,3,5,.18) 58%,rgba(3,3,5,.64) 100%),linear-gradient(to right,#030305 0,rgba(3,3,5,.6) 42%,transparent 80%)}.watch-info{position:relative;z-index:2;max-width:820px;padding:130px 28px 58px}.watch-info h1{font-size:clamp(42px,6vw,86px);line-height:.94;margin:0 0 16px;letter-spacing:-.07em}.watch-info .summary{font-size:18px;color:#e8ebf0}.episode-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px}.episode-pill{white-space:nowrap;text-decoration:none;border-radius:999px;padding:10px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-weight:800}.episode-pill.active,.episode-pill:hover{background:linear-gradient(135deg,var(--green),var(--green2));color:#06120d}.cast-row{display:grid;grid-auto-flow:column;grid-auto-columns:130px;gap:14px;overflow-x:auto;padding-bottom:12px}.cast-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:10px;min-height:210px}.cast-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;background:#15171d}.cast-card b{display:block;margin-top:8px;font-size:13px}.cast-card span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.lumeo-empty{padding:80px 0;max-width:760px}.lumeo-empty h1{font-size:54px;letter-spacing:-.06em}.tmdb-rail .card{will-change:transform}.lumeo-suggest-item img[src=""]{display:none}.lumeo-suggest-item img[src=""]+span{padding-left:4px}@media(max-width:760px){.watch-info{padding:110px 16px 42px}.cast-row{grid-auto-columns:110px}.search-wrap{flex:1}.search{width:100%}}


/* v4 Apple-TV-style genre browsing */
.rail-link{color:var(--muted);text-decoration:none;font-weight:800;font-size:14px}.rail-link:hover{color:#fff}.genre-strip-section{margin:26px 0 36px}.genre-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:14px;overflow-x:auto;padding:3px 0 14px}.genre-chip,.genre-tile{position:relative;overflow:hidden;text-decoration:none;border-radius:24px;min-height:96px;padding:18px;display:flex;flex-direction:column;justify-content:end;background:radial-gradient(circle at 20% 10%,rgba(103,195,143,.38),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.26);transition:.22s}.genre-chip:before,.genre-tile:before{content:"";position:absolute;inset:-40%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.16),transparent);transform:translateX(-55%) rotate(12deg);transition:.35s}.genre-chip:hover,.genre-tile:hover{transform:translateY(-5px) scale(1.02);border-color:rgba(103,195,143,.55)}.genre-chip:hover:before,.genre-tile:hover:before{transform:translateX(55%) rotate(12deg)}.genre-chip span,.genre-tile span{font-size:20px;font-weight:950;letter-spacing:-.04em;z-index:1}.genre-chip em,.genre-tile em{font-style:normal;color:#c8d0d9;font-weight:800;font-size:13px;margin-top:5px;z-index:1}.genre-chip-tv,.genre-tile-tv{background:radial-gradient(circle at 20% 10%,rgba(122,215,162,.26),transparent 35%),radial-gradient(circle at 80% 0,rgba(90,120,255,.22),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.045))}.genre-page{padding-bottom:70px}.genre-block{margin:18px 0 42px}.genre-block h2{font-size:30px;letter-spacing:-.05em}.genre-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.genre-hero{padding:64px 0 12px}.genre-hero h1{font-size:clamp(48px,7vw,92px);letter-spacing:-.08em;margin:8px 0}.genre-hero p{color:var(--muted);font-size:18px}.menu a[href*="genres"]{color:#fff}
@media(max-width:760px){.genre-strip{grid-auto-columns:160px}.genre-grid{grid-template-columns:repeat(2,1fr)}.genre-chip,.genre-tile{min-height:84px;border-radius:20px}.genre-chip span,.genre-tile span{font-size:17px}}


/* =====================================================
   v9 FIX: clean Apple-TV scrolling
   - hides horizontal rail scrollbars
   - keeps rows scrollable
   - prevents ugly page-wide horizontal scrollbar
   ===================================================== */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.container,
.site-header,
.nav,
.rail,
.genre-strip-section {
  max-width: 100% !important;
}

.rail-grid,
.genre-strip,
.cast-row,
.episode-strip {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  -webkit-overflow-scrolling: touch;
}

.rail-grid::-webkit-scrollbar,
.genre-strip::-webkit-scrollbar,
.cast-row::-webkit-scrollbar,
.episode-strip::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* stop cards from stretching the entire page */
.rail-grid > *,
.genre-strip > *,
.cast-row > *,
.episode-strip > * {
  min-width: 0;
}

/* admin-bar safe header spacing */
body.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}

/* v11 Apple-TV-style Season + Episode Picker */
.episode-browser{
  margin-top:24px;
}
.episode-head{
  align-items:center;
  gap:16px;
}
.episode-subtitle{
  margin:6px 0 0;
  color:var(--muted);
  font-weight:700;
  font-size:14px;
}
.season-tools{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.season-select-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.075);
  border-radius:999px;
  padding:8px 10px 8px 14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.season-select-wrap span{
  color:#dbe2ea;
  font-size:13px;
  font-weight:900;
}
.season-select{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  outline:0;
  color:#fff;
  font-weight:950;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(103,195,143,.32),rgba(157,240,189,.16));
  padding:9px 38px 9px 14px;
  cursor:pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, #fff 50%),
    linear-gradient(135deg, #fff 50%, transparent 50%),
    linear-gradient(135deg,rgba(103,195,143,.32),rgba(157,240,189,.16));
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    0 0;
  background-size:6px 6px,6px 6px,100% 100%;
  background-repeat:no-repeat;
}
.season-select option{
  color:#050507;
  background:#fff;
}
.latest-episode-btn{
  text-decoration:none;
  border-radius:999px;
  padding:11px 15px;
  background:#fff;
  color:#050507;
  font-weight:950;
  box-shadow:0 14px 34px rgba(255,255,255,.1);
}
.episode-cards{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(250px,320px);
  gap:14px;
  overflow-x:auto;
  padding:5px 0 4px;
}
.episode-card{
  text-decoration:none;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.058);
  box-shadow:0 18px 46px rgba(0,0,0,.25);
  transition:.22s;
}
.episode-card:hover{
  transform:translateY(-5px);
  border-color:rgba(103,195,143,.48);
  background:rgba(255,255,255,.09);
}
.episode-card.active{
  border-color:rgba(103,195,143,.85);
  box-shadow:0 0 0 2px rgba(103,195,143,.18),0 20px 48px rgba(0,0,0,.34);
}
.episode-thumb{
  aspect-ratio:16/9;
  background:linear-gradient(135deg,#15171d,#07080b);
  position:relative;
  overflow:hidden;
}
.episode-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.92;
  transition:.25s;
}
.episode-card:hover .episode-thumb img{
  transform:scale(1.05);
}
.episode-thumb span{
  position:absolute;
  left:10px;
  bottom:10px;
  border-radius:999px;
  padding:6px 10px;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-size:12px;
  font-weight:950;
}
.episode-card.active .episode-thumb span{
  background:linear-gradient(135deg,var(--green),var(--green2));
  color:#06120d;
}
.episode-card-copy{
  padding:12px 13px 14px;
}
.episode-card-copy b{
  display:block;
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.episode-card-copy small{
  display:block;
  color:var(--muted);
  margin-top:5px;
  font-weight:800;
}
@media(max-width:760px){
  .episode-head{align-items:flex-start;flex-direction:column}
  .season-tools{width:100%}
  .season-select-wrap{width:100%;justify-content:space-between}
  .season-select{flex:1}
  .latest-episode-btn{width:100%;justify-content:center;text-align:center}
  .episode-cards{grid-auto-columns:minmax(230px,82vw)}
}
