:root{
  --bg:#0c0c0c; --bg2:#141414; --surface:#1f1f1f; --line:#262626;
  --primary:#E50914; --text:#fff; --muted:#b3b3b3; --dim:#808080;
  --pad:clamp(16px,4vw,60px); --radius:6px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:var(--bg);color:var(--text);font-family:'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;
  padding:12px var(--pad);background:linear-gradient(180deg,var(--bg2),rgba(20,20,20,0));}
.topbar.scrolled{background:var(--bg2);}
.logo{color:var(--primary);font-weight:800;font-size:20px;letter-spacing:.5px;}
.nav{display:none;gap:18px;font-size:14px;color:#e5e5e5;}
.nav a:hover{color:var(--muted);}
.topbar .right{margin-left:auto;display:flex;gap:14px;font-size:18px;align-items:center;}
.hamburger{display:inline;cursor:pointer;}

/* Hero billboard */
.hero{position:relative;min-height:72vh;display:flex;align-items:flex-end;
  background-size:cover;background-position:center top;}
.hero::after{content:'';position:absolute;inset:0;
  background:linear-gradient(0deg,var(--bg) 5%,rgba(12,12,12,0) 55%);}
.hero-inner{position:relative;z-index:2;padding:0 var(--pad) 28px;max-width:640px;}
.hero h1{font-size:34px;line-height:1.05;margin-bottom:8px;}
.hero p{font-size:14px;color:#e5e5e5;margin-bottom:16px;}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;font-size:13px;color:#ddd;}
.hero-btns{display:flex;gap:10px;}

/* Badges */
.badge-live{background:var(--primary);color:#fff;font-weight:700;font-size:11px;
  padding:3px 8px;border-radius:3px;display:inline-flex;gap:6px;align-items:center;}
.badge-live .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* Buttons */
.btn{border:0;border-radius:4px;padding:12px 18px;font-size:15px;font-weight:700;
  cursor:pointer;display:inline-flex;gap:8px;align-items:center;justify-content:center;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-light{background:#fff;color:#000;}
.btn-ghost{background:rgba(109,109,110,.7);color:#fff;}

/* Rows */
.rows{padding-bottom:50px;margin-top:-24px;position:relative;z-index:3;}
.row{margin:22px 0;}
.row h2{font-size:17px;margin:0 var(--pad) 8px;font-weight:700;}
.row h2 small{color:var(--dim);font-weight:400;font-size:12px;margin-left:6px;}
.track{display:flex;gap:8px;overflow-x:auto;padding:4px var(--pad);
  scrollbar-width:none;scroll-snap-type:x mandatory;}
.track::-webkit-scrollbar{display:none;}

/* Card */
.card{flex:0 0 auto;width:40vw;max-width:150px;aspect-ratio:2/3;border-radius:var(--radius);
  position:relative;overflow:hidden;background:var(--surface);scroll-snap-align:start;
  transition:transform .25s ease,box-shadow .25s ease;}
.card img{width:100%;height:100%;object-fit:cover;}
.card .ph{position:absolute;inset:0;background:linear-gradient(160deg,#3a2a5a,#14101e);}
.card .info{position:absolute;left:0;right:0;bottom:0;padding:8px;
  background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);font-size:13px;font-weight:700;}
.card .live{position:absolute;top:7px;left:7px;display:none;}
.card.is-live .live{display:block;}
/* badge live du profil, piloté en direct par live.js */
.profile .live-badge{display:none;}
.profile.is-live .live-badge{display:inline-flex;}
.card .age{position:absolute;top:7px;right:7px;background:rgba(0,0,0,.6);font-size:10px;padding:2px 6px;border-radius:3px;}

/* Grid (catégorie) */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:18px var(--pad) 50px;}
.grid .card{width:auto;max-width:none;}
.archive-head{padding:18px var(--pad) 0;}
.archive-head h1{font-size:24px;}
.cat-intro{color:var(--muted);font-size:14px;line-height:1.7;max-width:75ch;margin-top:10px;}
.cat-intro strong{color:#fff;}

/* Player (single) */
.player{position:relative;width:100%;aspect-ratio:16/9;background:#000;
  display:flex;align-items:center;justify-content:center;overflow:hidden;}
.player img{width:100%;height:100%;object-fit:cover;opacity:.85;}
.player iframe{width:100%;height:100%;border:0;}
.player .play{position:absolute;width:72px;height:72px;border-radius:50%;
  background:rgba(0,0,0,.55);border:2px solid #fff;display:flex;align-items:center;
  justify-content:center;font-size:28px;transition:transform .2s,background .2s;}
.player a.play:hover{transform:scale(1.1);background:var(--primary);border-color:var(--primary);}
.player .live{position:absolute;top:12px;left:12px;}

.profile{padding:18px var(--pad) 50px;}
.profile h1{font-size:26px;margin-bottom:6px;}
.profile .meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:16px;}
.profile .actions{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap;}
.profile .synopsis{color:#ddd;font-size:15px;line-height:1.6;margin-bottom:24px;max-width:70ch;}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-bottom:24px;max-width:640px;}
.spec{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0;font-size:14px;}
.spec b{color:var(--dim);font-weight:400;}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;}
.tag{background:var(--surface);border:1px solid var(--line);color:#ddd;font-size:13px;padding:5px 12px;border-radius:20px;}
.tag:hover{border-color:var(--primary);color:#fff;}

/* Footer */
.footer{border-top:1px solid var(--line);padding:30px var(--pad);color:var(--dim);font-size:13px;}
.footer a{color:var(--muted);}
.footer .legal{margin-top:10px;font-size:11px;line-height:1.6;}

/* Age gate 18+ */
/* Avant validation : tout le contenu (images comprises) est flouté dès le rendu
   serveur — aucun flash d'image nette possible — et non interactif. */
body.gated main{filter:blur(22px);pointer-events:none;user-select:none;}
.agegate{position:fixed;inset:0;z-index:9999;background:rgba(8,8,8,.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;}
.agegate-box{max-width:460px;text-align:center;background:var(--bg2);border:1px solid var(--line);
  border-radius:10px;padding:32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.agegate-logo{color:var(--primary);font-weight:800;font-size:24px;letter-spacing:.5px;margin-bottom:18px;}
.agegate-box h2{font-size:20px;margin-bottom:12px;}
.agegate-box p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:18px;}
.agegate-box strong{color:#fff;}
.agegate-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.agegate-btns .btn{width:100%;}
.agegate-legal{font-size:11px;color:var(--dim);margin-bottom:0;}
@media (min-width:600px){ .agegate-btns{flex-direction:row;} }

/* Desktop full-bleed */
@media (min-width:1024px){
  .logo{font-size:26px;} .nav{display:flex;} .hamburger{display:none;}
  .hero{min-height:62vh;}
  .hero::after{background:linear-gradient(0deg,var(--bg) 2%,rgba(12,12,12,0) 45%),
    linear-gradient(90deg,rgba(12,12,12,.7),rgba(12,12,12,0) 50%);}
  .hero h1{font-size:48px;} .hero p{font-size:16px;}
  .btn{padding:11px 26px;font-size:16px;}
  .row h2{font-size:20px;}
  .card{width:170px;max-width:none;}
  .card:hover{transform:scale(1.12);z-index:5;box-shadow:0 12px 30px rgba(0,0,0,.7);}
  .grid{grid-template-columns:repeat(6,1fr);}
  .player{aspect-ratio:21/9;max-height:70vh;}
  .profile h1{font-size:38px;}
}
@media (min-width:1500px){ .grid{grid-template-columns:repeat(8,1fr);} }

/* ── Maillage interne ─────────────────────────────────────────────── */
.breadcrumb{font-size:12px;color:var(--dim);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:#fff;}
.breadcrumb .sep{color:var(--dim);}
.breadcrumb .current{color:var(--dim);}

/* tags devenus des liens */
a.tag{text-decoration:none;transition:border-color .15s,color .15s;}

/* bloc catégories de la fiche */
.cat-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:22px;font-size:14px;}
.cat-links-label{color:var(--dim);}
.cat-links a{background:rgba(229,9,20,.12);border:1px solid rgba(229,9,20,.4);color:#fff;
  padding:4px 12px;border-radius:4px;font-weight:600;}
.cat-links a:hover{background:var(--primary);}

/* catégories connexes (pages catégorie) */
.related-cats{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px var(--pad) 40px;font-size:14px;}
.related-cats-label{color:var(--dim);}
.related-cats a{color:var(--muted);text-decoration:underline;}
.related-cats a:hover{color:#fff;}

/* Pages légales + formulaire DMCA */
.legal-page{max-width:820px;}
.legal-page .synopsis h2{color:#fff;font-size:18px;margin:24px 0 10px;}
.legal-page .synopsis a{color:var(--primary);}
.legal-page .synopsis ul{margin:0 0 14px 20px;}
.form-banner{border-radius:6px;padding:12px 16px;margin:14px 0;font-size:14px;}
.form-banner.ok{background:#10331c;border:1px solid #2f6b3f;color:#5bd07f;}
.form-banner.err{background:#3a1414;border:1px solid #6b2f2f;color:#ff8a8a;}
.dmca-form{margin:18px 0;max-width:560px;}
.dmca-form label{font-size:14px;color:var(--muted);}
.dmca-form label span{color:var(--primary);}
.dmca-form input[type=text],.dmca-form input[type=email],.dmca-form input[type=url],.dmca-form textarea{
  width:100%;margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:6px;
  color:#fff;padding:10px 12px;font-size:14px;font-family:inherit;}
.dmca-form .check{display:flex;gap:8px;align-items:flex-start;font-size:13px;}
.dmca-form .check input{margin-top:3px;}
.dmca-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* liens légaux du footer */
.footer-legal{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px;}
.footer-legal a{color:var(--muted);font-size:13px;}
.footer-legal a:hover{color:#fff;}

/* Recherche */
.topbar-search{display:none;}
.topbar-search input{background:var(--surface);border:1px solid var(--line);border-radius:20px;
  color:#fff;padding:7px 14px;font-size:13px;width:180px;}
.topbar-search input:focus{outline:none;border-color:var(--primary);}
.search-form{display:flex;gap:8px;margin:12px 0 4px;max-width:560px;}
.search-form input{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:6px;
  color:#fff;padding:10px 14px;font-size:15px;}
.search-form input:focus{outline:none;border-color:var(--primary);}
.search-msg{padding:6px var(--pad) 18px;color:var(--muted);font-size:14px;}
.search-msg a{color:var(--primary);}
@media (min-width:1024px){ .topbar-search{display:block;} }

/* page hub /performeuses/ */
.hub{padding:18px var(--pad) 50px;}
.hub h1{font-size:26px;margin-bottom:8px;}
.hub-section{margin-top:30px;}
.hub-section h2{font-size:18px;margin-bottom:14px;}
.hub-cats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.hub-cat{display:flex;justify-content:space-between;align-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:6px;padding:14px 16px;font-weight:700;}
.hub-cat:hover{border-color:var(--primary);}
.hub-cat-count{color:var(--dim);font-weight:400;font-size:13px;}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;}
.tag-cloud .tag small{color:var(--dim);}
@media(min-width:1024px){ .hub-cats{grid-template-columns:repeat(4,1fr);} }

/* footer de maillage */
.footer-mesh{display:flex;flex-wrap:wrap;gap:30px 60px;margin-bottom:24px;}
.footer-mesh .mesh-col{display:flex;flex-direction:column;gap:6px;}
.footer-mesh h3{font-size:13px;color:#fff;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;}
.footer-mesh a{color:var(--dim);font-size:13px;}
.footer-mesh a:hover{color:var(--muted);}

/* sélecteur de langue */
.lang-switch{display:none;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.5px;}
.lang-switch .current{color:var(--primary);}
.lang-switch a{color:var(--dim);text-decoration:none;}
.lang-switch a:hover{color:#fff;}
@media(min-width:768px){.lang-switch{display:flex;}}
