/* Master Langues : formation (LearnDash 5, gabarit ld30 « modern » + mode focus). Charte : marine, bleu, or de signalement. */

:root {
  --ml-marine: #111F62; --ml-marine-d: #0B1440; --ml-bleu: #3050B0; --ml-ciel: #6CACE4; --ml-bleu-clair: #EEF2FB;
  --ml-or: #F0B010; --ml-creme: #FFF4CC; --ml-papier: #F8F9FA; --ml-blanc: #fff;
  --ml-texte: #2D2D2D; --ml-texte-2: #575757; --ml-trait: #D5DBEA; --ml-trait-2: #E6EAF5;
  --ml-vert: #1E7F4F; --ml-vert-clair: #E6F4EC; --ml-rouge: #B4231F; --ml-rouge-clair: #FBEAEA;
  --ml-r-lg: 24px; --ml-r: 18px; --ml-r-sm: 14px; --ml-r-xs: 10px;
  --ml-ombre: 0 1px 2px rgba(11,20,64,.06), 0 18px 40px -22px rgba(11,20,64,.32);
  --ml-ombre-s: 0 1px 2px rgba(11,20,64,.05), 0 8px 24px -16px rgba(11,20,64,.28);
  --ml-titre: "Inter", "Segoe UI", Arial, sans-serif;
}

/* Gabarit Blocksy : la zone de contenu laisse 159 px de vide sous l'en-tête, on la resserre sur les pages de la formation. */
.ml-formation:not(.ld-in-focus-mode) .site-main > .ct-container-full,
.ml-formation:not(.ld-in-focus-mode) .site-main > .ct-container,
.ml-formation:not(.ld-in-focus-mode) .site-main > .ct-container-narrow { padding-top: 40px !important; padding-bottom: 72px !important; }
.ml-formation:not(.ld-in-focus-mode) .hero-section { margin-bottom: 28px !important; }

/* ============================================================ Boutons */
.ml-formation .learndash-wrapper .wpProQuiz_button,
.ml-formation .learndash-wrapper input.wpProQuiz_button { display: inline-flex; }
.ml-formation .learndash-wrapper .ld-button:not(.ld-button-transparent):not(.ld-button-reverse):not(.ld-button-alternate):not(.ld-button--secondary),
.ml-formation .learndash-wrapper .ld-navigation__progress-mark-complete-button,
.ml-formation .learndash-wrapper .ld-enrollment__join-button,
.ml-formation .learndash-wrapper .ld-form .button,
.ml-formation .learndash-wrapper .ld-registration .button,
.ml-formation .learndash-wrapper .ld-login-modal .button,
.ml-formation .learndash-wrapper #quiz_continue_link,
.ml-formation .learndash-wrapper .ld-button--primary,
.ml-formation .learndash-wrapper .ld-payment-buttons .ld-button,
.ml-formation .learndash-wrapper .learndash_checkout_button,
.ml-formation .learndash-wrapper .ld-course-grid .ld-button,
.ml-formation .learndash-wrapper .ld-course-grid .btn-join { display: inline-flex !important; }
.ml-formation .learndash-wrapper .ld-button:not(.ld-button-transparent):not(.ld-button-reverse):not(.ld-button-alternate):not(.ld-button--secondary),
.ml-formation .learndash-wrapper .wpProQuiz_button,
.ml-formation .learndash-wrapper input.wpProQuiz_button,
.ml-formation .learndash-wrapper .ld-navigation__progress-mark-complete-button,
.ml-formation .learndash-wrapper .ld-enrollment__join-button,
.ml-formation .learndash-wrapper .ld-form .button,
.ml-formation .learndash-wrapper .ld-registration .button,
.ml-formation .learndash-wrapper .ld-login-modal .button,
.ml-formation .learndash-wrapper #quiz_continue_link,
.ml-formation .learndash-wrapper .ld-button--primary,
.ml-formation .learndash-wrapper .ld-payment-buttons .ld-button,
.ml-formation .learndash-wrapper .learndash_checkout_button,
.ml-formation .learndash-wrapper .ld-course-grid .ld-button,
.ml-formation .learndash-wrapper .ld-course-grid .btn-join {
  align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px !important; border: 2px solid var(--ml-marine) !important; border-radius: var(--ml-r-sm) !important;
  background: var(--ml-marine) !important; color: #fff !important;
  font: 700 1rem/1.2 var(--ml-titre) !important; letter-spacing: 0; text-transform: none !important; text-decoration: none !important;
  box-shadow: none !important; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
  width: auto; opacity: 1;
}
.ml-formation .learndash-wrapper .ld-button:not(.ld-button-transparent):not(.ld-button-reverse):not(.ld-button-alternate):not(.ld-button--secondary):hover,
.ml-formation .learndash-wrapper .wpProQuiz_button:hover,
.ml-formation .learndash-wrapper .ld-navigation__progress-mark-complete-button:hover,
.ml-formation .learndash-wrapper .ld-enrollment__join-button:hover,
.ml-formation .learndash-wrapper .ld-form .button:hover,
.ml-formation .learndash-wrapper .ld-registration .button:hover,
.ml-formation .learndash-wrapper .ld-login-modal .button:hover,
.ml-formation .learndash-wrapper #quiz_continue_link:hover,
.ml-formation .learndash-wrapper .ld-payment-buttons .ld-button:hover {
  background: var(--ml-bleu) !important; border-color: var(--ml-bleu) !important; color: #fff !important;
}
.ml-formation .learndash-wrapper .wpProQuiz_button:focus-visible,
.ml-formation .learndash-wrapper .ld-button:focus-visible,
.ml-formation .learndash-wrapper .button:focus-visible { outline: 3px solid var(--ml-or) !important; outline-offset: 2px; }
.ml-formation .learndash-wrapper .button[disabled],
.ml-formation .learndash-wrapper .wpProQuiz_button[disabled],
.ml-formation .learndash-wrapper .ld-navigation__progress-mark-complete-button[disabled] { opacity: .45 !important; cursor: not-allowed; }

/* Boutons secondaires : contour marine sur fond blanc. */
.ml-formation .learndash-wrapper input.wpProQuiz_button[name="back"],
.ml-formation .learndash-wrapper input.wpProQuiz_button_restartQuiz,
.ml-formation .learndash-wrapper input.wpProQuiz_button_reShowQuestion,
.ml-formation .learndash-wrapper .ld-button--secondary,
.ml-formation .learndash-wrapper .ld-button__password-visibility-toggle,
.ml-formation .learndash-wrapper .ld-navigation__previous-link,
.ml-formation .learndash-wrapper .ld-navigation__next-link,
.ml-formation .learndash-wrapper .ld-navigation__back-to-course-link {
  background: #fff !important; color: var(--ml-marine) !important; border: 2px solid var(--ml-marine) !important;
  border-radius: var(--ml-r-sm) !important; font: 700 .95rem/1.2 var(--ml-titre) !important; text-transform: none !important; box-shadow: none !important;
}
.ml-formation .learndash-wrapper input.wpProQuiz_button[name="back"]:hover,
.ml-formation .learndash-wrapper input.wpProQuiz_button_restartQuiz:hover,
.ml-formation .learndash-wrapper input.wpProQuiz_button_reShowQuestion:hover,
.ml-formation .learndash-wrapper .ld-button--secondary:hover,
.ml-formation .learndash-wrapper .ld-button__password-visibility-toggle:hover,
.ml-formation .learndash-wrapper .ld-navigation__previous-link:hover,
.ml-formation .learndash-wrapper .ld-navigation__next-link:hover,
.ml-formation .learndash-wrapper .ld-navigation__back-to-course-link:hover { background: var(--ml-bleu-clair) !important; color: var(--ml-marine) !important; }

/* ============================================================ Communs (titres, barres de progression, fil d'Ariane) */
.ml-formation .learndash-wrapper { color: var(--ml-texte); }
.ml-formation .learndash-wrapper a { text-decoration: none; }
.ml-formation .ld-progress-bar__label,
.ml-formation .ld-progress-bar__label--progress { font: 700 .75rem/1.2 var(--ml-titre) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ml-texte-2) !important; }
.ml-formation .ld-progress-bar__meter-percentage { font: 800 .9rem/1 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-progress-bar__meter-background { background: var(--ml-trait-2) !important; border-radius: 999px !important; height: 8px !important; overflow: hidden; }
.ml-formation .ld-progress-bar__meter-foreground { background: var(--ml-marine) !important; border-radius: 999px !important; }
.ml-formation .ld-progress-bar__meter-label { font: 600 .8rem/1.2 var(--ml-titre) !important; color: var(--ml-texte-2) !important; text-transform: none !important; letter-spacing: 0; }
.ml-formation .ld-breadcrumbs { background: transparent !important; padding: 0 !important; }
.ml-formation .ld-breadcrumbs__link { color: var(--ml-texte-2) !important; font-size: .9rem !important; }
.ml-formation .ld-breadcrumbs__link[aria-current="page"] { color: var(--ml-marine) !important; font-weight: 600; }
.ml-formation .ld-tooltip__text { background: var(--ml-marine-d) !important; color: #fff !important; border-radius: var(--ml-r-xs) !important; font-size: .85rem !important; }

/* Onglets (Leçon / Fiche PDF) : commutateur segmenté. */
.ml-formation .ld-tab-bar__tabs { display: inline-flex !important; gap: 4px; padding: 4px; margin: 0 0 20px !important; background: var(--ml-bleu-clair) !important; border-radius: var(--ml-r-sm) !important; border: 0 !important; }
.ml-formation .ld-tab-bar__tab { display: inline-flex !important; align-items: center; gap: 8px; padding: 9px 16px !important; border: 0 !important; border-radius: var(--ml-r-xs) !important; background: transparent !important; color: var(--ml-marine) !important; font: 700 .95rem/1.2 var(--ml-titre) !important; box-shadow: none !important; cursor: pointer; }
.ml-formation .ld-tab-bar__tab svg { width: 18px; height: 18px; }
.ml-formation .ld-tab-bar__tab[aria-selected="true"] { background: #fff !important; color: var(--ml-marine) !important; box-shadow: var(--ml-ombre-s) !important; }
.ml-formation .ld-tab-bar__tab:hover { background: rgba(255,255,255,.6) !important; }
.ml-formation .ld-tab-bar--single .ld-tab-bar__tabs { display: none !important; }

/* ============================================================ Page du cours */
.ml-formation.single-sfwd-courses .page-title { color: var(--ml-marine) !important; text-transform: none !important; }
.ml-formation .ld-layout__sidebar .ld-enrollment,
.ml-formation .ld-layout__sidebar .ld-details { border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r) !important; box-shadow: var(--ml-ombre-s) !important; background: #fff !important; }
.ml-formation .ld-enrollment__pricing-label { font: 700 .75rem/1.2 var(--ml-titre) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ml-texte-2) !important; }
.ml-formation .ld-enrollment__pricing-price { font: 800 2.25rem/1 var(--ml-titre) !important; color: var(--ml-marine) !important; letter-spacing: -.03em; }
.ml-formation .ld-enrollment__join-button { width: 100% !important; }
.ml-formation .ld-enrollment__login-text { color: var(--ml-texte-2) !important; }
.ml-formation .ld-enrollment__login-link { background: none !important; border: 0 !important; color: var(--ml-bleu) !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; padding: 0 !important; }
.ml-formation .ld-details__heading { font: 700 .75rem/1.2 var(--ml-titre) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ml-texte-2) !important; }
.ml-formation .ld-details__item { color: var(--ml-texte) !important; }
.ml-formation .ld-details__icon { color: var(--ml-bleu) !important; }

/* Élève inscrit : bouton « Commencer » ou « Reprendre » en tête de la description. */
.ml-formation .ml-reprendre { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 0 0 28px; padding: 18px 20px; border-radius: var(--ml-r); background: var(--ml-bleu-clair); box-shadow: inset 4px 0 0 var(--ml-or); }
.ml-formation .ml-reprendre__bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 24px; border-radius: var(--ml-r-sm); background: var(--ml-marine); color: #fff !important; font: 700 1.05rem/1.2 var(--ml-titre); text-decoration: none !important; }
.ml-formation .ml-reprendre__bouton::after { content: "  →"; white-space: pre; }
.ml-formation .ml-reprendre__bouton:hover, .ml-formation .ml-reprendre__bouton:focus { background: var(--ml-bleu); color: #fff !important; }
.ml-formation .ml-reprendre__etape { flex: 1 1 240px; color: var(--ml-marine); font: 600 .95rem/1.4 var(--ml-titre); }

/* Programme (accordéon « modern ») : pas de boutons « Afficher », les quiz restent dans les leçons. */
.ml-formation .ld-accordion--course .ld-accordion__expand-button,
.ml-formation .ld-accordion--course .ld-accordion__item-steps { display: none !important; }
.ml-formation .ld-accordion__heading { font: 800 1.5rem/1.2 var(--ml-titre) !important; color: var(--ml-marine) !important; margin: 0 !important; }
.ml-formation .ld-accordion__header { margin: 36px 0 12px !important; padding: 0 !important; border: 0 !important; }
.ml-formation .ld-accordion__content { border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r) !important; background: #fff !important; padding: 8px 18px 18px !important; box-shadow: var(--ml-ombre-s); }
.ml-formation .ld-accordion__subheading { display: flex !important; align-items: center; gap: 10px; margin: 18px 0 6px !important; padding: 10px 14px !important; border-radius: var(--ml-r-xs) !important; background: var(--ml-bleu-clair) !important; box-shadow: inset 4px 0 0 var(--ml-or) !important; font: 800 1rem/1.25 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-accordion__item--lesson { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--ml-trait-2) !important; border-radius: 0 !important; background: transparent !important; }
.ml-formation .ld-accordion__item--lesson:last-child { border-bottom: 0 !important; }
.ml-formation .ld-accordion__item--lesson:hover { background: var(--ml-papier) !important; }
.ml-formation .ld-accordion__item-header--lesson { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left !important; }
.ml-formation .ld-accordion__item-title-wrapper { flex: 1 1 auto; min-width: 0; text-align: left !important; }
.ml-formation .ld-accordion__item-attributes { justify-content: flex-end; }
.ml-formation .ld-accordion__item-title { font: 500 1.0625rem/1.4 "Heebo", "Segoe UI", Arial, sans-serif !important; color: var(--ml-marine) !important; }
.ml-formation .ld-accordion__item-title:hover { color: var(--ml-bleu) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.ml-formation .ld-accordion__item-attributes { display: flex; gap: 8px; flex: none; }
.ml-formation .ld-accordion__item-attribute { display: inline-flex !important; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--ml-papier); border: 1px solid var(--ml-trait); font: 600 .78rem/1.2 var(--ml-titre) !important; color: var(--ml-texte-2) !important; }
.ml-formation .ld-accordion__item-attribute svg { width: 14px; height: 14px; color: var(--ml-bleu); }
.ml-formation .ld-accordion__item--lesson .ld-tooltip__text { display: none !important; }
.ml-formation .ld-accordion__item--lesson.ld-accordion__item--completed .ld-accordion__item-title::before,
.ml-formation .ld-accordion__item--lesson .ld-accordion__item-title[data-complete="true"]::before { content: "✓ "; color: var(--ml-vert); font-weight: 800; }

/* ============================================================ Leçon : contenu, quiz, navigation */
.ml-formation .ld-accordion--lesson .ld-accordion__header { margin: 36px 0 10px !important; }
.ml-formation .ld-accordion--lesson .ld-accordion__heading::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--ml-or); margin-right: 10px; vertical-align: middle; }
.ml-formation .ld-accordion--lesson .ld-accordion__subheading { display: none !important; }
.ml-formation .ld-accordion--lesson .ld-accordion__content { padding: 10px 16px !important; }
.ml-formation .ld-accordion--lesson .ld-accordion__content::before { content: "Vérifiez ce que vous avez retenu : une question à la fois, avec l'explication après chaque réponse. Le quiz valide la leçon."; display: block; margin: 6px 0 12px; font: 400 .98rem/1.55 "Heebo", "Segoe UI", Arial, sans-serif; color: var(--ml-texte-2); }
.ml-formation .ld-accordion--lesson .ld-accordion__section { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
.ml-formation .ld-accordion__item--quiz { display: flex !important; align-items: center; gap: 14px; margin: 0 0 10px !important; padding: 16px 18px !important; border: 2px solid var(--ml-marine) !important; border-radius: var(--ml-r-sm) !important; background: #fff !important; }
.ml-formation .ld-accordion__item--quiz:hover { background: var(--ml-bleu-clair) !important; }
.ml-formation .ld-accordion__item--quiz > svg { width: 26px; height: 26px; flex: none; color: var(--ml-marine); }
.ml-formation .ld-accordion__item--quiz .ld-accordion__item-title { font: 700 1.0625rem/1.35 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-accordion__item--quiz .ld-accordion__item-title::after { content: "  →"; white-space: pre; }
.ml-formation .ld-accordion__item--quiz .ld-accordion__item-title:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.ml-formation .ld-accordion__item--quiz .ld-tooltip__text { display: none !important; }

.ml-formation .ld-navigation { display: grid !important; grid-template-columns: 1fr auto auto; grid-template-areas: "progress previous next" "back back back"; gap: 12px; align-items: center; margin-top: 32px !important; padding-top: 24px !important; border-top: 1px solid var(--ml-trait) !important; }
.ml-formation .ld-navigation__progress { grid-area: progress; }
.ml-formation .ld-navigation__previous { grid-area: previous; }
.ml-formation .ld-navigation__next { grid-area: next; }
.ml-formation .ld-navigation__back-to-course { grid-area: back; justify-self: start; margin: 6px 0 0 !important; width: auto !important; }
.ml-formation .ld-navigation__previous, .ml-formation .ld-navigation__next, .ml-formation .ld-navigation__progress { margin: 0 !important; }
.ml-formation .ld-navigation__previous-link,
.ml-formation .ld-navigation__next-link { display: inline-flex !important; align-items: center; gap: 8px; min-height: 48px; padding: 10px 18px !important; }
.ml-formation .ld-navigation__next-link { background: var(--ml-marine) !important; color: #fff !important; }
.ml-formation .ld-navigation__next-link:hover { background: var(--ml-bleu) !important; border-color: var(--ml-bleu) !important; color: #fff !important; }
.ml-formation .ld-navigation__label--short { display: none !important; }
.ml-formation .ld-navigation__label--long { display: inline !important; }
.ml-formation .ld-navigation__back-to-course-link { border-width: 1px !important; min-height: 40px; padding: 8px 14px !important; font-size: .9rem !important; color: var(--ml-texte-2) !important; border-color: var(--ml-trait) !important; }
.ml-formation .ld-navigation__progress-mark-complete .ld-tooltip__text { font-size: .85rem !important; }
@media (max-width: 720px) {
  .ml-formation .ld-navigation { grid-template-columns: 1fr 1fr; grid-template-areas: "progress progress" "previous next" "back back"; }
  .ml-formation .ld-navigation__progress-mark-complete-button { width: 100% !important; }
  .ml-formation .ld-navigation__previous-link, .ml-formation .ld-navigation__next-link { width: 100%; justify-content: center; }
}

/* Contenu des leçons (HTML produit par scripts/build-course.py). */
.ml-lecon { color: var(--ml-texte); line-height: 1.65; }
.ml-lecon h2 { color: var(--ml-marine); margin: 2em 0 .6em; padding-top: .7em; border-top: 3px solid var(--ml-bleu-clair); font: 800 1.5em/1.25 var(--ml-titre); }
.ml-lecon h3 { color: var(--ml-bleu); margin: 1.6em 0 .5em; font: 700 1.2em/1.3 var(--ml-titre); }
.ml-lecon h4 { color: var(--ml-marine); margin: 1.3em 0 .4em; font: 700 1.05em/1.3 var(--ml-titre); }
.ml-lecon > h2:first-child, .ml-lecon > .ml-meta + h2 { border-top: 0; padding-top: 0; }
.ml-lecon p, .ml-lecon ul, .ml-lecon ol { margin: 0 0 1em; }
.ml-lecon li { margin: .25em 0; }
.ml-lecon .ml-video { margin: 0 0 1.5em; }
.ml-lecon .ml-video video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border-radius: var(--ml-r-sm); background: var(--ml-marine-d); box-shadow: 0 8px 24px rgba(17,31,98,.18); }
.ml-lecon .ml-meta { background: var(--ml-bleu-clair); border-radius: 12px; padding: .8em 1em; font-size: .92em; color: var(--ml-texte-2); }
.ml-lecon .ml-meta strong { color: var(--ml-marine); }
.ml-lecon table { border-collapse: collapse; width: 100%; margin: 1em 0 1.4em; font-size: .95em; background: #fff; }
.ml-lecon th { background: var(--ml-marine); color: #fff; text-align: left; font-weight: 600; }
.ml-lecon th, .ml-lecon td { border: 1px solid var(--ml-trait); padding: .55em .75em; vertical-align: top; }
.ml-lecon tbody tr:nth-child(even) td { background: var(--ml-papier); }
.ml-lecon blockquote { margin: 1.2em 0; padding: 1em 1.25em; background: var(--ml-papier); border: 1px solid var(--ml-trait); border-left: 4px solid var(--ml-bleu); border-radius: 0 12px 12px 0; font-style: normal; font-size: 1em; color: var(--ml-texte); }
.ml-lecon blockquote p:last-child { margin-bottom: 0; }
.ml-lecon blockquote::before { content: none; }
.ml-lecon details { margin: 1.4em 0; border: 1px solid var(--ml-trait); border-radius: 12px; background: #fff; }
.ml-lecon summary { cursor: pointer; padding: .85em 1.1em; font-weight: 700; color: var(--ml-marine); background: var(--ml-bleu-clair); border-radius: 12px; }
.ml-lecon summary:hover { background: #E1E8F8; }
.ml-lecon details[open] summary { border-radius: 12px 12px 0 0; border-bottom: 1px solid var(--ml-trait); }
.ml-lecon details > :not(summary) { margin-left: 1.1em; margin-right: 1.1em; }
.ml-lecon details > :last-child { margin-bottom: 1.1em; }
.ml-lecon .ml-audio { margin: .4em 0 1em; }
.ml-lecon audio { display: block; width: 100%; max-width: 640px; }
.ml-lecon .ml-fiche { margin-top: 2em; }
.ml-lecon .ml-fiche a { display: inline-flex; align-items: center; gap: 8px; padding: .8em 1.3em; border-radius: var(--ml-r-sm); background: var(--ml-marine); color: #fff; font: 700 1rem/1.2 var(--ml-titre); text-decoration: none; }
.ml-lecon .ml-fiche a::after { content: "↗"; font-size: .9em; }
.ml-lecon .ml-fiche a:hover, .ml-lecon .ml-fiche a:focus { background: var(--ml-bleu); color: #fff; }
.ml-lecon.ml-cours ul, .ml-lecon.ml-cours ol { padding-left: 1.3em; }
@media (max-width: 640px) { .ml-lecon table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; } .ml-lecon th, .ml-lecon td { min-width: 8em; } }
.ml-formation .ld-tab-bar__panel .ld-materials a, .ml-formation #ld-tab-panel-materials a { font-weight: 700; color: var(--ml-bleu); text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================ Mode focus */
.ml-formation.ld-in-focus-mode .ld-focus-header { background: #fff !important; border-bottom: 1px solid var(--ml-trait) !important; box-shadow: none !important; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-progress-percentage { color: var(--ml-marine) !important; font: 800 .8rem/1.2 var(--ml-titre) !important; letter-spacing: .08em; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-progress-steps { color: var(--ml-texte-2) !important; font: 600 .8rem/1.2 var(--ml-titre) !important; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-progress-bar { background: var(--ml-trait-2) !important; border-radius: 999px !important; height: 6px !important; overflow: hidden; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-progress-bar-percentage { background: var(--ml-marine) !important; border-radius: 999px !important; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-content-actions .ld-button { color: var(--ml-marine) !important; font: 700 .95rem/1.2 var(--ml-titre) !important; background: transparent !important; text-transform: none !important; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-content-actions .ld-button:hover { color: var(--ml-bleu) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.ml-formation.ld-in-focus-mode .ld-focus-header .ld-content-actions .ld-content-action { border-color: var(--ml-trait) !important; }
.ml-formation.ld-in-focus-mode .ld-user-welcome-text { color: var(--ml-texte) !important; font-weight: 600; }
.ml-formation.ld-in-focus-mode .ld-profile-avatar img { border-radius: 50%; }
.ml-formation.ld-in-focus-mode .ld-user-menu-items a { color: var(--ml-marine) !important; }

/* Sommaire */
.ml-formation.ld-in-focus-mode .ld-focus-sidebar { background: var(--ml-papier) !important; border-right: 1px solid var(--ml-trait) !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation-heading { background: var(--ml-marine) !important; }
.ml-formation.ld-in-focus-mode #ld-focus-mode-course-heading { color: #fff !important; font: 800 1rem/1.3 var(--ml-titre) !important; }
.ml-formation.ld-in-focus-mode #ld-focus-mode-course-heading .ld-icon { color: var(--ml-or) !important; }
.ml-formation.ld-in-focus-mode .ld-focus-sidebar-trigger { background: var(--ml-bleu) !important; color: #fff !important; border: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-focus-sidebar-trigger .ld-icon { color: #fff !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-section-heading { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-section-heading { display: flex !important; align-items: center; gap: 10px; margin: 18px 12px 6px !important; padding: 10px 12px !important; border-radius: var(--ml-r-xs) !important; background: var(--ml-bleu-clair) !important; border-left: 4px solid var(--ml-or) !important; color: var(--ml-marine) !important; font: 800 .85rem/1.3 var(--ml-titre) !important; text-transform: none !important; letter-spacing: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item { background: transparent !important; border: 0 !important; margin: 0 8px !important; padding: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-preview { display: block !important; padding: 0 !important; border: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-preview-heading { display: flex !important; align-items: flex-start; gap: 10px; padding: 10px 10px 6px 10px !important; border-radius: var(--ml-r-xs); color: var(--ml-texte) !important; font: 600 .92rem/1.35 var(--ml-titre) !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-preview-heading:hover { background: #fff !important; color: var(--ml-marine) !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-item-preview-heading,
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item.ld-is-current-lesson .ld-lesson-title { color: var(--ml-marine) !important; font-weight: 800 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item.ld-is-current-lesson:not(.ml-lecon-du-quiz) > .ld-lesson-item-preview .ld-lesson-item-preview-heading { background: #fff !important; box-shadow: inset 4px 0 0 var(--ml-or), var(--ml-ombre-s); }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-title { flex: 1; min-width: 0; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-expand-button { display: none !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-expanded { display: block !important; max-height: none !important; overflow: visible !important; padding: 0 0 6px 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list { background: transparent !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
/* Le petit triangle blanc et la flèche que LearnDash dessine sous chaque leçon n'ont plus de sens une fois tout déplié. */
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-expanded::before,
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-topic-list.ld-table-list::before { display: none !important; content: none !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-lesson-item-expanded .ld-table-list-items { padding: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item { border: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item-wrapper { padding: 0 !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item-preview { display: flex !important; align-items: center; gap: 8px; margin: 0 0 2px 30px !important; padding: 6px 10px !important; border-radius: 8px; color: var(--ml-texte-2) !important; font: 600 .82rem/1.3 var(--ml-titre) !important; background: transparent !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item-preview:hover { background: #fff !important; color: var(--ml-marine) !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ml-quiz-courant .ld-table-list-item-preview { background: #fff !important; color: var(--ml-marine) !important; font-weight: 800 !important; box-shadow: inset 4px 0 0 var(--ml-or), var(--ml-ombre-s); }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-topic-title { flex: 1; }
/* Pastilles d'état : vide = à faire, pleine = fait. */
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-status-icon { flex: none; width: 18px !important; height: 18px !important; margin: 1px 0 0 !important; border-radius: 50% !important; border: 2px solid var(--ml-trait) !important; background: #fff !important; box-sizing: border-box; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-status-icon::before { display: none !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-status-icon .ld-icon { display: none !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-status-icon.ld-status-complete,
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-status-icon.ld-quiz-complete { background: var(--ml-marine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat !important; border-color: var(--ml-marine) !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item-preview .ld-status-icon { width: 14px !important; height: 14px !important; margin: 0 !important; border-radius: 4px !important; }
.ml-formation.ld-in-focus-mode .ld-course-navigation .ld-table-list-item-preview .ld-status-icon.ld-quiz-complete { background-size: 9px !important; }
.ml-formation.ld-in-focus-mode .ld-focus-sidebar-wrapper { scroll-behavior: smooth; }

/* Contenu */
.ml-formation.ld-in-focus-mode .ld-focus-content { max-width: 900px !important; }
.ml-formation.ld-in-focus-mode .ld-focus-content > h1 { color: var(--ml-marine) !important; font: 800 clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem)/1.15 var(--ml-titre) !important; letter-spacing: -.02em; margin-bottom: 14px !important; }

/* ============================================================ Quiz */
.ml-formation .wpProQuiz_content { color: var(--ml-texte); }
.ml-formation .wpProQuiz_text { margin: 20px 0 !important; }
.ml-formation .wpProQuiz_text .wpProQuiz_button { min-width: 220px; }
.ml-formation .wpProQuiz_listItem { margin: 0 0 20px !important; padding: 24px clamp(18px, 3vw, 32px) !important; border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r) !important; background: #fff !important; box-shadow: var(--ml-ombre-s); }
.ml-formation .wpProQuiz_question_page { display: block !important; margin: 0 0 10px !important; font: 700 .75rem/1.2 var(--ml-titre) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ml-bleu) !important; }
.ml-formation .wpProQuiz_question_text { font: 700 1.2rem/1.4 var(--ml-titre) !important; color: var(--ml-marine) !important; margin: 0 0 18px !important; }
.ml-formation .wpProQuiz_question_text p { margin: 0 0 .5em; }
.ml-formation .wpProQuiz_questionList { display: grid !important; gap: 10px; margin: 0 0 18px !important; }
.ml-formation .wpProQuiz_questionListItem { margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.ml-formation .wpProQuiz_questionListItem label:has(.wpProQuiz_questionInput) { display: flex !important; align-items: center; gap: 14px; margin: 0 !important; padding: 14px 16px !important; border: 2px solid var(--ml-trait) !important; border-radius: var(--ml-r-sm) !important; background: #fff !important; color: var(--ml-texte) !important; font: 500 1.02rem/1.45 "Heebo", "Segoe UI", Arial, sans-serif !important; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.ml-formation .wpProQuiz_questionListItem label:has(.wpProQuiz_questionInput):hover { border-color: var(--ml-bleu) !important; background: var(--ml-bleu-clair) !important; }
.ml-formation .wpProQuiz_questionListItem label:has(input:checked) { border-color: var(--ml-marine) !important; background: var(--ml-bleu-clair) !important; }
.ml-formation .wpProQuiz_questionListItem label:has(.wpProQuiz_questionInput):focus-within { border-color: var(--ml-bleu) !important; box-shadow: 0 0 0 3px rgba(48,80,176,.2); }
.ml-formation .wpProQuiz_questionInput { width: 20px !important; height: 20px !important; margin: 0 !important; flex: none; accent-color: var(--ml-marine); }
.ml-formation .wpProQuiz_questionListItem .ld-quiz-question-item__status { margin-left: auto; font: 700 .78rem/1.2 var(--ml-titre) !important; letter-spacing: .06em; text-transform: uppercase; }
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerCorrect label,
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerCorrectIncomplete label { border-color: var(--ml-vert) !important; background: var(--ml-vert-clair) !important; }
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect label { border-color: var(--ml-rouge) !important; background: var(--ml-rouge-clair) !important; }
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerCorrect .ld-quiz-question-item__status,
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerCorrectIncomplete .ld-quiz-question-item__status { color: var(--ml-vert) !important; }
.ml-formation .wpProQuiz_questionListItem.wpProQuiz_answerIncorrect .ld-quiz-question-item__status { color: var(--ml-rouge) !important; }
.ml-formation .wpProQuiz_questionListItem fieldset { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.ml-formation .wpProQuiz_questionListItem fieldset p { font: 500 1.1rem/2 "Heebo", "Segoe UI", Arial, sans-serif; color: var(--ml-texte); margin: 0; }
.ml-formation .wpProQuiz_questionListItem fieldset label { display: inline !important; }
.ml-formation .wpProQuiz_cloze { position: relative; display: inline-block; vertical-align: middle; margin: 0 4px !important; }
.ml-formation .wpProQuiz_cloze input { width: auto !important; min-width: 6ch; padding: 6px 10px !important; border: 2px solid var(--ml-trait) !important; border-radius: 8px !important; font: inherit !important; line-height: 1.4 !important; color: var(--ml-marine) !important; background: #fff !important; text-align: center; }
.ml-formation .wpProQuiz_cloze input:focus { border-color: var(--ml-bleu) !important; outline: none; }
.ml-formation .wpProQuiz_cloze.wpProQuiz_answerCorrect input { border-color: var(--ml-vert) !important; background: var(--ml-vert-clair) !important; }
.ml-formation .wpProQuiz_cloze.wpProQuiz_answerIncorrect input { border-color: var(--ml-rouge) !important; background: var(--ml-rouge-clair) !important; }
/* Après vérification, LearnDash ajoute une icône et la bonne réponse dans le trou : l'icône se pose dans le champ, la bonne réponse à sa droite. */
.ml-formation .wpProQuiz_cloze.wpProQuiz_answerCorrect input,
.ml-formation .wpProQuiz_cloze.wpProQuiz_answerIncorrect input { padding-right: 34px !important; }
.ml-formation .wpProQuiz_cloze .ld-quiz__cloze-icon { display: inline-block; position: static; vertical-align: middle; width: 16px; height: 16px; margin: 0 8px 0 -28px; background: center/16px no-repeat; pointer-events: none; }
.ml-formation .wpProQuiz_cloze .ld-quiz__cloze-icon::before { content: none !important; }
.ml-formation .wpProQuiz_cloze .ld-quiz__cloze-icon--correct { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7F4F' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E"); }
.ml-formation .wpProQuiz_cloze .ld-quiz__cloze-icon--incorrect { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B4231F' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); }
.ml-formation .wpProQuiz_cloze .wpProQuiz_clozeCorrect:empty { display: none !important; }
.ml-formation .wpProQuiz_cloze .wpProQuiz_clozeCorrect { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 999px; background: var(--ml-vert-clair); color: var(--ml-vert); font: 700 .9rem/1.6 var(--ml-titre); white-space: nowrap; }
.ml-formation .wpProQuiz_cloze .wpProQuiz_clozeCorrect::before { content: "Réponse attendue : "; font-weight: 500; }
.ml-formation .wpProQuiz_cloze .wpProQuiz_clozeCorrect .ld-quiz__cloze-results--correct-answer { color: var(--ml-vert) !important; font-weight: 800; }
.ml-formation .wpProQuiz_response { margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.ml-formation .wpProQuiz_response .wpProQuiz_correct,
.ml-formation .wpProQuiz_response .wpProQuiz_incorrect { padding: 14px 16px !important; border-radius: var(--ml-r-sm) !important; border-left: 5px solid var(--ml-vert) !important; background: var(--ml-vert-clair) !important; color: var(--ml-texte) !important; }
.ml-formation .wpProQuiz_response .wpProQuiz_incorrect { border-left-color: var(--ml-rouge) !important; background: var(--ml-rouge-clair) !important; }
.ml-formation .wpProQuiz_response .wpProQuiz_correct > span,
.ml-formation .wpProQuiz_response .wpProQuiz_incorrect > span { display: block; margin-bottom: 4px; font: 800 .8rem/1.2 var(--ml-titre) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ml-vert) !important; }
.ml-formation .wpProQuiz_response .wpProQuiz_incorrect > span { color: var(--ml-rouge) !important; }
.ml-formation .wpProQuiz_AnswerMessage { font: 400 1rem/1.55 "Heebo", "Segoe UI", Arial, sans-serif !important; color: var(--ml-texte) !important; }
.ml-formation .wpProQuiz_QuestionButton { margin: 4px 0 0 !important; min-width: 140px; }
.ml-formation .wpProQuiz_QuestionButton[name="check"][disabled] { display: none !important; }
.ml-formation .wpProQuiz_response, .ml-formation .wpProQuiz_response .wpProQuiz_correct, .ml-formation .wpProQuiz_response .wpProQuiz_incorrect, .ml-formation .wpProQuiz_AnswerMessage { text-align: left !important; }
.ml-formation .wpProQuiz_QuestionButton[name="next"] { float: right !important; margin-left: 10px !important; }
.ml-formation .wpProQuiz_QuestionButton[name="check"] { float: right !important; }
.ml-formation .wpProQuiz_results { padding: 28px clamp(18px, 3vw, 32px) !important; border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r) !important; background: #fff !important; box-shadow: var(--ml-ombre-s); }
.ml-formation .wpProQuiz_results .wpProQuiz_header,
.ml-formation .wpProQuiz_sending .wpProQuiz_header,
.ml-formation .wpProQuiz_checkPage .wpProQuiz_header { font: 800 1.5rem/1.2 var(--ml-titre) !important; color: var(--ml-marine) !important; margin: 0 0 12px !important; }
.ml-formation .wpProQuiz_results p { font-size: 1.05rem; margin: 0 0 8px !important; }
.ml-formation .wpProQuiz_results .wpProQuiz_correct_answer { font: 800 1.6rem/1 var(--ml-titre); color: var(--ml-marine); }
.ml-formation .wpProQuiz_results .wpProQuiz_quiz_time { display: none !important; }
/* Réussi ou pas : LearnDash pose ld-quiz-result-passed ou ld-quiz-result-failed sur le quiz ; tous les quiz demandent 80 %. */
.ml-formation .ld-quiz-result-passed .wpProQuiz_results .wpProQuiz_points { background: var(--ml-vert-clair) !important; color: var(--ml-vert) !important; }
.ml-formation .ld-quiz-result-passed .wpProQuiz_results .wpProQuiz_points::before { content: "Quiz réussi, la leçon est validée."; display: block; margin-bottom: 4px; font: 800 1.1rem/1.3 var(--ml-titre); }
.ml-formation .ld-quiz-result-failed .wpProQuiz_results .wpProQuiz_points { background: var(--ml-creme) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-quiz-result-failed .wpProQuiz_results .wpProQuiz_points::before { content: "Pas encore réussi : il faut 80 % de bonnes réponses. Relisez la leçon, puis recommencez le quiz."; display: block; margin-bottom: 4px; font: 800 1.1rem/1.3 var(--ml-titre); }
.ml-formation .wpProQuiz_results .wpProQuiz_points { padding: 12px 16px; border-radius: var(--ml-r-sm); background: var(--ml-creme); color: var(--ml-marine) !important; font-weight: 600; }
.ml-formation .wpProQuiz_results .wpProQuiz_graded_points { display: none !important; }
.ml-formation .ld-quiz-actions { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 0 !important; }
.ml-formation .ld-quiz-actions .quiz_continue_link { display: contents; }
.ml-formation .learndash-wrapper .ld-quiz-actions #quiz_continue_link { order: -1; flex: 1 1 100%; max-width: 100%; min-height: 54px; font-size: 1.1rem !important; }
.ml-formation .learndash-wrapper .ld-quiz-result-failed .ld-quiz-actions input.wpProQuiz_button_restartQuiz { order: -1; background: var(--ml-marine) !important; color: #fff !important; }
.ml-formation .learndash-wrapper .ld-quiz-result-failed .ld-quiz-actions input.wpProQuiz_button_restartQuiz:hover { background: var(--ml-bleu) !important; border-color: var(--ml-bleu) !important; }
.ml-formation .wpProQuiz_results .wpProQuiz_resultsList li > div { color: var(--ml-texte) !important; }
.ml-formation .wpProQuiz_reviewDiv, .ml-formation .wpProQuiz_catOverview { display: none !important; }
.ml-formation .wpProQuiz_sending .course_progress { background: var(--ml-trait-2) !important; border-radius: 999px !important; overflow: hidden; }
.ml-formation .wpProQuiz_sending .course_progress_blue { background: var(--ml-marine) !important; }

/* ============================================================ Inscription, connexion, profil */
.ml-formation .ld-registration__size-wrapper { max-width: 600px !important; }
.ml-formation .ld-registration__wrapper { display: flex !important; flex-direction: column; gap: 24px; padding: clamp(20px, 3vw, 36px) !important; border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r-lg) !important; background: #fff !important; box-shadow: var(--ml-ombre); }
.ml-formation .ld-registration-order { order: -1; padding: 18px 20px !important; border-radius: var(--ml-r) !important; background: var(--ml-bleu-clair) !important; border: 0 !important; }
.ml-formation .ld-registration-order__heading { font: 700 .75rem/1.2 var(--ml-titre) !important; letter-spacing: .12em; text-transform: uppercase; color: var(--ml-texte-2) !important; margin: 0 0 10px !important; }
.ml-formation .ld-registration-order__item-type { font: 700 .72rem/1.2 var(--ml-titre) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ml-bleu) !important; }
.ml-formation .ld-registration-order__item-title { font: 700 1.1rem/1.3 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-registration-order__item-price-original { display: none !important; }
.ml-formation .ld-registration-order__item-price-value,
.ml-formation .ld-registration-order__total-price { font: 800 1.25rem/1.2 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-registration-order__total { border-top: 1px solid rgba(17,31,98,.15) !important; margin-top: 10px !important; padding-top: 10px !important; }
.ml-formation .ld-registration-order__total-title { font: 700 1rem/1.2 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-registration-order__return-wrapper { order: 10; }
.ml-formation .ld-registration__form { padding-bottom: 0 !important; }
.ml-formation .ld-registration-order__return { margin: 0 !important; padding: 18px 0 0 !important; border-top: 1px solid var(--ml-trait-2); }
.ml-formation .ld-registration-order__return a { display: inline-flex; align-items: center; gap: 4px; color: var(--ml-texte-2) !important; font: 600 .9rem/1.3 var(--ml-titre) !important; text-decoration: none !important; }
.ml-formation .ld-registration-order__return a:hover { color: var(--ml-marine) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.ml-formation .ld-registration__heading { font: 800 1.5rem/1.2 var(--ml-titre) !important; color: var(--ml-marine) !important; margin: 0 0 6px !important; }
.ml-formation .ld-registration__p { color: var(--ml-texte-2) !important; margin: 0 0 14px !important; }
.ml-formation .ld-registration__p a, .ml-formation .ld-registration__forgot-password a { color: var(--ml-bleu) !important; font-weight: 700; text-decoration: underline !important; text-underline-offset: 3px; }
.ml-formation .ld-form label { display: block; margin: 0 0 6px; font: 700 .9rem/1.3 var(--ml-titre) !important; color: var(--ml-marine) !important; }
.ml-formation .ld-form label .required { color: var(--ml-texte-2); font-weight: 500; }
.ml-formation .ld-form .ld-form__field-outer-wrapper, .ml-formation .ld-form p.login-username, .ml-formation .ld-form p.login-password { margin: 0 0 16px !important; }
.ml-formation .ld-form__field-wrapper { display: flex; gap: 10px; align-items: stretch; }
.ml-formation .ld-form .ld-form__field,
.ml-formation .ld-login-modal input[type="text"], .ml-formation .ld-login-modal input[type="password"], .ml-formation .ld-login-modal input[type="email"] { width: 100% !important; min-height: 48px; padding: 10px 14px !important; border: 2px solid var(--ml-trait) !important; border-radius: 12px !important; background: #fff !important; color: var(--ml-texte) !important; font: 400 1rem/1.4 "Heebo", "Segoe UI", Arial, sans-serif !important; box-shadow: none !important; }
.ml-formation .ld-form .ld-form__field:focus, .ml-formation .ld-login-modal input:focus { border-color: var(--ml-bleu) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(48,80,176,.18) !important; }
.ml-formation .ld-button__password-visibility-toggle { min-width: 0 !important; padding: 8px 14px !important; flex: none; }
.ml-formation .ld-password-strength__hint { font-size: .85rem !important; color: var(--ml-texte-2) !important; margin: -6px 0 14px !important; }
.ml-formation .ld-registration__register-submit-wrapper .button, .ml-formation .ld-form .login-submit .button { width: 100% !important; min-height: 52px; font-size: 1.05rem !important; }
.ml-formation .ld-registration__login_options_wrapper { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; }
.ml-formation .ld-registration__login_options_wrapper label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500 !important; color: var(--ml-texte) !important; margin: 0; }
.ml-formation .ld-registration__login_options_wrapper p { margin: 0 !important; }
.ml-formation .ld-password-strength__meter, .ml-formation #ld-password-strength__meter { border-radius: 999px; }
.ml-formation.page-id-110 .page-title { color: var(--ml-marine) !important; }
.ml-formation.page-id-110 .wp-block-learndash-ld-course-grid, .ml-formation.page-id-110 .ld-course-grid, .ml-formation.page-id-110 #ld-cg-mcexnw0c5c { display: none !important; }
/* Les trois étapes au-dessus du formulaire d'inscription. */
.ml-formation .ml-etapes { list-style: none; margin: 0 0 20px !important; padding: 0; display: grid; gap: 8px; }
.ml-formation .ml-etapes li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px 12px; border-radius: var(--ml-r-xs); background: var(--ml-papier); border: 1px solid var(--ml-trait-2); font: 500 .95rem/1.35 "Heebo", "Segoe UI", Arial, sans-serif; color: var(--ml-texte); }
.ml-formation .ml-etapes li span { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--ml-marine); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 800 .85rem/1 var(--ml-titre); }
.ml-formation .ml-etapes li:first-child { background: var(--ml-creme); border-color: #F3DFA0; }
/* Après l'inscription : boutons de paiement. */
.ml-formation .ld-payment-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.ml-formation .ld-login-modal .ld-modal-heading { color: var(--ml-marine) !important; font: 800 1.5rem/1.2 var(--ml-titre) !important; }
.ml-formation .ld-login-modal .ld-modal-text { color: var(--ml-texte-2) !important; }
.ml-formation .ld-login-modal .ld-login-modal-wrapper { border-radius: var(--ml-r-lg) !important; }
.ml-formation .ld-login-modal .ld-login-modal-register { background: var(--ml-marine) !important; }
.ml-formation .ld-login-modal .ld-login-modal-register .ld-button { background: #fff !important; color: var(--ml-marine) !important; border-color: #fff !important; }
/* Profil */
.ml-formation .ld-profile-summary { border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r) !important; background: #fff !important; box-shadow: var(--ml-ombre-s); }
.ml-formation .ld-profile-stats .ld-profile-stat strong { color: var(--ml-marine) !important; font-family: var(--ml-titre) !important; }
.ml-formation .ld-profile-stats .ld-profile-stat-points { display: none !important; }
.ml-formation .ld-item-list .ld-item-list-item { border: 1px solid var(--ml-trait) !important; border-radius: var(--ml-r-sm) !important; background: #fff !important; }
.ml-formation .ld-item-list .ld-item-list-item .ld-item-name { color: var(--ml-marine) !important; font-weight: 700 !important; }
.ml-formation .ld-section-heading h2, .ml-formation .ld-section-heading h3 { color: var(--ml-marine) !important; font-family: var(--ml-titre) !important; }
.ml-formation .ld-expand-button.ld-button-alternate, .ml-formation .ld-expand-button.ld-primary-background { background: transparent !important; color: var(--ml-marine) !important; box-shadow: none !important; }
.ml-formation .ld-expand-button .ld-icon { background: var(--ml-marine) !important; color: #fff !important; }
