 :root{--bg:#03040b;--panel:#0c0b19cc;--purple:#8b2cff;--purple-2:#c34dff;--text:#fff;--muted:#b8b4ce;--line:#2b2150;--glow:0 0 28px rgba(139,44,255,.65)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 62% 18%,rgba(139,44,255,.35),transparent 35%),radial-gradient(circle at 18% 30%,rgba(56,29,161,.35),transparent 24%),linear-gradient(180deg,#02030a 0%,#070612 45%,#02030a 100%);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1px),radial-gradient(circle at 70% 10%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 50%,#fff 0 1px,transparent 1px);background-size:240px 240px,340px 340px,420px 420px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;border:0;cursor:pointer}.container{width:min(1180px,calc(100% - 40px));margin:auto}header{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:rgba(3,4,11,.72);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo{font-weight:900;letter-spacing:.08em;line-height:.9;font-size:25px}.logo span{display:block;color:var(--purple-2);text-shadow:var(--glow)}.menu{display:flex;gap:25px;color:#eee;font-size:14px}.menu a{opacity:.86;position:relative}.menu a.active:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--purple-2);box-shadow:var(--glow)}.search-input{width:230px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;padding:12px 16px;outline:none}.hamb{display:none;background:none;font-size:25px}.primary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(135deg,var(--purple),#651cff);padding:13px 20px;box-shadow:0 0 24px rgba(139,44,255,.45);font-weight:800}.hero{position:relative;padding:84px 0 62px;min-height:620px;overflow:hidden;background:linear-gradient(to bottom,rgba(3,4,11,.28),rgba(3,4,11,.84)),url("../images/planetestream.jpg");background-size:cover;background-position:center}.hero-content{position:relative;z-index:2;max-width:650px}.eyebrow{text-transform:uppercase;color:var(--purple-2);font-weight:900;letter-spacing:.14em;font-size:13px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.03;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;margin-top:12px}.hero h1 strong{color:var(--purple-2);text-shadow:var(--glow)}.hero p:not(.eyebrow){margin:24px 0 26px;color:#e6e1f3;font-size:18px;line-height:1.6;max-width:560px}.play:before{content:"▶";margin-right:12px}.badges{display:flex;gap:24px;margin-top:42px;color:#ddd;font-size:13px;flex-wrap:wrap}.badge{display:flex;align-items:center;gap:10px}.badge i{color:var(--purple-2);font-style:normal;font-weight:900}.tabs{display:flex;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.05);padding:12px;border-radius:16px;margin:28px 0;overflow:auto;backdrop-filter:blur(12px)}.tabs button{background:rgba(255,255,255,.06);padding:11px 20px;border-radius:999px;color:#eee;white-space:nowrap}.tabs .active{background:linear-gradient(135deg,var(--purple),#6e20ff);box-shadow:var(--glow)}section{margin:28px 0 42px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-head p{color:var(--muted);font-size:14px}.section-title{font-size:22px;text-transform:uppercase;border-left:3px solid var(--purple-2);padding-left:14px}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.card{background:#070813;border-radius:13px;overflow:hidden;border:1px solid rgba(255,255,255,.08);transition:.25s;box-shadow:0 12px 32px rgba(0,0,0,.35);text-align:left}.card:hover{transform:translateY(-6px);box-shadow:0 0 25px rgba(139,44,255,.32)}.poster{height:255px;background:linear-gradient(145deg,#3b1c70,#111);position:relative;background-size:cover;background-position:center}.poster:after{content:attr(data-title);position:absolute;left:14px;right:14px;bottom:18px;font-weight:900;font-size:22px;text-transform:uppercase;line-height:.92;text-shadow:0 4px 14px #000}.poster:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 42%,rgba(0,0,0,.82))}.info{padding:13px}.info h3{font-size:14px;margin-bottom:8px}.meta{display:flex;flex-wrap:wrap;gap:6px;color:#aaa;font-size:11px}.meta span{background:#171827;border:1px solid #2a2a3d;border-radius:4px;padding:2px 6px}.cta{margin:20px 0 36px;padding:25px;border-radius:16px;background:linear-gradient(135deg,rgba(139,44,255,.23),rgba(32,21,60,.88));border:1px solid rgba(195,77,255,.4);display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-copy{display:flex;align-items:center;gap:20px}.cta h2{font-size:22px}.cta p{color:var(--muted);margin-top:5px}.circle{min-width:62px;width:62px;height:62px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;box-shadow:var(--glow)}.modal{width:min(820px,calc(100% - 30px));border:1px solid rgba(195,77,255,.45);border-radius:20px;background:#090713;color:#fff;padding:0;box-shadow:0 0 80px rgba(0,0,0,.75)}.modal::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.modal-close{position:absolute;right:16px;top:12px;background:rgba(255,255,255,.12);border-radius:50%;width:38px;height:38px;font-size:26px}.modal-hero{min-height:250px;background-size:cover;background-position:center;border-radius:20px 20px 0 0;position:relative}.modal-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),#090713)}.modal-body{padding:28px;position:relative}.modal-body h2{font-size:34px;margin-bottom:12px}.modal-body p{color:#ded8ef;line-height:1.7;margin:12px 0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{background:#171827;border:1px solid #2a2a3d;border-radius:999px;padding:6px 10px;font-size:12px;color:#ddd}footer{border-top:1px solid rgba(255,255,255,.08);padding:34px 0 50px;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:2fr repeat(2,1fr);gap:30px}.footer-grid h4{color:#fff;margin-bottom:14px}.footer-grid li{list-style:none;margin:9px 0;font-size:14px}.admin-panel{padding:36px 0}.admin-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:22px;margin:22px 0}.admin-row{display:flex;gap:10px;flex-wrap:wrap}.admin-row input,.admin-row select,textarea{background:#0d0d1a;border:1px solid #30224e;color:#fff;border-radius:10px;padding:12px}textarea{width:100%;min-height:220px;margin-top:12px}.result-list{display:grid;gap:12px;margin-top:18px}.tmdb-result{display:flex;gap:14px;align-items:center;background:#080914;border:1px solid rgba(255,255,255,.08);padding:10px;border-radius:14px}.tmdb-result img{width:72px;height:108px;object-fit:cover;border-radius:8px;background:#171827}@media(max-width:900px){.menu,.nav-actions{display:none}.hamb{display:block}.grid{grid-template-columns:repeat(3,1fr)}.hero{min-height:auto}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(100% - 26px,1180px)}.grid{grid-template-columns:repeat(2,1fr);gap:13px}.poster{height:205px}.poster:after{font-size:18px}.cta,.section-head{flex-direction:column;align-items:flex-start}.primary{width:100%}.footer-grid{grid-template-columns:1fr}.modal-body h2{font-size:26px}}
/* === Accents rouges Planète Stream : liserés danger premium === */
:root{
  --red:#ff2d55;
  --red-dark:#9b1230;
  --red-glow:0 0 18px rgba(255,45,85,.45);
}

body{
  background:
    radial-gradient(circle at 78% 18%, rgba(255,45,85,.20), transparent 26%),
    radial-gradient(circle at 62% 18%, rgba(139,44,255,.35), transparent 35%),
    radial-gradient(circle at 18% 30%, rgba(56,29,161,.35), transparent 24%),
    linear-gradient(180deg,#02030a 0%,#070612 45%,#02030a 100%);
}

header{
  border-bottom:1px solid rgba(255,45,85,.22);
}

.logo span{
  text-shadow:
    0 0 22px rgba(139,44,255,.65),
    0 0 10px rgba(255,45,85,.35);
}

.menu a.active:after{
  background:linear-gradient(90deg,var(--purple-2),var(--red));
  box-shadow:var(--red-glow), var(--glow);
}

.primary{
  background:linear-gradient(135deg,var(--purple),#7d22ff 58%,var(--red-dark));
  box-shadow:
    0 0 24px rgba(139,44,255,.45),
    0 0 16px rgba(255,45,85,.22);
}

.primary:hover{
  box-shadow:
    0 0 28px rgba(139,44,255,.55),
    0 0 24px rgba(255,45,85,.38);
}

.hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(255,45,85,.16) 59%, transparent 62%),
    radial-gradient(circle at 78% 30%, rgba(255,45,85,.16), transparent 22%);
  mix-blend-mode:screen;
}

.hero-content:before{
  content:"";
  display:block;
  width:96px;
  height:3px;
  margin-bottom:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--red),transparent);
  box-shadow:var(--red-glow);
}

.tabs{
  border-color:rgba(255,45,85,.18);
  box-shadow:inset 0 0 0 1px rgba(255,45,85,.04);
}

.tabs .active{
  background:linear-gradient(135deg,var(--purple),#7d22ff 62%,var(--red-dark));
  box-shadow:var(--glow), var(--red-glow);
}

.section-title{
  border-left:4px solid var(--red);
  text-shadow:0 0 10px rgba(255,45,85,.35);
}

.section-head{
  position:relative;
}

.section-head:after{
  content:"";
  height:1px;
  flex:1;
  align-self:center;
  min-width:80px;
  background:linear-gradient(90deg,rgba(255,45,85,.55),transparent);
  box-shadow:var(--red-glow);
}

.card{
  border-color:rgba(255,255,255,.08);
  position:relative;
}

.card:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  opacity:.55;
  background:linear-gradient(to bottom,transparent,var(--red),transparent);
  z-index:2;
}

.card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,45,85,.75);
  box-shadow:
    0 0 12px rgba(255,45,85,.35),
    0 0 25px rgba(139,44,255,.35),
    0 12px 32px rgba(0,0,0,.35);
}

.poster:before{
  background:
    linear-gradient(to bottom,transparent 42%,rgba(0,0,0,.86)),
    linear-gradient(90deg,rgba(255,45,85,.20),transparent 25%);
}

.meta span,
.chip{
  border-color:rgba(255,45,85,.22);
}

.meta span:nth-child(2),
.chip:nth-child(2){
  border-color:rgba(255,45,85,.48);
  box-shadow:inset 0 0 12px rgba(255,45,85,.08);
}

.cta{
  border-color:rgba(255,45,85,.45);
  background:
    linear-gradient(135deg,rgba(255,45,85,.15),transparent 32%),
    linear-gradient(135deg,rgba(139,44,255,.23),rgba(32,21,60,.88));
}

.circle{
  border-color:var(--red);
  box-shadow:var(--red-glow), var(--glow);
}

.modal{
  border-color:rgba(255,45,85,.55);
  box-shadow:
    0 0 80px rgba(0,0,0,.75),
    0 0 28px rgba(255,45,85,.25);
}

.modal-close:hover{
  background:rgba(255,45,85,.35);
}

footer{
  border-top-color:rgba(255,45,85,.18);
}

/* === Finitions rouges supplémentaires : recherche, cartes, halo héro === */
.search-input{
  box-shadow:
    inset 0 0 0 1px rgba(255,60,60,.15),
    0 0 18px rgba(255,60,60,.08);
}

.search-input:focus{
  border-color:rgba(255,45,85,.55);
  box-shadow:
    inset 0 0 0 1px rgba(255,60,60,.20),
    0 0 22px rgba(255,45,85,.22),
    0 0 18px rgba(139,44,255,.18);
}

.card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:2px;
  background:linear-gradient(90deg,var(--red),transparent 70%);
  opacity:0;
  transition:.25s;
  z-index:3;
}

.card:hover::after{
  opacity:1;
}

.hero::after{
  content:"";
  position:absolute;
  width:500px;
  height:500px;
  right:-120px;
  top:120px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,40,60,.20), transparent 70%);
  pointer-events:none;
  z-index:1;
}

/* Petit coin rouge pour donner un côté contenu premium / vedette */
#featuredGrid .card::after{
  opacity:.8;
}

#featuredGrid .card:hover::after{
  opacity:1;
}

#featuredGrid .card .poster::after{
  text-shadow:
    0 4px 14px #000,
    0 0 12px rgba(255,45,85,.35);
}

/* === Fiche détail film premium === */

.modal{
  width:min(1050px, calc(100% - 28px));
  max-height:92vh;
  overflow:auto;
}

#modalContent{
  overflow:hidden;
  border-radius:20px;
}

.movie-backdrop{
  min-height:520px;
  background-size:cover;
  background-position:center;
  position:relative;
}

.movie-backdrop::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,5,12,.96) 0%,
            rgba(4,5,12,.82) 28%,
            rgba(4,5,12,.55) 55%,
            rgba(4,5,12,.35) 100%
        ),

        linear-gradient(
            to top,
            #090713 0%,
            rgba(9,7,19,.85) 30%,
            transparent 80%
        );
}

.movie-overlay{
  position:relative;
  z-index:2;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  gap:28px;
  padding:34px;
}

.movie-poster{
  flex:0 0 250px;
  height:375px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,45,85,.55);
  box-shadow:
    0 0 22px rgba(255,45,85,.28),
    0 24px 54px rgba(0,0,0,.65);
  background:#111;
}

.movie-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.movie-main{
   max-width:700px;
    margin-left:8px;
}

.movie-main h1{
  margin-bottom:26px;
  font-size:clamp(36px, 6vw, 72px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.06em;
  margin-bottom:16px;
  text-shadow:0 8px 28px rgba(0,0,0,.85);
}

.movie-infos,
.movie-genres,
.movie-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:12px 0;
}

.movie-infos span,
.movie-genres span{
  border:1px solid rgba(255,45,85,.28);
  background:rgba(12,11,25,.82);
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:800;
  color:#eee;
}

.movie-genres span:first-child{
  border-color:rgba(255,45,85,.65);
  box-shadow:inset 0 0 14px rgba(255,45,85,.12);
}

.ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:13px 20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  font-weight:800;
}

.ghost:hover{
  border-color:rgba(255,45,85,.55);
  box-shadow:0 0 18px rgba(255,45,85,.22);
}

.movie-content{
  padding:30px 34px 36px;
  background:
    radial-gradient(circle at 85% 0%, rgba(255,45,85,.12), transparent 25%),
    #090713;
}

.movie-content section{
  margin:0 0 28px;
}

.movie-content h2,
.movie-content h3{
  text-transform:uppercase;
  letter-spacing:.04em;
}

.movie-content h2{
  font-size:22px;
  border-left:4px solid var(--red, #ff2d55);
  padding-left:12px;
  margin-bottom:12px;
}

.movie-content h3{
  font-size:13px;
  color:#fff;
  margin-bottom:8px;
}

.movie-content p{
  color:#ded8ef;
  line-height:1.7;
}

.movie-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:18px;
}

.movie-grid > div{
  border:1px solid rgba(255,45,85,.18);
  border-radius:14px;
  padding:16px;
  background:rgba(255,255,255,.04);
}

@media(max-width:760px){
  .movie-overlay{
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
  }

  .movie-poster{
    width:160px;
    height:240px;
    flex-basis:auto;
  }

  .movie-grid{
    grid-template-columns:1fr;
  }
}

/* ===========================================================
   DETAIL.HTML
   =========================================================== */

.detail-loading,
.detail-error{
    min-height:70vh;
    display:grid;
    place-items:center;
    text-align:center;
    font-size:22px;
}

.detail-error{
    gap:25px;
}

/* ---------- HERO ---------- */

.detail-hero{

    position:relative;
    min-height:720px;

    background-size:cover;
    background-position:center;

}

.detail-hero::before{

    content:"";

    position:absolute;
    inset:0;

    background:

        linear-gradient(
            90deg,
            rgba(3,4,11,.96) 0%,
            rgba(3,4,11,.86) 30%,
            rgba(3,4,11,.45) 62%,
            rgba(3,4,11,.22) 100%
        ),

        linear-gradient(
            to top,
            #03040b,
            rgba(3,4,11,.65),
            transparent 70%
        );

}

.detail-hero-overlay{

    position:relative;
    z-index:2;

    min-height:720px;

    display:flex;
    align-items:flex-end;

}

.detail-hero-content{

    display:flex;

    align-items:flex-end;

    gap:42px;

    padding-bottom:70px;

}

/* ---------- POSTER ---------- */

.detail-poster{

    width:280px;

    flex-shrink:0;

    border-radius:18px;

    overflow:hidden;

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

    box-shadow:
0 25px 70px rgba(0,0,0,.60),
0 0 40px rgba(255,45,85,.18);
transition:.35s ease;

}
.detail-poster img:hover{
    transform:translateY(-6px) scale(1.02);
}

.detail-poster img{

    width:100%;

    display:block;

}

/* ---------- TITRE ---------- */

.detail-main{

    max-width:760px;

}

.detail-main h1{

    font-size:clamp(52px,7vw,88px);

    line-height:.92;

    text-transform:uppercase;

    letter-spacing:-.06em;

    margin:12px 0 24px;

    text-shadow:

        0 5px 18px #000,

        0 0 20px rgba(255,45,85,.20);

}

.detail-overview{

    font-size:18px;

    line-height:1.8;

    color:#e6e1f3;

    margin:26px 0;

}

/* ---------- BADGES ---------- */

.detail-meta,

.detail-genres{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin:18px 0;

}

.detail-meta span{

padding:10px 18px;

font-size:15px;

font-weight:700;

border-radius:999px;

border:1px solid rgba(255,45,85,.35);

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

transition:.25s;

}

.detail-meta span:hover{

background:
rgba(255,45,85,.18);

transform:translateY(-2px);

}

.detail-genres span{

    padding:8px 14px;

    border-radius:999px;

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

    border:1px solid rgba(255,45,85,.35);

    font-size:13px;

    font-weight:700;

    backdrop-filter:blur(8px);

}

.detail-genres span{

    border-color:rgba(139,44,255,.35);

}

/* ---------- BOUTONS ---------- */

.detail-actions{
transition:
.25s ease;
    display:flex;

    gap:16px;

    flex-wrap:wrap;

    margin-top:30px;

}

/* ---------- CONTENU ---------- */

.detail-info{

    margin-top:60px;

}

.detail-block{

    margin-bottom:40px;

}

.detail-block h2{

    margin-bottom:18px;

}

.detail-block p{

    line-height:1.9;

    color:#ddd;

}

/* ---------- GRILLE ---------- */

.detail-grid{

    display:grid;

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

    gap:22px;

}

.detail-grid article{

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

    border:1px solid rgba(255,45,85,.18);

    border-radius:18px;

    padding:24px;

    transition:.25s;

}

.detail-grid article:hover{

    transform:translateY(-4px);

    border-color:rgba(255,45,85,.45);

    box-shadow:

        0 0 18px rgba(255,45,85,.16);

}

.detail-grid h3{

    margin-bottom:12px;

    font-size:14px;

    text-transform:uppercase;

    color:#fff;

}

.detail-grid p{

    color:#cfc9dd;

    line-height:1.7;

}

/* ---------- FILMS SIMILAIRES ---------- */

.detail-related{

    margin:70px auto;

}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1000px){

    .detail-hero{

        min-height:auto;

    }

    .detail-hero-overlay{

        min-height:auto;

    }

    .detail-hero-content{

        flex-direction:column;

        align-items:flex-start;

        padding:50px 0;

    }

    .detail-poster{

        width:220px;

    }

}

@media(max-width:700px){

    .detail-grid{

        grid-template-columns:1fr;

    }

    .detail-main h1{

        font-size:46px;

    }

}
.detail-hero{
  min-height:640px;
}

.detail-hero-overlay{
  min-height:640px;
}

.detail-hero-content{
  align-items:center;
  padding-bottom:0;
}

.detail-poster{
  width:255px;
  transform:translateY(24px);
}

.detail-main h1{
  max-width:760px;
}

.detail-overview{
  max-width:780px;
}

.detail-info{
  margin-top:38px;
}

.nav-actions .primary{
  padding:10px 16px;
  font-size:14px;
  border-radius:9px;
}

/* === Détail : fond vivant très subtil === */

.detail-hero{
  animation:detailBackdropZoom 28s ease-in-out infinite alternate;
}

@keyframes detailBackdropZoom{
  from{
    background-size:100%;
  }

  to{
    background-size:106%;
  }
}

.detail-hero.no-backdrop{
  background:
    radial-gradient(circle at 70% 25%, rgba(139,44,255,.28), transparent 32%),
    radial-gradient(circle at 30% 35%, rgba(255,45,85,.18), transparent 28%),
    linear-gradient(135deg,#05060f,#15091f 55%,#03040b);
}

/* === Detail page : layout compact infos === */

.detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);
  gap:34px;
  margin:52px auto 70px;
  align-items:start;
}

.detail-left,
.detail-right{
  border:1px solid rgba(255,45,85,.18);
  border-radius:20px;
  background:rgba(255,255,255,.035);
  padding:28px;
}

.detail-left h2,
.detail-right h2{
  text-transform:uppercase;
  font-size:20px;
  margin-bottom:18px;
  border-left:4px solid var(--red,#ff2d55);
  padding-left:12px;
}

.detail-synopsis{
  color:#e4deef;
  line-height:1.9;
  font-size:16px;
  margin-bottom:34px;
}

.detail-cast{
  color:#fff;
  line-height:1.8;
  font-weight:600;
}

.movie-info-list{
  list-style:none;
  display:grid;
  gap:14px;
}

.movie-info-list li{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.movie-info-list li:last-child{
  border-bottom:0;
}

.movie-info-list span{
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}

.movie-info-list strong{
  color:#fff;
  text-align:right;
  font-size:14px;
  line-height:1.45;
}

.detail-info,
.detail-grid,
.detail-block{
  display:none;
}

@media(max-width:900px){
  .detail-layout{
    grid-template-columns:1fr;
  }

  .movie-info-list li{
    align-items:flex-start;
  }
}
.detail-cast-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.detail-cast-list span{
  border:1px solid rgba(255,45,85,.24);
  border-radius:999px;
  padding:8px 12px;
  background:rgba(255,255,255,.055);
  color:#fff;
  font-weight:700;
  font-size:14px;
}
.detail-cast-list{
    margin-bottom:32px;
}
.detail-left h2{
    margin-top:28px;
}

.detail-left h2:first-child{
    margin-top:0;
}

/* === Finitions fiche détail adaptées à ton CSS actuel === */

.logo{
  filter:drop-shadow(0 0 18px rgba(176,73,255,.25));
}

.detail-main{
  position:relative;
  z-index:2;
}

.detail-main::before{
  content:"";
  position:absolute;
  left:-90px;
  top:-90px;
  width:520px;
  height:520px;
  background:radial-gradient(circle,
    rgba(255,45,85,.16) 0%,
    rgba(139,44,255,.12) 35%,
    transparent 75%);
  filter:blur(55px);
  pointer-events:none;
  z-index:-1;
}

.detail-main h1{
  text-shadow:
    0 6px 28px rgba(0,0,0,.55),
    0 0 24px rgba(255,45,85,.18);
}

.detail-meta span{
  padding:10px 18px;
  font-size:15px;
  font-weight:800;
  transition:.25s ease;
}

.detail-meta span:hover{
  background:rgba(255,45,85,.18);
  transform:translateY(-2px);
}

.detail-genres span{
  background:rgba(139,44,255,.18);
  border:1px solid rgba(255,45,85,.30);
  transition:.25s ease;
}

.detail-genres span:hover{
  background:rgba(255,45,85,.16);
  transform:translateY(-2px);
}

.detail-poster{
  box-shadow:
    0 25px 70px rgba(0,0,0,.60),
    0 0 40px rgba(255,45,85,.20);
  transition:.35s ease;
}

.detail-poster:hover{
  transform:translateY(18px) scale(1.02);
}

.detail-actions .ghost,
.detail-actions .primary{
  transition:.25s ease;
}

.detail-actions .ghost:hover,
.detail-actions .primary:hover{
  transform:translateY(-2px);
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    0 0 18px rgba(255,45,85,.22);
}

.detail-right{
  backdrop-filter:blur(8px);
}

.detail-cast-list span{
  transition:.25s ease;
}

.detail-cast-list span:hover{
  background:rgba(255,45,85,.16);
  transform:translateY(-2px);
}
.detail-tagline{
  margin:-10px 0 18px;
  color:#d7cce8;
  font-size:18px;
  font-style:italic;
  opacity:.9;
  text-shadow:0 4px 18px rgba(0,0,0,.55);
}

.detail-trailer{
  margin:40px auto 70px;
}

.trailer-frame{
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,45,85,.32);
  background:#05060f;
  box-shadow:
    0 25px 70px rgba(0,0,0,.55),
    0 0 26px rgba(255,45,85,.16);
}

.trailer-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
/* === Correctif admin : résultats + aperçu === */

.admin-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:22px;
  align-items:start;
}

.tmdb-result{
  width:100%;
  max-width:100%;
  overflow:hidden;
}

.tmdb-result div{
  min-width:0;
}

.tmdb-result h3,
.tmdb-result p{
  overflow:hidden;
  text-overflow:ellipsis;
}

.tmdb-result p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.admin-preview{
  position:sticky;
  top:100px;
  min-width:0;
}

.preview-card{
  max-width:100%;
}

.preview-poster{
  min-height:0;
  height:420px;
  overflow:hidden;
}

.preview-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.preview-body{
  max-height:260px;
  overflow:auto;
}

@media(max-width:900px){
  .admin-layout{
    grid-template-columns:1fr;
  }

  .admin-preview{
    position:static;
  }

  .preview-poster{
    height:360px;
  }
}
.genre-filter{

margin-left:auto;

padding:12px 18px;

background:#222036;

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

color:white;

border-radius:999px;

font:inherit;

cursor:pointer;

min-width:220px;

}
/* === Version 1.0 : accueil dynamique === */
.dynamic-hero{
  min-height:680px;
  background-size:cover;
  background-position:center;
  transition:background-image .6s ease-in-out;
}

.hero-dynamic-content{
  max-width:760px;
  position:relative;
  z-index:3;
}

.hero-meta{
  color:#f0dfff;
  font-weight:800;
  letter-spacing:.04em;
  margin:0 0 18px;
  text-shadow:0 0 18px rgba(255,45,85,.35);
}

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:26px;
}

.secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 21px;
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(255,45,85,.12);
  cursor:pointer;
  transition:.25s;
}

.secondary:hover{
  transform:translateY(-2px);
  border-color:rgba(255,45,85,.65);
  box-shadow:0 0 22px rgba(255,45,85,.25), inset 0 0 0 1px rgba(255,45,85,.18);
}

.stats-strip{
  margin-top:34px;
  padding:14px 16px;
  width:fit-content;
  max-width:100%;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(5,6,14,.55);
  backdrop-filter:blur(10px);
}

.stats-strip .badge i{
  font-size:18px;
  min-width:24px;
  text-align:right;
}

.hero-controls{
  display:flex;
  gap:10px;
  margin-top:24px;
}

.hero-controls button{
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  font-size:32px;
  line-height:1;
  cursor:pointer;
  transition:.25s;
}

.hero-controls button:hover{
  background:rgba(255,45,85,.25);
  border-color:rgba(255,45,85,.65);
}

.rail{
  grid-auto-flow:column;
  grid-auto-columns:minmax(180px, 1fr);
  grid-template-columns:none;
  overflow-x:auto;
  padding:4px 4px 18px;
  scroll-snap-type:x proximity;
}

.rail .card{
  scroll-snap-align:start;
}

.rail::-webkit-scrollbar{
  height:10px;
}

.rail::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg,var(--purple),var(--red));
  border-radius:999px;
}

.empty-state{
  color:var(--muted);
  padding:24px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.04);
  grid-column:1/-1;
}

@media(max-width:620px){
  .dynamic-hero{min-height:620px;}
  .hero-actions .primary,
  .hero-actions .secondary{width:100%;}
  .stats-strip{width:100%;}
  .hero-controls{justify-content:center;}
  .rail{grid-auto-columns:minmax(150px, 72%);}
}

/* === Ajustement : planète conservée + hero plus compact === */
.brand-orbit{
  position:relative;
  overflow:hidden;
  padding:42px 0 34px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 50% 8%,rgba(139,44,255,.24),transparent 36%),
    radial-gradient(circle at 74% 30%,rgba(255,45,85,.13),transparent 30%),
    linear-gradient(180deg,rgba(3,4,11,.86),rgba(7,6,18,.58));
}

.brand-stars,
.brand-orbit::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background-image:
    radial-gradient(circle at 12% 22%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 46% 12%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 76% 62%,#fff 0 1px,transparent 1px),
    radial-gradient(circle at 88% 24%,#fff 0 1px,transparent 1px);
  background-size:220px 220px,310px 310px,260px 260px,370px 370px;
  animation:starDrift 48s linear infinite;
}

.brand-orbit-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  min-height:220px;
  text-align:left;
}

.planet-logo-wrap{
  position:relative;
  width:220px;
  height:220px;
  flex:0 0 220px;
  display:grid;
  place-items:center;
}

.planet-logo-wrap::before{
  content:"";
  position:absolute;
  inset:-18px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(195,77,255,.38),rgba(255,45,85,.13) 42%,transparent 68%);
  filter:blur(6px);
}

.planet-logo-wrap::after{
  content:"";
  position:absolute;
  width:290px;
  height:68px;
  border:1px solid rgba(195,77,255,.22);
  border-radius:50%;
  transform:rotate(-14deg);
  box-shadow:0 0 28px rgba(139,44,255,.22);
}

.planet-logo{
  position:relative;
  z-index:2;
  width:190px;
  height:190px;
  border-radius:50%;
  background:
    linear-gradient(90deg,rgba(3,4,11,.16),rgba(3,4,11,.18)),
    url("../images/planetestream.jpg");
  background-size:cover;
  background-position:center;
  box-shadow:
    inset -24px -18px 42px rgba(0,0,0,.38),
    inset 14px 12px 22px rgba(255,255,255,.06),
    0 0 34px rgba(139,44,255,.56),
    0 0 70px rgba(255,45,85,.16);
  animation:planetBreath 7s ease-in-out infinite;
}

.brand-copy h1{
  margin-top:8px;
  font-size:clamp(36px,6vw,76px);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:900;
}

.brand-copy h1 span{
  color:var(--purple-2);
  text-shadow:var(--glow);
}

.brand-copy p:not(.eyebrow){
  max-width:520px;
  margin-top:18px;
  color:#e6e1f3;
  font-size:18px;
  line-height:1.55;
}

.compact-hero{
  min-height:390px !important;
  padding:42px 0 36px !important;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.compact-hero .hero-dynamic-content{
  max-width:650px;
}

.compact-hero h1{
  font-size:clamp(32px,4.4vw,58px);
}

.compact-hero p:not(.eyebrow){
  font-size:16px;
  line-height:1.55;
  margin:14px 0 18px;
  max-width:610px;
}

.compact-hero .stats-strip{
  margin-top:22px;
}

.compact-hero .hero-actions{
  margin-top:18px;
}

.compact-hero .hero-controls{
  position:absolute;
  right:0;
  bottom:0;
  margin-top:0;
}

@keyframes planetBreath{
  0%,100%{transform:scale(1); filter:saturate(1.05)}
  50%{transform:scale(1.025); filter:saturate(1.22)}
}

@keyframes starDrift{
  from{background-position:0 0,0 0,0 0,0 0}
  to{background-position:220px 220px,-310px 310px,260px -260px,-370px 370px}
}

@media(max-width:900px){
  .brand-orbit-inner{
    flex-direction:column;
    text-align:center;
    gap:14px;
  }
  .brand-copy p:not(.eyebrow){
    margin-left:auto;
    margin-right:auto;
  }
  .compact-hero .hero-controls{
    position:static;
    margin-top:18px;
  }
}

@media(max-width:620px){
  .brand-orbit{padding:28px 0 24px;}
  .planet-logo-wrap{width:170px;height:170px;flex-basis:170px;}
  .planet-logo{width:145px;height:145px;}
  .planet-logo-wrap::after{width:220px;height:52px;}
  .compact-hero{min-height:auto !important;padding:34px 0 30px !important;}
}

/* Aperçus compacts : la fiche garde le synopsis, les cartes vont droit au pop-corn. */
.compact-hero .hero-dynamic-content > p:not(.eyebrow):not(.hero-meta){display:none}
.compact-hero{min-height:360px;padding:46px 0 38px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:13px 18px;font-weight:800;color:#fff;backdrop-filter:blur(10px)}
.poster-link{display:block;color:inherit;text-decoration:none}
.card{display:flex;flex-direction:column}
.card-actions{display:flex;gap:8px;margin-top:12px}
.card-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:9px 8px;font-size:12px;font-weight:800;text-decoration:none}
.card-play{background:linear-gradient(135deg,var(--purple),#651cff);box-shadow:0 0 18px rgba(139,44,255,.32);color:#fff}
.card-detail{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#eee}
.card-actions a:hover{filter:brightness(1.12)}
@media(max-width:620px){.compact-hero{min-height:320px}.card-actions{flex-direction:column}.hero-actions .secondary,.hero-actions .primary{width:auto;min-width:140px}}


/* Hero dynamique : effet de carrousel horizontal pour la sélection à la une. */
.dynamic-hero{
  isolation:isolate;
  transition:background-image .45s ease, background-position .72s cubic-bezier(.2,.8,.2,1);
}
.dynamic-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.10),rgba(255,255,255,0));
  opacity:0;
  transform:translateX(-120%);
}
.dynamic-hero.hero-slide-next::before{
  animation:heroLightSweepNext .72s ease both;
}
.dynamic-hero.hero-slide-prev::before{
  animation:heroLightSweepPrev .72s ease both;
}
.dynamic-hero.hero-slide-next .hero-dynamic-content{
  animation:heroContentNext .58s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-prev .hero-dynamic-content{
  animation:heroContentPrev .58s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-next::after,
.dynamic-hero.hero-slide-prev::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(circle at 80% 50%,rgba(195,77,255,.22),transparent 34%);
  animation:heroBackdropPulse .72s ease both;
}
@keyframes heroContentNext{
  0%{opacity:0;transform:translateX(42px);filter:blur(4px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes heroContentPrev{
  0%{opacity:0;transform:translateX(-42px);filter:blur(4px)}
  100%{opacity:1;transform:translateX(0);filter:blur(0)}
}
@keyframes heroLightSweepNext{
  0%{opacity:0;transform:translateX(-120%)}
  30%{opacity:.42}
  100%{opacity:0;transform:translateX(120%)}
}
@keyframes heroLightSweepPrev{
  0%{opacity:0;transform:translateX(120%)}
  30%{opacity:.42}
  100%{opacity:0;transform:translateX(-120%)}
}
@keyframes heroBackdropPulse{
  0%{opacity:.08;transform:scale(1)}
  50%{opacity:.45;transform:scale(1.02)}
  100%{opacity:0;transform:scale(1.05)}
}
@media(prefers-reduced-motion:reduce){
  .dynamic-hero.hero-slide-next .hero-dynamic-content,
  .dynamic-hero.hero-slide-prev .hero-dynamic-content,
  .dynamic-hero.hero-slide-next::before,
  .dynamic-hero.hero-slide-prev::before,
  .dynamic-hero.hero-slide-next::after,
  .dynamic-hero.hero-slide-prev::after{animation:none}
}

/* Carrousel plus vif : 5 secondes, barre de progression et indicateur. */
.hero-carousel-status{
  display:flex;
  align-items:center;
  gap:14px;
  width:min(390px,100%);
  margin-top:16px;
}
.hero-progress{
  position:relative;
  flex:1;
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.hero-progress span{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--purple),var(--purple-2),var(--red));
  box-shadow:0 0 18px rgba(195,77,255,.7),0 0 20px rgba(255,45,85,.25);
}
.hero-progress-running .hero-progress span{
  animation:heroProgressFill 5s linear forwards;
}
.hero-paused .hero-progress span{
  animation-play-state:paused;
}
.hero-counter{
  min-width:58px;
  color:#f2dcff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-align:right;
  text-shadow:0 0 14px rgba(195,77,255,.35);
}
@keyframes heroProgressFill{
  from{width:0%}
  to{width:100%}
}

/* Transitions du hero un peu plus nerveuses. */
.dynamic-hero{
  transition:background-image .32s ease, background-position .45s cubic-bezier(.2,.8,.2,1);
}
.dynamic-hero.hero-slide-next::before{
  animation:heroLightSweepNext .48s ease both;
}
.dynamic-hero.hero-slide-prev::before{
  animation:heroLightSweepPrev .48s ease both;
}
.dynamic-hero.hero-slide-next .hero-dynamic-content{
  animation:heroContentNext .45s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-prev .hero-dynamic-content{
  animation:heroContentPrev .45s cubic-bezier(.2,.8,.2,1) both;
}
.dynamic-hero.hero-slide-next::after,
.dynamic-hero.hero-slide-prev::after{
  animation:heroBackdropPulse .48s ease both;
}

/* Planète plus vivante : rotation lente, scintillement et étoile filante rare. */
.planet-logo{
  animation:planetLiving 150s linear infinite, planetGlowPulse 8s ease-in-out infinite;
}
.brand-stars::after{
  content:"";
  position:absolute;
  width:140px;
  height:1px;
  left:-18%;
  top:24%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  box-shadow:0 0 18px rgba(195,77,255,.65);
  transform:rotate(-17deg);
  opacity:0;
  animation:shootingStar 18s ease-in-out infinite;
}
.brand-orbit::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:
    radial-gradient(circle at 18% 34%,rgba(255,255,255,.9) 0 1px,transparent 1px),
    radial-gradient(circle at 62% 20%,rgba(195,77,255,.9) 0 1px,transparent 1px),
    radial-gradient(circle at 84% 76%,rgba(255,255,255,.75) 0 1px,transparent 1px);
  background-size:260px 260px,340px 340px,420px 420px;
  animation:starTwinkle 4.8s ease-in-out infinite alternate;
}
@keyframes planetLiving{
  from{background-position:0% center; transform:rotate(0deg)}
  to{background-position:200% center; transform:rotate(360deg)}
}
@keyframes planetGlowPulse{
  0%,100%{filter:saturate(1.08) brightness(1); box-shadow:inset -24px -18px 42px rgba(0,0,0,.38),inset 14px 12px 22px rgba(255,255,255,.06),0 0 34px rgba(139,44,255,.56),0 0 70px rgba(255,45,85,.16)}
  50%{filter:saturate(1.26) brightness(1.05); box-shadow:inset -24px -18px 42px rgba(0,0,0,.38),inset 14px 12px 22px rgba(255,255,255,.08),0 0 46px rgba(139,44,255,.74),0 0 90px rgba(255,45,85,.22)}
}
@keyframes shootingStar{
  0%,72%{opacity:0; transform:translateX(0) translateY(0) rotate(-17deg)}
  76%{opacity:.85}
  84%{opacity:0; transform:translateX(145vw) translateY(40vh) rotate(-17deg)}
  100%{opacity:0; transform:translateX(145vw) translateY(40vh) rotate(-17deg)}
}
@keyframes starTwinkle{
  from{opacity:.25; filter:brightness(.9)}
  to{opacity:.58; filter:brightness(1.35)}
}

@media(max-width:620px){
  .hero-carousel-status{width:100%;}
  .hero-counter{min-width:54px;}
}
@media(prefers-reduced-motion:reduce){
  .hero-progress-running .hero-progress span,
  .planet-logo,
  .brand-stars,
  .brand-stars::after,
  .brand-orbit::after{animation:none!important}
}

/* === Salle de projection / page lecture === */
.watch-body{
  background:
    radial-gradient(circle at 72% 12%,rgba(195,77,255,.28),transparent 28%),
    radial-gradient(circle at 18% 18%,rgba(60,102,255,.2),transparent 24%),
    linear-gradient(180deg,#02030a 0%,#070511 50%,#02030a 100%);
}
.watch-loading{padding:80px 0;color:var(--muted)}
.watch-hero{
  margin:0;
  background-size:cover;
  background-position:center;
  position:relative;
}
.watch-veil{
  min-height:calc(100vh - 78px);
  padding:38px 0 58px;
  background:
    linear-gradient(180deg,rgba(2,3,10,.76),rgba(2,3,10,.98)),
    linear-gradient(90deg,rgba(2,3,10,.95),rgba(2,3,10,.45),rgba(2,3,10,.95));
}
.watch-shell{display:grid;gap:20px}
.watch-intro h1{
  margin-top:8px;
  font-size:clamp(34px,5vw,68px);
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.watch-meta-line{color:#d8d2ef;margin-top:12px;font-weight:700}
.cinema-frame{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.14);
  background:#000;
  box-shadow:0 35px 90px rgba(0,0,0,.7),0 0 42px rgba(139,44,255,.32);
}
.cinema-frame iframe{width:100%;height:100%;border:0;display:block;background:#000}
.cinema-frame:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  box-shadow:inset 0 0 80px rgba(0,0,0,.55);
}
.studio-bumper{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  align-content:center;
  gap:16px;
  background:radial-gradient(circle at 50% 42%,rgba(139,44,255,.28),transparent 30%),#02030a;
  transition:opacity .75s ease,visibility .75s ease;
}
.studio-bumper.hidden{opacity:0;visibility:hidden;pointer-events:none}
.bumper-planet{
  width:92px;height:92px;border-radius:50%;display:grid;place-items:center;
  font-size:54px;
  filter:drop-shadow(0 0 22px rgba(195,77,255,.8));
  animation:bumperFloat 1.15s ease both;
}
.studio-bumper strong{letter-spacing:.22em;font-size:13px;color:#eee;text-shadow:var(--glow)}
@keyframes bumperFloat{from{transform:scale(.8) rotate(-16deg);opacity:.2}to{transform:scale(1) rotate(0);opacity:1}}
.cinema-frame.is-playing{box-shadow:0 40px 110px rgba(0,0,0,.88),0 0 60px rgba(139,44,255,.24)}
.watch-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ghost,.secondary{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eee;padding:13px 18px;font-weight:800;
}
.watch-details-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  margin-top:30px;
}
.watch-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.26);
}
.rating-split{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0}
.rating-split > div{padding:16px;border-radius:16px;background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.08)}
.rating-label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}
.rating-split strong,.viewer-panel strong{font-size:30px;line-height:1;color:#fff}
.rating-display{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0 14px;
  padding:14px 16px;
  border-radius:16px;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
}
.rating-display span{color:#ffd66b;font-size:20px;letter-spacing:1px;text-shadow:0 0 16px rgba(255,214,107,.28)}
.rating-display small{color:var(--muted);font-weight:800;white-space:nowrap}
.soft-note,.viewer-panel p{color:var(--muted);line-height:1.6;margin-top:12px}
.comments-section{margin-top:18px}
.comment-form{display:grid;gap:12px;margin-bottom:16px}
.form-row{display:grid;grid-template-columns:1fr 160px;gap:12px}
.comment-form input,.comment-form select,.comment-form textarea{
  width:100%;background:#0d0d1a;border:1px solid #30224e;color:#fff;border-radius:12px;padding:13px;outline:none;
}
.comment-form textarea{min-height:130px;resize:vertical;margin-top:0}
.comments-list{display:grid;gap:12px}
.comment-card{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:18px;
}
.comment-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:10px}
.comment-head span{color:#ffd66b;font-size:13px;letter-spacing:.04em;white-space:nowrap}
.comment-card p{color:#e8e2f7;line-height:1.65;margin-bottom:10px}
.comment-card small{color:var(--muted)}
@media(max-width:800px){
  .watch-veil{min-height:auto;padding:30px 0 42px}
  .watch-details-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .watch-controls .primary,.watch-controls .ghost{width:100%}
}


/* === Finition v0.9.1 : boutons, admin et version === */
.secondary:hover,.ghost:hover,.primary:hover{transform:translateY(-1px)}
.catalogue-actions button,.catalogue-actions .primary,.catalogue-actions .ghost{min-height:48px;white-space:nowrap}
.catalogue-actions #resetBtn{background:rgba(255,255,255,.08)!important;color:#eee!important;border:1px solid rgba(255,255,255,.16)!important}
.catalogue-actions #resetBtn:hover{border-color:rgba(195,77,255,.55)!important;box-shadow:0 0 18px rgba(139,44,255,.24)!important}
.admin-version{margin:26px 0 0;color:var(--muted);font-size:12px;text-align:center;letter-spacing:.04em}
.version-pill{display:inline-flex;align-items:center;border:1px solid rgba(195,77,255,.28);background:rgba(139,44,255,.10);color:#ddd;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.preview-meta span{max-width:100%;}


/* === Communauté Discord v0.9.1 === */
.discord-link{
  color:#fff!important;
  opacity:1!important;
  padding:8px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(88,101,242,.18),rgba(139,44,255,.12));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 0 14px rgba(88,101,242,.12);
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease;
}
.discord-link:hover{
  color:var(--purple-2)!important;
  border-color:rgba(195,77,255,.72);
  background:linear-gradient(135deg,rgba(139,44,255,.22),rgba(195,77,255,.14));
  box-shadow:0 0 22px rgba(139,44,255,.28),0 0 18px rgba(88,101,242,.2);
  transform:translateY(-1px);
}
.discord-nav-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  line-height:1;
}
.discord-icon-wrap{
  position:relative;
  display:inline-block;
  width:20px;
  height:16px;
  flex:0 0 20px;
}
.discord-icon{
  position:absolute;
  inset:0;
  width:20px;
  height:16px;
  object-fit:contain;
  transition:opacity .2s ease,transform .2s ease;
}
.discord-icon-violet{opacity:0}
.discord-nav-link:hover .discord-icon-white{opacity:0;transform:scale(.96)}
.discord-nav-link:hover .discord-icon-violet{opacity:1;transform:scale(1.04)}
.discord-cta{
  background:
    radial-gradient(circle at 10% 20%,rgba(88,101,242,.28),transparent 32%),
    linear-gradient(135deg,rgba(255,45,85,.14),transparent 30%),
    linear-gradient(135deg,rgba(139,44,255,.25),rgba(12,10,30,.92));
}
.discord-cta .eyebrow{margin-bottom:6px}
.discord-admin-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.discord-admin-box p{max-width:760px}
.footer-grid a{color:#fff}
.footer-grid a:hover{color:var(--purple-2);text-shadow:var(--glow)}
@media(max-width:900px){
  .discord-admin-box{align-items:flex-start;flex-direction:column}
}


/* === Navigation pixel-perfect v0.9.3 === */
.nav{
  min-height:78px;
}
.menu{
  align-items:center;
  gap:6px;
}
.menu a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 11px;
  border-radius:999px;
  color:#d9d5e6;
  font-weight:750;
  line-height:1;
  opacity:1;
  transition:color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.menu a::after,
.menu a.active::after{
  display:none!important;
}
.menu a:hover{
  color:#fff;
  background:rgba(255,255,255,.055);
}
.menu a.active{
  color:var(--purple-2)!important;
  background:rgba(139,44,255,.08);
  text-shadow:0 0 18px rgba(195,77,255,.35);
}
.discord-link{
  min-height:40px!important;
  padding:0 13px!important;
  margin-left:5px;
  transform:none;
}
.discord-link:hover{
  transform:none;
}
.discord-nav-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center;
  gap:8px;
  line-height:1;
}
.discord-icon-wrap{
  width:19px;
  height:15px;
  flex:0 0 19px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(0);
}
.discord-icon{
  width:19px;
  height:15px;
  object-fit:contain;
}
.nav-actions{
  display:flex;
  align-items:center;
}
.search-input{
  height:46px;
}


/* === Footer polish v0.9.5 === */
.site-footer{
  margin-top:34px;
  padding:42px 0 56px;
  border-top:1px solid rgba(195,77,255,.18);
  background:linear-gradient(180deg,rgba(3,4,11,.35),rgba(3,4,11,.86));
}
.site-footer .footer-grid{
  display:grid;
  grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(140px,.8fr));
  gap:48px;
  align-items:start;
}
.footer-brand{
  max-width:520px;
}
.footer-brand .logo{
  margin-bottom:12px;
}
.footer-brand p{
  max-width:520px;
  color:#c8c1df;
  line-height:1.55;
  margin:6px 0 0;
}
.footer-col{
  min-width:0;
}
.footer-col h4{
  color:#fff;
  font-size:15px;
  margin:0 0 14px;
  letter-spacing:.01em;
}
.footer-col ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
}
.footer-col li{
  list-style:none;
  margin:0;
  color:#d8d1f0;
  font-size:14px;
  line-height:1.35;
}
.site-footer a{
  color:#d8d1f0;
  transition:color .18s ease,text-shadow .18s ease;
}
.site-footer a:hover{
  color:var(--purple-2);
  text-shadow:var(--glow);
}
@media(max-width:900px){
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
}
@media(max-width:620px){
  .site-footer .footer-grid{
    grid-template-columns:1fr;
    gap:26px;
  }
}

/* === Footer redesign v0.9.6 === */
.site-footer.footer-redesign{
  margin-top:38px;
  padding:56px 0 28px;
  border-top:1px solid rgba(195,77,255,.2);
  background:
    radial-gradient(circle at 16% 18%, rgba(195,77,255,.14), transparent 27%),
    radial-gradient(circle at 78% 8%, rgba(139,44,255,.11), transparent 30%),
    linear-gradient(180deg,rgba(3,4,11,.64),rgba(3,4,11,.95));
}
.footer-shell{
  display:grid;
  grid-template-columns:minmax(280px,0.82fr) minmax(560px,1.58fr);
  gap:64px;
  align-items:start;
}
.footer-brand-block{
  min-width:0;
  max-width:430px;
}
.footer-logo{
  display:inline-block;
  margin:0 0 16px;
}
.footer-tagline{
  max-width:360px;
  color:#fff;
  font-weight:900;
  font-size:18px;
  line-height:1.28;
  margin:0 0 14px;
}
.footer-description{
  max-width:410px;
  color:#c9c2de;
  font-size:15px;
  line-height:1.58;
  margin:0 0 16px;
}
.footer-meta{
  color:#a99fca;
  font-size:13px;
  letter-spacing:.02em;
  margin:0;
}
.footer-links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:40px;
  align-items:start;
}
.footer-redesign .footer-col{
  min-width:0;
}
.footer-redesign .footer-col h4{
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1;
  margin:2px 0 18px;
}
.footer-redesign .footer-col ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}
.footer-redesign .footer-col li{
  list-style:none;
  margin:0;
  color:#d9d2f0;
  font-size:14px;
  line-height:1.36;
}
.footer-redesign a{
  color:#d9d2f0;
  display:inline-block;
  transition:color .18s ease,text-shadow .18s ease,transform .18s ease;
}
.footer-redesign a:hover{
  color:var(--purple-2);
  text-shadow:0 0 18px rgba(195,77,255,.55);
  transform:translateX(2px);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#9f96bd;
  font-size:13px;
}
.footer-version{
  color:#c9c2de;
  white-space:nowrap;
}
@media(max-width:980px){
  .footer-shell{
    grid-template-columns:1fr;
    gap:38px;
  }
  .footer-brand-block{
    max-width:620px;
  }
  .footer-links-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
  }
}
@media(max-width:700px){
  .site-footer.footer-redesign{
    padding-top:42px;
  }
  .footer-links-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .footer-bottom{
    align-items:flex-start;
    flex-direction:column;
  }
}

