/*
 * Page de vente praticien — [macmoov-page-vente]
 *
 * Extrait de la maquette docs/maquettes/page_vente.html et SCOPE sous
 * .mm-vente : la source ciblait *, html, body, a, img, h1-h3, p, header et
 * footer, plus des classes generiques (.btn, .card, .wrap, .avatar) dont deux
 * entrent en collision averee avec assets/css/macmoov.css (:2794 et :550).
 *
 * Chargee uniquement par le shortcode ou par un bloc macmoov/vente-* rendu,
 * jamais globalement (BlockService::enqueueSectionStyles()).
 *
 * REGLES ABANDONNEES A L'EXTRACTION :
 *   html{scroll-behavior:smooth}  — non scopable sur un descendant ;
 *                                   a poser via body_class si desire.
 *   header{...} / footer{...}     — fournis par le theme (plan § 6.1).
 *
 * @see docs/plan-page-vente-praticien.md § 6.1, § 6.2
 */

.mm-vente {
    --dark-green:#14612F;
    --light-green:#2C9334;
    --grey:#575758;
    --bg-page:#F6FBF4;
    --bg-card:#FFFFFF;
    --border-soft:#DEEEDD;
    --white:#FFFFFF;
    --radius-lg:20px;
    --radius-md:14px;
    --radius-sm:10px;
    --shadow-card:0 4px 24px rgba(20,97,47,0.07);
}

.mm-vente *,.mm-vente *::before,.mm-vente *::after {
    box-sizing:border-box;
}

.mm-vente {
    margin:0;
    font-family:'Poppins',sans-serif;
    color:var(--grey);
    background:linear-gradient(180deg,#F2FAF1 0%,#F8FCF7 40%,#FDFBF7 100%);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

.mm-vente a {
    color:inherit;
}

.mm-vente img {
    max-width:100%;
    display:block;
}

.mm-vente .wrap {
    margin:0 auto;
    padding:0 24px;
}

.mm-vente .eyebrow {
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--light-green);
    margin:0 0 12px;
}

.mm-vente h1,
.mm-vente h2,
.mm-vente h3 {
    font-family:'Poppins',sans-serif;
    color:var(--dark-green);
    margin:0 0 16px;
    font-weight:800;
    letter-spacing:-0.01em;
}

.mm-vente h1 {
    font-size:clamp(30px,4.4vw,46px);
    line-height:1.12;
}

.mm-vente h2 {
    font-size:clamp(24px,3vw,32px);
    line-height:1.2;
}

.mm-vente h3 {
    font-size:19px;
    font-weight:700;
}

.mm-vente p {
    margin:0 0 16px;
    font-size:16px;
}

.mm-vente .lede {
    font-size:19px;
    color:var(--grey);
}

.mm-vente .btn {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:'Poppins',sans-serif;
    font-weight:700;
    font-size:16px;
    padding:16px 30px;
    border-radius:999px;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
}

.mm-vente .btn-primary {
    background:var(--dark-green);
    color:#fff;
    box-shadow:0 8px 20px rgba(20,97,47,.28);
}

.mm-vente .btn-primary:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(20,97,47,.34);
}

.mm-vente .btn-primary:focus-visible {
    outline:3px solid var(--light-green);
    outline-offset:3px;
}

.mm-vente .btn-secondary {
    background:transparent;
    color:var(--dark-green);
    border:2px solid var(--dark-green);
}

.mm-vente .btn-block {
    width:100%;
    justify-content:center;
}

.mm-vente .center {
    text-align:center;
}

.mm-vente .section {
    padding:72px 0;
}

.mm-vente .section-tight {
    padding:40px 0;
}

/* ---------- Header ---------- */

.mm-vente .logo {
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:800;
    color:var(--dark-green);
    font-size:20px;
}

.mm-vente .logo .leaf {
    color:var(--light-green);
}

/* ---------- Hero ---------- */

.mm-vente .hero {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:48px;
    align-items:center;
}

@media (max-width:880px) {
    .mm-vente .hero {
        grid-template-columns:1fr;
        padding-top:36px;
    }
}

.mm-vente .hero-badges {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:22px 0 26px;
}

.mm-vente .pill {
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    color:var(--dark-green);
    font-size:13px;
    font-weight:600;
    padding:8px 14px;
    border-radius:999px;
}

.mm-vente .hero-visual {
    background:var(--bg-card);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-card);
    padding:36px 28px;
    border:1px solid var(--border-soft);
    text-align:center;
}

.mm-vente .mascot-badge {
    width:96px;
    height:96px;
    border-radius:50%;
    background:linear-gradient(160deg,var(--light-green),var(--dark-green));
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:44px;
    margin:0 auto 14px;
    box-shadow:0 10px 22px rgba(20,97,47,.28);
}

.mm-vente .placeholder-note {
    font-size:12px;
    color:#8a9a8c;
    font-style:italic;
    margin-top:8px;
}

/* ---------- Trust / cost banner ---------- */

.mm-vente .banner {
    background:var(--dark-green);
    color:#fff;
    border-radius:var(--radius-md);
    padding:26px 28px;
    margin:0 0 8px;
}

.mm-vente .banner p {
    color:#fff;
    margin:0;
}

.mm-vente .banner strong {
    display:block;
    font-size:18px;
    margin-bottom:8px;
}

.mm-vente .banner .meta {
    font-size:14px;
    opacity:.85;
    margin-top:12px;
}

/* ---------- Cards / grids ---------- */

.mm-vente .grid-2 {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.mm-vente .grid-3 {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.mm-vente .grid-4 {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

@media (max-width:880px) {
    .mm-vente .grid-2,
    .mm-vente .grid-3,
    .mm-vente .grid-4 {
        grid-template-columns:1fr;
    }
}

.mm-vente .card {
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-md);
    padding:26px;
    box-shadow:var(--shadow-card);
}

.mm-vente .card h3 {
    color:var(--dark-green);
}

.mm-vente .card p {
    font-size:15px;
    margin-bottom:0;
}

/* ---------- Steps (mechanism) ---------- */

.mm-vente .step {
    background:var(--bg-card);
    border-radius:var(--radius-md);
    border:1px solid var(--border-soft);
    padding:24px 20px;
    position:relative;
}

.mm-vente .step-num {
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--light-green);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:15px;
    margin-bottom:14px;
}

/* ---------- Contrast list ---------- */

.mm-vente .contrast {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:14px;
    align-items:center;
    padding:16px 0;
    border-bottom:1px solid var(--border-soft);
}

.mm-vente .contrast:last-child {
    border-bottom:none;
}

.mm-vente .contrast .old {
    color:#93a094;
    font-size:14.5px;
}

.mm-vente .contrast .new {
    color:var(--dark-green);
    font-weight:600;
    font-size:15px;
}

.mm-vente .contrast .arrow {
    color:var(--light-green);
    font-weight:800;
}

@media (max-width:700px) {
    .mm-vente .contrast {
        grid-template-columns:1fr;
        gap:4px;
    }

    .mm-vente .contrast .arrow {
        display:none;
    }
}

/* ---------- Proof placeholders ---------- */

.mm-vente .proof-card {
    border:1.5px dashed #BFDDBE;
    border-radius:var(--radius-md);
    padding:24px;
    text-align:center;
    color:#8a9a8c;
    font-size:14px;
    background:#FAFDF9;
}

/* ---------- Pricing ---------- */

.mm-vente .pricing-card {
    background:var(--bg-card);
    border:2px solid var(--border-soft);
    border-radius:var(--radius-lg);
    padding:32px 28px;
    position:relative;
}

.mm-vente .pricing-card.featured {
    border-color:var(--light-green);
    box-shadow:0 14px 30px rgba(44,147,52,.18);
}

.mm-vente .badge-top {
    position:absolute;
    top:-14px;
    left:50%;
    transform:translateX(-50%);
    background:var(--light-green);
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:6px 16px;
    border-radius:999px;
    white-space:nowrap;
}

.mm-vente .price {
    font-size:38px;
    font-weight:800;
    color:var(--dark-green);
    margin:6px 0 2px;
}

.mm-vente .price span {
    font-size:14px;
    font-weight:500;
    color:var(--grey);
}

.mm-vente .feature-list {
    list-style:none;
    padding:0;
    margin:20px 0 26px;
}

.mm-vente .feature-list li {
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-size:14.5px;
    padding:7px 0;
    color:var(--grey);
}

.mm-vente .feature-list li.excluded {
    color:#B7C4B8;
}

.mm-vente .check {
    color:var(--light-green);
    font-weight:800;
    margin-right:4px;
}

.mm-vente .dash {
    color:#C7D6C8;
    font-weight:800;
    margin-right:4px;
}

/* ---------- FAQ / accordion ---------- */

.mm-vente details.faq {
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-sm);
    padding:4px 20px;
    margin-bottom:12px;
}

.mm-vente details.faq summary {
    cursor:pointer;
    font-weight:600;
    color:var(--dark-green);
    padding:16px 0;
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.mm-vente details.faq summary::-webkit-details-marker {
    display:none;
}

.mm-vente details.faq summary::after {
    content:'+';
    font-size:22px;
    color:var(--light-green);
    font-weight:400;
}

.mm-vente details.faq[open] summary::after {
    content:'–';
}

.mm-vente details.faq p {
    padding-bottom:16px;
    font-size:15px;
}

/* ---------- Exclusion ---------- */

.mm-vente .exclusion {
    background:var(--dark-green);
    border-radius:var(--radius-lg);
    padding:40px;
    color:#fff;
}

.mm-vente .exclusion h2 {
    color:#fff;
}

.mm-vente .exclusion ul {
    list-style:none;
    padding:0;
    margin:18px 0 0;
}

.mm-vente .exclusion li {
    padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.18);
    font-size:15px;
}

.mm-vente .exclusion li:last-child {
    border-bottom:none;
}

/* ---------- Urgency bar ---------- */

.mm-vente .urgency {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--border-soft);
    border-radius:var(--radius-md);
    overflow:hidden;
    border:1px solid var(--border-soft);
}

.mm-vente .urgency > div {
    background:var(--bg-card);
    padding:22px 20px;
    text-align:center;
}

.mm-vente .urgency .label {
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--light-green);
    font-weight:700;
    margin-bottom:8px;
}

.mm-vente .urgency .val {
    font-weight:700;
    color:var(--dark-green);
    font-size:15px;
}

@media (max-width:700px) {
    .mm-vente .urgency {
        grid-template-columns:1fr;
    }
}

/* ---------- Founder ---------- */

.mm-vente .founder {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:28px;
    align-items:flex-start;
}

@media (max-width:700px) {
    .mm-vente .founder {
        grid-template-columns:1fr;
        text-align:left;
    }
}

.mm-vente .avatar {
    width:84px;
    height:84px;
    border-radius:50%;
    background:linear-gradient(160deg,var(--light-green),var(--dark-green));
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:800;
    font-size:26px;
}

.mm-vente blockquote {
    margin:24px 0 0;
    border-left:4px solid var(--light-green);
    padding-left:18px;
    font-style:italic;
    color:var(--dark-green);
    font-weight:600;
}

/* ---------- Sticky mobile CTA ---------- */

.mm-vente .sticky-cta {
    display:none;
}

@media (max-width:700px) {
    .mm-vente .sticky-cta {
        display:flex;
        position:fixed;
        bottom:0;
        left:0;
        right:0;
        background:#fff;
        border-top:1px solid var(--border-soft);
        padding:12px 16px;
        z-index:60;
        box-shadow:0 -6px 18px rgba(0,0,0,.06);
    }

    .mm-vente:not(.mm-vente-bloc),
    body:has(.mm-vente-bloc .sticky-cta) {
        padding-bottom:76px;
    }
}

.mm-vente .dev-note {
    background:#FFF7E6;
    border:1px dashed #E6C878;
    color:#8a6d1f;
    font-size:12.5px;
    padding:10px 14px;
    border-radius:8px;
    margin:0 0 14px;
}

/* ---------- Calendrier du bilan (lot 5) ---------- */

.mm-vente .mm-bilan {
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-card);
    padding:22px;
    margin-top:28px;
    max-width:520px;
}

.mm-vente .mm-bilan-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
}

.mm-vente .mm-bilan-month {
    font-weight:700;
    color:var(--dark-green);
}

.mm-vente .mm-bilan-nav {
    background:transparent;
    border:1px solid var(--border-soft);
    border-radius:50%;
    width:34px;
    height:34px;
    font-size:18px;
    line-height:1;
    color:var(--dark-green);
    cursor:pointer;
}

.mm-vente .mm-bilan-nav:disabled {
    opacity:.35;
    cursor:default;
}

.mm-vente .mm-bilan-weekdays,
.mm-vente .mm-bilan-grid {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}

.mm-vente .mm-bilan-weekdays {
    font-size:12px;
    font-weight:700;
    color:#8a9a8c;
    text-align:center;
    margin-bottom:6px;
}

.mm-vente .mm-bilan-day {
    aspect-ratio:1;
    display:flex;
    align-items:center;
    justify-content:center;
    border:none;
    background:transparent;
    border-radius:var(--radius-sm);
    font-size:14px;
    color:#b6c2b7;
    font-family:inherit;
}

/* Le fond vert signale une disponibilite de l'equipe : il vaut pour tout le
   monde, y compris un visiteur, pour qui c'est une preuve que des creneaux
   existent. */
.mm-vente .mm-bilan-day.has-slots {
    background:#EAF6EA;
    color:var(--dark-green);
    font-weight:700;
}

/* Le curseur et le survol, eux, ne valent que pour les cellules reellement
   cliquables. bilan.js ne pose un ecouteur que si canBook est vrai, et cree
   alors un <button> la ou il produit sinon un <span> : le type d'element
   porte deja l'information. Sans cette distinction, un visiteur voyait une
   case verte au curseur main qui n'ecoutait aucun clic. */
.mm-vente button.mm-bilan-day.has-slots {
    cursor:pointer;
}

.mm-vente button.mm-bilan-day.has-slots:hover {
    background:var(--light-green);
    color:#fff;
}

.mm-vente .mm-bilan-day.is-selected {
    background:var(--dark-green);
    color:#fff;
}

.mm-vente .mm-bilan-slots {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:16px;
}

.mm-vente .mm-bilan-slots-title {
    flex:0 0 100%;
    margin:0;
    font-size:14px;
    font-weight:600;
    color:var(--dark-green);
}

.mm-vente .mm-bilan-slot {
    border:1px solid var(--border-soft);
    background:#fff;
    border-radius:999px;
    padding:8px 16px;
    font-size:14px;
    font-family:inherit;
    color:var(--dark-green);
    cursor:pointer;
}

.mm-vente .mm-bilan-slot:hover,
.mm-vente .mm-bilan-slot.is-selected {
    background:var(--dark-green);
    color:#fff;
    border-color:var(--dark-green);
}

.mm-vente .mm-bilan-feedback {
    margin:14px 0 0;
    font-size:14px;
    min-height:1.2em;
}

.mm-vente .mm-bilan-feedback.is-error {
    color:#B23B3B;
}

.mm-vente .mm-bilan-done {
    background:#EAF6EA;
    border:1px solid var(--border-soft);
    border-radius:var(--radius-lg);
    padding:22px;
    margin-top:28px;
    max-width:520px;
    color:var(--dark-green);
}

.mm-vente .mm-bilan-done p {
    margin:6px 0 0;
}

/* ==========================================================================
   Sections en blocs — macmoov/vente-*
   ==========================================================================

   Chaque section est un bloc a part, rendue dans sa propre enveloppe
   `.mm-vente.mm-vente-bloc` : les jetons et les regles ci-dessus s'y
   appliquent sans changement. Ce qui suit adapte ces regles au balisage des
   blocs natifs (liste, groupe, details, figure), et remplace les styles
   en ligne du shortcode par des classes.
   ========================================================================== */

/* Un degrade par section ferait des coutures : fond uni. Et sans marge : le
   contenu de page espace ses blocs de premier niveau, ce qui laissait voir le
   fond du theme en bande entre deux sections. */
.mm-vente.mm-vente-bloc {
    background:var(--bg-page);
    margin-block:0;
}

/* Les groupes posent une mise en page « flow » qui ecarte leurs enfants ; dans
   une grille, cet ecart decalerait toutes les cartes sauf la premiere. */
.mm-vente :is(.grid-2,.grid-3,.grid-4) > *,
.mm-vente .contrast,
.mm-vente .contrast > *,
.mm-vente figure.wp-block-image {
    margin:0;
}

/* La meme mise en page « flow » remet a zero la marge basse des titres. */
.mm-vente .wp-block-group > h3 {
    margin-bottom:16px;
}

.mm-vente .lede + :is(.grid-2,.grid-3,.grid-4),
.mm-vente .mm-vente-duo + .grid-2 {
    margin-top:32px;
}

.mm-vente .section-carte {
    background:var(--bg-card);
    border-top:1px solid var(--border-soft);
    border-bottom:1px solid var(--border-soft);
}

/* Texte et visuel cote a cote. */
.mm-vente .mm-vente-duo {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2vw;
    align-items:start;
}

.mm-vente .mm-vente-duo + .mm-vente-duo,
.mm-vente .grid-2 + .mm-vente-duo {
    margin-top:2vw;
}

@media (max-width:880px) {
    .mm-vente .mm-vente-duo {
        grid-template-columns:1fr;
        gap:24px;
    }
}

/* Heros : les badges sont une liste. */
.mm-vente ul.hero-badges {
    list-style:none;
    padding:0;
}

.mm-vente .hero-badges > li {
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    color:var(--dark-green);
    font-size:13px;
    font-weight:600;
    padding:8px 14px;
    border-radius:999px;
}

/* Encart du calculateur : son titre est un <strong> dans un paragraphe, que
   la feuille generale du site colore. */
.mm-vente .banner strong {
    color:#fff;
}

.mm-vente .banner a:not(.btn) {
    display:inline-block;
    margin-top:12px;
    color:#fff;
    font-weight:700;
}

/* Mecanisme : numeros d'etape par compteur, pour qu'aucun ne soit a saisir. */
.mm-vente .mm-vente-etapes {
    counter-reset:etape;
}

.mm-vente .mm-vente-etapes .step::before {
    counter-increment:etape;
    content:counter(etape);
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--light-green);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:15px;
    margin-bottom:14px;
}

.mm-vente .step p {
    font-size:14.5px;
}

.mm-vente .mm-vente-contrastes {
    margin-top:36px;
}

.mm-vente .mm-vente-contrastes h3 {
    margin-bottom:18px;
}

/* Contraste en deux paragraphes : la fleche est un pseudo-element, place
   entre eux dans la grille par `order`. Limite aux blocs : le shortcode
   porte sa fleche dans le balisage. */
.mm-vente-bloc .contrast .old {
    order:1;
}

.mm-vente-bloc .contrast::after {
    content:'→';
    order:2;
    color:var(--light-green);
    font-weight:800;
}

.mm-vente-bloc .contrast .new {
    order:3;
}

@media (max-width:700px) {
    .mm-vente-bloc .contrast::after {
        display:none;
    }
}

/* Bilan. */
.mm-vente .mm-vente-bilan-visuel figure {
    margin-top:28px;
}

/* Formules. */
.mm-vente .mm-vente-tarifs {
    margin-top:36px;
    align-items:stretch;
}

.mm-vente .mm-vente-choix {
    display:inline-block;
    margin-bottom:12px;
}

.mm-vente .mm-vente-indisponible {
    opacity:.55;
    cursor:default;
}

/* Projection. */
.mm-vente .grid-3 .card strong {
    color:var(--dark-green);
}

.mm-vente .mm-vente-mention {
    margin-top:8px;
    font-size:13px;
    color:#8a9a8c;
}

/* Questions. */
.mm-vente .mm-vente-questions {
    margin-top:28px;
}

.mm-vente .mm-vente-questions details.faq {
    margin-top:0;
}

/* Exclusion. */
.mm-vente .exclusion p {
    color:#D9ECDA;
}

/* Pourquoi maintenant. */
.mm-vente-urgence h2 {
    font-size:22px;
}

.mm-vente-urgence .wrap > p {
    max-width:700px;
}

/* Sans date limite, deux cases : elles se partagent la largeur au lieu de
   laisser une troisieme colonne vide. */
.mm-vente-bloc .urgency {
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}

.mm-vente .urgency p {
    text-align:center;
}

.mm-vente .urgency .label {
    margin:0 0 8px;
}

.mm-vente .urgency .val {
    margin:0;
}

.mm-vente .urgency > div:nth-child(3) .val {
    color:var(--light-green);
}

/* Fondatrice : le portrait est une image dans un disque. */
.mm-vente figure.avatar {
    overflow:hidden;
}

/* La citation est un bloc natif : son texte est dans un <p>. */
.mm-vente blockquote p {
    margin:0;
    font:inherit;
    color:inherit;
}

.mm-vente .avatar img {
    width:100%;
    height:100%;
    object-fit:cover;
}

/* Libelles (groupe `mm-vente-libelles`) : jamais affiches sur le
   site, ou le PHP les lit ; signales dans l'editeur, ou ils se saisissent. */
.macmoov-editeur-section .mm-vente-libelles {
    margin-top:24px;
    padding:12px 16px;
    border:1px dashed var(--border-soft);
    border-radius:var(--radius-sm);
}

.macmoov-editeur-section .mm-vente-libelles::before {
    content:'Libellés — affichés par le site selon le visiteur';
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--light-green);
}

.macmoov-editeur-section .mm-vente-libelles p {
    margin:0 0 4px;
    font-size:15px;
    font-weight:600;
    color:var(--dark-green);
}

/* Choix des formules, dans le bloc macmoov/vente-formules (editeur seul). */
.macmoov-editeur-formules {
    margin:0 0 24px;
    padding:12px 16px;
    border:1px dashed var(--border-soft);
    border-radius:var(--radius-sm);
    background:var(--bg-card);
}

.macmoov-editeur-formules legend {
    padding:0 6px;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--light-green);
}

.macmoov-editeur-formules label {
    display:flex;
    gap:8px;
    align-items:center;
    padding:4px 0;
    font-size:15px;
    color:var(--dark-green);
}

.macmoov-editeur-formules p {
    margin:8px 0 0;
    font-size:13px;
    color:#8a9a8c;
}
