/* =========================================================================
   Blocs propres à ce site : tête, pied, couverture, dossiers, repères,
   sélection, rédaction, fil. Uniquement des jetons de da.css : aucune
   couleur écrite en dur, aucun nom de classe du thème détourné.
   ========================================================================= */

/* ── icônes Lucide inline ─────────────────────────────────────────────── */
.bh-858b-ico {
  width: 1.05em;
  height: 1.05em;
  flex: none;
  vertical-align: -0.15em;
}

/* ── tête ─────────────────────────────────────────────────────────────── */
.bh-858b-tete {
  background: var(--c-fond);
  border-bottom: 1px solid var(--c-bord);
}
.bh-858b-tete-bandeau {
  width: 100%;
  background: var(--c-voile);
  color: var(--c-fond);
  font-size: 0.82rem;
}
.bh-858b-tete-bandeau-int {
  display: flex;
  align-items: center;
  gap: var(--e3);
  width: min(100% - 2rem, var(--largeur));
  margin-inline: auto;
  min-height: 34px;
  padding-block: 0.35rem;
}
.bh-858b-tete-info {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  white-space: nowrap;
}
.bh-858b-tete-info strong {
  font-weight: 600;
}
.bh-858b-tete-fermer {
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.bh-858b-tete-fermer:hover {
  background: var(--c-primaire);
}
.bh-858b-tete-int {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--e5);
  position: relative;
  width: min(100% - 2rem, var(--largeur));
  margin-inline: auto;
  padding-block: 0.65rem;
  min-height: 68px;
}
.bh-858b-tete-logo {
  flex: none;
}
.bh-858b-tete-logo img {
  height: 44px;
  width: auto;
  display: block;
}
.bh-858b-tete-rang {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--e5);
  min-width: 0;
}
.bh-858b-tete-menu {
  display: flex;
  align-items: center;
  gap: var(--e1);
}
.bh-858b-tete-lien {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding-inline: 0.5rem;
  border-radius: var(--r-bouton);
  color: var(--c-texte);
  font-size: 0.9rem;
  white-space: nowrap;
  text-decoration: none;
}
.bh-858b-tete-lien:hover {
  background: var(--c-doux);
  color: var(--c-primaire-texte);
}
.bh-858b-tete-lien[aria-current='page'] {
  color: var(--c-primaire-texte);
  font-weight: 600;
}
.bh-858b-tete-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 44px;
  padding-inline: 1.1rem;
  border-radius: var(--r-bouton);
  background: var(--btn-fond);
  color: var(--c-fond);
  font-weight: 600;
  font-size: 0.9rem;
  white-space: nowrap;
  text-decoration: none;
}
.bh-858b-tete-cta:hover {
  background: var(--c-primaire-texte);
}
.bh-858b-tete-cta-mot {
  white-space: nowrap;
}
.bh-858b-tete-burger {
  display: none;
}
.bh-858b-tete-burger summary {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: var(--r-bouton);
  border: var(--carte-bord);
  background: var(--c-fond);
  color: var(--c-texte);
  cursor: pointer;
  list-style: none;
}
.bh-858b-tete-burger summary::-webkit-details-marker {
  display: none;
}
.bh-858b-tete-burger .bh-858b-ico-x {
  display: none;
}
.bh-858b-tete-burger[open] .bh-858b-ico-x {
  display: block;
}
.bh-858b-tete-burger[open] .bh-858b-ico-menu {
  display: none;
}
.bh-858b-tete-mobile {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.4rem);
  z-index: 50;
  display: grid;
  gap: 0.15rem;
  padding: 0.6rem;
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond);
  box-shadow: var(--o-survol);
}
.bh-858b-tete-mobile a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-inline: 0.75rem;
  border-radius: 0.6rem;
  color: var(--c-texte);
  text-decoration: none;
}
.bh-858b-tete-mobile a:hover,
.bh-858b-tete-mobile a[aria-current='page'] {
  background: var(--c-doux);
  color: var(--c-primaire-texte);
}
@media (max-width: 1079px) {
  .bh-858b-tete-int {
    justify-content: space-between;
    gap: var(--e3);
  }
  .bh-858b-tete-logo img {
    height: 34px;
  }
  .bh-858b-tete-menu {
    display: none;
  }
  .bh-858b-tete-burger {
    display: block;
  }
}
@media (max-width: 560px) {
  .bh-858b-tete-cta-mot {
    display: none;
  }
}
@media (max-width: 640px) {
  .bh-858b-tete-bandeau-int {
    gap: var(--e2);
    font-size: 0.76rem;
  }
  .bh-858b-tete-bandeau-int .bh-858b-tete-info:nth-child(3) {
    display: none;
  }
}

/* ── couverture (une) ─────────────────────────────────────────────────── */
.bh-858b-une {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--e5);
  align-items: start;
}
.bh-858b-une-grande {
  display: block;
}
.bh-858b-une-img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 480px;
  object-fit: cover;
  border-radius: var(--r-image);
}
.bh-858b-une-titre {
  font-family: var(--f-titre);
  font-size: var(--t-hero);
  line-height: 1.12;
  margin-block: 0.5rem 0.6rem;
}
.bh-858b-une-titre a,
.bh-858b-breve-titre a,
.bh-858b-c-titre a,
.bh-858b-fil-titre {
  color: inherit;
  text-decoration: none;
}
.bh-858b-une-titre a:hover,
.bh-858b-breve-titre a:hover,
.bh-858b-c-titre a:hover,
.bh-858b-fil-lien:hover .bh-858b-fil-titre {
  color: var(--c-primaire-texte);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bh-858b-une-accroche {
  color: var(--c-texte-2);
  font-size: 1.02rem;
  margin-bottom: 0.75rem;
  max-width: 62ch;
}
.bh-858b-breves {
  display: grid;
  gap: var(--e4);
}
.bh-858b-breve {
  display: grid;
  grid-template-columns: minmax(0, 116px) minmax(0, 1fr);
  gap: var(--e3);
  align-items: center;
  padding: 0.6rem;
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond);
  box-shadow: var(--o-carte);
}
.bh-858b-breve-img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.7rem;
}
.bh-858b-breve-titre {
  font-family: var(--f-titre);
  font-size: 1.06rem;
  line-height: 1.25;
  margin-block: 0.2rem 0.35rem;
}
@media (min-width: 900px) {
  .bh-858b-une {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: var(--e6);
  }
}

/* ── dossiers ─────────────────────────────────────────────────────────── */
.bh-858b-dossier-gl {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--e5);
  align-items: start;
}
.bh-858b-dossier-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e3);
}
.bh-858b-cs-ligne {
  display: flex;
  align-items: center;
  gap: var(--e3);
  padding: var(--e4);
}
.bh-858b-cs-ligne .bh-858b-c-corps {
  flex: 1 1 auto;
}
.bh-858b-c-fleche {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--c-doux);
  color: var(--c-primaire-texte);
  text-decoration: none;
}
.bh-858b-num {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e4);
  counter-reset: rang;
}
.bh-858b-num-ligne {
  display: grid;
  grid-template-columns: auto minmax(0, 132px) minmax(0, 1fr);
  gap: var(--e4);
  align-items: center;
  padding: var(--e4);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond);
}
.bh-858b-num-rang {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--c-primaire);
  color: var(--c-fond);
  font-weight: 600;
}
.bh-858b-num-vignette {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.7rem;
}
@media (max-width: 640px) {
  .bh-858b-num-ligne {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .bh-858b-num-vignette {
    display: none;
  }
}
@media (min-width: 900px) {
  /* Grande carte à gauche sur deux tiers, titres à droite (DA, dossier 1). */
  .bh-858b-dossier-gl {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: var(--e6);
    align-items: start;
  }
}
/* Dossier 1 : la grande carte ne dépend pas de l’observation du défilement. Les cartes
   partent d’un état lisible (pas d’opacité nulle au repos) et l’animation n’est qu’un
   supplément, sans JavaScript la section reste complète. */
.bh-858b-home [data-usine-bloc='dossier-1'] [data-apparait] {
  opacity: 1 !important;
  transform: none !important;
}
.bh-858b-home [data-usine-bloc='dossier-1'] [data-apparait].kv-vu {
  animation: bh-858b-dossier-glisse 0.5s ease both;
}
@keyframes bh-858b-dossier-glisse {
  from {
    transform: translateY(10px);
  }
  to {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bh-858b-home [data-usine-bloc='dossier-1'] [data-apparait].kv-vu {
    animation: none;
  }
}
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-c-img {
  aspect-ratio: 16 / 9;
}
/* Le chapeau du dossier porte l’accent coral de la DA : un filet coral devant la rubrique,
   le texte restant à l’encre du thème pour tenir 4,5:1 sur le fond clair. */
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-c-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--c-primaire-texte);
}
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-c-kicker::before {
  content: '';
  width: 1.6rem;
  height: 3px;
  border-radius: 2px;
  background: var(--c-coral, #e8795f);
}
/* Les titres de la liste sont séparés par un filet, sans cadre de carte. */
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-dossier-liste {
  gap: 0;
}
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-cs-ligne {
  background: transparent !important;
  border: 0;
  border-top: 1px solid var(--c-bord);
  border-radius: 0;
  box-shadow: none !important;
  padding-inline: 0;
}
.bh-858b-home [data-usine-bloc='dossier-1'] .bh-858b-cs-ligne:first-child {
  border-top: 0;
}

/* ── pense-bête : onglets, calculateur, vrai ou faux ──────────────────── */
.bh-858b-pensebete {
  padding: var(--e3);
}
.bh-858b-panneau-intro {
  color: var(--c-texte-2);
  max-width: 68ch;
  margin-block: 0.3rem 0.7rem;
}
.bh-858b-calcul {
  display: grid;
  gap: var(--e3);
}
.bh-858b-champ {
  display: grid;
  gap: 0.25rem;
  font-size: 0.9rem;
  font-weight: 600;
}
.bh-858b-champ input {
  min-height: 44px;
  padding-inline: 0.75rem;
  border: var(--carte-bord);
  border-radius: 0.7rem;
  background: var(--c-fond);
  color: var(--c-texte);
  font: inherit;
  font-weight: 400;
}
.bh-858b-resultats {
  display: grid;
  gap: var(--e2);
  grid-template-columns: 1fr;
}
.bh-858b-resultat {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding: var(--e2) var(--e3);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-doux);
}
.bh-858b-resultat-chiffre {
  font-family: var(--f-titre);
  font-size: 1.35rem;
  line-height: 1.15;
  color: var(--c-primaire-texte);
}
.bh-858b-resultat-mot {
  font-size: 0.85rem;
  color: var(--c-texte);
}
.bh-858b-note {
  font-size: 0.8rem;
  /* AA : sur l’aplat --c-fond-2, --c-texte-2 tombait à 4,21:1. */
  color: var(--c-primaire-texte);
}

/* Repères et mot de la rédaction ne portent pas de cartes : ils se
   condensent en hauteur pour laisser la place aux zones de cartes. */
.bh-858b-home :is([data-bloc='reperes'], [data-bloc='redaction']) {
  padding-block: var(--e4);
}
.bh-858b-home :is([data-bloc='reperes'], [data-bloc='redaction']) .bh-858b-entete {
  margin-bottom: var(--e3);
}
@media (min-width: 760px) {
  .bh-858b-resultats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 760px) {
  .bh-858b-calcul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
  }
  .bh-858b-calcul > .bh-858b-resultats,
  .bh-858b-calcul > .bh-858b-note {
    grid-column: 1 / -1;
  }
}

/* ── sélection de la rédaction : l’unique bande sombre de la home ─────── */
/* `.bh-858b-home .bh-858b-bloc` (home.css) impose le fond clair en !important avec une
   spécificité supérieure : la règle vise donc la section pour que l’aplat tienne. */
.bh-858b-home section.bh-858b-b-selection {
  background: #102a2b !important;
  color: #fff !important;
}
/* Aucune couleur translucide ni color-mix ici : un fond composé se lit mal et fausse toute
   mesure de contraste. Des aplats opaques, sombres dans les deux modes. */
.bh-858b-home section.bh-858b-b-selection .bh-858b-h2 {
  color: #ffffff !important;
}
/* home.css force la couleur des chapeaux en !important : le coral de la bande sombre a besoin
   d’une règle plus spécifique, sinon la sélection perd son seul accent de la DA. */
.bh-858b-home .bh-858b-b-selection .bh-858b-kicker {
  color: #e8795f !important;
}
/* Les cartes de la bande : un aplat plus sombre que la bande, filet blanc à 10 %. */
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre {
  background: #0b1f20 !important;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ffffff !important;
  box-shadow: var(--o-carte) !important;
}
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre:hover {
  box-shadow: var(--o-survol) !important;
}
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre .bh-858b-c-titre,
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre .bh-858b-c-titre a {
  color: #ffffff !important;
}
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre .bh-858b-c-kicker {
  color: #e8795f !important;
}
.bh-858b-home .bh-858b-b-selection .bh-858b-carte-sombre .bh-858b-c-meta {
  color: #cfe0dc !important;
}

/* ── mot de la rédaction ──────────────────────────────────────────────── */
.bh-858b-redaction {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--e4);
  align-items: start;
}
.bh-858b-redaction p {
  max-width: 68ch;
}
.bh-858b-portraits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--e2) var(--e5);
}
.bh-858b-portrait {
  display: grid;
  justify-items: center;
  gap: 0.25rem;
  width: 84px;
  color: var(--c-texte);
  font-size: 0.82rem;
  text-align: center;
  text-decoration: none;
}
.bh-858b-portrait img {
  width: 68px;
  height: 68px;
  border-radius: 999px;
  object-fit: cover;
  border: 2px solid var(--c-bord);
}
.bh-858b-portrait:hover img {
  border-color: var(--c-primaire);
}
.bh-858b-portrait:hover span {
  color: var(--c-primaire-texte);
}
@media (min-width: 900px) {
  .bh-858b-redaction {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: var(--e6);
  }
}

/* ── fil chronologique ────────────────────────────────────────────────── */
.bh-858b-fil {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bh-858b-fil-ligne + .bh-858b-fil-ligne {
  border-top: 1px solid var(--c-bord);
}
.bh-858b-fil-lien {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: 'rubrique fleche' 'titre fleche' 'resume fleche' 'date fleche';
  gap: 0.15rem 0.75rem;
  align-items: center;
  min-height: 44px;
  padding-block: 0.85rem;
  text-decoration: none;
}
/* Le fil de la couverture montre la vignette et le chapeau réels de l’article :
   la ligne porte du contenu, elle n’est pas gonflée par des marges. */
.bh-858b-fil-vignette {
  grid-area: vignette;
  display: none;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--r-carte);
}
.bh-858b-fil-resume {
  grid-area: resume;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--c-texte);
}
.bh-858b-fil-date {
  grid-area: date;
  font-size: 0.85rem;
  color: var(--c-texte-2);
}
.bh-858b-fil-rubrique {
  grid-area: rubrique;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-primaire-texte);
}
.bh-858b-fil-titre {
  grid-area: titre;
  font-family: var(--f-titre);
  font-size: 1.12rem;
  line-height: 1.3;
}
.bh-858b-fil-fleche {
  grid-area: fleche;
  color: var(--c-texte-2);
}
@media (min-width: 760px) {
  .bh-858b-fil-lien {
    grid-template-columns: 11rem 9rem minmax(0, 1fr) auto;
    grid-template-areas: 'date rubrique titre fleche';
    gap: var(--e4);
  }
}
@media (min-width: 760px) {
  .bh-858b-home [data-bloc='fil'] .bh-858b-fil-lien {
    grid-template-columns: 10rem 7rem 9rem minmax(0, 1fr) auto;
    grid-template-areas:
      'vignette date rubrique titre fleche'
      'vignette resume resume resume fleche';
    gap: 0.3rem var(--e4);
  }
  .bh-858b-home [data-bloc='fil'] .bh-858b-fil-vignette {
    display: block;
  }
}

/* ── pied de page ─────────────────────────────────────────────────────── */
.bh-858b-pied {
  background: var(--c-fond);
  border-top: 1px solid var(--c-bord);
  color: var(--c-texte);
}
.bh-858b-pied-int {
  display: grid;
  justify-items: center;
  gap: var(--e4);
  width: min(100% - 2rem, var(--largeur));
  margin-inline: auto;
  padding-block: var(--e6);
  text-align: center;
}
.bh-858b-pied-logo img {
  height: 38px;
  width: auto;
  display: block;
}
.bh-858b-pied-liens,
.bh-858b-pied-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 1.1rem;
}
.bh-858b-pied-liens a,
.bh-858b-pied-legal a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--lien-couleur);
  font-size: 0.92rem;
  text-decoration: none;
}
.bh-858b-pied-liens a:hover,
.bh-858b-pied-legal a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bh-858b-pied-legal {
  color: var(--c-texte-2);
  font-size: 0.85rem;
}

/* ── article : colonne latérale à gauche sur grand écran ──────────────── */
/* La position de la colonne de lecture suit le composant KitArticle. */

/* ── pages intérieures ────────────────────────────────────────────────── */
.bh-858b-page {
  padding-block: var(--e7);
}
.bh-858b-page .bh-858b-int > * + * {
  margin-top: var(--e4);
}
.bh-858b-page-titre {
  font-family: var(--f-titre);
  font-size: var(--t-hero);
  line-height: 1.15;
  max-width: 24ch;
}
.bh-858b-chapo {
  color: var(--c-texte-2);
  font-size: 1.05rem;
  max-width: 68ch;
}
.bh-858b-fil-ariane {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: var(--c-texte-2);
  list-style: none;
  margin: 0;
  padding: 0;
}
.bh-858b-fil-ariane a {
  color: var(--lien-couleur);
  text-decoration: none;
}
.bh-858b-fil-ariane a:hover {
  text-decoration: underline;
}
.bh-858b-liste-pages {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e3);
}
.bh-858b-liste-pages li {
  padding: var(--e4);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond);
}
/* Lignes « Par où commencer » : chapeau, titre et date sur des lignes distinctes. En ligne,
   les trois libellés se collaient au rendu (« CARDIO ET RENFORCEMENTÉtirements du soir… »). */
.bh-858b-liste-pages a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.35rem 0.75rem;
  color: var(--c-primaire-texte);
  font-weight: 600;
  text-decoration: none;
}
.bh-858b-liste-pages .bh-858b-fil-rubrique {
  grid-column: 1;
  justify-self: start;
  width: fit-content;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background: var(--c-doux);
  color: var(--c-primaire-texte);
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.bh-858b-liste-pages-titre {
  grid-column: 1;
  font-family: var(--f-titre);
  font-size: 1.05rem;
  line-height: 1.25;
}
.bh-858b-liste-pages a:hover .bh-858b-liste-pages-titre {
  text-decoration: underline;
}
.bh-858b-liste-pages-date {
  grid-column: 1;
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--c-texte-2);
}
.bh-858b-liste-pages-fleche {
  grid-column: 2;
  grid-row: 1 / span 3;
  color: var(--c-primaire-texte);
}

/* ── pages intérieures à deux colonnes : le texte, puis son sommaire ──── */
/* Sans la seconde colonne, la moitié droite du conteneur restait vide sur toute la hauteur. */
.bh-858b-page-2col {
  display: grid;
  gap: var(--e6);
  align-items: start;
}
@media (min-width: 900px) {
  .bh-858b-page-2col {
    grid-template-columns: minmax(0, 1fr) minmax(13rem, 16rem);
  }
}
.bh-858b-sommaire-page {
  padding: var(--e5);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond-2);
}
.bh-858b-sommaire-page h2 {
  margin: 0 0 0.6rem;
  font-family: var(--f-titre);
  font-size: 1rem;
}
.bh-858b-sommaire-page ol {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bh-858b-sommaire-page a {
  font-size: 0.9rem;
  color: var(--lien-couleur);
}
@media (min-width: 900px) {
  .bh-858b-sommaire-page {
    position: sticky;
    top: calc(var(--header-h, 72px) + 1rem);
  }
}
.bh-858b-texte h2 {
  font-family: var(--f-titre);
  font-size: 1.35rem;
  margin-block: var(--e5) 0.5rem;
}
.bh-858b-texte p,
.bh-858b-texte li {
  max-width: min(54ch, 31em);
}
/* Colonne de lecture des pages intérieures : 54 caractères au plus, quelle que soit la page. */
[data-usine-page='interne'] p {
  max-width: min(54ch, 31em);
}

/* ── couverture : la zone « une » est elle-même le conteneur magazine ──── */
.bh-858b-b-une {
  width: min(100% - 2 * var(--e5), var(--largeur));
  margin-inline: auto;
}
.bh-858b-b-une > .bh-858b-int {
  width: 100%;
}

.bh-858b-texte dl {
  display: grid;
  gap: 0.3rem;
  margin: 0;
}
.bh-858b-texte dt {
  font-weight: 600;
}
.bh-858b-texte dd {
  margin: 0 0 0.6rem;
  max-width: 75ch;
}

/* ── article : tête posée dans le slot du kit ─────────────────────────── */
.bh-858b-tete-article > * + * {
  margin-top: var(--e4);
}
.bh-858b-une-figure {
  margin: 0;
}
.bh-858b-portrait-img {
  width: 168px;
  height: 168px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid var(--c-bord);
}
@media (max-width: 640px) {
  .bh-858b-portrait-img {
    width: 112px;
    height: 112px;
  }
}

/* ── équipe ───────────────────────────────────────────────────────────── */
.bh-858b-equipe {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e5);
  grid-template-columns: 1fr;
}
.bh-858b-equipe-carte {
  display: grid;
  gap: 0.5rem;
  justify-items: start;
  padding: var(--e5);
}
.bh-858b-equipe-carte img {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  object-fit: cover;
  border: 3px solid var(--c-bord);
}
@media (min-width: 640px) {
  .bh-858b-equipe {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .bh-858b-equipe {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── zones de cartes : elles respirent ────────────────────────────────────
   La couverture doit tenir ses cartes sur au moins 80 % de la hauteur entre
   la tête et le pied : ces zones gagnent de l'air (jamais du contenu masqué),
   pendant que les blocs de service se condensent plus haut. */
.bh-858b-une-img {
  aspect-ratio: 4 / 3;
}
.bh-858b-carte .bh-858b-c-img {
  aspect-ratio: 4 / 3;
}
.bh-858b-c-corps {
  padding: var(--e6);
}
.bh-858b-cs-ligne {
  padding: var(--e5);
}
.bh-858b-num-ligne {
  padding: var(--e5);
}
.bh-858b-num-vignette {
  aspect-ratio: 1 / 1;
}
.bh-858b-breve {
  padding: var(--e4);
}
.bh-858b-fil-lien {
  padding-block: 1.5rem;
}
[data-bloc='selection-redaction'] .bh-858b-c-corps {
  padding: var(--e7) var(--e6);
}

/* ── tête centrée : logo sur sa ligne, menu et bouton dessous ────────────
   Axe de mise en page de ce site : le logo occupe seul la première ligne,
   le menu et le bouton d’articles partagent la seconde, à 2rem (32 px) du
   logo. Les composants du thème ne changent pas. */
.bh-858b-tete-int {
  flex-direction: column;
  gap: 2rem;
  padding-block: 0.5rem;
}
.bh-858b-tete-rang {
  justify-content: center;
  gap: 2rem;
}
.bh-858b-tete-menu {
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 1079px) {
  .bh-858b-tete-int {
    justify-content: center;
  }
}

/* ── sélection : l’unique bande sombre, chapeau en coral ────────────────── */
.bh-858b-b-selection .bh-858b-kicker {
  color: var(--c-secondaire);
}
/* Les cartes de la sélection restent lisibles même si l’observation du
   défilement ne se déclenche pas : elles partent d’un état visible. */
@keyframes bh-858b-revele {
  to {
    opacity: 1;
    transform: none;
  }
}
.bh-858b-home .bh-858b-b-selection [data-apparait] {
  animation: bh-858b-revele 0.6s ease 0.9s forwards;
}
@media (prefers-reduced-motion: reduce) {
  .bh-858b-home .bh-858b-b-selection [data-apparait] {
    animation: none;
  }
}

/* ── page à propos : photo de tête, méthode en cartes, appel final ─────── */
.bh-858b-page-figure {
  margin: var(--e5) 0 var(--e6);
}
.bh-858b-page-figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 480px;
  object-fit: cover;
  border-radius: var(--r-carte);
}
.bh-858b-page-figure figcaption {
  margin-top: 0.5rem;
  color: var(--c-texte-2);
  font-size: 0.85rem;
}
.bh-858b-methode {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--e4);
}
.bh-858b-methode-carte {
  max-width: none;
  padding: var(--e5);
  display: grid;
  gap: 0.5rem;
  align-content: start;
}
.bh-858b-methode-carte h3 {
  margin: 0;
  font-size: 1.05rem;
}
.bh-858b-methode-carte p {
  margin: 0;
  max-width: none;
}
.bh-858b-methode-ico {
  width: 1.35rem;
  height: 1.35rem;
  color: var(--c-primaire-texte);
}
@media (min-width: 860px) {
  .bh-858b-methode {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bh-858b-page-cta {
  margin-top: var(--e6);
  padding: var(--e6);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond-2);
}
.bh-858b-page-cta p {
  max-width: min(54ch, 31em);
}

/* ── formulaire de contact ────────────────────────────────────────────── */
/* Formulaire à gauche sur deux tiers, coordonnées et délai à droite : la page occupait
   la moitié du conteneur, l’autre moitié restait vide sur toute la hauteur. */
.bh-858b-contact-2col {
  display: grid;
  gap: var(--e6);
  align-items: start;
}
@media (min-width: 900px) {
  .bh-858b-contact-2col {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
}
.bh-858b-contact-cote {
  padding: var(--e5);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond-2);
}
.bh-858b-contact {
  display: grid;
  gap: var(--e4);
  max-width: 46rem;
}
.bh-858b-contact .bh-858b-champ span {
  font-weight: 600;
}
.bh-858b-contact textarea {
  font: inherit;
  padding: 0.6rem 0.75rem;
  border: 1px solid var(--c-bord);
  border-radius: var(--r-carte);
  background: #fff;
  color: var(--c-texte);
}
.bh-858b-miel {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.bh-858b-contact-retour:empty {
  display: none;
}
.bh-858b-contact-retour {
  margin: 0;
  padding: 0.75rem 1rem;
  border-radius: var(--r-carte);
  border: 1px solid var(--c-bord);
  background: var(--c-doux);
  color: var(--c-primaire-texte);
  font-weight: 600;
}
.bh-858b-contact-retour[data-etat='erreur'] {
  background: var(--c-fond-2);
  color: var(--c-texte);
  border-color: var(--c-secondaire);
}

/* ── bascule haltères / élastiques (repères) ──────────────────────────── */
/* La bascule vit DANS la section repères (le profil TPL interdit un bloc à
   part) et reste compacte : les deux panneaux vont côte à côte, un seul
   servant à la fois. La pause repères ne prend pas la place des articles. */
.bh-858b-bascule {
  display: grid;
  gap: var(--e4);
  margin-top: var(--e4);
  padding: var(--e4);
  border: var(--carte-bord);
  border-radius: var(--r-carte);
  background: var(--c-fond-2);
}
.bh-858b-bascule-tete {
  display: grid;
  gap: 0.2rem;
}
.bh-858b-bascule-panneaux {
  display: grid;
  gap: var(--e4);
}
@media (min-width: 760px) {
  .bh-858b-bascule-panneaux {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
/* Repères : les deux widgets signature vivent dans la même carte à onglets,
   une entrée visible à la fois, exactement comme le quiz. Aucun contenu n’est
   retiré, la pause reste basse et la place revient aux zones de cartes. La
   rédaction, validée, garde ses mesures. */
.bh-858b-home [data-bloc='reperes'] {
  padding-block: var(--e3);
}
.bh-858b-home [data-bloc='reperes'] .bh-858b-entete {
  margin-bottom: var(--e3);
}
.bh-858b-home [data-bloc='reperes'] .bh-858b-note {
  margin-block: var(--e3) 0;
}
@media (min-width: 760px) {
  .bh-858b-pensebete .bh-858b-bascule-panneaux {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}
.bh-858b-bascule-panneau {
  padding: var(--e5);
}
.bh-858b-bascule-panneau h4 {
  margin: 0 0 0.5rem;
}
.bh-858b-bascule-panneau ul {
  margin: 0 0 0.75rem;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.3rem;
}

/* Pauses compactes : le contenu reste visible, les cartes articles gardent leur taille. */
.bh-858b-home [data-bloc='reperes'],
.bh-858b-home [data-bloc='redaction'] { padding-block: 1.25rem; }
body .uf-block { max-width: 1100px; margin-top: 24px; }
body .uf-block .about-banner { padding: 24px; gap: 24px; }
body .uf-block .about-banner h2 { font-size: 24px; line-height: 1.2; margin-bottom: 8px; }
body .uf-block .about-banner p { font-size: 14px; }

/* Retouche responsive : cartes lisibles, fil sans colonne implicite. */
.bh-858b-home [data-bloc='reperes'] { padding-block: .5rem; }
.bh-858b-tete-article .bh-858b-page-titre { max-width: none; width: 100%; }
.bh-858b-tete-article .bh-858b-c-meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.bh-858b-une-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
@media (max-width: 759px) {
 .bh-858b-home .bh-858b-int { width: calc(100% - 32px); padding-inline: 0; }
 .bh-858b-home .bh-858b-une-corps,
 .bh-858b-home .bh-858b-c-corps,
 .bh-858b-home .bh-858b-methode-carte,
 .bh-858b-home .bh-858b-equipe-carte,
 .bh-858b-home .bh-858b-page-cta { padding-inline: 16px; }
 .bh-858b-home [data-bloc='fil'] .bh-858b-fil-lien {
  grid-template-columns: minmax(0,1fr) 20px;
  grid-template-areas: 'vignette vignette' 'rubrique fleche' 'titre fleche' 'resume resume' 'date date';
  gap: .5rem;
 }
 .bh-858b-home [data-bloc='fil'] .bh-858b-fil-vignette { display: block; width: 100%; }
}

/* Alignement de la tête éditoriale et des métadonnées. */
.bh-858b-home .ka-cadre{width:100%;max-width:1100px;margin-inline:auto}
.bh-858b-home .bh-858b-c-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
@media(max-width:759px){.bh-858b-home .bh-858b-b-une{width:100%;max-width:none;margin-inline:0}}

/* Reprise éditoriale : menu sur son propre axe et dossiers aux rythmes distincts. */
.bh-858b-tete-int{gap:.75rem}
.bh-858b-tete-rang{width:100%;position:relative}
@media(min-width:1080px){
 .bh-858b-tete-menu{margin-inline:auto}
 .bh-858b-tete-cta{position:absolute;right:0;bottom:calc(100% + .65rem)}
}
.bh-858b-dossier-chapo{max-width:48rem;color:var(--c-muet);margin-top:.6rem}
.bh-858b-dossier:nth-of-type(even){background:var(--c-fond-b,var(--c-doux))}
.bh-858b-dossier-cartes{display:grid;gap:1.5rem}
.bh-858b-dossier-carte{overflow:hidden}
.bh-858b-dossier-carte .bh-858b-c-img{width:100%;aspect-ratio:16/9;object-fit:cover}
.bh-858b-materiel-pause .bh-858b-bascule-panneaux{margin-top:1rem}
@media(min-width:900px){
 .bh-858b-dossier-cartes{grid-template-columns:repeat(3,minmax(0,1fr))}
 [data-disposition="grande-liste"] .bh-858b-dossier-cartes{grid-template-columns:1.1fr 1fr}
 [data-disposition="grande-liste"] .bh-858b-dossier-carte:first-child{grid-row:span 2}
 [data-disposition="grande-liste"] .bh-858b-dossier-carte:not(:first-child){display:grid;grid-template-columns:35% 1fr}
 [data-disposition="grande-liste"] .bh-858b-dossier-carte:not(:first-child) .bh-858b-c-img{height:100%;aspect-ratio:auto}
 [data-disposition="grande-liste"] .bh-858b-dossier-carte:not(:first-child) .bh-858b-c-p{display:none}
 [data-disposition="liste-numerotee"] .bh-858b-dossier-cartes{grid-template-columns:1fr}
 [data-disposition="liste-numerotee"] .bh-858b-dossier-carte{display:grid;grid-template-columns:230px 1fr}
 [data-disposition="liste-numerotee"] .bh-858b-dossier-carte .bh-858b-c-img{height:100%;aspect-ratio:auto;max-height:210px}
 [data-usine-bloc="rubrique-une"]>.bh-858b-carte{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}
 [data-usine-bloc="rubrique-une"] .bh-858b-c-img{height:100%;max-height:460px;object-fit:cover}
}

@media(min-width:1080px){.bh-858b-tete-rang{margin-inline:0}}

@media(min-width:1080px){header.bh-858b-tete .bh-858b-tete-int>.bh-858b-tete-rang{margin-inline:0!important;justify-content:center!important}}

/* Espace de lecture des résumés en grille. */
.bh-858b-dossier-carte .bh-858b-c-corps{padding-inline:20px}
