/* home.css — Passion Maison Jardin
   Habillage du carnet (TPL blog/auteur). Uniquement les jetons du thème
   Site Author : --c-* (pont posé dans styles/themes/light.css), --accent,
   --radius-2xl, --shadow-md. Aucune couleur au hasard, aucune police externe. */

/* ---------------------------------------------------------------- conteneur */
.bh-5457-conteneur {
  width: min(1100px, calc(100% - 40px));
  margin-inline: auto;
  min-width: 0;
}
.bh-5457-section {
  padding-block: clamp(2rem, 4vw, 3.25rem);
}
.bh-5457-section > * {
  min-width: 0;
}
.bh-5457-titre-section {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: var(--c-texte);
  margin: 0;
}
.bh-5457-sous-titre {
  margin: 0.5rem 0 0;
  color: var(--c-texte-2);
  font-size: 1.0625rem;
  line-height: 1.7;
  max-width: 65ch;
}
.bh-5457-centre {
  text-align: center;
}
.bh-5457-centre .bh-5457-sous-titre {
  margin-inline: auto;
}

/* ------------------------------------------------------------------- entete */
/* Le bandeau et le menu vivent dans le même conteneur collant : ils suivent le
   défilement ensemble, et le hero démarre sous eux. */
.bh-5457-collant {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--c-fond);
}
.bh-5457-entete {
  background: var(--c-fond);
  border-bottom: 1px solid var(--c-bord);
}
.bh-5457-entete-nav {
  width: min(1100px, calc(100% - 40px));
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 12px 20px 16px;
}
.bh-5457-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  border-radius: 8px;
}
.bh-5457-logo img {
  height: 48px;
  width: auto;
  display: block;
}
.bh-5457-menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bh-5457-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  color: var(--c-texte-2);
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 8px;
}
.bh-5457-menu a:hover,
.bh-5457-menu a[aria-current="page"] {
  color: var(--c-primaire);
  background: var(--c-doux);
}
.bh-5457-burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--c-bord);
  border-radius: 10px;
  background: var(--c-surface);
  color: var(--c-texte);
  cursor: pointer;
}
.bh-5457-menu-mobile {
  border-top: 1px solid var(--c-bord);
  background: var(--c-fond);
}
.bh-5457-menu-mobile[hidden] {
  display: none;
}
.bh-5457-menu-mobile ul {
  margin: 0;
  padding: 8px 20px 16px;
  list-style: none;
}
.bh-5457-menu-mobile a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: var(--c-texte);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid var(--c-bord);
}

/* ------------------------------------------------------------------ bandeau */
.bh-5457-bandeau {
  background: var(--c-voile);
  color: var(--c-sur-voile);
  font-size: 0.875rem;
}
.bh-5457-bandeau[hidden] {
  display: none;
}
.bh-5457-bandeau-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(1100px, calc(100% - 40px));
  margin-inline: auto;
  padding: 6px 0;
}
.bh-5457-bandeau-titre {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.6875rem;
  color: var(--c-secondaire);
}
.bh-5457-bandeau-liste {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}
.bh-5457-bandeau-liste li {
  flex: 0 0 auto;
}
.bh-5457-bandeau-liste a {
  color: var(--c-sur-voile);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  border-bottom: 1px solid transparent;
}
.bh-5457-bandeau-liste a:hover {
  border-bottom-color: var(--c-secondaire);
}
.bh-5457-bandeau-fermer {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--c-sur-voile);
  cursor: pointer;
}
.bh-5457-bandeau-fermer:hover {
  background: rgba(255, 255, 255, 0.14);
}
:where(a, button, [tabindex]):focus-visible {
  outline: 2px solid var(--c-primaire);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------- hero */
/* Hero pleine hauteur sous le header collant (bandeau compris) : min-height
   = fenêtre moins la hauteur mesurée du header, à toutes les largeurs. */
.bh-5457-hero {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  min-height: calc(100svh - var(--bh-header-height, 96px));
  display: flex;
  align-items: stretch;
}
.bh-5457-hero > .bh-5457-conteneur {
  width: 100%;
  flex: 1 1 auto;
}
.bh-5457-hero-grille {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(1.5rem, 3vw, 3rem);
  align-items: stretch;
  flex: 1 1 auto;
}
/* axe media_gauche : la photo tient la première colonne (5/7), le texte la seconde */
.bh-5457-hero-media {
  order: -1;
  min-width: 0;
  height: 100%;
}
.bh-5457-hero-texte {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bh-5457-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 20rem;
  aspect-ratio: auto;
  object-fit: cover;
  border-radius: var(--r-image, 12px);
}
.bh-5457-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--c-primaire);
}
.bh-5457-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.2rem, 4.2vw, 3.4rem);
  line-height: 1.08;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: var(--c-texte);
  max-width: 22ch;
}
.bh-5457-hero-texte p {
  margin: 0 0 1.5rem;
  color: var(--c-texte-2);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 60ch;
}
.bh-5457-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}
/* Libellé et flèche du hero sur une seule ligne : la flèche est le SVG inline
   du thème, jamais un caractère texte qui passerait seul à la ligne. */
.bh-5457-hero-actions .sw-btn,
.bh-5457-hero-actions .bh-5457-lien-fleche {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
@media (max-width: 430px) {
  .bh-5457-hero-actions .sw-btn {
    padding-inline: 14px;
  }
}

/* ---------------------------------------------------------- article-vedette */
.bh-5457-vedette {
  padding: 20px;
}
.bh-5457-vedette-grille {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(1.25rem, 2.5vw, 2rem);
  align-items: center;
}
.bh-5457-vedette-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
}
.bh-5457-vedette-corps {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}
.bh-5457-vedette h2 {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.15rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 700;
}
.bh-5457-vedette h2 a {
  color: var(--c-texte);
  text-decoration: none;
}
.bh-5457-vedette h2 a:hover {
  color: var(--c-primaire);
}
.bh-5457-vedette-resume {
  margin: 0;
  color: var(--c-texte-2);
  line-height: 1.7;
  max-width: 65ch;
}
.bh-5457-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  color: var(--c-texte-3);
  font-size: 0.875rem;
}
.bh-5457-meta > span,
.bh-5457-meta > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bh-5457-meta a {
  color: var(--c-primaire);
  font-weight: 700;
  text-decoration: none;
}
.bh-5457-meta a:hover {
  text-decoration: underline;
}
.bh-5457-etiquette {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 12px;
  border-radius: 999px;
  background: var(--c-secondaire);
  color: var(--c-sur-secondaire);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.bh-5457-lien-fleche {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-primaire);
  font-weight: 700;
  text-decoration: none;
}
.bh-5457-lien-fleche:hover {
  text-decoration: underline;
}
/* Icône flèche partagée (composant Fleche.astro) : un seul tracé SVG du thème,
   trait 1,5, currentColor, jamais un caractère texte en guise d’icône. */
.bh-5457-fleche {
  flex: none;
  display: inline-block;
  vertical-align: -0.15em;
}
/* Sous 480 px, l’accroche en capitales du hero garde son pictogramme sur la
   même ligne de base que le libellé : elle ne le laisse pas seul en tête de
   deuxième ligne. Restreint au hero, les autres accroches ne bougent pas. */
@media (max-width: 480px) {
  .bh-5457-hero .bh-5457-kicker {
    align-items: baseline;
    letter-spacing: 0.08em;
    font-size: 0.7rem;
  }
}

/* ------------------------------------------------------------------- auteur */
.bh-5457-auteur-carte {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 22px;
}
.bh-5457-auteur-portrait {
  flex: 0 0 auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid var(--c-bord);
}
.bh-5457-auteur-portrait img {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: cover;
}
.bh-5457-auteur-corps {
  min-width: 0;
}
.bh-5457-auteur-nom {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-auteur-role {
  margin: 0.25rem 0 0.65rem;
  color: var(--c-primaire);
  font-weight: 700;
  font-size: 0.9375rem;
}
.bh-5457-auteur-bio {
  margin: 0 0 0.75rem;
  color: var(--c-texte-2);
  line-height: 1.7;
  max-width: 65ch;
}

/* ----------------------------------------------------------------- parcours */
.bh-5457-portes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 20px;
  margin-top: 1.75rem;
}
.bh-5457-porte {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 22px;
  min-width: 0;
}
.bh-5457-porte-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--c-doux-accent);
  color: var(--c-primaire);
}
.bh-5457-porte h3 {
  margin: 0.25rem 0 0;
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-porte p {
  margin: 0;
  color: var(--c-texte-2);
  line-height: 1.65;
  font-size: 1rem;
}
.bh-5457-porte-compte {
  margin-top: auto;
  padding-top: 0.5rem;
  color: var(--c-texte-3);
  font-size: 0.875rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bh-5457-outils {
  margin-top: 2rem;
  padding: 24px;
  background: var(--c-doux);
  border: 1px solid var(--c-bord);
  border-radius: var(--radius-2xl, 1rem);
}
.bh-5457-outils h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1875rem;
  font-weight: 700;
}
.bh-5457-outils > p {
  margin: 0 0 1.25rem;
  color: var(--c-texte-2);
  max-width: 65ch;
}
.bh-5457-outils-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 20px;
}
.bh-5457-outil {
  background: var(--c-surface);
  border: 1px solid var(--c-bord);
  border-radius: 12px;
  padding: 18px;
  min-width: 0;
}
.bh-5457-outil h4 {
  margin: 0 0 0.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-outil p {
  margin: 0 0 0.85rem;
  color: var(--c-texte-2);
  font-size: 0.9375rem;
  line-height: 1.6;
}
.bh-5457-champ {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 12px;
  font-size: 0.875rem;
  color: var(--c-texte-2);
}
.bh-5457-champ input,
.bh-5457-champ select,
.bh-5457-outil input,
.bh-5457-outil select {
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--c-bord);
  border-radius: 10px;
  background: var(--c-surface);
  color: var(--c-texte);
  font: inherit;
}
.bh-5457-sortie {
  display: block;
  margin-top: 4px;
  font-weight: 700;
  color: var(--c-primaire);
}

/* -------------------------------------------------- lectures récentes (journal) */
.bh-5457-journal {
  margin-top: 1.75rem;
  border-top: 1px solid var(--c-bord);
}
.bh-5457-ligne {
  display: grid;
  grid-template-columns: 8.5rem 96px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 20px 0;
  border-bottom: 1px solid var(--c-bord);
}
.bh-5457-ligne-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-texte-3);
  font-size: 0.875rem;
  white-space: nowrap;
}
.bh-5457-ligne-vignette img {
  display: block;
  width: 96px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
}
.bh-5457-ligne-corps {
  min-width: 0;
}
.bh-5457-ligne h3 {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: 700;
}
.bh-5457-ligne h3 a {
  color: var(--c-texte);
  text-decoration: none;
}
.bh-5457-ligne h3 a:hover {
  color: var(--c-primaire);
}
.bh-5457-ligne p {
  margin: 0 0 0.5rem;
  color: var(--c-texte-2);
  line-height: 1.65;
  max-width: 65ch;
}
/* Le renvoi au sommaire du journal : pictogramme et libellé sur une seule
   ligne, la flèche ne se détache pas du compte calculé au build. */
.bh-5457-journal-pied .bh-5457-meta > span {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.bh-5457-journal-pied {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 1.5rem;
}

/* ------- flèches de l’avant-footer commun
   Elles ne sont plus masquées ici : le générateur de la chaîne émet désormais
   un vrai SVG du thème (classe af-fleche, trait 1,5, currentColor) et sa
   propre mise en ligne (.af-lien-fleche, dans usine-avant-footer.css). Un
   masque CSS recouvrirait ce SVG : plus aucune règle de flèche sur .uf-block. */

/* --------------------------------------------------------------------- quiz */
.bh-5457-quiz-carte {
  margin-top: 2rem;
  padding: 24px;
  background: var(--c-doux);
  border: 1px solid var(--c-bord);
  border-radius: var(--radius-2xl, 1rem);
}
.bh-5457-quiz-carte h3 {
  margin: 0 0 0.35rem;
  font-size: 1.1875rem;
  font-weight: 700;
}
.bh-5457-quiz-carte > p {
  margin: 0 0 1rem;
  color: var(--c-texte-2);
  max-width: 65ch;
}

/* ------------------------------------------------------------------- footer */
.bh-5457-pied {
  margin-top: 3rem;
  border-top: 1px solid var(--c-bord);
  background: var(--c-fond-2);
}
.bh-5457-pied-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 28px;
  padding: 2.5rem 0 1.75rem;
}
.bh-5457-pied h2,
.bh-5457-pied h3 {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-texte-3);
  font-weight: 700;
}
.bh-5457-pied ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bh-5457-pied a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: var(--c-texte-2);
  text-decoration: none;
}
.bh-5457-pied a:hover {
  color: var(--c-primaire);
  text-decoration: underline;
}
.bh-5457-pied-marque img {
  height: 40px;
  width: auto;
  display: block;
  margin-bottom: 0.75rem;
}
.bh-5457-pied-marque p {
  margin: 0;
  color: var(--c-texte-2);
  line-height: 1.65;
  max-width: 34ch;
}
.bh-5457-pied-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 0 24px;
  border-top: 1px solid var(--c-bord);
  color: var(--c-texte-3);
  font-size: 0.875rem;
}
.bh-5457-pied-legal ul {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
}

/* ------------------------------------------------------------------ responsive */
@media (max-width: 900px) {
  .bh-5457-menu {
    display: none;
  }
  .bh-5457-burger {
    display: inline-flex;
  }
  .bh-5457-entete-nav {
    gap: 20px;
    padding-bottom: 12px;
  }
  .bh-5457-logo {
    min-height: 44px;
  }
  .bh-5457-logo img {
    height: 40px;
  }
}
@media (max-width: 767px) {
  .bh-5457-hero-grille,
  .bh-5457-vedette-grille {
    grid-template-columns: minmax(0, 1fr);
  }
  .bh-5457-hero-texte {
    order: -1;
  }
  .bh-5457-hero-media {
    order: 0;
  }
  .bh-5457-ligne {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
  }
  .bh-5457-ligne-date {
    grid-column: 1 / -1;
  }
  .bh-5457-ligne-vignette img {
    width: 96px;
    height: 72px;
  }
}
@media (max-width: 640px) {
  .bh-5457-auteur-carte {
    flex-direction: column;
  }
  .bh-5457-conteneur,
  .bh-5457-bandeau-inner {
    width: min(1100px, calc(100% - 32px));
  }
}

/* ------------------------------------------------------- pages internes */
.bh-5457-page {
  padding-block: clamp(1.75rem, 3vw, 2.75rem) 1rem;
}
.bh-5457-page-tete {
  padding-bottom: 1.5rem;
  margin-bottom: 1.75rem;
  border-bottom: 1px solid var(--c-bord);
}
.bh-5457-page-tete h1 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.9rem, 3.4vw, 2.75rem);
  line-height: 1.1;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-page-chapo {
  margin: 0;
  color: var(--c-texte-2);
  font-size: 1.125rem;
  line-height: 1.7;
  max-width: 68ch;
}
.bh-5457-page-corps {
  max-width: 68ch;
}
/* Colonne de lecture des pages internes : la règle du socle, posée ici pour
   que la mesure tienne même sans la feuille du socle (75 caractères par ligne
   au plus, et la mesure du portier compte les lignes). */
[data-usine-page="interne"] p,
[data-usine-page="interne"] li {
  max-width: min(54ch, 31em);
}
.bh-5457-page-corps > * + * {
  margin-top: 1rem;
}
.bh-5457-page-corps h2 {
  margin: 2rem 0 0.5rem;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  line-height: 1.25;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-page-corps h3 {
  margin: 1.5rem 0 0.35rem;
  font-size: 1.1875rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-page-corps p,
.bh-5457-page-corps li {
  color: var(--c-texte-2);
  line-height: 1.75;
}
.bh-5457-page-corps ul,
.bh-5457-page-corps ol {
  margin: 1rem 0;
  padding-left: 1.25rem;
}
.bh-5457-page-corps li + li {
  margin-top: 0.35rem;
}
.bh-5457-page-corps a {
  color: var(--c-primaire);
}
.bh-5457-page-article .bh-5457-conteneur {
  padding-top: 0.5rem;
}
.bh-5457-note {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--c-bord);
  color: var(--c-texte-3);
  font-size: 0.9375rem;
  line-height: 1.7;
}
.bh-5457-liste-infos {
  margin: 0.5rem 0 0;
  padding: 0;
  list-style: none;
}
.bh-5457-liste-infos li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--c-texte-2);
}
.bh-5457-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 1.75rem;
}
.bh-5457-portes-simple {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}
.bh-5457-portes-simple a {
  font-weight: 700;
}
.bh-5457-sous-themes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.bh-5457-sous-themes li {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border: 1px solid var(--c-bord);
  border-radius: 999px;
  background: var(--c-surface);
  color: var(--c-texte-2);
  font-size: 0.875rem;
}

/* ---------------------------------------------------- fil d’Ariane */
.bh-5457-fil {
  margin-bottom: 1rem;
}
.bh-5457-fil ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.875rem;
  color: var(--c-texte-3);
}
.bh-5457-fil li + li::before {
  content: "/";
  margin-right: 8px;
  color: var(--c-bord);
}
.bh-5457-fil a {
  color: var(--c-texte-2);
  text-decoration: none;
}
.bh-5457-fil a:hover {
  color: var(--c-primaire);
  text-decoration: underline;
}
.bh-5457-fil [aria-current="page"] {
  color: var(--c-texte);
}

/* --------------------------------------------------- tête d’article */
.bh-5457-titre-article {
  margin: 0 0 1rem;
  font-size: clamp(1.9rem, 3.6vw, 2.9rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-chapo {
  margin: 0 0 1rem;
  color: var(--c-texte-2);
  font-size: 1.125rem;
  line-height: 1.7;
}
.bh-5457-article-media {
  margin: 1.5rem 0 0;
}
.bh-5457-article-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-2xl, 1rem);
}
.bh-5457-voisins {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 16px;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--c-bord);
}
.bh-5457-voisin {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--c-bord);
  border-radius: 12px;
  background: var(--c-surface);
  text-decoration: none;
}
.bh-5457-voisin:hover {
  border-color: var(--c-primaire);
}
.bh-5457-voisin-k {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--c-texte-3);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.bh-5457-voisin-t {
  color: var(--c-texte);
  font-weight: 700;
  line-height: 1.35;
}
.bh-5457-voisin-suite {
  text-align: right;
}
.bh-5457-voisin-suite .bh-5457-voisin-k {
  justify-content: flex-end;
}

/* ----------------------------------------------------------- équipe */
.bh-5457-equipe {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 20px;
  margin-top: 1.5rem;
}
.bh-5457-equipe-carte {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px;
  min-width: 0;
}
.bh-5457-equipe-portrait {
  flex: 0 0 auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--c-bord);
}
.bh-5457-equipe-corps {
  min-width: 0;
}
.bh-5457-equipe-pied {
  margin: 0;
}

/* ---------------------------------------------------------- contact */
.bh-5457-contact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  gap: 28px;
  margin-top: 1.5rem;
}
.bh-5457-contact h2 {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-formulaire {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  border: 1px solid var(--c-bord);
  border-radius: var(--radius-2xl, 1rem);
  background: var(--c-surface);
}
.bh-5457-formulaire label {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--c-texte-2);
}
.bh-5457-formulaire input,
.bh-5457-formulaire textarea {
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--c-bord);
  border-radius: 10px;
  background: var(--c-fond);
  color: var(--c-texte);
  font: inherit;
}
.bh-5457-formulaire textarea {
  min-height: 9rem;
  resize: vertical;
}
.bh-5457-piege {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.bh-5457-consentement {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0.5rem 0 1rem;
  font-size: 0.9375rem;
  color: var(--c-texte-2);
}
.bh-5457-consentement input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin-top: 2px;
}
.bh-5457-retour {
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid var(--c-bord);
  font-size: 0.9375rem;
}
.bh-5457-retour-ok {
  background: var(--c-doux-accent);
  color: var(--c-texte);
}
.bh-5457-retour-erreur {
  background: var(--c-doux);
  color: var(--c-texte);
}

/* ------------------------------------------------------ plan du site */
.bh-5457-plan {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 24px 32px;
  margin-top: 1.5rem;
}
.bh-5457-plan h2 {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-texte);
}
.bh-5457-plan ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.bh-5457-plan li {
  min-height: 36px;
  line-height: 1.6;
}
.bh-5457-plan-articles {
  grid-column: 1 / -1;
}
.bh-5457-plan-articles ul {
  columns: 2;
  column-gap: 32px;
}

/* ------------------------------------------------------ quiz (home) */
.bh-5457-quiz-score {
  margin: 1rem 0 0;
  font-weight: 700;
  color: var(--c-primaire);
}
.bh-5457-choix {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 1rem;
}

@media (min-width: 901px) {
  .bh-5457-menu-mobile {
    display: none;
  }
}
@media (max-width: 640px) {
  .bh-5457-plan-articles ul {
    columns: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bh-5457-section,
  .bh-5457-porte,
  .bh-5457-vedette {
    transition: none !important;
    animation: none !important;
  }
}

/* QA 390 : une seule marge de page ; les textes gardent une vraie colonne. */
.bh-5457-porte .stretched-link { position: static; inset: auto; }
.bh-5457-porte .stretched-link::after { content: ""; position: absolute; inset: 0; }
.bh-5457-equipe { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 640px) {
  .bh-5457-accueil .bh-5457-conteneur,
  .bh-5457-page > .bh-5457-conteneur { width: 100%; }
  .bh-5457-ligne { grid-template-columns: minmax(0, 1fr); }
  .bh-5457-ligne-vignette img { width: 128px; height: 86px; }
  .bh-5457-auteur-carte, .bh-5457-equipe-carte { flex-direction: column; padding: 16px; }
  /* QA colonne étroite : la carte ne double pas le rembourrage de son lien. */
  .bh-5457-porte { padding: 0; }
  .bh-5457-vedette-corps { padding: 0; }
  .bh-5457-outils, .bh-5457-quiz-carte { padding: 16px; }
  .bh-5457-outils-grille { grid-template-columns: minmax(0, 1fr); }
  .bh-5457-outil { padding: 10px; }
}

/* Reprise qualité : composition éditoriale, centrage et lecture au défilement. */
:root { --bh-header-height: 160px; }
.bh-5457-bandeau { position:relative!important; background:var(--c-doux)!important; color:var(--c-texte)!important; }
.bh-5457-bandeau-inner { position:relative; justify-content:center; gap:24px; padding:9px 40px; min-height:40px; font-size:13px; text-align:center; }
.bh-5457-bandeau-inner a { color:var(--c-primaire); font-weight:700; white-space:nowrap; }
.bh-5457-bandeau-fermer { position:absolute; right:0; top:4px; color:var(--c-texte); font-size:24px; }
.bh-5457-entete-nav { display:grid!important; grid-template-columns:1fr; justify-items:center; gap:8px; padding:12px 0 8px; }
.bh-5457-menu { width:100%; margin:0!important; }
.bh-5457-menu ul { justify-content:center!important; width:100%; }
.bh-5457-logo { margin:0!important; }
.bh-5457-section { padding-block:48px; }
.bh-5457-accueil [data-carnet-visible] { opacity:1!important; transform:none!important; }
.bh-5457-hero { padding-block:48px; }
.bh-5457-vedette.card-surface { border:0; box-shadow:none; background:var(--c-doux); padding:28px; }
.bh-5457-vedette-media img { aspect-ratio:3/2; object-fit:cover; }
.bh-5457-auteur-carte.card-surface { border:0; border-top:1px solid var(--c-bord); border-bottom:1px solid var(--c-bord); border-radius:0; box-shadow:none; background:none; padding:28px 0; }
.bh-5457-parcours-editorial { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px 32px; margin-top:32px; }
.bh-5457-univers { min-width:0; }
.bh-5457-univers>img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-image,12px); }
.bh-5457-univers>div { padding:22px 0 0; }
.bh-5457-univers h3 { font-size:26px; line-height:1.2; margin:0 0 12px; }
.bh-5457-univers p { line-height:1.7; margin-block:0 12px; }
.bh-5457-univers ul { display:flex; flex-wrap:wrap; gap:8px 20px; list-style:none; padding:0; font-size:14px; color:var(--c-texte-2); }
.bh-5457-univers li::before { content:'· '; color:var(--c-primaire); }
.bh-5457-outils { margin-top:0; padding:32px; box-shadow:none; border:0; background:var(--c-doux); }
.bh-5457-outils h2,.bh-5457-preparer h2,.bh-5457-questions h2,.bh-5457-quiz-carte h2 { font-size:clamp(26px,2.5vw,34px); line-height:1.2; margin:0 0 18px; }
.bh-5457-outil { background:var(--c-fond); border:0; padding:24px; }
.bh-5457-preparer,.bh-5457-questions { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.bh-5457-preparer p,.bh-5457-questions p { line-height:1.8; }
.bh-5457-preparer ol,.bh-5457-reperes ol { list-style:none; padding:0; margin:0; }
.bh-5457-preparer li,.bh-5457-reperes ol>li { display:grid; grid-template-columns:44px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--c-bord); }
.bh-5457-preparer li>span,.bh-5457-reperes ol>li>span { color:var(--c-primaire); font-size:26px; }
.bh-5457-preparer li h3 { margin:0 0 6px; font-size:20px; }
.bh-5457-preparer li p,.bh-5457-reperes ol>li p { margin:0; }
.bh-5457-journal .bh-5457-ligne { grid-template-columns:120px 150px minmax(0,1fr); gap:24px; padding:28px 0; }
.bh-5457-journal .bh-5457-ligne-vignette img { width:150px; height:106px; object-fit:cover; }
.bh-5457-journal .bh-5457-ligne h3 { font-size:23px; }
.bh-5457-quiz-carte { margin-top:0; padding:32px; background:var(--c-doux); }
.bh-5457-questions details { border-top:1px solid var(--c-bord); padding:20px 0; }
.bh-5457-questions summary { cursor:pointer; font-weight:700; font-size:18px; line-height:1.5; }
.bh-5457-page:has(.bh-5457-rubrique-une) .bh-5457-page-tete { max-width:800px; margin-bottom:28px; }
.bh-5457-rubrique-une { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:40px; margin:28px 0 56px; }
.bh-5457-rubrique-une>img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--r-image,12px); }
.bh-5457-rubrique-une h2 { font-size:clamp(28px,3vw,38px); line-height:1.2; margin:0 0 20px; }
.bh-5457-rubrique-une p { line-height:1.7; }
.bh-5457-reperes { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:32px; background:var(--c-doux); border-radius:var(--r-image,12px); margin-bottom:56px; }
.bh-5457-reperes h2,.bh-5457-rubrique-suite h2 { font-size:28px; margin:0 0 16px; }
.bh-5457-rubrique-grille { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; margin-top:28px; }
.bh-5457-rubrique-grille img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--r-image,12px); }
.bh-5457-rubrique-grille h3 { font-size:25px; line-height:1.25; margin:12px 0; }
.bh-5457-rubrique-grille p { line-height:1.7; }
.bh-5457-rubrique-question { border-top:1px solid var(--c-bord); margin-top:56px; padding:32px 0 0; }
.bh-5457-rubrique-question .sw-btn { margin:8px 24px 8px 0; display:inline-flex; }
.bh-5457-page-article .ka-cote-colle,.bh-5457-page-article .ks-sidebar,.bh-5457-page-article .ka-cote-in:not(.ka-cote-longue) { top:calc(var(--bh-header-height) + 16px)!important; max-height:calc(100dvh - var(--bh-header-height) - 32px); overflow-y:auto; scrollbar-width:thin; }
.bh-5457-page-article :is(h2,h3,[id]) { scroll-margin-top:calc(var(--bh-header-height) + 24px); }
@media(max-width:900px) {
 .bh-5457-entete-nav { position:relative; min-height:76px; padding:12px 48px; }
 .bh-5457-burger { display:flex; position:absolute; right:0; top:16px; }
 .bh-5457-menu { display:none; }
 .bh-5457-bandeau-inner { min-height:36px; padding:8px 36px; font-size:12px; }
 .bh-5457-bandeau-inner>span { display:none; }
}
@media(max-width:767px) {
 .bh-5457-section { padding-block:32px; }
 .bh-5457-hero { padding-block:28px; }
 .bh-5457-hero-media { height:auto; }
 .bh-5457-hero-media img { aspect-ratio:4/3; height:auto; min-height:0; }
 .bh-5457-parcours-editorial,.bh-5457-preparer,.bh-5457-questions,.bh-5457-rubrique-une,.bh-5457-reperes,.bh-5457-rubrique-grille { grid-template-columns:minmax(0,1fr); gap:24px; }
 .bh-5457-parcours-editorial { gap:36px; }
 .bh-5457-vedette.card-surface,.bh-5457-outils,.bh-5457-quiz-carte,.bh-5457-reperes { padding:20px; }
 .bh-5457-journal .bh-5457-ligne { grid-template-columns:100px minmax(0,1fr); gap:12px 16px; }
 .bh-5457-journal .bh-5457-ligne-date { grid-column:1/-1; margin:0; }
 .bh-5457-journal .bh-5457-ligne-vignette img { width:100px; height:90px; }
 .bh-5457-journal .bh-5457-ligne h3 { font-size:20px; }
 .bh-5457-journal .bh-5457-ligne-corps>p:not(.bh-5457-meta) { display:none; }
 .bh-5457-rubrique-une,.bh-5457-reperes { margin-bottom:36px; }
 .bh-5457-rubrique-grille { gap:36px; }
}

/* Ajustements vérifiés après rendu réel : centrage et largeur des rubriques. */
#bh-carnet-navigation { margin-inline:0!important; justify-content:center!important; }
.bh-5457-bandeau { padding:0!important; }
.bh-5457-page-corps:has(.bh-5457-rubrique-une) { max-width:none; width:100%; }
/* QA colonne étroite : une grille de cartes a besoin de toute la largeur du
   conteneur, sinon chaque carte descend sous les 300 px de texte utile. */
.bh-5457-page-corps:has(.bh-5457-cartes) { max-width:none; width:100%; }
.bh-5457-reperes .bh-5457-sous-themes { padding-left:0; }
.bh-5457-reperes .bh-5457-sous-themes li { display:block; margin:0; padding:5px 10px; max-width:none; }

@media(max-width:767px) {
 .bh-5457-outils,.bh-5457-reperes { padding:16px; }
 .bh-5457-outil { padding:16px 0; }
 .bh-5457-preparer li,.bh-5457-reperes ol>li { display:block; }
 .bh-5457-preparer li>span,.bh-5457-reperes ol>li>span { display:block; margin-bottom:8px; }
}

/* Carnet composé : chaque forme change les rapports et la disposition des contenus. */
.bh-5457-intention {display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;border-block:2px solid var(--c-texte);padding-block:36px}
.bh-5457-intention h2 {font-size:clamp(34px,4vw,56px);line-height:1.05;letter-spacing:-.04em;margin:12px 0 22px;font-weight:750}
.bh-5457-intention h2 em {color:var(--c-primaire);font-style:normal}
.bh-5457-intention p {max-width:47ch;line-height:1.7}
.bh-5457-envies {display:grid;gap:0}
.bh-5457-envies>a {display:grid;grid-template-columns:28px 1fr 22px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--c-bord);color:var(--c-texte);text-decoration:none}
.bh-5457-envies>a>span {color:var(--c-primaire);font-size:13px}.bh-5457-envies strong {display:block;font-size:20px}.bh-5457-envies small {display:block;margin-top:4px;color:var(--c-texte-2)}
.bh-5457-checklist {display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;background:var(--c-doux);padding:40px;border-radius:var(--r-image);border-left:6px solid var(--c-primaire)}
.bh-5457-checklist h2,.bh-5457-plan-projet h2 {font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:-.02em;margin:12px 0 20px}
.bh-5457-checklist p,.bh-5457-plan-projet p {line-height:1.7}.bh-5457-checklist fieldset {min-width:0;border:0;padding:0;margin:0}.bh-5457-checklist legend {font-weight:700;margin-bottom:10px}
.bh-5457-checklist label {display:flex;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--c-bord);cursor:pointer;line-height:1.5}.bh-5457-checklist input {width:22px;height:22px;flex:none;accent-color:var(--c-primaire)}.bh-5457-checklist input:checked+span {text-decoration:line-through;color:var(--c-texte-2)}
.bh-5457-progress {display:flex;align-items:baseline;gap:12px;margin:22px 0 8px}.bh-5457-progress output {font-size:36px;font-weight:750;line-height:1}.bh-5457-progress span {font-size:13px}
.bh-5457-checklist progress {display:block;width:100%;height:7px;accent-color:var(--c-primaire)}.bh-5457-checklist button {min-height:44px;margin-top:10px;text-decoration:underline;font-size:13px;background:none;border:0;color:var(--c-texte-2);cursor:pointer}
.bh-5457-plan-projet {display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:56px}.bh-5457-plan-projet ol {padding-left:20px;line-height:1.7;margin:22px 0}.bh-5457-plan-projet li {margin-bottom:10px}
.bh-5457-croquis {margin:0;padding:28px;background:var(--c-doux);border-radius:var(--r-image)}.bh-5457-croquis figcaption {font-weight:700;margin-bottom:20px}.bh-5457-croquis figcaption span {display:block;font-size:12px;font-weight:400;color:var(--c-texte-2);margin-top:5px}
.bh-5457-zones {display:grid;grid-template-columns:1fr 2fr;grid-template-rows:185px 64px;gap:10px;border:2px solid var(--c-texte);padding:12px}.bh-5457-zones>div {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;text-align:center;font-weight:700}.bh-5457-zones span {font-size:12px;font-weight:400}.bh-5457-zone-rangement {border:1px dashed var(--c-texte-2)}.bh-5457-zone-vie {background:var(--c-fond);border-radius:50%;border:1px solid var(--c-bord)}.bh-5457-zone-vie small {font-weight:400;font-size:12px}.bh-5457-zone-passage {grid-column:1/-1;background:var(--c-primaire);color:white;flex-direction:row!important;gap:18px!important}.bh-5457-croquis>p {font-size:12px;margin-bottom:0}
.bh-5457-selection-entete {display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}.bh-5457-selection {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.bh-5457-selection article {position:relative;min-width:0}.bh-5457-selection img {width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-image);margin-bottom:20px}.bh-5457-selection h3 {font-size:24px;line-height:1.2;margin:8px 0 14px}.bh-5457-selection h3 a {color:var(--c-texte);text-decoration:none}.bh-5457-selection p:not(.bh-5457-kicker):not(.bh-5457-meta) {font-size:14px;line-height:1.6}.bh-5457-selection-numero {position:absolute;top:12px;left:12px;background:var(--c-fond);padding:8px 10px;font-size:12px;border-radius:50%}
.bh-5457-accueil [data-bloc="outils"] .bh-5457-outils {border-top:5px solid var(--c-primaire)}
@media(min-width:768px) {
  [data-bloc="intention"][data-form="banner"] .bh-5457-intention {display:block}.bh-5457-accueil [data-bloc="intention"][data-form="banner"] .bh-5457-intention>div:first-child {display:grid;grid-template-columns:1.2fr 1fr;gap:0 64px;align-items:center}.bh-5457-accueil [data-bloc="intention"][data-form="banner"] .bh-5457-kicker {grid-column:1/-1}[data-bloc="intention"][data-form="banner"] .bh-5457-envies {grid-template-columns:1fr 1fr;gap:0 40px}
  [data-bloc="checklist"][data-form="columns"] .bh-5457-checklist {grid-template-columns:1fr;gap:20px}[data-bloc="checklist"][data-form="columns"] .bh-5457-check-intro {display:grid;grid-template-columns:1fr 1fr;gap:0 40px}[data-bloc="checklist"][data-form="columns"] .bh-5457-check-intro>.bh-5457-kicker {grid-column:1/-1}[data-bloc="checklist"][data-form="columns"] fieldset {display:grid;grid-template-columns:1fr 1fr;column-gap:36px}[data-bloc="checklist"][data-form="columns"] legend {grid-column:1/-1}[data-bloc="checklist"][data-form="columns"] progress {align-self:center}
  [data-bloc="parcours"][data-form="alternating"] .bh-5457-parcours-editorial {display:block}[data-bloc="parcours"][data-form="alternating"] .bh-5457-univers {display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:30px}[data-bloc="parcours"][data-form="alternating"] .bh-5457-univers:nth-child(even)>img {order:2}[data-bloc="parcours"][data-form="alternating"] .bh-5457-univers>div {padding:0}
  [data-bloc="lectures-recentes"][data-form="grid"] .bh-5457-journal {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}[data-bloc="lectures-recentes"][data-form="grid"] .bh-5457-ligne {display:flex;flex-direction:column;gap:16px;align-items:stretch}[data-bloc="lectures-recentes"][data-form="grid"] .bh-5457-ligne-vignette {order:-1}[data-bloc="lectures-recentes"][data-form="grid"] .bh-5457-ligne img {width:100%;height:auto;aspect-ratio:4/3}[data-bloc="lectures-recentes"][data-form="grid"] .bh-5457-ligne-corps h3 {font-size:23px}
  [data-bloc="selection-carnet"][data-form="rail"] .bh-5457-selection {grid-template-columns:1.3fr 1fr}[data-bloc="selection-carnet"][data-form="rail"] .bh-5457-selection article:first-child {grid-row:span 2}[data-bloc="selection-carnet"][data-form="rail"] .bh-5457-selection article:not(:first-child) {display:grid;grid-template-columns:130px 1fr;gap:22px}[data-bloc="selection-carnet"][data-form="rail"] .bh-5457-selection article:not(:first-child) img {aspect-ratio:1/1}[data-bloc="selection-carnet"][data-form="rail"] .bh-5457-selection article:not(:first-child) h3 {font-size:20px}
  [data-bloc="plan-projet"][data-form="reverse"] .bh-5457-croquis {order:-1}[data-bloc="article-vedette"][data-form="reverse"] .bh-5457-vedette-media {order:2}
}
@media(max-width:767px) {
  .bh-5457-intention,.bh-5457-checklist,.bh-5457-plan-projet,.bh-5457-selection {grid-template-columns:1fr;gap:26px}.bh-5457-intention {padding-block:28px}.bh-5457-intention h2 {font-size:40px}.bh-5457-envies>a {padding:16px 0}.bh-5457-checklist {padding:24px}.bh-5457-checklist label {padding:15px 0}.bh-5457-croquis {padding:20px}.bh-5457-zones {grid-template-rows:155px 60px}.bh-5457-selection-entete {display:block}.bh-5457-selection-entete>a {margin-top:16px}.bh-5457-selection article {display:grid;grid-template-columns:100px 1fr;gap:18px;padding-block:16px;border-top:1px solid var(--c-bord)}.bh-5457-selection img {aspect-ratio:1/1}.bh-5457-selection h3 {font-size:21px}.bh-5457-selection-numero {display:none}.bh-5457-selection p:not(.bh-5457-kicker):not(.bh-5457-meta) {display:none}
}

/* ============ bandeau d’actus, portes de rubriques, étapes photo ============ */
/* Bandeau « actus » : les cinq derniers titres défilent (kit_vivant : data-defile > .kv-piste).
   Le bandeau vit dans le conteneur collant du header, il le suit au défilement. */
.bh-5457-bandeau-defile { flex:1 1 auto; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.bh-5457-bandeau-defile::-webkit-scrollbar { display:none; }
.bh-5457-bandeau-piste { display:flex; align-items:center; gap:2.5rem; margin:0; padding:0; list-style:none; white-space:nowrap; }
.bh-5457-bandeau-piste > * { margin-right:0; }
.bh-5457-bandeau-piste li { display:inline-flex; }
.bh-5457-bandeau-piste a { display:inline-flex; align-items:center; min-height:32px; color:var(--c-primaire); font-weight:700; font-size:.8125rem; text-decoration:none; white-space:nowrap; }
.bh-5457-bandeau-piste a:hover { text-decoration:underline; }
.bh-5457-bandeau-piste a:focus-visible { outline:2px solid var(--c-primaire); outline-offset:2px; }

/* Parcours : des portes de rubriques (icône, compte calculé, description), pas des cartes d’articles. */
.bh-5457-portes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:32px; }
.bh-5457-porte { min-width:0; }
.bh-5457-porte > a { display:grid; gap:10px; align-content:start; height:100%; padding:26px; text-decoration:none; color:inherit; }
.bh-5457-porte-icone { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:var(--c-doux-accent); color:var(--c-primaire); }
.bh-5457-porte-kicker { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--c-texte-3); font-weight:700; }
.bh-5457-porte-titre { font-size:1.375rem; font-weight:700; line-height:1.25; color:var(--c-texte); }
.bh-5457-porte > a:hover .bh-5457-porte-titre, .bh-5457-porte > a:focus-visible .bh-5457-porte-titre { color:var(--c-primaire); }
.bh-5457-porte-desc { color:var(--c-texte-2); line-height:1.7; font-size:.9375rem; }
.bh-5457-porte-suite { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:.9375rem; color:var(--c-primaire); }

/* Carnet pratique : la méthode en trois étapes, une photo réelle pour chacune (data-etapes). */
.bh-5457-etapes-media { margin:26px 0 0; }
.bh-5457-etapes-media img { display:block; width:100%; aspect-ratio:4/3; max-height:380px; object-fit:cover; border-radius:var(--r-image,12px); }
.bh-5457-lottie { margin-top:26px; max-width:100%; overflow:hidden; }
.bh-5457-lottie svg,.bh-5457-lottie canvas { display:block; width:100% !important; height:auto !important; max-width:100%; }
.bh-5457-preparer li > div { min-width:0; }
/* Le kit décale l’étape active de 4 px ([data-etape].kv-actif { transform: translateX(4px) }) :
   on réserve cette marge à droite pour que la liste ne déborde jamais de sa colonne. */
.bh-5457-preparer ol.bh-5457-etapes { padding-right:4px; }
@media(max-width:767px) {
  .bh-5457-portes { grid-template-columns:minmax(0,1fr); gap:16px; }
  .bh-5457-porte > a { padding:18px; }
  .bh-5457-etapes-media img { max-height:320px; }
}

/* Formes tirées au build : chacune change la disposition, pas seulement une couleur. */
@media(min-width:768px) {
  /* carnet-pratique « rail » : les étapes forment une bande, la photo disparaît. */
  [data-bloc="carnet-pratique"][data-form="rail"] .bh-5457-preparer { display:block; }
  [data-bloc="carnet-pratique"][data-form="rail"] .bh-5457-etapes-media { display:none; }
  [data-bloc="carnet-pratique"][data-form="rail"] .bh-5457-etapes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:28px; }
  [data-bloc="carnet-pratique"][data-form="rail"] .bh-5457-etapes > li { display:block; border-top:3px solid var(--c-primaire); padding-top:16px; }
  /* outils « empile » : une seule colonne, chaque outil séparé par un filet. */
  [data-bloc="outils"][data-form="empile"] .bh-5457-outils-grille { grid-template-columns:minmax(0,1fr); }
  [data-bloc="outils"][data-form="empile"] .bh-5457-outil { padding:22px 0 0; border-top:1px solid var(--c-bord); background:none; }
  /* faq « colonnes » : deux colonnes de réponses, la question ouverte se teinte. */
  [data-bloc="faq"][data-form="colonnes"] .bh-5457-questions > div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; align-content:start; }
  [data-bloc="faq"][data-form="colonnes"] .bh-5457-questions details[open] { background:var(--c-doux-accent); }
  /* parcours « alternating » : une rubrique par rangée, l’icône et le texte côte à côte. */
  [data-bloc="parcours"][data-form="alternating"] .bh-5457-portes { display:block; }
  [data-bloc="parcours"][data-form="alternating"] .bh-5457-porte { margin-top:18px; }
  [data-bloc="parcours"][data-form="alternating"] .bh-5457-porte > a { grid-template-columns:56px minmax(0,1fr); align-items:start; column-gap:20px; }
  [data-bloc="parcours"][data-form="alternating"] .bh-5457-porte > a > *:not(.bh-5457-porte-icone) { grid-column:2; }
}

/* Archives et rubriques : cartes à image au-dessus du titre, en grille. */
.bh-5457-cartes { display:grid; grid-template-columns:repeat(var(--bh-cartes-cols, 3),minmax(0,1fr)); gap:28px; margin-top:28px; }
.bh-5457-carte { display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.bh-5457-carte-media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.bh-5457-carte-corps { display:flex; flex-direction:column; gap:10px; padding:20px; }
.bh-5457-carte h3 { margin:0; font-size:1.25rem; line-height:1.25; }
.bh-5457-carte h3 a { color:var(--c-texte); text-decoration:none; }
.bh-5457-carte h3 a:hover { color:var(--c-primaire); }
.bh-5457-carte h3 a::after { content:""; position:absolute; inset:0; }
.bh-5457-carte { position:relative; }
.bh-5457-carte p { margin:0; }
.bh-5457-carte .bh-5457-meta { margin-top:auto; }
@media(max-width:900px) { .bh-5457-cartes { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .bh-5457-cartes { grid-template-columns:minmax(0,1fr); gap:20px; } }

/* Page interne : ouverture illustrée et appel final, dans le conteneur du site. */
.bh-5457-page-ouverture { margin:0 0 2rem; }
.bh-5457-page-ouverture img { display:block; width:100%; max-height:420px; aspect-ratio:16/7; object-fit:cover; border-radius:var(--r-image,12px); }
.bh-5457-page-suite { margin-top:2.5rem; padding:28px; background:var(--c-doux); border-radius:var(--r-image,12px); border-left:6px solid var(--c-primaire); }
.bh-5457-page-suite h2 { margin:0 0 10px; font-size:clamp(22px,2.4vw,30px); line-height:1.2; }
.bh-5457-page-suite p { margin:0 0 16px; line-height:1.7; }
.bh-5457-page-suite .sw-btn { margin-right:20px; }

/* QA colonne étroite à 390 px : bandeau de suite et encadré d'article gardent
   au moins 300 px de texte en réduisant leur rembourrage / en empilant. */
@media (max-width:640px) {
  .bh-5457-page-suite { padding: 18px; border-left-width: 4px; }
  /* L’encadré auteur du kit empile son portrait : la bio garde une colonne
     lisible à 390 px (le kit est chargé après home.css, d’où la spécificité). */
  .bh-5457-page-article .ka-auteur { grid-template-columns: minmax(0, 1fr); }
  .bh-5457-page-article .ka-auteur-img { width: 64px; height: 64px; }
}

/* Pied en bande : grande bande de marque, puis deux colonnes de liens, puis la ligne légale. */
.bh-5457-pied-bande { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; padding:2.5rem 0 2rem; border-bottom:1px solid var(--c-bord); }
.bh-5457-pied-bande .bh-5457-pied-marque { min-width:0; max-width:62ch; }
.bh-5457-pied-bande .bh-5457-pied-marque p { max-width:62ch; }
.bh-5457-pied-bande .bh-5457-pied-marque p + p { margin-top:.5rem; }
.bh-5457-pied-coordonnees { display:flex; flex-wrap:wrap; gap:4px 10px; font-size:.9375rem; }
.bh-5457-pied-coordonnees a { min-height:auto; }
.bh-5457-pied-bande .sw-btn { flex:0 0 auto; }
.bh-5457-pied-colonnes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 48px; padding:2rem 0; border-bottom:1px solid var(--c-bord); }
.bh-5457-pied-mentions { display:flex; flex-wrap:wrap; gap:4px 10px; margin:6px 0 0; }
.bh-5457-pied-mentions a { min-height:auto; }
@media(max-width:900px) {
  .bh-5457-pied-bande { gap:20px; }
  .bh-5457-pied-colonnes { grid-template-columns:minmax(0,1fr); gap:20px; }
}
@media(max-width:640px) {
  .bh-5457-pied-bande { padding:1.75rem 0 1.5rem; }
  .bh-5457-pied-marque img { height:36px; }
}

/* Bandeau d’actus : la piste reste unique (aucune ancre d’article dupliquée),
   elle dérive lentement et revient ; rien ne bouge si prefers-reduced-motion. */
.bh-5457-bandeau-piste { animation: bh-5457-defile 26s ease-in-out infinite alternate; will-change: transform; }
@keyframes bh-5457-defile {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--bh-bandeau-course, 34%))); }
}
@media (prefers-reduced-motion: reduce) {
  .bh-5457-bandeau-piste { animation: none; }
}

/* --------------------- frise des saisons, sujets, méthode, appel final ------ */
.bh-5457-frise { margin: 2rem 0 0; padding: 0 0 0 2.25rem; list-style: none; }
.bh-5457-frise li { padding: 18px 0; border-top: 1px solid var(--c-bord); }
.bh-5457-frise li:first-child { border-top: 0; }
.bh-5457-frise-mois { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-weight: 700; color: var(--c-texte); font-size: 1.125rem; }
.bh-5457-frise-num { display: inline-flex; align-items: center; justify-content: center; min-width: 2.25rem; height: 2.25rem; border-radius: 999px; background: var(--c-doux-accent); color: var(--c-primaire); font-size: .875rem; }
.bh-5457-frise-texte { margin: 0; color: var(--c-texte-2); line-height: 1.7; }

.bh-5457-b-sujets { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bh-5457-c-pastille { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--c-bord); border-radius: 999px; background: var(--c-doux); color: var(--c-texte); font-weight: 600; text-decoration: none; }
.bh-5457-c-pastille svg { flex: 0 0 auto; color: var(--c-primaire); }
.bh-5457-c-pastille:hover, .bh-5457-c-pastille:focus-visible { border-color: var(--c-primaire); color: var(--c-primaire); }

.bh-5457-methode { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.bh-5457-methode-media { margin: 0; }
.bh-5457-methode-media img { display: block; width: 100%; aspect-ratio: 4 / 3; max-height: 380px; object-fit: cover; border-radius: var(--r-image, 12px); }
.bh-5457-methode-liste { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.bh-5457-methode-liste li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--c-bord); }
.bh-5457-methode-liste li:first-child { border-top: 0; padding-top: 0; }
.bh-5457-methode-icone { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--c-doux-accent); color: var(--c-primaire); }
.bh-5457-methode-liste h3 { margin: 0 0 6px; font-size: 1.125rem; line-height: 1.3; }
.bh-5457-methode-liste p { margin: 0; color: var(--c-texte-2); line-height: 1.7; }

.bh-5457-lottie-rendu { display: flex; align-items: center; justify-content: center; min-height: 200px; color: var(--c-primaire); }
.bh-5457-lottie-repli { display: none; margin: 0; color: var(--c-texte-2); }
@media (prefers-reduced-motion: reduce) {
  .bh-5457-lottie-rendu { display: none; }
  .bh-5457-lottie-repli { display: block; }
}
.bh-5457-appel { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding: 2.5rem; background: var(--c-doux); border-radius: var(--r-image, 12px); }
.bh-5457-appel h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.2; }
.bh-5457-appel p { color: var(--c-texte-2); line-height: 1.7; }
.bh-5457-appel > div { max-width: 62ch; }
.bh-5457-appel-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; flex: 1 1 auto; min-width: 0; max-width: 100%; margin: 0; }
@media (max-width: 900px) {
  .bh-5457-methode { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .bh-5457-appel { padding: 1.75rem; }
}
@media (max-width: 767px) {
  .bh-5457-methode-liste li { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }
  .bh-5457-appel { padding: 1.25rem; }
  .bh-5457-appel-actions { gap: 12px; }
}

/* Archives : chronologie par mois de publication, une ligne par article. */
.bh-5457-archives-mois { margin-top: 2rem; }
.bh-5457-archives-mois h2 { margin: 0 0 12px; font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.2; text-transform: capitalize; }
.bh-5457-archives-liste { list-style: none; margin: 0; padding: 0; }
.bh-5457-archives-liste li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 12px 0; border-top: 1px solid var(--c-bord); }
.bh-5457-archives-date { color: var(--c-texte-3); font-size: .875rem; min-width: 7rem; }
.bh-5457-archives-liste a { font-weight: 600; color: var(--c-texte); text-decoration: none; }
.bh-5457-archives-liste a:hover, .bh-5457-archives-liste a:focus-visible { color: var(--c-primaire); }
.bh-5457-archives-min { color: var(--c-texte-3); font-size: .8125rem; margin-left: auto; }
@media (max-width: 640px) {
  .bh-5457-frise { padding-left: 0; }
}

/* --- Builder 2 : corrections ciblées (blocs non validés) --- */

/* Avant d'acheter (avant-de-commencer) : trois étapes, une photo pour chacune. */
[data-usine-bloc="avant-de-commencer"] .bh-5457-preparer { display: block; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-preparer-tete { max-width: 62ch; margin-bottom: 38px; }
[data-usine-bloc="avant-de-commencer"] ol.bh-5457-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-etapes > li,
[data-usine-bloc="avant-de-commencer"] .bh-5457-etapes > li.kv-actif { display: block; grid-template-columns: none; padding: 0; border-top: 0; transform: none; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-etapes > li > span { display: inline-block; color: var(--c-primaire); font-size: 15px; font-weight: 700; letter-spacing: .14em; margin: 0 0 6px; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-etapes h3 { margin: 0 0 6px; font-size: 20px; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-etape-photo { position: relative; margin: 0 0 16px; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-etape-photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-image, 12px); }
[data-usine-bloc="avant-de-commencer"] .bh-5457-lottie { position: absolute; right: 12px; bottom: 12px; width: 84px; margin: 0; padding: 6px; border-radius: 12px; background: rgba(255,255,255,.92); box-shadow: 0 6px 18px rgba(15,18,25,.14); }
[data-usine-bloc="avant-de-commencer"] .bh-5457-lottie-rendu { min-height: 0; }
[data-usine-bloc="avant-de-commencer"] .bh-5457-lottie svg { width: 100% !important; max-width: 100%; }
@media (max-width: 900px) {
  [data-usine-bloc="avant-de-commencer"] ol.bh-5457-etapes { grid-template-columns: minmax(0, 1fr); }
}

/* FAQ (questions-du-carnet) : chevron Lucide en trait avant le libellé. */
[data-usine-bloc="questions-du-carnet"] summary { list-style: none; display: flex; align-items: center; gap: 10px; }
[data-usine-bloc="questions-du-carnet"] summary::-webkit-details-marker { display: none; }
[data-usine-bloc="questions-du-carnet"] summary::marker { content: ""; }
[data-usine-bloc="questions-du-carnet"] summary .bh-5457-chevron { flex: 0 0 auto; color: var(--c-primaire); transition: transform .2s ease; }
[data-usine-bloc="questions-du-carnet"] details[open] summary .bh-5457-chevron { transform: rotate(90deg); }

/* Contact : le message de retour vide ne fait pas de trou, bouton d'envoi plein orange. */
.bh-5457-contact-form .bh-5457-retour:empty { display: none; }
.bh-5457-contact-form .sw-btn { background: var(--c-primaire); color: var(--c-sur-primaire, #fff); border-color: var(--c-primaire); border-radius: 10px; }
.bh-5457-contact-form .sw-btn:hover { background: var(--c-primaire-vif); border-color: var(--c-primaire-vif); color: #fff; }
.bh-5457-contact-form .sw-btn:focus-visible { outline: 2px solid var(--c-primaire-vif); outline-offset: 2px; }
