/* Black Bond, lots D4 + D7.1c : corps de modèle du Theme Builder (article, catégorie, étiquette, recherche, 404, page légale,
   fiche e-book). Complète bb-global.css (L1) et bb-composants.css (L4) avec ce que les attributs Divi ne portent pas :
   valeurs mesurées sur la maquette v12 (Playwright, 1440 / 768 / 390 px). Chaque section générée par
   scripts/generer_l2_d4.py porte la classe bb-m : toutes les règles sont préfixées « .bb-m ». Seuils : 1180, 980, 640.
   D7.1c : modules Divi Essential (Post Grid .dnxte-post-grid-*, Table des matières .dnxte-toc-*, Breadcrumb
   .dnxte-breadcrumb__*, Reading Progress Bar .dnxte-progress-*), sélecteurs lus dans blackbond-schemas-vb.json ;
   largeurs de colonnes explicites (Divi 5 ne pose aucune largeur sur et_flex_column_N_24, recette D5 cause 1). */

/* === D4 00 Rangées et colonnes : largeurs explicites, écarts (Divi 5 flex : aucun chemin columnGap relevé) === */
/* retiré D8 (règle générique) */
/* retiré D8 (règle générique) */
.bb-m.et_pb_section.et_flex_section, .bb-m .et_pb_column.et_flex_column { row-gap: 0 !important; }   /* D5 cause 2 : gap 60 / 30 cumulés */
.bb-m .bb-m-gap-72 { column-gap: 72px; }
.bb-m .bb-m-gap-58 { column-gap: 57.6px; }
.bb-m .bb-m-gap-56 { column-gap: 56px; }
.bb-m .bb-m-gap-32 { column-gap: 32px; }
.bb-m .bb-m-vide { padding: 0; }
.bb-m .et_pb_column { min-width: 0; }
@media (max-width: 1180px) {
/* retiré D8 (règle générique) */
/* retiré D8 (règle générique) */
  .bb-m [class*="bb-m-gap-"] { column-gap: 0; row-gap: 38.4px; }
  .bb-m .bb-m-vide { display: none; }
  /* colonnes gardées côte à côte sur tablette (tête des outils du pilier, fiche e-book) */
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class]:is(.bb-m-outils-gauche, .bb-m-outils-droite) { flex: 0 0 calc(50% - 16px); width: auto; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-prod-cover { flex: 0 0 340px; width: auto; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-prod-info { flex: 1 1 0%; width: auto; }
}
@media (max-width: 640px) {
  .bb-m [class*="bb-m-gap-"] { row-gap: 28px; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class]:is(.bb-m-outils-gauche, .bb-m-outils-droite, .bb-m-prod-cover, .bb-m-prod-info) { flex: 0 0 100%; width: 100%; }
}

/* largeurs exactes de la maquette au-dessus de 1180 (629 + 57,6 + 449 ; 230 + 72 + 700 ; 780 + 56 + 300 ; 679 + 32 + 425 ; 340 + 72 + 688) */
/* D8 : « [class] » ajouté aux sélecteurs : bb-corrections-d8.css 0.1 / 0.2 (« …et_flex_column:not(.bb-pillar) { flex: 0 1 auto } », chargée en dernier,
   même spécificité) rendait ces largeurs inopérantes (sommaire légal mesuré 187 px au lieu de 230) ; un cran de spécificité au-dessus, et !important : la variante « .bb-m #et-main-area … » du même bloc 0.1 porte un id
   (0,1,6,0) qu'aucune classe ne rattrape ; à retirer de bb-corrections-d8.css (hors de ce lot). */
@media (min-width: 1181px) {
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-sommaire { flex: 0 0 230px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class]:is(.bb-m-corps, .bb-m-legal-corps) { flex: 0 0 700px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-cat-main { flex: 0 0 780px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-cat-cote { flex: 0 0 300px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-memes { flex: 0 0 679px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-cote { flex: 0 0 425px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-prevenu { flex: 0 0 602px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-prod-cover { flex: 0 0 340px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-prod-info { flex: 0 0 688px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-tete { flex: 0 0 629px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-tete-visuel { flex: 0 0 449px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-hero-texte { flex: 0 0 720px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class].bb-m-hero-visuel { flex: 0 0 358px !important; }
  .bb-m .et_pb_row.et_flex_row > .et_pb_column.et_flex_column[class]:is(.bb-m-outils-gauche, .bb-m-outils-droite) { flex: 1 1 0%; }
}

/* boutons : lien .bb-btn dans un module Texte, 48 px, centré, jamais étiré ni décalé par la marge du paragraphe */
.bb-m .et_pb_text .bb-btn, .bb-m .et_pb_text .bb-btn--primaire, .bb-m .bb-m-cartes .dnxte-post-grid-pagination-load-more {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border-radius: 10px;
  font: 600 15px/1 var(--bb-fd); letter-spacing: .01em; text-decoration: none; white-space: nowrap; vertical-align: middle; }
.bb-m .et_pb_text .bb-btn--large { width: 100%; }
.bb-m .et_pb_text p:has(> .bb-btn) { margin: 0; }
.bb-m .bb-m-prevenu .et_pb_text_inner { text-align: left; }

/* === D4 01 Fonds par pilier (le fond d'une section Divi est une couleur fixe ; la teinte du pilier vient de body.bb-pilier-*) === */
body[class*="bb-pilier-"] .bb-m.bb-m-fond-teinte { background-color: var(--bb-pt) !important; }
.bb-m.bb-m-cat-hero { min-height: 620px; }
@media (max-width: 980px) { .bb-m.bb-m-cat-hero { min-height: 420px; } }
@media (max-width: 640px) { .bb-m.bb-m-cat-hero { min-height: 0; } }

/* === D4 02 Article : en-tête === */
/* fil d'Ariane Divi Essential : Poppins 500 13,5 px, séparateur « / », Atténué (article) ; Bone sur le dégradé de catégorie */
.bb-m .bb-ariane { margin: 0 0 22px; }
.bb-m .bb-ariane :is(.dnxte-breadcrumb__link, .dnxte-breadcrumb__separator, .dnxte-breadcrumb_current_item, a, span) { font: 500 13.5px/1.4 var(--bb-fd); color: var(--bb-attenue); text-decoration: none; }
.bb-m .bb-ariane .dnxte-breadcrumb__link:hover { color: var(--bb-encre); }
.bb-m .bb-ariane .dnxte-breadcrumb__separator { margin: 0 8px; }
.bb-m.bb-m-cat-hero .bb-ariane :is(.dnxte-breadcrumb__link, .dnxte-breadcrumb__separator, .dnxte-breadcrumb_current_item, a, span) { color: var(--bb-pi, var(--bb-bone)); opacity: .85; }
.bb-m .bb-m-pilier a { color: var(--bb-pc); text-decoration: none; }
.bb-m .bb-h1-article h1 { letter-spacing: -.035em; max-width: none; text-wrap: balance; }
/* D10 : H1 53,3 / 35,1 / 26 px par attribut (maquette .art5-t.t11 à 1440) ; titres longs (> 56 / > 70 caractères, classes posées par
   bb-ponts.js § 7 comme t11-l / t11-xl) 46,64 / 42 px, 30,85 / 27,3 ≤ 980, 24 / 22 ≤ 700 : « Le consentement… » tient sur 2 lignes */
.bb-m .bb-h1-article.bb-m-h1-l h1 { font-size: 46.64px !important; }
.bb-m .bb-h1-article.bb-m-h1-xl h1 { font-size: 42px !important; }
@media (max-width: 980px) { .bb-m .bb-h1-article.bb-m-h1-l h1 { font-size: 30.85px !important; } .bb-m .bb-h1-article.bb-m-h1-xl h1 { font-size: 27.3px !important; } }
@media (max-width: 700px) { .bb-m .bb-h1-article.bb-m-h1-l h1 { font-size: 24px !important; } .bb-m .bb-h1-article.bb-m-h1-xl h1 { font-size: 22px !important; } }
.bb-m .bb-m-auteur p { display: flex; flex-wrap: wrap; gap: 6px 18px; }
/* D8 : ligne méta (.art-meta de la maquette : flex, gap 4 / 22, Poppins 500 14 Atténué) : date + temps de lecture ; badge [bb_relecture] en dessous */
.bb-m .bb-m-meta .bb-m-meta-ligne { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; margin: 0; }
.bb-m .bb-m-meta .bb-m-meta-ligne > :empty { display: none; }
.bb-m .bb-m-relecture { margin-top: 4px; }
/* D10 : encadré « Article en relecture » (maquette p.rel9-note) : fond, rayon, padding par attribut ; filet gauche Sable 3 px et
   affichage conditionnel ici (seulement quand [bb_relecture] rend l'état « pas encore relu ») */
.bb-m .bb-m-relecture-note { display: none; border-left: 3px solid var(--bb-sable); }
.bb-m .bb-m-relecture-note p { margin: 0; }
.bb-m .bb-m-tete:has(.bb-relecture--attente) .bb-m-relecture-note { display: block; }
.bb-m .bb-m-relecture .bb-relecture { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px;
  border: 1px dashed var(--bb-sable); background: transparent; font: 500 12.5px/1.2 var(--bb-fb); color: var(--bb-attenue); }
.bb-m .bb-m-visuel img { width: 100%; border-radius: 6px 6px 16px 16px; box-shadow: 0 30px 60px -30px rgba(36,30,26,.45); }
.bb-m .bb-m-barre .et_pb_module, .bb-m .bb-m-barre { margin: 0; padding: 0; }
.bb-m .et_pb_row:has(> .et_pb_column > .bb-fil-lecture) { padding: 0 !important; margin: 0 !important; max-width: none; }
.bb-m .bb-fil-lecture { position: sticky; top: var(--bb-hh); z-index: 50; height: 3px; margin: 0 !important; background: transparent !important; font-size: 0; line-height: 0; }
.bb-m .bb-fil-lecture :is(.dnxte-progress-bar-wrapper, .dnxte-layout1-wrapper) { margin: 0 !important; padding: 0 !important; }
.bb-m .bb-fil-lecture :is(.dnxte-progress-bar-container, .dnxte-progress-bar-fill, .dnxte-layout1-wrapper, [class*="progress-bar"]) { height: 3px !important; border-radius: 0; overflow: hidden; }
.bb-m .bb-fil-lecture :is(.dnxte-progress-bar-fill, [class*="progress-bar-fill"]) { background: var(--bb-pc) !important; }
.bb-m .bb-fil-lecture :is(.dnxte-progress-bar-container, [class*="progress-bar-container"]) { background: transparent !important; }
.bb-m .bb-fil-lecture :is(.dnxte-progress-tooltip, .dnxte-progress-circle-text, [class*="tooltip"], [class*="percent"]) { display: none !important; }
@media (min-width: 981px) { .bb-m .bb-fil-lecture.et_pb_sticky { margin-top: 0 !important; } }

/* === D4 03 Article : sommaire collant (Divi Essential Table des matières ; 230 px, entrées à filet gauche 2 px, 13,5 px) === */
.bb-m .bb-sommaire .bb-m-sommaire { font-size: inherit; }
.bb-m .bb-m-sommaire .dnxte-toc-container { background: none !important; border: 0 !important; border-radius: 0; box-shadow: none; padding: 0; margin: 0; }
.bb-m .bb-m-sommaire :is(.dnxte_table_heading, .bb-sommaire-titre, b, h2, h3) { display: block; margin: 0 0 8px; padding: 0; font: 600 13.5px/1.5 var(--bb-fd); color: var(--bb-encre); background: none; }
.bb-m .bb-m-sommaire :is(.dnxte_table_heading_icon, .dnxte-collapsible-icon) { display: none; }
.bb-m .bb-m-sommaire :is(.dnxte-toc-list, ol, ul) { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.bb-m .bb-m-sommaire .dnxte-toc-list li { margin: 0; padding: 0; border: 0; background: none !important; }
.bb-m .bb-m-sommaire .dnxte-toc-list li::marker { content: ""; }
/* D8 : la Table des matières n'indexe que les H2 de la prose (bb-ponts.js § 6 retire les entrées hors .bb-prose) ; repli CSS : aucun sous-niveau rendu */
.bb-m .bb-m-sommaire .dnxte-toc-list .dnxte-toc-list, .bb-m .bb-m-sommaire .dnxte-toc-list li li, .bb-m .bb-m-sommaire .dnxte-toc-list li[data-level="3"], .bb-m .bb-m-sommaire .dnxte-toc-list li.bb-m-toc-hors { display: none !important; }
.bb-m .bb-m-sommaire :is(.dnxte-toc-list li a, a, button) { display: block; width: 100%; text-align: left; padding: 7px 0 7px 12px; border: 0;
  border-left: 2px solid var(--bb-filet); background: none; font: 500 13.5px/1.35 var(--bb-fd); color: var(--bb-attenue); text-decoration: none; }
.bb-m .bb-m-sommaire :is(.dnxte-toc-list li:hover a, a:hover, button:hover) { color: var(--bb-encre); }
.bb-m .bb-m-sommaire :is(.dnxte-toc-list li.active a, a.bb-est-actif, [aria-current="true"]) { color: var(--bb-encre); border-left-color: var(--bb-pc); }
@media (max-width: 1180px) {
  .bb-m .bb-sommaire { position: static; border-bottom: 1px solid var(--bb-filet); }
  .bb-m .bb-m-sommaire-legal :is(.dnxte-toc-list, ol) { grid-template-columns: 1fr 1fr; gap: 2px; }
}
.bb-m .bb-m-sommaire-legal :is(.dnxte-toc-list li a, a, button) { padding: 9px 0 9px 12px; font-size: 14px; }
.bb-m .bb-m-sommaire-legal :is(.dnxte-toc-list li.active a, a.bb-est-actif, [aria-current="true"]) { border-left-color: var(--bb-argile); }

/* === D4 04 Article : corps === */
.bb-m .bb-m-retenir .bb-a-retenir { margin-top: 26px; padding: 20px 22px; border-radius: 12px; background: rgba(255,255,255,.55);
  border-left: 4px solid var(--bb-pc); }
.bb-m .bb-m-retenir .bb-a-retenir h2 { margin: 0 0 10px; font: 600 17px/1.5 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-encre); }
.bb-m .bb-m-retenir .bb-a-retenir ul { display: grid; gap: 8px; margin: 0; padding-left: 1.2em; }
.bb-m .bb-m-retenir .bb-a-retenir li { font: 400 16px/1.55 var(--bb-fb); color: var(--bb-encre-2); }
.bb-m .bb-prose { font-size: 17px; line-height: 1.7; color: var(--bb-encre-2); }
.bb-m .bb-prose h2 { font-size: 31px; line-height: 1.15; letter-spacing: -.02em; margin: 2.2em 0 .6em; }
.bb-m .bb-prose h3 { font-size: 21px; line-height: 1.08; letter-spacing: -.02em; margin: 1.8em 0 .5em; }
.bb-m .bb-prose :is(p, ul, ol) + :is(p, ul, ol) { margin-top: 1.1em; }
.bb-m .bb-prose li + li { margin-top: .45em; }
.bb-m .bb-prose .bb-callout { padding: 20px 22px; border-radius: 0 12px 12px 0; border-left-width: 3px; }
.bb-m .bb-prose .bb-callout > :first-child { margin: 0 0 6px; font: 600 15.5px/1.5 var(--bb-fd); color: var(--bb-encre); }
.bb-m .bb-prose .bb-callout p { font-size: 16.5px; line-height: 1.65; }
.bb-m .bb-prose .bb-callout--quote p { font: 400 19px/1.65 var(--bb-fb); font-style: italic; }
.bb-m .bb-attenue.bb-petit { border-top: 1px solid var(--bb-filet); }
.bb-m .bb-m-etiquettes a { display: inline-flex; align-items: center; min-height: 32px; margin: 0 8px 8px 0; padding: 6px 14px;
  border: 1px solid var(--bb-filet-pilule); border-radius: 20px; background: transparent; color: var(--bb-encre); text-decoration: none; }
.bb-m .bb-m-plus-loin { margin-top: 32px; }
.bb-m .bb-m-plus-loin h2 { margin: 0 0 12px; font: 600 20px/1.08 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-encre); }
.bb-m .bb-m-plus-loin ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bb-filet); }
.bb-m .bb-m-plus-loin li a { display: block; padding: 13px 0; border-bottom: 1px solid var(--bb-filet); font: 500 16px/1.5 var(--bb-fd);
  color: var(--bb-encre); text-decoration: none; }
.bb-m .bb-m-plus-loin li a:hover { color: var(--bb-pc); }
.bb-m .bb-m-qui a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-m-sources summary { display: flex; justify-content: space-between; padding: 14px 0; border-top: 1px solid var(--bb-filet);
  border-bottom: 1px solid var(--bb-filet); font: 600 16px/1.5 var(--bb-fd); color: var(--bb-encre); list-style: none; }
.bb-m .bb-m-sources summary::after { content: "+"; }
.bb-m .bb-m-sources details[open] summary::after { content: "–"; }
.bb-m .bb-m-sources ol { display: grid; gap: 8px; margin: 16px 0 0; padding-left: 1.2em; font: 400 14px/1.6 var(--bb-fb); color: var(--bb-attenue); }
.bb-m .bb-m-sources ol a { color: var(--bb-argile-fonce); }

/* === D4 05 Article, catégorie, étiquette : cartes d'articles (Divi Essential Post Grid ; sélecteurs .dnxte-post-grid-* du schéma VB) ===
   maquette .tcard : fond Papier, rayons 6 6 12 12, ombre, visuel 2:1, pilier en Fraunces italique accent AU-DESSUS du titre,
   titre Poppins 600 20, extrait Inter 14,5 Atténué, méta 12,5 ; grilles 3 x 16 px (mêmes sujets), 2 x 36 / 24 (catégorie), 3 (étiquette) */
.bb-m .bb-m-cartes .dnxte-post-grid-card, .bb-m .bb-m-cartes .et_pb_post, .bb-m .bb-m-epingle .bb-article, .bb-m .bb-m-epingle article {
  display: flex; flex-direction: column; margin: 0; padding: 0; overflow: hidden; background: var(--bb-papier); border: 0; border-radius: 6px 6px 12px 12px;
  box-shadow: 0 1px 0 rgba(36,30,26,.05), 0 12px 26px -16px rgba(36,30,26,.35); transition: transform .3s var(--bb-ease, ease), box-shadow .3s; }
.bb-m .bb-m-cartes .dnxte-post-grid-card:hover { box-shadow: 0 1px 0 rgba(36,30,26,.05), 0 18px 34px -16px rgba(36,30,26,.4); }
.bb-m .bb-m-cartes .dnxte-post-grid-card-image, .bb-m .bb-m-cartes .dnxte-blog-featured-image { margin: 0; order: 0; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-image img, .bb-m .bb-m-cartes .et_pb_post img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 6px 6px 0 0; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-image a::after { display: none; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-content { display: flex; flex-direction: column; padding: 18px 22px 22px; background: none; }
.bb-m .bb-m-cartes .dnxte-blog-categories { order: -1; margin: 0 0 8px; font: 400 18px/1.1 var(--bb-fs); font-style: italic; letter-spacing: -.01em; color: var(--bb-pc); }
.bb-m .bb-m-cartes .dnxte-blog-categories a { color: inherit; text-decoration: none; background: none; padding: 0; border: 0; }
.bb-m .bb-m-cartes .dnxte-post-grid-cate-icon, .bb-m .bb-m-cartes .dnxte-post-grid-date-icon, .bb-m .bb-m-cartes .dnxte-post-grid-author-icon, .bb-m .bb-m-cartes .dnxte-post-grid-comment-icon { display: none; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-title { margin: 0; font: 600 20px/1.2 var(--bb-fd); color: var(--bb-encre); }
.bb-m .bb-m-cartes .dnxte-post-grid-card-title a { color: inherit; text-decoration: none; }
.bb-m .bb-m-cartes .dnxte-post-grid-card:hover .dnxte-post-grid-card-title a { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-excerpt, .bb-m .bb-m-cartes .dnxte-post-grid-card-excerpt p { margin: 8px 0 0; font: 400 14.5px/1.6 var(--bb-fb); color: var(--bb-attenue); }
.bb-m .bb-m-cartes .dnxte-post-grid-card-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 12px 0 0; font: 500 12.5px/1.4 var(--bb-fd); color: var(--bb-attenue); }
.bb-m .bb-m-cartes .dnxte-post-grid-card-meta .dnxte-blog-date { font: inherit; color: inherit; }
.bb-m .bb-m-cartes .dnxte-post-grid-card-read-more, .bb-m .bb-m-cartes .dnxte-post-grid-filter-bar { display: none !important; }
.bb-m .bb-m-cartes .dnxte-post-grid-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bb-m .bb-m-grille2 .dnxte-post-grid-container { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; column-gap: 24px; }
.bb-m .bb-m-grille3 .dnxte-post-grid-container { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; column-gap: 24px; }
@media (max-width: 1180px) { .bb-m .bb-m-grille3 .dnxte-post-grid-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .bb-m .bb-m-cartes .dnxte-post-grid-container { grid-template-columns: 1fr !important; } }
/* « Charger plus d'articles » : bouton contour centré 48 px (maquette) ; aucune pagination sous « Sur les mêmes sujets » */
.bb-m .bb-m-cartes .dnxte-post-grid-pagination, .bb-m .bb-m-cartes .pagination { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 40px; }
.bb-m .bb-m-cartes .dnxte-post-grid-pagination-load-more, .bb-m .bb-m-cartes .dnxte-post-grid-pagination-number, .bb-m .bb-m-cartes .pagination a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
  padding: 0 26px; border: 1px solid var(--bb-encre); border-radius: 10px; background: transparent; font: 600 15px/1 var(--bb-fd); letter-spacing: .01em; color: var(--bb-encre); cursor: pointer; transition: background-color .3s, color .3s; }
.bb-m .bb-m-cartes .dnxte-post-grid-pagination-load-more:hover { background: var(--bb-encre); color: var(--bb-bone); }
.bb-m .bb-m-cont .bb-m-cartes :is(.dnxte-post-grid-pagination, .pagination) { display: none; }
/* repli divi/blog (si un Post Grid est remplacé à la main par le module natif) */
.bb-m .bb-m-cartes .et_pb_post > :not(.entry-featured-image-url):not(.et_pb_image_container) { padding: 0 22px; }
.bb-m .bb-m-cartes .et_pb_post .entry-title { margin: 8px 0 0; }
.bb-m .bb-m-cartes .et_pb_post .post-meta { order: -1; margin: 18px 0 0; font-family: var(--bb-fs); font-style: italic; font-size: 18px; color: var(--bb-pc); }
.bb-m .bb-m-cartes .et_pb_post .post-content { padding-bottom: 22px; }
.bb-m .bb-m-cartes .et_pb_blog_grid { gap: 16px; }

/* article épinglé (shortcode [bb_articles], carte large 780 px : visuel 439 px, titre 32 px) */
.bb-m .bb-m-epingle .bb-articles-grille { display: block; }
.bb-m .bb-m-epingle img { aspect-ratio: 16 / 9; object-fit: cover; }
.bb-m .bb-m-epingle :is(h2, h3) { margin: 8px 0 0; padding: 0 22px; font: 600 32px/1.2 var(--bb-fd); letter-spacing: -.015em; color: var(--bb-encre); }
.bb-m .bb-m-epingle p { padding: 0 22px 22px; font: 400 14.5px/1.6 var(--bb-fb); color: var(--bb-attenue); }
.bb-m .bb-m-epingle .bb-article-pilier { display: block; margin: 18px 0 0; padding: 0 22px; font: 400 18px/1.1 var(--bb-fs); font-style: italic; color: var(--bb-pc); }
@media (max-width: 640px) { .bb-m .bb-m-epingle :is(h2, h3) { font-size: 24px; } }

/* === D4 06 Article : continuer le fil (section Encre) === */
.bb-m.bb-m-cont { color: var(--bb-bone); }
.bb-m .bb-m-fil .bb-fil-pilier { display: grid; gap: 10px; margin-bottom: 26px; font: 500 15px/1.5 var(--bb-fd); color: var(--bb-attenue-sombre); }
.bb-m .bb-m-fil .bb-fil-pilier :is(b, a) { color: var(--bb-bone); }
.bb-m .bb-m-fil .bb-fil-points { display: flex; gap: 6px; max-width: 520px; margin: 0; }
.bb-m .bb-m-fil .bb-fil-points li { flex: 1; }
.bb-m .bb-m-fil .bb-fil-points a { display: block; width: auto; height: 6px; border-radius: 3px; background: rgba(250,247,242,.18); }
.bb-m .bb-m-fil .bb-fil-points .is-lu a { background: var(--bb-argile-clair); }
.bb-m .bb-m-fil .bb-fil-points [aria-current] a { background: var(--bb-bone); }
.bb-m .bb-m-fil .bb-fil-suivant { display: grid; gap: 10px; margin-bottom: 44px; padding: 48px; border-radius: 6px 6px 14px 14px;
  background: var(--bb-pg); color: var(--bb-pi); text-decoration: none; }
.bb-m .bb-m-fil .bb-fil-suivant :is(.bb-surtitre, small) { font: 400 20px/1.5 var(--bb-fs); font-style: italic; color: inherit; }
.bb-m .bb-m-fil .bb-fil-suivant :is(h3, h4) { max-width: 737px; font: 600 51.84px/1.05 var(--bb-fd); letter-spacing: -.03em; color: inherit; }
.bb-m .bb-m-fil .bb-fil-suivant p { max-width: 626px; opacity: .9; font: 400 16px/1.6 var(--bb-fb); }
@media (max-width: 980px) { .bb-m .bb-m-fil .bb-fil-suivant { padding: 30.72px; } .bb-m .bb-m-fil .bb-fil-suivant :is(h3, h4) { font-size: 32px; } }
@media (max-width: 640px) { .bb-m .bb-m-fil .bb-fil-suivant { padding: 28px; } .bb-m .bb-m-fil .bb-fil-suivant :is(h3, h4) { font-size: 26px; } }
.bb-m .bb-m-boite :is(h3, h4) { margin: 0 0 8px; font: 600 16px/1.5 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-bone); }
.bb-m .bb-m-boite p { margin: 0 0 12px; font: 400 14px/1.6 var(--bb-fb); color: var(--bb-attenue-sombre); }
.bb-m .bb-m-boite p:last-child { margin-bottom: 0; }
.bb-m .bb-m-boite .bb-lien-fleche { color: var(--bb-bone); }
.bb-m .bb-m-boite-aides .bb-aides { gap: 6px; }
.bb-m .bb-m-boite-aides .bb-aides a { color: var(--bb-bone); }
.bb-m .bb-m-boite-ebook .bb-ebook-carte { display: grid; grid-template-columns: 92px 1fr; gap: 14px; align-items: center; color: var(--bb-bone); }
.bb-m .bb-m-boite-ebook img { width: 92px; border-radius: 2px 6px 6px 2px; box-shadow: inset 6px 0 0 rgba(0,0,0,.14), 0 1px 2px rgba(36,30,26,.06); }
/* D8 : balisage réel de [bb_ebooks_cartes lie="1"] (ul.bbeb-grid-1 > li.bbeb-card > a.bbeb-card-a > .bbeb-cv + spans) : boîte « L'e-book lié »
   de la maquette (cont-book 425 x 161 : couverture 92 px à gauche, surtitre, titre) au lieu d'une carte pleine de 707 px */
.bb-m .bb-m-boite-ebook ul.bbeb-grid { display: block; margin: 0; padding: 0; list-style: none; background: none; }
.bb-m .bb-m-boite-ebook li.bbeb-card { margin: 0; padding: 0; }
.bb-m .bb-m-boite-ebook a.bbeb-card-a { display: grid; grid-template-columns: 92px minmax(0, 1fr); grid-auto-rows: min-content; column-gap: 14px; align-items: start; padding: 0; color: var(--bb-bone); text-decoration: none; }
.bb-m .bb-m-boite-ebook .bbeb-cv { grid-row: 1 / span 4; width: 92px; aspect-ratio: 3 / 4; border-radius: 2px 6px 6px 2px; box-shadow: inset 6px 0 0 rgba(0,0,0,.14), 0 1px 2px rgba(36,30,26,.06); }
.bb-m .bb-m-boite-ebook .bbeb-card-pil { display: block; font: 600 11px/1.4 var(--bb-fd); letter-spacing: .12em; text-transform: uppercase; color: var(--bb-attenue-sombre); }
.bb-m .bb-m-boite-ebook .bbeb-card-t { display: block; margin-top: 4px; font: 600 16px/1.3 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-bone); }
.bb-m .bb-m-boite-ebook .bbeb-card-s, .bb-m .bb-m-boite-ebook .bbeb-card-m small { display: none; }
.bb-m .bb-m-boite-ebook .bbeb-card-m { display: block; margin-top: 8px; font: 500 13px/1.4 var(--bb-fd); color: var(--bb-attenue-sombre); }
.bb-m .bb-m-boite-ebook .bbeb-card-m b { color: var(--bb-argile-clair); }
/* D8 : [bb_aides article="courant" max="3"] en lignes compactes (boîte 857 px -> ~110 px : nom + numéro, public et méta masqués) */
.bb-m .bb-m-boite-aides ul.bb-aides { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.bb-m .bb-m-boite-aides .bb-aide { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: baseline !important; gap: 2px 10px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.bb-m .bb-m-boite-aides .bb-aide-nom { font: 600 14px/1.5 var(--bb-fd); color: var(--bb-bone); }
.bb-m .bb-m-boite-aides .bb-aide-num { font: 600 14px/1.5 var(--bb-fd); color: var(--bb-argile-clair); text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-m-boite-aides :is(.bb-aide-public, .bb-aide-meta, .bb-aide-pays) { display: none; }
.bb-m .bb-m-boite-aides .bb-aide-site { font: 500 12.5px/1.5 var(--bb-fb); color: var(--bb-attenue-sombre); }
.bb-m .bb-m-cont-foot { border-top: 1px solid var(--bb-filet-sombre); }
.bb-m .bb-m-cont .bb-h3 em, .bb-m .bb-m-cont .bb-h2 em { color: var(--bb-argile-clair); }

/* === D4 07 Catégorie === */
.bb-m.bb-m-cat-hero .bb-ariane, .bb-m.bb-m-cat-hero .bb-ariane a { color: var(--bb-pi); opacity: .85; }
.bb-m.bb-m-cat-hero .bb-m-intro p { opacity: .92; }
.bb-m .bb-m-h-cote h3 { letter-spacing: -.02em; }
.bb-m .bb-m-news h3 { margin: 0 0 12px; }
.bb-m .bb-m-news p { margin: 6px 0 14px; }
.bb-m .bb-m-news p:last-child { margin: 0; }
.bb-m .bb-m-news .bb-btn { width: 100%; min-height: 44px; }
.bb-m .bb-m-liste-filets ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bb-filet); }
.bb-m .bb-m-liste-filets li a { display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--bb-filet); text-decoration: none; color: var(--bb-encre); }
.bb-m .bb-m-liste-filets li a::before { content: ""; width: 16px; height: 16px; border-radius: 4px; background: var(--bb-lin); border: 1px solid var(--bb-filet); }
.bb-m .bb-m-ebook-lie .bb-ebook-carte img { max-width: 150px; border-radius: 2px 6px 6px 2px; box-shadow: inset 6px 0 0 rgba(0,0,0,.14), 0 1px 2px rgba(36,30,26,.06); }
.bb-m .bb-m-ebook-lie :is(h3, h4) { margin: 16px 0 0; font: 600 18.72px/1.08 var(--bb-fd); letter-spacing: -.02em; }
.bb-m .bb-m-voisins .bb-piliers-voisins { padding: 36px; border-radius: 14px; background: rgba(255,255,255,.6); }
.bb-m .bb-m-voisins .bb-piliers-voisins h2 { margin: 0 0 20px; font: 600 40px/1.12 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-encre); }
.bb-m .bb-m-voisins .bb-piliers-voisins p { max-width: 626px; font: 400 16px/1.6 var(--bb-fb); color: var(--bb-attenue-2); }
.bb-m .bb-m-voisins .bb-piliers-voisins p a { font-weight: 600; color: var(--bb-pc); }
.bb-m .bb-m-voisins .bb-piliers-voisins ul { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.bb-m .bb-m-voisins .bb-piliers-voisins a:not(p a) { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 6px 14px 6px 6px;
  border: 1px solid var(--bb-filet-pilule); border-radius: 999px; background: #fff; font: 500 14px/1.5 var(--bb-fd); color: var(--bb-encre); }
@media (max-width: 980px) { .bb-m .bb-m-voisins .bb-piliers-voisins { padding: 24px; } .bb-m .bb-m-voisins .bb-piliers-voisins h2 { font-size: 26px; } }
.bb-m .bb-m-outils-cartes .bb-outils-liste { grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1180px) { .bb-m .bb-m-outils-cartes .bb-outils-liste { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .bb-m .bb-m-outils-cartes .bb-outils-liste { grid-template-columns: 1fr; } }
.bb-m .bb-m-outils-cartes .bb-outils-liste > * { overflow: hidden; background: var(--bb-papier); border-radius: 6px 6px 12px 12px;
  box-shadow: 0 1px 0 rgba(36,30,26,.05), 0 12px 26px -16px rgba(36,30,26,.35); }
.bb-m .bb-m-outils-lien .bb-lien-fleche { color: var(--bb-attenue); margin-left: 14px; }
@media (max-width: 640px) { .bb-m .bb-m-outils-droite { justify-content: flex-start; } }

/* === D4 08 Recherche (boîte du calque v12 transposée en page) === */
.bb-m .bb-m-boite-recherche .et_pb_search form { display: flex; align-items: center; gap: 12px; padding: 6px 4px 14px; border: 0; border-bottom: 1px solid var(--bb-filet); background: none; box-shadow: none; }
.bb-m .bb-m-boite-recherche .et_pb_search input[type="text"] { padding: 1px 2px; border: 0; background: none; font: 600 22px/1.5 var(--bb-fd); color: var(--bb-encre); }
.bb-m .bb-m-boite-recherche .et_pb_search input[type="text"]::placeholder { color: var(--bb-attenue); opacity: .7; }
.bb-m .bb-m-boite-recherche .et_pb_search input[type="submit"] { position: static; width: auto; opacity: 1; font: 500 11px/1 var(--bb-fb); color: var(--bb-attenue);
  padding: 3px 6px; border: 1px solid var(--bb-filet); border-radius: 5px; background: none; }
.bb-m .bb-m-suggestions .bb-pilule { min-height: 36px; padding: 0 14px; border-color: var(--bb-filet); font-size: 13.5px; }
/* résultats en lignes 44 px (Post Grid 1 colonne, sans visuel ni extrait) : pastille 12 px, titre Poppins 500 15, pilier + date 12 px à droite */
.bb-m .bb-m-resultats .dnxte-post-grid-container { display: grid; grid-template-columns: 1fr; gap: 2px; }
.bb-m .bb-m-resultats .dnxte-post-grid-card, .bb-m .bb-m-resultats .et_pb_post { display: grid; grid-template-columns: 12px 1fr auto; gap: 14px; align-items: center; min-height: 44px; padding: 12px; margin: 0;
  border-radius: 4px; background: none; box-shadow: none; overflow: visible; transition: background-color .2s; }
.bb-m .bb-m-resultats :is(.dnxte-post-grid-card, .et_pb_post)::before { content: ""; width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--bb-filet); background: var(--bb-pg, var(--bb-sable)); }
.bb-m .bb-m-resultats :is(.dnxte-post-grid-card, .et_pb_post):hover { background: rgba(36,30,26,.05); box-shadow: none; }
.bb-m .bb-m-resultats .dnxte-post-grid-card-content { display: contents; padding: 0; }
.bb-m .bb-m-resultats .dnxte-post-grid-card-title, .bb-m .bb-m-resultats .et_pb_post .entry-title { margin: 0; font: 500 15px/1.35 var(--bb-fd); }
.bb-m .bb-m-resultats :is(.dnxte-post-grid-card-title a, .et_pb_post .entry-title a) { text-decoration: none; color: var(--bb-encre); }
.bb-m .bb-m-resultats .dnxte-blog-categories { order: 0; margin: 0; font: 500 12px/1.4 var(--bb-fb); font-style: normal; letter-spacing: 0; color: var(--bb-attenue); white-space: nowrap; }
.bb-m .bb-m-resultats .dnxte-post-grid-card-meta { margin: 0; font: 500 12px/1.4 var(--bb-fb); color: var(--bb-attenue); white-space: nowrap; }
.bb-m .bb-m-resultats .et_pb_post .post-meta { margin: 0; white-space: nowrap; }
.bb-m .bb-m-resultats :is(.dnxte-post-grid-card-image, .dnxte-post-grid-card-excerpt, .post-content, .entry-featured-image-url, .et_pb_image_container) { display: none !important; }
.bb-m .bb-m-resultats .dnxte-post-grid-pagination { margin-top: 24px; }
@media (max-width: 640px) {
  .bb-m .bb-m-resultats :is(.dnxte-post-grid-card, .et_pb_post) { grid-template-columns: 12px 1fr; }
  .bb-m .bb-m-resultats :is(.dnxte-blog-categories, .dnxte-post-grid-card-meta, .post-meta) { grid-column: 2; }
}

/* === D4 09 404 (le mini-jeu [bb_noeud404] garde le CSS de son module ; ici le tour) === */
/* D8 : bandeau visuel 720 x 216 centré au-dessus du mini-jeu (figure.vis10-band de la maquette : coins arrondis, marge basse 26) */
.bb-m .bb-m-404-bandeau { width: 100%; max-width: 720px; margin: 0 auto 26px; }
.bb-m .bb-m-404-bandeau .et_pb_code_inner, .bb-m .bb-m-404-bandeau [data-bb-module="visuel"], .bb-m .bb-m-404-bandeau .bb-visuel { display: block; height: 216px; overflow: hidden; border-radius: 14px; background: var(--bb-encre); }
.bb-m .bb-m-404-bandeau svg { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 640px) { .bb-m .bb-m-404-bandeau .et_pb_code_inner, .bb-m .bb-m-404-bandeau [data-bb-module="visuel"], .bb-m .bb-m-404-bandeau .bb-visuel { height: 157px; border-radius: 10px; } }
/* D8 : H1 du mini-jeu 96 / 54 / 44 px comme la maquette (le module le borne à clamp(30px, 4vw, 52px)) */
.bb-m .bb-m-noeud .bbnd-h { font-size: 96px !important; line-height: 1.02 !important; letter-spacing: -.04em !important; max-width: 12ch; margin-bottom: 22px; }
@media (max-width: 980px) { .bb-m .bb-m-noeud .bbnd-h { font-size: 54px !important; } }
@media (max-width: 640px) { .bb-m .bb-m-noeud .bbnd-h { font-size: 44px !important; max-width: none; } }
.bb-m .bb-m-noeud .bbnd-p { font-size: 19px !important; }
/* D10 R12 : scène du nœud 1 042 x 440 (viewBox 900 x 380 pleine largeur) : carte 1 831 px contre 1 502 ; scène plafonnée à 360 px */
.bb-m .bb-m-noeud .bbnd-svg { max-height: 360px; }
.bb-m .bb-m-404-piliers { gap: 10px 22px; }
.bb-m .bb-m-404-piliers a { display: inline-block; min-height: 0; padding: 0 0 1px; border: 0; border-bottom: 1px solid var(--bb-filet); border-radius: 0;
  background: none; font: 500 15px/1.5 var(--bb-fd); color: var(--bb-encre); text-decoration: none; }
.bb-m .bb-m-404-piliers a:hover { border-bottom-color: var(--bb-pc); color: var(--bb-pc); }

/* === D4 10 Page légale (corps Inter 16 / 1,7 ; H2 22 px) === */
.bb-m .bb-m-h1-legal h1, .bb-m .bb-m-h1-produit h1 { letter-spacing: -.035em; max-width: 775px; }
.bb-m .bb-m-h1-produit h1 { letter-spacing: -.02em; }
/* D8 : « Dernière mise à jour » avec date provisoire surlignée (span.tbd), encadré provisoire à filet gauche Argile (p.warn) ; Table des matières sans titre */
.bb-m .bb-m-legal-maj p { margin: 0; }
.bb-m .bb-m-legal-maj .bb-m-tbd { display: inline; padding: 0 4px; border-radius: 3px; background: rgba(196,96,47,.14); }
.bb-m .bb-m-legal-warn { border-left: 3px solid var(--bb-argile); }
.bb-m .bb-m-legal-warn p { margin: 0; }
.bb-m .bb-m-sommaire-legal .dnxte_table_heading:empty, .bb-m .bb-m-sommaire-legal .dnxte_table_heading { display: none; }
/* D10 R7 : nav de gauche = 6 pages légales + Plan du site (maquette .legal nav : 14 px, filet gauche 2 px, courant Argile) ; la Table
   des matières des H2 reste en complément et disparaît ≤ 980 (elle s'empilait au-dessus du corps : +200 px à 768) */
.bb-m .bb-m-legal-nav { display: grid; gap: 2px; }
.bb-m .bb-m-legal-nav a { display: block; padding: 9px 0 9px 12px; border-left: 2px solid var(--bb-filet); font: 500 14px/1.35 var(--bb-fd); color: var(--bb-attenue); text-decoration: none; }
.bb-m .bb-m-legal-nav a:hover { color: var(--bb-encre); }
.bb-m .bb-m-legal-nav a:is(.bb-est-actif, [aria-current="page"]) { color: var(--bb-encre); border-left-color: var(--bb-argile); }
.bb-m .bb-m-sommaire-legal { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--bb-filet); }
@media (max-width: 980px) {
  .bb-m .bb-m-sommaire-legal { display: none !important; }
  .bb-m .bb-m-legal-nav { grid-template-columns: 1fr 1fr; }
  .bb-m .bb-m-legal-nav-m { margin-bottom: 0 !important; }
}
.bb-m .bb-m-prose-legal { font-size: 16px; line-height: 1.7; }
.bb-m .bb-m-prose-legal h2 { margin: 36px 0 10px; font-size: 22px; line-height: 1.25; letter-spacing: -.02em; }
.bb-m .bb-m-prose-legal :is(p, ul, ol) + :is(p, ul, ol) { margin-top: 1em; }

/* === D4 11 Fiche e-book === */
.bb-m .bb-m-couverture img { display: block; width: 100%; border-radius: 6px 12px 12px 6px; background: var(--bb-encre);
  box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 18px 40px -18px rgba(36,30,26,.45); }
.bb-m .bb-m-prod-sommaire { max-width: 820px; }
.bb-m .bb-m-achat { margin-top: 18px; }
@media (max-width: 640px) { .bb-m .bb-m-prod-cover { max-width: 220px; } }
