/* =========================================================================
   SETH TALK — style.css (feuille unique pour tout le site vitrine)
   -------------------------------------------------------------------------
   Organisation conseillée en PHP (require_once) :
     parts/header.php       <head> + <link rel="stylesheet" href="css/style.css">
     parts/nav.php          bloc .st-header (menu)
     parts/footer.php       bloc .st-footer + bouton .st-retour-haut
   Chaque bloc ci-dessous = une partie réutilisable. Noms en "st-" (Seth Talk).

   SOMMAIRE
     01. Variables (charte)          10. Hero accueil
     02. Base / reset                11. Mission + Contact/Newsletter
     03. Conteneurs & grilles        12. Liste des conférences
     04. Titres & textes             13. Hero fixe (conférence)
     05. Boutons                     14. Contenu qui remonte
     06. Badges                      15. Infos pratiques
     07. Cartes (sm / md / lg)       16. Intervenants
     08. Formulaires                 17. Piliers S.E.T.H.
     09. En-tête / menu              18. Vidéo
                                     19. Pied de page
                                     20. Responsive
                                     21. Galerie (accueil)
                                     22. Questions & références
                                     23. Menu déroulant
                                     24. Menu déroulant — renfort
                                     25. Hero fixe + <picture>
   ========================================================================= */


/* ---------- 01. VARIABLES (charte) ---------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@300;400;600;700;800&display=swap");

:root{
  --bg-main:#050505;
  --bg-panel:#141414;
  --bg-panel-soft:#1c1c1c;
  --accent:#ffcc00;
  --accent-soft:#ffb347;
  --danger:#ff7a00;
  --text-main:#f5f5f5;
  --text-muted:#b3b3b3;
  --text-soft:#d6d6d6;
  --border-soft:#2a2a2a;
  --border-mid:#3a3a3a;

  --font-display:"League Spartan",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;

  --header-h:76px;
  --max-w:1240px;
  --pad-x:clamp(16px,4vw,32px);
  --gap:clamp(20px,3vw,32px);

  --r-sm:10px;  --r-md:16px;  --r-lg:22px;  --r-pill:999px;

  /* Dégradés de la charte */
  --grad-hero:linear-gradient(135deg,#1a1a1f 0%,#0a0a0a 60%,#050505 100%);
  --grad-halo:radial-gradient(circle at 85% 30%,#9a9a9a 0%,#555 28%,#2a2a2a 60%);
  --grad-diag:linear-gradient(60deg,#050505 0%,#1a1a1a 45%,#2a2a2a 62%,#9a9a9a 120%);
}


/* ---------- 02. BASE / RESET ---------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-main);
  color:var(--text-main);
  font-family:var(--font-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;transition:color .18s;}
a:hover{color:var(--accent-soft);}
p{text-wrap:pretty;}
.st-page-accueil{background:var(--grad-hero);min-height:100vh;}


/* ---------- 03. CONTENEURS & GRILLES -------------------------------------- */
.st-main{
  max-width:var(--max-w);
  margin:0 auto;
  padding:clamp(28px,5vw,64px) var(--pad-x) clamp(48px,8vw,96px);
  display:flex;flex-direction:column;
  gap:clamp(28px,5vw,56px);
}
/* 2 colonnes (1 sur smartphone) */
.st-2col{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:var(--gap);
  align-items:start;
}
.st-2col--egal{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.st-pile{display:flex;flex-direction:column;gap:clamp(20px,3vw,28px);}
.st-actions{display:flex;flex-wrap:wrap;gap:12px;}


/* ---------- 04. TITRES & TEXTES ------------------------------------------- */
.st-surtitre{                       /* petit texte au-dessus d'un titre */
  font-family:var(--font-display);font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--text-muted);font-size:14px;
}
.st-surtitre--accent{color:var(--accent-soft);font-size:13px;letter-spacing:.16em;}

.st-h1{
  font-family:var(--font-display);font-weight:800;
  text-transform:uppercase;color:var(--accent);
  font-size:clamp(32px,5.2vw,62px);line-height:1;
  text-wrap:balance;
}
.st-h1--xl{font-size:clamp(40px,7vw,76px);line-height:.95;}

.st-titre-barre{                    /* H2 avec barre orange à gauche */
  font-family:var(--font-display);font-weight:700;
  color:var(--accent);
  font-size:clamp(24px,3vw,32px);line-height:1.1;
  border-left:4px solid var(--accent-soft);
  padding:4px 0 2px 16px;
  text-wrap:balance;
}
.st-h3{font-family:var(--font-display);font-weight:700;color:var(--text-main);font-size:clamp(20px,2.6vw,27px);line-height:1.15;}
.st-texte{color:var(--text-main);font-size:16px;}
.st-texte-lead{color:var(--text-main);font-size:clamp(15px,1.7vw,19px);max-width:560px;}
.st-texte-muted{color:var(--text-muted);font-size:15px;}
.st-citation{
  font-family:var(--font-display);font-weight:600;
  color:var(--accent);font-size:clamp(19px,2.2vw,23px);line-height:1.3;
}
.st-accroche{                       /* phrase centrée entre 2 blocs */
  text-align:center;
  font-family:var(--font-display);font-weight:700;
  color:var(--accent);font-size:clamp(18px,2.2vw,22px);
  text-wrap:balance;
}


/* ---------- 05. BOUTONS --------------------------------------------------- */
.st-btn{
  display:inline-flex;align-items:center;justify-content:center;
  white-space:nowrap;
  min-height:48px;padding:0 28px;
  border-radius:var(--r-pill);
  font-family:var(--font-display);font-size:15px;
  text-transform:uppercase;letter-spacing:.08em;
  cursor:pointer;border:none;
  transition:background .18s,color .18s,transform .18s,box-shadow .18s;
}
.st-btn-accent{                     /* bouton jaune plein (action principale) */
  font-weight:700;color:#050505;background:var(--accent);
  box-shadow:0 6px 20px rgba(255,204,0,.25);
}
.st-btn-accent:hover{
  background:var(--accent-soft);color:#050505;
  transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,204,0,.4);
}
.st-btn-ghost{                      /* bouton contour (secondaire) */
  font-weight:600;color:var(--accent);background:transparent;
  border:1.5px solid var(--accent-soft);
}
.st-btn-ghost:hover{background:var(--accent-soft);color:#050505;transform:translateY(-2px);}
.st-btn--plein-largeur{width:100%;}
.st-lien-fleche{                    /* "Voir le replay →" */
  font-family:var(--font-display);font-weight:700;font-size:14px;
  letter-spacing:.06em;text-transform:uppercase;
}


/* ---------- 06. BADGES ---------------------------------------------------- */
.st-badge{
  display:inline-block;white-space:nowrap;
  font-family:var(--font-display);font-weight:600;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;
  padding:4px 11px;border-radius:var(--r-pill);
  border:1px solid var(--border-mid);color:var(--text-muted);
}
.st-badge--avenir{background:var(--accent);border-color:var(--accent);color:#050505;}
.st-badge--complet{background:var(--danger);border-color:var(--danger);color:#050505;}


/* ---------- 07. CARTES ---------------------------------------------------- */
.st-carte{
  background:var(--bg-panel);
  border:1px solid var(--border-soft);
  display:flex;flex-direction:column;gap:16px;
}
.st-carte--ligne-haut{border-top:2px solid var(--accent-soft);}
.st-carte-lg{border-radius:var(--r-lg);padding:clamp(24px,3.5vw,36px) clamp(20px,3vw,32px);}
.st-carte-md{border-radius:var(--r-md);padding:clamp(22px,3vw,28px);gap:14px;}
.st-carte-sm{                       /* petite carte imbriquée (Servir, Explorer…) */
  background:var(--bg-panel-soft);
  border:1px solid var(--border-soft);
  border-left:2px solid var(--accent-soft);
  border-radius:var(--r-sm);
  padding:16px 18px;
  display:flex;flex-direction:column;gap:6px;
}
.st-carte-sm__titre{font-family:var(--font-display);font-weight:700;color:var(--danger);font-size:19px;}
.st-carte-sm__texte{color:var(--text-soft);font-size:15px;}
.st-grille-sm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}


/* ---------- 08. FORMULAIRES ----------------------------------------------- */
.st-form{display:flex;flex-direction:column;gap:10px;}
.st-input{
  height:48px;padding:0 14px;
  border-radius:var(--r-sm);
  border:1px solid var(--border-soft);
  background:var(--bg-panel-soft);color:var(--text-main);
  font-family:inherit;font-size:15px;outline:none;
}
.st-input::placeholder{color:#777;}
.st-input:focus{border-color:var(--accent-soft);}


/* ---------- 09. EN-TÊTE / MENU  (parts/header.php) ------------------------ */
/* Menu mobile sans JavaScript :
   <input type="checkbox" id="st-burger" class="st-burger-check">
   <label for="st-burger" class="st-burger">MENU</label>
   <nav class="st-menu-mobile">…</nav>                                         */
.st-header{
  position:sticky;top:0;z-index:50;
  background:rgba(36,36,36,.96);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-soft);
}
.st-header__inner{
  max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);
  height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.st-logo img{height:46px;width:auto;}
.st-menu{
  display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);
  font-family:var(--font-display);font-weight:700;font-size:15px;
  letter-spacing:.1em;text-transform:uppercase;
}
.st-menu a{color:var(--text-main);}
.st-menu a:hover,
.st-menu a.is-active{color:var(--accent);}
.st-menu .st-fleche{color:var(--accent-soft);}

.st-reseaux{display:flex;gap:12px;}
.st-reseau{
  width:40px;height:40px;border-radius:50%;
  background:var(--border-mid);color:var(--text-main);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.06em;
}
.st-reseau:hover{background:var(--accent);color:#050505;}

.st-burger-check{display:none;}
.st-burger{
  display:none;                     /* visible en dessous de 1100px */
  width:56px;height:48px;border-radius:12px;
  border:1.5px solid var(--accent-soft);color:var(--accent);
  align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.08em;
  cursor:pointer;
}
.st-menu-mobile{
  display:none;flex-direction:column;
  padding:8px var(--pad-x) 24px;
  border-top:1px solid var(--border-soft);
  font-family:var(--font-display);font-weight:700;font-size:17px;
  letter-spacing:.1em;text-transform:uppercase;
}
.st-menu-mobile a{color:var(--text-main);padding:14px 0;border-bottom:1px solid var(--border-soft);}
.st-menu-mobile a:last-child{border-bottom:none;}
.st-menu-mobile a.is-active{color:var(--accent);}
.st-burger-check:checked ~ .st-menu-mobile{display:flex;}


/* ---------- 10. HERO ACCUEIL ---------------------------------------------- */
.st-hero-accueil{
  background:var(--grad-halo);
  border:1px solid var(--border-soft);
  border-radius:var(--r-lg);
  padding:clamp(22px,4vw,40px);
  display:flex;flex-direction:column;gap:clamp(24px,4vw,40px);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.st-hero-accueil__haut{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;}
.st-hero-accueil__texte{flex:1 1 420px;max-width:640px;display:flex;flex-direction:column;gap:14px;}
.st-encart-date{                    /* encadré date à droite */
  margin-left:auto;text-align:right;
  display:flex;flex-direction:column;gap:4px;
  background:rgba(5,5,5,.55);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);padding:16px 20px;
}
.st-encart-date .st-badge{align-self:flex-end;}
.st-encart-date__date{font-family:var(--font-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;margin-top:6px;}
.st-encart-date__lieu{color:#d0d0d0;font-size:15px;}
.st-hero-accueil__image{
  border-radius:var(--r-md);overflow:hidden;
  aspect-ratio:16/8;background:#0a0a12;
  box-shadow:0 0 0 1px rgba(255,179,71,.25),0 18px 50px rgba(0,0,0,.6),0 0 40px rgba(255,179,71,.12);
}
.st-hero-accueil__image img{width:100%;height:100%;object-fit:cover;}
.st-hero-accueil__image--affiche img{object-fit:contain;}


/* ---------- 11. MISSION + CONTACT / NEWSLETTER ---------------------------- */
.st-mission{}                       /* = .st-2col */
.st-numerique{}                     /* = .st-2col .st-2col--egal */
.st-citation-auteur{color:var(--text-muted);font-size:15px;}


/* ---------- 12. LISTE DES CONFÉRENCES ------------------------------------- */
.st-liste-conferences{display:flex;flex-direction:column;gap:20px;}
.st-grille-conf{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:16px;}
.st-carte-conf{
  background:var(--bg-panel);border:1px solid var(--border-soft);
  border-radius:var(--r-md);padding:22px;min-height:170px;
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .18s,transform .18s;
}
.st-carte-conf:hover{border-color:var(--accent-soft);transform:translateY(-3px);}
.st-carte-conf .st-badge{align-self:flex-start;}
.st-carte-conf__titre{font-family:var(--font-display);font-weight:700;color:var(--text-main);font-size:20px;line-height:1.15;text-transform:uppercase;}
.st-carte-conf__date{margin-top:auto;color:var(--accent-soft);font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;}


/* ---------- 13. HERO FIXE (pages conférence — parts/hero-fixe.php) -------- */
/* Le hero reste collé sous le menu ; .st-contenu-remonte passe par-dessus.   */
.st-hero-fixe{
  position:sticky;
  top:var(--header-h);
  z-index:1;
  height:calc(100svh - var(--header-h));
  min-height:520px;
  overflow:hidden;
  background:var(--grad-diag);
}
.st-hero-fixe__inner{
  max-width:var(--max-w);height:100%;margin:0 auto;
  padding:clamp(20px,4vw,48px) var(--pad-x);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(20px,4vw,56px);align-items:center;
}
.st-hero-fixe__texte{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px);min-width:0;}
.st-hero-fixe__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.st-hero-fixe__date{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;}
.st-hero-fixe__date strong{
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;color:var(--accent);font-size:clamp(15px,1.7vw,19px);
}
.st-hero-fixe__affiche{display:flex;justify-content:center;align-items:center;height:100%;min-height:0;}
.st-hero-fixe__affiche img{
  max-height:calc(100svh - 170px);width:auto;max-width:100%;
  object-fit:contain;border-radius:var(--r-md);
  box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
}
.admin-bar .st-hero-fixe{top:calc(var(--header-h) + 32px);} /* si barre admin */


/* ---------- 14. CONTENU QUI REMONTE SUR LE HERO --------------------------- */
.st-contenu-remonte{
  position:relative;z-index:2;
  margin-top:-28px;
  background:var(--bg-main);
  border-radius:28px 28px 0 0;
  box-shadow:0 -24px 60px rgba(0,0,0,.7);
}


/* ---------- 15. INFOS PRATIQUES ------------------------------------------- */
.st-infos{display:flex;flex-direction:column;}
.st-infos__ligne{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border-soft);}
.st-infos__ligne span{color:var(--text-muted);font-size:15px;}
.st-infos__ligne strong{font-family:var(--font-display);font-weight:700;font-size:17px;text-align:right;}


/* ---------- 16. INTERVENANTS ---------------------------------------------- */
.st-intervenants{display:flex;flex-direction:column;gap:20px;}
.st-grille-intervenants{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.st-intervenant__nom{font-family:var(--font-display);font-weight:700;color:var(--text-main);font-size:18px;line-height:1.2;}
.st-intervenant__role{color:var(--text-muted);font-size:15px;}


/* ---------- 17. PILIERS S.E.T.H. (parts/piliers.php) ---------------------- */
.st-piliers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.st-pilier{
  text-align:center;background:var(--bg-panel-soft);
  border-radius:var(--r-sm);padding:20px 12px;
  border-top:3px solid var(--accent-soft);
}
.st-pilier__lettre{font-family:var(--font-display);font-weight:800;font-size:34px;color:var(--accent);line-height:1;}
.st-pilier__mot{font-family:var(--font-display);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:8px;}


/* ---------- 18. VIDÉO ----------------------------------------------------- */
.st-video{
  background:var(--bg-panel);border:1px solid var(--border-soft);
  border-top:2px solid var(--accent);border-radius:var(--r-lg);
  padding:clamp(24px,4vw,44px) clamp(18px,3vw,36px);
  display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;
  scroll-margin-top:96px;
}
.st-video__cadre{
  width:100%;max-width:900px;aspect-ratio:16/9;
  border-radius:var(--r-md);overflow:hidden;background:#0a0a0a;
  box-shadow:0 0 0 1px rgba(255,179,71,.25),0 18px 50px rgba(0,0,0,.6);
}
.st-video__cadre iframe{width:100%;height:100%;border:0;display:block;}


/* ---------- 19. PIED DE PAGE (parts/footer.php) --------------------------- */
.st-footer{
  position:relative;z-index:2;   /* passe aussi au-dessus du hero fixe */
  background:#222;
  padding:clamp(48px,7vw,72px) 20px 56px;
  display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;
}
.st-footer__logo{width:min(300px,70vw);border-radius:6px;}
.st-footer__copy{font-family:var(--font-display);font-weight:700;font-size:20px;margin-top:6px;}
.st-footer__lien{font-family:var(--font-display);font-weight:600;font-size:17px;text-decoration:underline;text-underline-offset:4px;}
.st-footer .st-reseaux{gap:14px;margin-top:10px;}
.st-footer .st-reseau{width:48px;height:48px;border-radius:var(--r-sm);background:transparent;border:1.5px solid var(--accent-soft);color:var(--accent-soft);}
.st-footer .st-reseau:hover{background:var(--accent-soft);color:#050505;}

.st-retour-haut{
  position:fixed;right:18px;bottom:18px;z-index:40;
  width:52px;height:52px;border-radius:12px;
  border:1.5px solid var(--accent-soft);background:var(--bg-main);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.st-retour-haut:hover{background:var(--accent);color:#050505;}


/* ---------- 20. RESPONSIVE ------------------------------------------------ */

/* Petit portable / grande tablette paysage */
@media (max-width:1100px){
  .st-grille-intervenants{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Tablette / petit portable : menu burger, les 2 colonnes restent */
@media (max-width:1099px){
  .st-menu,
  .st-header__inner > .st-reseaux{display:none;}
  .st-burger{display:inline-flex;}
}

/* Smartphone : tout passe sur 1 colonne */
@media (max-width:719px){
  .st-2col,
  .st-2col--egal,
  .st-grille-sm,
  .st-grille-intervenants,
  .st-hero-fixe__inner{grid-template-columns:minmax(0,1fr);}

  /* Hero fixe : hauteur naturelle, se fige quand son bas atteint le bas
     de l'écran (valeur --hero-top calculée par hero-fixe.js) */
  .st-hero-fixe{height:auto;min-height:0;top:var(--hero-top,var(--header-h));}
  .st-hero-fixe__affiche{height:auto;}
  .st-hero-fixe__affiche img{max-height:70svh;}

  .st-encart-date{margin-left:0;text-align:left;width:100%;}
  .st-encart-date .st-badge{align-self:flex-start;}
}

@media (max-width:479px){
  .st-piliers{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Accessibilité : moins d'animations si demandé */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .st-btn,.st-carte-conf{transition:none;}
}


/* ---------- 21. GALERIE (hero accueil — index.php) ------------------------ */
/* Images PC et smartphone via <picture>. Défilement : js/galerie.js        */
.st-galerie{
  position:relative;overflow:hidden;
  aspect-ratio:16/8;
  border-radius:var(--r-md);
  background:#0a0a12;
  box-shadow:0 0 0 1px rgba(255,179,71,.25),0 18px 50px rgba(0,0,0,.6),0 0 40px rgba(255,179,71,.12);
}
.st-galerie__slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;}
.st-galerie__slide.is-active{opacity:1;}
.st-galerie__slide picture{display:block;width:100%;height:100%;}
.st-galerie__slide img{width:100%;height:100%;object-fit:cover;}
.st-galerie__points{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  display:flex;gap:4px;
  padding:4px 8px;border-radius:var(--r-pill);background:rgba(5,5,5,.55);
}
.st-galerie__point{
  width:28px;height:28px;border:none;background:transparent;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.st-galerie__point::before{
  content:"";width:9px;height:9px;border-radius:50%;
  background:rgba(245,245,245,.45);transition:background .2s,transform .2s;
}
.st-galerie__point.is-active::before{background:var(--accent);transform:scale(1.25);}
@media (max-width:719px){
  .st-galerie{aspect-ratio:4/5;}
}
@media (prefers-reduced-motion:reduce){
  .st-galerie__slide{transition:none;}
}


/* ---------- 22. QUESTIONS & RÉFÉRENCES (pages conférence) ---------------- */
.st-questions{list-style:none;display:flex;flex-direction:column;gap:10px;}
.st-questions li{
  position:relative;padding-left:28px;
  font-family:var(--font-display);font-weight:600;font-size:17px;line-height:1.35;
  color:var(--text-main);
}
.st-questions li::before{content:"→";position:absolute;left:0;top:0;color:var(--accent);}
.st-reference{
  font-family:var(--font-display);font-weight:600;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);
}
.st-grille-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
@media (max-width:719px){ .st-grille-3{grid-template-columns:minmax(0,1fr);} }


/* ---------- 23. MENU DÉROULANT (nav.php) --------------------------------- */
.nav-item{position:relative;display:flex;align-items:center;height:var(--header-h);}
.nav-link{color:var(--text-main);}
.nav-link:hover,.nav-link.is-active{color:var(--accent);}
.fleche-bas{color:var(--accent-soft);}

/* Sous-menu ordinateur : s'ouvre au survol ou au clavier */
.nav-sub{
  display:none;
  position:absolute;top:100%;left:-14px;z-index:60;
  min-width:320px;
  flex-direction:column;gap:2px;
  padding:8px;
  background:var(--bg-panel-soft);
  border:1px solid var(--border-soft);
  border-top:2px solid var(--accent-soft);
  border-radius:0 0 var(--r-md) var(--r-md);
  box-shadow:0 18px 40px rgba(0,0,0,.6);
}
.nav-item:hover .nav-sub,
.nav-item:focus-within .nav-sub{display:flex;}
.nav-sublink{
  display:block;padding:11px 14px;border-radius:var(--r-sm);
  font-family:var(--font-display);font-weight:600;font-size:15px;
  letter-spacing:.02em;text-transform:none;
  color:var(--text-main);
}
.nav-sublink:hover{background:var(--border-soft);color:var(--accent);}
.nav-sublink.is-active{color:var(--accent);}

/* Petit bouton Billetterie dans l'en-tête */
.st-btn--petit{min-height:40px;padding:0 18px;font-size:13px;}
.st-reseaux{align-items:center;}

/* Sous-menu mobile (details / summary) */
.nav-mobile-sub{border-bottom:1px solid var(--border-soft);}
.nav-mobile-sub summary{
  list-style:none;cursor:pointer;padding:14px 0;color:var(--text-main);
}
.nav-mobile-sub summary::-webkit-details-marker{display:none;}
.nav-mobile-sub[open] summary{color:var(--accent);}
.nav-mobile-sub .nav-sublink{padding:12px 0 12px 16px;border-bottom:none;font-size:16px;}
.st-menu-mobile__billet{margin-top:16px;border-bottom:none !important;padding:0 28px !important;color:#050505 !important;}


/* ---------- 24. MENU DÉROULANT — renfort (priorité forte) ---------------- */
.st-menu .nav-item{position:relative;display:flex;align-items:center;height:var(--header-h);}
.st-menu .nav-link{white-space:nowrap;}
.st-menu .nav-sub{
  display:none !important;
  position:absolute;top:calc(100% - 14px);left:-12px;z-index:60;
  width:300px;
  flex-direction:column;gap:2px;
  padding:10px;
  background:#2b2b2b;
  border:1px solid var(--border-soft);
  border-radius:var(--r-md);
  box-shadow:0 18px 40px rgba(0,0,0,.6);
}
.st-menu .nav-item:hover .nav-sub,
.st-menu .nav-item:focus-within .nav-sub{display:flex !important;}
.st-menu .nav-sub .nav-sublink{
  display:block;padding:10px 12px;border-radius:var(--r-sm);
  font-family:var(--font-display);font-weight:600;font-size:15px;line-height:1.35;
  letter-spacing:.01em;text-transform:none;white-space:normal;
  color:var(--text-main);
}
.st-menu .nav-sub .nav-sublink:hover{background:rgba(255,255,255,.08);color:var(--accent);}
.st-menu .nav-sub .nav-sublink.is-active{color:var(--accent);}


/* ---------- 25. HERO FIXE — si l'image est dans un <picture> ------------- */
.st-hero-fixe__affiche picture{display:flex;justify-content:center;max-width:100%;}


/* ---------- 26. MENU PC — pleine largeur + logo qui ne se tord plus ------ */
.st-header__inner{max-width:none;padding:0 clamp(16px,2vw,32px);gap:clamp(12px,1.5vw,24px);}
.st-logo{flex-shrink:0;display:flex;align-items:center;}
.st-logo img{height:46px;width:auto;max-width:none;object-fit:contain;}
.st-reseaux{flex-shrink:0;}
/* Portables 1100–1440 px : menu un peu plus serré pour tout faire tenir */
@media (min-width:1100px) and (max-width:1440px){
  .st-menu{gap:clamp(12px,1.6vw,26px);font-size:13px;letter-spacing:.07em;}
  .st-reseaux{gap:8px;}
  .st-reseau{width:36px;height:36px;}
  .st-btn--petit{padding:0 14px;font-size:12px;}
}
