:root {
  --f-titre: 'Fraunces', 'Space Grotesk', Georgia, serif;
  --f-texte: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-graisse-titre: 500;
  --f-casse-kicker: none;
  --tm: 0.8rem;
  --t1: 1.0rem;
  --t2: 1.25rem;
  --t3: 1.562rem;
  --t4: 1.953rem;
  --t5: 2.441rem;
  --t6: 3.052rem;
  --t7: 3.815rem;
  --t-hero: clamp(2.44rem, 6vw, 4.77rem);
  --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: 16px;
  --r-bouton: 999px;
  --r-image: 12px;
  --largeur: 1280px;
  --ico-trait: 2;
  /* Header collant : barre de navigation + bandeau refermable, poses en flux.
     La valeur est tenue a jour en JS (Header.astro) et sert au hero plein cadre. */
  --header-nav-h: 64px;
  --bandeau-h: 40px;
  --header-h: 104px;
  --c-fond: #faf6f0;
  --c-fond-2: #f2ebdf;
  --c-surface: #ffffff;
  --c-texte: #2c2723;
  --c-texte-2: #6a6157;
  --c-primaire: #a8551f;
  --c-sur-primaire: #ffffff;
  --c-secondaire: #6d7f5b;
  --c-sur-secondaire: #ffffff;
  --c-primaire-texte: #8f4318;
  --c-secondaire-texte: #5d6d4d;
  --c-doux: #f0e2d2;
  --c-sur-doux: #2c2723;
  --c-bord: #e2d7c8;
  --c-voile: #241c14;
  --c-sur-voile: #ffffff;
  --c-ombre: #241c14;
  --o-carte: none;
  --o-survol: 0 18px 40px -12px color-mix(in srgb, #241c14 26%, transparent);
  --carte-fond: #ffffff;
  --carte-encre: #2c2723;
  --carte-encre-2: #6a6157;
  --carte-lien: #8f4318;
  --carte-bord: 1px solid #e2d7c8;
  --btn-fond: transparent;
  --btn-texte: #8f4318;
  --btn-bord: 2px solid #8f4318;
  --btn-ombre: none;
  --btn-deco: none;
  --lien-couleur: #8f4318;
  --lien-deco: none;
  --lien-epaisseur: 1px;
  --lien-fond: transparent;
  --lien-fond-encre: #8f4318;
}

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

/* ── bandeau du haut : dans le header collant, colle aux deux bords ── */
/* ── bandeau du haut : dans le header collant, colle aux deux bords ── */
.bh-0c76-bandeau {
  background: var(--c-doux) !important; color: var(--c-texte) !important;
  display: flex; align-items: center; justify-content: center; gap: var(--e3);
  min-height: var(--bandeau-h); padding: .4rem var(--e4); font-size: var(--tm); font-weight: 500;
  text-align: center; line-height: 1.3;
}
.bh-0c76-bandeau[hidden] { display: none !important; }
.bh-0c76-bandeau :is(a, span, strong, button) { color: var(--c-texte); }
.bh-0c76-bandeau a { text-decoration: underline; text-underline-offset: .18em; }
.bh-0c76-bandeau a:hover { color: var(--c-primaire-texte); }
.bh-0c76-bandeau [data-fermer] {
  position: absolute; right: var(--e3); top: 50%; transform: translateY(-50%);
  display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0;
  border: 1px solid var(--c-bord); border-radius: 999px; background: var(--c-surface);
  color: var(--c-texte); cursor: pointer; line-height: 1;
}
.bh-0c76-bandeau [data-fermer] svg { width: 1rem; height: 1rem; }
.bh-0c76-bandeau { position: relative; }
.bh-0c76-bandeau-titres { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; justify-content: center; list-style: none; margin: 0; padding: 0; }
.bh-0c76-bandeau-titres li { display: inline-flex; align-items: center; gap: .4em; }
.bh-0c76-bandeau-titres svg { width: .95rem; height: .95rem; flex: 0 0 auto; }
.bh-0c76-bandeau-infos { display: inline-flex; align-items: center; gap: .4em; font-variant-numeric: tabular-nums; }


/* ── bouton du theme, disponible PARTOUT (header et pages internes) ──
   La regle d'origine vivait sous .bh-0c76-home : le bouton Contact du header et
   les boutons des pages internes perdaient donc leur forme de pilule. */
.bh-0c76-bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  padding: .7em 1.3em; font: inherit; font-weight: 600; cursor: pointer;
  background: var(--btn-fond, var(--c-surface)); color: var(--btn-texte, var(--c-primaire-texte));
  border: var(--btn-bord, 2px solid var(--c-primaire-texte));
  border-radius: var(--r-bouton, 999px); text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
  min-height: 44px;
}
.bh-0c76-bouton:hover { transform: translateY(-2px); }
.bh-0c76-bouton:focus-visible { outline: 2px solid var(--c-primaire); outline-offset: 2px; }

/* Le bandeau du haut laisse toujours la place au bouton de fermeture, et ne
   montre qu'un seul titre sur mobile : sans cela le bouton recouvre le 3e. */
.bh-0c76-bandeau { padding-right: 3.25rem; }
@media (max-width: 639px) {
  .bh-0c76-bandeau { padding-inline: 1rem 3.25rem; }
  .bh-0c76-bandeau-titres li:nth-child(n + 3) { display: none; }
}

/* usine:correctifs-home début */
/* Correctifs des blocs de home, recopiés sur chaque site à chaque build
   (astro_site.rafraichit_correctifs_home). bh-0c76- 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-0c76-acc:not(details) { padding-inline: var(--e5); }
.bh-0c76-acc:not(details) > .bh-0c76-acc-corps { padding-inline: 0; }

/* FAQ : une seule flèche, sur la ligne de la question (le marqueur natif doublait le chevron). */
.bh-0c76-acc > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--e3); }
.bh-0c76-acc > summary::-webkit-details-marker { display: none; }
.bh-0c76-acc > summary svg { flex: none; transition: transform .2s; }
.bh-0c76-acc[open] > summary svg { transform: rotate(180deg); }
.bh-0c76-acc > summary:not(:has(svg))::after { content: "+"; flex: none; font-weight: 400; }
.bh-0c76-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-0c76-b-faq .bh-0c76-entete { margin-inline: auto; text-align: center; }
.bh-0c76-b-faq .bh-0c76-accordeon { margin-inline: auto; }
/* Même FAQ dans une home « centrée » : le collage deux colonnes (.d-colle) gardait le titre dans
   la colonne de gauche et la règle [data-alignement=centre] .d-colle .entete le recalait à gauche,
   plus spécifique que la ligne ci-dessus (469 px à gauche, 791 px de vide à droite : revue-assurance.com,
   home:faq-centree, 26/09). La FAQ repasse en une colonne, en-tête centré. */
[data-alignement="centre"] .bh-0c76-b-faq.bh-0c76-d-colle > .bh-0c76-int { display: block; }
[data-alignement="centre"] .bh-0c76-b-faq.bh-0c76-d-colle > .bh-0c76-int > .bh-0c76-entete {
  margin-inline: auto; text-align: center; position: static;
}

/* Lien « Voir la rubrique » posé À CÔTÉ du corps de carte (builder) : le corps porte la marge
   intérieure, pas la carte ; le lien restait collé au bord (revue-auto-moto 26/09, home:cartes-marge-interne). */
.bh-0c76-carte:has(> .bh-0c76-c-corps) > .bh-0c76-c-suite { margin: 0 var(--e5) var(--e5); }

/* Parcours / frise : une vignette à côté du texte, jamais une photo pleine largeur par étape
   (journal-entreprise, bloc parcours : trois photos de 1298 x 812 px à la suite, Cedia 26/09). */
.bh-0c76-timeline .bh-0c76-c-media img, .bh-0c76-b-parcours .bh-0c76-c-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; max-height: 320px; object-fit: cover; }
@media (min-width: 900px) {
  .bh-0c76-timeline .bh-0c76-carte:has(> .bh-0c76-c-media) { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: var(--e5); align-items: start; }
  .bh-0c76-timeline .bh-0c76-carte:has(> .bh-0c76-c-media) > .bh-0c76-c-media { margin: 0; }
}

/* Vrai ou faux : une affirmation à la fois (kit_vivant), cinq habillages (Cedia 26/09). */
.bh-0c76-quiz { max-width: 46rem; margin-inline: auto; display: grid; gap: var(--e4); }
.bh-0c76-quiz-q { padding: var(--e5); }
.bh-0c76-quiz-affirmation { font-family: var(--f-titre, inherit); font-size: var(--t3, 1.35rem); font-weight: 700; line-height: 1.25; margin: 0; }
.bh-0c76-quiz-verdict { font-weight: 800; margin: var(--e3) 0 .25rem; }
.bh-0c76-quiz-expl { margin-top: var(--e3); }
.bh-0c76-quiz-score:empty { display: none; }
.bh-0c76-quiz-bandes .bh-0c76-quiz-q { border-left: 6px solid var(--c-primaire, currentColor); border-radius: 0; box-shadow: none; }
.bh-0c76-quiz-plein .bh-0c76-quiz-q { background: var(--c-primaire); color: var(--c-sur-primaire, var(--c-fond)); text-align: center; }
.bh-0c76-quiz-plein .kv-choix { justify-content: center; }
.bh-0c76-quiz-plein .kv-bouton { color: inherit; border-color: currentColor; }
.bh-0c76-quiz-split { max-width: none; }
@media (min-width: 900px) {
  .bh-0c76-quiz-split .bh-0c76-quiz-q { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); column-gap: var(--e6); align-items: start; }
  .bh-0c76-quiz-split .bh-0c76-quiz-q > * { grid-column: 2; }
  .bh-0c76-quiz-split .bh-0c76-quiz-q > .bh-0c76-quiz-affirmation { grid-column: 1; grid-row: 1 / span 3; font-size: var(--t4, 1.6rem); }
}
.bh-0c76-quiz-compact { max-width: 38rem; }
.bh-0c76-quiz-compact .bh-0c76-quiz-affirmation { font-size: var(--t2, 1.1rem); }

/* Pastilles de sujets : une vraie pastille cliquable, en nuage centré, jamais une barre grise plate
   (Cedia 26/09, journal-entreprise). */
.bh-0c76-b-sujets .bh-0c76-mur { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--e3); }
.bh-0c76-b-sujets .bh-0c76-mur-col { display: contents; }
.bh-0c76-b-sujets .bh-0c76-carte.bh-0c76-cs-pastille { background: transparent; border: 0; box-shadow: none; padding: 0; width: auto; }
.bh-0c76-c-pastille {
  display: inline-flex; align-items: center; gap: .5em; min-height: 44px; padding: .55em 1.2em;
  border-radius: 999px; border: 1.5px solid var(--c-primaire); background: var(--carte-fond);
  color: var(--c-primaire-texte, var(--carte-encre)); text-decoration: none; font-weight: 600; cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
}
.bh-0c76-c-pastille::after { content: "\2192"; font-weight: 400; }
.bh-0c76-c-pastille:hover, .bh-0c76-c-pastille:focus-visible { background: var(--c-primaire); color: var(--c-sur-primaire); transform: translateY(-1px); }

/* Hero : les boutons ne touchent jamais le texte voisin (Cedia 26/09, journal-entreprise : collés au 3e titre). */
.bh-0c76-hero-actions { margin-top: var(--e5); }

/* Cartes de chiffres lisibles (Cedia 27/09, revue-assurance.com : libellé en 12 px ; gestion-finance-entreprise :
   « 7 184 dirigeants suivis » en 13 px). Chiffre ≥ 28 px en bureau, ≥ 24 px en mobile ; libellé ≥ 14 px.
   Contrôle socle:stats-lisibles (verif_socle). */
.bh-0c76-c-chiffre { font-size: max(28px, var(--t6, 2rem)); }
.bh-0c76-c-label { font-size: max(14px, 1em) !important; }  /* !important : un .home .c-label de builder le ramenait à 12 px */
@media (max-width: 767px) { .bh-0c76-c-chiffre { font-size: max(24px, var(--t6, 1.75rem)); } }

/* Hero centré : l'image passe DERRIÈRE le texte, pleine largeur et pleine hauteur, jamais en bande sous le texte
   (Cedia 27/09, revue-assurance.com : « texte centré suivi d'une bande photo »). Voile sombre pour le contraste,
   texte clair. Contrôle socle:hero-plein-media (média à côté ou derrière le texte, bas du hero ≥ 90 % de la fenêtre). */
.bh-0c76-hero.bh-0c76-hero-centre { position: relative; isolation: isolate; grid-template-rows: minmax(0, 1fr) !important; }
.bh-0c76-hero.bh-0c76-hero-centre > .bh-0c76-hero-bas { position: absolute !important; inset: 0; margin: 0 !important; z-index: -1; }
.bh-0c76-hero.bh-0c76-hero-centre > .bh-0c76-hero-bas img { width: 100% !important; height: 100% !important; max-height: none !important;
  object-fit: cover; border-radius: 0 !important; }
.bh-0c76-hero.bh-0c76-hero-centre > .bh-0c76-hero-bas::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 24, .66), rgba(8, 12, 24, .52)); }
.bh-0c76-home .bh-0c76-hero-centre :is(.bh-0c76-hero-kicker, .bh-0c76-hero-h1, .bh-0c76-hero-accroche) { color: #fff !important; }
.bh-0c76-home .bh-0c76-hero-centre .bh-0c76-bouton-2 { color: #fff !important; border-color: #fff !important; background: transparent !important; }

/* Hero bandeau : même règle que le hero centré, l'image couvre TOUT le hero et le texte est posé dessus, centré
   verticalement (Cedia 27/09 : photo en bande au-dessus d'un aplat de couleur = « pas d'image dans le hero »). */
.bh-0c76-hero.bh-0c76-hero-bandeau { position: relative; isolation: isolate; justify-content: center !important; }
.bh-0c76-hero.bh-0c76-hero-bandeau > .bh-0c76-hero-haut { position: absolute !important; inset: 0; margin: 0 !important; z-index: -1;
  height: auto !important; }
.bh-0c76-hero.bh-0c76-hero-bandeau > .bh-0c76-hero-haut img { width: 100% !important; height: 100% !important; max-height: none !important;
  object-fit: cover; border-radius: 0 !important; }
.bh-0c76-hero.bh-0c76-hero-bandeau > .bh-0c76-hero-haut::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8, 12, 24, .50), rgba(8, 12, 24, .72)); }
.bh-0c76-hero.bh-0c76-hero-bandeau > .bh-0c76-hero-bande { background: transparent !important; margin-block: auto; }
.bh-0c76-home .bh-0c76-hero-bandeau .bh-0c76-hero-bande :is(p, h1, li, span, time, a:not(.bh-0c76-bouton)) { color: #fff !important; }
.bh-0c76-home .bh-0c76-hero-bandeau .bh-0c76-bouton-2 { color: #fff !important; border-color: #fff !important; background: transparent !important; }

/* Bloc logos en disposition « collée » : le titre restait seul à gauche au-dessus d'une rangée de logos centrée,
   entre deux blocs aux titres centrés (Cedia 27/09, actu-pme.com bloc 02). Un bloc de logos centre son titre.
   Contrôle socle:titres-blocs-centres. */
.bh-0c76-b-logos.bh-0c76-d-colle > .bh-0c76-int { display: flex !important; flex-direction: column; align-items: center; }
.bh-0c76-b-logos.bh-0c76-d-colle .bh-0c76-entete { position: static !important; text-align: center; max-width: 48rem; margin-inline: auto; }
.bh-0c76-b-logos.bh-0c76-d-colle .bh-0c76-entete > * { text-align: center !important; margin-inline: auto; }

/* Mode sombre (27/09, Intermediate-Astro) : un thème qui colore p et li en dur (p, li { color: #4e4b66 }) laissait ce gris
   sur les fonds sombres des blocs ; en sombre, le texte suit la couleur du bloc. */
:is(html.dark, [data-theme="dark"]) .bh-0c76-home :is(p, li) { color: inherit; }
/* usine:correctifs-home fin */
