/* Black Bond, lot D1c : compléments des 10 pages L3c (D-design/pages-divi/L3c/) que les attributs Divi ne portent pas.
   Généré par L3-pages/L3c/scripts/generer_l3c_d1.py ; à charger après bb-global.css, bb-maquette.css,
   bb-maquette-pages.css et bb-modeles.css. Toutes les règles sont préfixées « .bb-m » (classe de chaque section). */

/* === D1c 00 GRILLES DE RANGÉE : D7.1b, plus aucune règle de largeur ni d'écart ici (largeurs sizing.width + flexType
   par point de rupture, écarts justify-content / rowGap / marge droite posés par attribut : bbd7b.poser_largeurs). === */
.bb-m .et_pb_row > .et_pb_column { min-width: 0; box-sizing: border-box; }
.bb-m .et_pb_module { margin-bottom: 0; }
/* D10 R11 : gouttière Divi 5 des rangées flex (--row-gutter-horizontal 5,5 %) réglée à 0 par attribut (gutter width 1) ;
   complément : 3 cartes de 31 % + 2 x 5,5 % passaient en 2 + 1 (À propos « Ce qui guide » +40 %, « Six piliers » +66 %) */
.bb-m .et_pb_row.et_flex_row { --row-gutter-horizontal: 0px; column-gap: 0; }
/* D10 (Crédits « Sources des contenus » 58 -> 90 px) : padding-bottom 1em du dernier paragraphe des modules Texte */
.bb-m .et_pb_text_inner > :first-child { margin-top: 0; }
.bb-m .et_pb_text_inner > :last-child { margin-bottom: 0; padding-bottom: 0; }

/* === D1c 01 EN-TÊTE DE PAGE (.pg-head) === */
.bb-m .bb-m-h1 { max-width: 980px; }
.bb-m .bb-m-h1 em, .bb-m .bb-m-ap-h1 em { color: var(--bb-argile-fonce); }
/* D8 § 5 : bandeau pleine largeur de colonne (attribut forceFullwidth) ; ratio 10 / 3 de la maquette (1036 x 300, 707 x 212,
   358 x 157) plutôt que des hauteurs fixes, le SVG (viewBox 1200 x 700, slice) couvre la boîte */
.bb-m .bb-m-bande, .bb-m .bb-m-bande .et_pb_image_wrap { display: block; width: 100%; max-width: 100%; }
.bb-m .bb-m-bande img { display: block; width: 100%; height: auto; aspect-ratio: 10 / 3; object-fit: cover; border-radius: 14px; }
.bb-m .bb-help-nav > p { font: 600 14px var(--bb-fd); margin: 0 0 10px; }
.bb-m .bb-help-encart a { color: var(--bb-bone); text-decoration: underline; text-underline-offset: 3px; }
/* D10 § 5 / § 6-7 (Besoin d'aide) : pilules de situation rendues en liens soulignés (règle « a » de l'en-tête d'aide) ;
   maquette : .pill blanche, 36 px, rayon 999, filet #D9CFC2, gap 8 (= .bb-pilule de bb-global, rétablie ici en priorité) */
.bb-m .bb-help-nav .bb-pilules { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bb-m .bb-help-nav .bb-pilules li { margin: 0; }
.bb-m .bb-help-nav a.bb-pilule { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--bb-filet-pilule, #D9CFC2); background: #fff; color: var(--bb-encre); font: 500 14px/1.2 var(--bb-fd); text-decoration: none; }
.bb-m .bb-help-nav a.bb-pilule:hover { border-color: var(--bb-encre); }

/* === D1c 02 BESOIN D'AIDE : situations, filets, cartes du registre (markup de [bb_aides]) === */
/* D8 : les marges 44 / 44 (situations) et 28 / 28 (thèmes FAQ) sont sur la section (hisser_padding) ; le filet reste à la
   largeur de la rangée (wrap de la maquette), remonté au bord haut de la section par un pseudo-élément */
.bb-m.bb-m-sit-filet .et_pb_row { position: relative; }
.bb-m.bb-m-sit-filet .et_pb_row::before { content: ""; position: absolute; left: 32px; right: 32px; top: -44px; border-top: 1px solid var(--bb-filet); }
.bb-m.bb-m-faq.bb-m-sit-filet .et_pb_row::before { top: -28px; }
@media (max-width: 980px) { .bb-m.bb-m-sit-filet .et_pb_row::before { left: 30.72px; right: 30.72px; } }
@media (max-width: 640px) { .bb-m.bb-m-sit-filet .et_pb_row::before { left: 16px; right: 16px; } }
.bb-m .bb-sit-p + .bb-sit-p { margin-top: 10px; }
.bb-m .bb-sit-steps { margin: 16px 0 0; padding-left: 1.3em; display: grid; gap: 8px; max-width: 74ch; color: var(--bb-encre-2); }
.bb-m .bb-sit-savoir strong { font: 600 15px var(--bb-fd); color: var(--bb-encre); display: block; margin-bottom: 4px; }
.bb-m .bb-sit-savoir .bb-h-inl, .bb-m .bb-sit a:not(.bb-aide-num):not(.bb-aide-site) { font-weight: 700; color: var(--bb-encre); text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-sit-arts a { font-weight: 400; }
/* hgrid v12 : 4 cartes de 272 px (gap 16) dans 1136 ; 3 cartes de 348 px dans l'encadré « danger immédiat » (1076) ;
   2 colonnes à 768, 1 à 390. Balisage réel de [bb_aides] : ul.bb-aides > li.bb-aide (nom, num, public, meta, site). */
.bb-m .bb-m-aides .bb-aides { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bb-m .bb-sit-urg .bb-m-aides .bb-aides { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bb-m .bb-m-aides .bb-aides-groupes .bb-aides { margin-top: 12px; }
.bb-m .bb-m-aides .bb-aides-pays { font: 600 18px var(--bb-fd); margin: 26px 0 0; }
/* D8 4.4 : bb-composants.css (extension) pose « .bb-aide { display:flex; flex-wrap:wrap } » et « .bb-aide-public, .bb-aide-meta
   { flex-basis:100% } » : colonne + wrap = contenu en ligne débordant à 1 739 px ; ici nowrap, enfants non étirés */
.bb-m .bb-m-aides .bb-aide { background: #fff; border: 1px solid var(--bb-filet-pilule); border-radius: 12px; padding: 18px 18px 16px; display: flex !important; flex-direction: column !important; flex-wrap: nowrap !important; align-items: flex-start; gap: 8px; min-height: 211px; margin: 0; }
.bb-m .bb-m-aides .bb-aide > * { flex: 0 0 auto !important; max-width: 100%; }
.bb-m .bb-m-aides .bb-aide-public { flex-basis: auto !important; }
.bb-m .bb-sit-urg .bb-m-aides .bb-aide { border-color: var(--bb-encre); }
.bb-m .bb-m-aides .bb-aide-nom { font: 600 16px/1.3 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-encre); }
.bb-m .bb-m-aides .bb-aide-pays { font-weight: 500; color: var(--bb-attenue); }
.bb-m .bb-m-aides .bb-aide-num { align-self: flex-start; font: 700 24px/1.2 var(--bb-fd); letter-spacing: .01em; color: var(--bb-encre); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.bb-m .bb-m-aides .bb-aide-public { font: 400 14px/1.55 var(--bb-fb); color: var(--bb-attenue-2); }
.bb-m .bb-m-aides .bb-aide-meta { display: inline-flex; flex-wrap: wrap; gap: 6px; font: 500 12.5px/1.3 var(--bb-fb); color: var(--bb-encre-2); }
.bb-m .bb-m-aides .bb-aide-meta { padding: 5px 9px; border-radius: 99px; background: var(--bb-lin); align-self: flex-start; }
.bb-m .bb-m-aides .bb-aide-site { margin-top: auto; padding-top: 4px; font: 500 13.5px var(--bb-fd); color: var(--bb-encre); text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-m-aides .bb-aides-verifie-le { font: inherit; }
@media (max-width: 980px) { .bb-m .bb-m-aides .bb-aides { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .bb-m .bb-m-aides .bb-aides { grid-template-columns: 1fr; } }

/* === D1c 03 QUI ÉCRIT : sommaire collant (.legal nav), rubriques, listes === */
.bb-m .bb-m-qui-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bb-m .bb-m-qui-nav a { display: block; padding: 9px 0 9px 12px; border-left: 2px solid var(--bb-filet); font: 500 14px var(--bb-fd); color: var(--bb-attenue); text-decoration: none; }
.bb-m .bb-m-qui-nav a:hover, .bb-m .bb-m-qui-nav a.bb-on, .bb-m .bb-m-qui-nav a.bb-est-actif { color: var(--bb-encre); border-left-color: var(--bb-argile); }
.bb-m .bb-m-ps-ul ul, .bb-m .bb-ps-ul { margin: 16px 0 0; padding-left: 20.8px; display: grid; gap: 8px; max-width: 806px; font: 500 16px/1.65 var(--bb-fb); color: var(--bb-encre-2); }
.bb-m .bb-m-ps-ul ul li + li, .bb-m .bb-ps-ul li + li { margin-top: 0; }
.bb-m .bb-q-sec p + p, .bb-m .bb-q-sec ul + p { margin-top: 10px; }
.bb-m .bb-q-sec a:not(.bb-lien-fleche) { text-decoration: underline; text-underline-offset: 3px; color: var(--bb-encre); }
.bb-m .bb-q-sec .bb-lien-fleche { font: 600 14px var(--bb-fd); color: var(--bb-encre); }
@media (max-width: 980px) {
  .bb-m .bb-m-qui-nav ul { grid-template-columns: 1fr 1fr; }
  .bb-m .bb-m-qui-som { position: static; }
}
/* D10 1.3 porté à la source : largeurs de bureau 230 + 720 px posées par attribut (width + maxWidth en px) ; complément
   identique à la feuille D10 au cas où un « width: 100 % » l'emporterait encore sur l'attribut (corps coupé à droite) */
@media (min-width: 981px) {
  .bb-m.bb-qui .et_pb_row > .et_pb_column.bb-m-qui-som { flex: 0 0 230px !important; width: 230px !important; }
  .bb-m.bb-qui .et_pb_row > .et_pb_column.bb-m-qui-corps { flex: 0 1 720px !important; width: 720px !important; max-width: 720px; min-width: 0; }
}

/* === D1c 04 CENTRE D'AIDE : recherche, pilules, accordéon details de [bb_faq] === */
.bb-m .bb-m-faq-recherche .bb-faq6-search { position: relative; max-width: 680px; margin-top: 28px; }
.bb-m .bb-m-faq-recherche input[type="search"] { width: 100%; height: 56px; border-radius: 999px; border: 1px solid var(--bb-filet-pilule); background: #fff; padding: 0 22px 0 52px; font: 500 16px var(--bb-fb); color: var(--bb-encre); }
.bb-m .bb-m-faq-recherche input[type="search"]:focus { outline: none; border-color: var(--bb-argile); }
.bb-m .bb-m-faq-recherche .bb-faq6-search::before { content: ""; position: absolute; left: 18px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); border-radius: 50%; border: 2px solid var(--bb-attenue); box-sizing: border-box; }
.bb-m .bb-m-faq-recherche .bb-recherche-vide { margin: 10px 0 0; font-size: 14px; color: var(--bb-attenue); }
.bb-m .bb-faq6-cats .bb-pilules { gap: 8px; }
.bb-m .bb-faq6-cats .bb-pilule { background: #fff; color: var(--bb-encre); border-color: var(--bb-filet-pilule); }
.bb-m .bb-faq6-cats .bb-pilule:hover { border-color: var(--bb-encre); }
.bb-m .bb-faq6-cats .bb-pilule.bb-est-actif, .bb-m .bb-faq6-cats .bb-pilule[aria-current] { background: var(--bb-encre); color: var(--bb-bone); border-color: var(--bb-encre); }
.bb-m .bb-m-faq-count .et_pb_text_inner p { margin: 0; }
.bb-m .bb-m-faq-liste .bb-faq { max-width: 900px; border-top: 1px solid var(--bb-filet); }
.bb-m .bb-m-faq-liste .bb-faq-item { border-bottom: 1px solid var(--bb-filet); }
.bb-m .bb-m-faq-liste .bb-faq-item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; cursor: pointer; font: 600 17.5px/1.35 var(--bb-fd); color: var(--bb-encre); transition: color .2s; }
.bb-m .bb-m-faq-liste .bb-faq-item summary::-webkit-details-marker { display: none; }
.bb-m .bb-m-faq-liste .bb-faq-item summary:hover { color: var(--bb-argile-fonce); }
.bb-m .bb-m-faq-liste .bb-faq-item summary::after { content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%; background: linear-gradient(currentColor, currentColor) center / 11px 1.8px no-repeat, linear-gradient(currentColor, currentColor) center / 1.8px 11px no-repeat; transition: transform .4s var(--bb-ease); }
.bb-m .bb-m-faq-liste .bb-faq-item[open] summary::after { background: linear-gradient(currentColor, currentColor) center / 11px 1.8px no-repeat; color: var(--bb-argile); }
.bb-m .bb-m-faq-liste .bb-faq-reponse { padding: 0 50px 24px 0; }
.bb-m .bb-m-faq-liste .bb-faq-reponse p { color: var(--bb-attenue); font-size: 15.5px; line-height: 1.6; margin: 0; }
.bb-m .bb-m-faq-liste .bb-faq-reponse p + p { margin-top: 10px; }
.bb-m .bb-m-faq-liste .bb-faq-relecture { font: italic 500 13.5px var(--bb-fb); color: var(--bb-attenue); }
/* D7.1b, variante dnxte : Next FAQ (filets haut des items, en-tête 22 / 50 / 22 / 0, réponse 0 / 50 / 24 / 0 et polices
   par attribut) ; ici le filet bas, le survol, l'icône ouverte et les paragraphes de réponse. Ajax Search : largeur. */
.bb-m .bb-faq-next { border-bottom: 1px solid var(--bb-filet); }
.bb-m .bb-faq-next .next_faq__header { cursor: pointer; transition: color .2s; }
.bb-m .bb-faq-next .next_faq__header:hover .next_faq__question { color: var(--bb-argile-fonce); }
.bb-m .bb-faq-next .next_faq__item.dnxte-active .next_faq__icon { color: var(--bb-argile); }
.bb-m .bb-faq-next .next_faq__answer p { margin: 0; }
.bb-m .bb-faq-next .next_faq__answer p + p { margin-top: 10px; }
.bb-m .bb-faq-next .next_faq__answer a { color: var(--bb-argile-fonce); text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-m-faq-ajax { max-width: 680px; }

/* === D1c 05 CONTACT, TON AVIS, MON COMPTE : colonne de droite, alerte, boîte Discord, boutons === */
.bb-m .bb-m-retour-lignes p + p { margin-top: 14px; }
.bb-m .bb-m-retour-lignes a, .bb-m .bb-m-retour-ligne a { font-weight: 600; color: var(--bb-encre); text-decoration: none; border-bottom: 1px solid var(--bb-encre); }
.bb-m .bb-help-rem strong { font: 600 15px var(--bb-fd); color: var(--bb-encre); display: block; margin-bottom: 4px; }
.bb-m .bb-help-rem p { color: var(--bb-encre-2); font-size: 15px; margin: 0; }
.bb-m .bb-help-rem { border-left: 4px solid var(--bb-argile); border-radius: 0 12px 12px 0; }
.bb-m .bb-m-av-alerte { border-left: 3px solid var(--bb-argile); border-radius: 0 8px 8px 0; }
.bb-m .bb-m-av-alerte a { color: var(--bb-encre); text-decoration: underline; text-underline-offset: 3px; }
.bb-m .bb-m-dis9 h2 { margin: 0 0 10px; }
.bb-m .bb-m-dis9 h2 em { color: var(--bb-argile-fonce); }
.bb-m .bb-m-dis9 p + p { margin-top: 14px; }
.bb-m .bb-m-dis9 .bb-btn { margin-top: 2px; }
.bb-m .bb-m-dis9 .bb-m-dis-mention { font-size: 14px; color: var(--bb-attenue); margin-top: 10px; }
.bb-m .bb-m-ton-avis .bb-lien-fleche { color: var(--bb-attenue); }
.bb-m .bb-m-acc9 .bb-m-two-d { display: flex; flex-wrap: wrap; gap: 12px; align-content: flex-start; }
.bb-m .bb-m-acc9 .bb-m-two-d > .et_pb_module { margin: 0; }
.bb-m .bb-m-acc9 .bb-m-two-d > .et_pb_text, .bb-m .bb-m-acc9 .bb-m-two-d > .et_pb_code { flex: 0 0 100%; }
.bb-m .bb-m-acc9 .bb-m-two-d > .et_pb_text.bb-m-retour-ligne { margin-top: 8px; }
.bb-m .bb-acc9-list { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.bb-m .bb-acc9-list li + li { margin-top: 0; }
.bb-m .bb-m-form .bb-btn { margin-top: 12px; }

/* === D1c 06 FLUENT FORMS (F1 Contact, F2 Ton avis) : champs au rendu de la maquette (.field, .form-grid) === */
.bb-m .fluentform .ff-el-group { margin-bottom: 16px; }
.bb-m .fluentform .ff-el-input--label label { font: 500 13.5px var(--bb-fd); color: var(--bb-encre); margin-bottom: 7px; }
.bb-m .fluentform .ff-el-input--label.ff-el-is-required label::after { content: none; }
.bb-m .fluentform .ff-el-form-control { width: 100%; font: 400 15.5px var(--bb-fb); color: var(--bb-encre); background: #fff; border: 1px solid var(--bb-filet); border-radius: 10px; padding: 12px 14px; min-height: 45px; box-shadow: none; }
.bb-m .fluentform .ff-el-form-control:focus { outline: none; border-color: var(--bb-encre); box-shadow: 0 0 0 3px rgba(36,30,26,.08); }
.bb-m .fluentform textarea.ff-el-form-control { min-height: 170px; resize: vertical; }
.bb-m .fluentform .ff-el-form-control::placeholder { color: #8f847b; }
.bb-m .fluentform .ff-el-help-message { font: 400 13.5px/1.45 var(--bb-fb); color: var(--bb-attenue); margin-top: 6px; }
.bb-m .fluentform .ff-el-form-check-label, .bb-m .fluentform .ff_t_c, .bb-m .fluentform .ff-el-tc { font: 400 12.5px/1.45 var(--bb-fb); color: var(--bb-attenue); }
.bb-m .fluentform .ff-el-tc a, .bb-m .fluentform .ff_t_c a { color: inherit; text-decoration: underline; }
.bb-m .fluentform .ff-el-form-check { margin-top: 12px; }
.bb-m .fluentform .ff-el-form-check-radio .ff-el-form-check-label { font: 500 15px var(--bb-fd); color: var(--bb-encre); display: flex; gap: 10px; align-items: flex-start; min-height: 32px; }
.bb-m .fluentform .ff-btn-submit, .bb-m .fluentform button.ff-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 10px; border: 0; background: var(--bbm-primaire, #B3562A); color: #fff; font: 600 15px var(--bb-fd); letter-spacing: .01em; cursor: pointer; transition: background-color .3s; }
.bb-m .fluentform .ff-btn-submit:hover, .bb-m .fluentform button.ff-btn:hover { background: var(--bb-argile-fonce); }
.bb-m .fluentform .ff-message-success { background: var(--bb-lin); border-radius: 12px; padding: 20px 22px; font: 400 16px/1.6 var(--bb-fb); color: var(--bb-encre-2); }
.bb-m .fluentform .error, .bb-m .fluentform .text-danger { color: #A3361F; font-size: 13px; }
@media (min-width: 641px) {
  .bb-m .bb-m-contact .fluentform .ff-el-group:not(.ff-el-form-check):not(.ff_submit_btn_wrapper) { width: calc(50% - 8px); display: inline-block; vertical-align: top; }
  .bb-m .bb-m-contact .fluentform .ff-el-group:nth-of-type(n+3), .bb-m .bb-m-contact .fluentform .ff-el-group.ff-el-form-check { width: 100%; display: block; }
}

/* === D1c 07 CE QU'ON A CHANGÉ : encadré d'état vide (.empty9) === */
.bb-m .bb-m-empty9 { border-style: dashed !important; }
.bb-m .bb-m-empty9 .bb-changements { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 14px; }
.bb-m .bb-m-empty9 .bb-changements-vide { display: none; }

/* === D1c 08 À PROPOS (module bbap de la maquette : le CSS n'est pas dans D2) === */
.bb-m .bb-m-ap-link a { color: var(--bb-encre); text-decoration: none; padding-bottom: 2px; border-bottom: 1px solid var(--bb-encre); font: 600 16px/1.65 var(--bb-fb); }
.bb-m .bb-m-ap-link a::after { content: " \2192"; }
.bb-m .bb-m-ap-btn.bb-btn, .bb-m .bb-m-ap-btn .bb-btn, .bb-m .bb-m-ap-btn a { --bb-bf: var(--bb-encre); --bb-bt: var(--bb-bone); --bb-bhf: var(--bb-argile-fonce); --bb-bht: var(--bb-bone); border-radius: 999px; padding: 13px 22px; min-height: 49px; font: 600 15px var(--bb-fd); letter-spacing: 0; }
.bb-m .bb-m-ap-btn-clair.bb-btn, .bb-m .bb-m-ap-btn-clair .bb-btn, .bb-m .bb-m-ap-btn-clair a { --bb-bf: var(--bb-bone); --bb-bt: var(--bb-encre); --bb-bhf: var(--bb-argile); --bb-bht: var(--bb-bone); }
.bb-m .bb-m-ap-hvis img { display: block; width: 100%; height: auto; }
.bb-m .bb-m-ap-quote p { margin: 0; }
.bb-m .bb-m-ap-txt p + p { margin-top: 18px; }
.bb-m .bb-m-ap-perso { padding-left: 18px; border-left: 3px solid var(--bb-argile); }
.bb-m .bb-m-ap-sign, .bb-m .bb-m-ap-sign p { font: italic 500 18px var(--bb-fs); color: var(--bb-argile-fonce); }
.bb-m .bb-m-ap-stat .bb-stat-num { font: 700 104px/1 var(--bb-fd); letter-spacing: -.04em; color: var(--bb-argile-clair); margin: 0; }
.bb-m .bb-m-ap-stat .bb-stat-num + p { margin-top: 12px; max-width: 303px; color: var(--bb-attenue-sombre); }
.bb-m .bb-m-ap-dark .bb-m-ap-stat p { color: var(--bb-attenue-sombre); }
.bb-m .bb-m-ap-after em { font: inherit; font-style: italic; color: var(--bb-bone); }
.bb-m .bb-m-ap-src .et_pb_toggle { background: transparent; border: 0; padding: 0; margin-top: 28px; }
.bb-m .bb-m-ap-src .et_pb_toggle_title { color: var(--bb-bone); font: 600 14px/1.65 var(--bb-fb); }
.bb-m .bb-m-ap-src .et_pb_toggle_content { padding-top: 12px; }
.bb-m .bb-m-ap-src .et_pb_toggle_content ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.bb-m .bb-m-ap-src .et_pb_toggle_content li { color: var(--bb-attenue-sombre); font-size: 14px; line-height: 1.65; }
.bb-m .bb-m-ap-rule p { margin: 0; }
.bb-m .bb-m-ap-rule em { font-style: italic; color: var(--bb-argile-fonce); }
.bb-m .bb-m-ap-pil { position: relative; overflow: hidden; }
.bb-m .bb-m-ap-pil::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: radial-gradient(circle at right bottom, rgba(250,247,242,.28) 0%, var(--bb-pc, var(--bb-encre)) 62%); }
.bb-m .bb-m-ap-pil h3 { margin: 0; line-height: 1.1; letter-spacing: -.02em; }
.bb-m .bb-m-ap-pil .dnxte_next_blurb_description, .bb-m .bb-m-ap-pil .dnxte-next-blurb-description { line-height: 1.65; }
.bb-m .bb-m-ap-pil h3 a { color: inherit; text-decoration: none; }
.bb-m .bb-m-ap-pil h3 a:hover { color: var(--bb-argile-fonce); }
.bb-m .bb-m-ap-pil p { margin: 8px 0 0; }
.bb-m .bb-m-ap-pil .dnxte_next_blurb_image, .bb-m .bb-m-ap-pil .dnxte-next-blurb-image { width: 76px; height: 36px; margin-bottom: 14px; }
.bb-m .bb-m-ap-card .bb-m-ap-ico { display: block; width: 44px; height: 44px; border-radius: 50%; background: var(--bb-lin); color: var(--bb-argile-fonce); position: relative; }
.bb-m .bb-m-ap-card .bb-m-ap-ico::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; border-radius: 50%; border: 2px solid currentColor; transform: translate(-50%, -50%); }
.bb-m .bb-m-ap-card h3 { margin: 14px 0 0; }
.bb-m .bb-m-ap-card p { margin: 8px 0 0; }
.bb-m .bb-m-ap-auteur blockquote, .bb-m .bb-m-ap-auteur p { margin: 0; padding: 0; border: 0; font: inherit; color: inherit; }
.bb-m .bb-m-ap-auteur { border-left: 3px solid var(--bb-argile); border-radius: 0 8px 8px 0; }
.bb-m .bb-circuit { list-style: none; margin: 0; padding: 0; display: grid; gap: 88px; counter-reset: bb-etape; }
.bb-m .bb-circuit li { display: grid; grid-template-columns: 48px 1fr; gap: 20px; align-items: start; counter-increment: bb-etape; margin: 0; }
.bb-m .bb-circuit li::before { content: counter(bb-etape); width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font: 700 17px var(--bb-fd); color: var(--bb-attenue); background: var(--bb-bone); border: 2px solid var(--bb-filet); box-sizing: border-box; }
.bb-m .bb-circuit h3 { margin: 9px 0 0; grid-column: 2; }
.bb-m .bb-circuit p { margin: 8px 0 0; grid-column: 2; }
.bb-m .bb-circuit li + li { margin-top: 0; }
.bb-m .bb-m-ap-cta .bb-m-ap-cta-btn .et_pb_module { margin: 0; }
@media (max-width: 980px) {
  .bb-m .bb-m-ap-stat .bb-stat-num { font-size: 61.44px; }
  .bb-m .bb-circuit { gap: 53.76px; }
}
@media (max-width: 640px) {
  .bb-m .bb-m-ap-stat .bb-stat-num { font-size: 56px; }
  .bb-m .bb-circuit { gap: 40px; }
  .bb-m .bb-circuit li { grid-template-columns: 40px 1fr; gap: 14px; }
  .bb-m .bb-circuit li::before { width: 40px; height: 40px; }
  .bb-m .bb-circuit h3 { margin-top: 6px; }
}

/* === D1c 09 CRÉDITS : vignettes vides (visuels dessinés par code : aucun média) === */
.bb-m .bb-m-cr-vis { background: var(--bb-lin); border: 1px solid var(--bb-filet); }
.bb-m .bb-credits .bb-cr-logo { background: var(--bb-encre); }
.bb-m .bb-credits .bb-cr-logo::after { content: "BB"; display: grid; place-items: center; height: 100%; font: 700 18px var(--bb-fd); color: var(--bb-bone); }
.bb-m .bb-credits li { align-items: center; }
.bb-m .bb-credits li + li { margin-top: 0; }
.bb-m .bb-credits p { margin-top: 4px; }

/* === D1c 10 PLAN DU SITE : blocs .bb-plan > section de [bb_plan_du_site], listes en colonnes (plan-cols) === */
/* D8 4.8 : bb-composants.css (extension) pose « .bb-plan { display:grid; auto-fill minmax(260px, 1fr) } » : 3 sections de
   341 px côte à côte, chacune en 4 colonnes de 61 px (liens hachés, page 4 880 -> 6 247). Maquette : blocs pleine largeur
   l'un sous l'autre, listes en 4 colonnes (2 à 768, 1 à 390). */
.bb-m .bb-m-plan .bb-plan { display: block !important; grid-template-columns: none !important; }
.bb-m .bb-m-plan .bb-plan > section { margin: 0 0 56px; }
.bb-m .bb-m-plan .bb-plan > section:last-child { margin-bottom: 0; }
.bb-m .bb-m-plan .bb-plan h2 { font: 600 40px/1.12 var(--bb-fd); letter-spacing: -.02em; color: var(--bb-encre); margin: 0 0 20px; }
.bb-m .bb-m-plan .bb-plan h2 a { color: inherit; text-decoration: none; }
.bb-m .bb-m-plan .bb-plan h2 a:hover { color: var(--bb-argile-fonce); }
.bb-m .bb-m-plan .bb-plan ul { list-style: none; margin: 0; padding: 0; columns: 4; column-gap: 32px; }
.bb-m .bb-m-plan .bb-plan li { break-inside: avoid; padding: 0 0 8px; margin: 0; }
.bb-m .bb-m-plan .bb-plan ul ul { columns: 1; padding-left: 14px; margin-top: 8px; }
.bb-m .bb-m-plan .bb-plan a { font: 400 15px/1.6 var(--bb-fb); color: var(--bb-attenue); text-decoration: none; border-bottom: 1px solid transparent; }
.bb-m .bb-m-plan .bb-plan a:hover { color: var(--bb-encre); border-color: var(--bb-encre); }
@media (max-width: 980px) { .bb-m .bb-m-plan .bb-plan h2 { font-size: 26px; } .bb-m .bb-m-plan .bb-plan ul { columns: 2; } }
@media (max-width: 640px) { .bb-m .bb-m-plan .bb-plan ul { columns: 1; } }
