/**
 * Habillage des blocs Elementor natifs du site.
 *
 * Deux faits de terrain commandent l'écriture de ce fichier, tous deux relevés
 * dans le DOM servi et non supposés :
 *
 * 1. Cet Elementor rend le balisage optimisé : il n'y a PAS de div
 *    `.elementor-widget-container`. Le contenu est enfant direct de
 *    `.elementor-element`. Toute règle qui viserait ce conteneur serait morte.
 *
 * 2. Elementor émet, dans le CSS de la page, `.elementor-widget-text-editor
 *    { color: var(--e-global-color-text) }`. Cette feuille est chargée APRÈS
 *    celles du greffon : à spécificité égale, elle gagne. Les sélecteurs
 *    ci-dessous montent donc à deux classes au minimum, et portent la couleur
 *    aussi bien sur le widget que sur ses paragraphes.
 *
 * Tout ce qu'un contrôle Elementor sait exprimer (largeur, marges, fond,
 * répartition, rayon, hauteur minimale) est réglé dans l'éditeur, pas ici.
 */

/* ══════════ surtitre monospace ══════════ */
.elementor-widget-text-editor.dec-cap,
.elementor-widget-text-editor.dec-cap p,
.elementor-widget-heading.dec-cap .elementor-heading-title{
 font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.24em;
 text-transform:uppercase;color:var(--gris);line-height:1.6}
.elementor-widget-text-editor.dec-cap b{color:var(--olive);font-weight:400}
/* Dans le hero, le dernier métier de l'énumération est appuyé. */
#hero .elementor-widget-text-editor.dec-cap b{font-weight:600}
.elementor-widget-text-editor.dec-cap.sur-olive,
.elementor-widget-text-editor.dec-cap.sur-olive p{color:var(--lime)}

/* ══════════ titres de section ══════════
   L'emphase passe en olive, jamais en italique. */
.elementor-widget-heading.dec-h1 .elementor-heading-title{
 font-size:clamp(36px,4.9vw,72px);font-weight:800;letter-spacing:-.045em;
 line-height:.98;max-width:15ch;color:var(--encre)}
.elementor-widget-heading.dec-h2 .elementor-heading-title{
 font-size:clamp(30px,4.6vw,66px);font-weight:800;letter-spacing:-.045em;
 line-height:.98;color:var(--encre)}
.elementor-widget-heading.dec-h1 em,
.elementor-widget-heading.dec-h2 em{font-style:normal;color:var(--olive)}
.elementor-widget-heading.sur-olive .elementor-heading-title{color:var(--papier)}
.elementor-widget-heading.sur-olive em{color:var(--lime)}

/* ══════════ corps de texte ══════════ */
.elementor-widget-text-editor.dec-sous,
.elementor-widget-text-editor.dec-sous p{
 font-size:19px;line-height:1.55;color:var(--encre2)}
.elementor-widget-text-editor.dec-sous{max-width:52ch}

.elementor-widget-text-editor.dec-chapeau,
.elementor-widget-text-editor.dec-chapeau p{
 font-size:17px;line-height:1.68;color:var(--encre2)}
.elementor-widget-text-editor.dec-chapeau p+p{margin-top:19px}
.elementor-widget-text-editor.dec-chapeau.sur-olive,
.elementor-widget-text-editor.dec-chapeau.sur-olive p{color:rgba(255,255,255,.9)}
.elementor-widget-text-editor.dec-chapeau.sur-olive p{max-width:58ch}

/* Cinq paragraphes denses en une colonne : personne ne les lit. Le premier
   passe en exergue à côté de l'image, les quatre autres en colonnes pleine
   largeur. Le texte est intact, seule sa mise en page change. */
.elementor-widget-text-editor.dec-chapeau-exergue,
.elementor-widget-text-editor.dec-chapeau-exergue p{
 font-size:20px;line-height:1.52;color:var(--encre);font-weight:500}
.elementor-widget-text-editor.dec-chapeau-exergue{
 padding-left:22px;border-left:3px solid var(--olive);max-width:56ch}

/* ══════════ corps en trois colonnes ══════════
   L'éditeur de texte reste natif : seule la mise en colonnes vient d'ici. */
.elementor-widget-text-editor.corps-3col{
 column-count:3;column-gap:46px;column-rule:1px solid var(--trait);
 padding-top:38px;border-top:1px solid var(--trait)}
.elementor-widget-text-editor.corps-3col,
.elementor-widget-text-editor.corps-3col p{
 font-size:15.5px;line-height:1.64;color:var(--encre2);max-width:none}
.elementor-widget-text-editor.corps-3col p+p{margin-top:15px}
@media(max-width:1080px){.elementor-widget-text-editor.corps-3col{column-count:2}}
@media(max-width:760px){.elementor-widget-text-editor.corps-3col{column-count:1;column-rule:0}}

/* ══════════ notes de bas de section ══════════ */
.elementor-widget-text-editor.notes-section{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;
 padding-top:24px;border-top:1px solid var(--trait)}
.elementor-widget-text-editor.notes-section,
.elementor-widget-text-editor.notes-section p{
 font-size:13px;line-height:1.55;color:var(--gris);max-width:none}
.elementor-widget-text-editor.notes-section sup{color:var(--olive);font-weight:700;
 font-family:var(--mono);font-size:10px}
@media(max-width:760px){.elementor-widget-text-editor.notes-section{grid-template-columns:1fr}}

/* ══════════ pied du catalogue ══════════ */
.elementor-widget-text-editor.cat-pied,
.elementor-widget-text-editor.cat-pied p{
 font-size:17px;font-weight:600;color:var(--encre);max-width:52ch}
.elementor-widget-text-editor.cat-pied span{display:block;font-size:14.5px;
 font-weight:400;color:var(--encre2);margin-top:6px}

/* ══════════ visuel de la rupture olive ══════════ */
.elementor-widget-image.dec-rup-vis img{aspect-ratio:4/3;width:100%;height:100%;
 object-fit:cover;display:block;border:1px solid rgba(255,255,255,.34);
 border-radius:var(--r-2xl) var(--r-s) var(--r-2xl) var(--r-s)}

/* ══════════ couleur de texte de la rupture olive ══════════
   Aucun contrôle Elementor ne pose la couleur de texte d'un conteneur : les
   blocs qui n'ont pas de couleur propre y resteraient en encre sur olive. */
#pourquoi{color:var(--papier)}

/* Les blocs natifs héritent de la marge de paragraphe du thème ; la maquette
   n'en pose aucune et gère les intervalles au `p + p`. */
.elementor-widget-text-editor.dec-cap p,
.elementor-widget-text-editor.dec-sous p,
.elementor-widget-text-editor.dec-chapeau p,
.elementor-widget-text-editor.dec-chapeau-exergue p,
.elementor-widget-text-editor.corps-3col p,
.elementor-widget-text-editor.notes-section p,
.elementor-widget-text-editor.cat-pied p{margin:0}
.elementor-widget-text-editor.dec-chapeau p+p{margin-top:19px}
.elementor-widget-text-editor.corps-3col p+p{margin-top:15px}

/* La maquette écrit les surtitres de section en `<span>` et celui du hero en
   `<p>` : seul le second est borné par la mesure de ligne globale. Un éditeur
   de texte Elementor produit toujours un paragraphe — la distinction se
   rétablit donc ici, sans quoi la boîte du surtitre se bornerait à 70ch. */
.elementor-widget-text-editor.dec-cap p{max-width:none}
#hero .elementor-widget-text-editor.dec-cap p{max-width:70ch}
.elementor-widget-text-editor.dec-sous p{max-width:52ch}

/* ══════════ mesures de ligne : reprendre la main sur Elementor ══════════
   Elementor pose `.elementor.elementor .e-con > .elementor-widget{max-width:100%}`
   — quatre classes, et sa feuille est chargée après celles du greffon. Les
   bornes de mesure de la maquette doivent donc monter à cinq classes pour
   passer. Deux formes de sélecteur sont nécessaires : un widget posé dans un
   conteneur en pleine largeur est enfant de `.e-con`, le même widget posé dans
   un conteneur borné est enfant de `.e-con-inner`.
   Sans cela l'écart ne se voit qu'au-delà de 1 456 px de colonne, où la
   maquette borne le chapeau à 56 caractères et la production non. */
.elementor.elementor .e-con > .elementor-widget-text-editor.dec-chapeau-exergue,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.dec-chapeau-exergue{max-width:56ch}
.elementor.elementor .e-con > .elementor-widget-text-editor.dec-sous,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.dec-sous{max-width:52ch}
.elementor.elementor .e-con > .elementor-widget-text-editor.cat-pied,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.cat-pied{max-width:52ch}
.elementor.elementor .e-con > .elementor-widget-text-editor.corps-3col,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.corps-3col{max-width:none}
.elementor.elementor .e-con > .elementor-widget-text-editor.notes-section,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.notes-section{max-width:none}
.elementor.elementor .e-con > .elementor-widget-image.dec-rup-vis,
.elementor.elementor .e-con-inner > .elementor-widget-image.dec-rup-vis{max-width:none}


/* ══════════ titre et chapeau des pages intérieures ══════════ */
.elementor-widget-heading.dec-h1-page .elementor-heading-title{
 font-size:clamp(32px,4.4vw,60px);font-weight:800;letter-spacing:-.04em;
 line-height:1.02;max-width:17ch;color:var(--encre)}
.elementor-widget-heading.dec-h1-page em{font-style:normal;color:var(--olive)}

.elementor-widget-text-editor.chapo,
.elementor-widget-text-editor.chapo p{
 font-size:18.5px;line-height:1.55;color:var(--encre2)}
.elementor.elementor .e-con > .elementor-widget-text-editor.chapo,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.chapo{max-width:54ch}

/* ══════════ corps rédactionnel ══════════
   Un seul éditeur de texte natif porte tout le corps d'une page : la cliente
   le modifie en WYSIWYG comme n'importe quel article, et la typographie vient
   d'ici. Le découper en widgets titre/paragraphe rendrait toute reprise
   éditoriale pénible pour un gain nul. */
.elementor.elementor .e-con > .elementor-widget-text-editor.redac,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.redac{max-width:74ch}
.elementor-widget-text-editor.redac h2{font-size:clamp(23px,2.7vw,34px);font-weight:800;
 letter-spacing:-.035em;line-height:1.08;margin:52px 0 18px;color:var(--encre)}
.elementor-widget-text-editor.redac h2:first-child{margin-top:0}
.elementor-widget-text-editor.redac h3{font-size:19px;font-weight:700;
 letter-spacing:-.02em;margin:30px 0 11px;color:var(--encre)}
.elementor-widget-text-editor.redac p{font-size:17px;line-height:1.68;
 color:var(--encre2);margin:0 0 16px}
.elementor-widget-text-editor.redac p strong{color:var(--encre);font-weight:700}
.elementor-widget-text-editor.redac ul{list-style:none;margin:0 0 18px;padding:0}
.elementor-widget-text-editor.redac ul li{position:relative;padding-left:24px;
 font-size:16.5px;line-height:1.62;color:var(--encre2);margin-bottom:10px}
.elementor-widget-text-editor.redac ul li::before{content:'';position:absolute;left:0;
 top:10px;width:9px;height:9px;border-radius:50%;background:var(--olive-p);
 border:2px solid var(--olive)}
/* Dans un article, le corps occupe la colonne centrale entière. */
.elementor-widget-text-editor.redac.pleine-mesure{max-width:none}
.elementor.elementor .e-con > .elementor-widget-text-editor.redac.pleine-mesure,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.redac.pleine-mesure{max-width:none}

/* ══════════ légende de tableau ══════════
   Mention de source ou d'arrêté, posée sous une donnée chiffrée. */
.elementor-widget-text-editor.dec-legende,
.elementor-widget-text-editor.dec-legende p{
 font-family:var(--mono);font-size:10px;letter-spacing:.1em;line-height:1.6;
 color:var(--gris);text-transform:uppercase}

/* ══════════ mentions légales ══════════
   Un seul éditeur de texte porte l'ensemble : c'est un document juridique que
   la cliente remplacera d'un bloc le jour où il changera. */
.elementor.elementor .e-con > .elementor-widget-text-editor.legal,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.legal{max-width:76ch}
.elementor-widget-text-editor.legal h2{font-size:clamp(19px,2.1vw,24px);font-weight:800;
 letter-spacing:-.03em;line-height:1.2;margin:46px 0 16px;padding-top:28px;
 border-top:1px solid var(--trait);color:var(--encre)}
.elementor-widget-text-editor.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.elementor-widget-text-editor.legal h3{font-size:17px;font-weight:700;
 letter-spacing:-.02em;margin:28px 0 11px;color:var(--encre)}
.elementor-widget-text-editor.legal p{font-size:16px;line-height:1.68;color:var(--encre2);margin:0}
.elementor-widget-text-editor.legal p + p{margin-top:13px}
.elementor-widget-text-editor.legal ul{list-style:none;display:grid;gap:10px;
 margin:15px 0;padding:0}
.elementor-widget-text-editor.legal li{font-size:15.5px;line-height:1.58;
 color:var(--encre2);padding-left:20px;position:relative}
.elementor-widget-text-editor.legal li::before{content:"";position:absolute;left:0;top:9px;
 width:6px;height:6px;border-radius:50%;background:var(--lime)}
.elementor-widget-text-editor.legal a{color:var(--olive)}

/* Variante centrée, pour la page de confirmation d'envoi. */
.elementor-widget-heading.centre .elementor-heading-title{max-width:22ch;margin:0 auto}
.elementor-widget-text-editor.centre,
.elementor-widget-text-editor.centre p{text-align:center}
.elementor.elementor .e-con > .elementor-widget-text-editor.chapo.centre,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.chapo.centre{
 max-width:52ch;margin-left:auto;margin-right:auto}

/* ══════════ atténuation annoncée ══════════
   Le chiffre que cherche un lecteur de fiche produit, posé contre un filet
   olive juste sous le chapeau. */
.elementor-widget-text-editor.dec-attenuation{display:block;margin-top:28px;
 padding:18px 24px;border-left:3px solid var(--olive);background:var(--olive-p);
 border-radius:0 var(--r-m) var(--r-m) 0}
.elementor.elementor .e-con > .elementor-widget-text-editor.dec-attenuation,
.elementor.elementor .e-con-inner > .elementor-widget-text-editor.dec-attenuation{max-width:58ch}
.elementor-widget-text-editor.dec-attenuation .k{font-family:var(--mono);font-size:10px;
 letter-spacing:.18em;text-transform:uppercase;color:var(--olive-t);display:block;
 margin-bottom:7px}
.elementor-widget-text-editor.dec-attenuation .z{font-size:17px;font-weight:700;
 letter-spacing:-.02em;color:var(--encre);line-height:1.4;display:block}

/* Surtitre posé en relance au milieu d'une en-tête de page. */
.elementor-widget-text-editor.dec-cap.relance{margin:22px 0 10px}

/* ══════════ corps d'article ══════════
   Le corps entier tient dans un seul éditeur de texte natif : la cliente le
   modifie comme un article ordinaire, titres compris. Règles reprises de la
   maquette sans retranscription. */
.elementor-widget-text-editor.art-corps{min-width:0}
.elementor-widget-text-editor.art-corps h2{font-size:clamp(23px,2.6vw,31px);font-weight:800;letter-spacing:-.035em;
 line-height:1.14;margin:48px 0 18px;scroll-margin-top:120px}
.elementor-widget-text-editor.art-corps h2:first-child{margin-top:0}
.elementor-widget-text-editor.art-corps h3{font-size:19px;font-weight:700;letter-spacing:-.025em;line-height:1.25;
 margin:32px 0 12px}
.elementor-widget-text-editor.art-corps p{font-size:17px;line-height:1.72;color:var(--encre2)}
.elementor-widget-text-editor.art-corps p + p{margin-top:16px}
.elementor-widget-text-editor.art-corps ul{list-style:none;display:grid;gap:11px;margin:18px 0}
.elementor-widget-text-editor.art-corps li{font-size:16.5px;line-height:1.62;color:var(--encre2);padding-left:22px;
 position:relative}
.elementor-widget-text-editor.art-corps li::before{content:"";position:absolute;left:0;top:11px;width:6px;height:6px;
 border-radius:50%;background:var(--lime)}
.elementor-widget-text-editor.art-corps strong{color:var(--encre);font-weight:700}
.elementor-widget-text-editor.art-corps blockquote{margin:28px 0;padding:4px 0 4px 26px;
 border-left:3px solid var(--olive);font-size:18px;line-height:1.6;
 color:var(--encre);font-style:italic}
.elementor-widget-text-editor.art-corps{order:1}
