/* ==========================================================
   TOKA STREAM — styles personnalisés (Tailwind gère le reste)
   Palette : anthracite #161616 · or champagne #d4b67b
   ========================================================== */
body { background:#161616; color:#e8e2d6; }
.deco { font-family:'Limelight','Inter',serif; font-weight:400; }
.logo-glow { text-shadow:0 0 14px rgba(212,182,123,.35); }

/* Texte sombre sur fond or (lisibilité) */
.bg-blood, .bg-blood\/90, .hover\:bg-blood:hover, .hover\:bg-blood-dark:hover, .hover\:bg-blood\/70:hover { color:#161616 !important; }

.glass { background:rgba(22,22,22,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.no-scrollbar::-webkit-scrollbar { display:none; }
.no-scrollbar { scrollbar-width:none; }

/* Cartes */
.card .poster { transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.card:hover .poster { transform:scale(1.07); }
.card { transition:transform .25s ease; }
.card:hover { transform:translateY(-3px); }

@keyframes fadeUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.fade-up { animation:fadeUp .4s ease both; }
.hero-bg { transition:background 1s ease; }

/* Champs de formulaire */
.field { width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:.5rem; padding:.7rem .9rem; font-size:.9rem; color:#fff; outline:none; transition:.2s; }
.field:focus { border-color:#d4b67b; box-shadow:0 0 0 3px rgba(212,182,123,.25); }
select.field { padding:.45rem .7rem; width:auto; font-size:.8rem; }
select.field option { background:#212121; color:#fff; }

/* Cases à cocher et jauges */
input[type=checkbox] { accent-color:#d4b67b; }
.bar { height:6px; border-radius:999px; background:rgba(255,255,255,.1); overflow:hidden; }
.bar > i { display:block; height:100%; background:#d4b67b; transition:width .3s ease; }

/* Étoiles de notation */
.star { font-size:1.5rem; line-height:1; color:rgba(255,255,255,.25); transition:color .15s, transform .15s; cursor:pointer; background:none; border:0; padding:0 .1rem; }
.star:hover { transform:scale(1.15); }
.star.on { color:#d4b67b; }

/* Squelette de chargement */
@keyframes shimmer { 0% { background-position:-200px 0; } 100% { background-position:calc(200px + 100%) 0; } }
.skeleton { display:block; border-radius:.4rem; background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.12) 50%,rgba(255,255,255,.05) 75%); background-size:200px 100%; animation:shimmer 1.3s infinite linear; }

/* Fenêtre bande-annonce */
dialog#trailer-modal { background:transparent; padding:0; border:0; margin:auto; width:min(94vw,960px); max-width:none; overflow:visible; }
dialog::backdrop { background:rgba(0,0,0,.85); backdrop-filter:blur(4px); }
.video-box { position:relative; aspect-ratio:16/9; background:#000; border-radius:.75rem; overflow:hidden; border:1px solid rgba(212,182,123,.25); }
.video-box iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Calendrier & notifications */
#notif-panel { backdrop-filter: blur(10px); }
#notif-panel li a { transition: background .15s; }
.card .poster img { display:block; }

/* Pages légales */
.prose-legal h2 { color:#fff; font-weight:700; font-size:1.05rem; margin:1.8rem 0 .5rem; }
.prose-legal p, .prose-legal li { color:rgba(232,226,214,.75); font-size:.9rem; line-height:1.7; }
.prose-legal ul { list-style:disc; padding-left:1.25rem; margin:.4rem 0; }
.prose-legal a { color:#d4b67b; text-decoration:underline; }
.prose-legal code { background:rgba(255,255,255,.08); padding:.1rem .35rem; border-radius:.3rem; font-size:.8rem; }

@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }
