/* CinemaCity — public theme. RTL, dark-first, CSS variables set from admin. */
@font-face{font-family:Yekan;src:url(/static/fonts/YekanBakhFaNum-Light.woff) format("woff");font-weight:300;font-display:swap}
@font-face{font-family:Yekan;src:url(/static/fonts/YekanBakhFaNum-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:Yekan;src:url(/static/fonts/YekanBakhFaNum-Bold.woff) format("woff");font-weight:700;font-display:swap}
@font-face{font-family:Yekan;src:url(/static/fonts/YekanBakhFaNum-Black.woff) format("woff");font-weight:900;font-display:swap}
:root{--primary:#e11d48;--primary2:#f43f5e;--accent:#f59e0b;--bg:#0b0d12;--surface:#151922;--radius:16px;
--surface2:color-mix(in srgb,var(--surface) 82%,#fff 6%);--line:rgba(255,255,255,.08);--text:#eef0f5;--muted:#9aa3b5;--ok:#22c55e;--warn:#f59e0b;--danger:#ef4444;
--shadow:0 10px 30px rgba(0,0,0,.35);--glass:rgba(11,13,18,.72);--container:1320px}
[data-theme=light]{--bg:#f4f5f8;--surface:#fff;--surface2:#f0f2f6;--line:rgba(0,0,0,.08);--text:#141821;--muted:#5c6475;--glass:rgba(255,255,255,.8);--shadow:0 8px 24px rgba(20,24,33,.08)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Yekan,Tahoma,sans-serif;background:var(--bg);color:var(--text);line-height:1.8;font-size:15px;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}
.ic{width:20px;height:20px;flex-shrink:0;display:inline-block;vertical-align:middle}
.muted{color:var(--muted)}
.empty{padding:60px 20px;text-align:center;color:var(--muted);background:var(--surface);border-radius:var(--radius)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:12px;border:0;cursor:pointer;font-weight:700;transition:.2s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 6px 20px color-mix(in srgb,var(--primary) 35%,transparent)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn-ghost{background:var(--surface2);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--primary)}
.btn-sm{padding:7px 14px;font-size:13px;border-radius:10px}
.btn-block{width:100%}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:transparent;border:0;cursor:pointer;transition:.2s}
.icon-btn:hover{background:var(--surface2)}
.icon-btn.active,.fav-btn.active,.watchlist-btn.active{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 55%,transparent);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:18px;height:70px}
.brand{display:flex;align-items:center}
.brand-logo{height:40px;width:auto}
.brand-text{font-weight:900;font-size:22px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.3px}
.main-nav{display:flex;gap:4px}
.nav-link{padding:8px 14px;border-radius:10px;color:var(--muted);font-weight:700;transition:.2s}
.nav-link:hover{color:var(--text);background:var(--surface2)}
.header-search{position:relative;flex:1;max-width:420px;margin-right:auto;display:flex;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:2px 14px 2px 4px}
.header-search input{flex:1;background:none;border:0;outline:0;padding:9px 4px}
.header-search:focus-within{border-color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:6px}
.menu-toggle{display:none}
.search-suggest{position:absolute;top:calc(100% + 8px);right:0;left:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;z-index:60}
.sug-item{display:flex;gap:12px;align-items:center;padding:10px 12px;transition:.15s}
.sug-item:hover,.sug-item.active{background:var(--surface2)}
.sug-item img{width:40px;height:58px;object-fit:cover;border-radius:8px}
.sug-item b{display:block;font-size:14px}.sug-item small{color:var(--muted)}
/* drawer */
.drawer{position:fixed;inset:0;z-index:100}
.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:4px;animation:slideIn .25s ease;overflow-y:auto}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.drawer-link{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;font-weight:700}
.drawer-link:hover{background:var(--surface2)}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:none}}
/* hero slider */
.hero-slider{position:relative;margin-bottom:32px;overflow:hidden}
.hero-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.hero-track::-webkit-scrollbar{display:none}
.hero-slide{position:relative;flex:0 0 100%;scroll-snap-align:start;height:min(70vh,560px);background-size:cover;background-position:center top;display:flex;align-items:flex-end}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 4%,rgba(11,13,18,.55) 45%,rgba(11,13,18,.15)),linear-gradient(270deg,rgba(11,13,18,.85),transparent 60%)}
.hero-content{position:relative;padding-bottom:56px;max-width:var(--container)}
.hero-badge{display:inline-block;background:var(--accent);color:#000;font-weight:900;font-size:12px;padding:4px 12px;border-radius:30px;margin-bottom:12px}
.hero-title{font-size:clamp(26px,4vw,46px);font-weight:900;line-height:1.3;max-width:640px}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0;color:#d6dae3}
.hero-meta>span:not(.imdb-chip){background:rgba(255,255,255,.1);padding:2px 12px;border-radius:30px;font-size:13px}
.hero-desc{max-width:560px;color:#cdd2dd;margin-bottom:18px}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-dots button{width:8px;height:8px;border-radius:8px;border:0;background:rgba(255,255,255,.35);cursor:pointer;transition:.3s}
.hero-dots button.active{width:26px;background:var(--primary)}
.imdb-chip{display:inline-flex;align-items:center;gap:4px;background:#f5c518;color:#000;font-weight:900;padding:2px 10px;border-radius:8px;font-size:14px}
.imdb-chip .ic{width:15px;height:15px;fill:#000;stroke:none}
.imdb-chip small{font-weight:400;opacity:.7}
/* rows */
.row-section{margin:34px auto}
.row-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}
.row-title{font-size:21px;font-weight:900;position:relative;padding-right:14px}
.row-title::before{content:"";position:absolute;right:0;top:20%;bottom:20%;width:4px;border-radius:4px;background:linear-gradient(var(--primary),var(--accent))}
.row-sub{color:var(--muted);font-size:13px;padding-right:14px}
.row-more{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;font-weight:700}
.row-more:hover{color:var(--primary)}
.row-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(140px,15vw,190px);gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.row-scroll>*{scroll-snap-align:start}
/* card */
.card{position:relative;min-width:0}
.card-poster{position:relative;aspect-ratio:2/3;border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:0 4px 16px rgba(0,0,0,.25)}
.card-poster img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-poster img{transform:scale(1.06)}
.card-imdb{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:3px;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);color:#f5c518;font-weight:900;font-size:12px;padding:3px 8px;border-radius:8px}
.card-imdb .ic{width:12px;height:12px;fill:#f5c518;stroke:none}
.card-type{position:absolute;top:8px;left:8px;background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:2px 9px;border-radius:7px}
.card-quality{position:absolute;bottom:8px;left:8px;font-size:11px;font-weight:900;padding:2px 8px;border-radius:7px;background:rgba(0,0,0,.72);color:#fff}
.card-badge{position:absolute;bottom:8px;right:8px;background:var(--accent);color:#000;font-size:11px;font-weight:900;padding:2px 8px;border-radius:7px}
.card-hover{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 60%);opacity:0;transition:.3s}
.card:hover .card-hover{opacity:1}
.card-hover-play{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;transform:scale(.8);transition:.3s}
.card:hover .card-hover-play{transform:none}
.card-hover-play .ic{fill:#fff}
.card-title{font-size:14px;font-weight:700;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-meta{display:flex;gap:6px;font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap}
.card-meta span:not(:last-child)::after{content:"·";margin-right:6px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px 16px}
.q-4k{background:#7c3aed!important}.q-1080{background:#0ea5e9!important}.q-720{background:#16a34a!important}
/* archive */
.archive{padding:30px 20px 50px}
.archive-head{margin-bottom:24px}
.archive-title{font-size:26px;font-weight:900;margin-bottom:14px}
.archive-desc{color:var(--muted);max-width:800px}
.term-head{display:flex;gap:18px;align-items:center}
.term-image{width:90px;height:90px;border-radius:50%;object-fit:cover}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--surface);padding:16px;border-radius:var(--radius);border:1px solid var(--line)}
.filter-group{display:flex;flex-direction:column;gap:4px;min-width:130px}
.filter-group label{font-size:12px;color:var(--muted)}
select,input[type=text],input[type=search],input[type=tel],input[type=email],input[type=password],input[type=number],input[type=url],textarea{background:var(--surface2);border:1px solid var(--line);border-radius:11px;padding:9px 12px;outline:0;width:100%;transition:.2s}
select:focus,input:focus,textarea:focus{border-color:var(--primary)}
.chk{display:inline-flex;gap:6px;align-items:center;cursor:pointer;font-size:14px}
.chk input{accent-color:var(--primary);width:17px;height:17px}
.term-cloud,.blog-cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.term-pill{display:inline-flex;gap:6px;align-items:center;padding:6px 14px;border-radius:30px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:700;transition:.2s}
.term-pill:hover{border-color:var(--primary);color:var(--primary)}
.term-pill small{color:var(--muted)}
.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:34px}
.page-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.page-btn:hover{border-color:var(--primary)}
.page-info{color:var(--muted);font-size:14px}
.period-tabs{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}
.period-tabs a{padding:7px 18px;border-radius:30px;background:var(--surface);font-weight:700;font-size:14px}
.period-tabs a.active{background:var(--primary);color:#fff}
/* single title */
.single-title{position:relative}
.title-backdrop{position:absolute;inset:0 0 auto 0;height:min(78vh,620px);background-size:cover;background-position:center top;z-index:-1}
.backdrop-fade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 6%,rgba(11,13,18,.82) 55%,rgba(11,13,18,.5))}
[data-theme=light] .backdrop-fade{background:linear-gradient(0deg,var(--bg) 6%,rgba(244,245,248,.88) 55%,rgba(244,245,248,.6))}
.title-head{display:flex;gap:34px;padding-top:56px;padding-bottom:30px}
.title-poster{flex:0 0 260px}
.title-poster img{border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.5);width:100%;aspect-ratio:2/3;object-fit:cover}
.title-info{flex:1;min-width:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:10px}
.breadcrumb a:hover{color:var(--primary)}
.breadcrumb .sep{opacity:.5}
.title-h1{font-size:clamp(22px,3.2vw,36px);font-weight:900;line-height:1.4}
.title-en{color:var(--muted);font-size:17px;direction:ltr;text-align:right;margin-top:2px}
.title-badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.chip{display:inline-flex;align-items:center;padding:3px 12px;border-radius:30px;background:var(--surface2);border:1px solid var(--line);font-size:13px;font-weight:700}
.chip-green{background:rgba(34,197,94,.14);color:#4ade80;border-color:transparent}
.chip-blue{background:rgba(14,165,233,.14);color:#38bdf8;border-color:transparent}
.chip-amber{background:rgba(245,158,11,.14);color:var(--accent);border-color:transparent}
.title-terms{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.title-story{color:#cfd4de;max-width:760px;margin-bottom:22px;font-size:15.5px}
[data-theme=light] .title-story{color:var(--text)}
.title-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vote-group button{display:inline-flex;gap:6px;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:9px 14px;cursor:pointer}
.vote-group button.active{color:var(--primary);border-color:var(--primary)}
.title-body{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.title-main{min-width:0}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px}
.box-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:900;margin-bottom:16px}
.title-side{position:sticky;top:90px}
.specs dl{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font-size:14px}
.specs dt{color:var(--muted)}
.specs dd a{color:var(--text);border-bottom:1px dashed var(--line)}
.specs dd a:hover{color:var(--primary)}
/* downloads */
.season{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.season-title{background:var(--surface2);padding:12px 16px;font-size:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.season-title small{color:var(--muted);font-weight:400}
.season.collapsed .episodes{display:none}
.episodes{padding:8px}
.episode{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:10px}
.episode:nth-child(odd){background:rgba(255,255,255,.02)}
.episode-head{display:flex;gap:8px;align-items:center;font-weight:700}
.ver{font-size:12px;color:var(--accent);font-weight:400}
.ver-title{font-size:15px;margin-bottom:10px;color:var(--accent)}
.movie-version{margin-bottom:16px}
.episode-links{display:flex;flex-wrap:wrap;gap:8px}
.dl-link{display:inline-flex;gap:8px;align-items:center;padding:7px 14px;border-radius:10px;background:var(--surface2);border:1px solid var(--line);font-size:13px;transition:.2s}
.dl-link:hover{border-color:var(--primary);transform:translateY(-1px)}
.dl-q{font-weight:900;direction:ltr}
.dl-size{color:var(--muted);direction:ltr}
.dl-price{color:var(--accent);font-weight:700}
.dl-link.q-4k,.dl-link.q-1080,.dl-link.q-720{background:var(--surface2)!important}
.dl-link.q-4k .dl-q{color:#a78bfa}.dl-link.q-1080 .dl-q{color:#38bdf8}.dl-link.q-720 .dl-q{color:#4ade80}
.dl-online{display:inline-flex;gap:6px;align-items:center;padding:7px 14px;border-radius:10px;border:0;background:var(--primary);color:#fff;font-weight:700;cursor:pointer;font-size:13px}
.dl-online .ic{fill:#fff;width:15px;height:15px}
.player{aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;display:grid;place-items:center;color:var(--muted)}
.player video{width:100%;height:100%}
/* prose & faq */
.prose{font-size:15.5px;line-height:2.05}
.prose h2,.prose h3{margin:22px 0 10px;font-weight:900}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{padding-right:22px;margin-bottom:14px}
.prose a{color:var(--primary)}
.prose img{border-radius:12px;margin:14px auto}
.prose blockquote{border-right:4px solid var(--primary);padding:6px 16px;background:var(--surface2);border-radius:8px;margin:14px 0}
.article .prose{max-height:none}
.faq-item{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:10px}
.faq-item summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.faq-item summary::after{content:"+";color:var(--primary);font-size:20px;line-height:1}
.faq-item[open] summary::after{content:"−"}
.faq-item div{margin-top:10px;color:var(--muted)}
/* comments */
.comment-form{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}
.comment-form-foot{display:flex;justify-content:space-between;align-items:center}
.comment{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.comment.pinned{background:color-mix(in srgb,var(--primary) 7%,transparent);border-radius:12px;padding:14px}
.comment.reply{border:0;padding:12px 0 0;margin-right:4px}
.comment-avatar{flex:0 0 42px;height:42px;border-radius:50%;background:var(--surface2);display:grid;place-items:center;color:var(--muted)}
.comment-avatar.sm{flex-basis:34px;height:34px}
.comment-body{flex:1;min-width:0}
.comment-head{display:flex;gap:10px;align-items:center;font-size:14px}
.comment-head time{color:var(--muted);font-size:12px}
.staff-badge{background:var(--primary);color:#fff;font-size:10px;padding:1px 8px;border-radius:20px;margin-right:6px}
.comment-text{margin:6px 0;white-space:pre-wrap;word-break:break-word}
.comment-text.spoiler{filter:blur(6px);cursor:pointer;user-select:none;transition:.3s}
.comment-text.spoiler.revealed{filter:none;user-select:auto}
.comment-actions button{background:none;border:0;color:var(--muted);cursor:pointer;display:inline-flex;gap:4px;align-items:center;font-size:13px}
.comment-actions .ic{width:15px;height:15px}
/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.blog-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.blog-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s;display:block}
.blog-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--primary) 40%,transparent)}
.blog-cover{aspect-ratio:16/9;background:var(--surface2);overflow:hidden}
.blog-cover img{width:100%;height:100%;object-fit:cover}
.blog-card h2,.blog-card h3{font-size:16px;font-weight:900;padding:14px 16px 4px;line-height:1.6}
.blog-card p{color:var(--muted);font-size:13.5px;padding:0 16px 16px}
.blog-card-body{padding-bottom:4px}
.blog-meta{display:flex;gap:12px;color:var(--muted);font-size:12px;padding:0 16px 14px}
.single-post{max-width:860px;padding:34px 20px 50px}
.post-h1{font-size:clamp(24px,3vw,34px);font-weight:900;line-height:1.5;margin-bottom:10px}
.post-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:13px;margin-bottom:22px}
.post-cover{border-radius:var(--radius);margin-bottom:26px;width:100%}
/* top */
.top-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.top-col-title{font-size:20px;font-weight:900;margin-bottom:14px}
.top-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.top-list li{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:14px;padding:10px;border:1px solid var(--line)}
.top-list .rank{font-size:28px;font-weight:900;width:44px;text-align:center;background:linear-gradient(var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.top-list a{display:flex;gap:12px;align-items:center;flex:1;min-width:0}
.top-list img{width:52px;height:76px;object-fit:cover;border-radius:10px}
.top-list b{display:block}
.top-list small{color:var(--muted);display:flex;gap:4px;align-items:center}
.top-list .ic{width:13px;height:13px;fill:#f5c518;stroke:none}
/* auth */
.auth-wrap{display:grid;place-items:center;padding:60px 20px;min-height:70vh}
.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.auth-title{font-size:21px;font-weight:900;text-align:center;margin-bottom:20px}
.auth-tabs{display:flex;background:var(--surface2);border-radius:12px;padding:4px;margin-bottom:20px}
.auth-tab{flex:1;padding:9px;border:0;background:none;border-radius:9px;cursor:pointer;font-weight:700;color:var(--muted)}
.auth-tab.active{background:var(--primary);color:#fff}
.auth-card label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
.auth-card .btn{margin-top:18px}
.otp-timer{text-align:center;margin-top:10px;font-size:13px}
.alert{padding:12px 16px;border-radius:12px;margin-bottom:14px;font-size:14px}
.alert-error{background:rgba(239,68,68,.12);color:#fca5a5;border:1px solid rgba(239,68,68,.3)}
.alert-success{background:rgba(34,197,94,.12);color:#86efac;border:1px solid rgba(34,197,94,.3)}
/* requests / plans / profile */
.request-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.request-form input{flex:1;min-width:200px}
.request-item{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:12px;padding:12px 16px;margin-bottom:8px}
.req-vote{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--surface2);padding:6px 12px;border-radius:10px;cursor:pointer}
.req-title{flex:1;font-weight:700}
.req-status{font-size:12px;padding:2px 10px;border-radius:20px;background:var(--surface2)}
.status-done{background:rgba(34,197,94,.15);color:#4ade80}.status-approved{background:rgba(14,165,233,.15);color:#38bdf8}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.plan-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;text-align:center}
.plan-card.featured{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}
.plan-badge{position:absolute;top:-12px;right:50%;transform:translateX(50%);background:var(--accent);color:#000;font-weight:900;font-size:12px;padding:3px 14px;border-radius:20px}
.plan-price{font-size:30px;font-weight:900;margin:12px 0 4px}
.plan-price small{font-size:13px;color:var(--muted);margin-right:4px}
.plan-days{color:var(--muted);margin-bottom:16px}
.plan-features{list-style:none;text-align:right;margin-bottom:20px}
.plan-features li{display:flex;gap:8px;padding:5px 0}
.plan-features .ic{color:var(--ok)}
.profile{padding:30px 20px 50px}
.profile-head{display:flex;gap:16px;align-items:center;margin-bottom:24px}
.profile-head h1{font-size:22px}
.profile-head .btn{margin-right:auto}
.profile-avatar{width:68px;height:68px;border-radius:50%;background:var(--surface2);display:grid;place-items:center}
.profile-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.profile-tabs a{padding:10px 16px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent}
.profile-tabs a.active{color:var(--primary);border-color:var(--primary)}
.search-page-form{display:flex;gap:10px;margin-bottom:24px;max-width:600px}
/* error */
.error-page{text-align:center;padding:90px 20px}
.error-code{font-size:110px;font-weight:900;line-height:1;background:linear-gradient(var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.error-page h1{font-size:24px;margin:10px 0}
.error-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}
.error-icon .ic{width:80px;height:80px;color:var(--primary)}
/* footer */
.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:50px;padding:40px 0 20px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}
.footer-brand{font-size:24px;margin-bottom:10px}
.footer-about p{color:var(--muted);max-width:460px}
.social-row{display:flex;gap:8px;margin-top:14px}
.social-row a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface2)}
.social-row a:hover{color:var(--primary)}
.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;align-content:start}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--primary)}
.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;color:var(--muted);font-size:13px;text-align:center}
/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px 22px;border-radius:14px;z-index:200;transition:.3s;font-weight:700}
.toast.show{transform:translate(-50%,0)}
.toast.err{border-color:var(--danger)}
/* responsive */
@media (max-width:1100px){.main-nav{display:none}.menu-toggle{display:inline-grid}.title-body{grid-template-columns:1fr}.title-side{position:static}}
@media (max-width:760px){
  body{font-size:14.5px}
  .header-inner{height:62px;gap:8px}
  .header-search{max-width:none}
  .brand-text{font-size:18px}
  .title-head{flex-direction:column;align-items:center;text-align:center;padding-top:30px;gap:20px}
  .title-poster{flex-basis:auto;width:190px}
  .title-badges,.title-terms,.title-actions,.breadcrumb{justify-content:center}
  .title-en{text-align:center}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:16px 12px}
  .row-scroll{grid-auto-columns:138px;gap:12px}
  .top-cols,.footer-top{grid-template-columns:1fr}
  .hero-slide{height:62vh}
  .box{padding:16px}
  .episode{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}


/* ==========================================================
   CINEMACITY DOWNLOAD UI V2
   ========================================================== */

.download-box{
    padding:24px;
    overflow:hidden;
    background:
      linear-gradient(
        180deg,
        color-mix(in srgb,var(--surface) 96%,#0ea5a0 4%),
        var(--surface)
      );
}

.download-section-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.download-section-head .box-title{
    margin-bottom:3px;
}

.download-section-sub{
    color:var(--muted);
    font-size:13px;
}


/* ---------- Season ---------- */

.download-season{
    overflow:hidden;
    margin-bottom:16px;
    border:1px solid
      color-mix(in srgb,var(--line) 85%,#2dd4bf 15%);
    border-radius:20px;

    background:
      color-mix(
        in srgb,
        var(--surface) 92%,
        #0f766e 8%
      );
}

.download-season-title{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:14px;

    padding:15px 18px;

    cursor:pointer;
    user-select:none;

    font-size:16px;

    border-bottom:1px solid var(--line);

    background:
      color-mix(
        in srgb,
        var(--surface2) 88%,
        #0f766e 12%
      );
}

.download-season-title small{
    color:var(--muted);
    font-weight:400;
}

.season-heading{
    display:flex;
    align-items:center;
    gap:10px;
}

.season-chevron{
    width:30px;
    height:30px;

    display:grid;
    place-items:center;

    border-radius:9px;

    background:rgba(255,255,255,.055);

    font-size:18px;
    line-height:1;

    transition:transform .2s ease;
}

.download-season.collapsed .season-chevron{
    transform:rotate(180deg);
}

.download-season.collapsed .download-episodes{
    display:none;
}

.download-episodes{
    padding:14px;
}


/* ---------- Episode ---------- */

.download-episode,
.download-movie-version{

    display:block;

    padding:18px;

    margin-bottom:14px;

    border:1px solid var(--line);
    border-radius:17px;

    background:
      color-mix(
        in srgb,
        var(--bg) 52%,
        var(--surface) 48%
      );

    transition:
      border-color .2s,
      transform .2s;
}

.download-episode:last-child,
.download-movie-version:last-child{
    margin-bottom:0;
}

.download-episode:hover,
.download-movie-version:hover{

    transform:translateY(-1px);

    border-color:
      color-mix(
        in srgb,
        var(--primary) 30%,
        var(--line)
      );
}


/* ---------- Episode header ---------- */

.episode-top{

    display:flex;
    align-items:center;
er;
    justify-content:space-between;

    gap:14px;

    padding-bottom:13px;
    margin-bottom:14px;

    border-bottom:1px solid var(--line);
}

.episode-identity{

    display:flex;
    align-i:center;

    gap:10px;

    min-width:0;
}

.episode-name{

    font-size:16px;
    font-weight:900;
}

.episode-code{

    direction:ltr;

    color:var(--muted);

    font-size:12px;
    font-weight:700;

    letter-spacing:.4px;
}

.episode-badges{

    display:flex;
    align-items:center;

    gap:8px;

    flex-wrap:wrap;
}

.episode-version,
.episode-free{

    display:inline-flex;
    align-items:center;

    min-height:30px;

    padding:4px 11px;

    border-radius:9px;

    font-size:12px;
    font-weight:800;
}

.episode-version{

    color:#c4b5fd;

    border:1px solid
      color-mix(in srgb,#8b5cf6 28%,transparent);

    background:
      color-mix(in srgb,#8b5cf6 22%,transparent);
}

.episode-free{

    color:#6ee7a2;

    border:1px solid
      color-mix(in srgb,var(--ok) 26%,transparent);

    background:
      color-mix(in srgb,var(--ok) 18%,transparent);
}


/* ---------- Download buttons layout ---------- */

.episode-actions{

    display:grid;

    grid-template-columns:
      minmax(0,1fr)
      190px;

    gap:14px;

    align-items:stretch;
}

.download-quality-grid{

    min-width:0;

    display:grid;

    grid-template-columns:
      repeat(
        auto-fit,
        minmax(150px,1fr)
      );

    gap:10px;
}


/* ---------- Download quality card ---------- */

.download-quality-card{

    position:relative;

    min-height:82px;

    padding:12px 13px;

    overflow:hidden;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:4px;

    text-align:center;

    border-radius:14px;

    border:1px solid
      color-mix(
        in srgb,
        var(--ok) 38%,
        var(--line)
      );

    background:
      linear-gradient(
        145deg,
        color-mix(
          in srgb,
          var(--ok) 17%,
          var(--surface2)
        ),
        color-mix(
          in srgb,
          var(--ok) 8%,
          var(--surface)
        )
      );

    color:#79e7aa;

    transition:
      transform .18s,
      border-color .18s,
      box-shadow .18s,
      background .18s;
}

.download-quality-card::after{

    content:"";

    position:absolute;

    inset:0;

    pointer-events:none;

    background:
      linear-gradient(
        120deg,
        transparent 25%,
        rgba(255,255,255,.07),
        transparent 70%
      );

    transform:translateX(120%);

    transition:transform .45s;
}

.download-quality-card:hover{

    transform:translateY(-2px);

    border-color:
      color-mix(
        in srgb,
        var(--ok) 72%,
        white 4%
      );

    box-shadow:
      0 9px 22px rgba(0,0,0,.18);
}

.download-quality-card:hover::after{
    transform:translateX(-120%);
}

.download-quality-main{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    direction:rtl;

    font-size:14px;
}

.download-quality-main strong{

    font-weight:900;
    white-space:nowrap;
}

.download-icon{

    display:inline-flex;
}

.download-icon .ic{

    width:17px;
    height:17px;
}

.download-file-size{

    direction:ltr;

    color:
      color-mix(
        in srgb,
        #79e7aa 75%,
        var(--muted)
      );

    font-size:12px;
    font-weight:700;
}

.download-price{

    color:var(--accent);

    font-size:11px;
    font-weight:800;
}


/*
  qualityClass قبلی پروژه برای 720/1080/4K
  background را override می‌کرد.
  اینجا ظاهر همه کیفیت‌ها را یکدست می‌کنیم.
*/

.download-quality-card.q-4k,
.download-quality-card.q-1080,
.download-quality-card.q-720{

    background:
      linear-gradient(
        145deg,
        color-mix(
          in srgb,
          var(--ok) 17%,
          var(--surface2)
        ),
        color-mix(
          in srgb,
          var(--ok) 8%,
          var(--surface)
        )
      ) !important;
}

.download-quality-card.q-4k .download-quality-main,
.download-quality-card.q-1080 .download-quality-main,
.download-quality-card.q-720 .download-quality-main{

    color:#79e7aa;
}


/* ---------- Online play ---------- */

.download-play-btn{

    display:flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    min-height:82px;

    border-radius:14px;

    border:1px solid
      color-mix(
        in srgb,
        var(--accent) 70%,
        var(--line)
      );

    background:
      linear-gradient(
        145deg,
        color-mix(
          in srgb,
          var(--accent) 17%,
          var(--surface2)
        ),
        color-mix(
          in srgb,
          var(--accent) 8%,
          var(--surface)
        )
      );

    color:#ffc95c;

    font-weight:900;

    cursor:pointer;

    transition:
      transform .18s,
      border-color .18s,
      box-shadow .18s;
}

.download-play-btn:hover{

    transform:translateY(-2px);

    border-color:var(--accent);

    box-shadow:
      0 9px 22px rgba(0,0,0,.20);
}

.download-play-btn .ic{

    width:20px;
    height:20px;

    fill:currentColor;
}


/* ---------- Movie ---------- */

.movie-version.download-movie-version{
    margin-bottom:14px;
}


/* ---------- Tablet ---------- */

@media(max-width:900px){

    .episode-actions{
        grid-template-columns:1fr;
    }

    .download-play-btn{
        min-height:58px;
    }

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


/* ---------- Mobile ---------- */

@media(max-width:560px){

    .download-box{
        padding:15px;
    }

    .download-section-sub{
        display:none;
    }

    .download-season-title{
        padding:13px 14px;
    }

    .download-episodes{
        padding:9px;
    }

    .download-episode,
    .download-movie-version{
        padding:13px;
    }

    .episode-top{

        align-items:flex-start;
        flex-direction:column;
    }

    .episode-badges{
        width:100%;
    }

    .download-quality-grid{

        grid-template-columns:
          repeat(2,minmax(0,1fr));

        gap:8px;
    }

    .download-quality-card{

        min-height:75px;

        padding:10px 8px;
    }

    .download-quality-main{
        font-size:13px;
    }

    .download-file-size{
        font-size:11px;
    }
}



/* ==========================================================
   CINEMACITY DOWNLOAD UI V3
   ========================================================== */

@media (min-width: 901px) {

    .episode-actions {
        display: flex !important;
        flex-direction: row;
        direction: rtl;

        align-items: stretch;

        gap: 12px !important;

        width: 100%;
    }


    .download-quality-grid {
        display: flex !important;

        flex: 1 1 auto;

        min-width: 0;

        gap: 10px !important;

        flex-wrap: nowrap !important;

        direction: rtl;
    }


    .download-quality-card {
        flex: 1 1 0 !important;

        min-width: 0 !important;
        max-width: none !important;

        min-height: 78px !important;

        padding: 11px 8px !important;

        border-radius: 13px !important;
    }


    .download-quality-main {
        gap: 7px !important;
    }


    .download-quality-main strong {
        font-size: 14px !important;
    }


    .download-file-size {
        margin-top: 2px;

        font-size: 12px !important;
    }


    .download-play-btn {
        flex: 0 0 185px !important;

        width: 185px !important;
        min-width: 185px !important;

        min-height: 78px !important;

        border-radius: 13px !important;
    }

}


/* medium screen */

@media (min-width: 901px) and (max-width: 1150px) {

    .download-play-btn {
        flex-basis: 155px !important;

        width: 155px !important;
        min-width: 155px !important;
    }

    .download-quality-main strong {
        font-size: 13px !important;
    }

}


/* mobile/tablet can wrap cleanly */

@media (max-width: 900px) {

    .episode-actions {
        display: flex !important;

        flex-direction: column !important;

        gap: 10px !important;
    }

    .download-quality-grid {
        display: grid !important;

        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 9px !important;
    }

    .download-play-btn {
        width: 100% !important;

        min-height: 58px !important;
    }

}


/* =========================================================
   CINEPLAYER PRO V1
   ========================================================= */

.cc-online-section {
    padding: 20px;
    overflow: visible;
}

.cc-player-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.cc-player-head p {
    margin-top: 4px;
    color: var(--muted);
    font-size: 13px;
}

.cc-now-playing {
    max-width: 45%;
    overflow: hidden;
    color: var(--muted);
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cine-player {
    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 18px;

    background: #07090d;

    box-shadow:
        0 18px 48px
        rgba(0, 0, 0, .28);
}

.cine-stage {
    position: relative;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    background: #000;

    outline: 0;
}

.cine-video {
    display: block;

    width: 100%;
    height: 100%;

    background: #000;

    object-fit: contain;
}

.cine-empty {
    position: absolute;
    inset: 0;
    z-index: 3;

    display: flex;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    color: var(--text);

    background:
        radial-gradient(
            circle at 50% 38%,
            rgba(255, 122, 24, .13),
            transparent 34%
        ),
        #090b10;
}

.cine-empty-icon {
    display: grid;

    width: 68px;
    height: 68px;

    place-items: center;

    padding-right: 3px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--primary) 50%,
            transparent
        );

    border-radius: 50%;

    background:
        color-mix(
            in srgb,
            var(--primary) 20%,
            transparent
        );

    color: var(--primary2);

    font-size: 26px;
}

.cine-empty strong {
    font-size: 18px;
}

.cine-empty small {
    color: var(--muted);
}

.cine-loading {
    position: absolute;
    inset: 0;
    z-index: 7;

    display: flex;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 10px;

    background:
        rgba(4, 6, 10, .55);

    backdrop-filter:
        blur(3px);
}

.cine-loading span {
    width: 34px;
    height: 34px;

    border:
        3px solid
        rgba(255, 255, 255, .18);

    border-top-color:
        var(--primary);

    border-radius: 50%;

    animation:
        cineSpin .8s
        linear infinite;
}

@keyframes cineSpin {
    to {
        transform:
            rotate(360deg);
    }
}

.cine-center-play {
    position: absolute;

    top: 50%;
    left: 50%;

    z-index: 5;

    width: 64px;
    height: 64px;

    transform:
        translate(-50%, -50%);

    border:
        1px solid
        rgba(255, 255, 255, .22);

    border-radius: 50%;

    background:
        rgba(7, 9, 13, .58);

    backdrop-filter:
        blur(10px);

    color: #fff;

    font-size: 24px;

    cursor: pointer;

    opacity: 0;

    transition:
        .2s;
}

.cine-stage:hover
.cine-center-play,

.cine-stage:not(.is-playing)
.cine-center-play {
    opacity: 1;
}

.cine-controls {
    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    z-index: 6;

    padding:
        30px 14px 12px;

    background:
        linear-gradient(
            transparent,
            rgba(0, 0, 0, .88)
        );
}

.cine-progress {
    width: 100%;
    height: 5px;

    margin:
        0 0 10px;

    accent-color:
        var(--primary);

    cursor: pointer;
}

.cine-controls-row {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    direction: ltr;
}

.cine-controls-main,
.cine-tools {
    display: flex;

    align-items: center;

    gap: 8px;
}

.cine-btn,
.cine-tool,
.cine-quality-current {
    min-width: 36px;
    height: 36px;

    padding: 0 9px;

    border: 0;
    border-radius: 9px;

    background:
        rgba(255, 255, 255, .10);

    color: #fff;

    font: inherit;

    cursor: pointer;
}

.cine-btn:hover,
.cine-tool:hover,
.cine-quality-current:hover {
    background:
        rgba(255, 255, 255, .18);
}

.cine-time {
    display: flex;

    align-items: center;

    gap: 5px;

    color: #fff;

    font-size: 12px;

    direction: ltr;
}

.cine-time i {
    opacity: .45;

    font-style: normal;
}

.cine-volume {
    width: 82px;

    accent-color: #fff;
}

.cine-speed {
    height: 36px;

    padding: 0 7px;

    border: 0;
    border-radius: 9px;

    background:
        rgba(255, 255, 255, .10);

    color: #fff;
}

.cine-speed option {
    color: #111;
}

.cine-quality-wrap {
    position: relative;
}

.cine-quality-menu {
    position: absolute;

    right: 0;
    bottom: 44px;

    z-index: 20;

    min-width: 160px;
    max-height: 280px;

    overflow: auto;

    padding: 6px;

    border:
        1px solid
        rgba(255, 255, 255, .12);

    border-radius: 12px;

    background: #12161f;

    box-shadow:
        0 14px 38px
        rgba(0, 0, 0, .45);
}

.cine-q-item {
    display: flex;

    width: 100%;

    padding: 9px 10px;

    border: 0;
    border-radius: 8px;

    background: transparent;

    color: #d9dee8;

    cursor: pointer;

    white-space: nowrap;
}

.cine-q-item:hover,
.cine-q-item.active {
    background:
        color-mix(
            in srgb,
            var(--primary) 20%,
            transparent
        );

    color: #fff;
}

.cine-meta {
    display: flex;

    justify-content: space-between;

    gap: 12px;

    padding: 10px 14px;

    border-top:
        1px solid
        rgba(255, 255, 255, .06);

    background: #0d1118;

    color: var(--muted);

    font-size: 12px;
}

.cine-source-size {
    direction: ltr;
}

.cine-stage.has-error
.cine-center-play {
    display: none;
}


@media (max-width: 700px) {

    .cc-player-head {
        flex-direction: column;
    }

    .cc-now-playing {
        max-width: 100%;
    }

    .cine-controls {
        padding:
            24px 8px 8px;
    }

    .cine-volume,
    .cine-pip {
        display: none;
    }

    .cine-tools {
        gap: 5px;
    }

    .cine-btn,
    .cine-tool,
    .cine-quality-current,
    .cine-speed {
        height: 32px;

        padding: 0 7px;

        font-size: 11px;
    }

    .cine-time {
        font-size: 10px;
    }

    .cine-center-play {
        width: 52px;
        height: 52px;
    }
}

/* =========================================================
   CINEPLAYER VISIBILITY FIX
   ========================================================= */

/* Author CSS must never override the HTML hidden attribute */
.cc-online-section[hidden],
.cine-loading[hidden],
.cine-empty[hidden],
.cine-quality-menu[hidden] {
    display: none !important;
}

/* Player must not occupy any space until the user requests playback */
#online[hidden] {
    display: none !important;
}


/* =========================================================
   PLAYER LTR CONTROLS FIX
   Timeline: left = beginning, right = end
   ========================================================= */

.cine-progress,
.cine-volume {
    direction: ltr !important;
    unicode-bidi: isolate;
}


/* =========================================================
   DOWNLOAD VERSION GROUPS
   ========================================================= */

.download-version-block {
    padding: 14px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--line) 82%,
            var(--primary) 18%
        );

    border-radius: 15px;

    background:
        color-mix(
            in srgb,
            var(--bg) 72%,
            var(--surface) 28%
        );
}

.download-version-block +
.download-version-block {
    margin-top: 12px;
}

.download-version-head {
    display: flex;

    align-items: center;

    margin-bottom: 11px;
}

.download-version-head
.episode-version {
    padding: 6px 12px;

    border-radius: 9px;

    font-size: 12px;
    font-weight: 900;
}


/* Desktop:
   qualities remain in one clean row
   for each dubbed/subtitle version.
*/

@media (min-width: 901px) {

    .download-version-block
    .episode-actions {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1fr)
            185px !important;

        gap: 12px !important;
    }

    .download-version-block
    .download-quality-grid {
        display: grid !important;

        grid-template-columns:
            repeat(
                auto-fit,
                minmax(135px, 1fr)
            ) !important;

        gap: 10px !important;

        direction: rtl;
    }

    .download-version-block
    .download-quality-card {
        width: auto !important;
        min-width: 0 !important;

        min-height: 78px !important;
    }

    .download-version-block
    .download-play-btn {
        width: 185px !important;
        min-width: 185px !important;

        min-height: 78px !important;
    }

}


@media (max-width: 900px) {

    .download-version-block {
        padding: 10px;
    }

    .download-version-block
    .download-quality-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            ) !important;
    }

}


/* =========================================================
   HOME REDESIGN — modern responsive landing page
   ========================================================= */

.home-shell{
  position:relative;
  padding-bottom:36px;
}

.home-shell::before{
  content:"";
  position:fixed;
  inset:0 0 auto 0;
  height:520px;
  pointer-events:none;
  background:
    radial-gradient(circle at 80% 0%, color-mix(in srgb,var(--primary) 22%,transparent), transparent 36%),
    radial-gradient(circle at 15% 10%, color-mix(in srgb,var(--accent) 14%,transparent), transparent 28%);
  opacity:.85;
  z-index:-1;
}

.home-shell .section-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.home-shell .section-kicker::before{
  content:"";
  width:28px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
}

/* hero */
.home-shell .home-hero{
  margin-bottom:42px;
  padding-top:16px;
}

.home-shell .hero-slide{
  min-height:min(76vh,680px);
  padding-top:90px;
  padding-bottom:42px;
  align-items:center;
}

.home-shell .hero-overlay{
  background:
    linear-gradient(90deg, rgba(7,9,15,.96) 0%, rgba(7,9,15,.88) 32%, rgba(7,9,15,.48) 62%, rgba(7,9,15,.35) 100%),
    linear-gradient(0deg, var(--bg) 4%, rgba(11,13,18,.44) 36%, rgba(11,13,18,.1) 100%);
}

[data-theme=light] .home-shell .hero-overlay{
  background:
    linear-gradient(90deg, rgba(244,245,248,.96) 0%, rgba(244,245,248,.9) 35%, rgba(244,245,248,.5) 65%, rgba(244,245,248,.24) 100%),
    linear-gradient(0deg, var(--bg) 4%, rgba(244,245,248,.2) 100%);
}

.home-shell .hero-content{
  width:100%;
  padding-bottom:0;
}

.home-shell .hero-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:38px;
  align-items:center;
}

.home-shell .hero-copy{
  max-width:700px;
}

.home-shell .hero-topline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.home-shell .hero-kicker{
  display:inline-flex;
  padding:6px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  color:#d9deea;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}

[data-theme=light] .home-shell .hero-kicker{
  color:var(--text);
  background:rgba(255,255,255,.54);
  border-color:rgba(0,0,0,.06);
}

.home-shell .hero-badge{
  padding:7px 14px;
  box-shadow:0 12px 30px rgba(245,158,11,.18);
}

.home-shell .hero-title{
  font-size:clamp(30px,4.4vw,56px);
  max-width:700px;
  letter-spacing:-.03em;
  margin-bottom:10px;
}

.home-shell .hero-meta{
  gap:12px;
  margin:14px 0 18px;
}

.home-shell .hero-meta>span:not(.imdb-chip){
  padding:6px 12px;
  font-size:13px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
}

[data-theme=light] .home-shell .hero-meta>span:not(.imdb-chip){
  border-color:rgba(0,0,0,.07);
  background:rgba(255,255,255,.62);
}

.home-shell .hero-desc{
  max-width:620px;
  font-size:15px;
  line-height:2;
  color:#d8dde8;
  margin-bottom:16px;
}

[data-theme=light] .home-shell .hero-desc{
  color:var(--muted);
}

.home-shell .hero-tags{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:22px;
}

.home-shell .hero-tags span{
  display:inline-flex;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.06);
  font-size:12px;
  font-weight:700;
  color:#edf1fa;
}

[data-theme=light] .home-shell .hero-tags span{
  color:var(--text);
  border-color:rgba(0,0,0,.08);
  background:rgba(255,255,255,.58);
}

.home-shell .hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.home-shell .hero-btn{
  min-width:170px;
}

.home-shell .hero-btn-secondary{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}

[data-theme=light] .home-shell .hero-btn-secondary{
  background:rgba(255,255,255,.7);
  border-color:rgba(0,0,0,.08);
}

.home-shell .hero-poster-wrap{
  display:flex;
  justify-content:flex-end;
}

.home-shell .hero-poster-card{
  position:relative;
  width:min(300px,100%);
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  box-shadow:0 32px 80px rgba(0,0,0,.38);
  transform:translateY(10px);
}

.home-shell .hero-poster{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
}

.home-shell .hero-poster-glow{
  position:absolute;
  inset:auto 18px -25px 18px;
  height:60px;
  border-radius:50%;
  background:color-mix(in srgb,var(--primary) 42%,transparent);
  filter:blur(32px);
  opacity:.5;
}

.home-shell .hero-dots{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  justify-content:center;
  gap:10px;
  margin-top:16px;
}

.home-shell .hero-dots button{
  width:12px;
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.1);
}

.home-shell .hero-dots button.active{
  width:34px;
  background:linear-gradient(90deg,var(--primary),var(--accent));
  border-color:transparent;
}

/* sections */
.home-shell .row-section{
  position:relative;
  margin:42px auto;
}

.home-shell .row-head{
  align-items:center;
  gap:20px;
  margin-bottom:18px;
}

.home-shell .row-title{
  font-size:24px;
  padding-right:18px;
}

.home-shell .row-title::before{
  width:6px;
  top:10%;
  bottom:10%;
}

.home-shell .row-sub{
  padding-right:18px;
  font-size:13px;
}

.home-shell .row-more{
  min-width:max-content;
  background:color-mix(in srgb,var(--surface) 88%, #fff 2%);
  border:1px solid var(--line);
  padding:10px 16px;
  border-radius:14px;
  transition:.2s;
}

.home-shell .row-more:hover{
  border-color:color-mix(in srgb,var(--primary) 35%,transparent);
  background:color-mix(in srgb,var(--surface) 78%, var(--primary) 4%);
  transform:translateY(-2px);
}

.home-shell .row-scroll{
  position:relative;
  grid-auto-columns:clamp(160px, 15.2vw, 210px);
  gap:18px;
  padding:8px 2px 16px;
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--primary) 45%,transparent) transparent;
}

.home-shell .row-scroll::after{
  content:"";
  position:sticky;
  left:0;
  width:40px;
  min-width:40px;
  pointer-events:none;
  background:linear-gradient(90deg,var(--bg),transparent);
}

/* home cards */
.home-shell .card{
  display:block;
}

.home-shell .card-link{
  display:block;
}

.home-shell .card-poster{
  border-radius:22px;
  border:1px solid color-mix(in srgb,var(--line) 70%,transparent);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
    var(--surface);
  box-shadow:0 16px 36px rgba(0,0,0,.22);
}

.home-shell .card-poster::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,9,15,0) 45%, rgba(7,9,15,.24) 78%, rgba(7,9,15,.75) 100%);
  opacity:.95;
  pointer-events:none;
}

.home-shell .card:hover .card-poster{
  box-shadow:0 20px 50px rgba(0,0,0,.33);
}

.home-shell .card-imdb,
.home-shell .card-type,
.home-shell .card-quality,
.home-shell .card-badge{
  z-index:2;
  backdrop-filter:blur(10px);
}

.home-shell .card-imdb{
  top:10px;
  right:10px;
  border-radius:10px;
  padding:4px 10px;
}

.home-shell .card-type{
  top:10px;
  left:10px;
  border-radius:10px;
  padding:5px 10px;
  background:linear-gradient(135deg,var(--primary),var(--primary2));
}

.home-shell .card-quality{
  left:10px;
  bottom:10px;
  border-radius:10px;
  background:rgba(8,10,15,.72);
  border:1px solid rgba(255,255,255,.08);
  padding:4px 10px;
}

.home-shell .card-badge{
  right:10px;
  bottom:10px;
  border-radius:10px;
  padding:4px 10px;
}

.home-shell .card-hover{
  z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.28) 52%, rgba(0,0,0,.72));
}

.home-shell .card-hover-play{
  width:58px;
  height:58px;
  box-shadow:0 14px 24px rgba(225,29,72,.28);
}

.home-shell .card-title{
  font-size:15px;
  font-weight:900;
  white-space:normal;
  line-height:1.65;
  min-height:3.3em;
  margin-top:12px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.home-shell .card-meta{
  gap:8px;
  flex-wrap:wrap;
  white-space:normal;
  line-height:1.8;
  margin-top:3px;
}

.home-shell .card-meta span{
  display:inline-flex;
  align-items:center;
}

.home-shell .card-meta span:not(:last-child)::after{
  margin-right:8px;
}

/* blog */
.home-shell .home-blog-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);
  gap:20px;
}

.home-shell .home-blog-stack{
  display:grid;
  gap:16px;
}

.home-shell .blog-card{
  border-radius:22px;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent);
  background:linear-gradient(180deg, color-mix(in srgb,var(--surface) 94%,#fff 2%), var(--surface));
  box-shadow:0 16px 36px rgba(0,0,0,.16);
}

.home-shell .blog-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 50px rgba(0,0,0,.22);
}

.home-shell .blog-card .blog-cover{
  border-bottom:1px solid var(--line);
}

.home-shell .blog-card-featured{
  display:grid;
  overflow:hidden;
}

.home-shell .blog-card-featured .blog-cover{
  aspect-ratio:16/8.6;
}

.home-shell .blog-card-featured .blog-card-body{
  padding:18px 18px 22px;
}

.home-shell .blog-card-featured h3{
  font-size:24px;
  padding:0;
  margin:10px 0 8px;
  line-height:1.6;
}

.home-shell .blog-card-featured p{
  padding:0;
  font-size:14px;
  line-height:2;
}

.home-shell .blog-chip{
  display:inline-flex;
  align-items:center;
  padding:5px 11px;
  border-radius:999px;
  background:color-mix(in srgb,var(--primary) 16%,transparent);
  color:#ff9ab1;
  border:1px solid color-mix(in srgb,var(--primary) 36%,transparent);
  font-size:12px;
  font-weight:900;
}

.home-shell .blog-card-compact{
  display:grid;
  grid-template-columns:122px minmax(0,1fr);
  align-items:stretch;
  overflow:hidden;
}

.home-shell .blog-card-compact .blog-cover{
  aspect-ratio:auto;
  height:100%;
  min-height:100%;
  border-left:1px solid var(--line);
  border-bottom:0;
}

.home-shell .blog-card-compact .blog-cover img{
  height:100%;
}

.home-shell .blog-card-compact .blog-card-body{
  padding:14px 16px;
}

.home-shell .blog-card-compact h3{
  font-size:15px;
  padding:0;
  margin:0 0 6px;
  line-height:1.7;
}

.home-shell .blog-card-compact p{
  padding:0;
  font-size:13px;
  line-height:1.95;
}

/* responsiveness */
@media (max-width: 1180px){
  .home-shell .hero-layout{
    grid-template-columns:minmax(0,1fr) 250px;
    gap:24px;
  }

  .home-shell .row-scroll{
    grid-auto-columns:clamp(150px, 18vw, 190px);
  }
}

@media (max-width: 960px){
  .home-shell .home-blog-grid{
    grid-template-columns:1fr;
  }

  .home-shell .hero-slide{
    min-height:620px;
    align-items:flex-end;
  }

  .home-shell .hero-layout{
    grid-template-columns:1fr;
    align-items:end;
  }

  .home-shell .hero-poster-wrap{
    display:none;
  }
}

@media (max-width: 760px){
  .home-shell .home-hero{
    margin-bottom:26px;
  }

  .home-shell .hero-slide{
    min-height:540px;
    padding-top:74px;
    padding-bottom:24px;
    background-position:center center;
  }

  .home-shell .hero-title{
    font-size:30px;
  }

  .home-shell .hero-desc{
    font-size:14px;
    -webkit-line-clamp:4;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .home-shell .hero-meta{
    gap:8px;
  }

  .home-shell .hero-meta>span:not(.imdb-chip){
    font-size:12px;
    padding:5px 10px;
  }

  .home-shell .hero-tags{
    display:none;
  }

  .home-shell .hero-actions{
    width:100%;
  }

  .home-shell .hero-btn,
  .home-shell .hero-btn-secondary{
    flex:1 1 0;
    min-width:0;
    padding:11px 12px;
  }

  .home-shell .row-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .home-shell .row-title{
    font-size:21px;
  }

  .home-shell .row-more{
    padding:8px 13px;
    font-size:13px;
  }

  .home-shell .row-scroll{
    grid-auto-columns:42vw;
    gap:14px;
    padding-bottom:10px;
  }

  .home-shell .card-poster{
    border-radius:18px;
  }

  .home-shell .card-title{
    font-size:13px;
    min-height:3.1em;
  }

  .home-shell .card-meta{
    font-size:11px;
  }

  .home-shell .blog-card-featured h3{
    font-size:19px;
  }

  .home-shell .blog-card-compact{
    grid-template-columns:104px minmax(0,1fr);
  }
}

@media (max-width: 560px){
  .home-shell .section-kicker{
    font-size:11px;
  }

  .home-shell .hero-topline{
    gap:8px;
  }

  .home-shell .hero-badge,
  .home-shell .hero-kicker{
    font-size:11px;
  }

  .home-shell .hero-title{
    font-size:26px;
  }

  .home-shell .hero-desc{
    margin-bottom:14px;
  }

  .home-shell .hero-dots{
    margin-top:10px;
  }

  .home-shell .hero-dots button{
    width:10px;
    height:10px;
  }

  .home-shell .hero-dots button.active{
    width:28px;
  }

  .home-shell .row-section{
    margin:34px auto;
  }

  .home-shell .row-scroll{
    grid-auto-columns:47vw;
  }

  .home-shell .blog-card-featured .blog-card-body,
  .home-shell .blog-card-compact .blog-card-body{
    padding:12px 13px 14px;
  }

  .home-shell .blog-card-compact{
    grid-template-columns:96px minmax(0,1fr);
  }
}

/* =========================================================
   HOME POLISH — cleaner cards + mouse-first horizontal rows
   ========================================================= */

/* Quality is intentionally hidden on homepage cards; detail pages keep it. */
.home-shell .card-quality{display:none!important}

/* Keep horizontal rows clean: no visible browser scrollbar. */
.home-shell .row-scroll{
  scrollbar-width:none!important;
  -ms-overflow-style:none;
  cursor:grab;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
}
.home-shell .row-scroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.home-shell .row-scroll.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none!important;
  scroll-behavior:auto;
  user-select:none;
}
.home-shell .row-scroll.is-dragging *{pointer-events:none}

/* The fade at the edge gives a continuation cue without adding a scrollbar. */
.home-shell .row-scroll::after{
  width:28px;
  min-width:28px;
  opacity:.75;
}

@media (hover:none), (pointer:coarse){
  .home-shell .row-scroll{cursor:auto}
}

/* Homepage shelf end-boundary fix: the old fade pseudo-element became an
   extra grid column, so both touch and mouse could scroll past the last card. */
.home-shell .row-scroll::after{content:none!important;display:none!important;width:0!important;min-width:0!important}
.home-shell .row-scroll{scroll-padding-inline:0!important;overscroll-behavior-inline:contain}

/* =========================================================
   HOME SECTION STYLES V4 + WEEKLY SCHEDULE
   ========================================================= */
.home-row-section.style-compact .row-scroll{grid-auto-columns:clamp(132px,12.5vw,168px);gap:13px}
.home-row-section.style-compact .card-poster{border-radius:17px;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.home-row-section.style-compact .card-title{font-size:13px;margin-top:9px;min-height:3em}
.home-row-section.style-compact .card-meta{font-size:10.5px}
.home-row-section.style-compact .card-type{padding:3px 7px;font-size:10px}
.home-row-section.style-compact .card-imdb{padding:3px 7px;font-size:10px}

.home-row-section.style-landscape .row-scroll{grid-auto-columns:clamp(285px,28vw,390px);gap:18px}
.home-row-section.style-cinematic .row-scroll{grid-auto-columns:clamp(350px,36vw,510px);gap:22px}
.home-land-card{min-width:0}
.home-land-card .card-link{display:block}
.home-land-media{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 15px 36px rgba(0,0,0,.24)}
.home-land-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.home-land-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,10,.04),rgba(4,6,10,.12) 48%,rgba(4,6,10,.82));transition:.3s}
.home-land-card:hover .home-land-media img{transform:scale(1.045);filter:saturate(1.08)}
.home-land-card:hover .home-land-shade{background:linear-gradient(180deg,rgba(4,6,10,.04),rgba(4,6,10,.2) 45%,rgba(4,6,10,.9))}
.home-land-type,.home-land-imdb,.home-land-episode{position:absolute;z-index:2;top:11px;padding:5px 10px;border-radius:10px;font-size:11px;font-weight:900;backdrop-filter:blur(10px)}
.home-land-type{right:11px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}
.home-land-imdb{left:11px;display:flex;align-items:center;gap:4px;background:rgba(4,6,10,.72);color:#f5c518}.home-land-imdb .ic{width:12px;height:12px;fill:#f5c518;stroke:none}
.home-land-episode{top:auto;right:11px;bottom:11px;background:var(--accent);color:#111}
.home-land-play{position:absolute;z-index:2;inset:50% auto auto 50%;transform:translate(-50%,-50%) scale(.85);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(225,29,72,.92);color:#fff;opacity:0;transition:.25s;box-shadow:0 12px 28px rgba(225,29,72,.26)}
.home-land-play .ic{fill:#fff}
.home-land-card:hover .home-land-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.home-land-body{padding:11px 3px 0}.home-land-body h3{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-land-meta{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11.5px;margin-top:3px;overflow:hidden;white-space:nowrap}.home-land-meta span:not(:last-child)::after{content:"·";margin-right:7px}
.home-row-section.style-cinematic .home-land-media{border-radius:24px;aspect-ratio:16/8.5}
.home-row-section.style-cinematic .home-land-body h3{font-size:17px}
.home-row-section.style-cinematic .home-land-play{width:64px;height:64px}

/* hero variants */
.home-hero.style-hero_full .hero-layout{grid-template-columns:1fr}.home-hero.style-hero_full .hero-poster-wrap{display:none}.home-hero.style-hero_full .hero-copy{max-width:760px}.home-hero.style-hero_full .hero-slide{min-height:min(78vh,720px)}
.home-hero.style-hero_minimal .hero-slide{min-height:min(62vh,560px)}.home-hero.style-hero_minimal .hero-poster-wrap{display:none}.home-hero.style-hero_minimal .hero-layout{grid-template-columns:1fr}.home-hero.style-hero_minimal .hero-desc{max-width:560px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.home-hero.style-hero_minimal .hero-tags{display:none}.home-hero.style-hero_minimal .hero-title{font-size:clamp(28px,4vw,48px)}

/* blog variants */
.home-blog-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-blog-simple-grid .blog-card-body{padding:15px 16px 18px}.home-blog-simple-grid .blog-card h3{padding:0;font-size:15px}.home-blog-simple-grid .blog-card p{padding:6px 0 0}
.home-blog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-blog-list .blog-card-compact{grid-template-columns:130px minmax(0,1fr)}

/* weekly schedule */
.weekly-schedule{margin-top:46px!important;margin-bottom:48px!important}
.schedule-shell{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 97%,#fff 1%),color-mix(in srgb,var(--surface) 90%,var(--bg) 10%));box-shadow:0 20px 52px rgba(0,0,0,.16)}
.schedule-tabs{display:flex;align-items:center;gap:5px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.schedule-tabs::-webkit-scrollbar{display:none}
.schedule-tab{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:800;padding:8px 15px;border-radius:10px;cursor:pointer;transition:.2s}.schedule-tab:hover{color:var(--text);background:var(--surface2)}.schedule-tab.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 22%,transparent)}
.schedule-panels{padding:18px}.schedule-panel[hidden]{display:none!important}
.schedule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.schedule-card{min-width:0;display:block}.schedule-card-media{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:16px;background:var(--surface2);border:1px solid var(--line)}.schedule-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.schedule-card:hover .schedule-card-media img{transform:scale(1.045)}.schedule-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,5,9,.06),rgba(3,5,9,.12) 48%,rgba(3,5,9,.76))}.schedule-play{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(6,8,12,.58);border:1px solid rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(8px)}.schedule-play .ic{width:14px;height:14px;fill:#fff}.schedule-episode{position:absolute;right:12px;bottom:11px;padding:5px 10px;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:11px;font-weight:900}.schedule-card-info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 2px 0}.schedule-card-info strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.schedule-card-info span{color:var(--muted);font-size:11px;flex:none}.schedule-empty{display:grid;place-items:center;min-height:130px;color:var(--muted);border:1px dashed var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface2) 50%,transparent)}
.weekly-schedule.style-schedule_compact .schedule-panels{padding:12px}.weekly-schedule.style-schedule_compact .schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weekly-schedule.style-schedule_compact .schedule-card{display:grid;grid-template-columns:145px minmax(0,1fr);align-items:center;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface2)}.weekly-schedule.style-schedule_compact .schedule-card-media{border:0;border-radius:0;height:88px;aspect-ratio:auto}.weekly-schedule.style-schedule_compact .schedule-card-info{padding:12px 14px}.weekly-schedule.style-schedule_compact .schedule-card-info strong{font-size:14px}

@media(max-width:1050px){.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-blog-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.home-row-section.style-landscape .row-scroll{grid-auto-columns:78vw}.home-row-section.style-cinematic .row-scroll{grid-auto-columns:84vw}.schedule-panels{padding:12px}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-tabs{padding:8px}.schedule-tab{padding:7px 12px;font-size:12px}.home-blog-list{grid-template-columns:1fr}.weekly-schedule.style-schedule_compact .schedule-grid{grid-template-columns:1fr}}
@media(max-width:520px){.home-row-section.style-compact .row-scroll{grid-auto-columns:40vw}.schedule-grid{grid-template-columns:1fr}.home-blog-simple-grid{grid-template-columns:1fr}.schedule-card-info strong{font-size:12px}}

/* =========================================================
   HERO POLISH V5 — lighter imagery + two new slider layouts
   ========================================================= */
/* Full-width and minimal used to carry the same heavy overlay as the poster
   layout. Keep enough contrast for the copy, but let the backdrop stay visible. */
.home-shell .home-hero.style-hero_full .hero-overlay,
.home-shell .home-hero.style-hero_minimal .hero-overlay{
  background:
    linear-gradient(90deg,rgba(7,9,15,.70) 0%,rgba(7,9,15,.48) 38%,rgba(7,9,15,.17) 72%,rgba(7,9,15,.06) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(11,13,18,.22) 34%,rgba(11,13,18,.03) 78%);
}
[data-theme=light] .home-shell .home-hero.style-hero_full .hero-overlay,
[data-theme=light] .home-shell .home-hero.style-hero_minimal .hero-overlay{
  background:
    linear-gradient(90deg,rgba(244,245,248,.72) 0%,rgba(244,245,248,.48) 38%,rgba(244,245,248,.14) 72%,rgba(244,245,248,.03) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(244,245,248,.17) 34%,rgba(244,245,248,.02) 78%);
}

/* Glass showcase — backdrop remains bright while copy sits in a restrained
   frosted panel. Poster stays visible on desktop. */
.home-hero.style-hero_glass .hero-slide{min-height:min(74vh,680px)}
.home-hero.style-hero_glass .hero-overlay{
  background:
    linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.18) 34%,rgba(7,9,15,.03) 78%),
    linear-gradient(90deg,rgba(7,9,15,.38),rgba(7,9,15,.08) 62%,transparent);
}
.home-hero.style-hero_glass .hero-copy{
  padding:26px 28px;
  border-radius:26px;
  background:rgba(9,12,18,.42);
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 16px 42px rgba(0,0,0,.16);
  backdrop-filter:blur(15px) saturate(1.08);
  -webkit-backdrop-filter:blur(15px) saturate(1.08);
}
.home-hero.style-hero_glass .hero-poster-card{box-shadow:0 22px 54px rgba(0,0,0,.24)}
[data-theme=light] .home-hero.style-hero_glass .hero-copy{
  background:rgba(255,255,255,.55);
  border-color:rgba(0,0,0,.07);
  box-shadow:0 16px 38px rgba(20,24,33,.09);
}

/* Spotlight — centered editorial treatment with no poster. */
.home-hero.style-hero_spotlight .hero-slide{min-height:min(72vh,660px)}
.home-hero.style-hero_spotlight .hero-poster-wrap{display:none}
.home-hero.style-hero_spotlight .hero-layout{grid-template-columns:1fr}
.home-hero.style-hero_spotlight .hero-copy{max-width:820px;margin-inline:auto;text-align:center}
.home-hero.style-hero_spotlight .hero-topline,
.home-hero.style-hero_spotlight .hero-meta,
.home-hero.style-hero_spotlight .hero-tags,
.home-hero.style-hero_spotlight .hero-actions{justify-content:center}
.home-hero.style-hero_spotlight .hero-desc{margin-inline:auto}
.home-hero.style-hero_spotlight .hero-title{max-width:820px;margin-inline:auto;font-size:clamp(32px,5vw,62px)}
.home-hero.style-hero_spotlight .hero-overlay{
  background:
    radial-gradient(circle at 50% 46%,rgba(7,9,15,.05) 0%,rgba(7,9,15,.13) 38%,rgba(7,9,15,.48) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.14) 32%,rgba(7,9,15,.02) 75%);
}
[data-theme=light] .home-hero.style-hero_spotlight .hero-overlay{
  background:
    radial-gradient(circle at 50% 46%,rgba(244,245,248,.02) 0%,rgba(244,245,248,.10) 40%,rgba(244,245,248,.42) 100%),
    linear-gradient(0deg,var(--bg) 0%,rgba(244,245,248,.12) 32%,rgba(244,245,248,.01) 75%);
}

/* Mobile: all hero variants previously obscured too much of the artwork.
   Use a bottom readability fade instead of a near-black full-image veil. */
@media(max-width:760px){
  .home-shell .home-hero .hero-overlay,
  .home-shell .home-hero.style-hero_full .hero-overlay,
  .home-shell .home-hero.style-hero_minimal .hero-overlay,
  .home-shell .home-hero.style-hero_glass .hero-overlay,
  .home-shell .home-hero.style-hero_spotlight .hero-overlay{
    background:
      linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.66) 18%,rgba(7,9,15,.30) 48%,rgba(7,9,15,.05) 78%,rgba(7,9,15,0) 100%),
      linear-gradient(90deg,rgba(7,9,15,.24),rgba(7,9,15,.04) 70%,transparent);
  }
  [data-theme=light] .home-shell .home-hero .hero-overlay,
  [data-theme=light] .home-shell .home-hero.style-hero_full .hero-overlay,
  [data-theme=light] .home-shell .home-hero.style-hero_minimal .hero-overlay,
  [data-theme=light] .home-shell .home-hero.style-hero_glass .hero-overlay,
  [data-theme=light] .home-shell .home-hero.style-hero_spotlight .hero-overlay{
    background:
      linear-gradient(0deg,var(--bg) 0%,rgba(244,245,248,.60) 18%,rgba(244,245,248,.25) 48%,rgba(244,245,248,.04) 78%,rgba(244,245,248,0) 100%);
  }
  .home-hero.style-hero_glass .hero-copy{
    padding:18px;
    border-radius:20px;
    background:rgba(9,12,18,.30);
    box-shadow:0 10px 28px rgba(0,0,0,.10);
    backdrop-filter:blur(10px);
  }
  [data-theme=light] .home-hero.style-hero_glass .hero-copy{background:rgba(255,255,255,.42)}
  .home-hero.style-hero_spotlight .hero-copy{text-align:right}
  .home-hero.style-hero_spotlight .hero-topline,
  .home-hero.style-hero_spotlight .hero-meta,
  .home-hero.style-hero_spotlight .hero-actions{justify-content:flex-start}
  .home-hero.style-hero_spotlight .hero-title{margin-inline:0;font-size:30px}
}

/* =========================================================
   HOME INTERACTION V6 — controlled hero gestures & stable shelves
   ========================================================= */
.home-shell .hero-track{
  touch-action:pan-y pinch-zoom;
  overscroll-behavior-inline:contain;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:auto;
  cursor:grab;
}
.home-shell .hero-track.is-grabbing{
  cursor:grabbing;
  scroll-snap-type:none!important;
  user-select:none;
}
.home-shell .hero-track.is-grabbing *{pointer-events:none}
.home-shell .hero-slide{-webkit-user-drag:none;user-select:none;scroll-snap-stop:always}
.home-shell .hero-slide img{-webkit-user-drag:none;pointer-events:none}
.home-shell .hero-controls{
  position:relative;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:14px;
}
.home-shell .hero-controls .hero-dots{margin:0;position:static;transform:none}
.home-shell .hero-nav{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 82%,transparent);
  color:var(--text);font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(10px);
  transition:transform .18s,border-color .18s,background .18s;
}
.home-shell .hero-nav:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 52%,var(--line));background:color-mix(in srgb,var(--surface) 80%,var(--primary) 8%)}
.home-shell .hero-nav:active{transform:scale(.95)}

.home-shell .row-scroll{
  touch-action:pan-y pinch-zoom;
  -webkit-overflow-scrolling:auto;
  scroll-behavior:auto;
  scroll-snap-type:x proximity;
}
.home-shell .row-scroll>*{scroll-snap-stop:normal}
.home-shell .row-scroll.is-dragging{scroll-snap-type:none!important}

@media (max-width:760px){
  .home-shell .hero-track{cursor:auto}
  .home-shell .hero-nav{width:36px;height:36px;font-size:24px}
  .home-shell .hero-controls{margin-top:10px;gap:9px}
  .home-shell .row-scroll{scroll-snap-type:none}
}


/* =========================================================
   HOME INTERACTION v7 — card links + clean hero dots
   ========================================================= */
.home-shell .hero-nav{display:none!important}
.home-shell .hero-controls{pointer-events:none}
.home-shell .hero-controls .hero-dots{pointer-events:auto}
.home-shell .row-scroll{
  touch-action:pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling:touch;
}
.home-shell .row-scroll a,
.home-shell .row-scroll .card-link{cursor:pointer}
@media (pointer:coarse){
  .home-shell .row-scroll{cursor:auto!important}
}


/* =========================================================
   HEADER + SEARCH MODAL v8
   ========================================================= */
.header-search-trigger{
  position:relative;
  margin-right:auto;
  width:min(390px,32vw);
  min-width:220px;
  height:46px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  color:var(--muted);
  cursor:pointer;
  transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;
  text-align:right;
}
.header-search-trigger:hover{
  color:var(--text);
  border-color:color-mix(in srgb,var(--primary) 45%,var(--line));
  background:color-mix(in srgb,var(--surface) 90%,var(--primary) 4%);
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.header-search-trigger:active{transform:scale(.99)}
.header-search-trigger-icon{display:grid;place-items:center;color:var(--text)}
.header-search-trigger-icon .ic{width:19px;height:19px}
.header-search-trigger-text{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.header-search-trigger kbd{
  direction:ltr;
  min-width:26px;height:25px;padding:0 7px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface2);
  color:var(--muted);
  font:700 12px/1 sans-serif;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.05);
}

.search-modal[hidden]{display:none!important}
.search-modal{position:fixed;inset:0;z-index:180;display:grid;place-items:start center;padding:8vh 18px 24px}
.search-modal-backdrop{position:absolute;inset:0;background:rgba(4,6,11,.72);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);opacity:0;transition:opacity .18s}
.search-modal-panel{
  position:relative;
  width:min(760px,100%);
  max-height:min(80vh,760px);
  overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% -20%,color-mix(in srgb,var(--primary) 18%,transparent),transparent 36%),
    color-mix(in srgb,var(--surface) 96%,#000 4%);
  box-shadow:0 36px 100px rgba(0,0,0,.5);
  transform:translateY(-16px) scale(.985);
  opacity:0;
  transition:opacity .18s,transform .18s;
}
.search-modal.is-open .search-modal-backdrop{opacity:1}
.search-modal.is-open .search-modal-panel{transform:none;opacity:1}
.search-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 24px 14px}
.search-modal-head h2{font-size:24px;font-weight:900;line-height:1.4}
.search-modal-kicker{display:block;color:var(--accent);font-size:12px;font-weight:900;margin-bottom:4px}
.search-modal-close{background:var(--surface2);border:1px solid var(--line)}
.search-modal-form{
  display:flex;align-items:center;gap:10px;
  margin:0 24px;
  padding:7px 8px 7px 12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--bg);
  transition:border-color .2s,box-shadow .2s;
}
.search-modal-form:focus-within{border-color:color-mix(in srgb,var(--primary) 60%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}
.search-modal-input-icon{display:grid;place-items:center;color:var(--muted);padding-right:4px}
.search-modal-input-icon .ic{width:22px;height:22px}
.search-modal-form input{
  flex:1;min-width:0;height:46px;
  border:0;outline:0;background:transparent;color:var(--text);
  font-size:16px;
}
.search-modal-form input::placeholder{color:color-mix(in srgb,var(--muted) 82%,transparent)}
.search-modal-submit{height:42px;padding:0 20px}
.search-modal-hint{display:flex;justify-content:space-between;gap:12px;padding:9px 27px 12px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}
.search-modal-suggest{overflow:auto;overscroll-behavior:contain;padding:12px 14px 18px}
.search-modal-results{display:grid;gap:6px}
.search-modal-item{
  display:grid;grid-template-columns:52px minmax(0,1fr) 28px;gap:12px;align-items:center;
  padding:8px;border-radius:14px;transition:background .15s,transform .15s;
}
.search-modal-item:hover,.search-modal-item.active{background:var(--surface2);transform:translateX(-2px)}
.search-modal-item img{width:52px;height:76px;object-fit:cover;border-radius:10px;background:var(--surface2)}
.search-modal-item-copy{min-width:0}
.search-modal-item-copy b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-modal-item-copy small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.search-modal-go{font-size:24px;color:var(--muted)}
.search-modal-all{
  display:flex;align-items:center;justify-content:center;
  min-height:45px;margin-top:10px;padding:10px 14px;
  border:1px solid var(--line);border-radius:13px;background:var(--surface2);
  color:var(--text);font-size:13px;font-weight:800;
}
.search-modal-all:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));color:var(--primary)}
.search-modal-empty,.search-modal-loading{padding:36px 18px;text-align:center;color:var(--muted);font-size:14px}
body.search-open{overflow:hidden}

/* Normal mouse wheel always scrolls the document; shelf motion is drag/touch only. */
.home-shell .row-scroll{overscroll-behavior-inline:contain}

@media (max-width:1100px){
  .header-inner{gap:10px}
  .header-search-trigger{width:min(360px,40vw);min-width:180px}
}

@media (max-width:760px){
  .site-header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .header-inner{height:62px;gap:7px;padding-left:12px;padding-right:12px}
  .brand{min-width:0}
  .brand-logo{max-width:112px;height:34px;object-fit:contain}
  .brand-text{max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions{gap:2px}
  .header-actions .btn{padding:8px 11px}
  .header-search-trigger{
    order:3;margin-right:auto;
    width:42px;min-width:42px;height:42px;padding:0;
    justify-content:center;border-radius:12px;
  }
  .header-search-trigger-text,.header-search-trigger kbd{display:none}
  .header-search-trigger-icon .ic{width:20px;height:20px}
  .menu-toggle{width:42px;height:42px}
  .search-modal{padding:0;place-items:end stretch}
  .search-modal-panel{
    width:100%;max-height:88dvh;
    border-radius:24px 24px 0 0;
    border-left:0;border-right:0;border-bottom:0;
    transform:translateY(28px);
  }
  .search-modal-head{padding:20px 18px 12px}
  .search-modal-head h2{font-size:20px}
  .search-modal-form{margin:0 16px;padding:6px 7px}
  .search-modal-form input{height:44px;font-size:15px}
  .search-modal-submit{height:40px;padding:0 14px}
  .search-modal-hint{padding:8px 18px 10px}
  .search-modal-hint span:first-child{display:none}
  .search-modal-suggest{padding:10px 10px calc(18px + env(safe-area-inset-bottom))}
  .search-modal-item{grid-template-columns:48px minmax(0,1fr) 24px;padding:7px}
  .search-modal-item img{width:48px;height:70px}
}

@media (max-width:420px){
  .header-inner{gap:4px}
  .brand-logo{max-width:96px}
  .brand-text{max-width:92px;font-size:16px}
  .header-actions .btn{font-size:12px;padding:7px 9px}
  .header-search-trigger,.menu-toggle,.header-actions .icon-btn{width:39px;height:39px;min-width:39px}
  .search-modal-submit{padding:0 11px;font-size:12px}
}

/* =========================================================
   HOME V9 — deterministic hero, mobile hero styles, genres,
   schedule strip and richer card metadata
   ========================================================= */

/* Hero is moved only by our one-step controller. The page remains vertically
   scrollable on touch while horizontal swipes are interpreted by app.js. */
.home-shell .hero-track{
  overflow-x:hidden!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  touch-action:pan-y pinch-zoom!important;
  overscroll-behavior-x:none;
}
.home-shell .hero-slide{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
.home-shell .hero-controls{pointer-events:none;margin-top:12px}
.home-shell .hero-controls .hero-dots{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:8px}
.home-shell .hero-dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:999px;
  background:color-mix(in srgb,var(--muted) 50%,transparent);
  transition:width .22s,background .22s,transform .22s;
}
.home-shell .hero-dots button.active{
  width:30px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:none;
}

/* Card metadata: year is a compact badge and genres are soft pills instead of
   a long dotted text line. */
.home-shell .card-meta,.home-shell .home-land-meta{
  display:flex;align-items:center;gap:6px;flex-wrap:nowrap;
  margin-top:6px;overflow:hidden;white-space:nowrap;
}
.home-shell .card-meta span:not(:last-child)::after,
.home-shell .home-land-meta span:not(:last-child)::after{content:none!important;margin:0!important}
.home-shell .card-meta-year,.home-shell .card-meta-genre{
  display:inline-flex!important;align-items:center;min-width:0;
  height:24px;padding:0 8px;border-radius:8px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--surface2) 76%,transparent);
  color:var(--muted);font-size:10.5px;font-weight:700;line-height:1;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.home-shell .card-meta-year{
  flex:none;color:color-mix(in srgb,var(--accent) 82%,#fff 18%);
  border-color:color-mix(in srgb,var(--accent) 20%,var(--line));
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
  font-variant-numeric:tabular-nums;
}
.home-shell .card-meta-genre{max-width:90px}
.home-shell .card-meta-genre:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 28%,var(--line))}

/* Separate genres section */
.home-genres-section{margin-top:44px!important;margin-bottom:46px!important}
.home-genres-grid{display:grid;gap:12px}
.home-genre-card{
  position:relative;isolation:isolate;min-width:0;overflow:hidden;
  display:flex;align-items:center;gap:12px;min-height:82px;padding:14px 15px;
  border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,var(--primary) 3%),var(--surface));
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.home-genre-card::before{
  content:"";position:absolute;inset:auto -22px -42px auto;width:105px;height:105px;border-radius:50%;
  background:color-mix(in srgb,var(--primary) 20%,transparent);filter:blur(26px);z-index:-1;opacity:.7
}
.home-genre-card:nth-child(3n+2)::before{background:color-mix(in srgb,var(--accent) 22%,transparent)}
.home-genre-card:nth-child(3n+3)::before{background:color-mix(in srgb,var(--primary2) 20%,transparent)}
.home-genre-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 16px 32px rgba(0,0,0,.18)}
.home-genre-media{flex:0 0 54px;width:54px;height:54px;border-radius:13px;overflow:hidden;background:var(--surface2);border:1px solid var(--line)}
.home-genre-media img{width:100%;height:100%;object-fit:cover}
.home-genre-copy{min-width:0;flex:1;display:flex;flex-direction:column}
.home-genre-copy strong{font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-genre-copy small{font-size:10.5px;color:var(--muted);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-genre-count{flex:none;min-width:34px;height:28px;padding:0 9px;display:grid;place-items:center;border-radius:9px;background:var(--surface2);color:var(--muted);font-size:10px;font-weight:800}
.home-genres-section.style-genre_glow .home-genres-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-genres-section.style-genre_grid .home-genres-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-genres-section.style-genre_grid .home-genre-card{min-height:68px;border-radius:14px;padding:10px 12px}
.home-genres-section.style-genre_grid .home-genre-media{width:44px;height:44px;flex-basis:44px;border-radius:11px}
.home-genres-section.style-genre_chips .home-genres-grid{display:flex;flex-wrap:wrap;gap:9px}
.home-genres-section.style-genre_chips .home-genre-card{flex:0 0 auto;min-height:44px;padding:7px 11px;border-radius:999px;gap:8px}
.home-genres-section.style-genre_chips .home-genre-card::before,.home-genres-section.style-genre_chips .home-genre-media,.home-genres-section.style-genre_chips .home-genre-copy small{display:none}
.home-genres-section.style-genre_chips .home-genre-count{height:24px;min-width:28px;border-radius:999px;padding:0 7px}

/* Weekly schedule: sample-inspired horizontal strip with rectangular posters. */
.weekly-schedule.style-schedule_strip .schedule-shell{border-radius:20px}
.weekly-schedule.style-schedule_strip .schedule-panels{padding:16px}
.weekly-schedule.style-schedule_strip .schedule-grid{
  display:flex;grid-template-columns:none;gap:12px;overflow-x:auto;padding:2px 1px 6px;
  scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;
}
.weekly-schedule.style-schedule_strip .schedule-grid::-webkit-scrollbar{display:none}
.weekly-schedule.style-schedule_strip .schedule-card{
  flex:0 0 clamp(245px,22vw,310px);display:grid;grid-template-columns:76px minmax(0,1fr);
  align-items:center;gap:12px;padding:9px;border:1px solid var(--line);border-radius:16px;
  background:color-mix(in srgb,var(--surface2) 70%,transparent);scroll-snap-align:start;
  transition:transform .2s,border-color .2s,background .2s;
}
.weekly-schedule.style-schedule_strip .schedule-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 28%,var(--line));background:var(--surface2)}
.weekly-schedule.style-schedule_strip .schedule-card-media{
  width:76px;height:108px;aspect-ratio:auto;border-radius:12px;border:0;grid-row:1;
}
.weekly-schedule.style-schedule_strip .schedule-card-media img{object-fit:cover;object-position:center}
.weekly-schedule.style-schedule_strip .schedule-card-shade{background:linear-gradient(0deg,rgba(3,5,9,.42),transparent 52%)}
.weekly-schedule.style-schedule_strip .schedule-play{width:25px;height:25px;top:7px;right:7px}
.weekly-schedule.style-schedule_strip .schedule-episode{right:6px;bottom:6px;padding:3px 6px;font-size:9px;border-radius:7px}
.weekly-schedule.style-schedule_strip .schedule-card-info{padding:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-width:0}
.weekly-schedule.style-schedule_strip .schedule-card-info strong{font-size:13px;line-height:1.7;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.weekly-schedule.style-schedule_strip .schedule-card-info span{padding:4px 8px;border-radius:7px;background:var(--surface);border:1px solid var(--line)}

@media(max-width:1120px){
  .home-genres-section.style-genre_glow .home-genres-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-genres-section.style-genre_grid .home-genres-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* Three dedicated mobile hero presentations inspired by the supplied refs. */
@media(max-width:760px){
  .home-shell .home-hero{padding-top:8px;margin-bottom:30px}
  .home-shell .home-hero .hero-slide{min-height:570px!important;padding:66px 0 20px!important;background-position:center!important}
  .home-shell .home-hero .hero-content{padding:0 14px!important}
  .home-shell .home-hero .hero-layout{display:block!important;position:relative;min-height:480px}
  .home-shell .home-hero .hero-title{font-size:27px!important;line-height:1.45}
  .home-shell .home-hero .hero-desc{font-size:13px;line-height:1.9;-webkit-line-clamp:3}
  .home-shell .home-hero .hero-topline{margin-bottom:10px}
  .home-shell .home-hero .hero-meta{margin:9px 0 12px}
  .home-shell .home-hero .hero-actions{gap:8px}
  .home-shell .home-hero .hero-btn,.home-shell .home-hero .hero-btn-secondary{min-height:44px;border-radius:13px;font-size:12px}
  .home-shell .hero-controls{margin-top:9px}

  /* 1) Full artwork: strong backdrop, compact bottom copy. */
  .home-shell .home-hero.mobile-mobile_backdrop .hero-poster-wrap{display:none!important}
  .home-shell .home-hero.mobile-mobile_backdrop .hero-copy{
    position:absolute;right:0;left:0;bottom:10px;max-width:none;padding:18px 8px 6px;
    background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important
  }
  .home-shell .home-hero.mobile-mobile_backdrop .hero-overlay{
    background:linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.72) 17%,rgba(7,9,15,.32) 42%,rgba(7,9,15,.05) 72%,transparent 100%)!important
  }

  /* 2) Vertical poster card: a rounded cinema card similar to the supplied
        mobile references, with copy floating over its lower edge. */
  .home-shell .home-hero.mobile-mobile_poster .hero-slide{min-height:670px!important;background-size:cover!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-overlay{background:linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.35) 28%,rgba(7,9,15,.18) 60%,rgba(7,9,15,.22) 100%)!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-layout{min-height:585px;display:flex!important;justify-content:center;align-items:center}
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-wrap{display:flex!important;width:100%;justify-content:center;align-items:center}
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-card{width:min(82vw,350px);border-radius:27px;border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 56px rgba(0,0,0,.4);transform:none}
  .home-shell .home-hero.mobile-mobile_poster .hero-poster{aspect-ratio:2/3}
  .home-shell .home-hero.mobile-mobile_poster .hero-copy{
    position:absolute;z-index:4;right:max(7vw,20px);left:max(7vw,20px);bottom:18px;
    max-width:none;padding:70px 16px 15px;text-align:center;
    background:linear-gradient(0deg,rgba(5,7,11,.94),rgba(5,7,11,.64) 56%,transparent)!important;
    border:0!important;border-radius:0 0 25px 25px!important;box-shadow:none!important;backdrop-filter:none!important
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-topline,.home-shell .home-hero.mobile-mobile_poster .hero-meta,.home-shell .home-hero.mobile-mobile_poster .hero-actions{justify-content:center}
  .home-shell .home-hero.mobile-mobile_poster .hero-desc,.home-shell .home-hero.mobile-mobile_poster .hero-tags,.home-shell .home-hero.mobile-mobile_poster .hero-kicker{display:none}
  .home-shell .home-hero.mobile-mobile_poster .hero-title{font-size:25px!important;margin-bottom:7px}
  .home-shell .home-hero.mobile-mobile_poster .hero-btn-secondary{display:none}
  .home-shell .home-hero.mobile-mobile_poster .hero-btn{flex:0 1 230px;background:#fff;color:#111;box-shadow:none}
  .home-shell .home-hero.mobile-mobile_poster .hero-btn .ic{fill:#111}

  /* 3) Glass minimal: artwork stays visible and metadata sits in a light
        frosted panel at the bottom. */
  .home-shell .home-hero.mobile-mobile_glass .hero-poster-wrap{display:none!important}
  .home-shell .home-hero.mobile-mobile_glass .hero-copy{
    position:absolute;right:10px;left:10px;bottom:12px;max-width:none;padding:17px 16px;
    border-radius:20px!important;background:rgba(12,15,22,.55)!important;
    border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 14px 34px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(15px) saturate(1.12)!important;-webkit-backdrop-filter:blur(15px) saturate(1.12)!important
  }
  .home-shell .home-hero.mobile-mobile_glass .hero-overlay{background:linear-gradient(0deg,var(--bg) 0%,rgba(7,9,15,.24) 28%,rgba(7,9,15,.04) 78%,transparent)!important}
  .home-shell .home-hero.mobile-mobile_glass .hero-desc{display:none}
  .home-shell .home-hero.mobile-mobile_glass .hero-tags{display:none}
  .home-shell .home-hero.mobile-mobile_glass .hero-btn-secondary{display:none}

  .home-genres-section.style-genre_glow .home-genres-grid,.home-genres-section.style-genre_grid .home-genres-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .home-genre-card{min-height:70px;padding:10px;border-radius:15px;gap:9px}
  .home-genre-media{width:44px;height:44px;flex-basis:44px;border-radius:11px}
  .home-genre-copy strong{font-size:12px}.home-genre-copy small{font-size:9px}.home-genre-count{display:none}
  .weekly-schedule.style-schedule_strip .schedule-card{flex-basis:250px;grid-template-columns:70px minmax(0,1fr)}
  .weekly-schedule.style-schedule_strip .schedule-card-media{width:70px;height:100px}
}

@media(max-width:480px){
  .home-shell .home-hero .hero-slide{min-height:540px!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-slide{min-height:640px!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-layout{min-height:555px}
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-card{width:min(86vw,340px)}
  .home-shell .card-meta-year,.home-shell .card-meta-genre{height:22px;padding:0 7px;font-size:9.5px;border-radius:7px}
  .home-shell .card-meta-genre{max-width:76px}
}

/* =========================================================
   HOME V10 — mobile hero polish + full-image genre cards
   ========================================================= */

.hero-mobile-backdrop{display:none;pointer-events:none}

@media(max-width:760px){
  /* Keep the hero interaction layer simple and predictable on phones. */
  .home-shell .hero-track{
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:auto;
    user-select:none;
    -webkit-user-select:none;
  }
  .home-shell .hero-slide,.home-shell .hero-slide img{-webkit-user-drag:none;user-drag:none}

  /* Poster-card mobile style: the large backdrop behind the poster is now a
     deliberately blurred ambient layer, not a second sharp competing image. */
  .home-shell .home-hero.mobile-mobile_poster .hero-mobile-backdrop{
    display:block;
    position:absolute;
    inset:-24px;
    z-index:0;
    background-size:cover;
    background-position:center;
    filter:blur(20px) saturate(.82) brightness(.7);
    transform:scale(1.09);
    opacity:.86;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-overlay{
    z-index:1;
    background:
      linear-gradient(0deg,var(--bg) 0%,rgba(8,10,16,.20) 34%,rgba(8,10,16,.08) 72%,rgba(8,10,16,.18) 100%)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-content{z-index:2}

  /* The information area no longer uses the heavy almost-black shadow from v9.
     A softer translucent fade keeps text readable while the artwork remains visible. */
  .home-shell .home-hero.mobile-mobile_poster .hero-copy{
    padding:58px 15px 14px!important;
    background:
      linear-gradient(0deg,rgba(7,9,14,.74) 0%,rgba(7,9,14,.44) 48%,rgba(7,9,14,.10) 82%,transparent 100%)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-card{
    box-shadow:0 18px 46px rgba(0,0,0,.28)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-title{
    text-shadow:0 2px 12px rgba(0,0,0,.34);
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-meta>span:not(.imdb-chip){
    background:rgba(15,18,25,.48)!important;
    border-color:rgba(255,255,255,.10)!important;
    backdrop-filter:blur(8px);
  }

  /* Dots stay visually detached from the artwork and are easier to tap. */
  .home-shell .hero-dots{gap:9px!important;padding:4px 3px}
  .home-shell .hero-dots button{width:10px!important;height:10px!important;min-width:10px;border:0!important}
  .home-shell .hero-dots button.active{width:30px!important;background:linear-gradient(90deg,var(--primary),var(--accent))!important}
}

/* Genre cards use their image as the actual visual surface rather than a tiny
   thumbnail. Text sits over a controlled gradient, with a fallback gradient
   when no genre image is available. */
.home-genres-section:not(.style-genre_chips) .home-genre-card{
  position:relative;
  isolation:isolate;
  min-height:128px;
  aspect-ratio:16/7.4;
  padding:0;
  overflow:hidden;
  border-radius:20px;
  align-items:flex-end;
  gap:0;
  background:
    radial-gradient(circle at 75% 20%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 42%),
    var(--surface);
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.home-genres-section:not(.style-genre_chips) .home-genre-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(0deg,rgba(5,7,12,.88) 0%,rgba(5,7,12,.46) 40%,rgba(5,7,12,.06) 78%,rgba(5,7,12,.02) 100%);
  opacity:1;
  pointer-events:none;
}
.home-genres-section:not(.style-genre_chips) .home-genre-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border:1px solid rgba(255,255,255,.07);
  border-radius:inherit;
  pointer-events:none;
}
.home-genres-section:not(.style-genre_chips) .home-genre-media{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;height:100%;
  max-width:none;
  flex:none;
  border:0;
  border-radius:0;
  background:transparent;
}
.home-genres-section:not(.style-genre_chips) .home-genre-media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.001);
  transition:transform .42s ease,filter .42s ease;
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy{
  position:relative;
  z-index:2;
  width:100%;
  flex:none;
  padding:16px 17px;
  min-width:0;
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy strong{
  display:block;
  font-size:17px;
  line-height:1.55;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy small{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.66);
  font-size:11px;
  text-align:right;
}
.home-genres-section:not(.style-genre_chips) .home-genre-count{
  position:absolute;
  z-index:3;
  top:12px;
  left:12px;
  height:27px;
  min-width:30px;
  padding:0 8px;
  color:#fff;
  background:rgba(8,10,15,.52);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.home-genres-section:not(.style-genre_chips) .home-genre-card:hover .home-genre-media img{
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.03);
}
.home-genres-section.style-genre_glow .home-genres-grid{gap:14px}
.home-genres-section.style-genre_grid .home-genre-card{min-height:118px;padding:0;border-radius:18px}
.home-genres-section.style-genre_grid .home-genre-media{width:100%;height:100%;border-radius:0}

@media(max-width:760px){
  .home-genres-section:not(.style-genre_chips) .home-genres-grid{gap:10px!important}
  .home-genres-section:not(.style-genre_chips) .home-genre-card{
    min-height:112px!important;
    aspect-ratio:1.62/1;
    border-radius:17px!important;
    padding:0!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-media{
    width:100%!important;height:100%!important;flex:none!important;border-radius:0!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-copy{padding:13px 13px!important}
  .home-genres-section:not(.style-genre_chips) .home-genre-copy strong{font-size:14px!important}
  .home-genres-section:not(.style-genre_chips) .home-genre-copy small{font-size:9.5px!important}
  .home-genres-section:not(.style-genre_chips) .home-genre-count{display:grid!important;top:9px;left:9px;height:23px;min-width:26px;font-size:9px}
}

/* =========================================================
   HOME V11 — stable hero rail, mobile readability, genres grid
   ========================================================= */

/* Force the slider rail to one predictable coordinate system. The document is
   RTL, but horizontal scrolling math is much safer when the rail itself is LTR.
   Each slide switches its content back to RTL. */
.home-shell .hero-track{
  direction:ltr!important;
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:none!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
}
.home-shell .hero-slide{
  direction:rtl;
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;
}

/* Mobile hero: horizontal gestures are handled by app.js while vertical page
   scrolling remains native. Stronger local contrast sits only behind the copy,
   not over the entire artwork. */
@media(max-width:760px){
  .home-shell .hero-track{
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:auto!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-copy{
    padding:64px 15px 15px!important;
    background:
      linear-gradient(0deg,
        rgba(5,7,11,.90) 0%,
        rgba(5,7,11,.68) 42%,
        rgba(5,7,11,.28) 70%,
        rgba(5,7,11,.06) 90%,
        transparent 100%)!important;
    backdrop-filter:blur(1.5px)!important;
    -webkit-backdrop-filter:blur(1.5px)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-title{
    color:#fff!important;
    text-shadow:0 3px 18px rgba(0,0,0,.95),0 1px 3px rgba(0,0,0,.95)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-meta{
    filter:drop-shadow(0 3px 10px rgba(0,0,0,.68));
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-meta>span:not(.imdb-chip){
    color:#fff!important;
    background:rgba(8,10,15,.62)!important;
    border-color:rgba(255,255,255,.16)!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-btn{
    box-shadow:0 10px 28px rgba(0,0,0,.30)!important;
  }
}

/* Rebuild the genre layout with explicit cell sizing. This removes the old
   aspect-ratio/min-height conflict that could make neighbouring cards overlap. */
.home-genres-section:not(.style-genre_chips) .home-genres-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:14px!important;
  width:100%;
  align-items:stretch;
}
.home-genres-section:not(.style-genre_chips) .home-genre-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:138px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  box-sizing:border-box;
  border-radius:20px!important;
  padding:0!important;
  overflow:hidden!important;
}
.home-genres-section:not(.style-genre_chips) .home-genre-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:none!important;
  border:0!important;
  border-radius:0!important;
}
.home-genres-section:not(.style-genre_chips) .home-genre-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy{
  position:absolute!important;
  right:0;left:0;bottom:0;
  z-index:3!important;
  width:100%!important;
  padding:35px 16px 14px!important;
  background:linear-gradient(0deg,rgba(5,7,12,.86),rgba(5,7,12,.44) 58%,transparent)!important;
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy strong{
  font-size:17px!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.72);
}
.home-genres-section:not(.style-genre_chips) .home-genre-copy small{
  color:rgba(255,255,255,.68)!important;
}
.home-genres-section:not(.style-genre_chips) .home-genre-count{
  top:11px!important;
  left:11px!important;
  z-index:4!important;
}

@media(max-width:760px){
  .home-genres-section:not(.style-genre_chips) .home-genres-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-card{
    height:118px!important;
    border-radius:17px!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-copy{
    padding:30px 12px 11px!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-copy strong{
    font-size:14px!important;
  }
  .home-genres-section:not(.style-genre_chips) .home-genre-copy small{
    display:none!important;
  }
}

@media(max-width:420px){
  .home-genres-section:not(.style-genre_chips) .home-genre-card{height:108px!important}
  .home-genres-section:not(.style-genre_chips) .home-genre-copy strong{font-size:13px!important}
}

/* =========================================================
   HOME V12 — RTL hero direction, compact mobile hero, flush top,
   two-up schedule strip
   ========================================================= */

/* The hero should start immediately below the sticky header. Older home styles
   left a decorative top padding which read as an accidental empty band. */
.home-shell .home-hero{
  padding-top:0!important;
  margin-top:0!important;
}

/* v11 keeps an LTR scroll rail for reliable coordinates. Gesture semantics,
   however, follow RTL: pulling to the right advances to the next item. */
.home-shell .hero-track{
  margin-top:0!important;
}

/* The vertical-poster mobile hero was intentionally cinematic but too tall for
   first-screen usability. Keep the same composition at a smaller footprint. */
@media(max-width:760px){
  .home-shell .home-hero{
    padding-top:0!important;
    margin-top:0!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-slide{
    min-height:565px!important;
    padding-top:18px!important;
    padding-bottom:12px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-layout{
    min-height:500px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-card{
    width:min(74vw,300px)!important;
    max-height:468px!important;
    border-radius:23px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-poster{
    width:100%!important;
    height:auto!important;
    aspect-ratio:2/3!important;
    object-fit:cover!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-copy{
    padding:52px 13px 12px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-title{
    font-size:22px!important;
    margin-bottom:5px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-meta{
    margin:6px 0 8px!important;
    gap:6px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-meta>span,
  .home-shell .home-hero.mobile-mobile_poster .imdb-chip{
    font-size:11px!important;
    padding:4px 9px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster .hero-btn{
    min-height:41px!important;
    flex-basis:205px!important;
    padding:9px 14px!important;
  }
  .home-shell .home-hero.mobile-mobile_poster + .hero-controls,
  .home-shell .home-hero.mobile-mobile_poster .hero-controls{
    margin-top:2px!important;
  }
}

@media(max-width:420px){
  .home-shell .home-hero.mobile-mobile_poster .hero-slide{min-height:535px!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-layout{min-height:472px!important}
  .home-shell .home-hero.mobile-mobile_poster .hero-poster-card{width:min(76vw,284px)!important;max-height:440px!important}
}

/* Poster-strip schedule: episode information belongs beside the poster instead
   of covering artwork. Desktop remains a compact horizontal shelf. */
.weekly-schedule.style-schedule_strip .schedule-card{
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:10px!important;
  padding:8px!important;
  align-items:center!important;
}
.weekly-schedule.style-schedule_strip .schedule-card-media{
  width:72px!important;
  height:102px!important;
  min-width:72px!important;
  border-radius:11px!important;
}
.weekly-schedule.style-schedule_strip .schedule-card-info{
  min-width:0!important;
  padding:0!important;
  gap:7px!important;
  align-items:flex-start!important;
}
.weekly-schedule.style-schedule_strip .schedule-card-info strong{
  width:100%;
  font-size:12.5px!important;
  line-height:1.65!important;
  -webkit-line-clamp:2!important;
}
.weekly-schedule.style-schedule_strip .schedule-card-meta{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.weekly-schedule.style-schedule_strip .schedule-card-meta span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 7px!important;
  border-radius:8px;
  border:1px solid var(--line);
  font-size:9.5px!important;
  font-weight:800;
  line-height:1;
}
.weekly-schedule.style-schedule_strip .schedule-year{
  color:var(--muted)!important;
  background:var(--surface)!important;
}
.weekly-schedule.style-schedule_strip .schedule-episode-inline{
  color:#fff!important;
  background:linear-gradient(135deg,var(--primary),var(--primary2))!important;
  border-color:transparent!important;
}
.weekly-schedule.style-schedule_strip .schedule-play{
  width:24px!important;height:24px!important;top:6px!important;right:6px!important;
}

/* Exactly two usable schedule cards are visible on a phone. Further cards
   remain horizontally swipeable without partial/overlapping cards. */
@media(max-width:760px){
  .weekly-schedule.style-schedule_strip .schedule-panels{
    padding:10px!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:calc((100% - 8px)/2)!important;
    grid-template-columns:none!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding-bottom:2px!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-grid::-webkit-scrollbar{display:none!important}
  .weekly-schedule.style-schedule_strip .schedule-card{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:7px!important;
    padding:7px!important;
    border-radius:12px!important;
    scroll-snap-align:start;
  }
  .weekly-schedule.style-schedule_strip .schedule-card-media{
    width:58px!important;
    min-width:58px!important;
    height:83px!important;
    border-radius:9px!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-card-info{gap:5px!important}
  .weekly-schedule.style-schedule_strip .schedule-card-info strong{
    font-size:10.5px!important;
    line-height:1.55!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-card-meta{gap:4px!important}
  .weekly-schedule.style-schedule_strip .schedule-card-meta span{
    min-height:21px!important;
    padding:3px 5px!important;
    font-size:8.5px!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-play{
    width:20px!important;height:20px!important;top:5px!important;right:5px!important;
  }
  .weekly-schedule.style-schedule_strip .schedule-play .ic{width:10px!important;height:10px!important}
}


/* =========================================================
   HOME V16 — deterministic visual direction for hero
   Next enters right -> left; previous enters left -> right.
   ========================================================= */
.home-shell .hero-slider{
  overflow:hidden!important;
}
.home-shell .hero-track{
  overflow:visible!important;
  transform:translate3d(0,0,0);
  transition:transform .46s cubic-bezier(.22,.72,.24,1)!important;
  will-change:transform;
  scroll-behavior:auto!important;
}
.home-shell .hero-track.hero-no-transition{
  transition:none!important;
}


/* =========================================================
   HOME V17 — video-matched hero direction
   Logical next stays +1, but the RTL rail places the next
   logical slide on the LEFT. Therefore it enters left -> right.
   ========================================================= */
.home-shell .hero-track{
  direction:rtl!important;
}
.home-shell .hero-slide{
  direction:rtl!important;
}


/* =========================================================
   HOME V18 — clean mobile hero dots area
   The transformed hero rail can visually bleed behind the controls row.
   Make the dots area an opaque layer so no backdrop/gradient strip is visible.
   ========================================================= */
@media(max-width:760px){
  .home-shell .home-hero{
    background:var(--bg)!important;
    isolation:isolate;
  }
  .home-shell .home-hero .hero-controls{
    position:relative!important;
    z-index:20!important;
    width:100%!important;
    max-width:none!important;
    margin-top:0!important;
    padding:12px 20px 10px!important;
    background:var(--bg)!important;
    box-shadow:none!important;
    border:0!important;
  }
  .home-shell .home-hero .hero-dots{
    position:relative!important;
    z-index:2!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
  }
}

/* =========================================================
   HOME/CATALOG V19 — genres directory + professional filters
   ========================================================= */

/* ---------- Genres directory ---------- */
.genres-archive-page{padding-top:44px!important;max-width:1500px}
.genres-archive-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.genres-archive-head .archive-title{margin:3px 0 5px;font-size:clamp(28px,3vw,40px)}
.genres-archive-head p{margin:0;color:var(--muted);font-size:14px}
.genres-archive-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:12px;font-weight:900}
.genres-total{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--muted);white-space:nowrap}
.genres-total .ic{width:19px;height:19px}.genres-total strong{font-size:19px;color:var(--text)}.genres-total span{font-size:12px}
.genres-directory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.genres-directory-card{position:relative;isolation:isolate;height:156px;min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);border-radius:20px;background:radial-gradient(circle at 76% 20%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 38%),radial-gradient(circle at 10% 100%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 45%),var(--surface);box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);transition:transform .22s,border-color .22s,box-shadow .22s}
.genres-directory-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 42%,var(--line));box-shadow:0 16px 34px rgba(0,0,0,.18)}
.genres-directory-media{position:absolute;inset:0;z-index:-3}.genres-directory-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s}.genres-directory-card:hover .genres-directory-media img{transform:scale(1.045)}
.genres-directory-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(8,10,16,.12),rgba(8,10,16,.28) 38%,rgba(8,10,16,.88) 100%)}
.genres-directory-card:not(.has-image) .genres-directory-shade{background:linear-gradient(135deg,rgba(15,18,26,.12),rgba(62,24,48,.22) 56%,rgba(9,12,18,.25))}
.genres-directory-count{position:absolute;top:12px;left:12px;display:grid;place-items:center;min-width:32px;height:30px;padding:0 9px;border-radius:10px;border:1px solid rgba(255,255,255,.10);background:rgba(8,10,16,.56);backdrop-filter:blur(10px);color:#fff;font-size:11px;font-weight:900}
.genres-directory-copy{position:absolute;right:16px;bottom:14px;left:46px;display:flex;flex-direction:column;gap:1px;min-width:0}
.genres-directory-copy strong{font-size:18px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 14px rgba(0,0,0,.58)}
.genres-directory-copy small{font-size:10px;color:rgba(255,255,255,.66);direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.genres-directory-arrow{position:absolute;left:14px;bottom:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.76);opacity:0;transform:translateX(4px);transition:.2s}.genres-directory-card:hover .genres-directory-arrow{opacity:1;transform:none}
.genres-directory-arrow .ic{width:15px;height:15px}

/* ---------- Catalog header ---------- */
.catalog-page{max-width:1500px;padding-top:34px}
.catalog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.catalog-head-copy{min-width:0}.catalog-head .archive-title{margin:3px 0 4px;font-size:clamp(25px,2.4vw,34px)}
.catalog-kicker{font-size:11px;font-weight:900;color:var(--accent)}
.catalog-subtitle{margin:0;color:var(--muted);font-size:13px}
.catalog-reset-top{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:12px;font-weight:800;color:var(--muted)}
.catalog-reset-top:hover{color:var(--text);border-color:color-mix(in srgb,var(--primary) 36%,var(--line))}.catalog-reset-top .ic{width:15px;height:15px}

/* ---------- Catalog filter shell ---------- */
.catalog-filters{position:relative;margin-bottom:28px;padding:14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--primary) 2%),var(--surface));box-shadow:0 16px 40px rgba(0,0,0,.08)}
.catalog-filter-search-row{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.catalog-search-box{position:relative;flex:1;display:flex;align-items:center;min-width:0;height:50px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.catalog-search-box:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}
.catalog-search-icon{display:grid;place-items:center;width:44px;color:var(--muted)}.catalog-search-icon .ic{width:19px;height:19px}
.catalog-search-box input{flex:1;min-width:0;height:100%;border:0!important;background:transparent!important;box-shadow:none!important;padding:0 4px!important;font-size:13px}
.catalog-search-submit{height:38px;margin-left:6px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900;cursor:pointer}
.catalog-filter-summary{flex:0 0 auto;min-width:126px;height:50px;padding:0 13px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface2) 78%,transparent)}
.catalog-filter-summary span{font-size:10px;color:var(--muted)}.catalog-filter-summary b{font-size:12px;color:var(--text)}
.catalog-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.catalog-filter-control{position:relative;min-width:0}
.catalog-filter-control>label{display:block;margin:0 3px 5px;color:var(--muted);font-size:10.5px;font-weight:800}
.catalog-filter-toggle{width:100%;height:43px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);cursor:pointer;text-align:right;font:inherit;transition:border-color .18s,background .18s,box-shadow .18s}
.catalog-filter-toggle span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800}.catalog-filter-toggle .ic{flex:none;width:15px;height:15px;color:var(--muted);transition:transform .18s}
.catalog-filter-toggle:hover,.catalog-filter-control.is-open .catalog-filter-toggle{border-color:color-mix(in srgb,var(--primary) 44%,var(--line));background:color-mix(in srgb,var(--surface2) 93%,var(--primary) 4%)}
.catalog-filter-toggle.has-value{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));color:color-mix(in srgb,var(--text) 92%,var(--primary) 8%)}
.catalog-filter-control.is-open .catalog-filter-toggle .ic{transform:rotate(180deg)}
.catalog-filter-menu{position:absolute;z-index:90;top:calc(100% + 7px);right:0;width:max(100%,260px);max-width:340px;max-height:390px;padding:8px;border:1px solid color-mix(in srgb,var(--line) 90%,#fff 3%);border-radius:15px;background:color-mix(in srgb,var(--surface) 98%,#000 2%);box-shadow:0 24px 60px rgba(0,0,0,.42);overflow:hidden}
.catalog-filter-menu.compact{width:max(100%,220px)}
.catalog-option-search{display:flex;align-items:center;gap:7px;height:38px;margin-bottom:7px;padding:0 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface2)}
.catalog-option-search span{display:grid;place-items:center;color:var(--muted)}.catalog-option-search .ic{width:14px;height:14px}.catalog-option-search input{height:100%;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:11px}
.catalog-option-list{max-height:315px;overflow:auto;overscroll-behavior:contain;padding-left:2px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 40%,transparent) transparent}
.catalog-option{width:100%;min-height:40px;padding:7px 9px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:10px;background:transparent;color:var(--text);cursor:pointer;text-align:right;font:inherit;transition:background .15s,color .15s}
.catalog-option:hover{background:var(--surface2)}.catalog-option.active{background:color-mix(in srgb,var(--primary) 12%,var(--surface2));color:color-mix(in srgb,var(--text) 90%,var(--primary) 10%)}
.catalog-option>span{min-width:0;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}.catalog-option small{font-size:9px;color:var(--muted);direction:ltr;white-space:nowrap}.catalog-option em{font-style:normal;font-size:9px;color:var(--muted);padding:2px 6px;border-radius:7px;background:var(--surface2)}.catalog-option>.ic{width:14px;height:14px;color:var(--primary)}
.catalog-advanced-row{display:flex;align-items:center;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.catalog-year-range{display:flex;align-items:center;gap:6px}.catalog-advanced-label{margin-left:3px;color:var(--muted);font-size:10px;font-weight:800;white-space:nowrap}
.catalog-year-range label{height:38px;display:flex;align-items:center;gap:4px;padding:0 7px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--muted);font-size:10px}.catalog-year-range input{width:82px;height:34px;padding:0 4px!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center;direction:ltr;font-size:11px}
.catalog-switches{display:flex;align-items:center;gap:7px;flex:1;flex-wrap:wrap}
.catalog-switch{height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);cursor:pointer;user-select:none}.catalog-switch input{position:absolute;opacity:0;pointer-events:none}.catalog-switch>span{position:relative;width:28px;height:16px;border-radius:999px;background:color-mix(in srgb,var(--muted) 28%,transparent);transition:.18s}.catalog-switch>span::after{content:"";position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:#fff;transition:.18s}.catalog-switch input:checked+span{background:var(--primary)}.catalog-switch input:checked+span::after{transform:translateX(-12px)}.catalog-switch b{font-size:10.5px;font-weight:800;color:var(--muted)}.catalog-switch input:checked~b{color:var(--text)}
.catalog-apply{height:38px;padding:0 17px;border:0;border-radius:10px;background:var(--text);color:var(--bg);font-weight:900;cursor:pointer;white-space:nowrap}.catalog-apply:hover{filter:brightness(.92)}
.catalog-results-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 15px}.catalog-results-head>div{display:flex;align-items:baseline;gap:8px}.catalog-results-head strong{font-size:17px}.catalog-results-head span,.catalog-results-head a{font-size:10.5px;color:var(--muted)}.catalog-results-head a:hover{color:var(--primary)}
.catalog-empty{display:flex!important;flex-direction:column;gap:6px;padding:48px 20px}.catalog-empty b{font-size:17px}.catalog-empty span{font-size:12px;color:var(--muted)}

/* Catalog cards: no quality badge on artwork; metadata matches homepage. */
.catalog-page .card-quality{display:none!important}
.catalog-page .card-meta{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin-top:6px;overflow:hidden;white-space:nowrap}
.catalog-page .card-meta span:not(:last-child)::after{content:none!important;margin:0!important}
.catalog-page .card-meta-year,.catalog-page .card-meta-genre{display:inline-flex!important;align-items:center;min-width:0;height:24px;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface2) 76%,transparent);color:var(--muted);font-size:10.5px;font-weight:700;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catalog-page .card-meta-year{flex:none;color:color-mix(in srgb,var(--accent) 82%,#fff 18%);border-color:color-mix(in srgb,var(--accent) 20%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-variant-numeric:tabular-nums}
.catalog-page .card-meta-genre{max-width:92px}
.catalog-page .card-title{margin-top:9px}

@media(max-width:1180px){.genres-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.genres-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-advanced-row{align-items:flex-start;flex-wrap:wrap}.catalog-switches{order:3;flex-basis:100%}}
@media(max-width:760px){
  .genres-archive-page{padding:25px 12px 44px!important}.genres-archive-head{align-items:center;margin-bottom:16px;padding-bottom:14px}.genres-archive-head p{font-size:11px;line-height:1.8}.genres-total{min-height:44px;padding:0 11px;border-radius:13px}.genres-total strong{font-size:15px}.genres-total span{display:none}.genres-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.genres-directory-card{height:112px;border-radius:16px}.genres-directory-copy{right:12px;bottom:11px;left:12px}.genres-directory-copy strong{font-size:14px}.genres-directory-copy small{font-size:8.5px}.genres-directory-count{top:9px;left:9px;height:25px;min-width:27px;padding:0 6px;border-radius:8px;font-size:9px}.genres-directory-arrow{display:none}
  .catalog-page{padding:22px 12px 42px}.catalog-head{align-items:flex-start;margin-bottom:14px}.catalog-subtitle{font-size:11px;line-height:1.8}.catalog-reset-top{padding:8px 9px;font-size:10px}.catalog-filters{padding:10px;border-radius:16px;margin-bottom:22px}.catalog-filter-search-row{gap:7px;margin-bottom:10px}.catalog-search-box{height:45px;border-radius:12px}.catalog-search-submit{height:34px;padding:0 12px;font-size:11px}.catalog-filter-summary{display:none}.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.catalog-filter-control>label{font-size:9.5px}.catalog-filter-toggle{height:40px;padding:0 9px;border-radius:10px}.catalog-filter-toggle span{font-size:10.5px}
  .catalog-filter-control.is-open::before{content:"";position:fixed;inset:0;z-index:98;background:rgba(4,6,10,.68);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
  .catalog-filter-menu,.catalog-filter-menu.compact{position:fixed;z-index:100;top:auto;right:12px;left:12px;bottom:12px;width:auto;max-width:none;max-height:min(68vh,540px);padding:10px;border-radius:20px}.catalog-option-list{max-height:calc(min(68vh,540px) - 64px)}.catalog-option{min-height:44px}.catalog-option>span{font-size:12.5px}
  .catalog-advanced-row{gap:8px;margin-top:10px;padding-top:10px}.catalog-year-range{width:100%;display:grid;grid-template-columns:auto 1fr 1fr}.catalog-year-range label{width:100%;justify-content:space-between}.catalog-year-range input{width:100%;min-width:0}.catalog-switches{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.catalog-switch{justify-content:center;padding:0 5px}.catalog-switch b{font-size:9px}.catalog-apply{width:100%;height:41px}.catalog-results-head{margin-bottom:12px}.catalog-results-head strong{font-size:15px}.catalog-page .card-meta-year,.catalog-page .card-meta-genre{height:22px;padding:0 6px;font-size:9px;border-radius:7px}.catalog-page .card-meta-genre{max-width:70px}
}
@media(max-width:420px){.genres-directory-card{height:104px}.genres-archive-kicker{font-size:10px}.catalog-filter-grid{gap:6px}.catalog-switch>span{display:none}.catalog-switch{height:35px}}


/* =========================================================
   FOOTER V20 — professional configurable footer
   ========================================================= */
.site-footer-pro{
  position:relative;overflow:hidden;
  margin-top:64px;padding:0;
  border-top:1px solid color-mix(in srgb,var(--primary) 14%,var(--line));
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--surface) 88%,#05070b 12%),color-mix(in srgb,var(--bg) 93%,#000 7%));
}
.site-footer-pro .footer-ambient{
  position:absolute;inset:0;pointer-events:none;opacity:.72;
  background:
    radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 31%),
    radial-gradient(circle at 12% 100%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 28%);
}
.footer-shell{position:relative;z-index:1;padding-top:44px;padding-bottom:18px}
.footer-main{
  display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(170px,.7fr) minmax(220px,.92fr) minmax(190px,.75fr);
  gap:36px;align-items:start;
}
.footer-brand-col{min-width:0}
.footer-logo{display:inline-flex;align-items:center;max-width:190px;min-height:40px;margin-bottom:15px}
.footer-logo img{display:block;max-width:100%;max-height:56px;object-fit:contain}
.footer-brand{font-size:25px;margin:0}
.footer-description{max-width:480px;color:var(--muted);font-size:13.5px;line-height:2;margin:0 0 16px}
.footer-contact{display:grid;gap:7px;margin-top:13px}
.footer-contact>a,.footer-contact>div{
  width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;
  color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:12.5px
}
.footer-contact .ic{width:16px;height:16px;color:var(--primary);flex:none}
.footer-contact span{overflow:hidden;text-overflow:ellipsis}
.footer-socials{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.footer-socials a{
  width:39px;height:39px;display:grid;place-items:center;border-radius:12px;
  color:#aeb7c6;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065);
  transition:transform .18s,border-color .18s,color .18s,background .18s
}
.footer-socials a:hover{transform:translateY(-2px);color:#fff;background:color-mix(in srgb,var(--primary) 12%,var(--surface2));border-color:color-mix(in srgb,var(--primary) 38%,var(--line))}
.footer-socials .ic{width:18px;height:18px}
.footer-block{min-width:0}
.footer-block-title{height:32px;display:flex;align-items:center;gap:9px;margin-bottom:13px;color:#f4f6fb}
.footer-block-title>span{
  width:30px;height:30px;display:grid;place-items:center;border-radius:9px;
  color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)
}
.footer-block-title .ic{width:16px;height:16px}.footer-block-title b{font-size:13.5px}
.footer-links-pro{display:grid;gap:5px}
.footer-links-pro a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  min-height:36px;padding:6px 9px;border-radius:9px;color:var(--muted);font-size:12.5px;
  transition:color .16s,background .16s,transform .16s
}
.footer-links-pro a .ic{width:14px;height:14px;opacity:.45}
.footer-links-pro a:hover{color:#fff;background:rgba(255,255,255,.035);transform:translateX(-2px)}
.footer-app-block p{color:var(--muted);font-size:12px;line-height:1.85;margin:0 0 12px}
.footer-app-actions{display:grid;gap:8px}
.footer-app-btn{
  min-height:51px;display:flex;align-items:center;gap:10px;padding:8px 11px;
  border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.035);
  transition:transform .18s,border-color .18s,background .18s
}
.footer-app-btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:rgba(255,255,255,.055)}
.footer-app-btn.primary{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 17%,var(--surface2)),rgba(255,255,255,.035))}
.footer-app-btn>.ic{width:21px;height:21px;flex:none;color:var(--primary)}
.footer-app-btn span{display:grid;line-height:1.25}.footer-app-btn small{font-size:9.5px;color:var(--muted)}.footer-app-btn b{font-size:12px;margin-top:2px}
.footer-trust-grid{display:flex;gap:8px;flex-wrap:wrap}
.footer-trust-card{
  width:82px;min-height:94px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:7px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.035);
  transition:transform .18s,border-color .18s,background .18s
}
.footer-trust-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 28%,var(--line));background:rgba(255,255,255,.05)}
.footer-trust-card img{width:64px;height:64px;object-fit:contain;border-radius:8px;background:#fff;padding:3px}
.footer-trust-card span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:9.5px;color:var(--muted)}
.footer-trust-html{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.footer-trust-html img{max-width:86px;max-height:86px;object-fit:contain}
.footer-bottom-pro{
  margin-top:35px;padding-top:16px;border-top:1px solid rgba(255,255,255,.065);
  display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:11.5px
}
.footer-back-top{display:flex;align-items:center;gap:5px;color:#99a3b3}
.footer-back-top .ic{width:14px;height:14px;transform:rotate(180deg)}
.footer-back-top:hover{color:var(--primary)}

@media(max-width:1180px){
  .footer-main{grid-template-columns:minmax(260px,1.2fr) repeat(2,minmax(190px,.8fr))}
  .footer-trust-block{grid-column:2/4}
}
@media(max-width:820px){
  .site-footer-pro{margin-top:48px}
  .footer-shell{padding-top:32px}
  .footer-main{grid-template-columns:1fr 1fr;gap:26px 22px}
  .footer-brand-col{grid-column:1/-1}
  .footer-trust-block{grid-column:auto}
}
@media(max-width:560px){
  .site-footer-pro{margin-top:38px}
  .footer-shell{padding-top:27px;padding-left:16px;padding-right:16px}
  .footer-main{grid-template-columns:1fr;gap:25px}
  .footer-brand-col{grid-column:auto}
  .footer-description{font-size:12.5px}
  .footer-socials a{width:41px;height:41px}
  .footer-app-actions{grid-template-columns:1fr 1fr}
  .footer-app-btn:first-child:last-child{grid-column:1/-1}
  .footer-app-btn{min-height:50px;padding:7px 9px}
  .footer-trust-grid{gap:7px}.footer-trust-card{width:78px}
  .footer-bottom-pro{margin-top:27px;flex-direction:column;text-align:center}
}
@media(max-width:380px){
  .footer-app-actions{grid-template-columns:1fr}
}

/* =========================================================
   FOOTER V21 — cinematic glass redesign
   Keeps all V20 settings/markup, changes presentation only.
   ========================================================= */
.site-footer-pro{
  --footer-glass:color-mix(in srgb,var(--surface) 78%,#05070b 22%);
  --footer-glass-2:color-mix(in srgb,var(--surface2) 75%,#07090f 25%);
  position:relative;
  overflow:hidden;
  margin-top:72px;
  padding:0;
  border-top:0;
  background:
    radial-gradient(circle at 86% -12%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 34%),
    radial-gradient(circle at 8% 112%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 30%),
    linear-gradient(180deg,#0b0d13 0%,#07090e 52%,#05070b 100%);
}
.site-footer-pro::before{
  content:"";
  position:absolute;top:0;right:0;left:0;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--primary) 62%,transparent),transparent);
  opacity:.85;
}
.site-footer-pro .footer-ambient{
  position:absolute;inset:0;pointer-events:none;opacity:1;
  background:
    radial-gradient(circle at 76% 18%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 23%),
    radial-gradient(circle at 25% 70%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 26%);
}
.site-footer-pro .footer-ambient::after{
  content:"";position:absolute;inset:0;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);
}
.footer-shell{position:relative;z-index:2;padding-top:34px;padding-bottom:18px}
.footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.82fr) minmax(0,.95fr);
  gap:16px;
  align-items:stretch;
}
.footer-brand-col,.footer-block{
  position:relative;
  min-width:0;
  padding:24px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:24px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015) 48%,transparent),
    linear-gradient(180deg,var(--footer-glass),color-mix(in srgb,var(--bg) 92%,#000 8%));
  box-shadow:0 18px 55px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}
.footer-brand-col::before,.footer-block::before{
  content:"";position:absolute;top:0;right:22px;left:22px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.17),transparent);
}
.footer-brand-col::after{
  content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-105px;top:-130px;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--primary) 16%,transparent),transparent 68%);
}
.footer-brand-col{display:flex;flex-direction:column;min-height:300px}
.footer-logo{position:relative;z-index:1;display:inline-flex;align-items:center;max-width:220px;min-height:48px;margin-bottom:18px}
.footer-logo img{display:block;max-width:100%;max-height:64px;object-fit:contain}
.footer-brand{font-size:28px;margin:0}
.footer-description{position:relative;z-index:1;max-width:540px;color:color-mix(in srgb,var(--text) 66%,var(--muted));font-size:13.5px;line-height:2.15;margin:0 0 18px}
.footer-contact{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:auto;padding-top:4px}
.footer-contact>a,.footer-contact>div{
  width:auto;max-width:100%;display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 9px;
  border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025);
  color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:11.5px
}
.footer-contact .ic{width:15px;height:15px;color:var(--primary);flex:none}
.footer-socials{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.footer-socials a{
  position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;
  color:#c4ccd8;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .18s,border-color .18s,color .18s,background .18s,box-shadow .18s
}
.footer-socials a::after{
  content:"";position:absolute;inset:7px;border-radius:10px;background:color-mix(in srgb,var(--primary) 16%,transparent);opacity:0;transform:scale(.7);transition:.18s
}
.footer-socials a:hover{transform:translateY(-3px);color:#fff;border-color:color-mix(in srgb,var(--primary) 38%,var(--line));box-shadow:0 10px 25px color-mix(in srgb,var(--primary) 9%,transparent)}
.footer-socials a:hover::after{opacity:1;transform:scale(1)}
.footer-socials .ic{position:relative;z-index:1;width:19px;height:19px}

.footer-block{display:flex;flex-direction:column}
.footer-block-title{position:relative;z-index:1;min-height:38px;display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#f5f7fb}
.footer-block-title>span{
  width:36px;height:36px;display:grid;place-items:center;border-radius:12px;
  color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 82%,#ff4776 18%),color-mix(in srgb,var(--accent) 68%,var(--primary) 32%));
  box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 16%,transparent)
}
.footer-block-title .ic{width:17px;height:17px}.footer-block-title b{font-size:14px;letter-spacing:-.2px}

.footer-nav-block{background:
  radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary) 7%,transparent),transparent 40%),
  linear-gradient(180deg,var(--footer-glass),color-mix(in srgb,var(--bg) 92%,#000 8%));
}
.footer-links-pro{display:grid;gap:7px}
.footer-links-pro a{
  display:flex;align-items:center;justify-content:space-between;gap:9px;
  min-height:40px;padding:7px 10px;border-radius:12px;
  border:1px solid transparent;
  color:color-mix(in srgb,var(--text) 64%,var(--muted));font-size:12px;
  background:rgba(255,255,255,.012);
  transition:color .16s,background .16s,transform .16s,border-color .16s
}
.footer-links-pro a .ic{width:14px;height:14px;opacity:.4;transition:.16s}
.footer-links-pro a:hover{color:#fff;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.055);transform:translateX(-3px)}
.footer-links-pro a:hover .ic{opacity:1;color:var(--primary)}

.footer-app-block{
  background:
    radial-gradient(circle at 85% 8%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 34%),
    linear-gradient(150deg,color-mix(in srgb,var(--primary) 5%,var(--footer-glass)),color-mix(in srgb,var(--bg) 92%,#000 8%));
}
.footer-app-block::after{
  content:"";position:absolute;left:-70px;bottom:-90px;width:210px;height:210px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 8%,transparent),transparent 70%);
}
.footer-app-block p{position:relative;z-index:1;color:var(--muted);font-size:12px;line-height:1.9;margin:0 0 14px}
.footer-app-actions{position:relative;z-index:1;display:grid;gap:9px;margin-top:auto}
.footer-app-btn{
  min-height:58px;display:flex;align-items:center;gap:11px;padding:9px 12px;
  border:1px solid rgba(255,255,255,.08);border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.022));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:transform .18s,border-color .18s,background .18s,box-shadow .18s
}
.footer-app-btn:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 36%,var(--line));background:rgba(255,255,255,.06);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.footer-app-btn.primary{
  border-color:color-mix(in srgb,var(--primary) 28%,var(--line));
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 18%,var(--surface2)),rgba(255,255,255,.035));
}
.footer-app-btn>.ic{width:23px;height:23px;flex:none;color:var(--primary)}
.footer-app-btn span{display:grid;line-height:1.2}.footer-app-btn small{font-size:9px;color:var(--muted)}.footer-app-btn b{font-size:12.5px;margin-top:3px}

.footer-trust-block{grid-column:1/-1;display:block;padding:18px 20px}
.footer-trust-block .footer-block-title{margin-bottom:12px}
.footer-trust-grid{display:flex;gap:10px;flex-wrap:wrap}
.footer-trust-card{
  width:96px;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:8px;border:1px solid rgba(255,255,255,.075);border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .18s,border-color .18s,background .18s,box-shadow .18s
}
.footer-trust-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:rgba(255,255,255,.055);box-shadow:0 10px 26px rgba(0,0,0,.16)}
.footer-trust-card img{width:70px;height:70px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}
.footer-trust-card span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:9.5px;color:var(--muted)}
.footer-trust-html{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.footer-trust-html img{max-width:92px;max-height:92px;object-fit:contain;border-radius:10px;background:#fff;padding:4px}

.footer-bottom-pro{
  margin-top:16px;padding:12px 14px;
  border:1px solid rgba(255,255,255,.06);border-radius:15px;
  background:rgba(255,255,255,.025);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  color:color-mix(in srgb,var(--text) 48%,var(--muted));font-size:11px
}
.footer-back-top{
  display:flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border-radius:10px;
  color:#a9b2bf;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.045)
}
.footer-back-top .ic{width:14px;height:14px;transform:rotate(180deg)}
.footer-back-top:hover{color:#fff;border-color:color-mix(in srgb,var(--primary) 25%,var(--line));background:rgba(255,255,255,.045)}

@media(max-width:1180px){
  .footer-main{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .footer-app-block{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.6fr) minmax(300px,1fr);column-gap:26px;align-content:start}
  .footer-app-block .footer-block-title,.footer-app-block p{grid-column:1}.footer-app-actions{grid-column:2;grid-row:1/4;margin-top:0}
  .footer-trust-block{grid-column:1/-1}
}
@media(max-width:820px){
  .site-footer-pro{margin-top:52px}
  .footer-shell{padding-top:26px}
  .footer-main{grid-template-columns:1fr 1fr;gap:14px}
  .footer-brand-col{grid-column:1/-1;min-height:auto}
  .footer-app-block{grid-column:1/-1;display:block}
  .footer-app-actions{margin-top:0}
  .footer-trust-block{grid-column:1/-1}
}
@media(max-width:560px){
  .site-footer-pro{margin-top:40px}
  .footer-shell{padding-top:20px;padding-left:12px;padding-right:12px}
  .footer-main{grid-template-columns:1fr;gap:11px}
  .footer-brand-col,.footer-block{padding:17px;border-radius:19px}
  .footer-brand-col{grid-column:auto}
  .footer-logo{max-width:170px;min-height:38px;margin-bottom:12px}.footer-logo img{max-height:48px}.footer-brand{font-size:23px}
  .footer-description{font-size:12px;line-height:1.95;margin-bottom:13px}
  .footer-contact{gap:6px}.footer-contact>a,.footer-contact>div{min-height:32px;font-size:10.5px;padding:5px 8px}
  .footer-socials{gap:7px;margin-top:14px}.footer-socials a{width:42px;height:42px;border-radius:13px}
  .footer-block-title{margin-bottom:11px}.footer-block-title>span{width:33px;height:33px;border-radius:11px}.footer-block-title b{font-size:13px}
  .footer-links-pro{grid-template-columns:1fr 1fr;gap:6px}.footer-links-pro a{min-height:38px;padding:6px 8px;font-size:10.5px}
  .footer-app-actions{grid-template-columns:1fr 1fr;gap:7px}.footer-app-btn{min-height:53px;padding:8px 9px;border-radius:13px}.footer-app-btn:first-child:last-child{grid-column:1/-1}
  .footer-trust-block{padding:15px}.footer-trust-grid{gap:7px}.footer-trust-card{width:78px;min-height:90px;border-radius:13px}.footer-trust-card img{width:58px;height:58px}.footer-trust-card span{font-size:8.5px}
  .footer-bottom-pro{margin-top:11px;padding:10px 11px;flex-direction:column;text-align:center;border-radius:13px}.footer-back-top{min-height:32px}
}
@media(max-width:380px){
  .footer-links-pro{grid-template-columns:1fr}
  .footer-app-actions{grid-template-columns:1fr}
}

/* =========================================================
   HOME V22 — single featured title / cinematic spotlight
   ========================================================= */
.home-spotlight-section{margin-top:30px;margin-bottom:42px}
.home-spotlight-mobile-head{display:none}
.home-spotlight-desktop{
  position:relative;display:block;min-height:390px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);border-radius:27px;
  background:#0b0f15;box-shadow:0 24px 70px rgba(0,0,0,.25);
  isolation:isolate
}
.home-spotlight-bg{
  position:absolute;inset:0;z-index:-3;background-size:cover;background-position:center;
  transform:scale(1.025);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s;
}
.home-spotlight-shade{
  position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(90deg,rgba(7,10,15,.82) 0%,rgba(7,10,15,.45) 35%,rgba(7,10,15,.66) 66%,rgba(7,10,15,.92) 100%),
    linear-gradient(0deg,rgba(5,8,12,.78),transparent 52%);
}
.home-spotlight-desktop::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 84% 44%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 32%)
}
.home-spotlight-desktop:hover .home-spotlight-bg{transform:scale(1.045)}
.home-spotlight-inner{
  min-height:390px;display:grid;grid-template-columns:110px minmax(0,1fr) 205px;
  grid-template-areas:"score copy poster";align-items:center;gap:34px;padding:34px 38px
}
.home-spotlight-poster{grid-area:poster;justify-self:end;width:190px;aspect-ratio:2/3;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(0,0,0,.38);background:#111722}
.home-spotlight-poster img{width:100%;height:100%;object-fit:cover;display:block}
.home-spotlight-copy{grid-area:copy;min-width:0;max-width:820px;color:#fff}
.home-spotlight-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:9px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(5,8,12,.28);backdrop-filter:blur(9px);font-size:11px;font-weight:800;color:#d8dee8}
.home-spotlight-copy h2{margin:0;font-size:clamp(29px,3vw,46px);line-height:1.25;font-weight:950;letter-spacing:-.02em;text-wrap:balance}
.home-spotlight-en{margin-top:5px;color:#aeb8c6;font-size:14px;font-weight:600;direction:ltr;text-align:right}
.home-spotlight-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.home-spotlight-tags span{padding:7px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(8,11,17,.34);backdrop-filter:blur(8px);font-size:11px;color:#e4e9f0}
.home-spotlight-story{max-width:760px;margin:17px 0 0;color:#e1e6ed;font-size:14px;line-height:2;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.home-spotlight-cta{display:inline-flex;align-items:center;gap:9px;margin-top:20px;min-height:48px;padding:0 20px;border-radius:13px;background:var(--primary);color:#fff;font-size:13px;font-weight:900;box-shadow:0 10px 28px color-mix(in srgb,var(--primary) 24%,transparent);transition:transform .2s,filter .2s}
.home-spotlight-cta .ic{width:18px;height:18px}.home-spotlight-desktop:hover .home-spotlight-cta{transform:translateY(-2px);filter:brightness(1.06)}
.home-spotlight-score{grid-area:score;display:grid;place-items:center;justify-self:center;width:92px;height:92px;border-radius:50%;padding:6px;background:conic-gradient(var(--primary) 0 78%,rgba(255,255,255,.16) 78% 100%);box-shadow:0 12px 35px rgba(0,0,0,.24)}
.home-spotlight-score>div{width:100%;height:100%;display:grid;place-items:center;align-content:center;border-radius:50%;background:rgba(10,14,20,.88);border:1px solid rgba(255,255,255,.1)}
.home-spotlight-score strong{font:900 22px/1.1 sans-serif;color:#fff}.home-spotlight-score small{margin-top:3px;color:#d4dae3;font:800 10px/1 sans-serif;text-transform:uppercase}
.home-spotlight-mobile{display:none}

@media(max-width:980px) and (min-width:761px){
  .home-spotlight-inner{grid-template-columns:88px minmax(0,1fr) 165px;gap:22px;padding:28px}
  .home-spotlight-poster{width:160px}.home-spotlight-score{width:78px;height:78px}.home-spotlight-copy h2{font-size:30px}.home-spotlight-story{font-size:13px;line-height:1.9}
}

@media(max-width:760px){
  .home-spotlight-section{margin-top:24px;margin-bottom:32px}
  .home-spotlight-desktop{display:none}
  .home-spotlight-mobile-head{display:block;margin-bottom:12px;padding:0 2px}
  .home-spotlight-mobile-head h2{margin:0;color:var(--text);font-size:19px;line-height:1.55;font-weight:950}
  .home-spotlight-mobile-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.8}
  .home-spotlight-mobile{display:block}
  .home-spotlight-mobile-media{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#0d121a;box-shadow:0 14px 36px rgba(0,0,0,.2)}
  .home-spotlight-mobile-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,12,.22),transparent 42%);pointer-events:none}
  .home-spotlight-mobile-media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
  .home-spotlight-mobile:active .home-spotlight-mobile-media img{transform:scale(1.015)}
  .home-spotlight-mobile-play{position:absolute;z-index:2;left:14px;bottom:14px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(5,8,12,.78);border:1px solid rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}
  .home-spotlight-mobile-play .ic{width:18px;height:18px}
  .home-spotlight-mobile-badge{position:absolute;z-index:2;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(5,8,12,.76);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(8px)}
}

@media(max-width:430px){
  .home-spotlight-section{margin-top:20px;margin-bottom:28px}
  .home-spotlight-mobile-head h2{font-size:17px}
  .home-spotlight-mobile-media{border-radius:15px}
  .home-spotlight-mobile-play{left:11px;bottom:11px;width:40px;height:40px}
  .home-spotlight-mobile-badge{right:11px;bottom:11px}
}


/* =========================================================
   HOME V23 — optional ambient color halo
   Controlled by Settings > Appearance.
   ========================================================= */
.home-shell.home-ambient-off::before{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* =========================================================
   TITLE / PLAYER / COMMENTS V24
   ========================================================= */
.single-title[class*="title-layout-"]{--title-hero-min:560px}
.single-title[class*="title-layout-"] .title-backdrop{height:min(82vh,720px);filter:saturate(.92)}
.single-title[class*="title-layout-"] .backdrop-fade{background:linear-gradient(90deg,rgba(8,10,15,.88) 0%,rgba(8,10,15,.62) 46%,rgba(8,10,15,.3) 100%),linear-gradient(0deg,var(--bg) 2%,transparent 54%)}
.single-title[class*="title-layout-"] .title-head{min-height:var(--title-hero-min);align-items:center;padding-top:70px;padding-bottom:54px}
.single-title[class*="title-layout-"] .title-info{padding:22px 0}
.single-title[class*="title-layout-"] .title-poster img{border:1px solid rgba(255,255,255,.1)}
.single-title[class*="title-layout-"] .title-story{line-height:2}
.single-title[class*="title-layout-"] .title-actions .btn{min-height:45px}

/* 1: cinematic */
.title-layout-cinematic .title-poster{flex-basis:280px}
.title-layout-cinematic .title-h1{font-size:clamp(28px,3.6vw,48px)}
.title-layout-cinematic .title-info{max-width:860px}

/* 2: poster focus */
.title-layout-poster-focus .title-head{align-items:flex-start;gap:48px}
.title-layout-poster-focus .title-poster{flex-basis:330px}
.title-layout-poster-focus .title-poster img{border-radius:28px;box-shadow:0 34px 80px rgba(0,0,0,.62)}
.title-layout-poster-focus .title-info{margin-top:70px;background:rgba(13,16,23,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);padding:30px;border-radius:26px}

/* 3: backdrop focus */
.title-layout-backdrop-focus{--title-hero-min:650px}
.title-layout-backdrop-focus .title-backdrop{height:min(92vh,820px);background-position:center 18%}
.title-layout-backdrop-focus .title-head{align-items:flex-end;padding-bottom:80px}
.title-layout-backdrop-focus .title-poster{flex-basis:190px}
.title-layout-backdrop-focus .title-info{max-width:900px}
.title-layout-backdrop-focus .title-h1{font-size:clamp(34px,4.2vw,58px)}

/* 4: glass */
.title-layout-glass .title-head{margin-top:38px;min-height:520px;background:linear-gradient(120deg,rgba(20,24,34,.72),rgba(12,15,21,.48));border:1px solid rgba(255,255,255,.1);border-radius:34px;padding:34px;backdrop-filter:blur(18px);box-shadow:0 40px 90px rgba(0,0,0,.32)}
.title-layout-glass .title-poster{flex-basis:250px}
.title-layout-glass .title-backdrop{height:690px;filter:blur(1px) saturate(.8)}

/* 5: compact */
.title-layout-compact{--title-hero-min:430px}
.title-layout-compact .title-backdrop{height:520px}
.title-layout-compact .title-head{gap:24px;padding-top:38px;padding-bottom:30px}
.title-layout-compact .title-poster{flex-basis:200px}
.title-layout-compact .title-h1{font-size:clamp(24px,3vw,36px)}
.title-layout-compact .title-story{max-width:900px;margin-bottom:14px}

/* player */
.cine-player{position:relative;border-radius:22px;background:#05070b;border-color:rgba(255,255,255,.08);box-shadow:0 28px 70px rgba(0,0,0,.38)}
.cine-player.is-theater{position:relative;width:min(1500px,calc(100vw - 28px));max-width:none;margin-right:50%;transform:translateX(50%);z-index:40}
.cine-stage{background:radial-gradient(circle at 50% 50%,#111827,#020307 70%)}
.cine-stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 20%,transparent 65%,rgba(0,0,0,.34))}
.cine-controls{padding:44px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.94));opacity:.1;transition:opacity .2s}
.cine-stage:hover .cine-controls,.cine-stage:focus-within .cine-controls,.cine-stage:not(.is-playing) .cine-controls{opacity:1}
.cine-progress{height:6px}
.cine-btn,.cine-tool,.cine-quality-current,.cine-speed{border:1px solid rgba(255,255,255,.09);background:rgba(18,22,30,.76);backdrop-filter:blur(10px)}
.cine-tool.active{background:var(--primary);color:#fff}
.cine-quality-menu{min-width:150px;max-height:260px;overflow:auto;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.cine-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#0b0f16;border-top:1px solid rgba(255,255,255,.05)}

/* watch page */
.watch-page{position:relative;min-height:78vh;padding:34px 0 70px;overflow:hidden}
.watch-backdrop{position:absolute;inset:0 0 auto;height:70vh;background-size:cover;background-position:center;filter:blur(26px) saturate(.7);opacity:.22;transform:scale(1.08);mask-image:linear-gradient(#000,transparent)}
.watch-shell{position:relative;z-index:2;max-width:1320px}
.watch-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}
.watch-head h1{font-size:clamp(22px,3vw,34px);margin:5px 0}.watch-head p,.watch-back{color:var(--muted)}
.watch-secure{padding:7px 12px;border-radius:999px;border:1px solid rgba(34,197,94,.25);background:rgba(34,197,94,.08);color:#86efac;font-size:12px}
.watch-foot-note{text-align:center;color:var(--muted);font-size:12px;margin-top:12px}
.cine-player-standalone .cine-stage{aspect-ratio:16/9;max-height:78vh}

/* watch party */
.watch-party-panel{margin-top:14px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--primary) 8%),var(--surface));border-radius:18px;padding:16px}
.watch-party-head,.party-room-meta,.party-join-row,.party-chat-form{display:flex;align-items:center;gap:10px}.watch-party-head{justify-content:space-between;margin-bottom:14px}.watch-party-head b{display:block;font-size:16px}.watch-party-head small{color:var(--muted)}
.watch-party-start{display:grid;grid-template-columns:auto 1fr;gap:12px}.party-join-row input,.party-chat-form input{flex:1;min-width:0}
.party-room-meta{justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.party-room-code{color:var(--accent)}.party-online{color:var(--muted);font-size:12px}
.party-chat-list{height:260px;overflow:auto;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:10px;overscroll-behavior:contain}
.party-msg{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;margin-bottom:5px;border-radius:10px;background:rgba(255,255,255,.035)}.party-msg b{white-space:nowrap;color:var(--accent);font-size:12px}.party-msg span{word-break:break-word}.party-msg.system{justify-content:center;color:var(--muted);font-size:12px;background:transparent}

/* comment captcha */
.comment-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comment-captcha{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.comment-captcha-image{width:205px;height:64px;padding:0;border:0;border-radius:12px;overflow:hidden;background:var(--surface2);cursor:pointer}.comment-captcha-image img{width:100%;height:100%;display:block}.comment-captcha input[name="captcha_code"]{width:150px;text-align:center;letter-spacing:.2em;font-weight:900;font-size:18px}

@media(max-width:760px){
  .single-title[class*="title-layout-"]{--title-hero-min:auto}
  .single-title[class*="title-layout-"] .title-backdrop{height:540px;opacity:.78;background-position:center top}
  .single-title[class*="title-layout-"] .backdrop-fade{background:linear-gradient(0deg,var(--bg) 0%,rgba(11,13,18,.3) 48%,rgba(11,13,18,.62))}
  .single-title[class*="title-layout-"] .title-head{padding:26px 16px 24px;gap:16px;min-height:0}
  .single-title[class*="title-layout-"] .title-poster{width:170px;flex-basis:auto}
  .single-title[class*="title-layout-"] .title-info{margin:0;padding:16px;width:100%;background:linear-gradient(145deg,rgba(17,20,28,.9),rgba(12,14,20,.72));border:1px solid rgba(255,255,255,.08);border-radius:22px;backdrop-filter:blur(14px)}
  .single-title[class*="title-layout-"] .title-h1{font-size:22px}.single-title[class*="title-layout-"] .title-story{text-align:right;font-size:14px;max-height:120px;overflow:hidden}.single-title[class*="title-layout-"] .title-actions{justify-content:center}
  .title-layout-backdrop-focus .title-poster{width:130px}.title-layout-backdrop-focus .title-head{padding-bottom:20px}.title-layout-glass .title-head{margin-top:12px;border-radius:0;background:transparent;border:0;box-shadow:none}
  .title-layout-compact .title-poster{width:145px}
  .cine-controls{padding:36px 8px 8px}.cine-controls-row{gap:5px}.cine-controls-main,.cine-tools{gap:4px}.cine-btn,.cine-tool,.cine-quality-current{min-width:32px;height:32px;padding:0 7px;font-size:11px}.cine-volume{display:none}.cine-time{font-size:10px}.cine-speed{width:55px;height:32px;padding:0 4px}.cine-pip{display:none}
  .cine-player.is-theater{width:100vw;margin-right:50%;border-radius:0}
  .watch-page{padding-top:14px}.watch-head{align-items:flex-start}.watch-secure{display:none}.cine-player-standalone{margin-inline:-12px;border-radius:14px}.cine-player-standalone .cine-stage{aspect-ratio:16/9}
  .watch-party-start{grid-template-columns:1fr}.party-join-row{display:grid;grid-template-columns:1fr auto}.party-chat-list{height:220px}
  .comment-guest-grid{grid-template-columns:1fr}.comment-captcha-image{width:170px;height:54px}.comment-captcha input[name="captcha_code"]{width:120px}
}

/* =========================================================
   TITLE PAGE V25 — complete details/download/player polish
   ========================================================= */
.title-section-nav-wrap{position:relative;z-index:12;border-block:1px solid color-mix(in srgb,var(--line) 82%,transparent);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.title-section-nav{min-height:58px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none}
.title-section-nav::-webkit-scrollbar{display:none}
.title-section-nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:12px;color:var(--muted);font-size:13px;font-weight:800;transition:.2s}
.title-section-nav a:hover{background:var(--surface2);color:var(--text)}
.title-section-nav .ic{width:16px;height:16px}
.title-actions-v25 .btn-watch{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border:0;box-shadow:0 12px 34px color-mix(in srgb,var(--primary) 30%,transparent)}
.title-actions-v25 .btn-party{background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%);border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));color:var(--text)}
.title-actions-v25 .btn-party:hover{border-color:var(--primary);transform:translateY(-1px)}
.section-eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:950;letter-spacing:.12em;margin-bottom:5px;text-transform:uppercase}
.section-heading-pro{margin-bottom:16px}.section-heading-pro .box-title{margin-bottom:0}

/* information area layouts */
.single-title.info-layout-editorial .title-body{grid-template-areas:"side" "main";grid-template-columns:1fr;gap:18px;max-width:1320px}
.single-title.info-layout-editorial .title-main{grid-area:main}
.single-title.info-layout-editorial .title-side{grid-area:side;position:static}
.single-title.info-layout-editorial .specs-pro{padding:18px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--primary) 8%),var(--surface));box-shadow:0 18px 50px rgba(0,0,0,.12)}
.single-title.info-layout-editorial .specs-pro dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.single-title.info-layout-editorial .specs-pro dl>dt{display:none}
.single-title.info-layout-editorial .specs-pro dl>dd{margin:0;min-height:52px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.single-title.info-layout-editorial .title-about{padding:28px 30px}
.single-title.info-layout-editorial .title-about .prose{max-width:1050px;margin:auto;font-size:16px;line-height:2.15}
.single-title.info-layout-split .title-body{grid-template-columns:minmax(0,1fr) 330px}
.single-title.info-layout-cards .title-body{grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.single-title.info-layout-cards .title-main>.box,.single-title.info-layout-cards .specs-pro{box-shadow:0 18px 55px rgba(0,0,0,.14);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 95%,white 1%),var(--surface))}
.single-title.info-layout-compact .title-body{grid-template-columns:minmax(0,1fr) 285px;gap:14px}.single-title.info-layout-compact .box{padding:17px;border-radius:14px}.single-title.info-layout-compact .prose{font-size:14px;line-height:1.95}
.specs-pro{overflow:hidden}.specs-pro dl{margin:0}.specs-pro dt{font-size:12px}.specs-pro dd{line-height:1.8;word-break:break-word}

/* Download center */
.download-box{overflow:hidden;padding:0!important;background:transparent!important;border:0!important}
.download-section-head{padding:22px 24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 94%,var(--primary) 6%),var(--surface));margin-bottom:14px}
.download-section-head .box-title{margin:0 0 5px}.download-section-sub{margin:0;color:var(--muted)}
.external-provider-pill{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;color:#fcd34d;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.22);font-size:12px;font-weight:900}
.download-season{border:1px solid var(--line)!important;border-radius:20px!important;background:color-mix(in srgb,var(--surface) 96%,transparent)!important;overflow:hidden;margin-bottom:14px!important}
.download-season-title{min-height:60px;padding:13px 17px!important;background:linear-gradient(90deg,color-mix(in srgb,var(--surface2) 96%,var(--primary) 4%),var(--surface2))!important}
.season-heading{display:flex;align-items:center;gap:10px}.season-heading em{font-style:normal;font-size:10px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
.download-episodes{padding:12px!important;display:grid;gap:10px}
.download-episode{display:block!important;padding:0!important;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:16px!important;background:rgba(255,255,255,.018)!important;overflow:hidden}
.episode-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent)}
.episode-identity{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.episode-name{font-size:14px}.episode-code{direction:ltr;font-size:10px;font-weight:900;padding:3px 8px;border-radius:8px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}
.episode-info{width:100%;color:var(--muted);font-size:11px;font-weight:500}.episode-free{font-size:10px;font-weight:900;padding:4px 9px;border-radius:999px;background:rgba(34,197,94,.12);color:#86efac}
.download-version-block{padding:14px 15px!important;margin:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.download-version-block+.download-version-block{border-top:1px dashed color-mix(in srgb,var(--line) 82%,transparent)!important}
.download-version-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px;margin-bottom:10px!important;padding:0!important;background:none!important;border:0!important}
.episode-version{font-size:12px;font-weight:900;color:var(--text);padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--surface2));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line))}.version-hint{font-size:10px;color:var(--muted)}
.episode-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:stretch!important}
.download-quality-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;gap:8px!important}
.download-quality-card{min-height:52px!important;padding:9px 11px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:7px!important;border-radius:12px!important;border:1px solid var(--line)!important;background:var(--surface2)!important;transition:.18s ease!important}
.download-quality-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 55%,var(--line))!important;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.download-quality-main{display:flex;align-items:center;gap:7px}.download-quality-main strong{font-size:12px}.download-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.05)}.download-icon .ic{width:14px;height:14px}.download-file-size{direction:ltr;color:var(--muted);font-size:10px;white-space:nowrap}
.download-watch-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:250px}
.download-play-btn,.download-party-btn{min-height:52px;padding:8px 12px;border-radius:12px;border:0;display:flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;transition:.18s}
.download-play-btn{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff}.download-party-btn{background:color-mix(in srgb,var(--surface2) 86%,var(--primary) 14%);border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));color:var(--text)}
.download-play-btn:hover,.download-party-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.2)}.download-play-btn .ic,.download-party-btn .ic{width:16px;height:16px}
.download-movie-version{margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}

/* selectable download visual styles */
.download-layout-studio .download-season,.download-layout-studio .download-movie-version{box-shadow:0 18px 45px rgba(0,0,0,.14)}
.download-layout-studio .download-quality-card:nth-child(3n+1){background:linear-gradient(145deg,var(--surface2),color-mix(in srgb,var(--surface2) 90%,#38bdf8 10%))!important}
.download-layout-glass .download-season,.download-layout-glass .download-movie-version{background:linear-gradient(145deg,rgba(31,36,48,.72),rgba(15,18,25,.6))!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:rgba(255,255,255,.09)!important}.download-layout-glass .download-quality-card{background:rgba(255,255,255,.045)!important}
.download-layout-compact .download-section-head{padding:16px 18px}.download-layout-compact .download-season-title{min-height:48px}.download-layout-compact .download-episodes{padding:8px!important}.download-layout-compact .download-version-block{padding:10px!important}.download-layout-compact .download-quality-card{min-height:42px!important;padding:6px 9px!important}.download-layout-compact .download-play-btn,.download-layout-compact .download-party-btn{min-height:42px}.download-layout-compact .episode-top{padding:10px 12px}
.download-layout-classic .download-watch-actions{grid-template-columns:1fr 1fr}.download-layout-classic .download-season,.download-layout-classic .download-movie-version{border-radius:12px!important}.download-layout-classic .download-quality-card{border-radius:9px!important}

/* Player v25 */
.cc-player-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}.cc-player-head p{color:var(--muted);margin:3px 0 0}.cc-now-playing{max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 11px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);font-size:11px;color:var(--muted)}
.cine-player{overflow:visible}.cine-stage{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:16/9}.cine-video{display:block;width:100%;height:100%;object-fit:contain;background:#000}.cine-empty,.cine-fallback{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:26px;background:radial-gradient(circle at 50% 42%,rgba(225,29,72,.12),transparent 34%),#05070b}.cine-empty[hidden],.cine-fallback[hidden]{display:none!important}.cine-fallback strong{font-size:16px}.cine-fallback small{color:var(--muted)}.cine-empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:24px;box-shadow:0 12px 35px color-mix(in srgb,var(--primary) 30%,transparent)}
.cine-center-play{z-index:5}.cine-controls{z-index:7}.cine-loading{z-index:8}.cine-meta{border-radius:0 0 18px 18px}
.player-style-glass .cine-stage{background:linear-gradient(145deg,#0e131c,#06080d);border:1px solid rgba(255,255,255,.09)}.player-style-glass .cine-controls{backdrop-filter:blur(12px)}
.player-style-minimal .cine-meta{display:none}.player-style-minimal .cine-stage{border-radius:12px}.player-style-minimal .cine-controls{padding-bottom:9px}
.player-style-studio .cine-player,.cine-player.player-style-studio{box-shadow:0 0 0 1px rgba(255,255,255,.06),0 35px 100px rgba(0,0,0,.5)}
.cine-quality-menu .cine-q-item{width:100%;text-align:right;padding:9px 11px;border:0;border-bottom:1px solid rgba(255,255,255,.05);background:transparent;color:var(--text);font-family:inherit;cursor:pointer}.cine-quality-menu .cine-q-item.active{color:#fff;background:var(--primary)}
.party-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 5px rgba(34,197,94,.1);margin-left:8px}

/* comments */
.title-comments{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 98%,white 1%),var(--surface))}.comment-form-v24{padding:15px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.02)}.comment-form-v24 textarea{min-height:120px}.comment{position:relative}.comment-author{display:inline-flex;align-items:center;gap:5px}

/* Related section = homepage language */
.title-related-home{padding-top:28px;padding-bottom:44px}.title-related-home .row-head{margin-bottom:15px}.title-related-home .row-head>div{margin-right:auto}.title-related-home .card-quality{display:none!important}.title-related-home .row-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(150px,15vw,190px);gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}.title-related-home .row-scroll::-webkit-scrollbar{display:none;width:0;height:0}.title-related-home .row-scroll>*{scroll-snap-align:start}.title-related-home.related-layout-compact .row-scroll{grid-auto-columns:clamp(128px,12vw,158px);gap:12px}.title-related-home.related-layout-landscape .row-scroll{grid-auto-columns:clamp(300px,30vw,420px);gap:16px}.title-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px}.title-related-home .card-meta{display:flex!important}.title-related-home .card-meta-year,.title-related-home .card-meta-genre{font-size:10px;padding:3px 8px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);color:var(--muted)}

@media(max-width:1000px){
  .single-title.info-layout-editorial .specs-pro dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .single-title.info-layout-split .title-body,.single-title.info-layout-cards .title-body,.single-title.info-layout-compact .title-body{grid-template-columns:1fr}.single-title.info-layout-split .title-side,.single-title.info-layout-cards .title-side,.single-title.info-layout-compact .title-side{position:static}
}
@media(max-width:760px){
  .title-section-nav-wrap{margin-top:0}.title-section-nav{min-height:50px;padding-inline:12px}.title-section-nav a{padding:8px 10px;font-size:11px}
  .title-actions-v25{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.title-actions-v25 .btn,.title-actions-v25 .icon-btn{justify-content:center}.title-actions-v25 .fav-btn,.title-actions-v25 .watchlist-btn{width:100%;height:42px}.title-actions-v25>a[href*="trailer"]{display:none}
  .single-title.info-layout-editorial .specs-pro dl{grid-template-columns:1fr 1fr}.single-title.info-layout-editorial .specs-pro dl>dd{min-height:44px;padding:9px 10px;font-size:11px}.single-title.info-layout-editorial .title-about{padding:18px}.single-title.info-layout-editorial .title-about .prose{font-size:14px;line-height:2}
  .download-section-head{padding:16px;border-radius:16px;align-items:flex-start;gap:10px}.download-section-head .box-title{font-size:16px}.external-provider-pill{font-size:10px;padding:7px 9px}.download-season{border-radius:15px!important}.download-season-title{min-height:50px;padding:10px 12px!important}.download-episodes{padding:7px!important}.episode-top{padding:10px}.download-version-block{padding:10px!important}.episode-actions{grid-template-columns:1fr!important}.download-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.download-watch-actions{grid-template-columns:1fr 1fr;min-width:0}.download-quality-card{min-height:46px!important;padding:7px!important}.download-quality-main strong{font-size:11px}.download-file-size{font-size:9px}.download-play-btn,.download-party-btn{min-height:46px;padding:7px 8px;font-size:11px}.version-hint{display:none}
  .cc-player-head{display:block}.cc-now-playing{display:block;max-width:100%;margin-top:9px}.cc-online-section{margin-inline:-4px;padding:12px!important}.cine-stage{border-radius:12px}.cine-controls{padding:44px 6px 7px!important}.cine-controls-row{display:flex!important;flex-wrap:wrap!important}.cine-controls-main,.cine-tools{width:100%;justify-content:center;flex-wrap:wrap}.cine-time{order:4}.cine-quality-current,.cine-speed,.cine-tool,.cine-btn{min-width:36px!important}.cine-subtitle,.cine-theater,.cine-full{display:inline-flex!important}.cine-pip{display:none!important}.cine-meta{padding:9px 10px;font-size:10px}.watch-party-panel{padding:12px}.party-chat-list{height:210px}
  .title-related-home{padding-inline:12px;padding-bottom:28px}.title-related-home .row-scroll{grid-auto-columns:42vw;gap:11px}.title-related-home.related-layout-compact .row-scroll{grid-auto-columns:35vw}.title-related-home.related-layout-landscape .row-scroll{grid-auto-columns:78vw}.title-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.title-related-home .card-title{font-size:12px}.title-related-home .card-meta{gap:4px!important;flex-wrap:wrap}
}
@media(max-width:430px){
  .single-title.info-layout-editorial .specs-pro dl{grid-template-columns:1fr}.download-quality-grid{grid-template-columns:1fr 1fr!important}.download-watch-actions{grid-template-columns:1fr}.title-actions-v25{grid-template-columns:1fr 1fr}.title-related-home .row-scroll{grid-auto-columns:44vw}
}

/* v25 external-provider guard */
.title-actions-v25 .is-disabled,
.download-watch-actions .is-disabled{
  opacity:.58!important;cursor:not-allowed!important;filter:saturate(.45);box-shadow:none!important;transform:none!important
}
.external-provider-pill.missing{color:#fbbf24;border-color:rgba(251,191,36,.28);background:rgba(251,191,36,.08)}

/* =========================================================
   TITLE DOWNLOAD CENTER V26
   - truly distinct selectable layouts
   - no action overflow
   - paid episode purchase state
   ========================================================= */
.download-box,
.download-season,
.download-episode,
.download-movie-version,
.download-version-block,
.episode-actions,
.download-quality-grid,
.download-watch-actions{min-width:0;max-width:100%;box-sizing:border-box}

.download-version-block .episode-actions{
  grid-template-columns:minmax(0,1fr) minmax(210px,260px)!important;
  width:100%;
  overflow:hidden;
}
.download-watch-actions{
  width:100%!important;
  min-width:0!important;
  max-width:260px!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-self:stretch;
}
.download-play-btn,.download-party-btn{width:100%;min-width:0!important;overflow:hidden;text-overflow:ellipsis}
.download-play-btn strong,.download-party-btn strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.download-lock-card{
  margin:12px 14px 14px;
  padding:15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface2)),var(--surface2));
}
.download-lock-copy{display:flex;align-items:center;gap:11px;min-width:0}
.download-lock-copy>div{min-width:0}
.download-lock-copy strong{display:block;font-size:14px;margin-bottom:4px}
.download-lock-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.8}
.download-lock-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line))}
.download-lock-icon .ic{width:20px;height:20px}
.download-lock-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.download-lock-price{direction:rtl;display:flex;align-items:baseline;gap:5px;padding:8px 12px;border-radius:12px;background:var(--bg);border:1px solid var(--line);white-space:nowrap}
.download-lock-price b{font-size:15px;color:var(--accent)}
.download-lock-price small{font-size:10px;color:var(--muted)}
.episode-purchase-form{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.episode-purchase-form .btn{min-height:40px}

/* --- Studio: asymmetric control console --- */
.download-layout-studio .download-section-head{
  position:relative;overflow:hidden;
  background:linear-gradient(125deg,color-mix(in srgb,var(--surface) 92%,#0ea5e9 8%),var(--surface))!important;
}
.download-layout-studio .download-section-head::before{
  content:"";position:absolute;inset:auto -40px -70px auto;width:210px;height:150px;border-radius:50%;background:rgba(14,165,233,.11);filter:blur(20px);pointer-events:none
}
.download-layout-studio .download-season{border-radius:22px!important;background:#111722!important;box-shadow:0 22px 52px rgba(0,0,0,.2)!important}
.download-layout-studio .download-season-title{background:linear-gradient(90deg,#151d2a,#111722)!important;border-bottom:1px solid rgba(255,255,255,.06)}
.download-layout-studio .download-episode{background:#0e141e!important;border-color:#263142!important}
.download-layout-studio .download-version-block{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
.download-layout-studio .download-version-head{
  margin:0!important;padding:14px!important;min-height:100%;align-content:center;display:flex!important;flex-direction:column;justify-content:center!important;align-items:flex-start!important;
  border:1px solid #293648!important;border-radius:14px!important;background:linear-gradient(145deg,#192230,#111821)!important
}
.download-layout-studio .download-version-head .episode-version{font-size:13px;color:#fff;background:rgba(14,165,233,.14);border-color:rgba(14,165,233,.28)}
.download-layout-studio .download-quality-card{background:#151f2b!important;border-color:#293648!important}
.download-layout-studio .download-quality-card:hover{border-color:#38bdf8!important}
.download-layout-studio .download-play-btn{background:linear-gradient(135deg,#ef174c,#ff3b67)!important}
.download-layout-studio .download-party-btn{background:#151f2b!important;border-color:#334155!important}

/* --- Glass: floating translucent tiles --- */
.download-layout-glass{position:relative}
.download-layout-glass .download-section-head{
  border-color:rgba(255,255,255,.08)!important;
  background:linear-gradient(145deg,rgba(34,39,52,.72),rgba(14,17,24,.62))!important;
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)
}
.download-layout-glass .download-season,.download-layout-glass .download-movie-version{
  border-radius:26px!important;border-color:rgba(255,255,255,.08)!important;
  background:linear-gradient(145deg,rgba(28,33,45,.68),rgba(12,15,22,.58))!important;
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  box-shadow:0 25px 70px rgba(0,0,0,.18)!important
}
.download-layout-glass .download-season-title{background:rgba(255,255,255,.025)!important}
.download-layout-glass .download-episode{margin:8px!important;border-radius:20px!important;background:rgba(255,255,255,.025)!important;border-color:rgba(255,255,255,.07)!important}
.download-layout-glass .download-version-block{padding:15px 17px!important}
.download-layout-glass .download-quality-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.download-layout-glass .download-quality-card{
  border-radius:16px!important;background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)
}
.download-layout-glass .download-quality-card:hover{background:rgba(255,255,255,.075)!important}
.download-layout-glass .download-watch-actions{align-self:center}
.download-layout-glass .download-play-btn,.download-layout-glass .download-party-btn{border-radius:16px!important}
.download-layout-glass .download-party-btn{background:rgba(255,255,255,.04)!important}

/* --- Compact: dense table-like rows --- */
.download-layout-compact .download-section-head{margin-bottom:8px!important;border-radius:14px!important;padding:13px 16px!important}
.download-layout-compact .download-section-head .section-eyebrow{display:none}
.download-layout-compact .download-season{border-radius:14px!important;margin-bottom:9px!important}
.download-layout-compact .download-season-title{min-height:44px!important;padding:8px 12px!important}
.download-layout-compact .download-episodes{padding:0!important;gap:0!important}
.download-layout-compact .download-episode{border:0!important;border-radius:0!important;border-top:1px solid var(--line)!important;background:transparent!important}
.download-layout-compact .download-episode:first-child{border-top:0!important}
.download-layout-compact .episode-top{padding:9px 12px!important;margin:0!important;border-bottom:1px dashed color-mix(in srgb,var(--line) 80%,transparent)!important}
.download-layout-compact .download-version-block{padding:8px 12px!important;display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;gap:9px!important}
.download-layout-compact .download-version-head{margin:0!important;padding:0!important;justify-content:flex-start!important;align-items:center!important}
.download-layout-compact .download-version-head .version-hint{display:none!important}
.download-layout-compact .episode-actions{grid-template-columns:minmax(0,1fr) minmax(180px,220px)!important;gap:7px!important}
.download-layout-compact .download-quality-grid{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))!important;gap:5px!important}
.download-layout-compact .download-quality-card{min-height:38px!important;border-radius:9px!important;padding:5px 8px!important}
.download-layout-compact .download-icon{width:24px;height:24px}
.download-layout-compact .download-file-size{font-size:9px}
.download-layout-compact .download-watch-actions{max-width:220px!important;gap:5px!important}
.download-layout-compact .download-play-btn,.download-layout-compact .download-party-btn{min-height:38px!important;border-radius:9px!important;padding:5px 7px!important}

/* --- Classic: calm accordion + outlined download rows --- */
.download-layout-classic .download-section-head{background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding-inline:0!important}
.download-layout-classic .download-season,.download-layout-classic .download-movie-version{border-radius:10px!important;background:transparent!important;border-color:var(--line)!important;box-shadow:none!important}
.download-layout-classic .download-season-title{background:var(--surface2)!important;border-bottom:1px solid var(--line)}
.download-layout-classic .download-episode{border:0!important;border-radius:0!important;background:transparent!important;border-bottom:1px solid var(--line)!important}
.download-layout-classic .download-episode:last-child{border-bottom:0!important}
.download-layout-classic .download-version-block{padding:13px 15px!important}
.download-layout-classic .episode-version{background:transparent!important;border:0!important;color:var(--text)!important;padding-inline:0!important;font-size:13px}
.download-layout-classic .download-quality-grid{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
.download-layout-classic .download-quality-card{flex:0 1 160px;min-height:43px!important;border-radius:8px!important;background:transparent!important;border:1px solid var(--line)!important}
.download-layout-classic .download-quality-card:hover{background:var(--surface2)!important}
.download-layout-classic .download-play-btn{border-radius:8px!important}.download-layout-classic .download-party-btn{border-radius:8px!important;background:transparent!important}

@media(max-width:1100px){
  .download-version-block .episode-actions{grid-template-columns:1fr!important}
  .download-watch-actions{max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .download-layout-studio .download-version-block,.download-layout-compact .download-version-block{grid-template-columns:1fr!important}
  .download-layout-studio .download-version-head{min-height:auto;flex-direction:row;align-items:center!important;justify-content:space-between!important}
}
@media(max-width:760px){
  .download-lock-card{margin:8px;padding:12px;display:grid;gap:12px}.download-lock-actions{justify-content:stretch}.download-lock-actions>.btn,.episode-purchase-form{width:100%}.episode-purchase-form .btn{flex:1}
  .download-watch-actions{grid-template-columns:1fr 1fr!important;max-width:none!important}
  .download-layout-compact .download-version-block{display:block!important}.download-layout-compact .download-version-head{margin-bottom:7px!important}
  .download-layout-classic .download-quality-card{flex:1 1 calc(50% - 7px)}
}
@media(max-width:430px){
  .download-watch-actions{grid-template-columns:1fr!important}
  .download-layout-classic .download-quality-card{flex-basis:100%}
}

/* =========================================================
   DOWNLOAD CENTER v26.1
   - stable action buttons (no overlap)
   - paid quality purchase cards
   - exclusive season accordion
   - BluRay remains inside its language edition
   ========================================================= */
.download-box .download-season{overflow-anchor:none}
.download-box .download-season-title{scroll-margin-top:84px}
.download-box .download-season.collapsed .download-season-title{border-bottom-color:transparent!important}

/* Keep watch actions on their own clean row in every download layout. */
.download-box .download-version-block .episode-actions,
.download-box.download-layout-studio .episode-actions,
.download-box.download-layout-glass .episode-actions,
.download-box.download-layout-compact .episode-actions,
.download-box.download-layout-classic .episode-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.download-box .download-watch-actions,
.download-box.download-layout-studio .download-watch-actions,
.download-box.download-layout-glass .download-watch-actions,
.download-box.download-layout-compact .download-watch-actions,
.download-box.download-layout-classic .download-watch-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:min(100%,420px)!important;
  min-width:0!important;
  max-width:420px!important;
  margin:0!important;
  gap:8px!important;
  align-self:auto!important;
  justify-self:start!important;
  position:static!important;
  transform:none!important;
}
.download-box .download-play-btn,
.download-box .download-party-btn{
  position:static!important;
  inset:auto!important;
  transform:none;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  min-height:48px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.download-box .download-play-btn:hover,
.download-box .download-party-btn:hover{transform:translateY(-1px)!important}
.download-box .download-play-btn strong,
.download-box .download-party-btn strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Paid Opera/Upera episodes: show a purchase tile for each expected quality. */
.purchase-quality-lock{
  display:grid!important;
  grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr)!important;
  align-items:stretch!important;
  gap:14px!important;
}
.purchase-quality-lock .download-lock-copy{
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--surface2) 92%,var(--accent) 8%);
}
.purchase-quality-grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.purchase-quality-card{
  min-width:0;
  display:grid;
  gap:9px;
  align-content:space-between;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--ok) 22%,var(--line));
  border-radius:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--ok) 7%,var(--surface2)),var(--surface2));
}
.purchase-quality-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;min-width:0}
.purchase-quality-meta>strong{font-size:15px;font-weight:950;color:#79e7aa;direction:ltr}
.purchase-quality-meta>span{display:flex;align-items:baseline;gap:4px;color:var(--muted);font-size:10px;white-space:nowrap}
.purchase-quality-meta>span b{font-size:13px;color:var(--accent)}
.purchase-quality-form{margin:0;display:block}
.purchase-quality-form .btn,.purchase-quality-card>a.btn{width:100%;min-height:39px;padding:7px 9px;border-radius:10px;font-size:11px}

/* Release family is metadata on the quality card, not a separate edition. */
.download-quality-main strong{white-space:normal!important;line-height:1.45;text-align:center}

@media(max-width:980px){
  .purchase-quality-lock{grid-template-columns:1fr!important}
  .purchase-quality-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .download-box .download-watch-actions{width:100%!important;max-width:none!important;grid-template-columns:1fr 1fr!important}
  .purchase-quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:430px){
  .download-box .download-watch-actions{grid-template-columns:1fr!important}
  .purchase-quality-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   DOWNLOAD CENTER v26.2 — polished season control
   ========================================================= */
.download-season-title .season-heading{
  min-width:0;
}
.download-season-title .season-chevron{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px;
  display:grid!important;
  place-items:center!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,#fff 8%)!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface2) 92%,#fff 4%),color-mix(in srgb,var(--surface) 96%,#000 4%))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transform:none!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.download-season-title .season-chevron::before{
  content:"";
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  color:var(--text);
  transform:rotate(-135deg);
  transition:transform .2s ease;
  margin-top:4px;
}
.download-season.collapsed .download-season-title .season-chevron::before{
  transform:rotate(45deg);
  margin-top:-4px;
}
.download-season-title:hover .season-chevron{
  border-color:color-mix(in srgb,var(--primary) 38%,var(--line))!important;
  background:color-mix(in srgb,var(--surface2) 88%,var(--primary) 12%)!important;
}
.episode-code{
  direction:rtl!important;
  unicode-bidi:plaintext;
  white-space:nowrap;
  letter-spacing:0!important;
}
@media(max-width:640px){
  .download-season-title .season-chevron{width:30px!important;height:30px!important;flex-basis:30px;border-radius:9px!important}
  .download-season-title .season-chevron::before{width:7px;height:7px}
  .episode-code{font-size:9px!important;padding:3px 7px!important}
}

/* =========================================================
   DOWNLOAD CENTER V26.4 — paid source states / sale links
   ========================================================= */
.download-quality-card.is-sale{border-color:rgba(245,158,11,.38)!important;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(20,28,39,.94))!important}
.download-quality-card.is-sale strong,.download-quality-card.is-sale .download-link-price{color:#fbbf24!important}
.download-link-price{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:800}
.download-source-pending,.download-source-empty{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:14px;margin:12px 0;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.22)}
.download-source-pending>span,.download-source-empty>span{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:11px;background:rgba(245,158,11,.12);color:#fbbf24}
.download-source-pending strong,.download-source-empty strong{display:block;color:var(--text);font-size:14px}
.download-source-pending small{display:block;margin-top:5px;color:var(--muted);line-height:1.8}
.download-source-empty{background:rgba(148,163,184,.06);border-color:var(--line)}
.download-source-empty>span{background:rgba(148,163,184,.1);color:var(--muted)}

/* v26.6 — paid Opera content has one canonical TVOD price per movie/episode */
.purchase-single-price{display:inline-flex;align-items:center;gap:.35rem;margin-top:.65rem;padding:.42rem .72rem;border:1px solid rgba(245,158,11,.28);border-radius:999px;background:rgba(245,158,11,.09);color:#fbbf24;font-size:.86rem;font-weight:700}
.purchase-single-price b{font-size:1rem;color:#f59e0b}
.purchase-quality-card .purchase-quality-meta{justify-content:center}

/* =========================================================
   TITLE MOBILE RESPONSIVE POLISH V26.7
   - preserve each title layout on mobile
   - never crop the portrait poster
   - compact cinematic / compact heroes
   - homepage-like related-title shelf on mobile
   ========================================================= */
@media (max-width:760px){
  /* Poster artwork must stay complete on phones. The desktop 2/3 crop is useful
     for uniform cards, but it should not crop title artwork in the hero. */
  .single-title[class*="title-layout-"] .title-poster img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block;
  }

  /* Keep the shared mobile typography compact; style-specific blocks below now
     control the actual composition instead of every layout collapsing to one UI. */
  .single-title[class*="title-layout-"] .title-head{
    position:relative;
    text-align:center;
  }
  .single-title[class*="title-layout-"] .title-info{
    min-width:0;
  }
  .single-title[class*="title-layout-"] .title-story{
    line-height:1.9;
  }

  /* 1) Cinematic — balanced poster + backdrop, deliberately shorter than before. */
  .title-layout-cinematic .title-backdrop{
    height:430px!important;
    background-position:center 18%!important;
  }
  .title-layout-cinematic .title-head{
    padding:22px 14px 22px!important;
    gap:12px!important;
    align-items:center!important;
  }
  .title-layout-cinematic .title-poster{
    width:min(40vw,152px)!important;
    margin-inline:auto;
  }
  .title-layout-cinematic .title-poster img{
    border-radius:20px!important;
    box-shadow:0 18px 44px rgba(0,0,0,.42)!important;
  }
  .title-layout-cinematic .title-info{
    width:min(100%,620px)!important;
    margin-inline:auto!important;
    padding:15px 15px 16px!important;
  }

  /* 2) Poster focus — artwork is the hero, but still fully visible and bounded. */
  .title-layout-poster-focus .title-backdrop{
    height:455px!important;
    opacity:.68!important;
    background-position:center 16%!important;
  }
  .title-layout-poster-focus .title-head{
    padding:18px 14px 24px!important;
    gap:0!important;
    align-items:center!important;
  }
  .title-layout-poster-focus .title-poster{
    width:min(46vw,178px)!important;
    margin-inline:auto!important;
    position:relative;
    z-index:2;
  }
  .title-layout-poster-focus .title-poster img{
    border-radius:24px!important;
    box-shadow:0 24px 58px rgba(0,0,0,.5)!important;
  }
  .title-layout-poster-focus .title-info{
    width:min(100%,630px)!important;
    margin:-13px auto 0!important;
    padding:27px 15px 16px!important;
    border-radius:22px!important;
  }

  /* 3) Backdrop focus — intentionally no large poster on mobile. This keeps the
     backdrop visible and makes this layout genuinely different from cinematic. */
  .title-layout-backdrop-focus .title-backdrop{
    height:470px!important;
    opacity:.9!important;
    background-position:center 18%!important;
  }
  .title-layout-backdrop-focus .backdrop-fade{
    background:linear-gradient(0deg,var(--bg) 0%,rgba(8,10,15,.28) 45%,rgba(8,10,15,.28) 100%)!important;
  }
  .title-layout-backdrop-focus .title-head{
    display:block!important;
    padding:245px 14px 22px!important;
  }
  .title-layout-backdrop-focus .title-poster{
    display:none!important;
  }
  .title-layout-backdrop-focus .title-info{
    width:min(100%,650px)!important;
    margin-inline:auto!important;
    padding:16px!important;
    background:linear-gradient(145deg,rgba(13,16,23,.82),rgba(8,10,15,.68))!important;
    border-color:rgba(255,255,255,.1)!important;
  }

  /* 4) Glass — a real mobile glass card with a compact side poster. */
  .title-layout-glass .title-backdrop{
    height:430px!important;
    opacity:.78!important;
    background-position:center 18%!important;
  }
  .title-layout-glass .title-head{
    width:auto!important;
    margin:14px 12px 20px!important;
    padding:14px!important;
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    gap:13px!important;
    align-items:center!important;
    text-align:right!important;
    border:1px solid rgba(255,255,255,.11)!important;
    border-radius:24px!important;
    background:linear-gradient(145deg,rgba(24,28,38,.78),rgba(11,14,20,.68))!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    box-shadow:0 22px 55px rgba(0,0,0,.28)!important;
  }
  .title-layout-glass .title-poster{
    width:112px!important;
    margin:0!important;
  }
  .title-layout-glass .title-poster img{
    border-radius:17px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.34)!important;
  }
  .title-layout-glass .title-info{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-align:right!important;
  }
  .title-layout-glass .breadcrumb,
  .title-layout-glass .title-story{
    display:none!important;
  }
  .title-layout-glass .title-badges,
  .title-layout-glass .title-terms,
  .title-layout-glass .title-actions{
    justify-content:flex-start!important;
  }
  .title-layout-glass .title-h1{
    font-size:20px!important;
  }
  .title-layout-glass .title-en{
    text-align:right!important;
    font-size:13px!important;
  }

  /* 5) Professional compact — horizontal, short and information-first. */
  .title-layout-compact .title-backdrop{
    height:360px!important;
    opacity:.7!important;
    background-position:center 18%!important;
  }
  .title-layout-compact .title-head{
    width:auto!important;
    margin:0 12px!important;
    padding:18px 0 20px!important;
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    text-align:right!important;
  }
  .title-layout-compact .title-poster{
    width:104px!important;
    margin:0!important;
  }
  .title-layout-compact .title-poster img{
    border-radius:16px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.36)!important;
  }
  .title-layout-compact .title-info{
    width:100%!important;
    margin:0!important;
    padding:13px!important;
    border-radius:18px!important;
    text-align:right!important;
  }
  .title-layout-compact .breadcrumb,
  .title-layout-compact .title-story{
    display:none!important;
  }
  .title-layout-compact .title-badges,
  .title-layout-compact .title-terms,
  .title-layout-compact .title-actions{
    justify-content:flex-start!important;
  }
  .title-layout-compact .title-h1{
    font-size:19px!important;
    line-height:1.55!important;
  }
  .title-layout-compact .title-en{
    text-align:right!important;
    font-size:12px!important;
  }
  .title-layout-compact .chip,
  .title-layout-compact .term-pill{
    font-size:10px!important;
    padding:3px 8px!important;
  }

  /* Related titles — RTL heading on the right and a real horizontal shelf on
     phones, even when the desktop setting is Grid. */
  .title-related-home{
    padding-inline:14px!important;
    overflow:hidden;
  }
  .title-related-home .row-head{
    width:100%;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    direction:rtl!important;
    text-align:right!important;
    margin-bottom:17px!important;
  }
  .title-related-home .row-head>div{
    width:100%!important;
    margin:0!important;
    text-align:right!important;
  }
  .title-related-home .row-title,
  .title-related-home .section-eyebrow{
    text-align:right!important;
  }
  .title-related-home .row-scroll,
  .title-related-home .title-related-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-template-rows:1fr!important;
    grid-auto-flow:column!important;
    grid-auto-columns:42vw!important;
    gap:11px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 8px!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:0!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  .title-related-home .row-scroll::-webkit-scrollbar,
  .title-related-home .title-related-grid::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }
  .title-related-home .row-scroll>*,
  .title-related-home .title-related-grid>*{
    min-width:0!important;
    scroll-snap-align:start!important;
  }
  .title-related-home.related-layout-compact .row-scroll{
    grid-auto-columns:36vw!important;
  }
  .title-related-home.related-layout-landscape .row-scroll{
    grid-auto-columns:76vw!important;
  }
}

@media (max-width:430px){
  .title-layout-cinematic .title-poster{width:min(39vw,145px)!important}
  .title-layout-poster-focus .title-poster{width:min(45vw,168px)!important}
  .title-layout-glass .title-head{grid-template-columns:98px minmax(0,1fr)!important;padding:12px!important;gap:11px!important}
  .title-layout-glass .title-poster{width:98px!important}
  .title-layout-compact .title-head{grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important}
  .title-layout-compact .title-poster{width:92px!important}
  .title-related-home .row-scroll,
  .title-related-home .title-related-grid{grid-auto-columns:44vw!important}
  .title-related-home.related-layout-compact .row-scroll{grid-auto-columns:39vw!important}
}


/* =========================================================
   TITLE V26.8 — satisfaction panel, RTL related shelf,
   mobile information ordering
   ========================================================= */

/* User satisfaction card — deliberately lives inside the hero so every title
   has a consistent, visible like/dislike summary similar to the supplied UI. */
.title-satisfaction-card{
  flex:0 0 258px;
  align-self:center;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  min-height:136px;
  padding:20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(28,29,36,.68),rgba(18,20,27,.5));
  box-shadow:0 24px 60px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.title-satisfaction-copy{
  min-width:0;
  text-align:right;
}
.title-satisfaction-copy>span{
  display:block;
  color:#eef1f7;
  font-size:15px;
  font-weight:900;
  margin-bottom:8px;
}
.title-satisfaction-score{
  display:flex;
  align-items:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.title-satisfaction-score strong{
  font-family:inherit;
  font-size:38px;
  line-height:1;
  font-weight:950;
  color:#fff;
  letter-spacing:-.04em;
}
.title-satisfaction-score small{
  color:var(--muted);
  font-size:10px;
  padding-bottom:3px;
}
.title-satisfaction-votes{
  display:flex;
  align-items:center;
  gap:10px;
  padding-right:16px;
  border-right:1px solid rgba(255,255,255,.12);
}
.title-rating-vote{
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--muted) 45%,transparent);
  background:rgba(11,14,20,.46);
  color:var(--muted);
  display:grid;
  place-items:center;
  grid-template-rows:25px 13px;
  gap:1px;
  cursor:pointer;
  transition:transform .18s,border-color .18s,color .18s,background .18s,box-shadow .18s;
  font-family:inherit;
}
.title-rating-vote .ic{width:23px;height:23px}
.title-rating-vote b{font-size:10px;line-height:1}
.title-rating-vote:hover{transform:translateY(-2px)}
.title-rating-vote.like{
  border-color:rgba(34,197,94,.48);
  color:#4ade80;
}
.title-rating-vote.dislike{
  border-color:rgba(244,63,94,.5);
  color:#fb7185;
}
.title-rating-vote.like.active{
  background:rgba(34,197,94,.14);
  border-color:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.08);
}
.title-rating-vote.dislike.active{
  background:rgba(244,63,94,.14);
  border-color:#f43f5e;
  box-shadow:0 0 0 4px rgba(244,63,94,.08);
}

/* Keep the denser title layouts balanced after adding the third hero column. */
.title-layout-compact .title-satisfaction-card{flex-basis:235px;min-height:118px;padding:16px}
.title-layout-glass .title-satisfaction-card{background:rgba(8,11,16,.35)}
@media (max-width:1180px) and (min-width:761px){
  .single-title[class*="title-layout-"] .title-head{flex-wrap:wrap}
  .title-satisfaction-card{
    flex:1 1 100%;
    max-width:520px;
    min-height:104px;
    margin-inline-start:auto;
  }
}

/* Related titles: the heading belongs to the RTL/right edge on desktop too. */
.title-related-home .row-head{
  width:100%;
  display:flex;
  direction:rtl;
  justify-content:flex-start!important;
  text-align:right!important;
}
.title-related-home .row-head>div{
  width:100%;
  margin:0!important;
  text-align:right!important;
}
.title-related-home .row-title,
.title-related-home .section-eyebrow{text-align:right!important}
.title-related-home .row-scroll,
.title-related-home .title-related-grid{direction:rtl}
.title-related-home .row-scroll.is-dragging,
.title-related-home .title-related-grid.is-dragging{
  scroll-snap-type:none!important;
  cursor:grabbing!important;
  user-select:none;
}
.title-related-home .row-scroll:not(.is-dragging),
.title-related-home .title-related-grid:not(.is-dragging){cursor:grab}

/* The extra copy is only used on mobile so INFORMATION can appear before FAQ
   without disturbing the sticky desktop sidebar. */
.mobile-title-specs{display:none}

@media(max-width:760px){
  .title-satisfaction-card{
    order:3;
    width:100%;
    max-width:520px;
    min-height:104px;
    margin:0 auto;
    padding:15px 16px;
    grid-template-columns:minmax(0,1fr) auto;
    border-radius:20px;
    background:linear-gradient(145deg,rgba(25,28,36,.88),rgba(11,14,20,.72));
  }
  .title-satisfaction-copy>span{font-size:13px}
  .title-satisfaction-score strong{font-size:31px}
  .title-satisfaction-votes{padding-right:12px;gap:8px}
  .title-rating-vote{width:50px;height:50px;grid-template-rows:22px 11px}
  .title-rating-vote .ic{width:20px;height:20px}

  /* Glass/compact heroes are CSS grids on phones; make the rating span both
     columns instead of being squeezed into the poster/info row. */
  .title-layout-glass .title-satisfaction-card,
  .title-layout-compact .title-satisfaction-card{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
    margin-top:2px!important;
  }

  /* Mobile ordering requested by the user: story/about -> INFORMATION -> FAQ. */
  .mobile-title-specs{display:block!important}
  .title-side{display:none!important}
  .mobile-title-specs dl{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:10px 14px!important;
  }

  /* Explicitly keep the related shelf anchored from the right on phones. */
  .title-related-home .row-scroll,
  .title-related-home .title-related-grid{
    direction:rtl!important;
  }
}

@media(max-width:430px){
  .title-satisfaction-card{
    padding:13px;
    gap:10px;
    min-height:94px;
  }
  .title-satisfaction-score strong{font-size:28px}
  .title-satisfaction-score small{font-size:9px}
  .title-rating-vote{width:46px;height:46px}
  .mobile-title-specs{padding:17px!important}
}

/* =========================================================
   TITLE V26.9 — synced satisfaction UI + true desktop shelf
   ========================================================= */

/* A compact, balanced satisfaction card. Visual order is intentionally LTR:
   summary at the LEFT, voting controls at the RIGHT. The vote controls themselves
   are dislike-left / like-right as requested. */
.title-satisfaction-card{
  position:relative!important;
  overflow:hidden!important;
  direction:ltr!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex:0 0 310px!important;
  width:310px!important;
  min-width:0!important;
  min-height:116px!important;
  height:auto!important;
  padding:16px 17px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  background:
    radial-gradient(circle at 92% 18%,rgba(34,197,94,.08),transparent 34%),
    radial-gradient(circle at 12% 88%,rgba(244,63,94,.07),transparent 36%),
    linear-gradient(145deg,rgba(27,30,39,.82),rgba(12,15,21,.72))!important;
  box-shadow:0 20px 55px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
  align-self:center!important;
}
.title-satisfaction-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#22c55e 0 48%,transparent 48% 52%,#f43f5e 52% 100%);
  opacity:.8;
}
.title-satisfaction-card.is-updating{opacity:.76}
.title-satisfaction-copy{
  order:1!important;
  flex:1 1 auto!important;
  min-width:0!important;
  direction:rtl!important;
  text-align:left!important;
  padding-left:2px;
}
.title-satisfaction-copy>span{
  display:block!important;
  margin:0 0 7px!important;
  color:#f3f5f9!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap;
}
.title-satisfaction-score{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:6px!important;
  direction:rtl!important;
  flex-wrap:wrap!important;
}
.title-satisfaction-score strong{
  font-size:36px!important;
  line-height:.95!important;
  font-weight:950!important;
  color:#fff!important;
  letter-spacing:-.055em!important;
}
.title-satisfaction-score small{
  color:var(--muted)!important;
  font-size:9px!important;
  padding-bottom:3px!important;
}
.title-satisfaction-votes{
  order:2!important;
  flex:0 0 auto!important;
  direction:ltr!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 0 0 15px!important;
  border:0!important;
  border-left:1px solid rgba(255,255,255,.11)!important;
}
.title-rating-vote{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  padding:0!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  grid-template-rows:24px 12px!important;
  gap:2px!important;
  background:rgba(7,10,15,.48)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
.title-rating-vote .ic{width:21px!important;height:21px!important}
.title-rating-vote b{font-size:10px!important;font-variant-numeric:tabular-nums}
.title-rating-vote.like{order:2!important;color:#4ade80!important;border-color:rgba(34,197,94,.48)!important}
.title-rating-vote.dislike{order:1!important;color:#fb7185!important;border-color:rgba(244,63,94,.48)!important}
.title-rating-vote.like.active{background:rgba(34,197,94,.15)!important;border-color:#22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.08)!important}
.title-rating-vote.dislike.active{background:rgba(244,63,94,.15)!important;border-color:#f43f5e!important;box-shadow:0 0 0 3px rgba(244,63,94,.08)!important}
.title-rating-vote:disabled{cursor:wait;transform:none!important}

/* Desktop related titles are ALWAYS one horizontal shelf. This also overrides the
   old "grid" option on the title page only, so cards never wrap into a second row. */
@media(min-width:761px){
  .title-related-home{
    overflow:hidden!important;
    direction:rtl!important;
  }
  .title-related-home .row-head{
    direction:rtl!important;
    justify-content:flex-start!important;
    text-align:right!important;
  }
  .title-related-home .row-head>div{
    margin:0!important;
    width:100%!important;
    text-align:right!important;
  }
  .title-related-home .row-scroll,
  .title-related-home .title-related-grid{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:none!important;
    grid-template-rows:1fr!important;
    grid-auto-flow:column!important;
    grid-auto-columns:clamp(150px,14vw,190px)!important;
    gap:16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    direction:rtl!important;
    scroll-snap-type:x proximity!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    padding:0 0 8px!important;
  }
  .title-related-home .row-scroll::-webkit-scrollbar,
  .title-related-home .title-related-grid::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .title-related-home .row-scroll>*,
  .title-related-home .title-related-grid>*{
    width:auto!important;
    min-width:0!important;
    scroll-snap-align:start!important;
  }
  .title-related-home.related-layout-compact .row-scroll,
  .title-related-home.related-layout-compact .title-related-grid{grid-auto-columns:clamp(130px,12vw,160px)!important;gap:13px!important}
  .title-related-home.related-layout-landscape .row-scroll,
  .title-related-home.related-layout-landscape .title-related-grid{grid-auto-columns:clamp(300px,28vw,410px)!important;gap:16px!important}
  .title-related-home .row-scroll.is-dragging,
  .title-related-home .title-related-grid.is-dragging{scroll-snap-type:none!important}
}

@media(max-width:1180px) and (min-width:761px){
  .title-satisfaction-card{
    flex:1 1 100%!important;
    width:min(100%,500px)!important;
    max-width:500px!important;
    min-height:104px!important;
    margin-inline-start:auto!important;
  }
}

@media(max-width:760px){
  .title-satisfaction-card{
    order:3!important;
    flex:none!important;
    align-self:auto!important;
    width:min(100%,520px)!important;
    max-width:520px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:2px auto 0!important;
    padding:13px 14px!important;
    gap:12px!important;
    border-radius:19px!important;
  }
  .title-satisfaction-copy{padding:0!important;text-align:left!important}
  .title-satisfaction-copy>span{font-size:12px!important;margin-bottom:5px!important}
  .title-satisfaction-score strong{font-size:30px!important}
  .title-satisfaction-score small{font-size:8px!important}
  .title-satisfaction-votes{gap:7px!important;padding-left:11px!important}
  .title-rating-vote{width:46px!important;height:46px!important;min-width:46px!important;border-radius:15px!important;grid-template-rows:20px 10px!important}
  .title-rating-vote .ic{width:18px!important;height:18px!important}
  .title-layout-glass .title-satisfaction-card,
  .title-layout-compact .title-satisfaction-card{
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
  }
}


/* =========================================================
   v26.12 — force collapsed seasons to stay closed
   Late override is required because newer download-layout
   rules set .download-episodes back to display:grid.
   ========================================================= */
.download-box .download-season.collapsed > .download-episodes{
  display:none!important;
}


/* =========================================================
   v26.13 — hard-close season bodies
   ========================================================= */
.download-box .download-episodes[hidden]{
  display:none!important;
}


/* =========================================================
   v26.14 — homepage mobile section heading compact row
   Keep title/subtitle and "مشاهده همه" side-by-side.
   Desktop remains unchanged.
   ========================================================= */
@media (max-width: 680px){
  .home-shell .row-section .row-head{
    display:flex;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }

  .home-shell .row-section .row-head > div{
    flex:1 1 auto;
    min-width:0;
  }

  .home-shell .row-section .row-title{
    font-size:20px;
    line-height:1.35;
    margin:0;
  }

  .home-shell .row-section .row-sub{
    margin-top:5px;
    line-height:1.55;
    font-size:12px;
    white-space:normal;
  }

  .home-shell .row-section .row-more{
    flex:0 0 auto;
    align-self:center;
    min-width:auto;
    max-width:42%;
    padding:8px 11px;
    border-radius:13px;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
  }

  .home-shell .row-section .row-more svg{
    width:15px;
    height:15px;
    flex:0 0 15px;
  }
}

@media (max-width: 380px){
  .home-shell .row-section .row-head{
    gap:8px!important;
  }

  .home-shell .row-section .row-title{
    font-size:18px;
  }

  .home-shell .row-section .row-sub{
    font-size:11px;
  }

  .home-shell .row-section .row-more{
    padding:7px 9px;
    font-size:11px;
    max-width:40%;
  }
}

/* ===== SMS authentication v1 ===== */
.auth-page{position:relative;min-height:calc(100vh - 150px);display:grid;place-items:center;padding:54px 18px;overflow:hidden}
.auth-orb{position:absolute;border-radius:999px;filter:blur(70px);opacity:.2;pointer-events:none}.auth-orb-one{width:320px;height:320px;background:var(--primary);top:8%;right:8%}.auth-orb-two{width:280px;height:280px;background:var(--accent);bottom:6%;left:10%;opacity:.12}
.auth-card-pro{position:relative;z-index:1;max-width:480px;padding:32px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));box-shadow:0 28px 80px rgba(0,0,0,.34)}
.auth-brand-mark{width:66px;height:66px;margin:-2px auto 16px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 22%,var(--surface2)),var(--surface2));border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));overflow:hidden}.auth-brand-mark img{width:100%;height:100%;object-fit:contain;padding:8px}.auth-brand-mark svg{width:28px;height:28px}
.auth-heading{text-align:center;margin-bottom:22px}.auth-heading .auth-title{margin:5px 0 7px;font-size:25px}.auth-kicker{font-size:12px;color:var(--primary);font-weight:800}.auth-heading p{color:var(--muted);font-size:13px;line-height:1.9;margin:0 auto;max-width:390px}
.auth-input-wrap{height:50px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--bg);border-radius:13px;padding:0 13px;transition:.18s}.auth-input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.auth-input-wrap svg{width:18px;height:18px;color:var(--muted);flex:0 0 auto}.auth-input-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:100%;min-width:0;flex:1}.auth-phone-input input{direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
.auth-main-btn{height:49px;font-size:15px;border-radius:13px!important}.auth-security-note{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:11px;margin-top:12px}.auth-security-note svg{width:14px;height:14px}
.otp-sent-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 12px;margin-bottom:15px;border-radius:12px;background:color-mix(in srgb,var(--primary) 9%,var(--surface2));border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));font-size:12px}.otp-sent-box span{direction:ltr;font-weight:800}.otp-sent-box button{margin-right:auto;border:0;background:none;color:var(--primary);font:inherit;font-weight:800;cursor:pointer}
.otp-code-input{text-align:center!important;direction:ltr!important;font-size:26px!important;font-weight:900!important;letter-spacing:10px!important;font-variant-numeric:tabular-nums;height:58px!important}
.auth-switch-line{text-align:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.auth-switch-line a{color:var(--primary);font-weight:900}
.header-auth-links{display:flex;align-items:center;gap:6px}.header-auth-links .btn-register{background:transparent;border:1px solid var(--line);color:var(--text)}
@media(max-width:640px){.auth-page{padding:30px 14px;min-height:calc(100vh - 95px)}.auth-card-pro{padding:24px 17px;border-radius:18px}.auth-brand-mark{width:56px;height:56px;border-radius:17px}.auth-heading .auth-title{font-size:21px}.auth-heading p{font-size:12px}.auth-tabs{margin-bottom:16px}.otp-code-input{font-size:23px!important;letter-spacing:8px!important}.header-auth-links{gap:4px}.header-auth-links .btn{padding:7px 9px;font-size:12px}}

/* ===== CinemaCity profile dashboard v5.5 ===== */
.profile-pro{padding-top:28px;padding-bottom:54px}.profile-hero-pro{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--primary) 8%),var(--surface));position:relative;overflow:hidden}.profile-avatar-pro{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);flex:0 0 auto}.profile-avatar-pro svg{width:31px;height:31px}.profile-identity{min-width:150px}.profile-kicker,.profile-section-head span,.profile-box-head span{color:var(--muted);font-size:12px}.profile-identity h1{margin:3px 0;font-size:24px}.profile-identity p{margin:0;color:var(--muted)}.profile-hero-stats{margin-right:auto;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px}.profile-hero-stats>div{padding:11px 14px;border-radius:15px;background:rgba(0,0,0,.18);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.profile-hero-stats b{font-size:15px}.profile-hero-stats span{color:var(--muted);font-size:11px}.profile-logout{margin-right:8px}.profile-nav-pro{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:18px 0 24px;padding:0 2px}.profile-nav-pro::-webkit-scrollbar{display:none}.profile-nav-pro button{border:0;background:none;color:var(--muted);font:inherit;font-weight:700;white-space:nowrap;padding:12px 13px;cursor:pointer;border-bottom:2px solid transparent}.profile-nav-pro button.active{color:var(--primary);border-color:var(--primary)}.profile-pane[hidden]{display:none!important}.profile-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.profile-stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:17px;display:flex;flex-direction:column;gap:6px;min-height:112px}.profile-stat>span:first-child{color:var(--primary)}.profile-stat svg{width:23px;height:23px}.profile-stat strong{font-size:18px}.profile-stat small{color:var(--muted)}.profile-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.profile-box{border:1px solid var(--line);background:var(--surface);border-radius:19px;padding:18px;margin-top:14px}.profile-two-cols>.profile-box{margin-top:0}.profile-box-head,.profile-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.profile-box-head h2,.profile-section-head h2{font-size:18px;margin:0}.profile-box-head a,.profile-box-head button{color:var(--primary);background:none;border:0;font:inherit;cursor:pointer}.profile-section-head>div>span{display:block;margin-bottom:2px}.profile-empty{padding:26px 16px;text-align:center;color:var(--muted);border-radius:14px;background:rgba(255,255,255,.025)}.profile-empty.wide{grid-column:1/-1}.profile-sub-active{display:flex;flex-direction:column;gap:5px}.profile-sub-active b{font-size:19px}.profile-sub-active span{color:var(--muted)}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-metrics div{background:rgba(255,255,255,.035);padding:12px;border-radius:13px;text-align:center}.mini-metrics b{display:block;font-size:18px}.mini-metrics span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.profile-section-head{margin:3px 0 15px}.profile-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.profile-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.history-pro-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:15px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.history-pro-poster{aspect-ratio:2/3;border-radius:13px;overflow:hidden;position:relative}.history-pro-poster img{width:100%;height:100%;object-fit:cover}.history-pro-poster span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.2)}.history-pro-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.history-pro-body h3{margin:0 0 5px;font-size:17px}.history-pro-body p{color:var(--muted);margin:0 0 12px;font-size:12px}.history-progress{height:6px;background:rgba(255,255,255,.09);border-radius:20px;width:100%;overflow:hidden;margin-bottom:13px}.history-progress i{display:block;height:100%;background:var(--primary)}.profile-form{display:grid;gap:11px}.profile-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.profile-form input,.profile-form textarea,.profile-form select,.ticket-reply textarea{width:100%;box-sizing:border-box;background:var(--bg2,#0b0e14);color:var(--text);border:1px solid var(--line);border-radius:13px;padding:11px 12px;font:inherit}.profile-form-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-wide button{align-self:end}.profile-table-wrap{overflow:auto}.profile-table{width:100%;border-collapse:collapse;min-width:620px}.profile-table th,.profile-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:right;font-size:12px}.profile-table th{color:var(--muted);font-weight:700}.profile-table td small{display:block;color:var(--muted);margin-top:3px}.pplus{color:#58d68d}.pminus{color:#ff7b8b}.ref-share-box{display:grid;grid-template-columns:auto auto minmax(280px,1fr);gap:10px;align-items:end;padding:16px;background:linear-gradient(135deg,rgba(36,209,126,.09),rgba(255,255,255,.025));border:1px solid color-mix(in srgb,#24d17e 32%,var(--line));border-radius:18px}.ref-share-box>div:first-child{display:flex;flex-direction:column}.ref-share-box strong{font-size:24px;letter-spacing:2px}.ref-link{display:flex;gap:7px}.ref-link input{min-width:0;flex:1;background:var(--bg2,#0b0e14);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:10px}.tier-chip{border:1px solid rgba(36,209,126,.35);background:rgba(36,209,126,.1);color:#8ff0b8;padding:6px 11px;border-radius:999px}.reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reward-grid>div{display:flex;flex-direction:column;gap:5px;padding:13px;background:rgba(255,255,255,.035);border-radius:13px}.reward-grid span{color:var(--muted);font-size:12px}.tier-next{margin:12px 0 0;color:#8ff0b8}.ticket-list-pro{display:grid;gap:10px;margin-top:15px}.ticket-pro{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.ticket-pro summary{cursor:pointer;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;list-style:none}.ticket-pro summary::-webkit-details-marker{display:none}.ticket-pro summary b,.ticket-pro summary span{display:block}.ticket-pro summary span{color:var(--muted);font-size:11px;margin-top:3px}.ticket-thread{border-top:1px solid var(--line);padding:14px;display:grid;gap:10px}.ticket-msg{max-width:78%;padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.045)}.ticket-msg.staff{margin-right:auto;background:rgba(36,209,126,.08);border:1px solid rgba(36,209,126,.16)}.ticket-msg.me{margin-left:auto;border:1px solid var(--line)}.ticket-msg p{margin:4px 0 2px;white-space:pre-wrap}.ticket-msg small{color:var(--muted)}.ticket-reply{display:flex;gap:8px;align-items:flex-end}.ticket-reply textarea{resize:vertical}.my-request{padding:10px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:5px}.my-request small{display:block;color:var(--muted)}.my-request p{grid-column:1/-1;color:var(--muted);margin:0}.profile-rules{white-space:pre-wrap;line-height:2;color:var(--text2,#c8ced9)}
/* support/donation modal */
.header-support-btn{display:inline-flex!important;align-items:center;gap:6px}.support-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}.support-modal[hidden]{display:none}.support-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(7px)}.support-modal-panel{position:relative;width:min(760px,100%);max-height:min(88dvh,800px);overflow:auto;border-radius:24px;background:#0d1119;border:1px solid rgba(255,255,255,.11);box-shadow:0 30px 90px rgba(0,0,0,.55);padding:20px}.support-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.support-modal-head h2{margin:2px 0 4px}.support-modal-head p{margin:0;color:var(--muted)}.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:17px}.support-form{display:grid;gap:10px}.support-form label{display:grid;gap:6px;color:var(--muted);font-size:12px}.support-form input,.support-form textarea{width:100%;box-sizing:border-box;background:#080b11;border:1px solid var(--line);color:#fff;border-radius:13px;padding:11px;font:inherit}.support-amounts{display:flex;gap:7px;flex-wrap:wrap}.support-amounts button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.support-amounts button:hover{border-color:var(--primary);color:var(--primary)}.support-leaderboard{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:17px;padding:13px;min-height:240px}.support-leaderboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.support-list{display:grid;gap:7px;max-height:330px;overflow:auto}.support-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:9px;border-radius:12px;background:rgba(255,255,255,.035)}.support-rank{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-weight:800}.support-row b,.support-row small{display:block}.support-row small{color:var(--muted);font-size:10px}.support-row strong{color:#8ff0b8}.support-message{font-size:11px;color:var(--muted);grid-column:2/-1}.support-status{min-height:20px;font-size:12px}.support-status.err{color:#ff8997}.support-status.ok{color:#78e5a6}
@media(max-width:900px){.profile-hero-pro{align-items:flex-start;flex-wrap:wrap}.profile-hero-stats{order:4;width:100%;margin:0}.profile-grid-4{grid-template-columns:repeat(2,1fr)}.profile-history-list{grid-template-columns:1fr}.ref-share-box{grid-template-columns:1fr auto}.ref-link{grid-column:1/-1}.support-grid{grid-template-columns:1fr}}
@media(max-width:640px){.profile-pro{padding-top:12px}.profile-hero-pro{padding:15px;border-radius:19px}.profile-avatar-pro{width:56px;height:56px}.profile-identity h1{font-size:19px}.profile-logout{margin-right:auto}.profile-hero-stats{grid-template-columns:repeat(3,1fr)}.profile-hero-stats>div{padding:9px}.profile-hero-stats b{font-size:12px}.profile-nav-pro{margin:11px -12px 16px;padding:0 12px}.profile-nav-pro button{padding:10px 9px;font-size:12px}.profile-grid-4{grid-template-columns:1fr 1fr;gap:8px}.profile-stat{padding:12px;min-height:96px}.profile-stat strong{font-size:14px}.profile-two-cols{grid-template-columns:1fr}.profile-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-pro-card{grid-template-columns:92px 1fr}.profile-form-wide{grid-template-columns:1fr}.ref-share-box{grid-template-columns:1fr}.ref-share-box>.btn{justify-self:start}.ref-link{display:grid;grid-template-columns:1fr}.reward-grid{grid-template-columns:1fr}.profile-box{padding:13px}.profile-table{min-width:560px}.ticket-msg{max-width:91%}.ticket-reply{display:grid}.support-modal{padding:0;align-items:end}.support-modal-panel{width:100%;max-height:92dvh;border-radius:24px 24px 0 0;padding:15px}.support-grid{grid-template-columns:1fr}.support-leaderboard{min-height:150px}.header-support-btn span{display:none}}
.drawer-link-button{width:100%;border:0;background:transparent;color:inherit;text-align:right;font:inherit;cursor:pointer}

/* ===== CinemaCity plans + subscription UX v5.5.2 ===== */
.plans-pro{padding-top:28px;padding-bottom:56px}.plans-hero-pro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:stretch;margin-bottom:22px}.plans-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.025);margin-bottom:10px}.plans-lead{max-width:72ch;color:var(--muted);line-height:2;margin:10px 0 0}.plans-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.plans-hero-points span{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);color:var(--text2,#d4d8df)}.plans-hero-points .ic{width:18px;height:18px;color:var(--primary)}.plans-side-summary{border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 88%,var(--primary) 12%),var(--surface));border-radius:24px;padding:20px;display:grid;gap:16px}.summary-pill{display:inline-flex;justify-self:start;padding:8px 12px;border-radius:999px;border:1px solid var(--line);font-size:12px}.summary-pill.ok{background:rgba(36,209,126,.1);color:#8ff0b8;border-color:rgba(36,209,126,.24)}.summary-pill.warn{background:rgba(255,179,71,.08);color:#ffd089;border-color:rgba(255,179,71,.22)}.summary-balance{display:grid;gap:2px}.summary-balance small,.summary-gateways small,.plan-caption,.plan-old-price,.section-mini-title,.inline-note{color:var(--muted)}.summary-balance strong{font-size:34px;line-height:1.1}.summary-balance span{font-size:13px}.summary-gateway-list{display:flex;flex-wrap:wrap;gap:8px}.summary-gateway-list span,.gateway-choice span{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.plans-grid-pro{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.plan-card-pro{position:relative;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border-radius:28px;padding:20px;display:grid;gap:16px;overflow:hidden}.plan-card-pro.featured{box-shadow:0 18px 50px rgba(255,51,102,.12);border-color:rgba(255,51,102,.24)}.plan-card-pro:before{content:"";position:absolute;inset:auto -15% 100% auto;width:180px;height:180px;background:radial-gradient(circle at center,rgba(255,51,102,.18),transparent 60%);pointer-events:none}.plan-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plan-card-head h2{margin:8px 0 6px;font-size:28px}.plan-card-head p{margin:0;color:var(--muted)}.plan-badge-pro{display:inline-flex;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:12px;font-weight:800}.plan-save-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(36,209,126,.09);border:1px solid rgba(36,209,126,.18);color:#94f4bb;font-size:12px}.plan-price-pro{padding:18px;border-radius:22px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.06)}.plan-old-price{text-decoration:line-through;font-size:14px;margin-bottom:6px}.plan-main-price{font-size:42px;font-weight:900;line-height:1.1}.plan-main-price small{font-size:.38em;font-weight:700;color:var(--muted)}.plan-feature-block h3{margin:0 0 10px;font-size:15px}.plan-feature-list-pro{display:grid;gap:10px;padding:0;margin:0;list-style:none}.plan-feature-list-pro li{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.06);border-radius:15px;background:rgba(255,255,255,.025)}.plan-feature-list-pro .ic{width:18px;height:18px;color:#8ff0b8;flex:0 0 auto;margin-top:1px}.plan-discount-field{display:grid;gap:7px;font-size:12px;color:var(--muted)}.plan-discount-field input,.wallet-topup-form input{width:100%;box-sizing:border-box;background:var(--bg2,#0b0e14);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit}.plan-payment-methods{display:grid;gap:9px}.section-mini-title{font-size:12px}.gateway-choices{display:flex;flex-wrap:wrap;gap:10px}.gateway-choice{position:relative;cursor:pointer}.gateway-choice input{position:absolute;opacity:0;pointer-events:none}.gateway-choice span{min-width:92px;transition:.18s}.gateway-choice input:checked+span{border-color:rgba(255,51,102,.45);background:linear-gradient(135deg,rgba(255,51,102,.18),rgba(255,255,255,.05));color:#fff;box-shadow:0 0 0 1px rgba(255,51,102,.18) inset}.plan-actions-pro{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inline-note{padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.08);font-size:12px}.inline-note.warn{background:rgba(255,179,71,.06);border-color:rgba(255,179,71,.18);color:#ffd089}.wallet-warning{margin-top:10px;color:#ffd089;border-color:rgba(255,179,71,.18);background:rgba(255,179,71,.06)}.wallet-modal[hidden]{display:none!important}.wallet-modal{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px}.wallet-modal-backdrop{position:absolute;inset:0;background:rgba(6,10,18,.76);backdrop-filter:blur(4px)}.wallet-modal-panel{position:relative;z-index:1;width:min(560px,100%);background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 90%,#000 10%));border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.45)}.wallet-modal-close{position:absolute;top:14px;left:14px;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);color:var(--text);display:grid;place-items:center;cursor:pointer}.wallet-modal-head span{color:var(--muted);font-size:12px}.wallet-modal-head h2{margin:4px 0 8px}.wallet-modal-head p{color:var(--muted);line-height:1.9;margin:0 0 16px}.wallet-topup-form{display:grid;gap:12px}.wallet-topup-form label{display:grid;gap:7px;color:var(--muted);font-size:12px}.wallet-topup-presets{display:flex;flex-wrap:wrap;gap:8px}.wallet-topup-presets button{border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);border-radius:12px;padding:10px 14px;font:inherit;cursor:pointer}.plans-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.mini-plan-card{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:20px;padding:16px;display:grid;gap:10px}.mini-plan-card.featured{border-color:rgba(255,51,102,.26)}.mini-plan-badge{display:inline-flex;justify-self:start;padding:6px 10px;border-radius:999px;background:rgba(255,51,102,.12);color:#ff8eab;font-size:12px}.mini-plan-card h3{margin:0;font-size:20px}.mini-plan-price{font-size:24px;font-weight:800}.mini-plan-price small{font-size:.55em;color:var(--muted)}.mini-plan-old{text-decoration:line-through;color:var(--muted);font-size:12px}.mini-plan-card p{margin:0;color:var(--muted)}.mini-plan-card ul{display:grid;gap:7px;padding:0;margin:0;list-style:none}.mini-plan-card li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text2,#d7dde7)}.mini-plan-card li .ic{width:16px;height:16px;color:#8ff0b8;flex:0 0 auto;margin-top:1px}
body.modal-open{overflow:hidden}
@media(max-width:980px){.plans-hero-pro{grid-template-columns:1fr}.plans-side-summary{order:-1}.plan-main-price{font-size:36px}}
@media(max-width:640px){.plans-pro{padding-top:14px}.plans-grid-pro{grid-template-columns:1fr;gap:14px}.plan-card-pro{padding:16px;border-radius:22px}.plan-card-head{display:grid}.plan-card-head h2{font-size:24px}.plan-actions-pro{grid-template-columns:1fr}.gateway-choices{display:grid;grid-template-columns:1fr 1fr}.summary-balance strong{font-size:28px}.plans-hero-points{gap:8px}.plans-hero-points span{padding:9px 11px;font-size:12px}.wallet-modal{padding:0;align-items:end}.wallet-modal-panel{width:100%;max-height:92dvh;border-radius:26px 26px 0 0;padding:18px}.plans-preview-grid{grid-template-columns:1fr}.profile-two-cols .profile-box .reward-grid{grid-template-columns:1fr}}

/* ===== CinemaCity premium plans v5.5.3 ===== */
.plans-hero-pro{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;padding:28px;background:radial-gradient(circle at 12% 10%,rgba(255,70,118,.16),transparent 34%),radial-gradient(circle at 88% 0%,rgba(85,110,255,.13),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}.plans-hero-copy h1{font-size:clamp(32px,4vw,52px);margin:4px 0 12px;line-height:1.25}.plans-hero-copy>p{font-size:15px;line-height:2.05;color:var(--muted);max-width:760px}.plans-wallet-card{border:1px solid rgba(255,255,255,.08);background:rgba(9,13,21,.62);backdrop-filter:blur(16px);border-radius:24px;padding:20px;display:grid;gap:14px;align-content:start}.plans-wallet-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,rgba(255,51,102,.2),rgba(255,255,255,.05));border:1px solid rgba(255,51,102,.22);display:grid;place-items:center;color:#ff7398}.plans-wallet-icon .ic{width:25px;height:25px}.plans-wallet-card>div:nth-child(2){display:grid;gap:2px}.plans-wallet-card strong{font-size:34px;line-height:1.1}.plans-wallet-card small,.plans-wallet-card span{color:var(--muted)}.active-gateway-strip{display:grid;gap:8px}.active-gateway-strip>div{display:flex;flex-wrap:wrap;gap:7px}.active-gateway-strip span{font-size:11px;padding:6px 9px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text2,#d6dbe5)}.active-gateway-strip span.disabled{opacity:.65}.plans-trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.plans-trust-row>div{display:flex;align-items:center;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.022)}.plans-trust-row .ic{width:22px;height:22px;color:var(--primary)}.plans-trust-row span{display:grid}.plans-trust-row small{color:var(--muted);font-size:11px}.plan-card-pro{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.plan-card-pro:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.13);box-shadow:0 22px 65px rgba(0,0,0,.22)}.plan-card-pro.all-access{background:radial-gradient(circle at 50% 0,rgba(255,51,102,.09),transparent 35%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018))}.plan-card-pro.requested{animation:planRequested 1.5s ease;box-shadow:0 0 0 2px rgba(255,51,102,.25),0 25px 70px rgba(255,51,102,.15)}@keyframes planRequested{0%{transform:scale(.985)}50%{transform:scale(1.01)}100%{transform:scale(1)}}.plan-card-topline{display:flex;justify-content:space-between;align-items:center;gap:10px}.plan-audience{display:inline-flex;align-items:center;gap:7px;color:#dfe5ee;font-size:12px}.plan-audience .ic{width:16px;height:16px;color:#ff85a5}.plan-save-line{font-size:12px;color:#92efb8;margin-top:7px}.smart-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.capability{display:flex;align-items:center;gap:10px;padding:11px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.capability>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.035)}.capability .ic{width:18px;height:18px}.capability div{display:grid;min-width:0}.capability b{font-size:13px}.capability small{font-size:10.5px;color:var(--muted)}.capability.on{border-color:rgba(36,209,126,.18);background:rgba(36,209,126,.045)}.capability.on>span{color:#7ce4a7;background:rgba(36,209,126,.09)}.capability.off{opacity:.48;filter:saturate(.5)}.plan-more-features{border-top:1px solid var(--line);padding-top:12px}.plan-more-features summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--muted);list-style:none}.plan-more-features summary::-webkit-details-marker{display:none}.plan-more-features summary .ic{width:16px;height:16px;transition:transform .18s}.plan-more-features[open] summary .ic{transform:rotate(180deg)}.plan-more-features ul{display:grid;gap:8px;padding:12px 0 0;margin:0;list-style:none}.plan-more-features li{display:flex;gap:8px;align-items:flex-start;font-size:12px}.plan-more-features li .ic{width:15px;height:15px;color:#7ce4a7;flex:0 0 auto}.plan-discount-field{position:relative}.plan-discount-field>span{font-size:10px;color:var(--muted);margin-right:5px}.plan-inline-status{padding:11px 13px;border-radius:14px;font-size:12px;margin-top:10px}.plan-inline-status.success{background:rgba(36,209,126,.08);border:1px solid rgba(36,209,126,.2);color:#92efb8}.plan-inline-status.warning{background:rgba(255,179,71,.08);border:1px solid rgba(255,179,71,.2);color:#ffd089}.plan-inline-status.error{background:rgba(255,80,100,.08);border:1px solid rgba(255,80,100,.2);color:#ff9baa}.mini-plan-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.mini-plan-audience{font-size:11px;color:var(--muted)}.mini-plan-caps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mini-plan-caps span{display:flex;align-items:center;gap:6px;padding:8px;border-radius:11px;border:1px solid var(--line);font-size:11px;opacity:.45}.mini-plan-caps span.on{opacity:1;color:#8ff0b8;border-color:rgba(36,209,126,.16);background:rgba(36,209,126,.05)}.mini-plan-caps .ic{width:14px;height:14px}.wallet-modal-panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,51,102,.5),transparent)}
@media(max-width:760px){.plans-hero-pro{padding:18px;border-radius:24px}.plans-hero-copy h1{font-size:30px}.plans-trust-row{grid-template-columns:1fr}.plans-trust-row>div{padding:12px}.smart-capabilities{grid-template-columns:1fr 1fr}.plan-main-price{font-size:34px}.plan-card-pro:hover{transform:none}}
@media(max-width:430px){.smart-capabilities{grid-template-columns:1fr}.gateway-choices{grid-template-columns:1fr}.plans-hero-points{display:grid;grid-template-columns:1fr 1fr}.plan-card-pro{border-radius:20px}.plan-card-head h2{font-size:22px}}


/* ===== CinemaCity v5.5.4 responsive refinement ===== */
.profile-pane[data-profile-pane="subscriptions"] .profile-two-cols{gap:18px}
.profile-pane[data-profile-pane="subscriptions"] .profile-box{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.018));border-radius:22px;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.profile-pane[data-profile-pane="subscriptions"] .plans-preview-grid{gap:16px;margin-top:16px}
.profile-pane[data-profile-pane="subscriptions"] .mini-plan-card{border-radius:22px;padding:15px;gap:9px;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.016));box-shadow:0 12px 34px rgba(0,0,0,.12)}
.profile-pane[data-profile-pane="subscriptions"] .mini-plan-card .btn{margin-top:2px}
.profile-pane[data-profile-pane="subscriptions"] .mini-plan-top{margin-bottom:2px}
.profile-pane[data-profile-pane="subscriptions"] .mini-plan-caps span{justify-content:flex-start}
@media(min-width:641px) and (max-width:1180px){.plans-grid-pro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .plans-pro{padding-top:10px;padding-bottom:34px}
  .plans-hero-pro{grid-template-columns:1fr;padding:16px 14px;border-radius:22px;gap:14px;margin-bottom:14px}
  .plans-hero-copy{display:grid;gap:8px}
  .plans-kicker{font-size:11px;padding:6px 10px;margin-bottom:0}
  .plans-hero-copy h1{font-size:22px;line-height:1.45;margin:0}
  .plans-hero-copy>p{font-size:13px;line-height:1.9;margin:0;max-width:none}
  .plans-hero-points{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
  .plans-hero-points span{padding:8px 10px;font-size:11px;min-height:42px;justify-content:flex-start}
  .plans-wallet-card{padding:14px;border-radius:20px;gap:10px}
  .plans-wallet-card strong{font-size:26px}
  .active-gateway-strip>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .active-gateway-strip span{justify-content:center;text-align:center}
  .plans-trust-row{grid-template-columns:1fr;gap:10px;margin-bottom:14px}
  .plans-trust-row>div{padding:12px 13px;border-radius:16px}
  .plans-grid-pro{gap:12px}
  .plan-card-pro{padding:14px;gap:12px;border-radius:20px}
  .plan-card-topline{align-items:flex-start}
  .plan-card-head{gap:8px}
  .plan-card-head h2{font-size:22px;margin:2px 0 2px}
  .plan-card-head p{font-size:12px}
  .plan-save-chip{font-size:11px;padding:7px 10px}
  .plan-price-pro{padding:14px;border-radius:16px}
  .plan-main-price{font-size:31px}
  .plan-old-price,.plan-save-line,.plan-caption{font-size:12px}
  .smart-capabilities{gap:7px}
  .capability{padding:8px 9px;gap:7px;border-radius:13px}
  .capability>span{width:30px;height:30px;border-radius:10px}
  .capability b{font-size:12px}
  .capability small{font-size:10px;line-height:1.45}
  .plan-form-pro{display:grid;gap:10px}
  .plan-discount-field input,.wallet-topup-form input{padding:10px 12px}
  .gateway-choices,.wallet-topup-form .gateway-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gateway-choice span{min-width:0;width:100%;padding:10px 8px;font-size:12px}
  .plan-actions-pro{grid-template-columns:1fr 1fr;gap:8px}
  .plan-actions-pro .btn{padding:11px 10px;font-size:13px}
  .plan-inline-status{padding:10px 11px;font-size:11px}
  .wallet-modal-panel{width:min(100%,420px);max-height:88dvh;border-radius:22px 22px 0 0;padding:16px 14px 14px}
  .wallet-modal-head h2{font-size:22px}
  .wallet-topup-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .wallet-topup-presets button{padding:9px 10px}

  .profile-pane[data-profile-pane="subscriptions"] .profile-section-head{display:grid;gap:8px;align-items:start}
  .profile-pane[data-profile-pane="subscriptions"] .profile-section-head a{justify-self:start}
  .profile-pane[data-profile-pane="subscriptions"] .profile-two-cols{gap:10px}
  .profile-pane[data-profile-pane="subscriptions"] .profile-box{padding:14px;border-radius:18px}
  .profile-pane[data-profile-pane="subscriptions"] .profile-box-head{margin-bottom:12px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-metrics div{padding:10px 8px;border-radius:12px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-metrics b{font-size:14px}
  .profile-pane[data-profile-pane="subscriptions"] .reward-grid{grid-template-columns:1fr;gap:8px}
  .profile-pane[data-profile-pane="subscriptions"] .plans-preview-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-plan-card{padding:13px;border-radius:18px;gap:8px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-plan-card h3{font-size:18px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-plan-price{font-size:21px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-plan-caps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .profile-pane[data-profile-pane="subscriptions"] .mini-plan-caps span{padding:7px 8px;font-size:10.5px}
  .profile-pane[data-profile-pane="subscriptions"] .btn{padding:11px 10px}
}
@media(max-width:420px){
  .plans-hero-points{grid-template-columns:1fr}
  .plans-wallet-card strong{font-size:24px}
  .active-gateway-strip>div{grid-template-columns:1fr 1fr}
  .smart-capabilities{grid-template-columns:1fr 1fr}
  .capability{padding:8px}
  .plan-card-head{display:grid}
  .plan-actions-pro{grid-template-columns:1fr}
  .profile-pane[data-profile-pane="subscriptions"] .mini-metrics{grid-template-columns:1fr 1fr 1fr}
}


/* ===== CinemaCity v5.5.5 requests + support refinement ===== */
.requests-page-pro{padding:26px 0 40px}.requests-shell{display:grid;gap:18px}.requests-headline{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:16px;align-items:stretch}.requests-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.04);color:var(--accent);font-size:12px;margin-bottom:10px}.requests-headline h1{margin:0 0 8px;font-size:36px}.requests-headline p{margin:0;max-width:760px;color:var(--muted);line-height:2}.requests-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.requests-mini-stats>div,.request-submit-card,.request-list-card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 48px rgba(0,0,0,.14)}.requests-mini-stats>div{padding:18px 16px;display:grid;gap:8px;align-content:center}.requests-mini-stats strong{font-size:28px}.requests-mini-stats span{color:var(--muted);font-size:13px}.requests-grid-pro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px}.request-submit-card,.request-list-card{padding:18px}.request-card-head{display:grid;gap:6px;margin-bottom:14px}.request-card-head h2{margin:0;font-size:24px}.request-card-head p{margin:0;color:var(--muted);line-height:1.9}.request-public-form,.request-form-pro,.enhanced-support-form{display:grid;gap:12px}.request-public-form label,.request-form-pro label,.enhanced-support-form label{display:grid;gap:8px;font-weight:700;color:#eef2ff}.request-public-form input,.request-public-form textarea,.request-form-pro input,.request-form-pro textarea,.enhanced-support-form input,.enhanced-support-form textarea,.enhanced-support-form select{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#fff}.enhanced-support-form select{appearance:none}.public-request-captcha,.simple-captcha-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px dashed rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.02)}.public-request-captcha strong,.simple-captcha-box strong{font-size:21px;letter-spacing:.03em}.public-request-captcha small,.support-captcha-row small{color:var(--muted)}.public-request-captcha input,.simple-captcha-box input{max-width:150px;text-align:center;font-weight:900}.support-captcha-row{display:grid;gap:8px}.simple-captcha-box{justify-content:flex-start}.simple-captcha-box input{margin-inline-start:auto}.request-login-lock{display:grid;gap:14px;align-content:start;padding:18px;border-radius:18px;background:rgba(255,255,255,.02)}.request-items-pro{display:grid;gap:12px}.request-item-pro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.018)}.request-main{min-width:0;display:grid;gap:6px}.request-title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.request-title-row b{font-size:17px}.request-main small{color:var(--muted)}.request-status-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.request-status-chip.pending{background:rgba(125,140,255,.14);color:#cfd6ff}.request-status-chip.approved{background:rgba(255,214,71,.12);color:#ffe899}.request-status-chip.done{background:rgba(51,211,141,.14);color:#aaf8cf}.request-votes-box{min-width:74px;display:grid;place-items:center;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.03)}.request-votes-box span{font-size:26px;font-weight:900}.request-votes-box small{color:var(--muted)}.request-empty-state{padding:28px 16px;border-radius:18px;background:rgba(255,255,255,.02);text-align:center;color:var(--muted)}
@media(max-width:980px){.requests-headline,.requests-grid-pro{grid-template-columns:1fr}.requests-headline h1{font-size:30px}}
@media(max-width:640px){.requests-page-pro{padding:16px 0 28px}.requests-shell{gap:14px}.requests-headline{gap:12px}.requests-headline h1{font-size:26px;line-height:1.5}.requests-headline p,.request-card-head p{font-size:13px;line-height:1.95}.requests-mini-stats{grid-template-columns:1fr 1fr;gap:8px}.requests-mini-stats>div,.request-submit-card,.request-list-card{border-radius:20px}.requests-mini-stats>div{padding:14px 12px}.requests-mini-stats strong{font-size:22px}.request-submit-card,.request-list-card{padding:14px}.request-card-head h2{font-size:20px}.public-request-captcha,.simple-captcha-box{display:grid;grid-template-columns:1fr;align-items:start}.public-request-captcha input,.simple-captcha-box input{max-width:none;width:100%;margin-inline-start:0}.request-item-pro{padding:13px;gap:10px;align-items:flex-start}.request-title-row b{font-size:15px}.request-votes-box{min-width:62px;padding:8px 10px}.request-votes-box span{font-size:22px}.enhanced-support-form select,.request-public-form input,.request-public-form textarea,.request-form-pro input,.request-form-pro textarea,.enhanced-support-form input,.enhanced-support-form textarea{padding:12px 13px}}


/* ===== CinemaCity v5.5.6 support department picker ===== */
.support-department-picker{border:0;padding:0;margin:0;display:grid;gap:8px;min-inline-size:0}.support-department-picker legend{font-weight:900;color:#f4f7ff;font-size:14px;padding:0;margin:0 0 2px}.support-department-picker>p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.support-department-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.support-department-option{position:relative;display:block!important;cursor:pointer}.support-department-option>input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;padding:0!important}.support-department-card{min-height:76px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:11px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;color:#eef2ff}.support-department-card>.ic{grid-row:1/3;width:22px;height:22px;justify-self:center;color:#8c96aa}.support-department-card b{font-size:13px;line-height:1.5;align-self:end}.support-department-card small{color:var(--muted);font-size:10.5px;line-height:1.55;align-self:start}.support-department-option:hover .support-department-card{border-color:rgba(255,255,255,.15);transform:translateY(-1px)}.support-department-option>input:checked+.support-department-card{border-color:rgba(255,51,102,.48);background:linear-gradient(135deg,rgba(255,51,102,.15),rgba(255,255,255,.035));box-shadow:0 0 0 1px rgba(255,51,102,.12) inset,0 10px 28px rgba(255,51,102,.08)}.support-department-option>input:checked+.support-department-card>.ic{color:#ff7295}.support-department-option>input:checked+.support-department-card b{color:#fff}.support-department-other{grid-column:1/-1}.support-department-other .support-department-card{min-height:66px}
@media(max-width:640px){.support-department-grid{grid-template-columns:1fr 1fr;gap:7px}.support-department-card{min-height:70px;padding:10px;grid-template-columns:28px minmax(0,1fr);column-gap:8px;border-radius:14px}.support-department-card>.ic{width:19px;height:19px}.support-department-card b{font-size:11.5px}.support-department-card small{font-size:9.5px}.support-department-other{grid-column:1/-1}.support-department-other .support-department-card{min-height:58px}}
@media(max-width:380px){.support-department-grid{grid-template-columns:1fr}.support-department-other{grid-column:auto}.support-department-card{min-height:62px}}

/* ===== CinemaCity v5.5.7 captcha alignment ===== */
.simple-captcha-box,
.public-request-captcha{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px;
  align-items:center;
  gap:14px;
  direction:ltr;
}
.simple-captcha-box strong,
.public-request-captcha strong{
  display:block;
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left;
  justify-self:start;
  font-variant-numeric:tabular-nums;
}
.simple-captcha-box input,
.public-request-captcha>input{
  width:100%!important;
  max-width:150px!important;
  margin:0!important;
  justify-self:end;
  direction:rtl;
  text-align:center;
}
.public-request-captcha>div{
  min-width:0;
  direction:rtl;
  text-align:right;
}
.public-request-captcha>div strong{
  margin-top:4px;
}
@media(max-width:640px){
  .simple-captcha-box,
  .public-request-captcha{
    grid-template-columns:minmax(0,1fr) 118px!important;
    gap:10px;
    padding:11px 12px;
  }
  .simple-captcha-box input,
  .public-request-captcha>input{
    max-width:118px!important;
    min-width:0;
    padding:11px 8px!important;
  }
  .simple-captcha-box strong,
  .public-request-captcha strong{
    font-size:19px;
  }
}
@media(max-width:360px){
  .simple-captcha-box,
  .public-request-captcha{
    grid-template-columns:minmax(0,1fr) 104px!important;
  }
  .simple-captcha-box input,
  .public-request-captcha>input{
    max-width:104px!important;
  }
}

/* CinemaCity secure avatar profile UI */
.profile-avatar-pro{overflow:hidden}.profile-avatar-pro img{width:100%;height:100%;object-fit:cover;display:block}.profile-account-grid{align-items:start}.profile-avatar-form{display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;align-items:center}.profile-avatar-preview{width:92px;height:92px;border-radius:50%;overflow:hidden;border:2px solid color-mix(in srgb,var(--primary) 46%,var(--line));background:var(--surface2)}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-copy b{display:block;font-size:16px}.profile-avatar-copy p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.9}.profile-avatar-pick{position:relative;overflow:hidden;justify-content:center}.profile-avatar-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.profile-avatar-status{grid-column:1/-1;min-height:18px;color:var(--muted)}.profile-avatar-form>.btn{min-height:42px}
@media(max-width:640px){.profile-avatar-form{grid-template-columns:72px minmax(0,1fr)}.profile-avatar-preview{width:72px;height:72px}.profile-avatar-form>.btn{grid-column:1/-1}}

/* CinemaCity R05: unified download action cards, no detached copy buttons. */
.download-quality-grid{align-items:stretch}
.download-quality-grid>.cc-quality-actions{min-width:0;display:flex;flex-direction:column;gap:8px}
.download-quality-grid .cc-quality-actions>.download-quality-card{flex:1;min-width:0;width:100%;height:auto!important}
.download-quality-grid .cc-copy-link{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;padding:9px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.32);background:#202836;color:#e8edf7;font-family:inherit;font-weight:700;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}
.download-quality-grid .cc-copy-link:hover,.download-quality-grid .cc-copy-link:focus-visible{background:#29374b;border-color:#72bff2;outline:none}
.download-quality-grid .cc-copy-link:active{transform:translateY(1px)}
@media(max-width:480px){.download-quality-grid .cc-quality-actions{gap:6px}.download-quality-grid .cc-copy-link{min-height:39px;padding:7px;font-size:11px}}

/* Profile navigation: show every tab, including Rules, without clipping. */
.profile-pro .profile-nav-pro {
  display:flex!important; flex-wrap:wrap!important; overflow:visible!important;
  justify-content:flex-start!important; align-items:center!important;
  gap:8px!important; height:auto!important; max-height:none!important;
  margin:16px 0 22px!important; padding:10px 0!important;
}
.profile-pro .profile-nav-pro button {
  flex:0 0 auto!important; white-space:nowrap!important;
  max-width:100%!important; padding:9px 13px!important;
  line-height:1.6!important; border:1px solid var(--line)!important;
  border-radius:10px!important; background:rgba(255,255,255,.035)!important;
}
.profile-pro .profile-nav-pro button.active {
  color:var(--primary)!important; border-color:var(--primary)!important;
  background:rgba(225,29,72,.12)!important;
}
@media(max-width:640px) {
  .profile-pro .profile-nav-pro { gap:6px!important; margin:12px 0 16px!important; }
  .profile-pro .profile-nav-pro button { font-size:12px!important; padding:8px 10px!important; }
}
