/* TODAYTV — CSS RIENG TRANG PHIM (phim.html)
   Token nam o assets/tokens.css. Khong dat mau cung o day. */
body.film-page{background:#0B0B0B;color:#FFFFFF}.film-page:before{display:none}.film-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(8,8,8,.96),rgba(8,8,8,.68),transparent);border:0;backdrop-filter:none;transition:.25s}.film-header.scrolled{background:rgba(11,11,11,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.film-hero{position:relative;min-height:clamp(600px,82vh,850px);display:flex;align-items:flex-end;overflow:hidden}.film-hero-bg{position:absolute;inset:0}.film-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.92) contrast(1.05)}.film-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.72) 36%,rgba(8,8,8,.12) 70%),linear-gradient(180deg,rgba(8,8,8,.12) 55%,#0B0B0B 100%)}.film-hero-content{position:relative;z-index:2;width:min(calc(100% - 48px),1320px);margin:0 auto;padding:160px 0 104px}.hero-kicker{display:none}.hero-kicker:before{content:"";width:28px;height:2px;background:var(--brand)}.film-title{max-width:730px;margin:14px 0 12px;font-size:var(--hero-title-size);line-height:1.06;letter-spacing:-.035em;text-shadow:0 10px 40px rgba(0,0,0,.5)}.film-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#DBDBDB;font-size:14px}.match{color:var(--brand-on-card);font-weight:800}.age{padding:2px 7px;border:1px solid rgba(255,255,255,.45);border-radius:4px}.film-desc{max-width:600px;margin:18px 0 24px;color:#D5D5D5;font-size:16px;line-height:1.7;text-shadow:0 3px 18px #000000}.hero-actions{display:flex;gap:11px}.stream-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;font-weight:800;transition:.2s}.stream-btn svg{width:19px;height:19px}.stream-btn.primary{background:#FFFFFF;color:#151515}.stream-btn.secondary{background:rgba(255,255,255,.16);backdrop-filter:blur(10px)}.stream-btn:hover{transform:translateY(-2px)}.stream-btn.primary:hover{background:var(--brand);color:#FFFFFF}.stream-btn.secondary:hover{background:rgba(255,255,255,.25)}
.catalog{position:relative;z-index:5;margin-top:-62px;padding:0 0 100px}.catalog-inner{width:min(calc(100% - 48px),1450px);margin:auto}.genre-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}.genre-title{font-size:clamp(25px,3vw,38px);font-weight:800;letter-spacing:-.04em}.genre-filters{display:flex;gap:8px;overflow:auto;scrollbar-width:none}.genre-filter{padding:9px 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(26,26,26,.85);color:#B5B5B5;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}.genre-filter:hover,.genre-filter.active{border-color:var(--brand);color:#FFFFFF;background:rgba(var(--brand-rgb),.18)}
.rail-section{margin-bottom:46px}.rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.rail-head h2{margin:0;font-size:var(--title-size);letter-spacing:-.035em}.rail-controls{display:flex;gap:7px}.rail-arrow{width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#1B1B1B;color:#FFFFFF;display:grid;place-items:center;cursor:pointer;transition:.2s}.rail-arrow:hover{border-color:var(--brand);background:var(--brand);color:#FFFFFF}.rail-arrow svg{width:15px;height:15px}.film-rail-page{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(230px,21vw,315px);gap:14px;overflow-x:auto;overflow-y:hidden;padding:5px 3px 22px;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-inline:contain}.film-rail-page::-webkit-scrollbar{display:none}
.stream-card{position:relative;min-width:0;scroll-snap-align:start;transition:.28s;transform-origin:center;border-radius:13px}.stream-card[hidden]{display:none}.stream-card:hover{z-index:10;transform:translateY(-7px) scale(1.025)}.stream-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#1B1B1B;box-shadow:0 16px 34px rgba(0,0,0,.25)}.stream-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.stream-card:hover img{transform:scale(1.07)}.stream-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(7,7,7,.9));opacity:.8}.card-badge{position:absolute;top:10px;left:10px;z-index:3;padding:5px 8px;border-radius:6px;background:var(--brand-hover);color:#FFFFFF;font-size:12px;font-weight:800;letter-spacing:.1em}.card-play{position:absolute;z-index:4;left:13px;bottom:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#FFFFFF;color:#151515;opacity:0;transform:translateY(8px);transition:.25s}.card-play svg{width:15px;height:15px}.stream-card:hover .card-play{opacity:1;transform:none}.card-copy{padding:12px 4px 0}.card-copy h3{margin:0 0 7px;font-size:16px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-info{display:flex;align-items:center;gap:8px;color:#949494;font-size:12px}.card-info .quality{padding:1px 5px;border:1px solid #5F5F5F;border-radius:3px;color:#C0C0C0}.top-rail{grid-auto-columns:clamp(260px,26vw,380px);gap:38px;padding-left:56px}.rank-card{position:relative}.rank-number{position:absolute;left:-58px;bottom:64px;z-index:1;font-size:clamp(110px,12vw,168px);line-height:.76;font-weight:800;letter-spacing:-.1em;color:#0B0B0B;-webkit-text-stroke:3px #DBDBDB;text-shadow:0 12px 30px rgba(0,0,0,.8);pointer-events:none}.rank-card .stream-card-media{aspect-ratio:16/9}.rank-card .card-copy{padding-left:0;position:relative;z-index:4}.rank-card img{object-position:center}.coming-card .stream-card-media:before{content:attr(data-date);position:absolute;inset:auto 12px 12px auto;z-index:4;padding:6px 9px;border-radius:7px;background:rgba(11,11,11,.8);backdrop-filter:blur(8px);font-size:12px;font-weight:800;color:var(--brand-on-card)}
.film-promo{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid rgba(var(--brand-rgb),.35);border-radius:20px;background:linear-gradient(120deg,#1E1E1E,#131313);margin-top:12px}.promo-copy{padding:clamp(28px,5vw,58px);align-self:center}.promo-copy>span{display:none}.promo-copy h2{margin:0 0 12px;font-size:var(--title-size);line-height:1.16}.promo-copy p{color:#B7B7B7;line-height:1.7}.promo-media{min-height:310px}.promo-media img{width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000000 22%)}
.film-page .footer{margin-top:0}
@media(max-width:950px){.film-hero{min-height:690px}.film-hero-bg:after{background:linear-gradient(90deg,rgba(8,8,8,.93),rgba(8,8,8,.32)),linear-gradient(180deg,transparent 48%,#0B0B0B 100%)}.genre-bar{align-items:flex-start;flex-direction:column}.genre-filters{width:100%}.film-promo{grid-template-columns:1fr}.promo-media{order:-1;min-height:250px}.promo-media img{mask-image:linear-gradient(180deg,#000000,transparent)}}
@media(max-width:780px){.film-hero-content,.catalog-inner{width:min(calc(100% - 28px),1450px)}.film-hero-content{padding-bottom:92px}.catalog{margin-top:-45px}.film-rail-page{grid-auto-columns:72vw}.top-rail{grid-auto-columns:58vw;padding-left:44px;gap:30px}.rank-number{left:-46px;bottom:64px;font-size:118px}.rail-controls{display:none}.film-desc{font-size:14px}.film-title{font-size:var(--hero-title-size)}}
@media(max-width:430px){.film-hero-content,.catalog-inner{width:calc(100% - 20px)}.film-hero{min-height:630px}.film-title{font-size:var(--hero-title-size)}.hero-actions{flex-wrap:wrap}.stream-btn{padding:11px 14px}.film-rail-page{grid-auto-columns:82vw}.top-rail{grid-auto-columns:68vw}.catalog{padding-bottom:70px}}
