/* ==========================================================================
   Mandyben : charte V3 (validée le 29/10). Une seule source pour le site et le builder.
   Couleurs et dimensions = variables ; composants = classes globales Bricks du même nom.
   ========================================================================== */
:root {
	--mdb-marine: #1C2B42;
	--mdb-blanc: #FFFFFF;
	--mdb-creme: #FBF8F4;
	--mdb-sable: #EFE8DE;
	--mdb-carte: #F7F3EE;
	--mdb-ligne: #ECE6DD;
	--mdb-texte-2: #5B6778;
	--mdb-texte-sur-marine: #D5DBE5;
	--mdb-orange: #E8894A;
	--mdb-orange-pale: #FCEDE4;

	--mdb-font-titre: 'Inter Tight', system-ui, sans-serif;
	--mdb-font-texte: 'Inter', system-ui, sans-serif;

	--mdb-r-pill: 999px;
	--mdb-r-carte: 20px;
	--mdb-r-bloc: 28px;
	--mdb-r-tuile: 16px;

	--mdb-gouttiere: 24px;
	--mdb-marge: clamp(16px, 5.5vw, 80px);
	--mdb-section: clamp(48px, 6vw, 72px);
	--mdb-max: 1440px;
}

/* Fond de page : crème sur les fiches qui ont le terme Accompagnement, header toujours blanc */
body { background: var(--mdb-blanc); color: var(--mdb-marine); }
body.type-accompagnement { background: var(--mdb-creme); }
body.type-accompagnement #brx-header, body.type-accompagnement .mdb-header { background: var(--mdb-blanc); }

/* --------------------------------------------------------------------------
   Typographie (la typo de base est aussi réglée dans le style de thème Bricks)
   -------------------------------------------------------------------------- */
body { font-family: var(--mdb-font-texte); font-size: 1.6rem; line-height: 1.6; font-weight: 400; }
h1, h2, h3, h4 { font-family: var(--mdb-font-titre); font-weight: 800; color: var(--mdb-marine); margin: 0; }
/* Tailles réduites d'environ 15 % le 29/10 : H1 accueil 68, H1 fiche 52, H2 grands blocs 40, H2 de section 30, H3 21 */
h1 { font-size: clamp(3.4rem, 5.3vw, 6.8rem); line-height: 1; letter-spacing: -0.04em; }
.mdb-h1-fiche, body.single-formation h1 { font-size: clamp(3.1rem, 3.9vw, 5.2rem); }
h2 { font-size: clamp(2.2rem, 2.2vw, 3rem); line-height: 1.05; letter-spacing: -0.03em; }
.mdb-h2-grand, .bloc-marine h2 { font-size: clamp(2.4rem, 2.9vw, 4rem); }
h3 { font-size: clamp(1.8rem, 1.5vw, 2.1rem); line-height: 1.2; letter-spacing: -0.02em; }
.mdb-texte-2 { color: var(--mdb-texte-2); }

/* Liens : soulignés orange */
.mdb-lien, .mdb-contenu a:not([class]) { color: var(--mdb-marine); font-weight: 500; text-decoration: none; }

/* --------------------------------------------------------------------------
   Mise en page : 12 colonnes, gouttière 24px, marges 80px, max 1440px
   -------------------------------------------------------------------------- */
.mdb-section { width: 100%; padding: var(--mdb-section) var(--mdb-marge); }
.mdb-conteneur { width: 100%; max-width: calc(var(--mdb-max) - 2 * 80px); margin-inline: auto; display: flex; flex-direction: column; gap: 32px; }
.mdb-grille { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--mdb-gouttiere); }
.mdb-col-8 { grid-column: span 8; } .mdb-col-4 { grid-column: span 4; } .mdb-col-6 { grid-column: span 6; }
@media (max-width: 991px) { .mdb-col-8, .mdb-col-4, .mdb-col-6 { grid-column: 1 / -1; } }
.mdb-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--mdb-gouttiere); }

/* En-tête de zone : un titre + une phrase d'intro */
.mdb-zone-titre { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
.mdb-zone-titre p { margin: 0; color: var(--mdb-texte-2); font-size: 1.7rem; }

/* Blocs : crème (2-3 par page, jamais consécutifs) et marine (un seul par page) */
.bloc-creme { background: var(--mdb-creme); border-radius: var(--mdb-r-bloc); padding: clamp(24px, 3vw, 40px); }
body.type-accompagnement .bloc-creme { background: var(--mdb-sable); }
.bloc-marine { background: var(--mdb-marine); color: var(--mdb-texte-sur-marine); border-radius: var(--mdb-r-bloc); padding: clamp(28px, 4vw, 56px); }
.bloc-marine h2, .bloc-marine h3 { color: #fff; }

/* Header */
.mdb-header { background: var(--mdb-blanc); border-bottom: 1px solid var(--mdb-ligne); padding: 18px var(--mdb-marge); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mdb-logo { display: block; height: 40px; width: auto; }

/* --------------------------------------------------------------------------
   Boutons : 52px, pilule, pas d'ombre ; picto Lucide 18px + texte
   -------------------------------------------------------------------------- */
.mdb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 5.2rem; height: auto; padding: 0 26px; border-radius: var(--mdb-r-pill); font-family: var(--mdb-font-texte); font-size: 1.6rem; font-weight: 600; line-height: 1; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; white-space: nowrap; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.mdb-btn svg { min-height: 0; width: 18px; height: 18px; flex: none; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mdb-btn:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 3px; }
.mdb-btn--primaire { background: var(--mdb-marine); color: #fff; }
.mdb-btn--primaire:hover { background: #2a3d5c; }
.mdb-btn--secondaire { background: transparent; color: var(--mdb-marine); border-color: var(--mdb-marine); }
.mdb-btn--secondaire:hover { background: var(--mdb-carte); }
.mdb-btn--accent { background: var(--mdb-orange); color: var(--mdb-marine); } /* hero uniquement ; texte marine, jamais blanc */
.mdb-btn--accent:hover { background: #e07a36; }
.mdb-btn--sur-marine { background: #fff; color: var(--mdb-marine); }
.mdb-btn--contour-blanc { background: transparent; color: #fff; border-color: #fff; }
.mdb-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* --------------------------------------------------------------------------
   Badges : 34px, pilule, 14px 600
   -------------------------------------------------------------------------- */
.mdb-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.mdb-badge { display: inline-flex; align-items: center; gap: 8px; min-height: 3.4rem; padding: 0 14px; border-radius: var(--mdb-r-pill); font-size: 1.4rem; font-weight: 600; line-height: 1; color: var(--mdb-marine); background: #fff; border: 1px solid var(--mdb-ligne); white-space: nowrap; }
.mdb-badge--pale { background: var(--mdb-orange-pale); border-color: var(--mdb-orange-pale); }
.mdb-badge--pale::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--mdb-orange); }

/* --------------------------------------------------------------------------
   Cartes (fond carte, sans bordure ni ombre) et tuiles
   -------------------------------------------------------------------------- */
.mdb-carte { background: var(--mdb-carte); border-radius: var(--mdb-r-carte); overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
body.type-accompagnement .mdb-carte, .mdb-carte--accompagnement { background: var(--mdb-creme); }
.mdb-carte img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.mdb-carte__corps { padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.mdb-carte__domaine { font-size: 1.4rem; font-weight: 600; color: var(--mdb-texte-2); }
.mdb-carte h3 { font-size: 2.2rem; }
.mdb-carte__meta { font-size: 1.5rem; color: var(--mdb-texte-2); }
.mdb-tuile { background: var(--mdb-sable); border-radius: var(--mdb-r-tuile); padding: 20px; display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; }
.mdb-tuile strong { font-family: var(--mdb-font-titre); font-size: 2rem; font-weight: 800; letter-spacing: -0.02em; }
.mdb-tuile span { font-size: 1.4rem; color: var(--mdb-texte-2); }

/* --------------------------------------------------------------------------
   Mot souligné d'un titre principal (.trait) et étincelles (H1 uniquement)
   -------------------------------------------------------------------------- */
.trait { position: relative; display: inline-block; white-space: nowrap; }
.trait > svg.trait__ligne { min-height: 0; position: absolute; left: -2%; bottom: -0.12em; width: 104%; height: 0.32em; overflow: visible; pointer-events: none; }
.trait > svg.trait__ligne path { fill: none; stroke: var(--mdb-orange); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 340; stroke-dashoffset: 340; animation: mdbTrait 1.1s cubic-bezier(.6, 0, .2, 1) .4s forwards; }
.trait > .etincelle { min-height: 0; position: absolute; fill: var(--mdb-orange); transform: scale(.4); opacity: 0; animation: mdbPop .5s cubic-bezier(.3, 1.6, .5, 1) forwards; pointer-events: none; }
.trait > .etincelle--petite { width: 0.24em; height: 0.24em; left: -0.36em; top: 0.02em; animation-delay: 1.45s; }
.trait > .etincelle--grande { width: 0.42em; height: 0.42em; right: -0.5em; top: -0.18em; animation-delay: 1.3s; }
.trait > .etincelle--point { width: 0.14em; height: 0.14em; right: -0.62em; top: 0.3em; border-radius: 50%; background: var(--mdb-orange); animation-delay: 1.6s; }
@keyframes mdbTrait { to { stroke-dashoffset: 0; } }
@keyframes mdbPop { to { transform: scale(1); opacity: 1; } }

/* Fondu léger du visuel de hero */
.mdb-hero__visuel { animation: mdbFondu .8s ease-out both; }
@keyframes mdbFondu { from { opacity: 0; } to { opacity: 1; } }

/* Mouvement réduit : tout est affiché, sans animation */
@media (prefers-reduced-motion: reduce) {
	.trait > svg.trait__ligne path { animation: none; stroke-dashoffset: 0; }
	.trait > .etincelle { animation: none; transform: none; opacity: 1; }
	.mdb-hero__visuel { animation: none; }
}

/* --------------------------------------------------------------------------
   Picto éléphant (assets/pictos, SVG inline pour suivre la couleur du bloc)
   Un seul par page au maximum, jamais dans le catalogue.
   -------------------------------------------------------------------------- */
.mdb-picto { display: block; width: 180px; height: auto; min-height: 0; color: var(--mdb-marine); flex: none; }
.bloc-marine .mdb-picto { color: #fff; }

/* ==========================================================================
   Fiche formation (pilote, 29/10) : inc/fiche-formation.php
   ========================================================================== */
.mdb-fiche__haut { padding-bottom: 24px; }
.mdb-fiche__entete { display: flex; flex-direction: column; gap: 20px; max-width: 980px; }
.mdb-ariane { display: flex; flex-wrap: wrap; gap: 8px; font-size: 1.4rem; color: var(--mdb-texte-2); }
.mdb-ariane a { color: var(--mdb-texte-2); text-decoration: none; }
.mdb-ariane a:hover { text-decoration: none; }
.mdb-fiche__promesse { margin: 0; font-size: 2rem; line-height: 1.5; color: var(--mdb-texte-2); max-width: 760px; }
.mdb-fiche__corps { padding-top: 24px; }
.mdb-fiche__principal { display: flex; flex-direction: column; gap: 56px; min-width: 0; }
.mdb-fiche__bloc { display: flex; flex-direction: column; gap: 24px; }
.mdb-fiche__bloc p { margin: 0; }
.mdb-deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 32px; }
.mdb-deux h3 { margin-bottom: 8px; }
.mdb-liste { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.mdb-liste li::marker { color: var(--mdb-orange); }
.mdb-coches { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mdb-coches li { position: relative; padding-left: 34px; }
.mdb-coches li::before { content: ''; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--mdb-orange-pale) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C2B42' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat; }
.mdb-tuiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; }
.mdb-tuiles .mdb-tuile span { order: -1; }
.mdb-tuiles .mdb-tuile strong { font-size: 1.8rem; }

/* Programme */
.mdb-modules { display: flex; flex-direction: column; gap: 10px; }
.mdb-module { background: var(--mdb-carte); border-radius: var(--mdb-r-carte); }
body.type-accompagnement .mdb-module { background: var(--mdb-blanc); }
.mdb-module summary { display: flex; align-items: center; gap: 14px; padding: 18px 22px; cursor: pointer; list-style: none; font-weight: 600; }
.mdb-module summary::-webkit-details-marker { display: none; }
.mdb-module summary::after { content: '+'; margin-left: auto; font-size: 2.2rem; line-height: 1; color: var(--mdb-orange); }
.mdb-module[open] summary::after { content: '–'; }
.mdb-module__num { font-family: var(--mdb-font-titre); font-weight: 800; color: var(--mdb-orange); }
.mdb-module__duree { font-size: 1.4rem; color: var(--mdb-texte-2); font-weight: 500; }
.mdb-module .mdb-liste { padding: 0 22px 20px 64px; }
.mdb-module__partie { margin-top: 12px; }

/* Qui vous forme : une carte, des visages dessous */
.mdb-formateurs { display: flex; flex-direction: column; gap: 18px; }
.mdb-formateur { display: grid; grid-template-columns: 160px 1fr; gap: 24px; align-items: start; }
.mdb-formateur[hidden] { display: none; }
.mdb-formateur img { width: 160px; aspect-ratio: 1; object-fit: cover; border-radius: var(--mdb-r-carte); }
.mdb-formateur div { display: flex; flex-direction: column; gap: 8px; }
.mdb-formateur__expertise { font-weight: 600; color: var(--mdb-texte-2); }
.mdb-visages { display: flex; gap: 10px; flex-wrap: wrap; }
.mdb-visage { width: 56px; height: 56px; border-radius: 50%; padding: 0; overflow: hidden; border: 2px solid transparent; background: var(--mdb-sable); cursor: pointer; font-weight: 700; color: var(--mdb-marine); }
.mdb-visage img { width: 100%; height: 100%; object-fit: cover; }
.mdb-visage[aria-pressed="true"] { border-color: var(--mdb-orange); }
@media (max-width: 600px) { .mdb-formateur { grid-template-columns: 1fr; } }

/* Avis */
.mdb-avis__note { color: var(--mdb-orange); letter-spacing: 2px; }

/* Sessions */
.mdb-sessions { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.mdb-sessions li { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding: 14px 0; border-bottom: 1px solid var(--mdb-ligne); }
.mdb-session__dates { font-weight: 600; min-width: 220px; }

/* FAQ */
.mdb-faq { border-bottom: 1px solid var(--mdb-ligne); }
.mdb-faq summary { padding: 16px 0; cursor: pointer; font-weight: 600; list-style: none; display: flex; gap: 12px; }
.mdb-faq summary::-webkit-details-marker { display: none; }
.mdb-faq summary::after { content: '+'; margin-left: auto; color: var(--mdb-orange); font-size: 2.2rem; line-height: 1; }
.mdb-faq[open] summary::after { content: '–'; }
.mdb-faq p { padding-bottom: 16px; color: var(--mdb-texte-2); }

/* Carte collante */
.mdb-carte-fixe { position: sticky; top: 24px; background: var(--mdb-carte); border-radius: var(--mdb-r-carte); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
body.type-accompagnement .mdb-carte-fixe { background: var(--mdb-blanc); }
.mdb-carte-fixe__ligne { display: flex; flex-direction: column; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--mdb-ligne); }
.mdb-carte-fixe__ligne span:first-child { font-size: 1.3rem; font-weight: 600; color: var(--mdb-texte-2); text-transform: none; }
.mdb-carte-fixe__ligne .mdb-badge { align-self: flex-start; margin-top: 6px; }
.mdb-carte-fixe__tarif { margin: 0; font-size: 1.4rem; color: var(--mdb-texte-2); }
.mdb-carte-fixe__actions { display: flex; flex-direction: column; gap: 10px; }
.mdb-carte-fixe__actions .mdb-btn { width: 100%; }
.mdb-carte-fixe__tel { display: inline-flex; gap: 8px; align-items: center; justify-content: center; font-weight: 600; color: var(--mdb-marine); text-decoration: none; }
.mdb-carte-fixe__tel svg { width: 18px; height: 18px; min-height: 0; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 991px) { .mdb-carte-fixe { position: static; } }

/* Bloc marine et réassurance */
.mdb-fiche__marine { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between; }
.mdb-fiche__marine > div { max-width: 640px; display: flex; flex-direction: column; gap: 16px; }
.mdb-fiche__marine p { margin: 0; font-size: 1.8rem; }
.mdb-reassurance { padding-top: 0; }
.mdb-reassurance ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: var(--mdb-gouttiere); }
.mdb-reassurance li { display: flex; flex-direction: column; gap: 4px; }
.mdb-reassurance strong { font-family: var(--mdb-font-titre); font-weight: 800; font-size: 2.6rem; letter-spacing: -0.02em; }
.mdb-reassurance span { font-size: 1.4rem; color: var(--mdb-texte-2); }
/* Mobile : la carte récapitulative remonte juste sous l'en-tête de la fiche */
@media (max-width: 991px) { .mdb-fiche__corps .mdb-col-4 { order: -1; } }

/* ==========================================================================
   Header et footer du site (modèles Bricks natifs, 29/10)
   ========================================================================== */
.mdb-header-site { background: var(--mdb-blanc); border-bottom: 1px solid var(--mdb-ligne); position: relative; z-index: 50; }
.mdb-header-site .mdb-header { border-bottom: 0; max-width: calc(var(--mdb-max)); margin-inline: auto; width: 100%; flex-wrap: nowrap; }
.mdb-header .mdb-logo img, img.mdb-logo, .mdb-logo { height: 40px; width: auto; }
.mdb-header__actions { flex-wrap: nowrap; }
.mdb-header__tel { white-space: nowrap; }
@media (max-width: 1200px) { .mdb-header__tel { display: none; } }

/* Menu principal (élément Nav menu de Bricks) */
.mdb-nav .bricks-nav-menu { gap: 4px; }
.mdb-nav .bricks-nav-menu > li > a, .mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > a,
.mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > button { font-family: var(--mdb-font-texte); font-size: 1.6rem; font-weight: 600; color: var(--mdb-marine); padding: 10px 12px; }
.mdb-nav .mdb-parent-non-cliquable > .brx-submenu-toggle > a { pointer-events: none; padding-right: 0; } /* libellé parent non cliquable : le bouton ouvre le sous-menu */
.mdb-nav .sub-menu { background: var(--mdb-blanc); border: 1px solid var(--mdb-ligne); border-radius: var(--mdb-r-carte); padding: 10px; min-width: 260px; box-shadow: 0 18px 40px -24px rgba(28, 43, 66, .35); }
.mdb-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 12px; color: var(--mdb-marine); font-size: 1.5rem; font-weight: 500; text-decoration: none; }
.mdb-nav .sub-menu a:hover, .mdb-nav .sub-menu a:focus-visible { background: var(--mdb-carte); }
.mdb-nav .bricks-mobile-menu-toggle { color: var(--mdb-marine); }
.mdb-nav .bricks-mobile-menu-wrapper { background: var(--mdb-blanc); }
.mdb-nav .bricks-mobile-menu-wrapper a, .mdb-nav .bricks-mobile-menu-wrapper button { color: var(--mdb-marine); font-size: 1.7rem; }
.mdb-nav :focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; border-radius: 8px; }

/* Footer marine */
.mdb-footer { background: var(--mdb-marine); color: var(--mdb-texte-sur-marine); padding: 64px var(--mdb-marge) 32px; font-size: 1.5rem; }
.mdb-footer a { color: #fff; }
.mdb-footer__grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 40px; max-width: calc(var(--mdb-max) - 160px); margin-inline: auto; width: 100%; }
.mdb-footer__col { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.mdb-footer__col p, .mdb-footer address { margin: 0; font-style: normal; line-height: 1.6; }
.mdb-footer__titre { color: #fff; font-size: 1.7rem; letter-spacing: -0.01em; }
.mdb-footer__menu .bricks-nav-menu { flex-direction: column; gap: 6px; }
.mdb-footer__menu a { color: var(--mdb-texte-sur-marine) !important; font-size: 1.5rem; font-weight: 500; padding: 0 !important; text-decoration: none; transition: text-decoration-color .15s ease; }
.mdb-footer__bas { max-width: calc(var(--mdb-max) - 160px); margin: 48px auto 0; width: 100%; padding-top: 24px; border-top: 1px solid rgba(213, 219, 229, .2); display: flex; flex-direction: column; gap: 8px; font-size: 1.3rem; }
.mdb-footer__bas p { margin: 0; }
.mdb-footer__legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.mdb-footer__legal a { color: var(--mdb-texte-sur-marine); text-decoration: none; }
.mdb-footer__legal a:hover { text-decoration: none; }
.mdb-footer__tva:empty { display: none; }

/* ==========================================================================
   Micro-animations des éléments interactifs (29/10) : sobres, rapides, coupées si mouvement réduit
   ========================================================================== */
.mdb-btn { transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease; }
.mdb-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -12px rgba(28, 43, 66, .45); }
.mdb-btn:active { transform: translateY(0); box-shadow: none; }
a.mdb-carte, a.mdb-tuile, a.mdb-card-domaine { transition: transform .18s ease, box-shadow .18s ease; }
a.mdb-carte:hover, a.mdb-tuile:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(28, 43, 66, .35); }
.mdb-lien, .mdb-contenu a:not([class]) { transition: color .15s ease; }

/* Accordéons (programme, FAQ) : hauteur fluide, + qui tourne en −, fondu du contenu */
.mdb-module, .mdb-faq { interpolate-size: allow-keywords; }
.mdb-module::details-content, .mdb-faq::details-content { block-size: 0; overflow: hidden; opacity: 0; transition: block-size .25s ease-out, opacity .25s ease-out, content-visibility .25s allow-discrete; }
.mdb-module[open]::details-content, .mdb-faq[open]::details-content { block-size: auto; opacity: 1; }
.mdb-module summary::after, .mdb-faq summary::after { content: '+'; transition: transform .25s ease-out; }
.mdb-module[open] summary::after, .mdb-faq[open] summary::after { content: '+'; transform: rotate(45deg); }

@media (prefers-reduced-motion: reduce) {
	.mdb-btn, a.mdb-carte, a.mdb-tuile, .mdb-lien { transition: none; }
	.mdb-btn:hover, a.mdb-carte:hover, a.mdb-tuile:hover { transform: none; }
	.mdb-module::details-content, .mdb-faq::details-content { transition: none; }
	.mdb-module summary::after, .mdb-faq summary::after { transition: none; }
}

/* Image à la une de la fiche, sous l'en-tête (colonne 8/12) */
.mdb-fiche__visuel { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--mdb-r-bloc); display: block; }
/* Correctifs : le conteneur Bricks est en colonne par défaut ; les liens du footer ne doivent pas blanchir les boutons */
.mdb-header-site .mdb-header, .mdb-header-site .brxe-container.mdb-header { flex-direction: row; align-items: center; justify-content: space-between; padding: 14px var(--mdb-marge); }
.mdb-footer a.mdb-btn--sur-marine, .bloc-marine a.mdb-btn--sur-marine { color: var(--mdb-marine); }
.mdb-btn .brxe-svg, .mdb-btn svg { width: 18px; height: 18px; min-height: 0; flex: none; }
.mdb-btn .brxe-text-basic { line-height: 1; }
.mdb-header-site .mdb-logo, .mdb-header-site .brxe-image.mdb-logo { flex: none; min-width: 150px; height: 40px; }
.mdb-header-site .mdb-logo img { height: 40px; width: auto; }
.mdb-nav .bricks-nav-menu > li > a, .mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > a { white-space: nowrap; }
.mdb-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.mdb-nav .bricks-nav-menu { gap: 0; }
.mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > button { padding: 6px 4px 6px 2px; }
.mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > a { padding-right: 2px; }
.mdb-nav .bricks-nav-menu > li { margin: 0 6px; }
.mdb-header-site .mdb-header { gap: 16px; }
@media (max-width: 89.99em) { .mdb-header__tel { display: none; } }
/* Mobile : logo + menu ; le bouton « Être rappelé(e) » est dans la carte de la fiche et le bloc marine */
@media (max-width: 767px) { .mdb-header__actions { display: none; } .mdb-header-site .mdb-logo, .mdb-header-site .brxe-image.mdb-logo { min-width: 0; height: 32px; } .mdb-header-site .mdb-logo img { height: 32px; } }
@media (max-width: 991px) { .mdb-nav { justify-content: flex-end; } }
/* Fiche en éléments Bricks natifs */
.mdb-fiche__visuel-cadre, img.mdb-fiche__visuel-cadre { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--mdb-r-bloc); display: block; }
.mdb-module__groupe { display: contents; }
.mdb-formateur > .brxe-image, .mdb-formateur > img { width: 160px; aspect-ratio: 1; object-fit: cover; border-radius: var(--mdb-r-carte); }
.mdb-visage img { width: 100%; height: 100%; object-fit: cover; }
.mdb-carte-fixe__tel svg { width: 18px; height: 18px; min-height: 0; }
.mdb-fiche__marine > svg.mdb-picto, .mdb-fiche__marine > .mdb-picto { width: 180px; height: auto; min-height: 0; color: #fff; }

/* Titres : pas de césure automatique ; mots composés insécables (inc/typo-titres.php) */
h1, h2, h3, h4 { hyphens: manual; overflow-wrap: normal; }
.mdb-insecable { white-space: nowrap; }

/* Carrousel des témoignages (Bricks slider, 3 témoignages et plus) */
.mdb-carrousel { padding-bottom: 48px; }
.mdb-carrousel .splide__arrow { width: 44px; height: 44px; border-radius: 50%; background: var(--mdb-blanc); border: 1.5px solid var(--mdb-marine); color: var(--mdb-marine); top: auto; bottom: 0; transform: none; }
.mdb-carrousel .splide__arrow--prev { left: auto; right: 56px; }
.mdb-carrousel .splide__arrow--next { right: 0; }
.mdb-carrousel .splide__arrow:focus-visible, .mdb-carrousel .splide__pagination__page:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-carrousel .splide__pagination { bottom: 14px; left: 0; right: auto; justify-content: flex-start; padding: 0; }
.mdb-carrousel .splide__pagination__page { background: var(--mdb-ligne); opacity: 1; width: 10px; height: 10px; }
.mdb-carrousel .splide__pagination__page.is-active { background: var(--mdb-orange); transform: none; }
.mdb-carrousel .splide__slide { display: flex; }
.mdb-carrousel .splide__track, .mdb-carrousel .splide__list, .mdb-carrousel .splide__slide, .mdb-carrousel .brxe-block.mdb-avis { height: auto !important; min-height: 0 !important; }
/* Grande taille de texte du navigateur : le header passe sur deux lignes plutôt que de déborder */
.mdb-header-site .mdb-header, .mdb-header-site .brxe-container.mdb-header { flex-wrap: wrap; row-gap: 8px; }
/* À partir de 1440px (en em : suit la taille de texte du navigateur), logo, menu et actions tiennent sur une ligne (29/10) */
@media (min-width: 77.5em) { .mdb-header-site .mdb-header, .mdb-header-site .brxe-container.mdb-header { flex-wrap: nowrap; } }
/* Carte collante de la fiche : marge de 24 px (2.4rem) en haut pendant le défilement ; jamais plus haute que l'écran (29/10) */
.mdb-carte-fixe { top: 2.4rem; max-height: calc(100vh - 4.8rem); overflow-y: auto; }
.mdb-fiche__corps .mdb-col-4 { align-self: stretch; }
@media (max-width: 991px) { .mdb-carte-fixe { max-height: none; overflow: visible; } }

/* ==========================================================================
   Catalogue « Toutes les formations » (29/10)
   ========================================================================== */
.mdb-col-3 { grid-column: span 3; } .mdb-col-9 { grid-column: span 9; }
@media (max-width: 991px) { .mdb-col-3, .mdb-col-9 { grid-column: 1 / -1; } }
.mdb-col-5 { grid-column: span 5; } .mdb-col-7 { grid-column: span 7; }
@media (max-width: 991px) { .mdb-col-5, .mdb-col-7 { grid-column: 1 / -1; } }
.mdb-sr-titre { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mdb-catalogue__haut { padding-bottom: 16px; }
.mdb-catalogue__domaines { padding-top: 16px; padding-bottom: 16px; }
.mdb-tuiles-domaines { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 170px), 1fr)); gap: 10px; }
.mdb-tuiles-domaines .mdb-tuile { padding: 14px 16px; gap: 2px; }
.mdb-tuiles-domaines .mdb-tuile strong { font-size: 1.6rem; line-height: 1.25; }
.mdb-tuiles-domaines .mdb-tuile span { font-size: 1.3rem; }
@media (max-width: 767px) {
	.mdb-tuiles-domaines { display: flex; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 6px; scrollbar-width: thin; }
	.mdb-tuiles-domaines > * { flex: 0 0 auto; width: 15.5rem; scroll-snap-align: start; }
}
/* Grande recherche de l'en-tête et bandeau fin « Je me fais guider » (ordre validé par Magali le 29/10) */
.mdb-catalogue__recherche { max-width: 760px; }
.mdb-catalogue__recherche .mdb-filtre--recherche input:not([type="checkbox"]):not([type="radio"]) { min-height: 6rem; padding: 0 24px; font-size: 1.7rem; border-color: var(--mdb-marine); box-shadow: 0 10px 30px -20px rgba(28, 43, 66, .45); }
/* Bandeau « Je me fais guider » en marine avec l'éléphant (test du 29/10, à la place de l'orange pâle) */
.mdb-bandeau-guide { margin-top: 24px; display: flex; align-items: center; gap: 14px 20px; padding: 12px 12px 12px 18px; border-radius: 28px; background: var(--mdb-marine); }
.mdb-bandeau-guide__visuel { flex: none; display: flex; color: var(--mdb-creme); }
.mdb-bandeau-guide__picto { width: 60px; height: 60px; min-height: 0; margin: -6px 0; }
.mdb-bandeau-guide p { margin: 0; flex: 1; color: #D5DBE5; }
.mdb-bandeau-guide p strong { color: #fff; font-weight: 700; }
.mdb-bandeau-guide .mdb-btn { flex: none; min-height: 4.4rem; color: var(--mdb-marine); }
@media (max-width: 599px) { .mdb-bandeau-guide { flex-wrap: wrap; padding: 16px; } .mdb-bandeau-guide p { flex-basis: calc(100% - 72px); } .mdb-bandeau-guide .mdb-btn { width: 100%; justify-content: center; } }
/* Barre de filtres horizontale au-dessus des cartes */
.mdb-barre-filtres { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; padding: 16px 20px; border-radius: var(--mdb-r-tuile); background: var(--mdb-carte); }
.mdb-barre-filtres__champ { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; max-width: 320px; }
.mdb-barre-filtres .mdb-filtre__titre { margin: 0; font-size: 1.3rem; }
/* Listes déroulantes (select amélioré de Bricks, Choices.js) : fermé en pilule, liste personnalisée qui apparaît en fondu (29/10) */
.mdb-filtre--select { position: relative; }
.mdb-filtre--select .bricks-choices { position: relative; font-size: 1.5rem; border-radius: var(--mdb-r-pill); outline: 0; }
.mdb-filtre--select .bricks-choices__inner { display: flex; align-items: center; min-height: 4.6rem; padding: 0 44px 0 18px; border: 1.5px solid var(--mdb-ligne); border-radius: var(--mdb-r-pill); background: #fff; color: var(--mdb-marine); cursor: pointer; transition: border-color .18s ease; }
.mdb-filtre--select .bricks-choices:hover .bricks-choices__inner { border-color: var(--mdb-marine); }
.mdb-filtre--select .bricks-choices:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-filtre--select .bricks-choices:focus-visible .bricks-choices__inner, .mdb-filtre--select .bricks-choices.is-open .bricks-choices__inner { border-color: var(--mdb-marine); }
.mdb-filtre--select .bricks-choices__list--single { padding: 0; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mdb-filtre--select .bricks-choices__list--single .bricks-choices__item { opacity: 1; }
.mdb-filtre--select .bricks-choices__button { display: none; }
.mdb-filtre--select .bricks-choices::after { content: ''; position: absolute; right: 20px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border: solid var(--mdb-marine); border-width: 0 2px 2px 0; border-radius: 1px; transform: rotate(45deg); transition: transform .18s ease, margin-top .18s ease; pointer-events: none; }
.mdb-filtre--select .bricks-choices.is-open::after { transform: rotate(-135deg); margin-top: -2px; }
.mdb-filtre--select .bricks-choices__list--dropdown { display: block; position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 8px); width: auto; min-width: 100%; max-height: none; margin: 0; padding: 6px; background: #fff; border: 1px solid var(--mdb-ligne); border-radius: 16px; box-shadow: 0 18px 40px -18px rgba(28, 43, 66, .35); visibility: hidden; opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.mdb-filtre--select .bricks-choices__list--dropdown.is-active { visibility: visible; opacity: 1; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
.mdb-filtre--select .bricks-choices__list--dropdown > .bricks-choices__list { max-height: 32rem; overflow-y: auto; overscroll-behavior: contain; }
.mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__item { padding: 10px 14px; border-radius: 10px; color: var(--mdb-marine); font-size: 1.5rem; line-height: 1.3; cursor: pointer; transition: background-color .12s ease; }
.mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__placeholder { opacity: 1; }
.mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__item.is-highlighted { background: var(--mdb-carte); }
.mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__item.is-selected { background: var(--mdb-orange-pale); font-weight: 600; }
.mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__item.is-selected.is-highlighted { background: var(--mdb-orange-pale); }
@media (prefers-reduced-motion: reduce) {
	.mdb-filtre--select .bricks-choices__inner, .mdb-filtre--select .bricks-choices::after, .mdb-filtre--select .bricks-choices__list--dropdown, .mdb-filtre--select .bricks-choices__list--dropdown.is-active, .mdb-filtre--select .bricks-choices__list--dropdown .bricks-choices__item { transition: none; }
	.mdb-filtre--select .bricks-choices__list--dropdown { transform: none; }
}
/* Pastilles CPF et Certifiante : case cochée = pastille marine */
.mdb-filtre--pastille label { min-height: 4.6rem; padding: 0 18px; border: 1.5px solid var(--mdb-ligne); border-radius: var(--mdb-r-pill); background: #fff; font-weight: 600; white-space: nowrap; }
.mdb-filtre--pastille label:has(input:checked) { background: var(--mdb-marine); border-color: var(--mdb-marine); color: #fff; }
.mdb-filtre--pastille label:has(input:focus-visible) { outline: 3px solid var(--mdb-orange); outline-offset: 1px; }
.mdb-filtre--pastille input[type="checkbox"] { accent-color: var(--mdb-orange); }
.mdb-catalogue__entete-liste { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.mdb-filtre__raz { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--mdb-marine); text-decoration: none; cursor: pointer; }
.mdb-filtre__titre { margin: 14px 0 2px; font-weight: 700; font-size: 1.5rem; color: var(--mdb-marine); }
.mdb-filtre__titre:first-child { margin-top: 0; }
.mdb-filtre input:not([type="checkbox"]):not([type="radio"]) { width: 100%; min-height: 4.8rem; padding: 0 16px; border: 1.5px solid var(--mdb-ligne); border-radius: var(--mdb-r-pill); font: inherit; font-size: 1.5rem; color: var(--mdb-marine); background: #fff; }
.mdb-filtre input:not([type="checkbox"]):focus { outline: 3px solid var(--mdb-orange); outline-offset: 1px; border-color: var(--mdb-marine); }
.mdb-filtre ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mdb-filtre label { display: flex; align-items: center; gap: 10px; font-size: 1.5rem; color: var(--mdb-marine); cursor: pointer; }
.mdb-filtre input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--mdb-marine); }
.mdb-filtre--actifs:empty { display: none; }
.mdb-catalogue__resultats { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.mdb-catalogue__compteur { font-weight: 700; font-size: 1.7rem; }
.mdb-catalogue__liste .mdb-conteneur { display: flex; flex-direction: column; gap: 20px; }
/* 3 cartes par ligne sur ordinateur, 2 sur tablette, 1 sur mobile (24 par page) */
.mdb-cartes--catalogue { grid-template-columns: 1fr; }
@media (min-width: 600px) { .mdb-cartes--catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .mdb-cartes--catalogue { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mdb-carte__session { font-weight: 600; color: var(--mdb-marine); }
/* Cartes formation (catalogue, guide de style), 29/10 : structure fixe pour que les cartes d'une même ligne s'alignent.
   Badges petits sur une seule ligne en haut (2 au plus, puis « +N »), domaine, titre sur 3 lignes au plus, durée et session calées en bas. */
.mdb-carte--formation .mdb-carte__corps { flex: 1; }
.mdb-badges--carte { flex-wrap: nowrap; gap: 6px; min-width: 0; }
.mdb-badges--carte .mdb-badge { display: block; flex: 0 1 auto; min-width: 0; min-height: 0; height: 2.3rem; padding: 0 10px; font-size: 1.2rem; line-height: 2.1rem; overflow: hidden; text-overflow: ellipsis; }
.mdb-badges--carte .mdb-badge > span { display: inline; }
.mdb-badges--carte .mdb-badge--pale::before { display: inline-block; width: 6px; height: 6px; margin-right: 6px; vertical-align: 1px; }
.mdb-badges--carte .mdb-badge:nth-child(n+3):not(.mdb-badge--plus) { display: none; }
.mdb-badges--carte .mdb-badge:first-child { flex: none; max-width: 70%; }
.mdb-badges--carte .mdb-badge--plus { flex: none; color: var(--mdb-texte-2); }
.mdb-carte--formation h3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.mdb-carte__pied { margin-top: auto; display: flex; flex-direction: column; gap: 4px; }
.mdb-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 4.4rem; min-height: 4.4rem; border-radius: var(--mdb-r-pill); color: var(--mdb-marine); font-weight: 600; text-decoration: none; }
.mdb-pagination .page-numbers.current { background: var(--mdb-marine); color: #fff; }
.mdb-pagination a.page-numbers:hover { background: var(--mdb-carte); }
.mdb-bandeau { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.mdb-bandeau > div { max-width: 720px; display: flex; flex-direction: column; gap: 10px; }
.mdb-bandeau p, .mdb-catalogue__texte p { margin: 0; }
/* FAQ en bloc crème arrondi (radius 28, comme les appels à l'action) dans sa propre section blanche ; le texte SEO suit dans une autre section blanche (catalogue, pages domaines à venir) */
.mdb-faq-bloc { display: flex; flex-direction: column; gap: 12px; }
.mdb-catalogue__texte { max-width: 860px; display: flex; flex-direction: column; gap: 12px; color: var(--mdb-texte-2); }
/* Filtres repliables : bouton visible sur mobile seulement (moins de 768px) */
.mdb-filtres-pliables { display: flex; flex-direction: column; gap: 8px; }
.mdb-filtres-pliables__bouton { list-style: none; cursor: pointer; }
.mdb-filtres-pliables__bouton::-webkit-details-marker { display: none; }
@media (min-width: 768px) { .mdb-filtres-pliables__bouton { display: none; } }
@media (max-width: 767px) {
	.mdb-barre-filtres { flex-direction: column; align-items: stretch; }
	.mdb-barre-filtres__champ { max-width: none; flex-basis: auto; }
	.mdb-filtres-pliables__bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 5.2rem; padding: 0 26px; border-radius: var(--mdb-r-pill); border: 1.5px solid var(--mdb-marine); font-weight: 600; color: var(--mdb-marine); background: #fff; }
	.mdb-filtres-pliables[open] .mdb-filtres-pliables__bouton { background: var(--mdb-marine); color: #fff; }
}

/* Catalogue, bloc « À la une » (test du 29/10) : 3 cartes un peu plus grandes avant la barre de filtres ; rangée défilante sur mobile */
.mdb-une { display: flex; flex-direction: column; gap: 20px; margin-bottom: 40px; }
.mdb-une[hidden] { display: none; }
.mdb-cartes--une { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mdb-cartes--une .mdb-carte__corps { padding: 26px; }
.mdb-cartes--une .mdb-carte h3 { font-size: 2.4rem; }
@media (max-width: 767px) {
	.mdb-cartes--une { display: flex; overflow-x: auto; scroll-snap-type: x proximity; gap: 14px; padding-bottom: 6px; }
	.mdb-cartes--une > * { flex: 0 0 82%; scroll-snap-align: start; }
	.mdb-cartes--une .mdb-carte__corps { padding: 22px; }
	.mdb-cartes--une .mdb-carte h3 { font-size: 2.2rem; }
}
/* Catalogue, « Financer sa formation » : fond blanc encadré (entre le bandeau crème et le bloc marine) */
.mdb-financer { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding: 36px 40px; border: 1px solid var(--mdb-ligne); border-radius: var(--mdb-r-carte); }
.mdb-financer > div { max-width: 760px; display: flex; flex-direction: column; gap: 14px; }
.mdb-financer p { margin: 0; color: var(--mdb-texte-2); }
@media (max-width: 599px) { .mdb-financer { padding: 24px 20px; } }

/* Icônes des tuiles de domaines (Lucide au trait 1,75, navy), 29/10 */
.mdb-tuile .mdb-tuile__visuel { display: flex; margin-bottom: 6px; color: var(--mdb-marine); }
.mdb-tuile__icone { width: 2.4rem; height: 2.4rem; min-height: 0; flex: none; }

/* --------------------------------------------------------------------------
   Page d'accueil (29/10)
   -------------------------------------------------------------------------- */
.mdb-accueil__hero .mdb-grille { align-items: center; }
.mdb-hero__texte { display: flex; flex-direction: column; gap: 18px; }
.mdb-hero__accroche { margin: 0; font-family: var(--mdb-font-titre); font-weight: 800; font-size: clamp(4rem, 5.4vw, 6.8rem); line-height: 1.02; letter-spacing: -0.035em; color: var(--mdb-marine); }
.mdb-hero__h1 { margin: 0; font-family: var(--mdb-font-texte); font-size: 1.8rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; color: var(--mdb-marine); }
.mdb-hero__intro { margin: 0; font-size: 1.7rem; color: var(--mdb-texte-2); max-width: 54rem; }
.mdb-hero__tel { margin: 0; color: var(--mdb-texte-2); }
.mdb-hero__visuel img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--mdb-r-bloc); display: block; }
.mdb-accueil__recherche { margin-top: 40px; display: flex; flex-direction: column; gap: 14px; }
.mdb-recherche-accueil { display: flex; flex-direction: column; gap: 10px; max-width: 860px; }
.mdb-recherche-accueil label { font-weight: 700; color: var(--mdb-marine); font-size: 1.7rem; }
.mdb-recherche-accueil__champ { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 24px; border: 1.5px solid var(--mdb-marine); border-radius: var(--mdb-r-pill); background: #fff; box-shadow: 0 10px 30px -20px rgba(28, 43, 66, .45); }
.mdb-recherche-accueil__champ:focus-within { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-recherche-accueil input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 1.7rem; color: var(--mdb-marine); min-height: 4.8rem; }
.mdb-recherche-accueil .mdb-btn { flex: none; }
@media (max-width: 599px) { .mdb-recherche-accueil__champ { padding-left: 16px; } .mdb-recherche-accueil .mdb-btn { padding: 0 18px; } }
/* Réassurance : chiffres clés */
.mdb-chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; padding: 28px 0; border-top: 1px solid var(--mdb-ligne); border-bottom: 1px solid var(--mdb-ligne); }
.mdb-chiffre { display: flex; flex-direction: column; gap: 4px; }
.mdb-chiffre strong { font-family: var(--mdb-font-titre); font-weight: 800; font-size: 3.6rem; line-height: 1; letter-spacing: -0.03em; color: var(--mdb-marine); }
.mdb-chiffre span { color: var(--mdb-texte-2); }
/* Votre parcours : 4 cartes */
.mdb-parcours { margin-top: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.mdb-parcours__carte { position: relative; padding: 24px 24px 56px; min-height: 16rem; }
.mdb-parcours__carte strong { font-size: 2.1rem; }
.mdb-parcours__carte span { font-size: 1.5rem; }
.mdb-parcours__fleche { position: absolute; left: 24px; bottom: 22px; width: 2rem; height: 2rem; min-height: 0; color: var(--mdb-marine); transition: transform .18s ease; }
a.mdb-parcours__carte:hover .mdb-parcours__fleche { transform: translateX(4px); }
/* Titre de section avec un bouton à droite */
.mdb-zone-titre--action { max-width: none; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: 28px; }
.mdb-zone-titre--action > div { max-width: 760px; display: flex; flex-direction: column; gap: 12px; }
/* Formations du moment : bande crème pleine largeur, cartes blanches */
.mdb-section--creme { background: var(--mdb-creme); }
.mdb-cartes--tendances { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mdb-cartes--tendances .mdb-carte { background: #fff; }
@media (max-width: 991px) { .mdb-cartes--tendances { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.mdb-cartes--tendances { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 6px; }
	.mdb-cartes--tendances > * { flex: 0 0 82%; scroll-snap-align: start; }
}
/* Prochaines sessions */
.mdb-sessions-accueil { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.mdb-session-carte { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--mdb-ligne); border-radius: var(--mdb-r-carte); text-decoration: none; color: inherit; transition: transform .18s ease, box-shadow .18s ease; height: 100%; }
a.mdb-session-carte:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(28, 43, 66, .35); }
.mdb-session-carte__date { flex: none; width: 6.4rem; height: 6.4rem; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 16px; background: var(--mdb-orange-pale); font-family: var(--mdb-font-titre); font-weight: 800; font-size: 1.7rem; line-height: 1.1; color: var(--mdb-marine); }
.mdb-session-carte__texte { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mdb-session-carte__texte strong { color: var(--mdb-marine); line-height: 1.3; }
.mdb-session-carte__texte .mdb-texte-2 { font-size: 1.4rem; }
.mdb-session-carte__places .mdb-badge { min-height: 2.3rem; padding: 0 10px; font-size: 1.2rem; }
/* Ressources */
.mdb-accueil__ressources-bloc { display: flex; flex-direction: column; gap: 28px; }
.mdb-carte--ressource h3 { font-size: 2rem; }
.mdb-carte--ressource p { margin: 0; }
/* Texte SEO replié */
.mdb-seo-replie { display: flex; flex-direction: column; gap: 12px; }
.mdb-seo-replie > summary { cursor: pointer; font-weight: 600; color: var(--mdb-marine); text-decoration: none; list-style: none; }
.mdb-seo-replie > summary::-webkit-details-marker { display: none; }
.mdb-seo-replie[open] > summary { margin-bottom: 8px; }
.mdb-seo-replie h3 { margin: 12px 0 0; font-size: 2rem; color: var(--mdb-marine); }
@media (prefers-reduced-motion: reduce) { .mdb-parcours__fleche, .mdb-session-carte { transition: none; } a.mdb-session-carte:hover, a.mdb-parcours__carte:hover .mdb-parcours__fleche { transform: none; } }
/* Repères du hero : le badge long passe à la ligne sur mobile au lieu de déborder */
.mdb-accueil__reperes .mdb-badge { white-space: normal; line-height: 1.3; padding-top: 6px; padding-bottom: 6px; }

/* Pages domaines (29/10) : intro et texte SEO issus des champs du terme */
.mdb-domaine__intro { max-width: 760px; font-size: 1.7rem; color: var(--mdb-texte-2); display: flex; flex-direction: column; gap: 12px; }
.mdb-domaine__intro p, .mdb-domaine__texte p { margin: 0; }
.mdb-domaine__retour { margin: 0; }
.mdb-domaine__texte { display: flex; flex-direction: column; gap: 12px; }
.mdb-domaine__texte h2 { font-size: var(--mdb-h2, 3rem); color: var(--mdb-marine); margin: 0 0 4px; }
.mdb-domaine__texte h3 { font-size: 2rem; color: var(--mdb-marine); margin: 12px 0 0; }
.mdb-catalogue__seo .mdb-catalogue__texte > .mdb-btn { align-self: flex-start; margin-top: 12px; }

/* Menu burger aussi sur les petits portables (992 à 1239 px, en em pour suivre la taille de texte), 29/10 :
   avec le menu allégé (15 px), il tient sur une ligne dès 1240 px ; le téléphone s’y ajoute à partir de 1440 px. Panneau Bricks identique à la tablette. */
@media (min-width: 992px) and (max-width: 77.49em) {
	.mdb-nav > .bricks-nav-menu-wrapper { display: none; }
	.mdb-nav .bricks-mobile-menu-toggle { display: block; }
}
/* Téléphone et « Être rappelé(e) » en bas du panneau du menu (ajoutés par inc/entete.php) */
.mdb-panneau-actions { display: flex; flex-direction: column; gap: 12px; padding: 24px 30px 32px; border-top: 1px solid var(--mdb-ligne); }
.mdb-panneau-actions .mdb-btn { width: 100%; }
.mdb-panneau-actions .mdb-header__tel { display: inline-flex !important; justify-content: center; font-weight: 600; color: var(--mdb-marine); }
/* Panneau du menu burger : fond blanc (Bricks met un fond sombre par défaut), texte foncé, bouton plein lisible */
.mdb-nav .bricks-mobile-menu-wrapper::before { background-color: var(--mdb-blanc); }
.mdb-nav .bricks-mobile-menu-wrapper { box-shadow: 0 0 40px rgba(0, 0, 0, .18); }
.mdb-nav .bricks-mobile-menu > li { border-bottom: 1px solid var(--mdb-ligne); }
.mdb-nav .bricks-mobile-menu-wrapper .mdb-panneau-actions .mdb-btn--primaire, .mdb-nav .bricks-mobile-menu-wrapper .mdb-panneau-actions .mdb-btn--primaire * { color: #fff; }
.mdb-nav .bricks-mobile-menu-wrapper .mdb-panneau-actions svg { min-height: 0; }
/* Bouton burger calé à droite, à côté de « Être rappelé(e) » */
@media (max-width: 77.49em) { .mdb-header-site .mdb-nav { display: flex; justify-content: flex-end; flex: 1 1 auto; } }
/* Entrées de menu dont la page n'est pas encore construite (lien « # », classe mdb-a-venir : _projet/outils/menus-liens.php) */
li.mdb-a-venir > a, li.mdb-a-venir > .brx-submenu-toggle > a { opacity: .5; cursor: default; pointer-events: none; }

/* En-tête plus léger (retour de Magali, 29/10) : menu à 15 px, graisse 500, espacement resserré ; sous-menus compacts */
.mdb-nav .bricks-nav-menu > li { margin: 0 2px; }
.mdb-nav .bricks-nav-menu > li > a, .mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > a { font-size: 1.5rem; font-weight: 500; padding: 10px 2px 10px 8px; letter-spacing: -0.01em; }
.mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > button { padding: 6px 6px 6px 2px; }
.mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > button svg, .mdb-nav .bricks-nav-menu > li > .brx-submenu-toggle > button i { font-size: 1.2rem; }
.mdb-nav .sub-menu { padding: 6px; min-width: 22rem; border-radius: 14px; }
.mdb-nav .sub-menu a { padding: 9px 12px; font-size: 1.45rem; line-height: 1.3; border-radius: 9px; transition: background-color .15s ease; }
/* Sous-menus dans le burger : simple retrait, sans cadre ni ombre */
.mdb-nav .bricks-mobile-menu .sub-menu { border: 0; box-shadow: none; border-radius: 0; min-width: 0; background: var(--mdb-creme); padding: 4px 18px 10px; }
.mdb-nav .bricks-mobile-menu .sub-menu a { font-size: 1.5rem; }

/* --------------------------------------------------------------------------
   Pages « Votre parcours » (29/10)
   -------------------------------------------------------------------------- */
.mdb-surtitre { margin: 0; font-size: 1.4rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--mdb-texte-2); }
/* Hub : les 4 enjeux */
.mdb-enjeux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.mdb-enjeu { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 24px 24px 60px; border: 1px solid var(--mdb-ligne); border-radius: 16px; background: #fff; text-decoration: none; color: var(--mdb-marine); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1), border-color .2s; }
.mdb-enjeu:hover { transform: translateY(-3px); border-color: var(--mdb-marine); box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .22); }
.mdb-enjeu:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 3px; }
.mdb-enjeu h3 { font-size: 2.2rem; }
.mdb-enjeu__accroche { margin: 0; color: var(--mdb-texte-2); }
.mdb-enjeu__situations { margin: 4px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 1.45rem; }
.mdb-enjeu__fleche { position: absolute; left: 24px; bottom: 22px; width: 2rem; height: 2rem; min-height: 0; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.mdb-enjeu:hover .mdb-enjeu__fleche { transform: translateX(4px); }
/* Situations vécues */
.mdb-situations { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.mdb-situation { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--mdb-ligne); border-radius: 16px; background: #fff; }
.mdb-situation h3 { font-size: 2.1rem; }
.mdb-situation p { margin: 0; color: var(--mdb-texte-2); }
.mdb-situation__objectifs { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.mdb-situation__financements { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--mdb-ligne); display: flex; flex-direction: column; gap: 8px; }
.mdb-situation__titre-fin { font-size: 1.3rem; font-weight: 600; color: var(--mdb-texte-2); }
a.mdb-badge--lien { text-decoration: none; transition: background-color .2s, border-color .2s; }
a.mdb-badge--lien:hover { background: var(--mdb-creme); border-color: var(--mdb-marine); }
a.mdb-badge--lien:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
/* Formulaire guidé (emplacement) */
.mdb-guide > div { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.mdb-guide p { margin: 0; }
.mdb-guide__emplacement { padding: 18px; border: 2px dashed var(--mdb-ligne); border-radius: 12px; font-size: 1.4rem; color: var(--mdb-texte-2); background: #fff; }
.mdb-cartes--accompagnements { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }

/* Votre parcours, 2e passe (29/10) : portraits des profils, situations avec picto et formations liées */
.mdb-profil-visuel img, .mdb-profil-visuel__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mdb-profil-visuel__picto { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background: var(--mdb-sable); color: var(--mdb-marine); }
.mdb-profil-visuel__svg { width: 55%; height: auto; min-height: 0; }
.mdb-profil-visuel__legende { position: absolute; top: 14px; right: 16px; max-width: 60%; text-align: right; font-size: 1.3rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--mdb-marine); }
/* Cartes du hub et de l'accueil : portrait en tête de carte */
.mdb-enjeu { padding-top: 0; overflow: hidden; }
.mdb-enjeu__visuel { position: relative; display: block; margin: 0 -24px 6px; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mdb-sable); }
.mdb-parcours__carte { overflow: hidden; }
.mdb-parcours__carte .mdb-enjeu__visuel { margin: -22px -22px 12px; }
/* En-tête des pages enjeux : portrait en grand sur aplat sable */
.mdb-parcours__haut .mdb-grille { align-items: center; row-gap: 32px; }
.mdb-parcours__portrait { position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: 20px; overflow: hidden; background: var(--mdb-sable); }
/* Situations : picto éléphant et formations liées */
.mdb-situation__visuel { display: flex; width: 5.6rem; height: 5.6rem; align-items: center; justify-content: center; border-radius: 14px; background: var(--mdb-creme); color: var(--mdb-marine); }
.mdb-situation__picto { width: 4.4rem; height: 4.4rem; min-height: 0; }
.mdb-situation__formations { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--mdb-ligne); }
.mdb-mini-cartes { display: flex; flex-direction: column; gap: 8px; }
.mdb-mini-carte { display: flex; align-items: center; gap: 12px; padding: 6px; border-radius: 12px; text-decoration: none; color: var(--mdb-marine); background: var(--mdb-creme); transition: background-color .2s, transform .35s cubic-bezier(.2, .8, .2, 1); }
.mdb-mini-carte:hover { background: var(--mdb-sable); transform: translateX(2px); }
.mdb-mini-carte:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-mini-carte img { flex: none; width: 6.4rem; height: 4.8rem; object-fit: cover; border-radius: 8px; }
.mdb-mini-carte__texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mdb-mini-carte__texte strong { font-size: 1.45rem; line-height: 1.3; font-weight: 600; }
.mdb-mini-carte__texte span { font-size: 1.3rem; color: var(--mdb-texte-2); }
.mdb-parcours__chiffres { padding-top: 0; }
/* Portrait en pleine largeur de carte (marges négatives = padding de la carte) */
.mdb-enjeu > .mdb-enjeu__visuel { max-width: none; width: calc(100% + 48px); margin: 0 0 6px -24px; }
.mdb-parcours__carte > .mdb-enjeu__visuel { max-width: none; width: calc(100% + 44px); margin: -22px 0 12px -22px; }
body.mdb-style-qonto .mdb-parcours__carte > .mdb-enjeu__visuel { max-width: none; width: calc(100% + 44px); margin: -22px 0 12px -22px; }
/* Badges de financement sur les cartes de profil : une ligne, sous le portrait */
.mdb-enjeu__badges { min-width: 0; }
.mdb-parcours__carte .mdb-enjeu__badges { margin-bottom: 2px; }
.mdb-enjeu__badges .mdb-badges--carte { display: flex; }

/* --------------------------------------------------------------------------
   Hub Votre parcours retravaillé (29/10) : deux portes, grandes cartes 2 × 2, zone éditoriale
   -------------------------------------------------------------------------- */
.mdb-hub__portes { display: grid; grid-template-columns: 3fr 2fr; gap: 16px; margin-top: 28px; }
@media (max-width: 860px) { .mdb-hub__portes { grid-template-columns: 1fr; } }
.mdb-hub__porte { display: flex; flex-direction: column; gap: 14px; padding: clamp(20px, 2.4vw, 32px); border-radius: 20px; }
.mdb-hub__porte p { margin: 0; }
.mdb-hub__porte--recherche { background: var(--mdb-creme); border: 1px solid var(--mdb-ligne); }
.mdb-hub__porte--recherche .mdb-recherche-accueil { max-width: none; }
.mdb-hub__porte--recherche .mdb-recherche-accueil label { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 2.4rem; letter-spacing: -0.035em; }
.mdb-hub__porte--recherche .mdb-recherche-accueil__champ { background: #fff; }
.mdb-hub__porte--recherche .mdb-suggestions { display: flex; flex-wrap: wrap; gap: 8px; }
.mdb-hub__porte--recherche .mdb-suggestions a { display: inline-flex; align-items: center; min-height: 3.6rem; padding: 0 14px; border-radius: var(--mdb-r-pill); background: #fff; border: 1px solid var(--mdb-ligne); color: var(--mdb-marine); font-size: 1.4rem; font-weight: 500; text-decoration: none; }
.mdb-hub__porte--recherche .mdb-suggestions a:hover { border-color: var(--mdb-marine); }
.mdb-hub__porte--guide { position: relative; background: var(--mdb-marine); color: #D9D6CF; justify-content: center; }
.mdb-hub__porte--guide .mdb-btn { align-self: flex-start; color: var(--mdb-marine); }
.mdb-hub__porte-titre { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 2.4rem; letter-spacing: -0.035em; color: #fff; line-height: 1.1; padding-right: 80px; }
.mdb-hub__porte-visuel { position: absolute; top: 16px; right: 16px; color: var(--mdb-creme); }
.mdb-hub__picto { width: 7.2rem; height: 7.2rem; min-height: 0; }
/* Grandes cartes de profil : portrait à gauche, contenu à droite, 2 × 2 */
.mdb-enjeux--grand { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mdb-enjeux--grand .mdb-enjeu { display: grid; grid-template-columns: 2fr 3fr; padding: 0; gap: 0; min-height: 30rem; }
.mdb-enjeux--grand .mdb-enjeu:hover { transform: none; }
.mdb-enjeux--grand .mdb-enjeu__visuel { display: block; width: auto; max-width: none; margin: 0; aspect-ratio: auto; height: 100%; }
.mdb-enjeu__portrait { display: block; width: 100%; height: 100%; }
.mdb-enjeu__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; transition: transform .6s cubic-bezier(.2, .8, .2, 1); }
.mdb-enjeux--grand .mdb-enjeu:hover .mdb-enjeu__portrait img { transform: scale(1.03); }
.mdb-enjeu__corps { display: flex; flex-direction: column; gap: 12px; padding: 24px; min-width: 0; }
.mdb-enjeu__titre { font-size: clamp(2.2rem, 2vw, 2.8rem); margin: 0; }
.mdb-enjeu__titre a { color: inherit; text-decoration: none; }
.mdb-enjeu__titre a:hover { text-decoration: none; }
.mdb-enjeu__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mdb-enjeu__chips a { display: inline-flex; align-items: center; min-height: 3.2rem; padding: 4px 12px; border-radius: var(--mdb-r-pill); background: var(--mdb-creme); border: 1px solid var(--mdb-ligne); font-size: 1.35rem; line-height: 1.25; color: var(--mdb-marine); text-decoration: none; transition: background-color .2s, border-color .2s; }
.mdb-enjeu__chips a:hover { background: #fff; border-color: var(--mdb-marine); }
.mdb-enjeu__chips a:focus-visible, .mdb-enjeu__lien:focus-visible, .mdb-enjeu__titre a:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-enjeux--grand .mdb-enjeu__lien { margin-top: auto; display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; font-weight: 600; color: var(--mdb-marine); text-decoration: none; padding: 0; }
.mdb-enjeux--grand .mdb-enjeu__lien::after { content: none; }
.mdb-enjeux--grand .mdb-enjeu__fleche { position: static; width: 3.6rem; height: 3.6rem; min-height: 0; padding: 9px; border-radius: 50%; background: var(--mdb-marine); color: #fff; transform: rotate(-45deg); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.mdb-enjeux--grand .mdb-enjeu:hover .mdb-enjeu__fleche { transform: rotate(0deg); }
@media (max-width: 991px) { .mdb-enjeux--grand .mdb-enjeu { grid-template-columns: 1fr; } .mdb-enjeux--grand .mdb-enjeu__visuel { aspect-ratio: 16 / 10; } }
@media (max-width: 767px) {
	.mdb-enjeux--grand { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 6px; }
	.mdb-enjeux--grand > * { flex: 0 0 85%; scroll-snap-align: start; }
}
/* Zone éditoriale */
.mdb-hub__edito { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
@media (max-width: 860px) { .mdb-hub__edito { grid-template-columns: 1fr; } }
.mdb-hub__edito-texte { display: flex; flex-direction: column; gap: 16px; max-width: 68ch; }
.mdb-hub__edito-corps { display: flex; flex-direction: column; gap: 14px; font-size: 1.7rem; line-height: 1.65; }
.mdb-hub__edito-corps p { margin: 0; }
.mdb-hub__exergue { margin: 0; padding: 28px; border-radius: 20px; background: #fff; display: flex; flex-direction: column; gap: 8px; }
.mdb-hub__exergue strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(5rem, 6vw, 8rem); letter-spacing: -0.05em; line-height: 1; color: var(--mdb-orange); }
.mdb-hub__exergue figcaption { color: var(--mdb-texte-2); font-size: 1.6rem; }
.mdb-situation { scroll-margin-top: 100px; }
@media (prefers-reduced-motion: reduce) { .mdb-enjeu__portrait img, .mdb-enjeux--grand .mdb-enjeu__fleche { transition: none; } .mdb-enjeux--grand .mdb-enjeu:hover .mdb-enjeu__portrait img { transform: none; } }

/* Pages Financer (29/10) */
.mdb-financements-profils { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; }
.mdb-financement-profil { display: grid; grid-template-columns: 9rem 1fr; gap: 16px; align-items: center; padding: 14px; border: 1px solid var(--mdb-ligne); border-radius: 16px; background: #fff; }
.mdb-financement-profil__visuel { display: block; width: 9rem; height: 9rem; border-radius: 12px; overflow: hidden; }
.mdb-financement-profil__corps { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mdb-financement-profil__corps h3 { font-size: 1.9rem; margin: 0; }
.mdb-financement-profil__corps h3 a { color: inherit; text-decoration: none; }
.mdb-financement-profil__corps h3 a:hover { text-decoration: none; }
.mdb-dispositifs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.mdb-dispositif { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 48px; border-radius: 16px; background: #fff; text-decoration: none; color: var(--mdb-marine); transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1); }
.mdb-dispositif::after { content: '→'; position: absolute; left: 22px; bottom: 16px; font-size: 1.8rem; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.mdb-dispositif:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .22); }
.mdb-dispositif:hover::after { transform: translateX(4px); }
.mdb-dispositif:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 3px; }
.mdb-dispositif strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 2rem; letter-spacing: -0.03em; line-height: 1.15; }
.mdb-dispositif span { font-size: 1.45rem; color: var(--mdb-texte-2); }
.mdb-dispositif--ferme { background: var(--mdb-creme); border: 1px dashed var(--mdb-ligne); }
.mdb-dispositif .mdb-dispositif__ferme { align-self: flex-start; min-height: 2.4rem; padding: 0 10px; font-size: 1.2rem; color: var(--mdb-marine); }
.mdb-dispositif-infos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 16px; }
.mdb-dispositif-info { display: flex; flex-direction: column; gap: 14px; padding: clamp(20px, 2.4vw, 32px); border-radius: 20px; border: 1px solid var(--mdb-ligne); background: #fff; }
.mdb-dispositif-info p { margin: 0; color: var(--mdb-texte-2); font-size: 1.65rem; line-height: 1.6; }
.mdb-dispositif-info h2 { font-size: clamp(2.4rem, 2.6vw, 3.4rem); }
.mdb-dispositif-info--prise { background: var(--mdb-orange-pale); border-color: transparent; }
.mdb-dispositif-info--prise p { color: var(--mdb-marine); }
.mdb-bandeau-ferme { margin: 20px 0 0; padding: 16px 20px; border-radius: 14px; background: var(--mdb-orange-pale); border-left: 4px solid var(--mdb-orange); color: var(--mdb-marine); }
@media (prefers-reduced-motion: reduce) { .mdb-dispositif, .mdb-dispositif::after { transition: none; } }
/* Étapes numérotées (hub Votre parcours, pages Financer) */
.mdb-etapes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.mdb-etape { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 16px; background: #fff; border: 1px solid var(--mdb-ligne); }
.mdb-section--creme .mdb-etape { border-color: transparent; }
.mdb-etape p { margin: 0; color: var(--mdb-texte-2); }
.mdb-etape h3 { font-size: 2.1rem; }
.mdb-etape__num { width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--mdb-orange); color: var(--mdb-marine); font-family: var(--mdb-font-titre); font-weight: 600; font-size: 1.8rem; }

/* Ressources, glossaire, articles (29/10) */
.mdb-ressources__rubriques { display: flex; flex-wrap: wrap; gap: 8px; }
.mdb-ressources__rubriques a { display: inline-flex; align-items: center; min-height: 3.6rem; padding: 0 16px; border-radius: var(--mdb-r-pill); border: 1px solid var(--mdb-ligne); background: #fff; color: var(--mdb-marine); font-weight: 500; text-decoration: none; }
.mdb-ressources__rubriques a:hover { border-color: var(--mdb-marine); }
.mdb-carte--article .mdb-carte__corps p { margin: 0; }
.mdb-glossaire { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; }
.mdb-glossaire__terme { padding: 22px; border: 1px solid var(--mdb-ligne); border-radius: 16px; display: flex; flex-direction: column; gap: 8px; scroll-margin-top: 100px; }
.mdb-glossaire__terme:target { border-color: var(--mdb-orange); box-shadow: 0 0 0 3px var(--mdb-orange-pale); }
.mdb-glossaire__terme dt { display: flex; flex-direction: column; gap: 2px; }
.mdb-glossaire__terme dt strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 2.6rem; letter-spacing: -0.03em; color: var(--mdb-marine); }
.mdb-glossaire__terme dt span { font-weight: 600; color: var(--mdb-marine); }
.mdb-glossaire__terme dd { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.mdb-glossaire__terme dd p { margin: 0; color: var(--mdb-texte-2); }
.mdb-article__visuel { margin: 32px 0 0; border-radius: 20px; overflow: hidden; max-width: 1100px; }
.mdb-article__visuel img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; display: block; }
.mdb-article__section { padding-top: 0; }
.mdb-article__contenu { max-width: 72ch; font-size: 1.75rem; line-height: 1.7; }
.mdb-article__contenu h2 { font-size: clamp(2.4rem, 2.4vw, 3rem); margin: 1.6em 0 .5em; }
.mdb-article__contenu p { margin: 0 0 1em; }
.mdb-article__contenu .brxe-post-content, .mdb-article__contenu .brxe-post-content p { font-size: 1.75rem; line-height: 1.7; }
.mdb-article__contenu .brxe-post-content h2 { font-size: clamp(2.2rem, 2vw, 2.8rem); margin: 1.2em 0 .4em; }

/* Pages Mandyben (29/10) */
.mdb-personnes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.mdb-personne { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.mdb-personne img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 16px; background: var(--mdb-sable); display: block; }
.mdb-personne figcaption { display: flex; flex-direction: column; gap: 2px; }
.mdb-personne figcaption strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 1.9rem; letter-spacing: -0.02em; }
.mdb-personne figcaption span { color: var(--mdb-texte-2); font-size: 1.45rem; }
.mdb-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 20rem; gap: 16px; }
.mdb-photos__item:nth-child(4):last-child { grid-column: span 2; }
.mdb-photos__item { margin: 0; border-radius: 16px; overflow: hidden; }
.mdb-photos__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mdb-photos__item--grand { grid-column: span 2; grid-row: span 2; }
@media (max-width: 767px) { .mdb-photos { grid-template-columns: 1fr 1fr; grid-auto-rows: 14rem; } .mdb-photos__item--grand { grid-column: span 2; grid-row: span 1; } }
.mdb-indicateurs { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.mdb-indicateur { display: grid; grid-template-columns: 18rem 1fr 6rem; align-items: center; gap: 16px; }
.mdb-indicateur__libelle { font-weight: 600; }
.mdb-indicateur__barre { height: 12px; border-radius: 999px; background: var(--mdb-creme); overflow: hidden; }
.mdb-indicateur__barre span { display: block; height: 100%; border-radius: 999px; background: var(--mdb-orange); }
.mdb-indicateur strong { text-align: right; font-family: var(--mdb-font-titre); font-weight: 600; font-size: 2rem; }
@media (max-width: 599px) { .mdb-indicateur { grid-template-columns: 1fr 5rem; } .mdb-indicateur__barre { grid-column: 1 / -1; grid-row: 2; } }
.mdb-secteurs span { display: inline-flex; align-items: center; min-height: 3.6rem; padding: 4px 16px; border-radius: var(--mdb-r-pill); background: #fff; border: 1px solid var(--mdb-ligne); font-weight: 500; }
.mdb-adresse { font-size: 1.8rem !important; line-height: 1.5 !important; color: var(--mdb-marine) !important; }

.mdb-personne__vide { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 16px; background: var(--mdb-sable); color: var(--mdb-marine); }
.mdb-personne__picto { width: 45%; height: auto; min-height: 0; }

/* Contact et 404 (29/10) */
.mdb-contact__formation { margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--mdb-orange-pale); color: var(--mdb-marine); align-self: flex-start; }
.mdb-contact__voies { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.mdb-contact__voie { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2.4vw, 32px); border-radius: 20px; background: var(--mdb-creme); border: 1px solid var(--mdb-ligne); }
.mdb-contact__voie p { margin: 0; }
.mdb-contact__voie .mdb-hub__porte-titre { color: var(--mdb-marine); padding-right: 0; }
.mdb-contact__voie .mdb-btn { align-self: flex-start; margin-top: auto; }
.mdb-contact__voie--noir { background: var(--mdb-noir, #000); border-color: transparent; color: #D9D6CF; }
.mdb-contact__voie--noir .mdb-hub__porte-titre { color: #fff; }
.mdb-contact__tel a { font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(3rem, 3.2vw, 4.2rem); letter-spacing: -0.04em; color: var(--mdb-orange); text-decoration: none; }
.mdb-404 .mdb-grille { align-items: center; row-gap: 24px; }
.mdb-404__visuel { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 28px; background: var(--mdb-sable); color: var(--mdb-marine); }
.mdb-404__picto { width: 60%; height: auto; min-height: 0; }
.mdb-404 .mdb-recherche-accueil { max-width: 640px; }
.mdb-section:not(.mdb-section--creme) .mdb-dispositif { border: 1px solid var(--mdb-ligne); }
@media (max-width: 991px) { .mdb-404__visuel { display: none; } }
.mdb-personne figcaption { color: var(--mdb-marine); text-align: left; font-style: normal; } /* Bricks met les légendes en gris centré */
/* Logos (partenaires, clients) et source des indicateurs, alimentés par les Réglages */
.mdb-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); gap: 16px; margin-top: 24px; }
.mdb-logos__item { margin: 0; display: flex; align-items: center; justify-content: center; min-height: 9rem; padding: 12px; border-radius: 14px; background: #fff; border: 1px solid var(--mdb-ligne); }
.mdb-logos__item > span { display: block; width: 100%; text-align: center; }
.mdb-logos__item img { display: block; margin: 0 auto; width: 100%; max-width: 200px; height: auto; max-height: 8rem; aspect-ratio: 5 / 2; object-fit: contain; }
.mdb-indicateurs__source { margin: 16px 0 0; font-size: 1.35rem; }
/* Visage d'un formateur sans photo (fiche formation) */
.mdb-visage__vide { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.mdb-visage__picto { width: 70%; height: auto; }
/* Encart « Qui vous forme » (fiche) : même gabarit pour chaque onglet, avec ou sans photo ; typo réduite (Magali, 29/10) */
.mdb-formateur { grid-template-columns: 160px minmax(0, 1fr); }
.mdb-formateur > .mdb-formateur__infos { grid-column: 2; display: flex; flex-direction: column; gap: 6px; font-size: 1.5rem; line-height: 1.55; }
.mdb-formateur__infos h3 { font-size: 2rem; line-height: 1.2; margin: 0; }
.mdb-formateur__infos p { font-size: 1.5rem; margin: 0; }
.mdb-formateur__infos .mdb-formateur__expertise { font-size: 1.5rem; }
.mdb-formateur__vide { display: flex; align-items: center; justify-content: center; width: 160px; aspect-ratio: 1; border-radius: var(--mdb-r-carte); background: var(--mdb-sable); }
.mdb-formateur__picto { width: 55%; height: auto; }
@media (max-width: 600px) {
	.mdb-formateur { grid-template-columns: 1fr; gap: 16px; }
	.mdb-formateur > .mdb-formateur__infos { grid-column: auto; }
	.mdb-formateur > .brxe-image, .mdb-formateur > img, .mdb-formateur__vide { width: 120px; }
}
/* Démo Qonto (29/10) : certifié et reconnu (Résultats), bande de logos (accueil), atouts (Qui sommes-nous), e-learning (accueil) */
.mdb-certifie { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.mdb-certifie__corps p { color: var(--mdb-texte-2); margin: 0 0 14px; }
.mdb-certifie .mdb-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.mdb-certifie .mdb-logos__item { background: var(--mdb-creme); border: 0; }
.mdb-logos__titre { margin: 40px 0 0; font-size: 1.3rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-logos--bande { grid-template-columns: repeat(auto-fill, minmax(min(100%, 120px), 1fr)); gap: 12px; margin-top: 14px; }
.mdb-logos--bande .mdb-logos__item { min-height: 7rem; padding: 10px; }
.mdb-logos--bande .mdb-logos__item img { max-height: 5rem; }
.mdb-atouts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.mdb-atouts .mdb-etape__num { font-size: 1.4rem; }
.mdb-atouts .mdb-atouts__lien { margin-top: auto; }
.mdb-elearning { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 48px; border-radius: 24px; background: var(--mdb-creme); }
.mdb-elearning__texte { display: flex; flex-direction: column; gap: 16px; }
.mdb-elearning__texte p { margin: 0; color: var(--mdb-texte-2); }
.mdb-elearning__points { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mdb-elearning__points li { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border-radius: 16px; background: #fff; }
.mdb-elearning__points span { color: var(--mdb-texte-2); font-size: 1.5rem; }
@media (max-width: 900px) {
	.mdb-certifie, .mdb-elearning { grid-template-columns: 1fr; gap: 28px; }
	.mdb-elearning { padding: 28px 20px; }
	.mdb-certifie .mdb-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Accueil : une seule rangée de logos (les 8 premiers ; la liste complète est sur Résultats et Qualiopi) */
.mdb-logos--bande { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.mdb-logos--bande > .mdb-logos__item:nth-child(n+9) { display: none; }
@media (max-width: 900px) {
	.mdb-logos--bande { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mdb-logos--bande > .mdb-logos__item:nth-child(n+5) { display: none; }
}
.mdb-logos__titre { margin-top: 28px; }
/* Contact > Nous trouver : carte Google Maps au clic + infos pratiques en cartes avec pictos Lucide */
.mdb-acces { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.mdb-gmaps { min-height: 36rem; border-radius: 28px; overflow: hidden; background: var(--mdb-creme); display: flex; }
.mdb-gmaps__vignette { margin: auto; padding: 32px 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.mdb-gmaps__vignette > svg { width: 44px; height: 44px; color: var(--mdb-orange); }
.mdb-gmaps__vignette p { margin: 0; }
.mdb-gmaps__mention { font-size: 1.3rem; color: var(--mdb-texte-2); }
.mdb-gmaps__bouton { cursor: pointer; font: inherit; }
.mdb-gmaps iframe { width: 100%; min-height: 36rem; border: 0; display: block; }
.mdb-acces .mdb-acces__adresse { border-radius: 28px; }
.mdb-acces__infos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; margin-top: 16px; }
.mdb-acces__info { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; row-gap: 4px; padding: 20px; border-radius: 20px; background: #fff; border: 1px solid var(--mdb-ligne); }
.mdb-acces__icone { grid-row: span 2; width: 44px; height: 44px; border-radius: 12px; background: var(--mdb-creme); display: flex; align-items: center; justify-content: center; }
.mdb-acces__icone svg { width: 22px; height: 22px; color: var(--mdb-marine); }
.mdb-acces__info h3 { font-size: 1.7rem; margin: 0; }
.mdb-acces__info p { margin: 0; font-size: 1.5rem; color: var(--mdb-texte-2); }
@media (max-width: 900px) { .mdb-acces { grid-template-columns: 1fr; } .mdb-gmaps, .mdb-gmaps iframe { min-height: 28rem; } }
.mdb-acces__infos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mdb-acces__info { align-content: start; }
@media (max-width: 900px) { .mdb-acces__infos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mdb-acces__infos { grid-template-columns: 1fr; } }
.mdb-masque-si-filtre[hidden] { display: none; }
/* Résultats : indicateurs en tuiles (modèle démo Qonto), 1re tuile en grand */
.mdb-tuiles-ind { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mdb-tuile-ind { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 28px; background: var(--mdb-creme); min-height: 17rem; }
.mdb-tuile-ind:first-child { grid-column: span 2; grid-row: span 2; background: var(--mdb-sable); }
.mdb-tuile-ind__chiffre { font-family: var(--mdb-font-titre); font-weight: 600; font-size: 5.6rem; line-height: .95; letter-spacing: -.04em; }
.mdb-tuile-ind__chiffre span { font-size: .45em; color: var(--mdb-texte-2); letter-spacing: 0; margin-left: 2px; }
.mdb-tuile-ind:first-child .mdb-tuile-ind__chiffre { font-size: 14rem; }
.mdb-tuile-ind__pied { margin-top: auto; display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.mdb-tuile-ind__libelle { font-weight: 600; }
.mdb-tuile-ind__type { font-size: 1.2rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-tuile-ind__barre { display: block; height: 4px; border-radius: 999px; background: rgba(0, 0, 0, .08); overflow: hidden; }
.mdb-tuile-ind__barre span { display: block; height: 100%; border-radius: 999px; background: var(--mdb-orange); }
@media (max-width: 900px) {
	.mdb-tuiles-ind { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.mdb-tuile-ind { padding: 20px; min-height: 0; border-radius: 22px; }
	.mdb-tuile-ind:first-child { grid-row: auto; }
	.mdb-tuile-ind:first-child .mdb-tuile-ind__chiffre { font-size: 9rem; }
	.mdb-tuile-ind__chiffre { font-size: 4.4rem; }
	.mdb-tuile-ind__pied { flex-direction: column; gap: 2px; }
}
/* Mobile : la dernière tuile seule prend toute la largeur (nombre pair d'indicateurs, la 1re tuile occupant déjà 2 colonnes) */
@media (max-width: 900px) { .mdb-tuile-ind:nth-child(even):nth-last-child(-n+2) { grid-column: span 2; } }
/* Badges de financement cliquables (pages Formations à distance, Nos certifications, Accompagnement) */
/* Seulement les badges span > a (pages Formations à distance, Nos certifications, Accompagnement) : les badges a.mdb-badge--lien des parcours gardent leur rendu */
span.mdb-badge--lien { padding: 0; }
span.mdb-badge--lien a { display: inline-flex; align-items: center; min-height: inherit; padding: 0 14px; color: inherit; text-decoration: none; }
span.mdb-badge--lien:hover { background: var(--mdb-sable); }
/* FAQ façon démo arthur-agent (Magali, 29/10) : questions plus grandes, pastille ronde « + » qui pivote, réponses aérées. S'applique partout (.mdb-faq) */
.mdb-faq summary { align-items: center; justify-content: space-between; gap: 18px; padding: 20px 4px; font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(1.7rem, 1.7vw, 2.1rem); letter-spacing: -.03em; line-height: 1.25; transition: color .2s; }
.mdb-faq summary:hover { color: var(--mdb-orange); }
.mdb-faq summary::after { content: '+'; flex: none; width: 34px; height: 34px; margin-left: 0; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--mdb-marine); font-family: var(--mdb-font-texte, inherit); font-size: 2rem; font-weight: 400; line-height: 1; transition: transform .3s ease-out, background .2s, color .2s; }
.mdb-faq[open] summary::after { content: "+"; transform: rotate(45deg); background: rgba(240, 140, 0, .12); color: var(--mdb-orange); }
.mdb-faq p, .mdb-faq > div { margin: 0; padding: 0 4px 28px; max-width: 98rem; font-size: 1.55rem; line-height: 1.65; color: var(--mdb-texte-2); }
@media (max-width: 600px) { .mdb-faq summary { padding: 16px 0; gap: 14px; } .mdb-faq summary::after { width: 30px; height: 30px; } .mdb-faq p, .mdb-faq > div { padding: 0 0 22px; } }
.mdb-faq summary::after { background: var(--mdb-creme); }
.bloc-creme .mdb-faq summary::after, .mdb-section--creme .mdb-faq summary::after { background: #fff; }
.mdb-faq[open] summary::after { background: rgba(240, 140, 0, .12); }
/* Fiche : « Est-ce la bonne formation pour vous ? » en bloc sombre à dégradé (modèle démo arthur-agent, noir pur + halo orange) */
.mdb-fiche__bloc.mdb-bonne { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px; align-items: start; padding: clamp(24px, 3.4vw, 40px); border-radius: var(--mdb-r-sombre); color: #fff;
	background: var(--mdb-degrade-sombre); } /* valeurs inchangées, mises en variables communes le 31/10 (blocs éléphant) */
.mdb-bonne__texte { display: flex; flex-direction: column; gap: 14px; }
.mdb-bonne h2 { color: #fff; margin: 0; hyphens: auto; overflow-wrap: break-word; font-size: clamp(2.4rem, 2.3vw, 3rem); line-height: 1.05; letter-spacing: -.04em; }
.mdb-bonne__surtitre { margin: 0; font-size: 1.2rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .75); }
.mdb-bonne__surtitre::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--mdb-orange); vertical-align: middle; }
.mdb-bonne__intro { margin: 0; color: rgba(255, 255, 255, .78); font-size: 1.55rem; line-height: 1.55; }
.mdb-bonne .mdb-actions { margin-top: 6px; }
.mdb-bonne__faits { margin: 0; display: grid; gap: 10px; }
.mdb-bonne__fait { padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .06); outline: 1px solid rgba(255, 255, 255, .1); outline-offset: -1px; }
.mdb-bonne__fait dt { font-size: 1.15rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.mdb-bonne__fait dt::before { content: '✓'; margin-right: 6px; color: var(--mdb-orange); }
.mdb-bonne__fait dd { margin: 4px 0 0; font-size: 1.45rem; line-height: 1.45; color: #fff; }
.mdb-bonne__fait dd ul { margin: 0; padding-left: 1.2em; }
.mdb-bonne__fait dd li::marker { color: var(--mdb-orange); }
.mdb-btn--orange { background: var(--mdb-orange); color: #000; border-color: var(--mdb-orange); }
.mdb-btn--orange:hover { background: #ffa31a; border-color: #ffa31a; }
@media (max-width: 900px) { .mdb-fiche__bloc.mdb-bonne { grid-template-columns: 1fr; gap: 24px; } }
/* FAQ : orange de la charte au survol et question ouverte (Magali 29/10) ; focus clavier visible */
.mdb-faq[open] summary { color: var(--mdb-orange); }
.mdb-faq summary:focus-visible { outline: 2px solid var(--mdb-orange); outline-offset: 4px; border-radius: 8px; }
/* ================= Accordéons : charte unique (Magali 29/10) =================
   Toutes les listes repliables de contenu (.mdb-faq : FAQ des fiches, catalogue, domaines, parcours, Financer, pages ;
   .mdb-module : programme des fiches) partagent titre, espacements, pastille ronde 34 px « + » qui pivote en « × »,
   animation, survol et état ouvert en orange charte, focus clavier. Programme : même pastille (variante noire à l'ouverture en attente du choix de Magali). */
:root { --mdb-acc-pastille: 34px; }
.mdb-faq summary, .mdb-module summary { display: flex; align-items: center; gap: 18px; cursor: pointer; list-style: none; font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(1.7rem, 1.7vw, 2.1rem); letter-spacing: -.03em; line-height: 1.25; transition: color .2s; }
.mdb-module summary { padding: 18px 22px; }
.mdb-faq summary::after, .mdb-module summary::after { content: '+'; flex: none; width: var(--mdb-acc-pastille); height: var(--mdb-acc-pastille); margin-left: auto; border-radius: 50%; display: grid; place-items: center; font-family: var(--mdb-font-texte, inherit); font-size: 2rem; font-weight: 400; line-height: 1; letter-spacing: 0; transition: transform .3s ease-out, background .2s, color .2s; }
.mdb-faq[open] summary::after, .mdb-module[open] summary::after { content: '+'; transform: rotate(45deg); }
.mdb-faq summary:hover, .mdb-faq[open] summary, .mdb-module summary:hover .mdb-module__titre, .mdb-module[open] .mdb-module__titre { color: var(--mdb-orange); }
.mdb-faq summary:focus-visible, .mdb-module summary:focus-visible { outline: 2px solid var(--mdb-orange); outline-offset: 4px; border-radius: 8px; }
/* Programme : même pastille que la FAQ (blanche sur les cartes des modules) ; variante noire en attente du choix de Magali */
.mdb-module summary::after { background: #fff; color: var(--mdb-marine); }
.mdb-module[open] summary::after { background: rgba(240, 140, 0, .12); color: var(--mdb-orange); }
.mdb-faq[open] summary::after { color: var(--mdb-orange); }
.mdb-module__duree { font-family: var(--mdb-font-texte, inherit); letter-spacing: 0; }
.mdb-module .mdb-liste { font-size: 1.55rem; line-height: 1.65; }
@media (max-width: 600px) {
	:root { --mdb-acc-pastille: 30px; }
	.mdb-module summary { padding: 16px; gap: 12px; flex-wrap: wrap; }
	.mdb-module .mdb-liste { padding: 0 16px 18px 36px; }
}
@media (prefers-reduced-motion: reduce) { .mdb-faq summary::after, .mdb-module summary::after { transition: none; } }
/* Parcours > Votre situation : badges de financement à la taille des badges des cartes formation (Magali 29/10) ; plusieurs lignes si besoin */
.mdb-situation__financements .mdb-badges { gap: 6px; flex-wrap: wrap; }
.mdb-situation__financements .mdb-badge { min-height: 0; height: 2.3rem; padding: 0 10px; font-size: 1.2rem; line-height: 2.1rem; align-self: flex-start; }
/* Résultats : grande tuile (appréciation globale) en aplat orange charte, texte noir (contraste AA), comme le bloc en couleur de la démo Le Wagon */
.mdb-tuile-ind:first-child { background: var(--mdb-orange); color: #000; }
.mdb-tuile-ind:first-child .mdb-tuile-ind__chiffre span, .mdb-tuile-ind:first-child .mdb-tuile-ind__type { color: rgba(0, 0, 0, .72); }
.mdb-tuile-ind:first-child .mdb-tuile-ind__barre { background: rgba(0, 0, 0, .14); }
.mdb-tuile-ind:first-child .mdb-tuile-ind__barre span { background: #000; }
/* Pied de page : boutons empilés de même largeur (rappel orange + téléphone en contour) */
.mdb-footer__actions { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 30rem; }
.mdb-footer__actions .mdb-btn { width: 100%; justify-content: center; }
.mdb-footer a.mdb-btn--orange { color: #000; }
/* Pied de page : logo d'origine posé sur une pastille crème arrondie (lettres grises lisibles sur le noir), en attendant le choix de Magali */
.mdb-footer .mdb-logo--pied { box-sizing: content-box; padding: 12px 18px; border-radius: 16px; background: var(--mdb-creme); width: 200px; max-width: calc(100% - 36px); height: auto; }
/* Blocs noirs avec l'éléphant (fiches, pages, accueil) : « Être rappelé(e) » en orange charte, comme le pied de page (Magali 29/10) */
.bloc-marine a.mdb-btn--sur-marine { background: var(--mdb-orange); border-color: var(--mdb-orange); color: #000; }
.bloc-marine a.mdb-btn--sur-marine:hover { background: #ffa31a; border-color: #ffa31a; color: #000; }
/* En-tête : même logique que le pied de page (Magali 29/10) : « Être rappelé(e) » orange charte, téléphone en bouton à contour avec icône.
   Sous 1440 px (où le numéro était masqué) : bouton rond icône seule, le numéro reste lu par les lecteurs d'écran. */
.mdb-header__actions .mdb-btn--primaire { background: var(--mdb-orange); border-color: var(--mdb-orange); color: #000; }
.mdb-header__actions .mdb-btn--primaire:hover { background: #ffa31a; border-color: #ffa31a; color: #000; }
.mdb-header__actions .mdb-btn--primaire svg { color: #000; }
.mdb-header__tel, .mdb-panneau-actions .mdb-header__tel { display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 5.2rem; padding: 0 22px; border: 1.5px solid var(--mdb-marine); border-radius: var(--mdb-r-pill); color: var(--mdb-marine); font-weight: 600; font-size: 1.6rem; line-height: 1; text-decoration: none !important; white-space: nowrap; transition: background-color .15s ease; }
.mdb-header__tel:hover { background: var(--mdb-creme); }
.mdb-header__tel::before { content: ''; flex: none; width: 18px; height: 18px; background: currentColor; -webkit-mask: url(/wp-content/uploads/mandyben/icone-telephone.svg) center / contain no-repeat; mask: url(/wp-content/uploads/mandyben/icone-telephone.svg) center / contain no-repeat; }
@media (max-width: 89.99em) {
	.mdb-header__actions .mdb-header__tel { width: 5.2rem; padding: 0; gap: 0; font-size: 0; }
}
/* Panneau du menu burger : mêmes boutons (rappel orange, téléphone à contour), pleine largeur */
.mdb-panneau-actions .mdb-btn--primaire { background: var(--mdb-orange); border-color: var(--mdb-orange); color: #000; }
.mdb-panneau-actions .mdb-header__tel { width: 100%; font-size: 1.6rem; padding: 0 22px; gap: 10px; }
.mdb-nav .mdb-panneau-actions a.mdb-btn--primaire, .mdb-nav .mdb-panneau-actions a.mdb-btn--primaire span, .mdb-panneau-actions a.mdb-btn--primaire, .mdb-panneau-actions a.mdb-btn--primaire span { color: #000 !important; }
.mdb-panneau-actions a.mdb-btn--primaire svg { color: #000; }
/* ===== Règle unique « Être rappelé(e) » (Magali 29/10) : tout bouton qui mène au formulaire de rappel (page Contact) est en orange charte,
   texte et icône noirs, où qu'il soit (en-tête, menu burger, fiches et leur carte résumé, blocs noirs, parcours, accueil, 404…).
   Exception : « Demander un devis » (.mdb-btn--devis), qui reste un bouton secondaire. */
body a.mdb-btn[href*="contact-formation-professionnelle-marseille"]:not(.mdb-btn--devis):not([href*="#nous-trouver"]) { background: var(--mdb-orange) !important; border-color: var(--mdb-orange) !important; color: #000 !important; }
body a.mdb-btn[href*="contact-formation-professionnelle-marseille"]:not(.mdb-btn--devis):not([href*="#nous-trouver"]) :is(span, svg) { color: #000 !important; }
body a.mdb-btn[href*="contact-formation-professionnelle-marseille"]:not(.mdb-btn--devis):not([href*="#nous-trouver"]):hover { background: #ffa31a !important; border-color: #ffa31a !important; }
/* En-tête compact (en attendant le travail sur l'en-tête) : boutons 40 px, texte 14 px */
.mdb-header__actions { gap: 8px; }
.mdb-header__actions .mdb-btn, .mdb-header__actions .mdb-header__tel { min-height: 4rem; height: 4rem; padding: 0 16px; gap: 8px; font-size: 1.4rem; font-weight: 600; }
.mdb-header__actions .mdb-btn svg { width: 16px; height: 16px; }
.mdb-header__actions .mdb-header__tel::before { width: 16px; height: 16px; }
@media (max-width: 89.99em) { .mdb-header__actions .mdb-header__tel { width: 4rem; padding: 0; gap: 0; font-size: 0; } }
/* Accueil : mur d'avis stagiaires (modèle « Ils se sont formés chez nous » de la démo arthur-agent) */
.mdb-accueil__avis .mdb-zone-titre h2 { font-size: clamp(3.2rem, 4.6vw, 6.4rem); line-height: 1; letter-spacing: -.05em; max-width: 18ch; }
.mdb-titre-doux { color: var(--mdb-texte-2); }
.mdb-surtitre { margin: 0 0 8px; font-size: 1.2rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-surtitre::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--mdb-orange); vertical-align: middle; }
.mdb-avis-mur { columns: 4 240px; column-gap: 16px; margin-top: 32px; }
.mdb-avis-carte { break-inside: avoid; display: flex; flex-direction: column; gap: 16px; margin: 0 0 16px; padding: 24px; border-radius: 20px; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .04); }
.mdb-avis-carte::before { content: '\201C'; font-family: var(--mdb-font-titre); font-size: 4.4rem; line-height: .6; height: 2rem; color: var(--mdb-orange); }
.mdb-avis-carte blockquote { margin: 0; padding: 0; border: 0; font-size: 1.6rem; line-height: 1.55; color: var(--mdb-marine); font-style: normal; }
.mdb-avis-carte__qui { display: flex; align-items: center; gap: 12px; }
.mdb-avis-carte__avatar { flex: none; width: 3.6rem; height: 3.6rem; border-radius: 50%; display: grid; place-items: center; background: rgba(240, 140, 0, .14); color: #000; /* 31/10 : #b35f00 jugé marron par Magali */ font-weight: 700; font-size: 1.5rem; }
.mdb-avis-carte__qui strong { display: block; font-size: 1.5rem; }
.mdb-avis-carte__formation { display: block; font-size: 1.3rem; color: var(--mdb-texte-2); line-height: 1.35; }
.mdb-avis-carte__formation a { color: inherit; text-decoration: none; }
.mdb-avis-carte__formation a:hover { color: var(--mdb-marine); }
@media (max-width: 767px) {
	.mdb-avis-mur { columns: auto; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--mdb-marge, 20px)); padding: 4px var(--mdb-marge, 20px) 12px; scrollbar-width: none; }
	.mdb-avis-mur::-webkit-scrollbar { display: none; }
	.mdb-avis-carte { flex: 0 0 85%; margin: 0; scroll-snap-align: start; }
}
.mdb-avis-carte blockquote { font-family: var(--mdb-font-texte); quotes: none; }
.mdb-avis-carte blockquote::before, .mdb-avis-carte blockquote::after { content: none; }
.mdb-avis-carte::before { font-family: Georgia, 'Times New Roman', serif; font-size: 5.2rem; line-height: 1; height: 2.6rem; overflow: hidden; }
.mdb-avis-carte figcaption.mdb-avis-carte__qui { text-align: left; font-style: normal; color: var(--mdb-marine); margin: 0; }
.mdb-avis-carte__qui strong { color: var(--mdb-marine); }
@media (max-width: 767px) {
	.mdb-avis-mur { align-items: flex-start; margin-inline: 0; padding: 4px 0 12px; }
}
@media (max-width: 767px) { .mdb-avis-carte blockquote { display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; } }
/* ================= En-tête, session du 30/10 (proposition-header.md validée) ================= */
/* Barre du haut : noire (comme le pied de page), défile avec la page ; masquée sous 768 px (réseaux dans le pied de page plus tard) */
.mdb-topbar { background: #000; color: rgba(255, 255, 255, .78); font-size: 1.3rem; }
.mdb-topbar__in { max-width: var(--mdb-max); margin-inline: auto; padding: 0 var(--mdb-marge); min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.mdb-topbar__info { margin: 0; display: flex; flex-wrap: wrap; gap: 0 18px; }
.mdb-topbar__info span + span::before { content: '·'; margin-right: 18px; color: var(--mdb-orange); }
.mdb-reseaux { display: flex; align-items: center; gap: 4px; }
.mdb-reseaux a { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; transition: background-color .15s ease, color .15s ease; }
.mdb-reseaux a:hover, .mdb-reseaux a:focus-visible { background: rgba(255, 255, 255, .12); color: var(--mdb-orange); }
.mdb-reseaux svg { width: 16px; height: 16px; }
.mdb-reseaux a:focus-visible { outline: 2px solid var(--mdb-orange); outline-offset: 2px; }
@media (max-width: 1100px) { .mdb-topbar__info span:nth-child(3) { display: none; } }
@media (max-width: 767px) { .mdb-topbar { display: none; } }
/* En-tête principal : 64 px (56 mobile), collant, se cache en descendant et revient en remontant */
#brx-header { position: sticky; top: 0; z-index: 100; transition: transform .25s ease, box-shadow .25s ease; }
#brx-header.mdb-header--cache { transform: translateY(-100%); }
#brx-header.mdb-header--ombre { box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .25); }
@media (prefers-reduced-motion: reduce) { #brx-header { transition: none; } }
.mdb-header-site .mdb-header, .mdb-header-site .brxe-container.mdb-header { min-height: 64px; padding-top: 0; padding-bottom: 0; flex-wrap: nowrap; }
.mdb-header-site .mdb-logo, .mdb-header-site .brxe-image.mdb-logo, .mdb-header-site .mdb-logo img { height: 36px; min-width: 0; }
@media (max-width: 767px) {
	.mdb-header-site .mdb-header, .mdb-header-site .brxe-container.mdb-header { min-height: 56px; }
	.mdb-header-site .mdb-logo, .mdb-header-site .brxe-image.mdb-logo, .mdb-header-site .mdb-logo img { height: 30px; }
}
/* Boutons : de 992 à 1239 px à côté du burger ; sous 768 px, seulement le téléphone rond (rappel dans le panneau) */
@media (max-width: 767px) {
	.mdb-header__actions { display: flex !important; order: 2; }
	.mdb-header__actions .mdb-btn { display: none !important; }
	.mdb-header-site .mdb-nav { order: 3; flex: 0 0 auto; }
	.mdb-header-site .mdb-logo { margin-right: auto; }
}
@media (min-width: 768px) and (max-width: 77.49em) {
	.mdb-header-site .mdb-logo { margin-right: auto; }
	.mdb-header__actions { order: 2; }
	.mdb-header-site .mdb-nav { order: 3; flex: 0 0 auto; }
}
/* Sous-menu Formations en deux colonnes : entrées à gauche, les 14 domaines à droite (sur 2 colonnes) */
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu { display: grid; grid-template-columns: 23rem repeat(2, 21rem); grid-auto-flow: row dense; gap: 0 4px; padding: 10px; }
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu > li:not(.mdb-menu-domaine) { grid-column: 1; }
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu > li:not(.mdb-menu-domaine) > a { font-weight: 600; }
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu > li.mdb-menu-domaine { grid-column: span 1; }
.mdb-nav .sub-menu .mdb-menu-domaine > a { display: flex; align-items: center; gap: 10px; }
.mdb-menu-domaine__icone { width: 18px; height: 18px; flex: none; opacity: .8; }
/* Dans le menu burger : domaines en liste simple, compacte */
.mdb-nav .bricks-mobile-menu .mdb-menu-domaine > a { font-size: 1.4rem; padding-top: 6px; padding-bottom: 6px; }
/* Carte résumé des fiches : sous l'en-tête collant */
.mdb-carte-fixe { top: 88px; }
/* Méga-menu : colonnes forcées (entrées en 1, domaines en 2 et 3 alternés), largeurs suffisantes */
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu { grid-template-columns: 22rem repeat(2, minmax(24rem, auto)); }
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu > li.mdb-menu-domaine:nth-child(even) { grid-column: 2; }
.mdb-nav .bricks-nav-menu > li:has(.mdb-menu-domaine) > .sub-menu > li.mdb-menu-domaine:nth-child(odd) { grid-column: 3; }
.mdb-nav .sub-menu .mdb-menu-domaine > a { white-space: nowrap; }
.mdb-voir-tout { justify-content: center; margin-top: 24px; }
/* Barre du haut en crème (Magali 30/10 : le noir était trop contrasté pour des infos secondaires) */
.mdb-topbar { background: var(--mdb-creme); color: var(--mdb-texte-2); border-bottom: 1px solid var(--mdb-ligne); }
.mdb-reseaux a { color: var(--mdb-marine); }
.mdb-reseaux a:hover, .mdb-reseaux a:focus-visible { background: var(--mdb-sable); color: var(--mdb-marine); }
.mdb-reseaux a { color: var(--mdb-texte-2); }
.mdb-reseaux a:hover, .mdb-reseaux a:focus-visible { background: transparent; color: var(--mdb-orange); }
/* Mur d'avis commun : dans la colonne principale d'une fiche, 2 colonnes */
.mdb-avis-mur--fiche { columns: 2 240px; }
.mdb-avis-section .mdb-zone-titre h2, .mdb-avis-bloc .mdb-zone-titre h2 { font-size: clamp(2.8rem, 3.6vw, 4.8rem); line-height: 1.02; letter-spacing: -.045em; }

/* ---------------- Formulaires (30/10, élément Form de Bricks) : « Être rappelé(e) » et « Nous écrire » de la page Contact.
   Champs arrondis, focus orange, bouton orange texte noir, erreurs lisibles, libellés visibles. */
.mdb-formulaire { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.mdb-formulaire__texte { display: flex; flex-direction: column; gap: 14px; }
.mdb-formulaire__texte p { margin: 0; }
@media (max-width: 900px) { .mdb-formulaire { grid-template-columns: 1fr; gap: 24px; } }
.mdb-form { display: flex; flex-wrap: wrap; gap: 18px 16px; }
.mdb-form .form-group { padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.mdb-form label, .mdb-form .label { font-size: 1.5rem; font-weight: 600; color: var(--mdb-marine); }
.mdb-form label.required::after, .mdb-form .label.required::after { content: " *"; color: var(--mdb-orange); }
.mdb-form input[type=text], .mdb-form input[type=email], .mdb-form input[type=tel], .mdb-form select, .mdb-form textarea {
	width: 100%; min-height: 48px; padding: 12px 16px; font: inherit; font-size: 1.6rem; color: var(--mdb-marine);
	background: #fff; border: 1.5px solid var(--mdb-ligne); border-radius: 12px; transition: border-color .15s, box-shadow .15s; }
.mdb-form textarea { min-height: 140px; resize: vertical; }
.mdb-form input:focus, .mdb-form select:focus, .mdb-form textarea:focus { outline: none; border-color: var(--mdb-orange); box-shadow: 0 0 0 3px rgba(243, 146, 0, .25); }
.mdb-form ::placeholder { color: #9a948c; }
.mdb-form .options-wrapper { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.mdb-form .options-wrapper li { display: flex; align-items: center; gap: 8px; margin: 0; }
.mdb-form .options-wrapper label { font-weight: 400; font-size: 1.5rem; }
.mdb-form input[type=radio], .mdb-form input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--mdb-orange); margin: 0; flex: none; }
.mdb-form input[type=radio]:focus-visible, .mdb-form input[type=checkbox]:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
/* Texte légal des formulaires (classe commune .mdb-legal, aussi pour le futur formulaire guidé) : 12,5 px, interligne 1,5, texte secondaire (contraste 5:1 sur crème) */
.mdb-legal, .mdb-form__mention { margin: -6px 0 0; font-size: 1.25rem; line-height: 1.5; color: var(--mdb-texte-2); }
.mdb-form .form-group:has(input[name*="consen"]) .options-wrapper label { font-size: 1.4rem; line-height: 1.5; }
.mdb-legal a, .mdb-form__mention a { display: table; margin-top: 2px; } /* « En savoir plus sur vos données » à la ligne (Magali 30/10) */
.mdb-form .submit-button-wrapper { width: 100%; margin-top: 4px; }
.mdb-form button[type=submit] { min-height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--mdb-orange); color: #000;
	font: inherit; font-size: 1.6rem; font-weight: 600; cursor: pointer; transition: background .15s; }
.mdb-form button[type=submit]:hover { background: #ffa31a; }
.mdb-form button[type=submit]:focus-visible { outline: 3px solid var(--mdb-marine); outline-offset: 3px; }
.mdb-form .form-group.error input, .mdb-form .form-group.error select, .mdb-form .form-group.error textarea, .mdb-form input:user-invalid, .mdb-form textarea:user-invalid { border-color: #b3261e; }
.mdb-form .form-error-message, .mdb-form .form-group .error-message { color: #b3261e; font-size: 1.4rem; }
.mdb-form .message { width: 100%; padding: 14px 18px; border-radius: 12px; font-size: 1.5rem; }
.mdb-form .message.success { background: #e7f4ea; color: #1d5b2f; }
.mdb-form .message.error { background: #fbe9e7; color: #8c1d18; }
.bloc-creme .mdb-form input[type=text], .bloc-creme .mdb-form input[type=tel], .bloc-creme .mdb-form textarea { background: #fff; }
.mdb-form label, .mdb-form .label { text-transform: none; letter-spacing: 0; }
.mdb-form--contact { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.mdb-form--contact .form-group { width: auto !important; }
.mdb-form--contact .form-group:has(textarea), .mdb-form--contact .form-group:has(.options-wrapper), .mdb-form--contact .form-group:has(.mdb-form__mention),
.mdb-form--contact .submit-button-wrapper, .mdb-form--contact .message { grid-column: 1 / -1; }
.mdb-form--rappel .form-group { width: 100% !important; }
@media (max-width: 600px) { .mdb-form--contact { grid-template-columns: 1fr; } }
/* Champ « Formation(s) » : suggestions et étiquettes (inc/formulaires.php) */
.mdb-choix { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 48px; padding: 6px 10px;
	background: #fff; border: 1.5px solid var(--mdb-ligne); border-radius: 12px; }
.mdb-choix:focus-within { border-color: var(--mdb-orange); box-shadow: 0 0 0 3px rgba(243, 146, 0, .25); }
.mdb-choix__etiquettes { display: contents; }
.mdb-choix__etiquette { display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--mdb-orange-pale); font-size: 1.4rem; line-height: 1.3; }
.mdb-choix__retirer { width: 26px; height: 26px; border: 0; border-radius: 50%; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; color: var(--mdb-marine); }
.mdb-choix__retirer:hover { background: rgba(0, 0, 0, .08); }
.mdb-choix__retirer:focus-visible { outline: 2px solid var(--mdb-orange); }
.mdb-form .mdb-choix .mdb-choix__saisie { flex: 1 1 200px; min-width: 160px; min-height: 34px; padding: 4px 6px; border: 0; box-shadow: none; background: transparent; }
.mdb-form .mdb-choix .mdb-choix__saisie:focus { box-shadow: none; }
.mdb-choix__liste { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0; max-height: 320px; overflow: auto; margin: 0; padding: 6px; list-style: none;
	background: #fff; border: 1px solid var(--mdb-ligne); border-radius: 12px; box-shadow: 0 12px 30px rgba(28, 43, 66, .15); }
.mdb-choix__liste li { padding: 10px 12px; border-radius: 8px; cursor: pointer; font-size: 1.5rem; }
.mdb-choix__liste li[aria-selected=true], .mdb-choix__liste li:hover { background: var(--mdb-orange-pale); }
.mdb-choix__liste .mdb-choix__libre { color: var(--mdb-texte-2); font-style: italic; }
.mdb-choix__aide { margin: 2px 0 0; font-size: 1.3rem; color: var(--mdb-texte-2); }
.mdb-form--contact .form-group:has(.mdb-choix) { grid-column: 1 / -1; }

/* ---------------- Formulaire guidé « Je me fais guider » (30/10, inc/guide.php) */
.mdb-guide--app { display: flex; flex-direction: column; gap: 22px; }
.mdb-guide--app > div { max-width: none; }
.mdb-guide__intro { max-width: 760px; }
.mdb-guide-app { display: flex; flex-direction: column; gap: 14px; }
.mdb-guide-app__barre { height: 6px; border-radius: 999px; background: rgba(28, 43, 66, .1); overflow: hidden; }
.mdb-guide-app__barre span { display: block; height: 100%; background: var(--mdb-orange); border-radius: inherit; transition: width .3s; }
.mdb-guide-app__etape { margin: 0; font-size: 1.3rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-guide-app__q { margin: 0; font-size: 2.4rem; line-height: 1.2; }
/* La question reçoit le focus par script à chaque étape (lecteurs d'écran) : ce n'est pas un champ, aucun contour visible (31/10, Magali : « on dirait une zone de saisie ») */
.mdb-guide-app__q:focus, .mdb-guide-app__q:focus-visible { outline: none; }
.mdb-guide-app__aide, .mdb-guide-app__sous-q { margin: 0; color: var(--mdb-texte-2); }
.mdb-guide-app__sous-q { font-weight: 600; color: var(--mdb-marine); margin-top: 6px; }
.mdb-guide-app__choix { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.mdb-guide-app__option { position: relative; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 12px 16px; border: 1.5px solid var(--mdb-ligne);
	border-radius: 14px; background: #fff; cursor: pointer; font-size: 1.55rem; line-height: 1.35; transition: border-color .15s, background .15s; }
.mdb-guide-app__option:hover { border-color: var(--mdb-orange); }
.mdb-guide-app__option.is-on { border-color: var(--mdb-orange); background: var(--mdb-orange-pale); font-weight: 600; }
.mdb-guide-app__option input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mdb-guide-app__option:has(input:focus-visible) { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-guide-app__option img { width: 56px; height: 56px; object-fit: cover; border-radius: 12px; flex: none; }
.mdb-guide-app__choix:has(img) { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.mdb-guide-app__erreur { margin: 0; min-height: 1.2em; color: #8c1d18; font-size: 1.4rem; }
.mdb-guide-app__nav { display: flex; justify-content: space-between; gap: 12px; }
.mdb-guide-app__fiches { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.mdb-guide-app__fiche { display: flex; gap: 12px; padding: 10px; background: #fff; border-radius: 14px; border: 1px solid var(--mdb-ligne); }
.mdb-guide-app__fiche img, .mdb-guide-app__fiche-img { width: 88px; height: 88px; object-fit: cover; border-radius: 10px; flex: none; background: var(--mdb-creme); }
.mdb-guide-app__fiche > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mdb-guide-app__fiche-titre { font-weight: 600; color: var(--mdb-marine); text-decoration: none; line-height: 1.3; }
.mdb-guide-app__fiche-titre:hover { text-decoration: none; }
.mdb-guide-app__fiche-infos { font-size: 1.35rem; color: var(--mdb-texte-2); }
.mdb-guide-app__garder { display: flex; align-items: center; gap: 6px; font-size: 1.35rem; cursor: pointer; margin-top: auto; }
.mdb-guide-app__garder input { width: 18px; height: 18px; accent-color: var(--mdb-orange); }
.mdb-guide-app__envoi { padding-top: 22px; border-top: 1px solid var(--mdb-ligne); }
.mdb-guide-app__envoi[hidden] { display: none; }
.mdb-guide-app__envoi-titre { margin: 0 0 16px; font-size: 2rem; }
.mdb-guide-app__envoi .mdb-form { max-width: 720px; }
@media (prefers-reduced-motion: reduce) { .mdb-guide-app__barre span, .mdb-guide-app__option { transition: none; } }
.mdb-guide-app__option, .mdb-guide-app__garder { color: var(--mdb-marine); }
.mdb-guide-app__choix:has(img) .mdb-guide-app__option { flex-direction: column; align-items: center; text-align: center; padding: 16px 12px; font-size: 1.6rem; }
.mdb-guide-app__choix:has(img) .mdb-guide-app__option img { width: 120px; height: 120px; object-fit: contain; border-radius: 0; }
.mdb-guide-app__choix:has(img) .mdb-guide-app__option { padding: 10px 10px 14px; gap: 10px; }
.mdb-guide-app__choix:has(img) .mdb-guide-app__option img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
@media (max-width: 600px) { .mdb-guide-app__choix:has(img) { grid-template-columns: 1fr 1fr; } .mdb-guide-app__choix:has(img) .mdb-guide-app__option { font-size: 1.4rem; } }

/* ---------------- Recherche maison (30/10, inc/recherche.php) : suggestions, loupe de l'en-tête, page de résultats */
.mdb-sugg { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0; min-width: 300px; max-height: min(70vh, 520px); overflow: auto; padding: 8px;
	background: #fff; border: 1px solid var(--mdb-ligne); border-radius: 14px; box-shadow: 0 16px 40px rgba(28, 43, 66, .18); text-align: left; }
.mdb-sugg__groupe { margin: 8px 10px 4px; font-size: 1.2rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-sugg a { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 10px; color: var(--mdb-marine); text-decoration: none; font-size: 1.5rem; line-height: 1.3; }
.mdb-sugg a span { font-size: 1.3rem; color: var(--mdb-texte-2); }
.mdb-sugg a:hover, .mdb-sugg a[aria-selected=true] { background: var(--mdb-orange-pale); }
.mdb-sugg button.mdb-sugg__tous { display: flex; width: 100%; padding: 9px 12px; border: 0; background: none; font: inherit; font-size: 1.5rem; color: var(--mdb-marine); text-align: left; cursor: pointer; }
.mdb-sugg button.mdb-sugg__tous:hover, .mdb-sugg button.mdb-sugg__tous[aria-selected=true] { background: var(--mdb-orange-pale); }
.mdb-sugg .mdb-sugg__tous { margin-top: 6px; border-top: 1px solid var(--mdb-ligne); border-radius: 0 0 10px 10px; font-weight: 600; }
.mdb-sugg__vide { margin: 8px 12px; font-size: 1.4rem; color: var(--mdb-texte-2); }
/* « Rechercher » (31/10, choix de Magali) : texte simple dans la barre du haut, premier élément du burger sur mobile (barre masquée) */
/* repères : un filet vertical (1 x 14 px) entre les infos, « Rechercher » et les réseaux, même espacement de chaque côté */
.mdb-topbar__droite { display: flex; align-items: center; gap: 14px; }
.mdb-topbar__droite::before, .mdb-topbar__reseaux::before { content: ''; width: 1px; height: 14px; background: #D9D0C3; flex: none; }
.mdb-topbar__reseaux::before { margin-right: 10px; }
.mdb-topbar__recherche { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 2px; border: 0; background: none; font: inherit; font-size: 1.3rem; line-height: 1; color: inherit; cursor: pointer; }
.mdb-topbar__recherche svg { transition: color .15s ease; }
/* survol et focus (31/10, Magali : pas de soulignement ni d'orange foncé) : seule l'icône passe en orange de marque, comme les réseaux */
.mdb-topbar__recherche:hover, .mdb-topbar__recherche:focus-visible, .mdb-topbar__recherche[aria-expanded=true] { opacity: .85; }
.mdb-topbar__recherche:hover svg, .mdb-topbar__recherche:focus-visible svg, .mdb-topbar__recherche[aria-expanded=true] svg,
.mdb-topbar .mdb-reseaux a:hover, .mdb-topbar .mdb-reseaux a:focus-visible { color: #F08C00; background: transparent; }
.mdb-topbar__recherche:focus-visible, .mdb-panneau-recherche:focus-visible, .mdb-topbar .mdb-reseaux a:focus-visible { outline: 2px solid #F08C00; outline-offset: 2px; }
.mdb-panneau-recherche { display: none; }
@media (max-width: 767px) { .mdb-panneau-recherche { display: flex; align-items: center; gap: 10px; width: 100%; padding: 18px 30px; border: 0; border-bottom: 1px solid var(--mdb-ligne); background: none; font: inherit; font-size: 1.6rem; color: var(--mdb-marine); text-align: left; cursor: pointer; } }
/* Panneau de recherche : posé sur le contenu (sans le pousser), glissement de 8 px + fondu (200 ms à l'ouverture, 140 ms à la fermeture), voile sur la page */
.mdb-recherche-panneau { position: absolute; z-index: 55; top: 100%; left: 0; right: 0; padding: 18px var(--mdb-gouttiere, 24px) 22px; background: #fff; border-bottom: 1px solid var(--mdb-ligne); box-shadow: 0 12px 32px rgba(43, 41, 38, .12);
	opacity: 0; transform: translateY(-8px); transition: opacity .14s ease-in, transform .14s ease-in; }
.mdb-recherche-panneau.est-ouvert { opacity: 1; transform: none; transition-duration: .2s; transition-timing-function: ease-out; }
.mdb-recherche-panneau[hidden] { display: none; }
.mdb-recherche-voile { position: fixed; inset: 0; z-index: 99; background: rgba(43, 41, 38, .25); opacity: 0; transition: opacity .14s ease-in; }
.mdb-recherche-voile.est-ouvert { opacity: 1; transition: opacity .2s ease-out; }
.mdb-recherche-voile[hidden] { display: none; }
.mdb-recherche-panneau .mdb-sugg:not([hidden]) { animation: mdb-fondu .15s ease-out; }
@keyframes mdb-fondu { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .mdb-recherche-panneau, .mdb-recherche-voile { transition: none !important; transform: none; } .mdb-recherche-panneau .mdb-sugg:not([hidden]) { animation: none; } }
.mdb-recherche-panneau__form { max-width: 760px; margin: 0 auto; }
.mdb-recherche-panneau__label { display: block; margin-bottom: 8px; font-size: 1.4rem; font-weight: 600; }
.mdb-recherche-panneau__champ { position: relative; display: flex; gap: 10px; }
.mdb-recherche-panneau__champ input { flex: 1; min-height: 48px; padding: 0 16px; font: inherit; font-size: 1.6rem; border: 1.5px solid var(--mdb-ligne); border-radius: 999px; }
.mdb-recherche-panneau__champ input:focus { outline: none; border-color: var(--mdb-orange); box-shadow: 0 0 0 3px rgba(243, 146, 0, .25); }
.mdb-recherche-panneau__champ .mdb-sugg { right: 130px; }
@media (max-width: 600px) { .mdb-recherche-panneau__champ { flex-direction: column; } .mdb-recherche-panneau__champ .mdb-sugg { right: 0; top: 54px; } }
.mdb-resultats__recherche { max-width: 720px; margin-top: 10px; }
.mdb-resultats__recherche .mdb-recherche-accueil__champ { position: relative; }
.mdb-resultats__autres { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; }
.mdb-resultats__autres:empty { display: none; }
.mdb-resultats__titre { font-size: 2rem; margin: 0 0 12px; }
.mdb-resultats__liste { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.mdb-resultats__liste a { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border: 1px solid var(--mdb-ligne); border-radius: 14px; color: var(--mdb-marine); text-decoration: none; }
.mdb-resultats__liste a:hover { border-color: var(--mdb-orange); }
.mdb-resultats__liste a span { font-size: 1.35rem; color: var(--mdb-texte-2); }
.mdb-resultats__vide { display: flex; flex-direction: column; gap: 16px; }
.mdb-resultats__domaines { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }

/* ---------------- Articles de Ressources avec barre latérale, glossaire sur Ressources (31/10, inc/articles.php) */
.mdb-article__grille { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; }
.mdb-article__principal { display: flex; flex-direction: column; gap: 18px; min-width: 0; max-width: 760px; }
.mdb-article__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 1.4rem; }
.mdb-article__titre { margin: 0; }
.mdb-article__chapo { margin: 0; font-size: 1.9rem; line-height: 1.5; color: var(--mdb-texte-2); }
.mdb-article__visuel { margin: 6px 0; }
.mdb-article__visuel img, .mdb-article__image { width: 100%; height: auto; border-radius: var(--mdb-r-bloc, 20px); }
.mdb-article__contenu { font-size: 1.7rem; line-height: 1.7; }
.mdb-article__contenu h2 { margin: 1.6em 0 .5em; font-size: 2.6rem; line-height: 1.2; }
.mdb-article__contenu ul { padding-left: 1.2em; }
.mdb-article__contenu .wp-block-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 24px 0; }
.mdb-article__contenu .wp-block-gallery figure { margin: 0; }
.mdb-article__contenu .wp-block-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.mdb-article__contenu .wp-block-gallery figcaption { grid-column: 1 / -1; font-size: 1.35rem; color: var(--mdb-texte-2); }
.mdb-article__fin { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 18px; padding: 22px 24px; border-radius: var(--mdb-r-bloc, 20px); background: var(--mdb-creme); }
.mdb-article__fin p { margin: 0; font-weight: 600; }
.mdb-cta-formation { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 18px 22px; border: 1.5px solid var(--mdb-orange); border-radius: var(--mdb-r-bloc, 20px); background: var(--mdb-orange-pale); }
.mdb-cta-formation > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.mdb-cta-formation__sur { font-size: 1.25rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mdb-texte-2); }
.mdb-cta-formation strong { font-size: 1.8rem; line-height: 1.3; }
.mdb-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--mdb-r-bloc, 20px); overflow: hidden; background: var(--mdb-marine) center / cover no-repeat; display: grid; place-items: center; }
.mdb-video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.45)); }
.mdb-video__lecture { position: relative; z-index: 1; width: 84px; height: 84px; border: 0; border-radius: 50%; background: var(--mdb-orange); color: #000; cursor: pointer; display: grid; place-items: center; transition: transform .15s; }
.mdb-video__lecture svg { width: 38px; height: 38px; margin-left: 4px; }
.mdb-video__lecture:hover { transform: scale(1.06); }
.mdb-video__lecture:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.mdb-video__mention { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 12px; margin: 0; color: #fff; font-size: 1.25rem; }
.mdb-video--lancee::before { display: none; }
.mdb-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mdb-article__aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 22px; }
.mdb-aside__bloc { padding: 20px; border-radius: var(--mdb-r-carte, 16px); background: var(--mdb-creme); }
.mdb-aside__titre { margin: 0 0 12px; font-size: 1.8rem; }
.mdb-aside__recherche label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 1.4rem; }
.mdb-aside__recherche input { width: 100%; min-height: 44px; padding: 0 14px; font: inherit; font-size: 1.5rem; border: 1.5px solid var(--mdb-ligne); border-radius: 999px; background: #fff; }
.mdb-aside__recherche input:focus { outline: none; border-color: var(--mdb-orange); box-shadow: 0 0 0 3px rgba(243, 146, 0, .25); }
.mdb-aside__recherche .mdb-sugg { right: 0; min-width: 0; }
.mdb-aside__retour { font-weight: 600; }
.mdb-minis { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.mdb-mini { display: flex; gap: 12px; align-items: center; color: var(--mdb-marine); text-decoration: none; }
.mdb-mini img, .mdb-mini__img { width: 64px; height: 64px; flex: none; object-fit: cover; border-radius: 10px; background: #fff; }
.mdb-mini > span { display: flex; flex-direction: column; gap: 2px; font-size: 1.45rem; line-height: 1.3; }
.mdb-mini > span span { font-size: 1.25rem; color: var(--mdb-texte-2); }
.mdb-mini:hover strong { text-decoration: none; }
@media (max-width: 1000px) { .mdb-article__grille { grid-template-columns: 1fr; gap: 32px; } .mdb-article__aside { position: static; } }
@media (max-width: 600px) { .mdb-article__contenu .wp-block-gallery { grid-template-columns: 1fr 1fr; } }
.mdb-glossaire__index { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.mdb-glossaire__index a { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 10px; border: 1.5px solid var(--mdb-ligne); border-radius: 999px; color: var(--mdb-marine); font-weight: 600; text-decoration: none; }
.mdb-glossaire__index a:hover, .mdb-glossaire__index a:focus-visible { border-color: var(--mdb-orange); background: var(--mdb-orange-pale); }
.mdb-glossaire-bloc .mdb-glossaire { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; margin: 0; }
.mdb-glossaire-bloc .mdb-glossaire__terme { padding: 18px 20px; border: 1px solid var(--mdb-ligne); border-radius: var(--mdb-r-carte, 16px); background: #fff; scroll-margin-top: 110px; }
.mdb-glossaire-bloc .mdb-glossaire__terme:target { border-color: var(--mdb-orange); box-shadow: 0 0 0 3px rgba(243, 146, 0, .2); }
.mdb-glossaire-bloc dt { margin-bottom: 6px; }
.mdb-glossaire-bloc dt strong { font-size: 1.9rem; margin-right: 6px; }
.mdb-glossaire-bloc dt span { color: var(--mdb-texte-2); }
.mdb-glossaire-bloc dd { margin: 0; }
.mdb-glossaire-bloc dd p { margin: 0 0 6px; }
#glossaire { scroll-margin-top: 90px; }
.mdb-pagination { margin-top: 24px; }
.mdb-article__aside h2.mdb-aside__titre { font-size: 1.8rem !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 0 0 12px !important; }
.mdb-article__contenu .wp-block-gallery figure.wp-block-image { width: 100% !important; margin: 0 !important; }

/* ---------------- Témoignages : bloc « Partagez votre expérience » et page /temoigner/ (31/10) */
.mdb-temoigner-bloc { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mdb-temoigner-bloc > div:first-child { max-width: 680px; display: flex; flex-direction: column; gap: 10px; }
.mdb-temoigner-bloc p { margin: 0; }
/* Note en étoiles : boutons radio (clavier : flèches), étoiles allumées jusqu'à la note choisie */
.mdb-form--temoigner .form-group:has(input[name="form-field-note[]"]) .options-wrapper { gap: 4px; }
.mdb-form--temoigner input[name="form-field-note[]"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mdb-form--temoigner input[name="form-field-note[]"] + label { font-size: 0; cursor: pointer; padding: 2px; border-radius: 6px; }
.mdb-form--temoigner input[name="form-field-note[]"] + label::before { content: "★"; font-size: 3.2rem; line-height: 1; color: #d9d4cc; transition: color .1s; }
.mdb-form--temoigner input[name="form-field-note[]"]:focus-visible + label { outline: 3px solid var(--mdb-orange); outline-offset: 2px; }
.mdb-form--temoigner .options-wrapper:has(li:nth-child(1) input:checked) li:nth-child(-n+1) label::before,
.mdb-form--temoigner .options-wrapper:has(li:nth-child(2) input:checked) li:nth-child(-n+2) label::before,
.mdb-form--temoigner .options-wrapper:has(li:nth-child(3) input:checked) li:nth-child(-n+3) label::before,
.mdb-form--temoigner .options-wrapper:has(li:nth-child(4) input:checked) li:nth-child(-n+4) label::before,
.mdb-form--temoigner .options-wrapper:has(li:nth-child(5) input:checked) li:nth-child(-n+5) label::before { color: var(--mdb-orange); }
.mdb-form--temoigner .form-group:has(input[type=file]) { grid-column: 1 / -1; }
.mdb-form--temoigner .form-group:has(.mdb-choix) { grid-column: 1 / -1; }
.mdb-form--temoigner .choose-files { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--mdb-marine); border-radius: 999px; cursor: pointer; font-weight: 600; }
/* Bloc éléphant : lien tertiaire « Je me fais guider → » sous les boutons (31/10) */
.bloc-marine .mdb-marine__guide { margin: 14px 0 0; }
.bloc-marine .mdb-marine__guide a { color: #fff; font-weight: 600; text-decoration: none; }
.bloc-marine .mdb-marine__guide a:hover { color: var(--mdb-orange); }
.bloc-marine .mdb-marine__guide a:focus-visible { outline: 3px solid var(--mdb-orange); outline-offset: 3px; border-radius: 4px; }

/* ---------------- Liens et documents utiles (Ressources, 31/10) */
.mdb-utiles { display: grid; gap: 36px; }
.mdb-utiles__groupe h3 { margin: 0 0 14px; font-size: 1.9rem; }
.mdb-utiles__liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.mdb-utile { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: #fff; border: 1px solid var(--mdb-ligne); border-radius: 16px; color: var(--mdb-marine); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.mdb-utile:hover { border-color: #F08C00; box-shadow: 0 8px 22px rgba(43, 41, 38, .08); }
.mdb-utile:focus-visible { outline: 2px solid #F08C00; outline-offset: 2px; }
.mdb-utile__icone { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--mdb-orange-pale); color: var(--mdb-marine); }
.mdb-utile:hover .mdb-utile__icone { color: #F08C00; }
.mdb-utile__corps { display: grid; gap: 4px; min-width: 0; }
.mdb-utile__titre { font-size: 1.6rem; line-height: 1.3; }
.mdb-utile__texte { font-size: 1.4rem; line-height: 1.45; color: var(--mdb-texte-2); }
.mdb-utile__meta { font-size: 1.25rem; color: var(--mdb-texte-2); }

/* ---------------- Règle globale (31/10, Magali) : aucun lien souligné, au repos comme au survol.
 * Survol = changement de couleur seulement : orange #F08C00 sur fond foncé et pour les icônes ; sur fond clair, liens texte NOIRS au repos et ORANGE #F08C00 au survol (31/10, couleur validée par Magali ; jamais marron ni orange foncé).
 * Liens dans un paragraphe (corps d'article, textes SEO, mentions) : demi-gras pour rester repérables sans soulignement. Focus clavier : contour #F08C00. */
a, a:hover, a:focus, a:active, .mdb-lien, summary, .mdb-filtre__raz { text-decoration: none !important; }
.mdb-lien, .mdb-contenu a:not([class]), .mdb-texte-seo a:not([class]), .mdb-legal a, .mdb-form__mention a, .brxe-text p a:not([class]), .brxe-post-content p a:not([class]), .mdb-article__corps p a:not([class]) { font-weight: 600; color: #000; transition: color .15s ease; }
.mdb-lien:hover, .mdb-contenu a:not([class]):hover, .mdb-texte-seo a:not([class]):hover, .mdb-legal a:hover, .mdb-form__mention a:hover, .brxe-text p a:not([class]):hover, .brxe-post-content p a:not([class]):hover, .mdb-article__corps p a:not([class]):hover,
.mdb-ariane a:hover, .mdb-filtre__raz:hover, .mdb-seo-replie > summary:hover, .mdb-enjeu__titre a:hover, .mdb-financement-profil__corps h3 a:hover, .mdb-avis-carte__formation a:hover, .mdb-guide-app__fiche-titre:hover, .mdb-mini:hover strong { color: #F08C00; }
.bloc-marine a:not(.mdb-btn):hover, .mdb-footer a:not(.mdb-btn):hover, .mdb-footer__menu a:hover, .mdb-footer__legal a:hover, .bloc-marine .mdb-marine__guide a:hover { color: #F08C00 !important; }
a:focus-visible, summary:focus-visible, button:focus-visible { outline: 2px solid #F08C00; outline-offset: 2px; }

/* ---------------- Chiffres clés en exergue (31/10, « Chacun sa façon d'arriver en haut ») : chiffre principal centré, 3 indicateurs, lien témoignages.
 * Valeurs : Réglages Mandyben ou calculées (inc/chiffres.php). Même esprit que les tuiles de la page Résultats (appréciation en orange). */
.mdb-hub__exergue { align-self: stretch; justify-content: center; align-items: center; text-align: center; padding: clamp(24px, 3vw, 36px); }
.mdb-exergue { display: flex; flex-direction: column; align-items: center; gap: 22px; width: 100%; }
.mdb-exergue__principal { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.mdb-exergue__principal strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(5rem, 6vw, 8rem); letter-spacing: -0.05em; line-height: 1; color: var(--mdb-marine); }
.mdb-exergue__principal span { color: var(--mdb-texte-2); font-size: 1.6rem; }
.mdb-exergue__indics { list-style: none; margin: 0; padding: 18px 0 0; border-top: 1px solid var(--mdb-ligne); width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mdb-exergue__indic { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.mdb-exergue__indic strong { font-family: var(--mdb-font-titre); font-weight: 600; font-size: clamp(2.2rem, 2.2vw, 2.8rem); letter-spacing: -0.03em; line-height: 1.05; color: var(--mdb-marine); }
.mdb-exergue__indic--satisfaction strong { color: #F08C00; }
.mdb-exergue__indic span { font-size: 1.3rem; line-height: 1.3; color: var(--mdb-texte-2); }
.mdb-exergue__lien { font-weight: 600; color: #000; transition: color .15s ease; }
.mdb-exergue__lien:hover { color: #F08C00; }
@media (max-width: 420px) { .mdb-exergue__indics { grid-template-columns: 1fr; } }

/* Titres pro (31/10) : ligne discrète sous « Certification » dans la carte de la fiche (bloc ↔ titre complet) */
.mdb-carte-fixe__titre-pro { margin: -4px 0 0; padding-bottom: 12px; border-bottom: 1px solid var(--mdb-ligne); font-size: 1.35rem; line-height: 1.5; color: var(--mdb-texte-2); }
.mdb-carte-fixe__titre-pro .mdb-lien { font-weight: 600; color: #000; }
.mdb-carte-fixe__titre-pro .mdb-lien:hover { color: #F08C00; }
.mdb-carte-fixe__titre-pro .mdb-carte-fixe__titre-pro-voir { display: inline-block; margin-top: 4px; } /* « Voir la formation complète → » à la ligne */

/* Fiche : « Voir toutes les sessions ↓ » sous la prochaine session (31/10), défilement doux vers #sessions, titre jamais caché par l'en-tête collant */
.mdb-carte-fixe__sessions { display: inline-block; margin-top: 4px; font-size: 1.4rem; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
#sessions, #avis, #guide, #demarches, #glossaire { scroll-margin-top: 110px; }

/* ---------------- Blocs sombres communs (31/10, demande de Magali) : tous les blocs éléphant (« Une autre formation en tête ? », « Parlons de votre projet »,
 * bandeau « Je me fais guider ») reprennent le design du bloc « Cette formation est-elle pour vous ? » de la fiche : même dégradé, même rayon, mêmes couleurs de texte.
 * Une seule source : les variables ci-dessous (aussi utilisées par .mdb-bonne). */
:root { --mdb-degrade-sombre: radial-gradient(70% 120% at 0% 0%, rgba(240, 140, 0, .30) 0%, rgba(240, 140, 0, 0) 60%), linear-gradient(#1a1b1f, #000); --mdb-r-sombre: 28px; }
html body .bloc-marine, html body.mdb-style-qonto .bloc-marine, html body .mdb-bandeau-guide { background: var(--mdb-degrade-sombre); border-radius: var(--mdb-r-sombre); color: rgba(255, 255, 255, .78); }
body .bloc-marine h2, body .bloc-marine h3, body .mdb-bandeau-guide p strong { color: #fff; }
body .bloc-marine p, body .mdb-bandeau-guide p { color: rgba(255, 255, 255, .78); }

/* Places restantes (31/10, Magali : levier d'urgence) : texte noir discret, petite pastille orange ; rien si le champ est vide */
.mdb-places { display: inline-flex; align-items: center; gap: 6px; font-size: 1.35rem; font-weight: 600; color: #000; }
.mdb-places::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #F08C00; flex: none; }
/* Texte SEO importé, replié (zoning bloc 10), seulement sur les fiches sans doublon */
.mdb-texte-seo summary { cursor: pointer; font-weight: 600; color: #000; list-style: none; }
.mdb-texte-seo summary::-webkit-details-marker { display: none; }
.mdb-texte-seo summary:hover { color: #F08C00; }
.mdb-texte-seo__corps { margin-top: 12px; color: var(--mdb-texte-2); }

/* Légendes des images Bricks jamais affichées (31/10 : crédit Unsplash et légendes importées du site actuel visibles sous les photos) ; elles restent en base */
.bricks-image-caption { display: none !important; }

/* Blocs reliés des pages domaines et Votre parcours (31/10) */
.mdb-lies-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.mdb-lies-grille .mdb-mini { padding: 10px; border: 1px solid var(--mdb-ligne); border-radius: 16px; background: #fff; }
.mdb-lies-grille .mdb-mini img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; flex: none; }
.mdb-lies-grille .mdb-mini span span { display: block; font-size: 1.3rem; color: var(--mdb-texte-2); }
.mdb-lies-profils { gap: 10px; }

/* 02/11 : lien « Affiner dans le catalogue » sous la recherche de la page de résultats (cible tactile confortable) */
.mdb-resultats__affiner { margin: 12px 0 0; }
.mdb-resultats__affiner a { display: inline-flex; align-items: center; min-height: 32px; }

/* 03/11 (Qualiopi ind. 2) : période, source et méthode de calcul sous chaque indicateur ; blocs par type de prestation */
.mdb-tuile-ind__precision, .mdb-tuile-ind__methode { display: block; font-size: 1.3rem; line-height: 1.4; color: var(--mdb-texte-2); }
.mdb-tuile-ind__methode { font-style: italic; }
.mdb-indicateurs__bloc { margin-top: 40px; display: flex; flex-direction: column; gap: 16px; }
.mdb-indicateurs__methode { margin-top: 32px; max-width: 860px; font-size: 1.5rem; color: var(--mdb-texte-2); }
.mdb-indicateurs__methode h3 { margin-bottom: 8px; font-size: 2rem; color: var(--mdb-marine); }
.mdb-indicateurs__methode p { margin: 0 0 8px; }

/* 03/11 (Qualiopi ind. 1) : « Informations pratiques » de la fiche, liste compacte libellé / texte */
.mdb-infos-pratiques { display: grid; gap: 14px; margin: 0; }
.mdb-infos-pratiques > div { display: grid; grid-template-columns: minmax(160px, 220px) 1fr; gap: 6px 24px; padding-bottom: 14px; border-bottom: 1px solid var(--mdb-ligne); }
.mdb-infos-pratiques dt { font-weight: 600; }
.mdb-infos-pratiques dd { margin: 0; color: var(--mdb-texte-2); }
.mdb-infos-pratiques__maj { margin: 14px 0 0; font-size: 1.3rem; color: var(--mdb-texte-2); }
@media (max-width: 599px) { .mdb-infos-pratiques > div { grid-template-columns: 1fr; } }

/* 03/11 (Qualiopi) : logo et mention des catégories certifiées dans le pied de page, compacts */
.mdb-qualiopi { display: flex; align-items: center; gap: 12px; }
.mdb-qualiopi__logo { flex: none; width: 88px; height: auto; padding: 6px; border-radius: 8px; background: #fff; }
.mdb-qualiopi > span { font-size: 1.3rem; line-height: 1.45; }
