:root {
  --f-titre: 'Space Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-texte: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --f-graisse-titre: 600;
  --f-casse-kicker: none;
  --tm: 0.75rem;
  --t1: 1.0rem;
  --t2: 1.333rem;
  --t3: 1.777rem;
  --t4: 2.369rem;
  --t5: 3.157rem;
  --t6: 4.209rem;
  --t7: 5.61rem;
  --t-hero: clamp(3.16rem, 6vw, 7.48rem);
  --e1: 0.3rem;
  --e2: 0.6rem;
  --e3: 0.9rem;
  --e4: 1.2rem;
  --e5: 1.8rem;
  --e6: 2.4rem;
  --e7: 3.6rem;
  --e8: 4.8rem;
  --r-carte: 6px;
  --r-bouton: 999px;
  --r-image: 4px;
  --largeur: 1360px;
  --ico-trait: 2;
  --header-h: 72px;
  --c-fond: #fcfcfc;
  --c-fond-2: #f3f0ef;
  --c-surface: #ffffff;
  --c-texte: #312621;
  --c-texte-2: #6e5b53;
  --c-primaire: #c15225;
  --c-sur-primaire: #fefdfd;
  --c-primaire-texte: #b44c22;
  --c-doux: #eee2dd;
  --c-sur-doux: #291a14;
  --c-bord: #dbd4d1;
  --c-voile: #180f0c;
  --c-sur-voile: #ffffff;
  --c-ombre: #24150f;
  --o-carte: none;
  --o-survol: 0 18px 40px -12px color-mix(in srgb, #24150f 28%, transparent);
  --carte-fond: #eee2dd;
  --carte-encre: #291a14;
  --carte-encre-2: #291a14;
  --carte-lien: #291a14;
  --carte-bord: 0 solid transparent;
  --btn-fond: #c15225;
  --btn-texte: #fefdfd;
  --btn-bord: 2px solid #c15225;
  --btn-ombre: none;
  --btn-deco: none;
  --lien-couleur: #b44c22;
  --lien-deco: underline;
  --lien-epaisseur: 3px;
  --lien-fond: transparent;
  --lien-fond-encre: #b44c22;
}
html.dark, html[data-theme="dark"], html[data-mode="dark"], html.theme-dark, body.dark, [data-theme="dark"] [data-bh-home] {
  --c-fond: #191413;
  --c-fond-2: #251e1b;
  --c-surface: #2d2522;
  --c-texte: #eee9e7;
  --c-texte-2: #c6b9b3;
  --c-primaire: #e0825c;
  --c-sur-primaire: #291a14;
  --c-primaire-texte: #e79d7e;
  --c-doux: #442c22;
  --c-sur-doux: #f9f7f5;
  --c-bord: #50443f;
  --c-voile: #180f0c;
  --c-sur-voile: #ffffff;
  --c-ombre: #070403;
  --o-carte: none;
  --o-survol: 0 18px 40px -12px color-mix(in srgb, #070403 28%, transparent);
  --carte-fond: #442c22;
  --carte-encre: #f9f7f5;
  --carte-encre-2: #f9f7f5;
  --carte-lien: #f9f7f5;
  --carte-bord: 0 solid transparent;
  --btn-fond: #e0825c;
  --btn-texte: #291a14;
  --btn-bord: 2px solid #e0825c;
  --btn-ombre: none;
  --btn-deco: none;
  --lien-couleur: #e79d7e;
  --lien-deco: underline;
  --lien-epaisseur: 3px;
  --lien-fond: transparent;
  --lien-fond-encre: #e79d7e;
}

body { font-family: var(--f-texte); }
h1, h2, h3, h4 { font-family: var(--f-titre); }

/* ───────────── base du site ───────────── */
html { scroll-padding-top: calc(var(--header-h) + var(--e3)); }
body {
  background: var(--c-fond);
  color: var(--c-texte);
  font-size: var(--t1);
  line-height: 1.65;
}
a.bh-790e-lien {
  color: var(--lien-couleur) !important;
  text-decoration: var(--lien-deco);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a.bh-790e-lien:hover { text-decoration-thickness: var(--lien-epaisseur); }
:focus-visible { outline: 2px solid var(--c-primaire); outline-offset: 2px; }

/* ───────────── en-tête : bandeau d'actus + barre collante ───────────── */
.bh-790e-entete-site {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-bord);
}
.bh-790e-bandeau {
  display: flex;
  align-items: center;
  gap: var(--e3);
  background: var(--c-voile);
  color: var(--c-sur-voile);
  font-family: var(--f-mono);
  font-size: var(--tm);
}
.bh-790e-bandeau[hidden] { display: none; }
.bh-790e-bandeau-piste { flex: 1; min-width: 0; }
.bh-790e-bandeau-lien {
  display: inline-flex;
  align-items: center;
  gap: var(--e3);
  padding-inline: var(--e4);
  color: var(--c-sur-voile);
  text-decoration: none;
  white-space: nowrap;
}
.bh-790e-bandeau-lien:hover { text-decoration: underline; text-underline-offset: 3px; }
.bh-790e-bandeau-date { opacity: .7; }
.bh-790e-bandeau-x {
  flex: none;
  display: inline-flex;
  padding: var(--e2) var(--e4);
  background: none;
  border: 0;
  color: var(--c-sur-voile);
  cursor: pointer;
}
.bh-790e-barre {
  width: min(100% - 2 * var(--e5), var(--largeur));
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: var(--e4);
  min-height: 64px;
}
.bh-790e-marque { display: inline-flex; align-items: center; flex: none; }
.bh-790e-marque-logo { display: block; height: 34px; width: auto; }
.bh-790e-nav {
  display: flex;
  align-items: center;
  gap: var(--e4);
  margin-inline-start: auto;
  font-family: var(--f-mono);
  font-size: var(--tm);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.bh-790e-nav-lien {
  color: var(--c-texte);
  text-decoration: none;
  padding-block: var(--e2);
  border-bottom: 2px solid transparent;
}
.bh-790e-nav-lien:hover, .bh-790e-nav-lien[aria-current="page"] {
  color: var(--c-primaire-texte);
  border-bottom-color: var(--c-primaire);
}
.bh-790e-outils { flex: none; }
.bh-790e-burger {
  display: none;
  margin-inline-start: auto;
  padding: var(--e2);
  background: none;
  border: 0;
  color: var(--c-texte);
  cursor: pointer;
}
.bh-790e-burger-ferme { display: none; }
@media (max-width: 900px) {
  .bh-790e-burger { display: inline-flex; }
  .bh-790e-nav { display: none; }
  .bh-790e-entete-site.menu-ouvert .bh-790e-barre { flex-wrap: wrap; padding-block: var(--e3); }
  .bh-790e-entete-site.menu-ouvert .bh-790e-nav {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--e1);
    order: 4;
    flex-basis: 100%;
    padding-top: var(--e3);
    border-top: 1px solid var(--c-bord);
  }
  .bh-790e-entete-site.menu-ouvert .bh-790e-burger-ouvre { display: none; }
  .bh-790e-entete-site.menu-ouvert .bh-790e-burger-ferme { display: block; }
  .bh-790e-outils { margin-inline-start: 0; }
}

/* ───────────── pied de page ───────────── */
.bh-790e-pied {
  margin-top: var(--e8);
  /* Un seul rendu pour tout le site : fond encre fixe, identique sur la home et
     sur les pages internes. Les replis garantissent qu il reste sombre meme si
     un jeton venait a manquer. */
  background: var(--c-voile, #180f0c);
  color: var(--c-sur-voile, #ffffff);
  font-size: var(--t1);
}
.bh-790e-pied-int {
  width: min(100% - 2 * var(--e5), var(--largeur));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: var(--e6);
  padding-block: var(--e7) var(--e5);
}
.bh-790e-pied-col { display: grid; gap: var(--e3); align-content: start; }
.bh-790e-pied-titre {
  font-family: var(--f-mono);
  font-size: var(--tm);
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .72;
}
.bh-790e-pied-accroche { max-width: 42ch; opacity: .9; }
.bh-790e-pied-meta { font-family: var(--f-mono); font-size: var(--tm); opacity: .72; }
.bh-790e-pied-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e2); }
.bh-790e-pied-lien { color: var(--c-sur-voile); text-decoration: none; }
.bh-790e-pied-lien:hover { text-decoration: underline; text-decoration-thickness: var(--lien-epaisseur); text-underline-offset: 3px; }
.bh-790e-pied-adresse { font-style: normal; display: grid; gap: var(--e1); }
.bh-790e-pied-bas {
  width: min(100% - 2 * var(--e5), var(--largeur));
  margin-inline: auto;
  padding-block: var(--e4) var(--e6);
  border-top: 1px solid color-mix(in srgb, var(--c-sur-voile) 24%, transparent);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--e3);
  font-family: var(--f-mono);
  font-size: var(--tm);
  opacity: .8;
}
@media (max-width: 900px) { .bh-790e-pied-int { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bh-790e-pied-int { grid-template-columns: 1fr; } }

/* ───────────── pages internes ───────────── */
.bh-790e-page { background: var(--c-fond); }
.bh-790e-page-hero { padding-block: var(--e8) var(--e6); border-bottom: 1px solid var(--c-bord); }
.bh-790e-h1 { font-size: var(--t5); line-height: 1.05; max-width: 32ch; }
.bh-790e-section { padding-block: var(--e7); }
.bh-790e-section + .bh-790e-section { border-top: 1px solid var(--c-bord); }
.bh-790e-page-prose { max-width: 74ch; display: grid; gap: var(--e4); }
.bh-790e-page-prose h2 { font-size: var(--t3); margin-top: var(--e4); }
.bh-790e-page-prose h3 { font-size: var(--t2); }
.bh-790e-page-prose ul, .bh-790e-page-prose ol { padding-left: var(--e5); display: grid; gap: var(--e2); }
.bh-790e-page-prose li::marker { color: var(--c-primaire-texte); }
.bh-790e-chemin {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--e2);
  margin: 0 0 var(--e4);
  padding: 0;
  font-family: var(--f-mono);
  font-size: var(--tm);
  color: var(--c-texte-2);
}

/* ───────────── formulaires ───────────── */
.bh-790e-formulaire { display: grid; gap: var(--e4); align-content: start; }
.bh-790e-champ { display: grid; gap: var(--e1); }
.bh-790e-champ-l {
  font-family: var(--f-mono);
  font-size: var(--tm);
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--c-texte-2);
}
.bh-790e-champ-c {
  font: inherit;
  width: 100%;
  padding: var(--e2) var(--e3);
  color: var(--c-texte);
  background: var(--c-surface);
  border: 1.5px solid var(--c-bord);
  border-radius: var(--r-image);
}
.bh-790e-champ-c:focus-visible { outline: 2px solid var(--c-primaire); outline-offset: 1px; }
.bh-790e-pot-de-miel { display: none; }
.bh-790e-retour {
  padding: var(--e3) var(--e4);
  border-left: 3px solid var(--c-primaire);
  background: var(--c-doux);
  color: var(--c-sur-doux);
}
.bh-790e-retour[hidden] { display: none; }

/* ───────────── blocs ajoutés à la home ───────────── */
.bh-790e-split { display: grid; gap: var(--e6); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.bh-790e-split-gauche { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.bh-790e-split-liste { display: grid; gap: var(--e5); }
@media (max-width: 900px) {
  .bh-790e-split, .bh-790e-split-gauche { grid-template-columns: minmax(0, 1fr); }
}
.bh-790e-ico { width: 1.35rem; height: 1.35rem; flex: none; color: var(--c-primaire-texte); }
.bh-790e-liste-ico { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e3); }
.bh-790e-liste-ico li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--e3); align-items: start; }
.bh-790e-g-chiffres, .bh-790e-g-bascule { align-items: stretch; }
.bh-790e-etapes { display: grid; gap: var(--e5); }
.bh-790e-etapes-media { margin: 0; }
.bh-790e-etapes-media img {
  display: block;
  width: 100%;
  height: min(56svh, 34rem);
  object-fit: cover;
  border-radius: var(--r-image);
}
.bh-790e-etapes-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e4); }
.bh-790e-etapes-pas {
  padding-left: var(--e4);
  border-left: 3px solid var(--c-bord);
  cursor: pointer;
  transition: border-color .25s ease;
}
.bh-790e-etapes-pas.kv-actif { border-left-color: var(--c-primaire); }
.bh-790e-frise { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--e4); }
.bh-790e-frise > li {
  padding-left: var(--e4);
  border-left: 3px solid var(--c-bord);
  transition: border-color .35s ease;
}
.bh-790e-frise > li.kv-fait { border-left-color: var(--c-primaire); }
.bh-790e-methode-media { display: grid; gap: var(--e3); justify-items: center; text-align: center; }
.bh-790e-methode-media [data-lottie] { max-width: 300px; }
.bh-790e-bascule { display: grid; gap: var(--e4); }
.bh-790e-quiz-q { padding-block: var(--e4); border-bottom: 1px solid var(--c-bord); }
.bh-790e-quiz-texte { font-family: var(--f-titre); font-weight: var(--f-graisse-titre); font-size: var(--t2); }
.bh-790e-quiz-score {
  font-family: var(--f-mono);
  font-size: var(--tm);
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--c-texte-2);
}
.bh-790e-quiz-expl { color: var(--c-texte-2); }
.bh-790e-lexique { margin: 0; display: grid; }
.bh-790e-lex-ligne {
  display: grid;
  grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
  gap: var(--e5);
  padding-block: var(--e4);
  border-top: 1px solid var(--c-bord);
}
.bh-790e-lex-terme {
  font-family: var(--f-mono);
  font-size: var(--tm);
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--c-primaire-texte);
}
.bh-790e-lex-def { margin: 0; }
@media (max-width: 700px) { .bh-790e-lex-ligne { grid-template-columns: minmax(0, 1fr); gap: var(--e2); } }
.bh-790e-part-bandes { display: grid; gap: var(--e4); padding-block: var(--e5); }
.bh-790e-part-bande { padding-block: var(--e4); border-block: 1px solid var(--c-bord); }
.bh-790e-def-inverse .kv-piste { animation-direction: reverse; }
.bh-790e-part-boite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--e2) var(--e5);
  background: var(--c-surface);
  border: 1px solid var(--c-bord);
  border-radius: var(--r-image);
}
.bh-790e-bloc [data-defile] img { height: 40px; }
.bh-790e-cta-bloc { display: grid; gap: var(--e4); max-width: 62ch; }
.bh-790e-etoile { width: 1em; height: 1em; display: inline-block; vertical-align: -0.12em; }
.bh-790e-note-bloc { display: flex; align-items: center; flex-wrap: wrap; gap: var(--e3); margin-top: var(--e3); }
.bh-790e-note-texte { font-family: var(--f-mono); font-size: var(--tm); color: var(--c-texte-2); }

/* ---- Article : tete, couverture, corps — le kit fournit le reste ---- */
.bh-790e-art-boite { width: 100%; max-width: 1220px; margin-inline: auto; padding-inline: clamp(0.9rem, 4vw, 2.5rem); }
.bh-790e-art-tete { padding-block: var(--e7) var(--e4); }
.bh-790e-art-tete .bh-790e-chemin { margin-bottom: var(--e4); }
.bh-790e-chemin ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--e2); margin: 0; padding: 0; }
.bh-790e-chemin li + li::before { content: "/"; margin-right: var(--e2); color: var(--c-texte-2); }
.bh-790e-art-kicker { font-family: var(--f-mono); font-size: var(--tm); text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-primaire-texte); margin: 0 0 var(--e2); }
.bh-790e-art-tete .bh-790e-h1 { max-width: 26ch; }
.bh-790e-art-meta { display: flex; flex-wrap: wrap; gap: var(--e3); margin: var(--e3) 0 0; font-family: var(--f-mono); font-size: var(--tm); color: var(--c-texte-2); }
.bh-790e-art-pastilles { list-style: none; display: flex; flex-wrap: wrap; gap: var(--e2); margin: var(--e3) 0 0; padding: 0; }
.bh-790e-art-pastilles a { display: inline-block; border: 1px solid var(--c-bord); border-radius: var(--r-bouton); padding: 0.2em 0.85em; font-size: var(--tm); }
.bh-790e-art-figure { margin: 0 0 var(--e5); }
.bh-790e-art-figure img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border: 1px solid var(--c-bord); border-radius: var(--r-image); }
.bh-790e-art-corps { padding-block: 0 var(--e8); }
.bh-790e-haut { position: fixed; inset-inline-end: var(--e4); bottom: var(--e6); z-index: 60; width: 2.75rem; height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--c-bord); border-radius: 999px; background: var(--c-fond); color: var(--c-texte); cursor: pointer; opacity: 0; transform: translateY(2rem); transition: opacity 0.25s ease, transform 0.25s ease; pointer-events: none; }
.bh-790e-haut[data-show="true"] { opacity: 1; transform: none; pointer-events: auto; }
.bh-790e-haut svg { width: 1.25rem; height: 1.25rem; }
.bh-790e-haut:focus-visible { outline: 2px solid var(--c-primaire-texte); outline-offset: 2px; }

/* ---- Separateur de metadonnees : un point dessine, jamais un glyphe texte ---- */
.bh-790e-sep { display: inline-block; width: 0.28em; height: 0.28em; margin-inline: 0.55em; border-radius: 50%; background: currentColor; opacity: 0.45; vertical-align: 0.12em; }

/* usine:correctifs-home début */
/* Correctifs des blocs de home, recopiés sur chaque site à chaque build
   (astro_site.rafraichit_correctifs_home). bh-790e- devient le préfixe du site. */

/* Un .acc employé comme carte (quiz : pas de <summary>) garde la marge intérieure d'une carte :
   le texte et les boutons touchaient le bord (journal-auto-moto, bloc 13, Cedia 26/09). */
.bh-790e-acc:not(details) { padding-inline: var(--e5); }
.bh-790e-acc:not(details) > .bh-790e-acc-corps { padding-inline: 0; }

/* FAQ : une seule flèche, sur la ligne de la question (le marqueur natif doublait le chevron). */
.bh-790e-acc > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--e3); }
.bh-790e-acc > summary::-webkit-details-marker { display: none; }
.bh-790e-acc > summary svg { flex: none; transition: transform .2s; }
.bh-790e-acc[open] > summary svg { transform: rotate(180deg); }
.bh-790e-acc > summary:not(:has(svg))::after { content: "+"; flex: none; font-weight: 400; }
.bh-790e-acc[open] > summary:not(:has(svg))::after { content: "\2212"; }

/* FAQ centrée : la liste restait calée à gauche sur 60rem, un tiers du bloc vide à droite
   (journal-auto-moto, bloc 17, Cedia 26/09). */
.bh-790e-b-faq .bh-790e-entete { margin-inline: auto; text-align: center; }
.bh-790e-b-faq .bh-790e-accordeon { margin-inline: auto; }
/* usine:correctifs-home fin */
