/* ==========================================================================
   LMEC — Socle design system commun
   --------------------------------------------------------------------------
   Couche partagée de l'harmonisation (spec : design-system-harmonization).

   - Définit les variables stables `--lmec-*` consommées par les feuilles
     métier (home-2, directory, fiche, team, formations, about, archive,
     single, header-2, campaign) et par les primitives `.lmec-ds-*`.
   - Ne redéfinit AUCUNE variable Core Framework globale (`--primary`,
     `--radius-*`, `--max-screen-width`…) : celles-ci alimentent 1 319
     classes Bricks historiques.
   - Les primitives sont scopées sous `.lmec-ds-*` et n'écrasent rien tant
     qu'elles ne sont pas appliquées.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Tokens — valeurs exactes de la spécification
   -------------------------------------------------------------------------- */
:root {
    --lmec-primary: #28A6A5;
    --lmec-primary-hover: color-mix(in srgb, #28A6A5 85%, #1C1712);
    --lmec-secondary: #F8BCA9;
    --lmec-bg-body: #FDF1EB;
    --lmec-bg-surface: #fff;
    --lmec-text-title: #3C2E21;
    --lmec-text-body: #6E5D4D;
    --lmec-text-light: #8A7A6B;
    --lmec-border: rgba(60, 46, 33, .09);
    --lmec-content-width: 1180px;
    --lmec-prose-width: 820px;
    --lmec-prose-bleed: 940px;
    --lmec-form-width: 640px;
    --lmec-radius-field: 10px;
    --lmec-radius-card: 16px;
    --lmec-radius-pill: 100px;
    --lmec-shadow-card: 0 6px 18px rgba(60, 46, 33, .09);
    --lmec-shadow-hover: 0 14px 34px rgba(60, 46, 33, .14);
    --lmec-focus-ring: 0 0 0 3px rgba(40, 166, 165, .1);
}

/* --------------------------------------------------------------------------
   Cadres
   -------------------------------------------------------------------------- */

/* Cadre de contenu redesigné : 1180px, padding latéral responsive conservé. */
.lmec-ds-frame {
    width: 100%;
    max-width: var(--lmec-content-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--space-l, 32px);
    padding-right: var(--space-l, 32px);
}

/* Hero single : contenu textuel centré, plafonné à 780px. */
.lmec-ds-hero-text {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* --------------------------------------------------------------------------
   Cartes
   -------------------------------------------------------------------------- */
.lmec-ds-card {
    background: var(--lmec-bg-surface);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card);
    box-shadow: var(--lmec-shadow-card);
}

/* Carte interactive : hover translateY(-4px) + ombre hover commune. */
.lmec-ds-card--interactive {
    transition: transform .2s, box-shadow .25s, border-color .25s;
}

.lmec-ds-card--interactive:hover {
    transform: translateY(-4px);
    box-shadow: var(--lmec-shadow-hover);
}

.lmec-ds-card--interactive:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */

/* Bouton plein : fond primaire, texte blanc, pill, 14px/600, 13px 26px.
   Le fond est volontairement verrouillé : Bricks ne doit pas réimposer
   `primary-90` sur les boutons LMEC. */
.lmec-ds-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--lmec-primary);
    border: 0;
    border-radius: var(--lmec-radius-pill);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    padding: 13px 26px;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s, color .18s, border-color .18s;
}

.lmec-ds-btn:hover,
.lmec-ds-btn:focus-visible {
    background: var(--lmec-primary-hover);
    color: #fff;
    text-decoration: none;
}

.lmec-ds-btn:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* Bouton outline : fond transparent, bordure 1.5px ;
   hover bordure et texte primaires. */
.lmec-ds-btn--outline {
    background: transparent;
    border: 1.5px solid var(--lmec-border);
    color: var(--lmec-text-title);
}

.lmec-ds-btn--outline:hover,
.lmec-ds-btn--outline:focus-visible {
    background: transparent;
    border-color: var(--lmec-primary);
    color: var(--lmec-primary);
}

/* --------------------------------------------------------------------------
   Champs et formulaires
   -------------------------------------------------------------------------- */

/* Inputs, selects, textarea : blanc, bordure 1.5px, rayon 10px, 14px. */
.lmec-ds-field {
    width: 100%;
    background: var(--lmec-bg-surface);
    border: 1.5px solid var(--lmec-border);
    border-radius: var(--lmec-radius-field);
    color: var(--lmec-text-body);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    padding: 10px 14px;
    transition: border-color .18s, box-shadow .18s;
}

.lmec-ds-field::placeholder {
    color: var(--lmec-text-light);
}

.lmec-ds-field:focus,
.lmec-ds-field:focus-visible {
    outline: none;
    border-color: var(--lmec-primary);
    box-shadow: var(--lmec-focus-ring);
}

/* Labels : 12px, 700, uppercase. */
.lmec-ds-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--lmec-text-title);
    margin-bottom: 6px;
}

/* Form wrapper : blanc, 640px, rayon 16px, bordure fine, ombre de carte. */
.lmec-ds-form {
    width: 100%;
    max-width: var(--lmec-form-width);
    background: var(--lmec-bg-surface);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card);
    box-shadow: var(--lmec-shadow-card);
    padding: 30px;
}

/* Submit : bouton plein pill, pleine largeur dans le formulaire. */
.lmec-ds-form .lmec-ds-btn[type="submit"],
.lmec-ds-form button.lmec-ds-btn,
.lmec-ds-form input.lmec-ds-btn {
    width: 100%;
}

/* --------------------------------------------------------------------------
   Recherche et filtres
   -------------------------------------------------------------------------- */

/* Toolbar blanche : padding 16px 20px, rayon 16px, ombre au repos. */
.lmec-ds-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    background: var(--lmec-bg-surface);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card);
    box-shadow: var(--lmec-shadow-card);
    padding: 16px 20px;
}

/* Recherche : pill flexible min. 220px, icône 16px, input 14px/18px. */
.lmec-ds-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 220px;
    min-width: 220px;
    background: var(--lmec-bg-surface);
    border: 1.5px solid var(--lmec-border);
    border-radius: var(--lmec-radius-pill);
    padding: 0 16px;
    transition: border-color .18s, box-shadow .18s;
}

.lmec-ds-search:focus-within {
    border-color: var(--lmec-primary);
    box-shadow: var(--lmec-focus-ring);
}

.lmec-ds-search svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--lmec-primary);
}

.lmec-ds-search input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    line-height: 18px;
    padding: 10px 0;
    color: var(--lmec-text-body);
}

.lmec-ds-search input:focus,
.lmec-ds-search input:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Rythme vertical harmonisé : space-2xl haut/bas sur toutes les sections
   de contenu (hors accueil qui garde space-3xl, et hors fiche prestataire
   dont #brxe-lmfsec est un wrapper sans padding autour de ses propres
   sections plein-largeur .lmec-fiche-*). */
body:not(.page-id-95525):not(.single-prestataire) #brx-content > .brxe-section {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
}
body.single-prestataire #brx-content > .brxe-section {
    padding: 0;
}

/* Bandeau CTA pleine largeur centré (modèle : « Vous êtes une marque ou un
   professionnel ? » sur /contact/, réutilisé sur Annuaire, À propos,
   Single formation et Fiche prestataire). */
.lmec-cta-band,
body.page-id-95077 #brx-content .lmec-pro-band,
body.page-id-27249 #brx-content #brxe-lman008 {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    background: var(--lmec-bg-surface, #fff);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card, 16px);
    box-shadow: var(--lmec-shadow-card);
    padding: var(--space-l);
    text-align: center;
}
.lmec-cta-band h2,
.lmec-cta-band h3,
body.page-id-95077 #brx-content .lmec-pro-band h3,
body.page-id-27249 #brx-content #brxe-lman008 h2 {
    margin: 0 0 var(--space-2xs);
}
.lmec-cta-band p,
body.page-id-95077 #brx-content .lmec-pro-band p,
body.page-id-27249 #brx-content #brxe-lman008 .lmec-cardp {
    margin: 0 auto var(--space-s);
    max-width: 580px;
    color: var(--lmec-text-body);
    font-size: var(--text-m);
    font-weight: 400;
}
body.page-id-95077 #brx-content .lmec-pro-band .lmec-faq-link {
    display: inline-block;
    background: var(--lmec-primary);
    border: none;
    border-radius: var(--lmec-radius-pill);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    padding: 13px 30px;
    transition: background .25s, transform .25s;
}
body.page-id-95077 #brx-content .lmec-pro-band .lmec-faq-link:hover {
    background: var(--lmec-primary-hover);
    color: #fff;
    transform: translateY(-2px);
}
body.page-id-95077 #brx-content .lmec-pro-band .lmec-faq-link:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* Marges resserrées entre en-têtes (eyebrow + titre + sous-titre) et blocs
   de contenu sur toutes les pages Bricks (Contact, Partenaire, Annuaire,
   Équipe) — supprime aussi le double space-xl quand .lmec-sub est imbriqué
   dans .lmec-shead. */
#brx-content .lmec-eyebrow {
    margin-bottom: var(--space-2xs);
}
#brx-content .lmec-hero-h1 {
    margin-bottom: var(--space-xs);
}
#brx-content .lmec-lead {
    margin-bottom: var(--space-m);
}
body.page-id-27249 #brx-content .lmec-lead {
    margin-bottom: 0;
}
#brx-content .lmec-h2-lg,
#brx-content .lmec-shead h2 {
    margin-bottom: var(--space-2xs);
}
#brx-content .lmec-sub,
#brx-content .lmec-shead {
    margin-bottom: var(--space-m);
}
#brx-content .lmec-shead .lmec-sub {
    margin-bottom: 0;
}

/* Chips : bordure 1.5px, 13px/600, rayon 100px, hauteur alignée recherche. */
.lmec-ds-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 16px;
    background: var(--lmec-bg-surface);
    border: 1.5px solid var(--lmec-border);
    border-radius: var(--lmec-radius-pill);
    color: var(--lmec-text-body);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .18s, color .18s, background .18s;
}

.lmec-ds-chip:hover {
    border-color: var(--lmec-primary);
    color: var(--lmec-primary);
}

.lmec-ds-chip.is-active,
.lmec-ds-chip[aria-pressed="true"],
.lmec-ds-chip[aria-current] {
    background: var(--lmec-primary);
    border-color: var(--lmec-primary);
    color: #fff;
}

.lmec-ds-chip:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Fil d'Ariane
   -------------------------------------------------------------------------- */
.lmec-ds-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 34px 0 22px;
    font-size: 13px;
}

.lmec-ds-breadcrumb a {
    color: var(--lmec-text-light);
    text-decoration: none;
    transition: color .18s;
}

.lmec-ds-breadcrumb a:hover {
    color: var(--lmec-primary);
    text-decoration: underline;
}

.lmec-ds-breadcrumb a:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

.lmec-ds-breadcrumb__sep {
    color: var(--lmec-text-light);
    opacity: .55;
}

.lmec-ds-breadcrumb [aria-current="page"],
.lmec-ds-breadcrumb__current {
    color: var(--lmec-text-title);
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   Typographie éditoriale et interface
   -------------------------------------------------------------------------- */

/* Eyebrow : 12px, 700, uppercase, .16em, teal. */
.lmec-ds-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--lmec-primary);
}

/* Corps éditorial : 16.5px/1.85 desktop, 15.5px mobile, poids 400. */
.lmec-ds-editorial {
    color: var(--lmec-text-body);
    font-size: 16.5px;
    font-weight: 400;
    line-height: 1.85;
}

.lmec-ds-editorial h1,
.lmec-ds-editorial h2,
.lmec-ds-editorial h3,
.lmec-ds-editorial h4 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    color: var(--lmec-text-title);
}

/* Meta et textes secondaires : 13px, --lmec-text-light explicite. */
.lmec-ds-meta {
    font-size: 13px;
    color: var(--lmec-text-light);
}

@media (max-width: 600px) {
    .lmec-ds-editorial {
        font-size: 15.5px;
    }
}

/* ==========================================================================
   Correctifs scopés — Contact (page-id-95077) et Partenaire (page-id-95079)
   --------------------------------------------------------------------------
   Ces pages reposent sur des classes globales Bricks stockées en base
   (`bricks_global_classes`, `_bricks_page_content_2`) : non mutées.
   Les corrections ci-dessous sont purement visuelles et réversibles par
   retrait de cette feuille. La spécificité `body.page-id-*` + `#brx-content`
   (+ classe d'élément) dépasse les règles inline Bricks
   (`.lmec-cta.brxe-button`, `.lmec-form-wrap.brxe-div`, `.lmec-form input`…).
   ========================================================================== */

/* -- Cadres : conteneurs de contenu plafonnés à 1180px ----------------------
   `.lmec-inner` (760px) est une colonne éditoriale volontaire : conservée.
   `width:100%` est obligatoire : ces conteneurs portent un `width` fixe
   (1366px) — un simple `max-width` les figerait à 1180px même sur mobile. */
body.page-id-95077 #brx-content > .brxe-section > .brxe-container:not(.lmec-inner),
body.page-id-95079 #brx-content > .brxe-section > .brxe-container:not(.lmec-inner) {
    width: 100%;
    max-width: var(--lmec-content-width);
}

/* -- Cartes : surface blanche, bordure, rayon 16px, ombre commune ---------- */
body.page-id-95077 #brx-content .lmec-faq-card,
body.page-id-95077 #brx-content .lmec-social-card,
body.page-id-95077 #brx-content .lmec-canal,
body.page-id-95079 #brx-content .lmec-faq-card,
body.page-id-95079 #brx-content .lmec-social-card,
body.page-id-95079 #brx-content .lmec-card {
    background: var(--lmec-bg-surface);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card);
    box-shadow: var(--lmec-shadow-card);
}

/* Cartes interactives : hover translateY(-4px) + ombre hover commune. */
body.page-id-95077 #brx-content .lmec-canal:hover,
body.page-id-95079 #brx-content .lmec-card:hover {
    box-shadow: var(--lmec-shadow-hover);
    border-color: var(--lmec-border);
    transform: translateY(-4px);
}

/* -- Wrapper de formulaire : blanc, 640px, rayon 16px, carte standard ------ */
body.page-id-95077 #brx-content .lmec-form-wrap,
body.page-id-95079 #brx-content .lmec-form-wrap {
    max-width: var(--lmec-form-width);
    background: var(--lmec-bg-surface);
    border: 1px solid var(--lmec-border);
    border-radius: var(--lmec-radius-card);
    box-shadow: var(--lmec-shadow-card);
}

/* -- Champs : blanc, bordure 1.5px, rayon 10px, texte 14px ----------------- */
body.page-id-95077 #brx-content .brxe-form input[type="text"],
body.page-id-95077 #brx-content .brxe-form input[type="email"],
body.page-id-95077 #brx-content .brxe-form input[type="tel"],
body.page-id-95077 #brx-content .brxe-form input[type="number"],
body.page-id-95077 #brx-content .brxe-form input[type="url"],
body.page-id-95077 #brx-content .brxe-form input[type="password"],
body.page-id-95077 #brx-content .brxe-form input[type="search"],
body.page-id-95077 #brx-content .brxe-form select,
body.page-id-95077 #brx-content .brxe-form textarea,
body.page-id-95079 #brx-content .brxe-form input[type="text"],
body.page-id-95079 #brx-content .brxe-form input[type="email"],
body.page-id-95079 #brx-content .brxe-form input[type="tel"],
body.page-id-95079 #brx-content .brxe-form input[type="number"],
body.page-id-95079 #brx-content .brxe-form input[type="url"],
body.page-id-95079 #brx-content .brxe-form input[type="password"],
body.page-id-95079 #brx-content .brxe-form input[type="search"],
body.page-id-95079 #brx-content .brxe-form select,
body.page-id-95079 #brx-content .brxe-form textarea {
    background: var(--lmec-bg-surface);
    border: 1.5px solid var(--lmec-border);
    border-radius: var(--lmec-radius-field);
    color: var(--lmec-text-body);
    font-size: 14px;
    padding: 10px 14px;
    transition: border-color .18s, box-shadow .18s;
}

body.page-id-95077 #brx-content .brxe-form input::placeholder,
body.page-id-95077 #brx-content .brxe-form textarea::placeholder,
body.page-id-95079 #brx-content .brxe-form input::placeholder,
body.page-id-95079 #brx-content .brxe-form textarea::placeholder {
    color: var(--lmec-text-light);
}

/* Focus : bordure primaire + ring commun. */
body.page-id-95077 #brx-content .brxe-form input:focus,
body.page-id-95077 #brx-content .brxe-form select:focus,
body.page-id-95077 #brx-content .brxe-form textarea:focus,
body.page-id-95079 #brx-content .brxe-form input:focus,
body.page-id-95079 #brx-content .brxe-form select:focus,
body.page-id-95079 #brx-content .brxe-form textarea:focus {
    outline: none;
    border-color: var(--lmec-primary);
    box-shadow: var(--lmec-focus-ring);
}

/* Labels : 12px, 700, uppercase (aligné sur .lmec-ds-label). */
body.page-id-95077 #brx-content .brxe-form label,
body.page-id-95079 #brx-content .brxe-form label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
}

/* -- Boutons : CTA hero et submit = bouton plein commun -------------------- */
body.page-id-95077 #brx-content .lmec-cta,
body.page-id-95079 #brx-content .lmec-cta,
body.page-id-95077 #brx-content .brxe-form button[type="submit"],
body.page-id-95079 #brx-content .brxe-form button[type="submit"],
body.page-id-95077 #brx-content .brxe-form .bricks-button[type="submit"],
body.page-id-95079 #brx-content .brxe-form .bricks-button[type="submit"] {
    background: var(--lmec-primary);
    border: none;
    border-radius: var(--lmec-radius-pill);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
    padding: 13px 26px;
}

body.page-id-95077 #brx-content .lmec-cta:hover,
body.page-id-95079 #brx-content .lmec-cta:hover,
body.page-id-95077 #brx-content .brxe-form button[type="submit"]:hover,
body.page-id-95079 #brx-content .brxe-form button[type="submit"]:hover,
body.page-id-95077 #brx-content .brxe-form .bricks-button[type="submit"]:hover,
body.page-id-95079 #brx-content .brxe-form .bricks-button[type="submit"]:hover {
    background: var(--lmec-primary-hover);
    color: #fff;
}

body.page-id-95077 #brx-content .lmec-cta:focus-visible,
body.page-id-95079 #brx-content .lmec-cta:focus-visible,
body.page-id-95077 #brx-content .brxe-form button[type="submit"]:focus-visible,
body.page-id-95079 #brx-content .brxe-form button[type="submit"]:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* Submit : pleine largeur lorsque le formulaire le prévoit. */
body.page-id-95077 #brx-content .lmec-form button[type="submit"],
body.page-id-95079 #brx-content .lmec-form button[type="submit"],
body.page-id-95077 #brx-content .lmec-form .bricks-button[type="submit"],
body.page-id-95079 #brx-content .lmec-form .bricks-button[type="submit"] {
    width: 100%;
}

/* -- Texte fonctionnel : poids 400 (spec : 400 sauf emphase explicite) ----- */
body.page-id-95077 #brx-content .lmec-sub,
body.page-id-95077 #brx-content .lmec-sub a,
body.page-id-95077 #brx-content .lmec-faq-card p,
body.page-id-95079 #brx-content .lmec-sub,
body.page-id-95079 #brx-content .lmec-sub a,
body.page-id-95079 #brx-content .lmec-cardp,
body.page-id-95079 #brx-content .lmec-faq-card p,
body.page-id-95079 #brx-content .lmec-charte-block p {
    font-weight: 400;
}

/* -- Focus visible : liens FAQ et icônes sociales -------------------------- */
body.page-id-95077 #brx-content .lmec-faq-link:focus-visible,
body.page-id-95077 #brx-content .lmec-sicon:focus-visible,
body.page-id-95079 #brx-content .lmec-faq-link:focus-visible,
body.page-id-95079 #brx-content .lmec-sicon:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
}

/* ==========================================================================
   Composants globaux — pied de page (#brx-footer) et médias Gutenberg
   --------------------------------------------------------------------------
   Le footer est un template Bricks dont la largeur 1366px est volontaire
   (conservée) : seules les primitives communes sont appliquées — couleur
   des liens de menus, focus visible, cibles tactiles. Aucune modification
   du markup ni des classes Bricks en base.
   ========================================================================== */

/* Liens de menus du footer : texte courant de la charte + hover primaire. */
#brx-footer .bricks-nav-menu a {
    color: var(--lmec-text-body);
}

#brx-footer .bricks-nav-menu a:hover {
    color: var(--lmec-primary);
}

/* Focus visible commun sur tous les liens/boutons du footer. */
#brx-footer a:focus-visible,
#brx-footer button:focus-visible {
    outline: 2px solid var(--lmec-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Cibles tactiles ≥38px sur les liens de menus (navigation tactile).
   Aligné sur le breakpoint burger du header (1200px) : dès que la
   navigation bascule en mode tactile, le footer suit. */
@media (max-width: 1200px) {
    #brx-footer .bricks-nav-menu a {
        display: inline-flex;
        align-items: center;
        min-height: 38px;
    }
}

/* Galerie Gutenberg embarquée : sans les styles du bloc cœur, chaque
   figure flex se dimensionne sur la largeur intrinsèque de l'image
   (≈1024px) et déborde du cadre sur mobile (mesuré : bord droit à
   1041px sur viewport 390px). Plafonnage au conteneur ; le rendu
   desktop (1024px < 1180px) est inchangé. Scopé aux deux contextes
   qui rendent du Gutenberg brut : contenu des singles
   (.lmec-single-content) et description SEO des archives
   (.lmec-category-full-description) — la feuille étant chargée
   site-wide, aucune règle globale n'est admise. */
.lmec-single-content .wp-block-gallery .wp-block-image,
.lmec-category-full-description .wp-block-gallery .wp-block-image {
    max-width: 100%;
}

.lmec-single-content .wp-block-gallery .wp-block-image img,
.lmec-category-full-description .wp-block-gallery .wp-block-image img {
    max-width: 100%;
    height: auto;
}
