
:root{
  --bg:#0b0a08;
  --panel:#15120e;
  --panel2:#1c1812;
  --panel3:#241e16;
  --text:#f6f8fb;
  --muted:#a5adbb;
  --accent:#f0b44d;
  --accent2:#ffd486;
  --border:#332a20;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 80% 0%,rgba(240,180,77,.08),transparent 28%),
    linear-gradient(180deg,#0b0a08 0%,#0e0c09 100%);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(1180px,calc(100% - 32px));margin:auto}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(9,11,16,.72);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between}
.logo{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.logo img{
  display:block;
  width:auto;
  height:50px;
  max-width:190px;
  object-fit:contain;
}

@media(max-width:760px){
  .logo img{
    height:38px;
    max-width:155px;
  }
}
.nav-link{
  color:#c0c6d0;
  font-size:14px;
  padding:9px 13px;
  border-radius:999px;
  transition:background .18s,color .18s
}
.nav-link:hover{background:rgba(255,255,255,.06);color:#fff}

.hero{
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(circle at 75% 20%,rgba(240,180,77,.22),transparent 32%),
    radial-gradient(circle at 15% 0%,rgba(217,119,6,.08),transparent 24%)
}
.hero-inner{padding:76px 0 82px}
.hero-copy{max-width:780px}
.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:800;color:#f4c66a;margin-bottom:12px}
h1{font-size:clamp(38px,7vw,72px);line-height:1.02;letter-spacing:-2.5px;margin:0 0 20px}
.hero h1 span{color:#f6c96b}
.hero p{font-size:18px;color:var(--muted);max-width:700px}
.search-box{display:flex;gap:10px;margin-top:28px;max-width:720px}
.search-box input{
  flex:1;
  min-width:0;
  border:1px solid var(--border);
  background:rgba(18,22,32,.9);
  color:var(--text);
  padding:16px 18px;
  border-radius:14px;
  font-size:16px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.search-box input:focus{border-color:var(--accent)}
.search-box button{border:0;background:linear-gradient(135deg,var(--accent),#b45309);color:white;font-weight:800;padding:0 22px;border-radius:14px;cursor:pointer}
.example{font-size:13px!important;margin-top:12px;color:#7f899a!important}

.content{padding:38px 0 76px}
.section{
  margin:0 0 34px;
  padding:26px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),
    var(--panel);
  box-shadow:var(--shadow)
}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px}
.section h2,.section-head h1{font-size:24px;letter-spacing:-.5px;margin:0}
.section-head h1{font-size:28px}
.section h2{display:flex;align-items:center;gap:10px}
.section h2:before{
  content:"";
  width:4px;
  height:22px;
  border-radius:999px;
  background:linear-gradient(180deg,#f3bd5b,#9f4d0b);
  box-shadow:0 0 20px rgba(240,180,77,.35)
}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{
  overflow:hidden;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  transition:transform .2s,border-color .2s,box-shadow .2s
}
.card:hover{transform:translateY(-5px);border-color:#3b4559;box-shadow:0 14px 32px rgba(0,0,0,.25)}
.card img,.no-poster{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--panel2)}
.no-poster{display:grid;place-items:center;color:var(--muted);font-size:13px}
.card-body{padding:13px}
.card h3{font-size:15px;margin:4px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.muted{color:var(--muted);font-size:12px}
.rating,.big-rating{font-weight:800}.rating{font-size:12px}.big-rating{font-size:18px;margin:12px 0}
.notice,.empty{padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--muted)}
.notice h1,.notice h2,.empty h1{font-size:26px;letter-spacing:-.5px;color:var(--text)}
.search-page{max-width:none;margin:0 0 36px}

.detail-hero{
  position:relative;
  overflow:hidden;
  margin:-38px 0 32px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#0c1017
}
.detail-backdrop{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 28%;
  filter:saturate(.92) contrast(1.03);
  transform:scale(1.03)
}
.detail-backdrop:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,11,16,.97) 0%,rgba(9,11,16,.84) 34%,rgba(9,11,16,.48) 62%,rgba(9,11,16,.82) 100%),
    linear-gradient(180deg,rgba(9,11,16,.18) 0%,rgba(9,11,16,.25) 42%,#0b0a08 100%)
}
.detail-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr;
  gap:42px;
  align-items:end;
  min-height:520px;
  padding:64px 0 48px
}
.detail-poster img{
  width:100%;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 22px 55px rgba(0,0,0,.45)
}
.detail-info{
  max-width:780px;
  padding-bottom:8px
}
.detail-info h1{font-size:clamp(38px,5vw,64px);margin-bottom:12px}
.detail-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:12px 0 8px
}
.detail-meta span{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.09);
  color:#dde2eb;
  font-size:13px;
  backdrop-filter:blur(8px)
}
.hero-overview{
  max-width:780px;
  margin:18px 0 16px;
  font-size:1.02rem;
  line-height:1.7;
  color:rgba(255,255,255,.88);
}

.tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0;
}

.tags a{
  display:inline-flex;
  align-items:center;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  color:#d6dbe5;
  text-decoration:none;
  transition:.2s ease;
}

.tags a:hover{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.16);
  color:#fff;
}

@media(max-width:760px){
  .hero-overview{
    max-width:none;
    margin:14px 0;
    font-size:.96rem;
    line-height:1.6;
  }
}

.trailer-wrap{
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:#05070a;
  box-shadow:0 18px 45px rgba(0,0,0,.32)
}
.trailer-wrap iframe{display:block;width:100%;aspect-ratio:16/9;border:0}

.cast-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cast-item{
  display:flex;
  flex-direction:column;
  gap:5px;
  font-size:12px;
  color:var(--muted);
  background:var(--panel2);
  border:1px solid rgba(255,255,255,.06);
  border-radius:16px;
  padding:10px;
  transition:transform .18s,border-color .18s
}
.cast-item:hover{transform:translateY(-3px);border-color:#384354}
.cast-item img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;background:var(--panel3)}
.cast-item strong{color:var(--text);font-size:13px;line-height:1.35}
.cast-item span{line-height:1.35}

.footer{border-top:1px solid var(--border);padding:30px 0;color:var(--muted);font-size:13px}
code{background:#080a0f;padding:3px 6px;border-radius:6px}

.smart-search-head{padding:20px 0 2px;max-width:850px}
.smart-search-head h1{font-size:clamp(38px,6vw,62px)}
.smart-intro{color:var(--muted);max-width:760px}
.mode-switch{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.mode-switch a{font-size:13px;padding:9px 13px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--panel)}
.mode-switch a.active{border-color:rgba(240,180,77,.65);background:rgba(240,180,77,.12);color:#f6d494}
.examples-panel{margin-top:28px;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:10px}
.examples-panel a{padding:10px 12px;border-radius:10px;background:var(--panel2);font-size:14px}
.ai-understanding{margin:26px 0 10px;padding:18px;background:rgba(240,180,77,.08);border:1px solid rgba(240,180,77,.32);border-radius:16px}
.intent-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.intent-chips span{font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid var(--border);color:#cbd2de}
.small-notice{padding:16px 18px;margin:22px 0}

@media(min-width:640px){
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:900px){
  .grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .hero-inner{padding:100px 0 110px}
  .cast-list{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(min-width:1100px){
  .cast-list{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:800px){
  .detail-hero{margin:-38px 0 24px}
  .detail-hero-inner{
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
    padding:44px 0 34px;
    align-items:start
  }
  .detail-backdrop:after{
    background:
      linear-gradient(180deg,rgba(9,11,16,.48) 0%,rgba(9,11,16,.76) 45%,#0b0a08 100%)
  }
  .detail-poster{max-width:220px}
  .detail-info h1{font-size:clamp(34px,10vw,50px)}
  .section{padding:20px}
}
@media(max-width:700px){
  .search-box{flex-direction:column}
  .search-box button{height:52px}
  .hero p{font-size:16px}
  .mode-switch{flex-direction:column}
  .mode-switch a{text-align:center}
  .cast-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* =========================================================
   IdéeFilm — Accueil / Recherche / Header / Footer
   Ajouts fusionnés sur la version actuelle.
   Les styles des pages film/série ci-dessus restent intacts.
   ========================================================= */

/* Navigation enrichie */
.nav{
  gap:24px;
}
.nav-main{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}
.nav-main .nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
}
.nav-main .nav-link.active{
  color:#fff;
  background:rgba(240,180,77,.12);
  border:1px solid rgba(240,180,77,.22);
}
.nav-search{
  margin-left:8px;
  color:#fff;
  background:linear-gradient(135deg,rgba(240,180,77,.24),rgba(180,83,9,.18));
  border:1px solid rgba(240,180,77,.30);
}

/* Hero de l'accueil */
.home-hero{
  position:relative;
  overflow:hidden;
  min-height:520px;
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#0e0c09;
}
.home-hero-backdrop{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 30%;
  opacity:.52;
  transform:scale(1.02);
}
.home-hero-backdrop:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(9,11,16,.98) 0%,rgba(9,11,16,.90) 36%,rgba(9,11,16,.55) 72%,rgba(9,11,16,.82) 100%),
    linear-gradient(180deg,rgba(9,11,16,.12) 0%,rgba(9,11,16,.30) 48%,#0b0a08 100%);
}
.home-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:46px;
  align-items:center;
  padding:82px 0 88px;
}
.home-hero-copy{
  max-width:780px;
}
.home-hero-copy h1{
  font-size:clamp(44px,6.5vw,76px);
  max-width:820px;
}
.home-hero-copy h1 span{
  color:#f7cc72;
}
.home-hero-copy > p{
  max-width:700px;
  color:#bec5d0;
  font-size:18px;
}
.home-search-box{
  max-width:760px;
}
.hero-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.hero-pills span{
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  color:#d7dce6;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
.ai-feature-card{
  padding:24px;
  border-radius:24px;
  background:
    linear-gradient(145deg,rgba(240,180,77,.15),rgba(255,255,255,.025)),
    rgba(14,18,26,.82);
  border:1px solid rgba(246,201,107,.20);
  box-shadow:0 24px 60px rgba(0,0,0,.32);
  backdrop-filter:blur(18px);
}
.ai-feature-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  margin-bottom:18px;
  font-size:22px;
  background:rgba(240,180,77,.16);
  border:1px solid rgba(240,180,77,.28);
}
.ai-feature-card h2{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.5px;
}
.ai-feature-card p{
  color:var(--muted);
  margin:0 0 18px;
}
.ai-example{
  padding:13px 14px;
  border-radius:14px;
  color:#d7dce6;
  font-size:13px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.07);
}

/* Accueil : sections plus propres */
.home-content{
  padding-top:48px;
}
.home-section{
  position:relative;
}
.home-section .section-head{
  margin-bottom:20px;
}
.section-kicker{
  display:block;
  margin-bottom:5px;
  color:#eeb658;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1.3px;
}
.section-subtitle{
  margin:5px 0 0;
  color:var(--muted);
  font-size:14px;
}
.section-count{
  white-space:nowrap;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  color:#bbc2ce;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.035);
}

/* Cartes de films/séries */
.card{
  position:relative;
}
.card img{
  transition:transform .28s ease,filter .28s ease;
}
.card:hover img{
  transform:scale(1.035);
  filter:brightness(1.04);
}
.card-body{
  position:relative;
  background:linear-gradient(180deg,rgba(18,23,34,.96),var(--panel));
}
.card .rating{
  color:#f4d06f;
}

/* Page recherche */
.search-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 78% 18%,rgba(240,180,77,.18),transparent 32%),
    radial-gradient(circle at 16% 0%,rgba(217,119,6,.07),transparent 25%),
    #0e0c09;
}
.search-hero-inner{
  padding:60px 0 38px;
}
.search-hero .smart-search-head{
  padding:0;
  max-width:900px;
}
.search-hero .smart-search-head h1{
  margin-bottom:14px;
}
.search-shell{
  margin-top:26px;
  padding:18px;
  border-radius:22px;
  background:rgba(18,23,34,.70);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.20);
  backdrop-filter:blur(14px);
}
.search-shell .search-box{
  margin-top:0;
}
.search-shell .search-page{
  margin-bottom:14px;
}
.search-shell .mode-switch{
  margin:0;
}
.search-results-wrap{
  padding-top:34px;
}
.search-results-panel{
  padding:24px;
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012)),
    var(--panel);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:var(--shadow);
}
.search-results-panel .section-head{
  margin-bottom:20px;
}
.ai-understanding{
  box-shadow:0 14px 38px rgba(0,0,0,.16);
}
.examples-panel{
  box-shadow:0 16px 42px rgba(0,0,0,.18);
}
.examples-panel span{
  color:#d4d9e2;
  font-weight:700;
}
.examples-panel a{
  transition:transform .16s,border-color .16s,background .16s;
  border:1px solid transparent;
}
.examples-panel a:hover{
  transform:translateX(3px);
  border-color:rgba(240,180,77,.22);
  background:rgba(240,180,77,.08);
}

/* Footer enrichi */
.footer{
  padding:38px 0;
  background:rgba(7,9,13,.72);
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.footer-brand strong{
  color:#f5f7fb;
  font-size:15px;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.footer-links a{
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  color:#aeb6c4;
}
.footer-links a:hover{
  color:#fff;
  background:rgba(255,255,255,.05);
}

/* Responsive des nouveaux éléments uniquement */
@media(max-width:900px){
  .home-hero{
    min-height:0;
  }
  .home-hero-inner{
    grid-template-columns:1fr;
    gap:28px;
    padding:62px 0 64px;
  }
  .ai-feature-card{
    max-width:620px;
  }
}
@media(max-width:760px){
  .nav{
    height:66px;
    gap:12px;
  }
  .nav-main{
    gap:2px;
  }
  .nav-main .nav-link:not(.nav-search){
    display:none;
  }
  .nav-search{
    margin-left:0;
  }
  .home-hero-backdrop{
    opacity:.35;
  }
  .home-hero-inner{
    padding:48px 0 54px;
  }
  .home-hero-copy h1{
    font-size:clamp(38px,12vw,54px);
  }
  .home-hero-copy > p{
    font-size:16px;
  }
  .search-hero-inner{
    padding:42px 0 28px;
  }
  .search-shell{
    padding:14px;
  }
  .search-results-panel{
    padding:18px;
  }
  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}


/* =========================================================
   Phase People / Genres / Années
   Ajouts uniquement — les styles existants restent conservés.
   ========================================================= */

.inline-link{
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(246,201,107,.45);
  text-underline-offset:3px;
}
.inline-link:hover{color:#fff;text-decoration-color:#f6c96b}

.detail-meta .meta-link{
  padding:7px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.09);
  color:#dde2eb;
  font-size:13px;
  backdrop-filter:blur(8px);
  transition:background .18s,border-color .18s,transform .18s;
}
.detail-meta .meta-link:hover{
  background:rgba(240,180,77,.14);
  border-color:rgba(240,180,77,.35);
  transform:translateY(-1px);
}

.tags a{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.09);
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  color:#d6dbe5;
  transition:background .18s,border-color .18s,transform .18s;
}
.tags a:hover{
  background:rgba(240,180,77,.14);
  border-color:rgba(240,180,77,.36);
  transform:translateY(-1px);
}

a.cast-item{color:var(--muted)}
a.cast-item:hover strong{color:#f6d18b}

.person-hero{
  padding:30px;
}
.person-layout{
  display:grid;
  grid-template-columns:minmax(190px,280px) 1fr;
  gap:38px;
  align-items:start;
}
.person-photo img,
.person-photo-placeholder{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:var(--panel2);
  box-shadow:0 22px 55px rgba(0,0,0,.32);
}
.person-photo-placeholder{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:13px;
}
.person-info h1{
  font-size:clamp(38px,6vw,64px);
  margin:0 0 18px;
}
.person-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.person-facts span{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:130px;
  padding:11px 13px;
  border-radius:14px;
  background:var(--panel2);
  border:1px solid rgba(255,255,255,.06);
  color:#c5ccd8;
  font-size:13px;
}
.person-facts strong{
  color:#fff;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.7px;
}
.person-bio{
  padding-top:4px;
}
.person-bio h2{
  margin:0 0 10px;
  font-size:22px;
}
.person-bio p{
  color:#c7ced9;
  line-height:1.8;
  margin:0;
}

.browse-hero{
  overflow:hidden;
  position:relative;
  padding:34px;
  background:
    radial-gradient(circle at 86% 12%,rgba(240,180,77,.16),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)),
    var(--panel);
}
.browse-hero h1{
  font-size:clamp(40px,7vw,68px);
  margin:0 0 12px;
}
.browse-hero p{
  margin:0;
  max-width:700px;
  color:var(--muted);
  font-size:16px;
}
.browse-section{
  margin-top:28px;
}

@media(max-width:760px){
  .person-hero{padding:20px}
  .person-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .person-photo{max-width:210px}
  .person-info h1{font-size:clamp(34px,11vw,50px)}
  .browse-hero{padding:24px 20px}
}


/* Taille de la bande-annonce validée après le dernier ajustement */
.trailer-wrap{
  max-width:1050px;
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   Error pages
   ========================================================= */
.error-page-wrap{
  min-height:68vh;
  padding:70px 0 50px;
}

.error-card{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  padding:46px 28px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:rgba(255,255,255,.035);
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}

.error-code{
  font-size:clamp(5rem,18vw,10rem);
  font-weight:800;
  line-height:.92;
  letter-spacing:-.06em;
  margin:12px 0 24px;
  opacity:.13;
}

.error-card h1{
  margin:0 0 14px;
  font-size:clamp(1.8rem,5vw,3rem);
}

.error-message{
  max-width:610px;
  margin:0 auto 30px;
  font-size:1.02rem;
  line-height:1.75;
}

.error-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}

.error-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:12px;
  text-decoration:none;
  font-weight:700;
  transition:.2s ease;
}

.error-btn-primary{
  background:#f0b44d;
  color:#fff;
}

.error-btn-primary:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

.error-btn-secondary{
  border:1px solid rgba(255,255,255,.14);
  color:inherit;
  background:rgba(255,255,255,.04);
}

.error-btn-secondary:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}

.error-discover-section{
  margin-top:54px;
}

.error-small-link{
  color:inherit;
  text-decoration:none;
  font-weight:600;
  opacity:.8;
}

.error-small-link:hover{
  opacity:1;
}

.error-quick-links{
  margin-top:34px;
  padding:24px 26px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(255,255,255,.025);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}

.error-quick-links h2{
  margin:5px 0 0;
  font-size:1.25rem;
}

.error-link-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}

.error-link-list a{
  display:inline-flex;
  padding:9px 12px;
  border-radius:999px;
  text-decoration:none;
  color:inherit;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  font-size:.92rem;
}

.error-link-list a:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.14);
}

@media(max-width:760px){
  .error-page-wrap{
    padding:44px 0 36px;
  }

  .error-card{
    padding:34px 20px;
    border-radius:20px;
  }

  .error-discover-section{
    margin-top:38px;
  }

  .error-quick-links{
    flex-direction:column;
    align-items:flex-start;
    padding:20px;
  }

  .error-link-list{
    justify-content:flex-start;
  }
}
/* =========================================================
   End Error pages
   ========================================================= */
   
   

/* =========================================================
   Performance images — V1
   Preserve layout space while images are loading.
   ========================================================= */
.card img,
.cast-item img,
.detail-poster img,
.person-photo img{
  height:auto;
}

.card img,
.cast-item img{
  content-visibility:auto;
}


/* =========================================================
   Pages légales & informations — V1
   ========================================================= */
.legal-content{
  max-width:980px;
}
.legal-hero{
  margin-bottom:24px;
}
.legal-hero h1{
  margin:6px 0 14px;
  font-size:clamp(32px,6vw,54px);
}
.legal-hero p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:1rem;
}
.legal-article{
  font-size:15px;
  line-height:1.8;
}
.legal-article h2{
  margin-top:34px;
  margin-bottom:12px;
  font-size:21px;
}
.legal-article h2:first-child{
  margin-top:0;
}
.legal-article p{
  color:#c9d0dc;
}
.legal-article a{
  color:#f3c871;
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal-note{
  margin:24px 0;
  padding:18px 20px;
  border-radius:16px;
  border:1px solid rgba(240,180,77,.24);
  background:rgba(240,180,77,.07);
}
.legal-note strong{
  display:block;
  margin-bottom:5px;
  color:#fff1d4;
}
.legal-note p{
  margin:0;
}
.legal-contact-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:18px 0 28px;
  padding:20px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.legal-contact-card span{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.legal-contact-card a,
.legal-contact-card strong{
  font-size:16px;
}
.legal-details{
  display:grid;
  gap:10px;
  margin:16px 0 28px;
}
.legal-details div{
  display:grid;
  grid-template-columns:170px 1fr;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.legal-details dt{
  color:var(--muted);
  font-size:13px;
}
.legal-details dd{
  margin:0;
  color:#e8ebf1;
}
.legal-missing{
  color:#f0b86e;
}
.legal-updated{
  margin-top:36px!important;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07);
  color:var(--muted)!important;
  font-size:12px;
}

/* Footer étendu */
.footer-brand small{
  display:block;
  max-width:430px;
  margin-top:5px;
  color:#778192;
  line-height:1.5;
}
.footer-nav-groups{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
}
.footer-legal-links a{
  padding:5px 8px;
  border-radius:999px;
  color:#7f8998;
  font-size:11px;
}
.footer-legal-links a:hover{
  color:#fff;
  background:rgba(255,255,255,.04);
}

@media(max-width:760px){
  .legal-details div{
    grid-template-columns:1fr;
    gap:3px;
  }
  .footer-nav-groups{
    align-items:flex-start;
  }
  .footer-legal-links{
    justify-content:flex-start;
  }
}


/* =========================================================
   Header Live Search — V1
   Desktop only; mobile keeps the validated "Rechercher" button.
   ========================================================= */
.header-live-search{
  position:relative;
  flex:1 1 390px;
  max-width:430px;
  margin-left:130px;
}

.header-live-form{
  position:relative;
  display:flex;
  align-items:center;
}

.header-live-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:#8993a3;
  font-size:19px;
  line-height:1;
  pointer-events:none;
}

.header-live-input{
  width:100%;
  height:40px;
  padding:0 14px 0 39px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  outline:none;
  background:rgba(255,255,255,.045);
  color:var(--text);
  font:inherit;
  font-size:13px;
  transition:border-color .18s,background .18s,box-shadow .18s;
}

.header-live-input::placeholder{
  color:#7f8998;
}

.header-live-input:focus{
  border-color:rgba(240,180,77,.48);
  background:rgba(18,23,34,.94);
  box-shadow:0 0 0 3px rgba(240,180,77,.08);
}

.header-live-dropdown{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  z-index:90;
  overflow:hidden;
  max-height:min(560px,calc(100vh - 105px));
  overflow-y:auto;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(13,17,24,.98);
  box-shadow:0 24px 65px rgba(0,0,0,.48);
  backdrop-filter:blur(18px);
}

.header-live-result{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:9px 11px;
  border-bottom:1px solid rgba(255,255,255,.055);
  transition:background .14s;
}

.header-live-result:hover,
.header-live-result.is-active{
  background:rgba(240,180,77,.11);
}

.header-live-result img,
.header-live-placeholder{
  width:46px;
  height:69px;
  border-radius:8px;
  object-fit:cover;
  background:var(--panel2);
}

.header-live-result-copy{
  min-width:0;
}

.header-live-result-copy strong{
  display:block;
  overflow:hidden;
  color:#f3f5f9;
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.header-live-result-copy small{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:#8f99a8;
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.header-live-state{
  padding:17px 15px;
  color:#929cab;
  font-size:12px;
}

.header-live-all{
  display:block;
  padding:12px 14px;
  color:#f4ca72;
  font-size:12px;
  font-weight:700;
  text-align:center;
  background:rgba(240,180,77,.055);
}

.header-live-all:hover{
  color:#fff;
  background:rgba(240,180,77,.11);
}

@media(max-width:1050px){
  .header-live-search{
    max-width:340px;
    margin-left:30px;
  }

  .nav{
    gap:14px;
  }

  .nav-main{
    gap:2px;
  }

  .nav-main .nav-link{
    padding-left:10px;
    padding-right:10px;
  }
}

@media(max-width:860px) and (min-width:761px){
  .header-live-search{
    max-width:280px;
    margin-left:10px;
  }

  .nav-main .nav-link:not(.nav-search){
    display:none;
  }
}

@media(max-width:760px){
  .header-live-search{
    display:none;
  }
}

/* Exemples de recherche intelligente */
.search-examples{
  margin-top:18px;
}

.search-examples-label{
  display:block;
  margin-bottom:10px;
  color:#a5adbb;
  font-size:12px;
  font-weight:600;
}

.search-example-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.search-example-btn{
  appearance:none;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.055);
  color:#cbd2dc;
  padding:8px 11px;
  border-radius:999px;
  font:inherit;
  font-size:11px;
  line-height:1.35;
  cursor:pointer;
  transition:
    background .18s,
    border-color .18s,
    color .18s,
    transform .18s;
}

.search-example-btn:hover{
  background:rgba(240,180,77,.14);
  border-color:rgba(240,180,77,.35);
  color:#fff;
  transform:translateY(-1px);
}

.search-example-btn:focus-visible{
  outline:2px solid #f0b44d;
  outline-offset:2px;
}

@media(max-width:760px){
  .search-example-list{
    flex-direction:column;
    align-items:stretch;
  }

  .search-example-btn{
    text-align:left;
    border-radius:12px;
  }
}

/* =========================================================
   Assistant cinéma — V1
   À AJOUTER à la fin de /assets/css/app.css
   ========================================================= */

.assistant-page{
  min-height:calc(100vh - 72px);
  padding:44px 0 70px;
}

.assistant-shell{
  max-width:980px;
}

.assistant-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:22px;
}

.assistant-heading h1{
  margin:4px 0 10px;
  font-size:clamp(36px,6vw,58px);
  letter-spacing:-1.5px;
}

.assistant-heading p{
  max-width:690px;
  margin:0;
  color:var(--muted);
  font-size:15px;
}

.assistant-reset{
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
  color:#b9c1ce;
  padding:9px 12px;
  border-radius:11px;
  font:inherit;
  font-size:12px;
  cursor:pointer;
}

.assistant-reset:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
}

.assistant-panel{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012)),
    var(--panel);
  box-shadow:0 26px 75px rgba(0,0,0,.28);
}

.assistant-messages{
  height:min(570px,58vh);
  min-height:430px;
  overflow-y:auto;
  padding:26px;
  scroll-behavior:smooth;
}

.assistant-message{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:20px;
}

.assistant-message-user{
  justify-content:flex-end;
}

.assistant-avatar{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#f8e1b5;
  background:rgba(240,180,77,.15);
  border:1px solid rgba(240,180,77,.28);
  font-size:15px;
}

.assistant-bubble{
  max-width:min(760px,84%);
  padding:13px 15px;
  border-radius:17px;
  color:#dbe0e8;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.065);
}

.assistant-message-user .assistant-bubble{
  color:#fff;
  background:linear-gradient(135deg,rgba(240,180,77,.26),rgba(180,83,9,.18));
  border-color:rgba(240,180,77,.30);
  border-bottom-right-radius:6px;
}

.assistant-message-ai .assistant-bubble{
  border-bottom-left-radius:6px;
}

.assistant-bubble > strong{
  display:block;
  margin-bottom:6px;
  color:#f6f7fb;
  font-size:12px;
}

.assistant-bubble p{
  margin:0;
  white-space:pre-wrap;
  line-height:1.68;
  font-size:14px;
}

.assistant-spoiler{
  display:inline-flex;
  margin:1px 0 9px;
  padding:5px 8px;
  border-radius:999px;
  color:#f4cf8e;
  background:rgba(245,158,11,.08);
  border:1px solid rgba(245,158,11,.18);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.assistant-starters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 26px 18px;
}

.assistant-starters[hidden]{
  display:none;
}

.assistant-starters button{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#aeb7c5;
  padding:8px 11px;
  border-radius:999px;
  font:inherit;
  font-size:11px;
  cursor:pointer;
  transition:.18s ease;
}

.assistant-starters button:hover{
  color:#fff;
  border-color:rgba(240,180,77,.28);
  background:rgba(240,180,77,.09);
  transform:translateY(-1px);
}

.assistant-composer{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin:0 18px 12px;
  padding:8px 8px 8px 15px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:#0d1118;
  box-shadow:0 10px 35px rgba(0,0,0,.18);
}

.assistant-composer:focus-within{
  border-color:rgba(240,180,77,.45);
  box-shadow:0 0 0 3px rgba(240,180,77,.07);
}

.assistant-composer textarea{
  flex:1;
  min-height:42px;
  max-height:150px;
  resize:none;
  overflow-y:auto;
  border:0;
  outline:0;
  background:transparent;
  color:#f4f6fa;
  padding:10px 2px 8px;
  font:inherit;
  font-size:14px;
  line-height:1.45;
}

.assistant-composer textarea::placeholder{
  color:#707b8b;
}

.assistant-send{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,#f0b44d,#b45309);
  box-shadow:0 8px 22px rgba(240,180,77,.25);
  cursor:pointer;
  transition:transform .16s,filter .16s,opacity .16s;
}

.assistant-send span{
  display:block;
  transform:translateY(-1px);
  font-size:22px;
  line-height:1;
  font-weight:800;
}

.assistant-send:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

.assistant-send:disabled{
  opacity:.45;
  cursor:default;
  transform:none;
}

.assistant-note{
  padding:0 22px 17px;
  color:#687384;
  font-size:10px;
  text-align:center;
}

.assistant-dots{
  display:inline-flex;
  align-items:center;
  gap:4px;
  height:18px;
}

.assistant-dots i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#eab652;
  animation:assistantDot 1.1s infinite ease-in-out;
}

.assistant-dots i:nth-child(2){animation-delay:.14s}
.assistant-dots i:nth-child(3){animation-delay:.28s}

@keyframes assistantDot{
  0%,60%,100%{transform:translateY(0);opacity:.4}
  30%{transform:translateY(-4px);opacity:1}
}

.assistant-error-bubble{
  border-color:rgba(239,68,68,.18);
  background:rgba(239,68,68,.055);
}

.assistant-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.assistant-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  padding:8px;
  border-radius:13px;
  color:inherit;
  background:rgba(8,11,16,.42);
  border:1px solid rgba(255,255,255,.07);
  transition:background .16s,border-color .16s,transform .16s;
}

.assistant-card:hover{
  background:rgba(240,180,77,.075);
  border-color:rgba(240,180,77,.20);
  transform:translateY(-1px);
}

.assistant-card img,
.assistant-card-placeholder{
  width:54px;
  height:81px;
  border-radius:8px;
  object-fit:cover;
  background:var(--panel3);
}

.assistant-card-copy{
  min-width:0;
}

.assistant-card-copy strong{
  display:block;
  overflow:hidden;
  color:#f3f5f8;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.assistant-card-copy small{
  display:block;
  margin-top:4px;
  color:#8691a1;
  font-size:10px;
}

.assistant-card-cta{
  display:block;
  margin-top:8px;
  color:#f2c570;
  font-size:10px;
  font-weight:700;
}

@media(max-width:760px){
  .assistant-page{
    padding:28px 0 48px;
  }

  .assistant-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }

  .assistant-heading h1{
    font-size:clamp(34px,11vw,48px);
  }

  .assistant-panel{
    border-radius:18px;
  }

  .assistant-messages{
    height:56vh;
    min-height:390px;
    padding:18px 14px;
  }

  .assistant-bubble{
    max-width:88%;
  }

  .assistant-starters{
    padding:0 14px 14px;
  }

  .assistant-starters button{
    border-radius:12px;
  }

  .assistant-composer{
    margin:0 10px 10px;
  }

  .assistant-note{
    padding:0 14px 14px;
  }

  .assistant-cards{
    grid-template-columns:1fr;
  }
}

.nav-assistant{
  color:#f5cb75;
}

.nav-assistant:hover{
  color:#fff;
}
/* =========================================================
   End Assistant cinéma — V1
   À AJOUTER à la fin de /assets/css/app.css
   ========================================================= */
   
/* Assistant AI — promo accueil */
.assistant-promo{
  margin:30px 80px 38px;
}

.assistant-promo-inner{
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 24px;
  border:1px solid rgba(240,180,77,.18);
  border-radius:20px;
  background:
    radial-gradient(circle at 10% 20%,rgba(240,180,77,.14),transparent 34%),
    rgba(255,255,255,.025);
}

.assistant-promo-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#fff0cf;
  background:rgba(240,180,77,.15);
  border:1px solid rgba(240,180,77,.28);
  font-size:20px;
}

.assistant-promo-copy{
  flex:1;
  min-width:0;
}

.assistant-promo-kicker{
  display:block;
  margin-bottom:5px;
  color:#efbd5e;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.assistant-promo h2{
  margin:0 0 6px;
  color:#fff;
  font-size:20px;
}

.assistant-promo p{
  max-width:680px;
  margin:0;
  color:#aeb7c5;
  font-size:13px;
  line-height:1.6;
}

.assistant-promo-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:11px 15px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,#f0b44d,#b45309);
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(240,180,77,.18);
  transition:transform .17s,filter .17s;
}

.assistant-promo-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

@media(max-width:760px){
  .assistant-promo{
    margin:22px 0 30px;
  }

  .assistant-promo-inner{
    align-items:flex-start;
    flex-wrap:wrap;
    padding:18px;
  }

  .assistant-promo-copy{
    flex:1 1 calc(100% - 70px);
  }

  .assistant-promo-btn{
    width:100%;
    justify-content:center;
    margin-top:3px;
  }
}
/* End Assistant AI — promo accueil */

/* =========================================================
   Contact public — V1
   À AJOUTER à la fin de /assets/css/app.css
   ========================================================= */

.contact-form{
  position:relative;
  display:grid;
  gap:15px;
  margin:18px 0 34px;
  padding:20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}

.contact-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.contact-form label{
  display:grid;
  gap:7px;
}

.contact-form label > span{
  color:#c5ccd6;
  font-size:11px;
  font-weight:700;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:#0b1017;
  color:#f4f6fa;
  padding:12px 13px;
  outline:0;
  font:inherit;
  font-size:13px;
}

.contact-form textarea{
  resize:vertical;
  min-height:150px;
  line-height:1.55;
}

.contact-form input:focus,
.contact-form textarea:focus{
  border-color:rgba(240,180,77,.48);
  box-shadow:0 0 0 3px rgba(240,180,77,.07);
}

.contact-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.contact-form-footer small{
  color:#778293;
  font-size:10px;
}

.contact-form-footer button{
  flex:0 0 auto;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#f0b44d,#b45309);
  color:#fff;
  padding:11px 15px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.contact-alert{
  margin:14px 0;
  padding:11px 12px;
  border-radius:11px;
  font-size:12px;
}

.contact-alert-success{
  color:#bce6c9;
  border:1px solid rgba(34,197,94,.16);
  background:rgba(34,197,94,.06);
}

.contact-alert-error{
  color:#ffb7b7;
  border:1px solid rgba(239,68,68,.18);
  background:rgba(239,68,68,.06);
}

.contact-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

@media(max-width:760px){
  .contact-form-grid{
    grid-template-columns:1fr;
  }

  .contact-form-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .contact-form-footer button{
    width:100%;
  }
}

/* =========================================================
   Person Avatars — V1
   Small circular avatars for directors/actors only.
   Movie/TV posters remain unchanged.
   ========================================================= */

.cast-item .person-avatar{
  width:88px;
  height:88px;
  flex:0 0 88px;
  border-radius:50%;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 10px;
  background:linear-gradient(145deg,rgba(240,180,77,.16),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}

.cast-item .person-avatar img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center top;
  display:block;
  border-radius:50%;
}

.cast-item .person-avatar-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.56);
  background:
    radial-gradient(circle at 50% 32%,rgba(240,180,77,.20),transparent 48%),
    rgba(255,255,255,.025);
}

.cast-item{
  text-align:center;
}

.cast-item strong,
.cast-item span:not(.person-avatar):not(.person-avatar-placeholder){
  text-align:center;
}

@media(max-width:700px){
  .cast-item .person-avatar{
    width:70px;
    height:70px;
    flex-basis:70px;
    margin-bottom:8px;
  }

  .cast-item .person-avatar-placeholder svg{
    width:28px;
    height:28px;
  }
}
/* End Person Avatars — V1 */
/* =========================================================
   IdéeFilm — Brand Theme V1
   Palette cinéma sombre + ambre/or.
   Surcharge visuelle uniquement : aucun layout/breakpoint
   validé n'est modifié.
   ========================================================= */

.search-box button,
.assistant-send,
.assistant-promo-btn,
.contact-form-footer button,
.error-btn-primary{
  color:#1a1207;
}

.search-box button{
  background:linear-gradient(135deg,#f0b44d,#d99022);
}

.assistant-send,
.assistant-promo-btn,
.contact-form-footer button{
  background:linear-gradient(135deg,#f0b44d,#c97712);
}

.error-btn-primary{
  background:#f0b44d;
}

::selection{
  background:rgba(240,180,77,.28);
  color:#fff;
}
