/* seo-reborn.com : blocs du carnet (préfixe bh-sr-), sur les jetons Litos + accent cramoisi unique */
:root { --sr-bord: hsl(220 20% 90% / .5); --sr-bord-plein: hsl(220 20% 90%); --sr-encre: hsl(225 15% 12%); --sr-encre-2: hsl(225 10% 40%); --sr-tag-bg: hsl(220 25% 96%); --sr-tag-bord: hsl(220 25% 90%); --sr-tag-texte: hsl(225 15% 35%); --sr-survol: hsl(220 25% 94%); --sr-accent: #cc1a39; --sr-accent-texte: #be1835; --sr-doux: #efdcdf; }
.bh-sr-ico { flex: none; width: 20px; height: 20px; }

/* ---- Header collant + bandeau ---- */
.bh-sr-header { position: sticky; top: 0; z-index: 40; width: 100%; background: hsl(0 0% 100% / .92); backdrop-filter: blur(8px); border-bottom: 1px solid var(--sr-bord); }
.bh-sr-header [data-bandeau] { position: relative; top: 0; left: 0; width: 100%; margin: 0; border-radius: 0; font-size: .875rem; font-weight: 500; padding: .5rem 3rem .5rem 1rem; background: var(--sr-accent); color: #fff; text-align: center; }
.bh-sr-header [data-bandeau] a { color: #fff; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.bh-sr-header [data-bandeau] [data-fermer] { position: absolute; right: .5rem; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border: 0; background: transparent; color: #fff; cursor: pointer; border-radius: .375rem; }
.bh-sr-header [data-bandeau] [data-fermer]:hover { background: hsl(0 0% 100% / .15); }
.bh-sr-barre { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .625rem 1.5rem; }
.bh-sr-gauche { display: flex; align-items: center; gap: 2rem; min-width: 0; }
.bh-sr-logo { display: inline-flex; align-items: center; flex: none; }
.bh-sr-logo img { height: 52px; width: auto; display: block; }
.bh-sr-menu { display: flex; align-items: center; gap: .25rem; }
.bh-sr-menu a { white-space: nowrap; }
.bh-sr-droite { display: flex; align-items: center; gap: .75rem; flex: none; }
.bh-sr-burger { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--sr-bord-plein); border-radius: .375rem; background: #fff; color: var(--sr-encre); cursor: pointer; }
@media (max-width: 1023px) {
  .bh-sr-burger { display: inline-flex; }
  .bh-sr-menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: #fff; border-bottom: 1px solid var(--sr-bord-plein); padding: .5rem 1.5rem 1rem; box-shadow: 0 12px 24px -16px hsl(225 15% 12% / .25); }
  .bh-sr-header.menu-ouvert .bh-sr-menu { display: flex; }
  .bh-sr-menu a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid var(--sr-bord); }
  .bh-sr-logo img { height: 38px; }
}
@media (max-width: 639px) { .bh-sr-barre { padding: .5rem 1rem .5rem 1rem; gap: 1rem; } .bh-sr-btn-dernier { display: none !important; } }
@media (min-width: 1024px) { .bh-sr-barre { padding: .625rem 2rem; } }

/* ---- Boutons du thème ---- */
.bh-sr-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .5rem 1.1rem; border-radius: .375rem; border: 1px solid var(--sr-bord-plein); background: #fff; color: var(--sr-encre); font-size: .9rem; font-weight: 500; text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; white-space: nowrap; }
.bh-sr-btn:hover { background: var(--sr-survol); }
.bh-sr-btn-plein { background: var(--sr-accent); border-color: var(--sr-accent); color: #fff; }
.bh-sr-btn-plein:hover { background: var(--sr-accent-texte); color: #fff; }

/* ---- Pastilles (Badge du thème) ---- */
.bh-sr-pastille { display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; border: 1px solid var(--sr-tag-bord); background: var(--sr-tag-bg); color: var(--sr-tag-texte); font-size: .75rem; font-weight: 600; padding: .2rem .7rem; line-height: 1.4; text-decoration: none; white-space: nowrap; }
a.bh-sr-pastille, button.bh-sr-pastille { min-height: 32px; transition: background-color .2s, color .2s; cursor: pointer; }
a.bh-sr-pastille:hover, button.bh-sr-pastille:hover { background: hsl(220 25% 88%); color: var(--sr-encre); }
.bh-sr-pastille.est-actif, button.bh-sr-pastille[aria-pressed="true"] { background: var(--sr-accent); border-color: var(--sr-accent); color: #fff; }

/* ---- Blocs ---- */
.bh-sr-bloc { position: relative; padding: 3rem 1.5rem; border-bottom: 1px solid var(--sr-bord); }
@media (min-width: 640px) { .bh-sr-bloc { padding: 3.5rem 2rem; } }
.bh-sr-bloc:last-child { border-bottom: 0; }
.bh-sr-bloc-teinte { background: hsl(220 25% 96% / .6); }
.bh-sr-hachure { height: .375rem; border-bottom: 1px solid var(--sr-bord); background: repeating-linear-gradient(-45deg, var(--sr-bord-plein), var(--sr-bord-plein) 1px, transparent 1px, transparent 6px); opacity: .5; }
.bh-sr-titre { margin-bottom: 2rem; }
.bh-sr-titre-ico { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .375rem; border: 1px solid var(--sr-bord-plein); color: var(--sr-accent-texte); background: #fff; }
.bh-sr-kicker { font-family: var(--font-mono, 'GeistMono', monospace); text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; color: var(--sr-encre-2); }
.bh-sr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; font-family: 'GeistMono', ui-monospace, monospace; font-size: .75rem; color: var(--sr-encre-2); margin-bottom: .5rem; }
.bh-sr-lien { color: var(--sr-accent-texte); font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: .35rem; }
.bh-sr-lien:hover { text-decoration: underline; text-underline-offset: 4px; }
.bh-sr-carte { border: 1px solid var(--sr-bord-plein); border-radius: .5rem; background: #fff; padding: 1.25rem; }
.bh-sr-grille { display: grid; gap: 1rem; }
@media (min-width: 640px) { .bh-sr-grille-2, .bh-sr-grille-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .bh-sr-grille-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .bh-sr-grille-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 899px) { .bh-sr-grille-3 > :last-child:nth-child(odd) { grid-column: 1 / -1; } }

/* ---- Hero media_droite ---- */
.bh-sr-hero { position: relative; display: grid; min-height: calc(100svh - var(--header-h, 7rem)); overflow: hidden; background: var(--c-voile, #180c0e); border-bottom: 1px solid var(--sr-bord); }
.bh-sr-hero-media { position: absolute; inset: 0; }
.bh-sr-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.bh-sr-hero-media::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--c-voile, #180c0e) 80%, transparent); }
.bh-sr-hero-texte { position: relative; z-index: 1; align-self: center; padding: 2.5rem 1.5rem; color: #fff; max-width: 42rem; }
.bh-sr-hero-texte .bh-sr-kicker { color: hsl(0 0% 100% / .85); }
.bh-sr-hero-titre { font-family: var(--font-serif, 'Lexend', sans-serif); font-weight: 500; letter-spacing: -.02em; line-height: 1.08; font-size: clamp(2.25rem, 1.6rem + 3vw, 3.75rem); margin: .75rem 0 1.25rem; }
.bh-sr-hero-chapo { font-size: 1.0625rem; line-height: 1.6; color: hsl(0 0% 100% / .9); max-width: 36rem; }
.bh-sr-hero-boutons { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 1.75rem; }
.bh-sr-hero-rubriques { display: flex; flex-wrap: wrap; gap: .5rem; }
@media (min-width: 640px) { .bh-sr-hero-texte { padding: 3rem 2rem; } }
@media (min-width: 1024px) {
  .bh-sr-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #fff; }
  .bh-sr-hero-media { position: relative; inset: auto; grid-column: 2; grid-row: 1; border-left: 1px solid var(--sr-bord-plein); }
  .bh-sr-hero-media::after { display: none; }
  .bh-sr-hero-texte { grid-column: 1; grid-row: 1; color: var(--sr-encre); max-width: none; padding: 3rem 3rem 3rem max(2rem, calc((100vw - 68.75rem) / 2 + 2rem)); }
  .bh-sr-hero-texte .bh-sr-kicker { color: var(--sr-encre-2); }
  .bh-sr-hero-chapo { color: var(--sr-encre-2); }
}

/* ---- Liste éditoriale ---- */
.bh-sr-liste { display: grid; gap: 1rem; }
.bh-sr-carte-liste { position: relative; display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 1rem; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; background: #fff; overflow: hidden; transition: background-color .2s; }
.bh-sr-carte-liste:hover { background: hsl(220 25% 96% / .7); }
.bh-sr-carte-liste-img { aspect-ratio: 16 / 10; overflow: hidden; border-radius: .375rem; border: 1px solid var(--sr-bord); background: var(--sr-tag-bg); }
.bh-sr-carte-liste-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bh-sr-carte-liste-corps { min-width: 0; transition: transform .3s ease; }
.bh-sr-carte-liste:hover .bh-sr-carte-liste-corps { transform: translateX(.75rem); }
.bh-sr-lien-carte { color: inherit; text-decoration: none; }
.bh-sr-lien-carte::after { content: ""; position: absolute; inset: 0; }
.bh-sr-lien-carte:hover { color: var(--sr-accent-texte); }
@media (min-width: 768px) { .bh-sr-carte-liste { grid-template-columns: 14rem minmax(0, 1fr); gap: 1.5rem; padding: 1.25rem; align-items: center; } }

/* ---- Cartes verticales (dossier) ---- */
.bh-sr-carte-v { position: relative; display: flex; flex-direction: column; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; overflow: hidden; background: #fff; }
.bh-sr-carte-v .bh-sr-carte-liste-img { border: 0; border-radius: 0; border-bottom: 1px solid var(--sr-bord); }
.bh-sr-carte-v-corps { padding: 1.1rem 1.25rem 1.35rem; transition: transform .3s; }
.bh-sr-carte-v:hover .bh-sr-carte-v-corps { transform: translateX(.5rem); }

/* ---- Auteurs ---- */
.bh-sr-auteur { display: flex; flex-direction: column; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; overflow: hidden; background: #fff; position: relative; }
.bh-sr-auteur-portrait { aspect-ratio: 4 / 5; max-height: 460px; overflow: hidden; border-bottom: 1px solid var(--sr-bord); background: var(--sr-tag-bg); }
.bh-sr-auteur-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.bh-sr-auteur-corps { padding: 1.25rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.bh-sr-auteur-bio { font-size: .95rem; line-height: 1.6; color: var(--sr-encre-2); }

/* ---- Quiz ---- */
.bh-sr-quiz { border: 1px solid var(--sr-bord-plein); border-radius: .5rem; background: var(--sr-tag-bg); padding: 1.5rem; }
.bh-sr-quiz [data-question-texte] { font-family: var(--font-serif, 'Lexend', sans-serif); font-size: 1.35rem; letter-spacing: -.01em; line-height: 1.35; }
.bh-sr-quiz [data-explication] { margin-top: .75rem; color: var(--sr-encre-2); line-height: 1.6; }
.bh-sr-quiz [data-quiz-score] { font-family: 'GeistMono', monospace; font-size: .85rem; color: var(--sr-encre-2); }
.bh-sr-quiz .kv-bouton { border-radius: .375rem; border-width: 1px; min-height: 44px; }
@media (min-width: 640px) { .bh-sr-quiz { padding: 2rem; } }

/* ---- Rubriques ---- */
.bh-sr-rubrique { position: relative; display: flex; flex-direction: column; gap: .6rem; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; padding: 1.25rem; background: #fff; text-decoration: none; color: inherit; transition: background-color .2s; }
.bh-sr-rubrique:hover { background: var(--sr-survol); }
.bh-sr-rubrique-nb { font-family: 'GeistMono', monospace; font-size: 1.75rem; color: var(--sr-encre); line-height: 1; }
.bh-sr-defile { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); margin-bottom: 1.5rem; }
.bh-sr-defile-piste { display: flex; gap: .6rem; width: max-content; animation: bh-sr-defile 40s linear infinite; }
.bh-sr-defile:hover .bh-sr-defile-piste { animation-play-state: paused; }
@keyframes bh-sr-defile { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .bh-sr-defile-piste { animation: none; flex-wrap: wrap; width: auto; } .bh-sr-carte-liste-corps, .bh-sr-carte-v-corps { transition: none; } }

/* ---- Étapes photo ---- */
.bh-sr-etapes { display: grid; gap: 2rem; align-items: start; }
.bh-sr-etapes [data-etapes-visuel] { width: 100%; aspect-ratio: 4 / 3; max-height: 420px; object-fit: cover; border-radius: .5rem; border: 1px solid var(--sr-bord-plein); }
.bh-sr-etapes ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.bh-sr-etapes li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .75rem; padding: .9rem 1rem; border: 1px solid var(--sr-bord); border-radius: .5rem; cursor: pointer; transition: background-color .2s, border-color .2s; }
.bh-sr-etapes li:hover, .bh-sr-etapes li.kv-actif, .bh-sr-etapes li[aria-current="true"] { background: #fff; border-color: var(--sr-accent); }
.bh-sr-num { font-family: 'GeistMono', monospace; font-size: .9rem; color: var(--sr-accent-texte); padding-top: .15rem; }
@media (min-width: 1024px) { .bh-sr-etapes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; } .bh-sr-etapes [data-etapes-visuel] { position: sticky; top: calc(var(--header-h, 7rem) + 1.5rem); } }

/* ---- Calculateur ---- */
.bh-sr-calcul { display: grid; gap: 1.5rem; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; padding: 1.5rem; background: #fff; }
.bh-sr-calcul label { display: grid; gap: .4rem; font-size: .9rem; font-weight: 500; }
.bh-sr-calcul input { font-family: 'GeistMono', monospace; border-radius: .375rem !important; border: 1px solid var(--sr-bord-plein) !important; min-height: 44px; }
.bh-sr-calcul input:focus { outline: 2px solid var(--sr-doux); border-color: var(--sr-accent) !important; }
.bh-sr-sorties { display: grid; gap: 1rem; }
.bh-sr-sortie { border: 1px solid var(--sr-bord); border-radius: .5rem; padding: 1rem 1.25rem; background: var(--sr-tag-bg); }
.bh-sr-sortie output { display: block; font-family: 'GeistMono', monospace !important; font-size: 2rem !important; color: var(--sr-accent-texte) !important; line-height: 1.15; }
.bh-sr-sortie p { font-size: .875rem; color: var(--sr-encre-2); margin-top: .25rem; }
.bh-sr-exemple { font-family: 'GeistMono', monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--sr-accent-texte); background: var(--sr-doux); border-radius: 999px; padding: .1rem .5rem; margin-left: .35rem; }
@media (min-width: 900px) { .bh-sr-calcul { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 2rem; } .bh-sr-sorties { align-content: start; } }

/* ---- Frise ---- */
.bh-sr-frise { list-style: none; margin: 0; padding-left: 0; display: grid; gap: 1rem; }
.bh-sr-frise li { border: 1px solid var(--sr-bord); border-radius: .5rem; background: #fff; padding: 1rem 1.25rem; }
.bh-sr-annee { font-family: 'GeistMono', monospace; font-size: 1.75rem; color: var(--sr-accent-texte); line-height: 1; }

/* ---- Manifeste ---- */
.bh-sr-manifeste { display: grid; gap: 2rem; align-items: center; }
.bh-sr-manifeste p { line-height: 1.75; color: var(--sr-encre-2); }
.bh-sr-manifeste p + p { margin-top: 1rem; }
.bh-sr-citation { border-left: 3px solid var(--sr-accent); padding: .25rem 0 .25rem 1.25rem; font-family: var(--font-serif, 'Lexend', sans-serif); font-size: 1.35rem; line-height: 1.4; color: var(--sr-encre) !important; letter-spacing: -.01em; }
.bh-sr-lottie { width: 100%; max-width: 360px; aspect-ratio: 1; margin-inline: auto; border: 1px solid var(--sr-bord); border-radius: .5rem; background: var(--sr-tag-bg); }
@media (min-width: 900px) { .bh-sr-manifeste { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 3rem; } }

/* ---- Checklist ---- */
.bh-sr-checklist { border: 1px solid var(--sr-bord-plein); border-radius: .5rem; background: #fff; padding: 1.5rem; }
.bh-sr-jauge { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; font-family: 'GeistMono', monospace; font-size: .95rem; }
.bh-sr-jauge-barre { flex: 1; height: .5rem; border-radius: 999px; background: var(--sr-tag-bg); border: 1px solid var(--sr-bord-plein); overflow: hidden; }
.bh-sr-jauge-barre span { display: block; height: 100%; width: 0; background: var(--sr-accent); transition: width .3s; }
.bh-sr-checklist ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.bh-sr-checklist label { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: .75rem; padding: .9rem 1rem; border: 1px solid var(--sr-bord); border-radius: .5rem; cursor: pointer; min-height: 44px; }
.bh-sr-checklist input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; accent-color: var(--sr-accent); }
.bh-sr-checklist label:has(input:checked) { background: var(--sr-doux); border-color: var(--sr-accent); }
.bh-sr-checklist label:has(input:checked) strong { text-decoration: line-through; text-decoration-color: var(--sr-accent); }
@media (min-width: 768px) { .bh-sr-checklist ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bh-sr-checklist { padding: 2rem; } }

/* ---- Erreurs, publics, établi ---- */
.bh-sr-erreur { display: grid; gap: .75rem; }
.bh-sr-erreur-l { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .6rem; align-items: start; font-size: .95rem; line-height: 1.55; }
.bh-sr-erreur-l.non { color: var(--sr-encre); }
.bh-sr-erreur-l.non .bh-sr-ico { color: var(--sr-accent-texte); margin-top: .15rem; }
.bh-sr-erreur-l.oui { color: var(--sr-encre-2); }
.bh-sr-erreur-l.oui .bh-sr-ico { color: hsl(225 15% 25%); margin-top: .15rem; }
.bh-sr-ico-rond { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: .5rem; background: var(--sr-tag-bg); border: 1px solid var(--sr-tag-bord); color: var(--sr-accent-texte); margin-bottom: .75rem; }

/* ---- Lexique ---- */
.bh-sr-terme dt { font-family: var(--font-serif, 'Lexend', sans-serif); font-weight: 500; font-size: 1.05rem; display: flex; align-items: center; gap: .5rem; }
.bh-sr-terme dd { margin: .4rem 0 0; font-size: .9rem; line-height: 1.6; color: var(--sr-encre-2); }

/* ---- FAQ ---- */
.bh-sr-faq details { border: 1px solid var(--sr-bord-plein); border-radius: .5rem; background: #fff; }
.bh-sr-faq details + details { margin-top: .75rem; }
.bh-sr-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.25rem; font-weight: 500; min-height: 44px; }
.bh-sr-faq summary::-webkit-details-marker { display: none; }
.bh-sr-faq summary .bh-sr-ico { transition: transform .2s; color: var(--sr-encre-2); }
.bh-sr-faq details[open] summary .bh-sr-ico { transform: rotate(90deg); color: var(--sr-accent-texte); }
.bh-sr-faq details p { padding: 0 1.25rem 1.25rem; color: var(--sr-encre-2); line-height: 1.7; }

/* ---- Appel final ---- */
.bh-sr-appel { display: grid; gap: 1.5rem; align-items: center; border: 1px solid var(--sr-bord-plein); border-radius: .5rem; padding: 2rem 1.5rem; background: linear-gradient(135deg, #fff, var(--sr-tag-bg)); }
@media (min-width: 900px) { .bh-sr-appel { grid-template-columns: minmax(0, 1fr) auto; padding: 2.5rem; } }

/* ---- Pages internes ---- */
.bh-sr-page { width: 100%; }
.bh-sr-page-entete { display: grid; gap: 2rem; align-items: center; padding: 2.5rem 1.5rem; border-bottom: 1px solid var(--sr-bord); }
.bh-sr-page-entete h1 { font-family: var(--font-serif, 'Lexend', sans-serif); font-weight: 500; letter-spacing: -.02em; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); line-height: 1.1; margin-top: .5rem; }
.bh-sr-page-entete .bh-sr-intro { margin-top: 1rem; color: var(--sr-encre-2); font-size: 1.0625rem; line-height: 1.65; max-width: 60ch; }
.bh-sr-page-entete-img { aspect-ratio: 16 / 10; max-height: 360px; width: 100%; overflow: hidden; border-radius: .5rem; border: 1px solid var(--sr-bord-plein); }
.bh-sr-page-entete-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 640px) { .bh-sr-page-entete { padding: 3rem 2rem; } }
@media (min-width: 900px) { .bh-sr-page-entete.avec-image { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3rem; } }
.bh-sr-texte p { line-height: 1.75; color: var(--sr-encre-2); max-width: 70ch; }
.bh-sr-texte p + p, .bh-sr-texte p + h2, .bh-sr-texte ul + h2 { margin-top: 1rem; }
.bh-sr-texte h2 { font-family: var(--font-serif, 'Lexend', sans-serif); font-weight: 500; font-size: 1.5rem; letter-spacing: -.01em; margin: 2rem 0 .75rem; }
.bh-sr-texte ul { list-style: disc; padding-left: 1.25rem; color: var(--sr-encre-2); line-height: 1.7; max-width: 70ch; }
.bh-sr-form { display: grid; gap: 1rem; }
.bh-sr-form label { display: grid; gap: .4rem; font-size: .9rem; font-weight: 500; }
.bh-sr-form input, .bh-sr-form textarea, .bh-sr-form select { font: inherit; border: 1px solid var(--sr-bord-plein); border-radius: .375rem; padding: .65rem .8rem; background: #fff; min-height: 44px; }
.bh-sr-form input:focus, .bh-sr-form textarea:focus { outline: 2px solid var(--sr-doux); border-color: var(--sr-accent); }
.bh-sr-pot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bh-sr-retour { border-radius: .5rem; padding: .9rem 1.1rem; border: 1px solid var(--sr-accent); background: var(--sr-doux); color: var(--sr-encre); }
.bh-sr-ariane { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .85rem; color: var(--sr-encre-2); }
.bh-sr-ariane a { color: inherit; text-decoration: none; }
.bh-sr-ariane a:hover { color: var(--sr-accent-texte); }

/* ---- Largeur de lecture : aucune colonne de texte sous 300 px (page_cassee) ---- */
.bh-sr-header [data-bandeau] { display: block; }
@media (max-width: 639px) { .bh-sr-header [data-bandeau] { padding: .5rem 2.75rem .5rem .75rem; } }
/* Cibles tactiles du header ≥ 44 px */
.bh-sr-header [data-bandeau] a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -14px; vertical-align: middle; }
.bh-sr-header [data-bandeau] [data-fermer] { width: 44px; height: 44px; min-height: 44px; right: .25rem; }
.bh-sr-header .bh-sr-logo { min-height: 44px; }
.bh-sr-header #search-switch { min-width: 44px; min-height: 44px; width: 44px; height: 44px; justify-content: center; }
.bh-sr-header .bh-sr-menu a { min-height: 44px; display: inline-flex; align-items: center; }
.markdown table { display: block; max-width: 100%; overflow-x: auto; }
.markdown table th, .markdown table td { min-width: 19.5rem !important; }
.bh-sr-lottie { position: relative; display: grid; place-items: center; color: var(--sr-accent-texte); }
.bh-sr-lottie-rendu, .bh-sr-lottie-repli { grid-area: 1 / 1; width: 100%; height: 100%; display: grid; place-items: center; }
.bh-sr-lottie-rendu[hidden], .bh-sr-lottie-repli[hidden] { display: none; }
.bh-sr-lottie-repli .bh-sr-ico { width: 120px; height: 120px; }
.bh-sr-texte p, .bh-sr-texte ul, .bh-sr-page-entete .bh-sr-intro { max-width: min(60ch, 34em); }
@media (min-width: 640px) { .bh-sr-bloc { padding: 3.5rem 1.5rem; } .bh-sr-page-entete { padding: 3rem 1.5rem; } }
@media (min-width: 640px) { .bh-sr-grille-4 { grid-template-columns: 1fr; } }
@media (min-width: 900px) { .bh-sr-grille-2, .bh-sr-grille-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 899px) { .bh-sr-grille-2 { grid-template-columns: 1fr; } }
.bh-sr-auteur-corps, .bh-sr-rubrique, .bh-sr-carte { padding: 1rem; }
.bh-sr-etapes li > span:last-child, .bh-sr-checklist label > span { display: contents; }
.bh-sr-etapes li > span:last-child > span, .bh-sr-checklist label > span > span { grid-column: 1 / -1; }
@media (max-width: 639px) {
  .bh-sr-bloc { padding: 2.5rem 1rem; }
  .bh-sr-page-entete { padding: 2rem 1rem; }
  .bh-sr-erreur-l { grid-template-columns: 1fr; gap: .35rem; }
  .bh-sr-checklist { border: 0; background: transparent; padding: 0; }
  .bh-sr-checklist label { padding: .875rem; }
  .bh-sr-calcul, .bh-sr-quiz { padding: 1rem; }
  .bh-sr-sortie { padding: 1rem; }
  .bh-sr-appel { padding: 1.5rem 1rem; }
}

/* Manifeste : la Lottie occupe toute la colonne, ratio 4/3 */
[data-usine-bloc="manifeste"] .bh-sr-lottie { max-width: none; width: 100%; aspect-ratio: 4 / 3; max-height: 420px; margin: 0; overflow: hidden; }
@media (min-width: 900px) { [data-usine-bloc="manifeste"] .bh-sr-lottie { max-height: none; } }
[data-usine-bloc="manifeste"] .bh-sr-lottie-rendu svg { width: 100% !important; height: 100% !important; }
@media (min-width: 900px) { [data-usine-bloc="manifeste"] .bh-sr-manifeste { align-items: stretch; } [data-usine-bloc="manifeste"] .bh-sr-lottie { align-self: stretch; aspect-ratio: auto; height: 100%; min-height: 300px; } }
/* Signatures : la pastille de spécialité revient à la ligne dans la carte */
[data-usine-bloc="signatures"] .bh-sr-pastille { white-space: normal; max-width: 100%; text-align: left; height: auto; }
/* Étapes : la photo prend la hauteur de la liste */
@media (min-width: 1024px) {
  [data-usine-bloc="etapes-repartir"] .bh-sr-etapes { align-items: stretch; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 2rem; }
  [data-usine-bloc="etapes-repartir"] .bh-sr-etapes [data-etapes-visuel] { position: static; height: 100%; max-height: 480px; aspect-ratio: auto; align-self: stretch; }
  [data-usine-bloc="etapes-repartir"] .bh-sr-etapes ol { gap: .3rem; align-content: stretch; }
  [data-usine-bloc="etapes-repartir"] .bh-sr-etapes li { padding: .5rem .85rem; align-content: center; }
  [data-usine-bloc="etapes-repartir"] .bh-sr-etapes li .leading-relaxed { line-height: 1.45; }
}

/* Mentions légales : texte en colonne lisible + sommaire collant à droite */
.bh-sr-legal { display: grid; gap: 2rem; align-items: start; }
.bh-sr-legal .bh-sr-texte p, .bh-sr-legal .bh-sr-texte ul { max-width: 70ch; }
.bh-sr-legal .bh-sr-texte h2 { scroll-margin-top: calc(var(--header-h, 7rem) + 1rem); }
.bh-sr-legal .bh-sr-texte h2:first-child { margin-top: 0; }
.bh-sr-legal-sommaire ol { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .25rem; }
.bh-sr-legal-sommaire a { display: block; padding: .35rem 0; color: var(--sr-encre-2); text-decoration: none; font-size: .95rem; }
.bh-sr-legal-sommaire a:hover { color: var(--sr-accent-texte); }
@media (min-width: 1024px) {
  .bh-sr-legal { grid-template-columns: minmax(0, 1fr) 16rem; gap: 3rem; }
  .bh-sr-legal-sommaire { order: 2; position: sticky; top: calc(var(--header-h, 7rem) + 1.5rem); }
}
/* À propos : mot de la rédaction + repères calculés, signatures avec portrait */
.bh-sr-mot { display: grid; gap: 2rem; align-items: start; }
.bh-sr-reperes { display: grid; gap: 1rem; }
.bh-sr-reperes dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.bh-sr-reperes dt { font-size: .8rem; color: var(--sr-encre-2); }
.bh-sr-reperes dd { margin: .2rem 0 0; font-family: var(--font-serif, 'Lexend', sans-serif); font-size: 1.6rem; font-weight: 500; color: var(--sr-encre); }
.bh-sr-reperes dd.bh-sr-reperes-date { font-size: 1.05rem; }
.bh-sr-page .bh-sr-auteur .bh-sr-pastille { white-space: normal; max-width: 100%; text-align: left; height: auto; }
@media (min-width: 900px) { .bh-sr-mot { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 3rem; } }
/* Article : couverture sans hauteur réservée, puce de liste retirée dans « Articles récents » */
.bh-sr-couverture { aspect-ratio: auto; height: auto; }
.ka-cote .ks-recent ul { list-style: none; padding-left: 0; }
.ka-cote .ks-recent li { padding-left: 0; }
.ka-cote .ks-recent li::before, .ka-cote .ks-recent li::marker { content: none; display: none; }
/* Manifeste : courbe qui se redresse (Lottie aux couleurs du site), image fixe de repli */
[data-usine-bloc="manifeste"] .bh-sr-lottie { background: hsl(216 30% 97%); }
[data-usine-bloc="manifeste"] .bh-sr-lottie-repli img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
[data-usine-bloc="manifeste"] .bh-sr-lottie-rendu svg { display: block; }
