/* ===== AlvinFlix Hero Banner (Netflix-grade) + legal/cookie/consent ===== */
.afx-hero{position:relative;height:78vh;min-height:520px;max-height:820px;overflow:hidden;background:#000;margin-top:var(--navbar-height,64px)}
.afx-hero-stage{position:absolute;inset:0}
.afx-slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 1.2s ease;pointer-events:none}
.afx-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.afx-backdrop{position:absolute;inset:0}
.afx-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.afx-backdrop-blur{position:absolute;inset:0;backdrop-filter:blur(0px) brightness(.92);-webkit-backdrop-filter:blur(0px) brightness(.92)}
.afx-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.15) 70%,rgba(0,0,0,.35) 100%),linear-gradient(0deg,#0a0a0a 2%,transparent 30%,transparent 70%,rgba(0,0,0,.5) 100%)}
.afx-trailer{position:absolute;inset:0}
.afx-trailer iframe{width:100%;height:100%;border:0;object-fit:cover}
.afx-content{position:absolute;left:5%;bottom:14%;max-width:640px;z-index:3;animation:afxRise .8s cubic-bezier(.2,.7,.3,1) both}
.afx-slide.is-active .afx-content{animation:afxRise .8s cubic-bezier(.2,.7,.3,1) both}
@keyframes afxRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
.afx-kicker{display:flex;gap:.6rem;align-items:center;margin-bottom:.7rem}
.afx-kicker-badge{background:#e50914;color:#fff;font-weight:800;font-size:.72rem;letter-spacing:2px;padding:.28rem .6rem;border-radius:4px}
.afx-kicker-cat{color:#ddd;font-size:.85rem;letter-spacing:1.5px;text-transform:uppercase}
.afx-title{font-size:clamp(2rem,5vw,3.8rem);font-weight:800;line-height:1.05;text-shadow:0 4px 30px rgba(0,0,0,.7);margin-bottom:.6rem}
.afx-meta{display:flex;flex-wrap:wrap;gap:.9rem;color:#ddd;font-size:.92rem;margin-bottom:.7rem}
.afx-rating{color:#f5c518;font-weight:700}
.afx-premium{color:#f5c518;font-weight:700}
.afx-desc{color:#cfcfcf;font-size:1rem;line-height:1.55;margin-bottom:1.2rem;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.afx-ctas{display:flex;gap:.8rem;flex-wrap:wrap}
.afx-play{box-shadow:0 8px 30px rgba(229,9,20,.45)}
.afx-ctas .btn{transition:transform .25s ease,box-shadow .25s ease}
.afx-ctas .btn:hover{transform:translateY(-2px) scale(1.02)}
.afx-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:72px;background:rgba(0,0,0,.35);backdrop-filter:blur(6px);border-radius:10px;font-size:1.2rem;color:#fff;transition:background .25s}
.afx-arrow:hover{background:rgba(229,9,20,.8)}
.afx-prev{left:14px}.afx-next{right:14px}
.afx-dots{position:absolute;right:4%;bottom:12%;display:flex;gap:.5rem;z-index:4}
.afx-dot{width:26px;height:4px;border-radius:4px;background:rgba(255,255,255,.3);transition:background .3s,width .3s}
.afx-dot.is-active{background:#e50914;width:40px}
.afx-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12);z-index:4}
.afx-progress-bar{display:block;height:100%;width:0;background:#e50914}
/* legal */
.legal-page{max-width:860px;margin:0 auto;background:#141414;border:1px solid #2a2a2a;border-radius:12px;padding:2.5rem}
.legal-page h1{font-size:2rem;margin-bottom:.3rem}
.legal-updated{color:#888;font-size:.85rem;margin-bottom:1.5rem}
.legal-page h2{margin:1.6rem 0 .6rem;font-size:1.2rem;color:#fff}
.legal-page p,.legal-page li{color:#c9c9c9;font-size:.95rem;line-height:1.7}
.legal-page ul,.legal-page ol{padding-left:1.3rem;margin:.5rem 0}
.legal-page a{color:#e50914;text-decoration:underline}
/* cookie consent */
.afx-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:rgba(20,20,20,.96);border:1px solid #333;border-radius:12px;padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;box-shadow:0 10px 40px rgba(0,0,0,.6);backdrop-filter:blur(10px)}
.afx-consent p{font-size:.85rem;color:#ccc;flex:1}
.afx-consent a{color:#e50914;text-decoration:underline}
.afx-consent .btn{white-space:nowrap}
@media(max-width:768px){.afx-hero{height:72vh;min-height:460px}.afx-content{left:5%;right:5%;bottom:16%}.afx-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.afx-arrow{display:none}.legal-page{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){.afx-slide{transition:none}.afx-content{animation:none}}
