/* ============================================================
   ALLEGRO SPATIAL — Feuille de style commune FR / ES
   Univers : habillage antenne (marbre, argent, crème, or)
   ============================================================ */
:root{
  --maxw:1200px;
  --noir:#0b0d10;
  --anthracite:#14171c;
  --marbre:#f4f1ea;
  --creme:#e8e2d5;
  --argent:#c9c5bb;
  --or:#c2a36b;
  --or-clair:#d9c294;
  --transition:cubic-bezier(.25,.8,.25,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  background:var(--noir);
  color:var(--marbre);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:'Marcellus',serif;font-weight:400}

/* ---------- Header ---------- */
header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem 4vw;
  transition:background .4s, padding .4s;
}
header.scrolled{
  background:rgba(11,13,16,.88);
  backdrop-filter:blur(14px);
  padding:.6rem 4vw;
  border-bottom:1px solid rgba(201,197,187,.12);
}
.logo{margin-top:14px}
.logo img{height:104px;width:auto;transition:height .4s;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}
header.scrolled .logo img{height:66px}
nav{display:flex;gap:2.2rem;align-items:center}
nav a{
  font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--marbre);position:relative;padding:.3rem 0;
  text-shadow:0 1px 10px rgba(0,0,0,.7);
}
nav a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--or);transition:width .35s var(--transition);
}
nav a:hover::after,nav a.actif::after{width:100%}
nav a.actif{color:var(--or-clair)}
.lang{
  display:flex;gap:.2rem;font-size:.82rem;letter-spacing:.12em;
  border:1px solid rgba(232,226,213,.45);padding:.2rem;
  background:rgba(11,13,16,.35);backdrop-filter:blur(6px);
}
.lang a,.lang b{padding:.3rem .7rem;color:var(--marbre);font-weight:400}
.lang b{background:var(--or);color:var(--noir);font-weight:500}
.lang a:hover{background:rgba(232,226,213,.15)}
.burger{display:none;background:none;border:none;color:var(--creme);font-size:1.5rem;cursor:pointer;z-index:102}

/* ---------- Menu mobile ---------- */
.mobilemenu{
  position:fixed;inset:0;z-index:101;
  background:rgba(11,13,16,.96);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;
  opacity:0;pointer-events:none;transition:opacity .35s var(--transition);
}
body.menu-open .mobilemenu{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}
.mobilemenu a{
  font-family:'Marcellus',serif;font-size:1.35rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--marbre);
}
.mobilemenu a.actif{color:var(--or-clair)}
.mobilemenu .mlang{display:flex;gap:1.4rem;margin-top:1.8rem;border-top:1px solid rgba(201,197,187,.25);padding-top:1.8rem}
.mobilemenu .mlang a,.mobilemenu .mlang b{font-family:'Jost';font-size:.9rem;letter-spacing:.2em;color:var(--argent);font-weight:400}
.mobilemenu .mlang b{color:var(--or-clair)}

/* ---------- Boutons ---------- */
.btn{
  display:inline-block;padding:.95rem 2.4rem;
  font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;
  border:1px solid var(--or);color:var(--marbre);
  transition:all .35s var(--transition);cursor:pointer;
  background:transparent;font-family:'Jost',sans-serif;
}
.btn:hover{background:var(--or);color:var(--noir)}
.btn.plein{background:var(--or);color:var(--noir)}
.btn.plein:hover{background:var(--or-clair);border-color:var(--or-clair)}

/* ---------- Hero accueil ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;isolation:isolate}
.hero-bg{
  position:absolute;inset:0;z-index:-1;
  background:url('../img/vod.jpg') center 45%/cover no-repeat;
  animation:heroZoom 22s ease-out both;
}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(11,13,16,.55) 0%,rgba(11,13,16,.15) 45%,transparent 65%),
    linear-gradient(180deg,rgba(11,13,16,.72) 0%,rgba(11,13,16,.25) 22%,rgba(11,13,16,.05) 42%,rgba(11,13,16,.82) 88%,var(--noir) 100%);
}
.hero-content{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 4vw 11vh}
.hero .surtitre{
  display:inline-block;
  font-size:.8rem;letter-spacing:.5em;text-transform:uppercase;
  color:var(--or-clair);margin-bottom:1.2rem;
  background:rgba(11,13,16,.5);backdrop-filter:blur(6px);
  padding:.5rem 1rem .5rem 1.3rem;
  border-left:2px solid var(--or);
}
.hero h1{
  font-size:clamp(2.6rem,5.8vw,5.2rem);
  line-height:1.06;max-width:24ch;
  text-shadow:0 4px 40px rgba(0,0,0,.45);
}
.hero h1 em{font-style:italic;color:var(--or-clair)}
.hero-content>*{opacity:0;animation:entree 1s var(--transition) forwards}
.hero-content>*:nth-child(2){animation-delay:.15s}
.hero-content>*:nth-child(3){animation-delay:.35s}
.hero-content>*:nth-child(4){animation-delay:.5s}
@keyframes entree{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero p.accroche{
  margin-top:1.4rem;max-width:52ch;
  font-family:'Cormorant Garamond',serif;
  font-size:1.35rem;color:var(--creme);
  text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.hero-cta{display:flex;gap:1.2rem;margin-top:2.4rem;flex-wrap:wrap}
.formats{
  display:flex;align-items:center;gap:1.1rem;margin-top:1.8rem;
  color:var(--creme);filter:drop-shadow(0 2px 12px rgba(0,0,0,.6));
}

/* ---------- Bandeau héros interne (pages intérieures) ---------- */
.page-hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;isolation:isolate}
.page-hero .bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center 25%}
.page-hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,13,16,.75) 0%,rgba(11,13,16,.35) 40%,rgba(11,13,16,.9) 92%,var(--noir) 100%);
}
.page-hero .inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:8.5rem 4vw 3rem}
.fil{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--argent);margin-bottom:1.4rem}
.fil a:hover{color:var(--or-clair)}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.4rem);text-shadow:0 4px 40px rgba(0,0,0,.5)}
.page-hero p.sous{margin-top:.8rem;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--creme);max-width:60ch}

/* ---------- Bandeau "En ce moment" ---------- */
.now{
  display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;
  max-width:var(--maxw);margin:0 auto;padding:1.6rem 4vw;
  border-bottom:1px solid rgba(201,197,187,.14);
}
.now .pastille{
  display:flex;align-items:center;gap:.55rem;
  font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or-clair);
  white-space:nowrap;
}
.now .pastille::before{
  content:'';width:8px;height:8px;border-radius:50%;
  background:#e05a4e;box-shadow:0 0 0 0 rgba(224,90,78,.6);
  animation:pulse 2s infinite;
}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(224,90,78,0)}100%{box-shadow:0 0 0 0 rgba(224,90,78,0)}}
.now .titre-now{font-family:'Marcellus',serif;font-size:1.15rem}
.now .detail-now{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--argent)}

/* ---------- Sections ---------- */
section{padding:6.5rem 4vw}
section.compact{padding:3.5rem 4vw}
.inner{max-width:var(--maxw);margin:0 auto}
.section-head{margin-bottom:3.2rem}
.section-head .sur{
  font-size:.74rem;letter-spacing:.45em;text-transform:uppercase;
  color:var(--or);margin-bottom:.9rem;
}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.15}
.section-head p{
  margin-top:1rem;max-width:60ch;
  font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--argent);
}

/* ---------- Catégories accueil ---------- */
.cats{display:grid;gap:14px;grid-template-columns:repeat(6,1fr);grid-auto-rows:230px}
.cat{position:relative;overflow:hidden;grid-column:span 2;border:1px solid rgba(201,197,187,.1)}
.cats.six .cat{grid-column:span 2}
.cats.quatre .cat,.cats.quatre .cat:nth-child(4),.cats.quatre .cat:nth-child(5){grid-column:span 3}
.cat:nth-child(4),.cat:nth-child(5){grid-column:span 3}
.cats.six .cat:nth-child(4),.cats.six .cat:nth-child(5){grid-column:span 2}
.cat img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--transition), filter .6s;filter:saturate(.92);
}
.cat:hover img{transform:scale(1.06);filter:saturate(1.05)}
.cat::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(11,13,16,.5) 65%,rgba(11,13,16,.95) 100%)}
.cat .label{position:absolute;left:1.5rem;right:1.5rem;bottom:1.2rem;z-index:2}
.cat .label h3{font-size:clamp(1rem,3.4vw,1.35rem);letter-spacing:.1em;
  overflow-wrap:break-word;hyphens:auto;margin:0}
.cat .label span{
  display:block;margin-top:.25rem;
  font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair);
  opacity:0;transform:translateY(6px);transition:all .45s var(--transition);
}
.cat:hover .label span{opacity:1;transform:none}

/* ---------- Programmation : onglets de vue ---------- */
.viewtabs{
  display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.8rem;
  border-bottom:1px solid rgba(201,197,187,.16);padding-bottom:0;
}
.viewtabs a{
  font-size:.76rem;letter-spacing:.24em;text-transform:uppercase;
  padding:.8rem 1.4rem;color:var(--argent);
  border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:all .3s;
}
.viewtabs a:hover{color:var(--marbre)}
.viewtabs a.actif{color:var(--or-clair);border-bottom-color:var(--or)}
.datenav{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  margin-bottom:2.2rem;flex-wrap:wrap;
}
.datenav .quand{font-family:'Marcellus',serif;font-size:1.5rem}
.datenav .fleches{display:flex;gap:.6rem}
.datenav .fleches a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 .9rem;
  border:1px solid rgba(201,197,187,.3);
  transition:all .3s;font-size:.95rem;letter-spacing:.1em;color:var(--creme);
}
.datenav .fleches a:hover{border-color:var(--or);color:var(--or-clair)}

/* ---------- Liste de programmes (jour / semaine) ---------- */
.prog-fond{position:relative;isolation:isolate}
.prog-fond::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:url('../img/programme.jpg') center/cover no-repeat;
  opacity:.09;
}
.prog-list{display:flex;flex-direction:column}
.prog-item{
  display:grid;grid-template-columns:110px 1fr auto;gap:2rem;align-items:baseline;
  padding:1.5rem .5rem;border-bottom:1px solid rgba(201,197,187,.16);
  transition:background .3s, padding-left .3s;
}
.prog-item:first-child{border-top:1px solid rgba(201,197,187,.16)}
.prog-item{border-bottom-color:rgba(201,197,187,.22)}
.prog-item:hover{background:rgba(244,241,234,.045);padding-left:1rem}
.prog-item .heure{font-family:'Marcellus',serif;font-size:1.15rem;color:var(--or-clair)}
.prog-item .titre{font-family:'Marcellus',serif;font-size:1.32rem;color:#ffffff}
.prog-item .titre small{
  display:block;margin-top:.35rem;
  font-family:'Jost',sans-serif;font-weight:300;font-size:.95rem;
  letter-spacing:.02em;color:var(--creme);
}
.prog-item .genre{
  font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--creme);border:1px solid rgba(201,197,187,.45);
  padding:.35rem .8rem;white-space:nowrap;
}
.prog-item.avec-img{grid-template-columns:96px 168px 1fr auto;align-items:center}
.prog-item .mini{
  width:168px;aspect-ratio:16/9;overflow:hidden;
  border:1px solid rgba(201,197,187,.15);
}
.prog-item .mini img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--transition);filter:saturate(.92)}
.prog-item:hover .mini img{transform:scale(1.08)}
.jour-groupe{margin-bottom:3rem}
.jour-groupe h3{
  font-size:1.25rem;letter-spacing:.1em;color:var(--or-clair);
  margin-bottom:.6rem;padding-left:.5rem;border-left:2px solid var(--or);
}

/* ---------- Calendrier mensuel ---------- */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .dow{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--or-clair);padding:.6rem .4rem;text-align:center;
}
.cal .case{
  min-height:110px;border:1px solid rgba(201,197,187,.12);
  padding:.5rem;position:relative;transition:border-color .3s, background .3s;
  background:rgba(244,241,234,.02);
}
.cal .case:hover{border-color:rgba(194,163,107,.5);background:rgba(244,241,234,.05)}
.cal .case.vide{background:none;border-color:rgba(201,197,187,.05)}
.cal .num{font-family:'Marcellus',serif;font-size:.95rem;color:var(--argent);margin-bottom:.4rem}
.cal .case.today{border-color:var(--or)}
.cal .case.today .num{color:var(--or-clair)}
.cal .evt{
  display:block;font-size:.68rem;line-height:1.35;color:var(--creme);
  padding:.15rem 0;border-top:1px dotted rgba(201,197,187,.2);
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.cal .evt:hover{color:var(--or-clair)}
.cal .evt b{color:var(--or-clair);font-weight:500}

/* ---------- Grille de cartes (catégories, agenda) ---------- */
.grille{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.carte{
  position:relative;overflow:hidden;border:1px solid rgba(201,197,187,.1);
  aspect-ratio:16/10;display:block;
}
.carte img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--transition);filter:saturate(.92);
}
.carte:hover img{transform:scale(1.07)}
.carte::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(11,13,16,.9) 100%)}
.carte .lbl{position:absolute;left:1.3rem;right:1.3rem;bottom:1.1rem;z-index:2}
.carte .lbl h3{font-size:1.15rem;line-height:1.3}
.carte .lbl p{
  margin-top:.3rem;font-family:'Cormorant Garamond',serif;
  font-size:1rem;color:var(--argent);
}
.carte .lbl .tag{
  display:inline-block;margin-bottom:.5rem;
  font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--or-clair);border:1px solid rgba(194,163,107,.5);padding:.25rem .7rem;
}

/* ---------- Formulaires ---------- */
.formulaire{max-width:760px}
.champ{margin-bottom:1.6rem}
.champ label{
  display:block;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--or-clair);margin-bottom:.6rem;
}
.champ input[type=text],.champ input[type=email],.champ select,.champ textarea{
  width:100%;background:rgba(244,241,234,.05);
  border:1px solid rgba(201,197,187,.25);color:var(--marbre);
  padding:.9rem 1.1rem;font-family:'Jost',sans-serif;font-size:.95rem;
  transition:border-color .3s;
}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--or)}
.champ textarea{min-height:160px;resize:vertical}
.champ select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--argent) 50%),linear-gradient(135deg,var(--argent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.champ select option{background:var(--anthracite);color:var(--marbre)}
.radios{display:flex;gap:1.6rem;flex-wrap:wrap}
.radios label{
  display:flex;align-items:center;gap:.5rem;cursor:pointer;
  font-size:.9rem;color:var(--creme);letter-spacing:.05em;text-transform:none;
}
.radios input{accent-color:var(--or)}
.deux-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}

/* ---------- Partenaires ---------- */
.partenaires-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.part{
  border:1px solid rgba(201,197,187,.16);padding:2.4rem 2rem;
  transition:border-color .3s, background .3s;display:block;
}
.part:hover{border-color:var(--or);background:rgba(244,241,234,.04)}
.part h3{font-size:1.3rem;margin-bottom:.6rem}
.part p{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--argent)}
.part .lien{
  display:inline-block;margin-top:1.2rem;
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or-clair);
}

/* ---------- Opérateurs / pays ---------- */
.ops{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap;margin-top:2.6rem}
.op{font-family:'Marcellus',serif;font-size:1.3rem;color:var(--creme);text-align:center}
.op small{
  display:block;margin-top:.4rem;
  font-family:'Jost';font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--argent);
}
.pays-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:1rem}
.pays{
  border:1px solid rgba(201,197,187,.16);padding:1.6rem 1.4rem;text-align:center;
  transition:border-color .3s;
}
.pays:hover{border-color:var(--or)}
.pays h3{font-size:1.15rem;margin-bottom:.3rem}
.pays p{font-size:.8rem;color:var(--argent);letter-spacing:.05em}

/* ---------- Texte éditorial (à propos) ---------- */
.edito{max-width:820px}
.edito p{
  font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1.65;
  color:var(--creme);margin-bottom:1.4rem;
}
.edito h2{font-size:1.7rem;margin:2.6rem 0 1rem}
.blocs-univers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:2.4rem}
.bloc-u{border:1px solid rgba(201,197,187,.16);padding:1.8rem}
.bloc-u h3{font-size:1.15rem;color:var(--or-clair);margin-bottom:.5rem}
.bloc-u p{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--argent)}

/* ---------- Bandeau immersif ---------- */
.divider{position:relative;height:56vh;min-height:380px;overflow:hidden;isolation:isolate;padding:0}
.divider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.divider::after{content:'';position:absolute;inset:0;background:rgba(11,13,16,.5)}
.divider .quote{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:0 6vw;
}
.divider .quote p{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.5rem,3vw,2.3rem);max-width:34ch;
  text-shadow:0 2px 30px rgba(0,0,0,.6);
}
.divider .quote span{margin-top:1.1rem;font-size:.74rem;letter-spacing:.4em;text-transform:uppercase;color:var(--or-clair)}

/* ---------- Allegro Spatial ---------- */
.spatial .inner{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.spatial .visuel{position:relative;overflow:hidden}
.spatial .visuel img{transition:transform 1.2s var(--transition)}
.spatial .visuel:hover img{transform:scale(1.04)}
.spatial .visuel::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(201,197,187,.2)}
.badges{display:flex;gap:.8rem;margin:1.6rem 0;flex-wrap:wrap;align-items:center}
.badge{
  font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
  border:1px solid rgba(194,163,107,.55);color:var(--or-clair);
  padding:.45rem 1rem;display:inline-flex;align-items:center;
}
.spatial p.texte{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--creme);line-height:1.55}

/* ---------- Fiche programme ---------- */
.fiche-hero{position:relative;min-height:74vh;display:flex;align-items:flex-end;isolation:isolate}
.fiche-hero .bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center 20%}
.fiche-hero::after{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(11,13,16,.75) 0%,rgba(11,13,16,.3) 25%,rgba(11,13,16,.15) 45%,rgba(11,13,16,.88) 90%,var(--noir) 100%);
}
.fiche-hero .inner{width:100%;max-width:var(--maxw);margin:0 auto;padding:9rem 4vw 4.5rem}
.genre-tag{
  display:inline-block;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--or-clair);border:1px solid rgba(194,163,107,.6);padding:.4rem 1rem;margin-bottom:1.3rem;
}
.fiche-hero h1{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.1;text-shadow:0 4px 40px rgba(0,0,0,.5)}
.fiche-hero .sous{margin-top:1rem;font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--creme)}
.diffusion{display:flex;gap:1.4rem;align-items:center;margin-top:2rem;flex-wrap:wrap}
.diffusion .quand-live{
  display:flex;align-items:center;gap:.55rem;
  font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair);
}
.diffusion .quand-live::before{
  content:'';width:8px;height:8px;border-radius:50%;
  background:#e05a4e;box-shadow:0 0 0 0 rgba(224,90,78,.6);animation:pulse 2s infinite;
}
.wrap{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr;gap:4rem;align-items:start}
.synopsis h2{font-size:1.9rem;margin-bottom:1.4rem}
.synopsis p{font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1.6;color:var(--creme);margin-bottom:1.2rem}
.infos{border:1px solid rgba(201,197,187,.18);padding:2.2rem}
.infos h3{font-size:1.05rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair);margin-bottom:1.5rem}
.infos dl{display:grid;grid-template-columns:auto 1fr;gap:.85rem 1.4rem}
.infos dt{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--argent);padding-top:.15rem}
.infos dd{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--marbre)}
.infos .btn{display:block;text-align:center;margin-top:2rem}
.aussi{border-top:1px solid rgba(201,197,187,.12)}
.sugg{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sugg a{position:relative;overflow:hidden;height:230px;border:1px solid rgba(201,197,187,.1);display:block}
.sugg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--transition)}
.sugg a:hover img{transform:scale(1.06)}
.sugg a::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(11,13,16,.5) 65%,rgba(11,13,16,.95) 100%)}
.sugg .lbl{position:absolute;left:1.3rem;bottom:1.1rem;z-index:2}
.sugg .lbl h3{font-size:1.1rem}
.sugg .lbl span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair)}

/* ---------- Footer ---------- */
footer{border-top:1px solid rgba(201,197,187,.12);padding:3.5rem 4vw 2.5rem}
.foot{
  max-width:var(--maxw);margin:0 auto;
  display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:center;
}
.foot img{height:100px;opacity:.95}
.foot nav{gap:1.8rem;flex-wrap:wrap}
.foot nav a{font-size:.72rem}
.foot .mention{
  width:100%;margin-top:2.2rem;text-align:center;
  font-size:.72rem;letter-spacing:.18em;color:rgba(201,197,187,.55);
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--transition), transform .9s var(--transition)}
.reveal.on{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  nav.main{display:none}
  .burger{display:block}
  header .lang{display:none}
  .cats,.cats.six{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
  .cat,.cat:nth-child(4),.cat:nth-child(5),.cats.six .cat{grid-column:span 1}
  .cat:first-child{grid-column:span 2}
  .grille{grid-template-columns:1fr}
  .partenaires-grille{grid-template-columns:1fr}
  .pays-grille{grid-template-columns:1fr 1fr}
  .spatial .inner{grid-template-columns:1fr;gap:2.5rem}
  .wrap{grid-template-columns:1fr;gap:2.5rem}
  .sugg{grid-template-columns:1fr}
  .prog-item,.prog-item.avec-img{grid-template-columns:80px 1fr;gap:1rem}
  .prog-item .genre{display:none}
  .prog-item .mini{display:none}
  .deux-cols{grid-template-columns:1fr}
  .cal{gap:3px}
  .cal .case{min-height:70px;padding:.3rem}
  .cal .evt{display:none}
  .cal .case .num::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--or);margin-top:4px}
  .cal .case.vide .num::after{display:none}
}

@media(max-width:520px){
  .logo img{height:68px}
  header.scrolled .logo img{height:52px}
  .hero h1{font-size:1.9rem}
  .formats img{height:2.6rem !important}
  section{padding:4rem 5vw}
  .now{gap:.5rem .9rem}
  .foot{justify-content:center;text-align:center}
  .foot nav{justify-content:center}
}
@media(min-width:921px) and (max-width:1120px){
  nav.main{gap:1.3rem}
  nav a{font-size:.72rem;letter-spacing:.16em}
}

/* ---------- Grands écrans : la mise en page respire ---------- */
@media(min-width:1500px){
  :root{--maxw:1380px}
  html{font-size:17px}
  .cats{grid-auto-rows:270px}
  .carte{aspect-ratio:16/9}
}
@media(min-width:1800px){
  :root{--maxw:1560px}
  html{font-size:18px}
  .cats{grid-auto-rows:300px}
  .sugg a{height:260px}
  .cal .case{min-height:130px}
}


/* ---------- Page Groupe Eurochannel ---------- */
.timeline{position:relative;max-width:820px;margin-top:1rem}
.timeline::before{content:'';position:absolute;left:9px;top:6px;bottom:6px;width:1px;background:rgba(194,163,107,.45)}
.jalon{position:relative;padding:0 0 2.4rem 3rem}
.jalon::before{
  content:'';position:absolute;left:3px;top:6px;width:13px;height:13px;border-radius:50%;
  background:var(--noir);border:2px solid var(--or);
}
.jalon .an{font-family:'Marcellus',serif;font-size:1.35rem;color:var(--or-clair)}
.jalon p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.55;color:var(--creme);margin-top:.4rem}
.president{display:grid;grid-template-columns:300px 1fr;gap:3.5rem;align-items:start;margin-top:1rem}
.president .photo{position:relative;overflow:hidden;border:1px solid rgba(201,197,187,.25)}
.president .photo img{width:100%;aspect-ratio:3/4;object-fit:cover}
.photo-attente{
  aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px dashed rgba(201,197,187,.4);background:rgba(244,241,234,.03);
  color:var(--argent);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;padding:1rem;
}
.president p.photo-credit{margin-top:.6rem;font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,197,187,.55);margin-bottom:0}
.president h3{font-size:1.5rem;margin-bottom:.3rem}
.president .role{font-size:.74rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or-clair);margin-bottom:1.2rem}
.president p{font-family:'Cormorant Garamond',serif;font-size:1.25rem;line-height:1.6;color:var(--creme);margin-bottom:1rem}
.contact-bloc{border:1px solid rgba(194,163,107,.5);padding:2.2rem;text-align:center;margin-top:3rem}
.contact-bloc .mail{font-family:'Marcellus',serif;font-size:1.6rem;color:var(--or-clair)}
.contact-bloc .mail:hover{color:var(--or)}
@media(max-width:920px){.president{grid-template-columns:1fr;gap:2rem}.president .photo{max-width:320px}}


/* ============================================================
   THÈME CLAIR « MARBRE » — le site respire, l'élégance reste
   ============================================================ */
:root{
  --fond:#f5f2ea;          /* marbre crème */
  --fond2:#eeeae0;         /* panneaux */
  --encre:#191b20;         /* texte principal */
  --brun:#5f5a4f;          /* texte secondaire */
  --or-fonce:#9a7b3f;      /* or lisible sur clair */
  --ligne:rgba(25,27,32,.14);
}
body{background:var(--fond);color:var(--encre)}

/* Héros : l'image fond dans le marbre */
.hero::after{
  background:
    linear-gradient(90deg,rgba(11,13,16,.55) 0%,rgba(11,13,16,.15) 45%,transparent 65%),
    linear-gradient(180deg,rgba(11,13,16,.72) 0%,rgba(11,13,16,.25) 22%,rgba(11,13,16,.05) 45%,rgba(11,13,16,.5) 80%,rgba(11,13,16,.55) 93%,var(--fond) 100%);
}
.page-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.75) 0%,rgba(11,13,16,.35) 45%,rgba(11,13,16,.1) 78%,var(--fond) 100%);
}
.fiche-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.75) 0%,rgba(11,13,16,.3) 32%,rgba(11,13,16,.2) 55%,rgba(11,13,16,.85) 100%);
}

/* Boutons */
.btn{color:var(--encre);border-color:var(--or-fonce)}
.hero .btn,.page-hero .btn,.fiche-hero .btn,.divider .btn{color:#fff;border-color:var(--or)}
.btn:hover{background:var(--or);color:var(--noir)}
.spatial .btn{color:var(--marbre)}

/* Bandeau en ce moment */
.now{border-bottom:1px solid var(--ligne)}
.now .titre-now{color:var(--encre)}
.now .detail-now{color:var(--brun)}
.now .pastille{color:var(--or-fonce)}

/* Sections */
.section-head .sur{color:var(--or-fonce)}
.section-head p{color:var(--brun)}

/* Listes de programmes */
.prog-item,.prog-item:first-child{border-color:var(--ligne)}
.prog-item:hover{background:rgba(25,27,32,.045)}
.prog-item .heure{color:var(--or-fonce)}
.prog-item .titre{color:var(--encre)}
.prog-item .titre small{color:var(--brun)}
.prog-item .genre{color:var(--brun);border-color:rgba(25,27,32,.28)}
.prog-item .mini{border-color:var(--ligne)}
.jour-groupe h3{color:var(--or-fonce);border-left-color:var(--or-fonce)}
.prog-fond::before{opacity:.07}

/* Onglets & navigation de dates */
.viewtabs{border-bottom-color:var(--ligne)}
.viewtabs a{color:var(--brun)}
.viewtabs a:hover{color:var(--encre)}
.viewtabs a.actif{color:var(--or-fonce);border-bottom-color:var(--or-fonce)}
.datenav .quand{color:var(--encre)}
.datenav .fleches a{border-color:rgba(25,27,32,.3);color:var(--encre)}
.datenav .fleches a:hover{border-color:var(--or-fonce);color:var(--or-fonce)}

/* Calendrier */
.cal .dow{color:var(--or-fonce)}
.cal .case{border-color:var(--ligne);background:rgba(255,255,255,.55)}
.cal .case:hover{border-color:var(--or-fonce);background:#fff}
.cal .case.vide{background:none;border-color:rgba(25,27,32,.05)}
.cal .num{color:var(--brun)}
.cal .evt{color:var(--encre);border-top-color:rgba(25,27,32,.15)}
.cal .evt b{color:var(--or-fonce)}
.cal .evt:hover{color:var(--or-fonce)}

/* Cartes et catégories (les images ressortent sur le clair) */
.cat,.carte,.sugg a{border-color:var(--ligne);box-shadow:0 6px 24px rgba(25,27,32,.10)}

/* Formulaires */
.champ label{color:var(--or-fonce)}
.champ input[type=text],.champ input[type=email],.champ select,.champ textarea{
  background:#fff;border-color:rgba(25,27,32,.22);color:var(--encre);
}
.champ select{background-image:linear-gradient(45deg,transparent 50%,var(--brun) 50%),linear-gradient(135deg,var(--brun) 50%,transparent 50%)}
.champ select option{background:#fff;color:var(--encre)}
.radios label{color:var(--encre)}

/* Partenaires, pays, blocs */
.part,.pays,.bloc-u{border-color:var(--ligne);background:rgba(255,255,255,.5)}
.part:hover,.pays:hover{border-color:var(--or-fonce);background:#fff}
.part p,.pays p,.bloc-u p{color:var(--brun)}
.part .lien{color:var(--or-fonce)}
.bloc-u h3{color:var(--or-fonce)}

/* Édito, timeline, président, fiche */
.edito p,.jalon p,.president p,.synopsis p{color:#2c2e34}
.jalon .an{color:var(--or-fonce)}
.timeline::before{background:rgba(154,123,63,.45)}
.jalon::before{background:var(--fond);border-color:var(--or-fonce)}
.president .role{color:var(--or-fonce)}
.president p.photo-credit{color:rgba(95,90,79,.75)}
.photo-attente{border-color:rgba(25,27,32,.3);background:rgba(255,255,255,.4);color:var(--brun)}
.infos{background:rgba(255,255,255,.55);border-color:var(--ligne)}
.infos h3{color:var(--or-fonce)}
.infos dt{color:var(--brun)}
.infos dd{color:var(--encre)}
.contact-bloc{border-color:rgba(154,123,63,.5);background:rgba(255,255,255,.5)}
.contact-bloc .mail{color:var(--or-fonce)}
.fil{color:rgba(232,226,213,.85)}

/* Opérateurs */
.op{color:var(--encre)}
.op small{color:var(--brun)}

/* Allegro Spatial : bande sombre premium conservée */
.spatial{background:var(--noir);color:var(--marbre)}
.spatial h2{color:var(--marbre)}
.spatial .section-head .sur{color:var(--or-clair)}
.spatial p.texte{color:var(--creme)}

/* Footer : sombre élégant */
footer{background:var(--noir);border-top:none;color:var(--marbre)}
.foot nav a{color:var(--creme)}

/* Divers */
.aussi{border-top-color:var(--ligne)}
.distrib{border-top-color:var(--ligne)}


/* Textes posés sur images : toujours clairs */
.hero h1,.page-hero h1,.fiche-hero h1{color:var(--marbre)}
.hero p.accroche,.page-hero p.sous,.fiche-hero .sous{color:var(--creme)}
.divider .quote p{color:#fff}
.divider .quote span{color:var(--or-clair)}

.page-hero p.sous,.fiche-hero .sous,.fil{text-shadow:0 1px 10px rgba(11,13,16,.55)}


/* ============================================================
   ACCENTS « NOTE ALLEGRO » — la palette du logo égaye la page
   ============================================================ */
:root{
  --note:linear-gradient(90deg,#d987b5 0%,#f2a71b 18%,#e73a2e 38%,#8a4a9e 58%,#3a67b1 76%,#27924c 100%);
}
/* filet arc-en-ciel au sommet de chaque page */
body::before{
  content:'';position:fixed;top:0;left:0;right:0;height:4px;z-index:300;
  background:var(--note);
}
/* souligné coloré sous les titres de section */
.section-head h2::after{
  content:'';display:block;width:72px;height:3px;margin-top:.9rem;
  background:var(--note);border-radius:2px;
}
.section-head[style*="margin-bottom:0"] h2::after{margin-bottom:0}
/* images plus vives */
.hero-bg{filter:saturate(1.18) brightness(1.05)}
.cat img,.carte img,.sugg img{filter:saturate(1.02)}
.cat:hover img,.carte:hover img{filter:saturate(1.12)}
.prog-item .mini img{filter:saturate(1.05)}
/* lueur dorée au survol des cartes */
.cat:hover,.carte:hover{box-shadow:0 10px 34px rgba(154,123,63,.28)}
/* le pied de page reprend le filet */
footer{position:relative}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--note)}


/* Bandeau en ce moment : ruban chaleureux */
.now{
  background:linear-gradient(90deg,rgba(242,167,27,.12),rgba(217,135,181,.10) 60%,rgba(58,103,177,.08));
  border-left:3px solid var(--or-fonce);border-bottom:none;
  max-width:none;padding-left:max(4vw,calc((100% - var(--maxw))/2 + 4vw));
}

/* Chips de genre colorées (couleurs de la note) */
.prog-item .genre{border-radius:3px}
.g-concert{color:#9a7b3f !important;border-color:rgba(154,123,63,.45) !important;background:rgba(154,123,63,.08)}
.g-ballet{color:#b84f88 !important;border-color:rgba(184,79,136,.4) !important;background:rgba(184,79,136,.07)}
.g-opera{color:#c23a2e !important;border-color:rgba(194,58,46,.4) !important;background:rgba(194,58,46,.07)}
.g-documentaire,.g-documental{color:#3a67b1 !important;border-color:rgba(58,103,177,.4) !important;background:rgba(58,103,177,.07)}
.g-festival,.g-creation{color:#27924c !important;border-color:rgba(39,146,76,.4) !important;background:rgba(39,146,76,.07)}
.g-cinema,.g-serie{color:#8a4a9e !important;border-color:rgba(138,74,158,.4) !important;background:rgba(138,74,158,.07)}

/* 3) Calendrier mensuel embelli */
.cal{gap:10px}
.cal .case{
  background:#fff;border-radius:8px;border:1px solid rgba(25,27,32,.1);
  padding:.65rem .7rem;min-height:118px;
  box-shadow:0 2px 10px rgba(25,27,32,.05);
  transition:transform .25s var(--transition), box-shadow .25s, border-color .25s;
}
.cal .case:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(154,123,63,.22);border-color:var(--or-fonce);background:#fff}
.cal .case.vide{background:none;border:none;box-shadow:none}
.cal .num{font-size:1.1rem;color:var(--encre);margin-bottom:.45rem}
.cal .evt{
  border-top:none;display:block;position:relative;
  padding:.2rem 0 .2rem .95rem;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;
}
.cal .evt::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;background:var(--or-fonce);
}
.cal .evt b{font-weight:500}
.cal .dow{font-size:.72rem}

/* 4) Transition image/texte plus nette dans les rubriques */
.page-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.7) 0%,rgba(11,13,16,.35) 40%,rgba(11,13,16,.3) 62%,rgba(11,13,16,.82) 100%);
}
.carte .lbl h3,.carte .lbl p,.cat .label h3{text-shadow:0 1px 4px rgba(0,0,0,.9),0 2px 14px rgba(0,0,0,.7)}
.carte::after{background:linear-gradient(180deg,transparent 10%,rgba(11,13,16,.62) 55%,rgba(11,13,16,.97) 100%)}
.reveal{transform:translateY(12px);transition:opacity .5s var(--transition), transform .5s var(--transition)}


/* ---------- Carte À l'antenne dans le hero ---------- */
.hero{flex-wrap:wrap}
.onair-card{
  position:absolute;right:4vw;bottom:13vh;z-index:6;
  display:flex;gap:1.2rem;align-items:center;max-width:560px;
  background:rgba(11,13,16,.6);backdrop-filter:blur(16px);
  border:1px solid rgba(232,226,213,.22);border-left:2px solid var(--or);
  padding:.9rem 1.2rem .9rem 1rem;
  opacity:0;animation:entree 1s var(--transition) .75s forwards;
  transition:border-color .3s, background .3s;
}
.onair-card:hover{border-color:var(--or);background:rgba(11,13,16,.75)}
.onair-card .mini-now{flex:none;width:190px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(232,226,213,.25)}
.onair-card .mini-now img{width:100%;height:100%;object-fit:cover}
.onair-card .oa-txt{display:flex;flex-direction:column;gap:.22rem;min-width:0}
.onair-card .pastille{
  display:flex;align-items:center;gap:.5rem;
  font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or-clair);
}
.onair-card .pastille b{font-weight:500;letter-spacing:.1em}
.onair-card .pastille::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:#e05a4e;box-shadow:0 0 0 0 rgba(224,90,78,.6);animation:pulse 2s infinite;
}
.onair-card .titre-now{
  font-family:'Marcellus',serif;font-size:1.14rem;color:var(--marbre);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.onair-card .detail-now{
  font-family:'Cormorant Garamond',serif;font-size:.98rem;color:var(--creme);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
@media(max-width:920px){
  .onair-card{position:relative;right:auto;bottom:auto;margin:1.8rem 4vw 0;max-width:none;width:calc(100% - 8vw)}
}


/* Grand écran : logo plus bas et plus rentré */
@media(min-width:1400px){
  header{padding-left:3.2vw;padding-right:3.2vw}
  .logo{margin-top:34px;margin-left:5vw}
  .logo img{height:122px}
  header.scrolled .logo{margin-top:8px}
  header.scrolled .logo img{height:72px}
}


/* calendrier : cases contenues */
.cal{overflow:hidden}
.cal .case{overflow:hidden;min-width:0}


/* ---------- Album photo ---------- */
.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.galerie a{
  display:block;overflow:hidden;position:relative;cursor:zoom-in;
  border:1px solid var(--ligne);aspect-ratio:16/10;
  background:var(--fond2);
  box-shadow:0 8px 28px rgba(25,27,32,.12);
  transition:box-shadow .35s var(--transition), transform .35s var(--transition);
}
.galerie a:first-child{grid-column:span 2;grid-row:span 2}
.galerie a:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(154,123,63,.3)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--transition)}
.galerie a:hover img{transform:scale(1.05)}
.galerie a::after{
  content:'\2922';position:absolute;right:.7rem;bottom:.6rem;
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  background:rgba(11,13,16,.55);color:#f4f1ea;font-size:.95rem;
  opacity:0;transition:opacity .3s;border-radius:3px;
}
.galerie a:hover::after{opacity:1}
.galerie-legende{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--brun);margin-bottom:1.3rem}
@media(max-width:920px){.galerie{grid-template-columns:1fr}.galerie a:first-child{grid-column:span 1;grid-row:span 1}}

/* ---------- Visionneuse plein écran ---------- */
.lightbox{position:fixed;inset:0;z-index:400;background:rgba(8,9,12,.95);display:none;align-items:center;justify-content:center}
.lightbox.on{display:flex}
.lightbox img{max-width:88vw;max-height:86vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.6)}
.lightbox button{position:absolute;background:none;border:none;color:#f4f1ea;font-size:2rem;cursor:pointer;padding:1rem;opacity:.75;transition:opacity .2s;font-family:'Jost',sans-serif}
.lightbox button:hover{opacity:1}
.lightbox .lb-close{top:1rem;right:1.4rem}
.lightbox .lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{right:1rem;top:50%;transform:translateY(-50%)}
.lightbox .lb-compteur{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);color:#c9c5bb;font-size:.78rem;letter-spacing:.3em}

/* ============================================================
   GRAND ÉCLAIRCISSEMENT « SOLEIL » — beaucoup plus de lumière
   ============================================================ */
:root{
  --fond:#fbf9f3;
  --fond2:#f6f2e9;
}

/* Héros nettement plus lumineux (les visuels respirent) */
.hero::after{
  background:
    linear-gradient(90deg,rgba(11,13,16,.42) 0%,rgba(11,13,16,.1) 45%,transparent 65%),
    linear-gradient(180deg,rgba(11,13,16,.48) 0%,rgba(11,13,16,.16) 22%,rgba(11,13,16,.02) 45%,rgba(11,13,16,.28) 80%,rgba(11,13,16,.3) 93%,var(--fond) 100%);
}
.page-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.5) 0%,rgba(11,13,16,.2) 45%,rgba(11,13,16,.04) 78%,var(--fond) 100%);
}
.fiche-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.52) 0%,rgba(11,13,16,.22) 32%,rgba(11,13,16,.16) 55%,rgba(11,13,16,.6) 100%);
}
.hero h1,.page-hero h1,.fiche-hero h1{text-shadow:0 2px 30px rgba(11,13,16,.75)}
.divider::after{background:rgba(11,13,16,.32)}
.divider{height:44vh;min-height:320px}

/* Carte À l'antenne : claire et lumineuse */
.onair-card{
  background:rgba(251,249,243,.94);backdrop-filter:blur(18px);
  border:1px solid rgba(154,123,63,.4);border-left:3px solid var(--or-fonce);
  box-shadow:0 16px 44px rgba(11,13,16,.35);border-radius:10px;
}
.onair-card:hover{background:#fff;border-color:var(--or-fonce)}
.onair-card .titre-now{color:var(--encre)}
.onair-card .detail-now{color:var(--brun)}
.onair-card .pastille{color:var(--or-fonce)}
.onair-card .mini-now{border-color:rgba(25,27,32,.12);border-radius:6px}

/* Listes de programmes sur panneau blanc */
.prog-list{background:#fff;border-radius:14px;padding:.35rem 1.3rem;box-shadow:0 10px 34px rgba(25,27,32,.07)}
.prog-fond::before{opacity:.04}

/* Pastilles de genre plus vives */
.g-concert{background:rgba(154,123,63,.15) !important}
.g-ballet{background:rgba(184,79,136,.13) !important}
.g-opera{background:rgba(194,58,46,.12) !important}
.g-documentaire,.g-documental{background:rgba(58,103,177,.12) !important}
.g-festival,.g-creation{background:rgba(39,146,76,.12) !important}
.g-cinema,.g-serie{background:rgba(138,74,158,.12) !important}

/* Cartes : blanc pur, ombre douce, survol doré */
.carte,.sugg a{background:#fff;border-radius:10px;overflow:hidden}
.cat{border-radius:10px;overflow:hidden}
.carte:hover,.cat:hover{box-shadow:0 18px 44px rgba(154,123,63,.28)}
.part,.pays,.bloc-u,.infos,.contact-bloc{background:#fff;border-radius:10px;box-shadow:0 6px 22px rgba(25,27,32,.06)}

/* Cinq univers sur la home */
.cats.cinq .cat{grid-column:span 2}
.cats.cinq .cat:nth-child(4){grid-column:1 / span 3}
.cats.cinq .cat:nth-child(5){grid-column:4 / span 3}
@media(max-width:920px){
  .cats.cinq{grid-template-columns:1fr 1fr}
  .cats.cinq .cat,.cats.cinq .cat:nth-child(4){grid-column:span 1}
  .cats.cinq .cat:first-child,.cats.cinq .cat:nth-child(5){grid-column:span 2}
}

/* Onglets de vue : pastilles claires */
.viewtabs a{padding:.55rem 1.1rem;border-radius:999px;border:1px solid transparent}
.viewtabs a:hover{background:#fff;border-color:rgba(154,123,63,.35)}
.viewtabs a.actif{background:#fff;border-color:var(--or-fonce);box-shadow:0 4px 14px rgba(154,123,63,.18)}

/* Boutons plus gais */
.btn{border-radius:999px}
.btn.plein{background:var(--or-fonce);border-color:var(--or-fonce);color:#fff}
.btn.plein:hover{background:var(--or);border-color:var(--or);color:var(--noir)}
.btn:hover{background:var(--or-fonce);border-color:var(--or-fonce);color:#fff}

/* Sections : léger dégradé lumineux */
#univers{background:linear-gradient(180deg,var(--fond) 0%,#fffdf8 100%)}
.compact{background:transparent}

/* Album photo : cadre blanc lumineux */
.galerie a{background:#fff;border-radius:8px}

/* Calendrier mensuel sur mobile : liste agenda verticale */
@media(max-width:700px){
  .cal{display:block}
  .cal .dow{display:none}
  .cal .case{display:block;min-height:0;margin-bottom:10px;padding:.7rem .9rem}
  .cal .case.vide{display:none}
  .cal .num{display:inline-block;font-size:1rem;margin-bottom:.2rem;color:var(--or-fonce);font-weight:600}
  .cal .evt{white-space:normal;overflow:visible;text-overflow:clip;display:block;padding:.3rem 0 .3rem .95rem}
  .cal .case .num::after{display:none}
  .cal .case:hover{transform:none}
}

/* Nous recevoir / opérateurs */
.ops-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:760px}
.op-carte{background:#fff;border:1px solid var(--ligne);border-radius:10px;padding:1.8rem 1.6rem;text-align:center;box-shadow:0 6px 22px rgba(25,27,32,.06)}
.op-carte img{max-height:56px;max-width:70%;object-fit:contain;margin-bottom:1rem}
.op-carte h3{font-size:1.15rem;margin-bottom:.2rem}
.op-carte p{color:var(--brun);font-size:.92rem}
.recevoir-visuel img{width:100%;max-width:900px;border-radius:10px;box-shadow:0 14px 40px rgba(25,27,32,.14);border:1px solid var(--ligne)}

/* Réseaux sociaux au pied de page */
.foot .socials{display:flex;gap:1.6rem;justify-content:center;margin:.4rem 0 .2rem}
.foot .socials a{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--creme);opacity:.85;transition:opacity .3s,color .3s}
.foot .socials a:hover{opacity:1;color:var(--or-clair)}

/* Logos partenaires + opérateurs cliquables */
.part img{max-height:60px;max-width:65%;object-fit:contain;margin-bottom:1.1rem}
.ops .op img{height:40px;width:auto;object-fit:contain;margin:0 auto .5rem}
.ops a.op{transition:transform .3s var(--transition)}
.ops a.op:hover{transform:translateY(-3px)}

/* Nav 8 entrées : compacte pour tenir sur un rang */
@media(min-width:921px){
  nav.main a{white-space:nowrap}
  nav.main{margin-left:1.6rem}
}
@media(min-width:921px) and (max-width:1600px){
  nav.main{gap:1.05rem}
  nav.main a{font-size:.68rem;letter-spacing:.12em}
  .logo img{height:88px}
}
@media(min-width:921px) and (max-width:1240px){
  nav.main{gap:.75rem;margin-left:1rem}
  nav.main a{font-size:.62rem;letter-spacing:.08em}
  .logo img{height:72px}
  .lang{gap:.35rem}
  .lang a,.lang b{padding:.25rem .45rem;font-size:.68rem}
}
@media(min-width:1601px){
  nav.main{gap:1.6rem}
  nav.main a{font-size:.76rem;letter-spacing:.16em}
}

/* Fiche : bloc œuvres + distribution structurée */
.synopsis p.oeuvres{font-family:'Cormorant Garamond',serif;font-size:1.28rem;line-height:1.55;color:var(--encre)}
.distribution{margin-top:1.6rem;border-left:2px solid var(--or-fonce);padding-left:1.2rem}
.distribution .dist-titre{display:block;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or-fonce);margin-bottom:.6rem}
.distribution .dist-ligne{display:block;padding:.22rem 0;font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:#2c2e34}

/* ============================================================
   PROGRAMMATION : panneau chaleureux, accents de genre
   ============================================================ */
.prog-list{
  background:linear-gradient(180deg,#fffcf5 0%,#faf5ea 100%);
  border:1px solid rgba(154,123,63,.18);
  box-shadow:0 12px 38px rgba(154,123,63,.10);
}
.prog-item{border-left:3px solid transparent;padding-left:1rem;transition:background .25s,border-color .25s}
.prog-item:hover{background:rgba(154,123,63,.06)}
.rg-concert{border-left-color:#c2a36b}
.rg-opera{border-left-color:#c23a2e}
.rg-ballet,.rg-ballet-concert{border-left-color:#b84f88}
.rg-documentaire,.rg-documental{border-left-color:#3a67b1}
.rg-creation,.rg-creacion{border-left-color:#27924c}
.rg-concierto{border-left-color:#c2a36b}
.prog-item .mini{border-radius:8px;overflow:hidden;box-shadow:0 4px 14px rgba(25,27,32,.14)}
.prog-item .heure{font-size:1.02rem}
.datenav{background:#fff;border:1px solid rgba(154,123,63,.22);border-radius:12px;padding:.9rem 1.4rem;box-shadow:0 6px 20px rgba(25,27,32,.05)}
.jour-groupe h3{background:linear-gradient(90deg,rgba(154,123,63,.10),transparent);padding:.5rem .9rem;border-radius:6px}

/* Bloc « Au programme » : les œuvres jouées, toujours visibles */
.programme-bloc{border-left-color:var(--or);background:linear-gradient(90deg,rgba(194,163,107,.07),transparent);padding:.9rem 1rem .9rem 1.2rem;border-radius:0 8px 8px 0;margin-top:1.8rem}
.programme-bloc .oeuvre-ligne{display:block;padding:.28rem 0;font-family:'Cormorant Garamond',serif;font-size:1.16rem;color:var(--encre);position:relative;padding-left:1.15rem}
.programme-bloc .oeuvre-ligne::before{content:'♪';position:absolute;left:0;color:var(--or-fonce);font-size:.85rem;top:.45rem}

/* ============================================================
   ÉCLAT — lisibilité des bandeaux, vignettes lumineuses, couleur
   ============================================================ */
/* 1) Textes des bandeaux de tête : toujours lisibles, sur toute image */
.page-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.5) 0%,rgba(11,13,16,.18) 38%,rgba(11,13,16,.62) 74%,rgba(11,13,16,.68) 90%,var(--fond) 100%);
}
.page-hero h1{text-shadow:0 2px 10px rgba(0,0,0,.85),0 6px 36px rgba(0,0,0,.6)}
.page-hero p.sous{color:#fff;font-size:1.34rem;text-shadow:0 2px 8px rgba(0,0,0,.9),0 4px 22px rgba(0,0,0,.65)}
.fil{color:#f0ead9;text-shadow:0 1px 6px rgba(0,0,0,.9)}
.fiche-hero h1{text-shadow:0 2px 10px rgba(0,0,0,.85),0 6px 36px rgba(0,0,0,.6)}

/* 2) Vignettes : moins sombres, textes plus grands */
.carte::after{background:linear-gradient(180deg,transparent 42%,rgba(11,13,16,.38) 68%,rgba(11,13,16,.82) 100%)}
.carte .lbl h3{font-size:1.34rem;line-height:1.25}
.carte .lbl p{font-size:1.1rem;color:var(--creme)}
.carte .lbl .tag{font-size:.7rem;background:rgba(11,13,16,.45);backdrop-filter:blur(4px)}
.cat .label h3{font-size:1.5rem}
.sugg a .lbl h3{font-size:1.2rem}

/* 3) De la couleur, partout où l'œil se pose */
.section-head .sur{
  background:var(--note);-webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:600;letter-spacing:.34em;
}
.viewtabs a.actif{background:var(--or-fonce);color:#fff;border-color:var(--or-fonce);box-shadow:0 6px 18px rgba(154,123,63,.35)}
.g-concert,.g-concierto{background:rgba(194,163,107,.22) !important}
.g-ballet{background:rgba(184,79,136,.20) !important}
.g-opera{background:rgba(194,58,46,.18) !important}
.g-documentaire,.g-documental{background:rgba(58,103,177,.18) !important}
.g-festival,.g-creation,.g-creacion{background:rgba(39,146,76,.18) !important}
.prog-item{border-left-width:4px}
.cal .evt b{font-weight:600}
.cal .case{border-top:3px solid rgba(194,163,107,.35)}
.cal .case:hover{border-top-color:var(--or)}
.jour-groupe h3{color:var(--encre);border-left:4px solid var(--or);background:linear-gradient(90deg,rgba(217,135,181,.10),rgba(242,167,27,.08) 30%,transparent)}
.datenav .quand{font-family:'Marcellus',serif;font-size:1.25rem}
.prog-fond::before{opacity:.06}

/* 4) Partenaires : cartes avec logos sur fond blanc */
.part{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.part img{max-height:74px;max-width:78%;object-fit:contain;margin-bottom:1rem}
.part h3{font-size:1.2rem}

/* Pastille de genre du bandeau fiche : lisible sur toute image */
.genre-tag{background:rgba(11,13,16,.55);backdrop-filter:blur(6px);color:#f4e9d0;border:1px solid rgba(217,194,148,.6);padding:.3rem .9rem;border-radius:999px}

/* ============================================================
   CONTRASTE & NETTETÉ — texte plus noir, transitions franches
   ============================================================ */
:root{
  --encre:#0f1114;         /* texte principal : presque noir */
  --brun:#413d34;          /* texte secondaire assombri */
}
body{color:var(--encre)}
.edito p,.jalon p,.president p,.synopsis p{color:#131519}
.synopsis p{font-size:1.06rem;line-height:1.75}
.section-head p{color:#413d34}
.prog-item .titre{color:#0f1114;font-weight:500}
.prog-item .titre small{color:#4a4238}
.infos dd{color:#0f1114}
.distribution .dist-ligne{color:#1a1c21}
.programme-bloc .oeuvre-ligne{color:#0f1114}
.part p{color:#413d34}

/* Fin de bandeau NETTE : plus de fondu flou entre image et page */
.page-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.5) 0%,rgba(11,13,16,.16) 38%,rgba(11,13,16,.58) 78%,rgba(11,13,16,.66) 100%);
}
.page-hero{border-bottom:none}
.page-hero .inner{padding-bottom:2.6rem}
.page-hero::before{
  content:'';position:absolute;left:0;right:0;bottom:0;height:4px;z-index:4;
  background:var(--note);
}
.fiche-hero::after{
  background:linear-gradient(180deg,rgba(11,13,16,.52) 0%,rgba(11,13,16,.2) 34%,rgba(11,13,16,.5) 70%,rgba(11,13,16,.72) 100%);
}
.fiche-hero{border-bottom:none;position:relative}
.fiche-hero::before{
  content:'';position:absolute;left:0;right:0;bottom:0;height:4px;z-index:4;
  background:var(--note);
}

/* ============================================================
   DÉROULANT PARTENAIRES — bandeau défilant permanent
   ============================================================ */
.marquee{overflow:hidden;position:relative;padding:1.2rem 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee-inner{display:flex;gap:2.2rem;width:max-content;animation:defile 36s linear infinite}
.marquee:hover .marquee-inner{animation-play-state:paused}
@keyframes defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee .pitem{
  display:flex;align-items:center;gap:1rem;flex:none;
  background:#fff;border:1px solid rgba(154,123,63,.25);border-radius:12px;
  padding:1rem 1.8rem;box-shadow:0 6px 20px rgba(25,27,32,.07);
  transition:box-shadow .3s,transform .3s;
}
.marquee .pitem:hover{box-shadow:0 12px 30px rgba(154,123,63,.28);transform:translateY(-2px)}
.marquee .pitem img{max-height:52px;max-width:150px;object-fit:contain}
.marquee .pitem span{font-family:'Marcellus',serif;font-size:1.05rem;color:#0f1114;white-space:nowrap}

/* Titres des vignettes : TOUJOURS blancs sur les photos (l'encre sombre ne s'y applique pas) */
.carte .lbl h3,.cat .label h3,.sugg a .lbl h3{color:#fff}
.carte .lbl p{color:var(--creme)}
.sugg a .lbl span{color:var(--creme)}
.cat .label span{color:var(--or-clair)}

/* ---------- NAV 9 ENTRÉES : burger plus tôt + resserrage (libellés ES longs) ---------- */
@media(max-width:1279px){
  nav.main{display:none}
  .burger{display:block}
  header .lang{display:none}
}
@media(min-width:1280px) and (max-width:1750px){
  nav.main{gap:.7rem;margin-left:.9rem}
  nav.main a{font-size:.6rem;letter-spacing:.07em}
  .logo img{height:72px}
  .lang{gap:.3rem}
  .lang a,.lang b{padding:.25rem .5rem;font-size:.7rem}
}
@media(min-width:1751px){
  nav.main{gap:.95rem}
  nav.main a{font-size:.68rem;letter-spacing:.1em}
}

/* ---------- Opérateurs en home : logos XL + numéro de canal ---------- */
.ops-xl{display:flex;justify-content:center;gap:3.5rem;flex-wrap:wrap;margin-top:2.8rem}
.ops-xl .op{display:block}
.ops-xl .op img{height:140px;width:auto;max-width:340px;object-fit:contain;display:block;margin:0 auto 1.4rem;
  background:#fff;padding:1.4rem 2.6rem;border-radius:16px;box-shadow:0 12px 38px rgba(25,27,32,.14)}
.ops-xl .op .canal{display:block;font-family:'Marcellus',serif;font-size:1.9rem;color:var(--or-fonce);letter-spacing:.04em}
.ops-xl .op small{display:block;margin-top:.4rem;color:var(--brun);font-size:.92rem;letter-spacing:.06em}

/* ---------- Page « Les sous-titres » : écrans de démonstration ---------- */
.st-grille{display:grid;gap:26px;max-width:920px;margin:2.6rem auto 0}
.st-ecran{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 16px 44px rgba(25,27,32,.22);background:#000}
.st-ecran img{width:100%;height:380px;object-fit:cover;display:block;opacity:.92}
.st-ecran .st-txt{position:absolute;left:0;right:0;bottom:1.7rem;text-align:center;padding:0 9%;
  color:#fff;font-family:'Jost',sans-serif;font-weight:400;font-size:1.22rem;line-height:1.5;
  text-shadow:0 2px 10px rgba(0,0,0,.95),0 0 3px rgba(0,0,0,.9)}
.st-ecran .st-cap{position:absolute;top:1.1rem;left:1.4rem;font-size:.66rem;letter-spacing:.24em;
  text-transform:uppercase;color:#fff;opacity:.8;text-shadow:0 1px 6px #000}
.st-legende{margin:.9rem 0 0;font-size:.95rem;color:var(--brun);text-align:center}
.st-citation{margin:3.4rem auto 0;max-width:760px;text-align:center;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.85rem;line-height:1.4;color:var(--encre)}
.st-citation::after{content:'';display:block;width:64px;height:3px;margin:1.4rem auto 0;
  background:linear-gradient(90deg,#e05252,#e8a33d,#3d8a5a,#3f6bb5)}
@media(max-width:920px){.st-ecran img{height:250px}.st-ecran .st-txt{font-size:1rem;bottom:1.1rem}}

/* ---------- Pages EN/PT (mini-site) : sélecteur de langue TOUJOURS visible, même sur mobile ---------- */
@media(max-width:1080px){
  body.mini header .lang{display:flex}
  body.mini .lang{gap:.25rem}
  body.mini .lang a,body.mini .lang b{padding:.3rem .5rem;font-size:.78rem}
  body.mini .logo img{height:64px}
}

/* ---------- Bandeau signature : la grande différence Allegro ---------- */
.sig-band{background:#14161a;text-align:center;padding:5.5rem 6vw;border-top:2px solid var(--or);border-bottom:2px solid var(--or)}
.sig-band .sur{color:var(--or-clair);letter-spacing:.3em;text-transform:uppercase;font-size:.72rem}
.sig-band .sig-big{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.9rem,4vw,3.2rem);color:#f4f1ea;margin-top:1.2rem;line-height:1.25}
.sig-band .sig-sub{color:#c9c5bb;max-width:640px;margin:1.4rem auto 0;font-size:1.05rem;line-height:1.65}
.sig-band .sig-sign{margin-top:2.2rem;color:var(--or-clair);font-family:'Marcellus',serif;font-size:1.02rem;letter-spacing:.14em}

/* ---------- Page sous-titres : claim + manifeste ---------- */
.st-claim{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,2.6vw,2.2rem);font-style:italic;
  text-align:center;max-width:820px;margin:0 auto 2.8rem;color:var(--encre);line-height:1.35}
.manifeste{margin:3.6rem auto 0;max-width:780px;text-align:center}
.manif-ligne{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;color:var(--encre);
  line-height:1.45;padding:1.05rem 0;border-bottom:1px solid rgba(154,123,63,.25)}
.manif-ligne:last-child{border-bottom:none}

/* ---------- Réseaux sociaux : icônes visibles ---------- */
.foot .socials{gap:1.4rem;flex-wrap:wrap}
.foot .socials a{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.6rem;letter-spacing:.22em}
.foot .socials a svg{width:44px;height:44px;padding:11px;border:1px solid rgba(244,241,234,.42);border-radius:50%;box-sizing:border-box;transition:border-color .3s,transform .3s,color .3s}
.foot .socials a:hover svg{border-color:var(--or-clair);transform:translateY(-3px)}

/* ---------- Mini-pages : liste vendeuse ---------- */
.mini .vente-item{display:flex;gap:1.1rem;align-items:flex-start;margin-top:1.4rem;font-size:1.13rem;line-height:1.72}
.mini .vente-item .num{font-family:'Marcellus',serif;color:var(--or);font-size:1.7rem;line-height:1.15;min-width:1.4rem}
.mini .vente-item p{margin:0}

/* ---------- Section « Suivez-nous » ---------- */
.suivez{background:linear-gradient(180deg,rgba(154,123,63,.06),transparent)}
.soc-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:2.2rem}
.soc-carte{background:#fff;border:1px solid rgba(154,123,63,.28);border-radius:10px;padding:1.6rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.55rem;box-shadow:0 10px 30px rgba(25,27,32,.07);transition:transform .3s,box-shadow .3s}
.soc-carte:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(25,27,32,.13)}
.soc-carte svg{width:48px;height:48px;padding:11px;border:1px solid rgba(65,61,52,.3);border-radius:50%;color:var(--or-fonce);box-sizing:border-box}
.soc-carte .soc-nom{font-family:'Marcellus',serif;font-size:1.02rem;letter-spacing:.05em;color:var(--noir)}
.soc-carte .soc-cta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or-fonce)}
.fb-embed{display:flex;justify-content:center;margin-top:1rem}

/* ---------- Preuve sociale dans le héros ---------- */
.hero-soc{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.6rem;color:var(--creme);opacity:.92;font-size:.98rem;transition:opacity .3s}
.hero-soc:hover{opacity:1}
.hero-soc svg{width:30px;height:30px;padding:6px;border:1px solid rgba(244,241,234,.45);border-radius:50%;box-sizing:border-box}
.hero-soc span{letter-spacing:.03em;border-bottom:1px solid rgba(244,241,234,.35);padding-bottom:.15rem}
@media(max-width:700px){.hero-soc{font-size:.85rem}.hero-soc svg{width:24px;height:24px;padding:5px}}

/* ---------- Recherche : icône d'en-tête + barre du héros ---------- */
header .srch{display:flex;align-items:center;margin-left:auto;margin-right:1rem;color:var(--creme);opacity:.85;transition:opacity .3s,color .3s}
header .srch:hover{opacity:1;color:var(--or-clair)}
header .srch svg{width:20px;height:20px}
header .lang{margin-left:0}
.hero-srch{display:flex;align-items:center;gap:0;margin-top:1.4rem;max-width:430px;border:1px solid rgba(244,241,234,.4);border-radius:999px;background:rgba(20,22,26,.45);backdrop-filter:blur(4px);overflow:hidden}
.hero-srch input{flex:1;background:none;border:none;outline:none;color:#f4f1ea;font:inherit;font-size:.98rem;padding:.72rem 1.2rem}
.hero-srch input::placeholder{color:rgba(244,241,234,.65)}
.hero-srch button{background:none;border:none;color:var(--or-clair);padding:.6rem 1.1rem;cursor:pointer;display:flex;align-items:center}
.hero-srch button svg{width:19px;height:19px}
@media(max-width:1279px){header .srch{margin-left:0;margin-right:.6rem}}

/* ---------- Résultats de recherche enrichis ---------- */
.res-item .titre a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(154,123,63,.45)}
.res-item .titre a:hover{color:var(--or-fonce)}
.res-item .dif-list{display:block;margin-top:.45rem;font-size:.85rem;line-height:1.8;color:var(--brun)}
.res-item .dif-list b{color:var(--or-fonce);letter-spacing:.06em}
.res-item .lien-fiche{display:inline-block;margin-top:.5rem;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or-fonce)}
.res-item .lien-fiche:hover{text-decoration:underline}

/* ---------- Mobile : héros de la home (logo/titre sans chevauchement) ---------- */
@media(max-width:700px){
  .hero{min-height:auto}
  .hero-content{padding-top:128px;padding-bottom:3.2rem}
  .hero .surtitre{font-size:.62rem;letter-spacing:.26em;margin-bottom:1rem;padding:.45rem .8rem .45rem 1rem}
  .hero h1{font-size:clamp(1.9rem,8.4vw,2.5rem);max-width:none}
  .hero .formats img{height:2.5rem!important}
  .hero-cta{flex-direction:column;align-items:stretch;gap:.7rem}
  .hero-cta .btn{text-align:center;justify-content:center}
  .hero-soc{display:flex;flex-wrap:wrap;row-gap:.4rem}
  .hero-soc span{border-bottom:none}
  .hero-srch{max-width:none;margin-top:1.2rem}
  .logo img{height:54px}
  header.scrolled .logo img{height:44px}
  .onair-card{position:static;margin:1.6rem 0 0;max-width:none}
}

/* ---------- Mobile : pas de défilement latéral ---------- */
@media(max-width:920px){
  html,body{overflow-x:hidden;max-width:100%}
  header{max-width:100vw}
}

/* ---------- Bouton accent : l'accroche sous-titres doit sauter aux yeux ---------- */
.btn.accent{
  background:var(--creme);color:#191b20;border-color:var(--creme);
  font-weight:600;
  box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 0 rgba(232,221,196,.55);
  animation:accentPulse 2.6s ease-out 1.2s 3;
}
.btn.accent:hover{background:#fff;border-color:#fff;color:#191b20;transform:translateY(-2px)}
@keyframes accentPulse{
  0%{box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 0 rgba(232,221,196,.55)}
  60%{box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 14px rgba(232,221,196,0)}
  100%{box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 0 0 rgba(232,221,196,0)}
}

/* ---------- Héros : opérateurs TV (Orange / Bouygues) ---------- */
.hero-ops{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}
.hero-ops .ho-lbl{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or-clair)}
.hero-ops .ho-item{display:flex;align-items:center;gap:.55rem;color:var(--creme);font-size:.95rem}
.hero-ops .ho-item img{height:30px;width:auto;background:#fff;padding:5px 9px;border-radius:7px;box-shadow:0 6px 20px rgba(0,0,0,.3)}
@media(max-width:700px){.hero-ops{gap:.8rem}.hero-ops .ho-item img{height:26px}}

/* ---------- Opérateurs : cartes et rangée de logos ---------- */
.op-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:2.2rem}
.op-grille-2{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.op-carte{background:#fff;border:1px solid rgba(154,123,63,.28);border-radius:10px;padding:1.7rem 1.2rem;text-align:center;box-shadow:0 10px 30px rgba(25,27,32,.07);transition:transform .3s,box-shadow .3s}
.op-carte:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(25,27,32,.13)}
.op-carte .op-logo{height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.op-carte .op-logo img{max-height:60px;max-width:82%;object-fit:contain}
.op-carte .op-pais{font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--brun);margin:0}
.op-carte .op-nom{font-family:'Marcellus',serif;font-size:1.12rem;margin:.3rem 0 .55rem;color:var(--noir)}
.op-carte .canal{display:inline-block;font-size:.92rem;color:var(--or-fonce);font-weight:600;border-top:1px solid rgba(154,123,63,.35);padding-top:.5rem}
.op-carte .canal-attente{font-weight:400;font-size:.8rem;color:var(--brun)}
.op-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:2.2rem}
.op-strip img{height:44px;width:auto;background:#fff;padding:7px 12px;border-radius:8px;object-fit:contain;box-shadow:0 6px 18px rgba(0,0,0,.18)}
@media(max-width:700px){.op-grille{grid-template-columns:1fr 1fr}.op-strip img{height:36px}}

/* ── héros vidéo (home FR/ES/SR) ─────────────────────────────── */
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
@media (max-width:700px),(prefers-reduced-motion:reduce){.hero-bg video{display:none}}

/* ── lisibilité home : textes agrandis + rotation vidéo ──────── */
.hero .surtitre{font-size:.95rem}
.hero p.accroche{font-size:1.6rem}
.hero-soc{font-size:1.12rem}
.hero-soc svg{width:34px;height:34px;padding:7px}
.hero-ops .ho-lbl{font-size:.85rem}
.hero-ops .ho-item{font-size:1.08rem}
.hero-ops .ho-item img{height:34px}
.hero-srch{max-width:470px}
.hero-srch input{font-size:1.08rem}
.onair-card .pastille{font-size:.74rem}
.onair-card .titre-now{font-size:1.3rem}
.onair-card .detail-now{font-size:1.12rem}
.hero-bg .hv{opacity:0;transition:opacity .9s ease}
.hero-bg .hv.on{opacity:1}
@media(max-width:700px){.hero-soc{font-size:.95rem}.onair-card .titre-now{font-size:1.15rem}}

/* ── portes des univers en vidéo ─────────────────────────────── */
.cat video.catv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:700px),(prefers-reduced-motion:reduce){.cat video.catv{display:none}}

/* ── newsletter, fallback Facebook, accessibilité ────────────── */
.nl-form{display:flex;gap:.7rem;max-width:540px;margin:0 auto}
.nl-form input[type=email]{flex:1;padding:.9rem 1.2rem;border:1px solid rgba(65,61,52,.35);border-radius:999px;font:inherit;font-size:1.02rem;background:#faf8f3;min-width:0}
.nl-form button{border:none;cursor:pointer;white-space:nowrap}
.nl-note{margin-top:.9rem;font-size:.88rem;color:var(--brun);opacity:.85}
@media(max-width:560px){.nl-form{flex-direction:column}.nl-form button{width:100%}}
.fb-fallback{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:720px;margin:1.6rem auto 0}
.fb-fallback a{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:8px;border:1px solid rgba(201,197,187,.25)}
.fb-fallback img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.fb-fallback a:hover img{transform:scale(1.05)}
.fb-fallback span{position:absolute;left:0;right:0;bottom:0;padding:.5rem;background:linear-gradient(180deg,transparent,rgba(11,13,16,.85));color:#f4f1ea;font-size:.85rem;letter-spacing:.04em}
@media(max-width:560px){.fb-fallback{grid-template-columns:1fr;max-width:340px}}
a:focus-visible,.btn:focus-visible,.cat:focus-visible{outline:2px solid var(--or-clair);outline-offset:3px;border-radius:2px}
.cat::after{background:linear-gradient(180deg,transparent 14%,rgba(11,13,16,.55) 62%,rgba(11,13,16,.97) 100%)}
.fb-embed iframe:not([src]){display:none}

/* ── retours consultant : héros mobile sécurisé, nav plus lisible ── */
.hero{background:var(--noir)}
.hero-bg{background-color:var(--noir)}
@media (prefers-reduced-motion:reduce){.hero-content>*{animation:none!important;opacity:1!important;transform:none!important}}
@media (max-width:700px){
  .hero::after{background:linear-gradient(90deg,rgba(11,13,16,.6) 0%,rgba(11,13,16,.3) 45%,rgba(11,13,16,.15) 65%),linear-gradient(180deg,rgba(11,13,16,.78) 0%,rgba(11,13,16,.35) 22%,rgba(11,13,16,.18) 42%,rgba(11,13,16,.85) 88%,var(--noir) 100%)}
  .hero-content>*{animation-duration:.5s}
  .hero-content>*:nth-child(2){animation-delay:.05s}
  .hero-content>*:nth-child(3){animation-delay:.12s}
  .hero-content>*:nth-child(4){animation-delay:.18s}
}
.logo{flex-shrink:0}
@media(min-width:1280px) and (max-width:1750px){
  nav.main a{font-size:.72rem;letter-spacing:.1em}
  nav.main{gap:1.1rem}
  .logo img{height:74px}
}
@media(min-width:921px) and (max-width:1279px){
  nav.main a{font-size:.66rem;letter-spacing:.08em}
}

/* ── menu déroulant + carte-aperçu PDF ───────────────────────── */
nav .navgrp{position:relative;display:flex;align-items:center}
nav .navgrp>button{font-family:inherit;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--marbre);background:none;border:none;cursor:pointer;padding:.3rem 0;text-shadow:0 1px 10px rgba(0,0,0,.7)}
nav .navgrp>button:hover,nav .navgrp.actif>button{color:var(--or-clair)}
nav .navsub{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:230px;background:rgba(14,16,20,.97);border:1px solid rgba(201,197,187,.2);border-radius:10px;padding:.55rem 0;display:none;flex-direction:column;box-shadow:0 20px 55px rgba(0,0,0,.5);z-index:80}
nav .navgrp:hover .navsub,nav .navgrp:focus-within .navsub{display:flex}
nav .navsub a{display:block;padding:.55rem 1.4rem;font-size:.74rem;letter-spacing:.12em;white-space:nowrap}
nav .navsub a::after{display:none}
nav .navsub a:hover,nav .navsub a.actif{color:var(--or-clair);background:rgba(154,123,63,.12)}
@media(min-width:1280px) and (max-width:1750px){nav.main .navgrp>button{font-size:.72rem;letter-spacing:.1em}}
@media(min-width:921px) and (max-width:1279px){nav.main .navgrp>button{font-size:.66rem;letter-spacing:.08em}}
.tf-apercu{display:inline-flex;align-items:center;gap:1.1rem;border:1px solid rgba(154,123,63,.4);border-radius:12px;padding:.7rem 1.2rem .7rem .7rem;background:rgba(255,255,255,.55);transition:transform .3s var(--transition),box-shadow .3s;box-shadow:0 10px 30px rgba(25,27,32,.1)}
.tf-apercu:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(25,27,32,.16)}
.tf-apercu img{height:108px;width:auto;border-radius:5px;box-shadow:0 6px 18px rgba(25,27,32,.25);border:1px solid rgba(25,27,32,.1)}
.tf-apercu span{display:flex;flex-direction:column;gap:.25rem;text-align:left}
.tf-apercu b{font-family:'Marcellus',serif;font-size:1.02rem;color:var(--encre);font-weight:400}
.tf-apercu small{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce)}
@media(max-width:560px){.tf-apercu{width:100%}.tf-apercu img{height:88px}}
.hero-cta{align-items:center}

/* ── garde anti-chevauchement en-tête/héros + héros minisites ── */
.hero-content{margin-top:140px}
body.mini .hero .surtitre{margin-top:0}
body.mini .hero p.accroche{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--creme);max-width:56ch;margin-top:1.2rem;text-shadow:0 2px 20px rgba(0,0,0,.5)}

/* ── la presse en parle ──────────────────────────────────────── */
.presse-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1080px;margin:1.4rem auto 0}
.presse-item{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.6rem 1.5rem;background:#fff;border:1px solid rgba(154,123,63,.28);border-radius:12px;box-shadow:0 10px 30px rgba(25,27,32,.08);transition:transform .3s var(--transition),box-shadow .3s;text-align:left}
.presse-item:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(25,27,32,.14)}
.presse-item .pq{font-family:'Cormorant Garamond',serif;font-size:1.22rem;line-height:1.45;color:var(--encre)}
.presse-item .psrc{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--or-fonce)}
@media(max-width:900px){.presse-grille{grid-template-columns:1fr;max-width:520px}}

/* ── grille cliente (fuseau + jour réel), pages ES ─────────────── */
.gl-huso{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:0 0 1.6rem;
  font:400 .9rem/1.4 Jost,sans-serif}
.gl-huso select{font:inherit;padding:.35rem .6rem;border:1px solid rgba(154,123,63,.4);
  border-radius:2px;background:transparent;color:inherit}
.gl-note{opacity:.6;font-size:.8rem;letter-spacing:.04em}
.gl-date{font:400 1.35rem/1.3 Marcellus,serif;margin:1.8rem 0 .9rem}
.gl-sousdate{font:400 1.05rem/1.3 Marcellus,serif;margin:1.6rem 0 .6rem;opacity:.85}
.gl-liste{list-style:none;margin:0;padding:0;border-top:1px solid rgba(154,123,63,.25)}
.gl-ligne{display:flex;gap:1.1rem;padding:.6rem 0;border-bottom:1px solid rgba(154,123,63,.15);
  font:400 .95rem/1.45 Jost,sans-serif}
.gl-h{font-variant-numeric:tabular-nums;font-weight:500;min-width:3.2rem}
.gl-t a{color:inherit}
.gl-g{font-style:normal;opacity:.55;font-size:.8rem;margin-left:.5rem}
.gl-vide{font:300 .95rem/1.5 Jost,sans-serif;opacity:.65;margin:1rem 0 2rem}
