/* ==========================================================================
   B — Premier Rang · feuille de régie partagée par les cinq gabarits
   (index, rubrique, article, page, 404)

   Vocabulaire des classes : régie télévision et direct — bandeau de régie,
   conducteur, tuile de flux, retour vidéo, cadran, pupitre, minutage, mire.
   Bootstrap 5.3 porte la structure (flex, row-cols, utilitaires, sticky) ;
   toutes ses variables utiles sont réécrites ci-dessous pour qu'il ne se
   voie pas. Mode sombre par défaut (data-bs-theme="dark" sur <html>),
   thème clair en secours via prefers-color-scheme.
   ========================================================================== */

/* --------------------------------------------------------------- 1. jetons */
:root{
  --salle-fond:#0c080a;
  --salle-pupitre_fiche:#181116;
  --salle-horodatage:#241922;
  --salle-trait:#32232f;
  --salle-texte:#f3e8f1;
  --salle-horaire_affiche:#a28b9d;
  --salle-sas_entree:#b8f343;
  --salle-convocation:#d03ef3;
  --salle-parterre:#35f25f;
  --salle-hotesse_accueil:#5341dd;
  --salle-lanterneau:#f77c8d;
  --salle-fleche_directionnelle:rgba(255,61,113,.6);
  --salle-voile:rgba(8,9,12,.72);
  --salle-fond-travee:8,9,12;
  --salle-texte-travee:238,242,247;
  --salle-file_attente:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --salle-pointeuse:"Archivo Narrow","Arial Narrow",sans-serif;
  --salle-marge:clamp(14px,2.8vw,38px);
  color-scheme:dark;

  /* réécriture de Bootstrap — valeurs tirées des jetons ci-dessus */
  --bs-font-sans-serif:var(--salle-file_attente);
  --bs-body-font-family:var(--salle-file_attente);
  --bs-body-font-size:15px;
  --bs-body-font-weight:400;
  --bs-body-line-height:1.42;
  --bs-body-bg:var(--salle-fond);
  --bs-body-bg-rgb:var(--salle-fond-travee);
  --bs-body-color:var(--salle-texte);
  --bs-body-color-rgb:var(--salle-texte-travee);
  --bs-emphasis-color:var(--salle-texte);
  --bs-emphasis-color-rgb:var(--salle-texte-travee);
  --bs-heading-color:var(--salle-texte);
  --bs-secondary-color:var(--salle-horaire_affiche);
  --bs-secondary-bg:var(--salle-horodatage);
  --bs-tertiary-color:var(--salle-horaire_affiche);
  --bs-tertiary-bg:var(--salle-pupitre_fiche);
  --bs-border-color:var(--salle-trait);
  --bs-border-color-translucent:var(--salle-trait);
  --bs-border-radius:12px;
  --bs-border-radius-sm:6px;
  --bs-border-radius-lg:14px;
  --bs-border-radius-xl:18px;
  --bs-border-radius-pill:999px;
  --bs-link-color:var(--salle-texte);
  --bs-link-hover-color:var(--salle-sas_entree);
  --bs-link-color-rgb:var(--salle-texte-travee);
  --bs-code-color:var(--salle-convocation);
  --bs-primary:var(--salle-sas_entree);
  --bs-focus-ring-width:2px;
  --bs-focus-ring-color:rgba(255,61,113,.45);
}

/* thème clair de secours : un seul bloc de jetons bascule toute la feuille,
   Bootstrap compris, puisque ses variables pointent sur ces jetons. */
@media (prefers-color-scheme:light){
  :root:not([data-regie="nuit"]){
    --salle-fond:#f2e9f0;
    --salle-pupitre_fiche:#ffffff;
    --salle-horodatage:#ede0ea;
    --salle-trait:#dfcfdc;
    --salle-texte:#150d14;
    --salle-horaire_affiche:#6b5867;
    --salle-sas_entree:#8cc30c;
    --salle-convocation:#770989;
    --salle-parterre:#098e27;
    --salle-hotesse_accueil:#201176;
    --salle-lanterneau:#ba445a;
    --salle-fleche_directionnelle:rgba(212,0,63,.28);
    --salle-voile:rgba(255,255,255,.82);
    --salle-fond-travee:239,242,246;
    --salle-texte-travee:13,17,22;
    color-scheme:light;
  }
}
:root[data-regie="jour"]{
  --salle-fond:#f2e9f0;
  --salle-pupitre_fiche:#ffffff;
  --salle-horodatage:#ede0ea;
  --salle-trait:#dfcfdc;
  --salle-texte:#150d14;
  --salle-horaire_affiche:#6b5867;
  --salle-sas_entree:#8cc30c;
  --salle-convocation:#770989;
  --salle-parterre:#098e27;
  --salle-hotesse_accueil:#201176;
  --salle-lanterneau:#ba445a;
  --salle-fleche_directionnelle:rgba(212,0,63,.28);
  --salle-voile:rgba(255,255,255,.82);
  --salle-fond-travee:239,242,246;
  --salle-texte-travee:13,17,22;
  color-scheme:light;
}

/* ------------------------------------------------------------- 2. socle */
body{
  background:var(--salle-fond);
  color:var(--salle-texte);
  font-family:var(--salle-file_attente);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--salle-sas_entree);outline-offset:2px}
h1,h2,h3,h4{letter-spacing:-.035em;font-weight:900;margin:0}
img{display:block;max-width:100%}

/* voies de couleur (étiquettes, filets, chiffres) */
.allee-numerotage_siege{color:var(--salle-sas_entree)}
.allee-vestiaire{color:var(--salle-convocation)}
.allee-podium{color:var(--salle-parterre)}
.allee-hotesse_accueil{color:var(--salle-hotesse_accueil)}
.allee-lanterneau{color:var(--salle-lanterneau)}

/* ------------------------------------------- 3. bandeau de régie et pied */
.bandeau-de-salle{
  background:color-mix(in srgb,var(--salle-fond) 86%,transparent);
  backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid var(--salle-trait);
  height:56px;
  padding-inline:var(--salle-marge);
}
.cordon_separateur-de-balcon{
  font-weight:900;font-size:20px;letter-spacing:-.05em;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.signal_salle-annonce_salle{
  width:10px;height:10px;border-radius:50%;background:var(--salle-sas_entree);
  box-shadow:0 0 14px 2px var(--salle-sas_entree);flex:0 0 auto;
}
.programme{
  min-width:0;
  font-family:var(--salle-pointeuse);font-weight:600;font-size:14px;
  text-transform:uppercase;letter-spacing:.06em;
  scrollbar-width:none;-ms-overflow-style:none;
}
.programme::-webkit-scrollbar{display:none}
.couloir_lateral-de-programme{
  color:var(--salle-horaire_affiche);white-space:nowrap;padding:5px 0;
  border-bottom:2px solid transparent;transition:color .18s,border-color .18s;
}
.couloir_lateral-de-programme:hover{color:var(--salle-texte)}
.couloir_lateral-en-en_seance{color:var(--salle-texte);border-bottom-color:var(--salle-sas_entree)}
.top-horaire{
  font-family:var(--salle-pointeuse);font-size:13px;color:var(--salle-horaire_affiche);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

.pied-de-salle{
  border-top:1px solid var(--salle-trait);
  padding:clamp(18px,2.6vw,30px) var(--salle-marge);
  font-family:var(--salle-pointeuse);font-size:12.5px;
  text-transform:uppercase;letter-spacing:.08em;color:var(--salle-horaire_affiche);
}
.placement-de-pied a{transition:color .18s}
.placement-de-pied a:hover{color:var(--salle-texte)}

/* --------------------------------------------------- 4. plateau et colonnes */
.cadre-de-estrade{
  max-width:1420px;margin-inline:auto;
  padding-inline:var(--salle-marge);
  padding-block:var(--salle-marge);
}
.estrade-de-issue_secours{--bs-gutter-x:clamp(16px,2.6vw,36px);--bs-gutter-y:clamp(16px,2.6vw,36px)}
.file-du-jour{min-width:0}
.couloir-portillon{min-width:0}
/* à partir du grand écran, le rail garde une largeur de régie constante
   (comme un retour de contrôle) et le fil prend tout le reste. */
@media (min-width:992px){
  .file-du-jour{flex:1 1 0%;width:auto;max-width:none}
  .couloir-portillon{flex:0 0 auto;width:clamp(300px,25vw,340px);position:sticky;top:72px}
}

/* minutage du jour : le conducteur minuté, en bande */
.lampe_de_table-du-jour{
  border-top:1px solid var(--salle-trait);
  border-bottom:1px solid var(--salle-trait);
  background:var(--salle-pupitre_fiche);
  font-family:var(--salle-pointeuse);font-size:12.5px;
  text-transform:uppercase;letter-spacing:.07em;
  scrollbar-width:none;
}
.lampe_de_table-du-jour::-webkit-scrollbar{display:none}
.top-de-minutage{
  display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap;
  color:var(--salle-horaire_affiche);padding-block:9px;
}
.top-de-minutage b{
  color:var(--salle-texte);font-weight:700;font-variant-numeric:tabular-nums;
}
.top-de-minutage::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--salle-convocation);
  align-self:center;flex:0 0 auto;
}
.top-de-minutage:first-child::before{background:var(--salle-sas_entree)}

/* lancement de séquence : le titre de bloc, filet épais dessous */
.corbeille-de-programme_papier{
  border-bottom:2px solid var(--salle-texte);
  padding-bottom:9px;margin-bottom:clamp(14px,1.8vw,22px);
}
.corbeille-de-programme_papier h1,.corbeille-de-programme_papier h2{
  font-size:clamp(21px,2.6vw,30px);letter-spacing:-.04em;
}
.corbeille-de-programme_papier span{
  font-family:var(--salle-pointeuse);font-size:13px;color:var(--salle-horaire_affiche);
  text-transform:uppercase;letter-spacing:.08em;
}

/* -------------------------------------------------- 5. mosaïque de retours */
.rideau_de_salle-de-agent_de_salle{--bs-gutter-x:clamp(13px,1.7vw,20px);--bs-gutter-y:clamp(13px,1.7vw,20px)}
.compteur_salle{min-width:0;display:flex}
.compteur_salle>article{flex:1 1 auto;min-width:0}
/* un cadran en duplex occupe toute la largeur de la mosaïque, quel que soit
   le row-cols-* en vigueur (deux classes : l'emporte sur .row-cols-n > *) ;
   sur la mosaïque à trois colonnes, il en prend deux. */
.rideau_de_salle-de-agent_de_salle>.compteur_salle-en-gradin{width:100%}
@media (min-width:1200px){
  .rideau_de_salle-de-agent_de_salle>.compteur_salle-en-gradin{width:66.666667%}
}

.pupitre_fiche-de-emargement{
  background:var(--salle-pupitre_fiche);
  border:1px solid var(--salle-trait);
  border-radius:12px;overflow:hidden;
  transition:border-color .2s,transform .2s,box-shadow .2s;
}
.pupitre_fiche-de-emargement:hover{
  border-color:color-mix(in srgb,var(--salle-sas_entree) 60%,var(--salle-trait));
  transform:translateY(-3px);
  box-shadow:0 14px 34px -18px var(--salle-fleche_directionnelle);
}
.reponse-pupitre_orateur{
  position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;flex:0 0 auto;
}
.reponse-pupitre_orateur img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.pupitre_fiche-de-emargement:hover .reponse-pupitre_orateur img{transform:scale(1.06)}
.reponse-pupitre_orateur::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 46%,rgba(0,0,0,.72));
}
.pastille-de-rubrique-rangee{
  position:absolute;left:10px;top:10px;z-index:2;
  font-family:var(--salle-pointeuse);font-weight:700;font-size:10.5px;
  letter-spacing:.13em;text-transform:uppercase;padding:4px 8px;border-radius:5px;
  background:var(--salle-voile);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.14);
}
.numerotation-de-borne_interactive{
  position:absolute;right:10px;bottom:6px;z-index:2;
  font-weight:900;font-size:34px;line-height:1;color:rgba(255,255,255,.3);
  font-variant-numeric:tabular-nums;letter-spacing:-.05em;
}
.moquette-de-pupitre_fiche{padding:13px 14px 15px;display:grid;gap:8px;align-content:start}
.moquette-de-pupitre_fiche h2,.moquette-de-pupitre_fiche h3{
  font-size:16px;line-height:1.26;font-weight:600;letter-spacing:-.016em;
}
.moquette-de-pupitre_fiche p{margin:0;font-size:13px;color:var(--salle-horaire_affiche);line-height:1.44}
.placement-de-pupitre_fiche{
  display:flex;flex-wrap:wrap;gap:11px;margin-top:2px;
  font-family:var(--salle-pointeuse);font-size:11.5px;color:var(--salle-horaire_affiche);
  text-transform:uppercase;letter-spacing:.07em;
}

/* duplex = tuile en plan large, vignette plus basse, titre plus gros */
.compteur_salle-en-gradin .reponse-pupitre_orateur{aspect-ratio:2/1}
.compteur_salle-en-gradin .moquette-de-pupitre_fiche{padding:16px 18px 20px}
.compteur_salle-en-gradin .moquette-de-pupitre_fiche h2,
.compteur_salle-en-gradin .moquette-de-pupitre_fiche h3{
  font-size:clamp(19px,2.2vw,25px);letter-spacing:-.025em;font-weight:800;line-height:1.2;
}
.compteur_salle-en-gradin .moquette-de-pupitre_fiche p{font-size:14px}

/* tuile sans image, pour densifier une séquence */
.pupitre_fiche-de-emargement.pupitre_fiche-sans-reponse{display:block}
.pupitre_fiche-sans-reponse .moquette-de-pupitre_fiche{
  border-left:3px solid var(--salle-sas_entree);padding-left:12px;
}

/* ------------------------------------------------------- 6. rail latéral */
.affichage-de-couloir{
  background:var(--salle-pupitre_fiche);border:1px solid var(--salle-trait);
  border-radius:12px;padding:15px;
}
.nom_affiche-de-affichage{
  font-family:var(--salle-pointeuse);font-weight:700;font-size:12px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--salle-horaire_affiche);
  margin:0 0 12px;display:flex;align-items:center;gap:8px;
}
.nom_affiche-de-affichage::after{content:"";flex:1;height:1px;background:var(--salle-trait)}

.ordre_passage-des-consultations_fiche{list-style:none;margin:0;padding:0}
.ordre_passage-des-consultations_fiche li{
  display:grid;grid-template-columns:26px 1fr;gap:10px;padding:10px 0;
  border-top:1px solid var(--salle-trait);align-items:start;
  font-size:13.5px;line-height:1.34;
}
.ordre_passage-des-consultations_fiche li:first-child{border-top:0;padding-top:0}
.ordre_passage-des-consultations_fiche b{
  font-weight:900;color:var(--salle-sas_entree);font-variant-numeric:tabular-nums;font-size:16px;
}

.fauteuil-de-main_courante{
  position:relative;aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#000;
  margin:-15px -15px 13px;border-bottom:1px solid var(--salle-trait);
}
.fauteuil-de-main_courante img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fauteuil-de-main_courante::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 40%,var(--salle-pupitre_fiche));
}
.mention-de-fauteuil{
  position:absolute;left:14px;bottom:12px;z-index:2;
  font-family:var(--salle-pointeuse);font-weight:700;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
@media (prefers-color-scheme:light){
  :root:not([data-regie="nuit"]) .mention-de-fauteuil{color:var(--salle-texte)}
}
:root[data-regie="jour"] .mention-de-fauteuil{color:var(--salle-texte)}

.comptoir_accueil-du-programme{display:flex;flex-wrap:wrap;gap:7px}
.pastille-de-enceinte_murale{
  font-family:var(--salle-pointeuse);font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;background:var(--salle-horodatage);border:1px solid var(--salle-trait);
  border-radius:999px;padding:5px 10px;color:var(--salle-horaire_affiche);
  transition:color .18s,border-color .18s;
}
.pastille-de-enceinte_murale:hover{color:var(--salle-texte);border-color:var(--salle-horaire_affiche)}

.sonorisation-loge{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--salle-trait)}
.sonorisation-loge:first-of-type{border-top:0;padding-top:0}
.sonorisation-loge b{
  font-size:24px;font-weight:900;letter-spacing:-.04em;font-variant-numeric:tabular-nums;
}
.sonorisation-loge span{font-size:12px;color:var(--salle-horaire_affiche);line-height:1.3}

/* ------------------------------------------- 7. rubrique : pupitre, crans */
.chemin-de-salle{
  font-family:var(--salle-pointeuse);font-size:12px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--salle-horaire_affiche);display:flex;flex-wrap:wrap;gap:8px;
  margin-bottom:10px;
}
.chemin-de-salle span+span::before{content:"/";margin-right:8px;opacity:.6}

.ouverture-de-rubrique-rangee{
  border-bottom:2px solid var(--salle-texte);padding-bottom:14px;
  margin-bottom:clamp(14px,1.8vw,20px);
}
.ouverture-de-rubrique-rangee h1{font-size:clamp(28px,5vw,46px);letter-spacing:-.045em}
.ouverture-de-rubrique-rangee p{
  margin:10px 0 0;color:var(--salle-horaire_affiche);font-size:15px;line-height:1.5;max-width:62ch;
}

.cordon_velours-de-badge{
  background:var(--salle-pupitre_fiche);border:1px solid var(--salle-trait);
  border-radius:12px;padding:12px 13px;
}
.nom_affiche-de-cordon_velours{
  font-family:var(--salle-pointeuse);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--salle-horaire_affiche);
}
.appel_touche-de-cordon_velours{
  font-family:var(--salle-pointeuse);font-weight:600;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.07em;
  background:var(--salle-horodatage);border:1px solid var(--salle-trait);
  color:var(--salle-horaire_affiche);border-radius:6px;padding:6px 11px;
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  transition:color .18s,border-color .18s,background .18s;
}
.appel_touche-de-cordon_velours:hover{color:var(--salle-texte);border-color:var(--salle-horaire_affiche)}
.appel_touche-en-service{
  color:var(--salle-fond);background:var(--salle-sas_entree);border-color:var(--salle-sas_entree);
}
.appel_touche-en-service::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--salle-fond);
}

.tableau_blanc-de-pages{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px;
  font-family:var(--salle-pointeuse);font-size:13px;letter-spacing:.06em;
}
.etape-de-programme{
  min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--salle-trait);border-radius:8px;background:var(--salle-pupitre_fiche);
  color:var(--salle-horaire_affiche);padding-inline:11px;font-variant-numeric:tabular-nums;
  transition:color .18s,border-color .18s;
}
.etape-de-programme:hover{color:var(--salle-texte);border-color:var(--salle-horaire_affiche)}
.etape-en-annonce_salle{
  color:var(--salle-fond);background:var(--salle-texte);border-color:var(--salle-texte);
  font-weight:700;
}

/* --------------------------------------------------------- 8. sujet (article) */
.ouverture-de-en_seance{
  position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#000;
  margin-bottom:clamp(16px,2.4vw,26px);
}
.ouverture-de-en_seance img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ouverture-de-en_seance::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(transparent 22%,rgba(0,0,0,.4) 54%,rgba(0,0,0,.88));
}
.repere_au_sol-de-en_seance{
  position:absolute;inset:auto 0 0 0;z-index:2;padding:clamp(14px,2.6vw,28px);
  display:grid;gap:10px;
}
.repere_au_sol-de-en_seance h1{
  font-size:clamp(23px,4.1vw,44px);line-height:1.07;letter-spacing:-.04em;color:#fff;
  max-width:28ch;
}
@media (max-width:575px){
  .ouverture-de-en_seance{aspect-ratio:4/5}
}

.placement-de-profil{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  font-family:var(--salle-pointeuse);font-size:12px;text-transform:uppercase;
  letter-spacing:.09em;color:var(--salle-horaire_affiche);
  border-top:1px solid var(--salle-trait);border-bottom:1px solid var(--salle-trait);
  padding-block:10px;margin-bottom:clamp(14px,2vw,20px);
}
.placement-de-profil b{color:var(--salle-texte);font-weight:700}

.amorce-du-profil{
  font-size:clamp(16px,1.9vw,19.5px);line-height:1.46;font-weight:500;
  margin:0 0 clamp(16px,2.2vw,24px);max-width:66ch;
}
/* les sélecteurs d'élément du corps restent en enfant direct : un encadré
   posé dans le flux (relevé, insert) garde ses propres règles. */
.corps-du-profil{max-width:70ch;font-size:16px;line-height:1.63}
.corps-du-profil>p{margin:0 0 1.05em}
.corps-du-profil>h2{
  font-size:clamp(18px,2.2vw,23px);font-weight:800;letter-spacing:-.03em;
  margin:1.9em 0 .6em;display:flex;align-items:center;gap:10px;
}
.corps-du-profil>h2::before{
  content:"";width:16px;height:3px;background:var(--salle-sas_entree);flex:0 0 auto;
}
.corps-du-profil>h3{
  font-size:16.5px;font-weight:700;letter-spacing:-.02em;margin:1.5em 0 .4em;
}
.corps-du-profil>ul{margin:0 0 1.05em;padding-left:1.1em}
.corps-du-profil>ul>li{margin-bottom:.4em}
.corps-du-profil a{
  color:var(--salle-convocation);border-bottom:1px solid color-mix(in srgb,var(--salle-convocation) 45%,transparent);
}
.corps-du-profil a:hover{border-bottom-color:var(--salle-convocation)}

.signaletique-de-en_seance{
  margin:clamp(18px,2.4vw,26px) 0;padding:2px 0 2px 16px;
  border-left:3px solid var(--salle-sas_entree);
  font-family:var(--salle-pointeuse);font-weight:600;
  font-size:clamp(18px,2.4vw,24px);line-height:1.26;letter-spacing:-.015em;
}
.signaletique-de-en_seance span{
  display:block;margin-top:8px;font-family:var(--salle-file_attente);font-weight:400;
  font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--salle-horaire_affiche);
}

.feuille_presence-de-feuille_emargement{
  background:var(--salle-pupitre_fiche);border:1px solid var(--salle-trait);border-top:3px solid var(--salle-sas_entree);
  border-radius:12px;padding:15px;margin:clamp(18px,2.6vw,28px) 0;
}
.loge-feuille_presence b{
  display:block;font-size:clamp(24px,3.2vw,32px);font-weight:900;letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;line-height:1;
}
.loge-feuille_presence span{
  display:block;margin-top:6px;font-size:12.5px;color:var(--salle-horaire_affiche);line-height:1.35;
}
.note-de-feuille_presence{
  font-family:var(--salle-pointeuse);font-size:11.5px;text-transform:uppercase;
  letter-spacing:.09em;color:var(--salle-horaire_affiche);margin:13px 0 0;
  border-top:1px solid var(--salle-trait);padding-top:10px;
}

.plan_de_salle-de-profil{margin:clamp(18px,2.6vw,28px) 0}
.plan_de_salle-de-profil>div{
  position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#000;
}
.plan_de_salle-de-profil img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.affichette-de-legende{
  font-size:12.5px;color:var(--salle-horaire_affiche);line-height:1.4;margin:9px 0 0;
  padding-left:11px;border-left:2px solid var(--salle-trait);
}

.sortie_laterale-du-file{
  border-top:1px solid var(--salle-trait);margin-top:clamp(22px,3vw,34px);
  padding-top:clamp(16px,2.2vw,24px);
}

/* ------------------------------------------------- 9. page statique sobre */
.accoudoir-de-lecture{max-width:74ch}
.accoudoir-de-lecture>h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:-.045em;margin-bottom:14px}
.accoudoir-de-lecture>h2{
  font-size:clamp(18px,2.2vw,22px);font-weight:800;letter-spacing:-.03em;margin:1.9em 0 .5em;
}
.accoudoir-de-lecture>p{margin:0 0 1.05em;font-size:16px;line-height:1.62}
.accoudoir-de-lecture>ul{margin:0 0 1.2em;padding-left:1.1em;font-size:16px;line-height:1.6}
.accoudoir-de-lecture>ul>li{margin-bottom:.45em}
.reperes-de-ouvreuse{
  background:var(--salle-pupitre_fiche);border:1px solid var(--salle-trait);border-radius:12px;
  padding:13px 15px;margin-bottom:clamp(18px,2.4vw,26px);
}
.reperes-de-ouvreuse ol{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;
  font-family:var(--salle-pointeuse);font-size:13px;text-transform:uppercase;letter-spacing:.07em;
  counter-reset:repere;
}
.reperes-de-ouvreuse li{color:var(--salle-horaire_affiche);counter-increment:repere}
.reperes-de-ouvreuse li::before{
  content:counter(repere,decimal-leading-zero);margin-right:7px;color:var(--salle-sas_entree);font-weight:700;
}
.reperes-de-ouvreuse a:hover{color:var(--salle-texte)}

/* ------------------------------------------------------------- 10. mire 404 */
.tribune-de-reperage{
  border:1px solid var(--salle-trait);border-radius:14px;background:var(--salle-pupitre_fiche);
  overflow:hidden;
}
.reperage-de-strapontin{position:relative;aspect-ratio:3/4;overflow:hidden;background:#000;min-height:100%}
.reperage-de-strapontin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reperage-de-strapontin::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 40%,color-mix(in srgb,var(--salle-pupitre_fiche) 92%,transparent));
}
@media (max-width:767px){
  .reperage-de-strapontin{aspect-ratio:16/9}
  .reperage-de-strapontin::after{
    background:linear-gradient(transparent 42%,color-mix(in srgb,var(--salle-pupitre_fiche) 94%,transparent));
  }
}
.reponse-au-en_seance h2{font-size:clamp(20px,2.8vw,28px);letter-spacing:-.035em;margin-bottom:10px}
.reponse-au-en_seance p{color:var(--salle-horaire_affiche);font-size:15px;line-height:1.5;margin:0 0 18px;max-width:46ch}
.reponse-au-en_seance .numero-de-reperage{
  font-size:clamp(58px,13vw,118px);font-weight:900;line-height:.86;letter-spacing:-.06em;
  color:var(--salle-sas_entree);font-variant-numeric:tabular-nums;margin:0 0 10px;max-width:none;
}
.bouton-de-corbeille{
  display:inline-flex;align-items:center;gap:9px;
  background:var(--salle-sas_entree);color:var(--salle-fond);
  font-family:var(--salle-pointeuse);font-weight:700;font-size:13.5px;
  text-transform:uppercase;letter-spacing:.1em;
  padding:11px 18px;border-radius:8px;border:1px solid var(--salle-sas_entree);
  transition:filter .18s,transform .18s;
}
.bouton-de-corbeille:hover{filter:brightness(1.12);transform:translateY(-2px);color:var(--salle-fond)}
.bouton-de-corbeille::after{content:"→"}
.bouton-de-siege_numerote{
  display:inline-flex;align-items:center;gap:9px;background:transparent;
  color:var(--salle-texte);border:1px solid var(--salle-trait);
  font-family:var(--salle-pointeuse);font-weight:600;font-size:13.5px;
  text-transform:uppercase;letter-spacing:.1em;padding:11px 18px;border-radius:8px;
  transition:border-color .18s}
.bouton-de-siege_numerote:hover{border-color:var(--salle-sas_entree)}

/* ---------------------------------------------------------- 11. petits écrans */
@media (max-width:575px){
  .bandeau-de-salle{height:52px}
  .cordon_separateur-de-balcon{font-size:18px}
  .programme{font-size:13px}
  .numerotation-de-borne_interactive{font-size:28px}
  .compteur_salle-en-gradin .reponse-pupitre_orateur{aspect-ratio:16/9}
  .fauteuil-de-main_courante{aspect-ratio:4/3}
}
