/* Sections 20/20 dans Elementor : le conteneur ne doit ajouter ni marge, ni écart,
   ni largeur maximale autour des sections, qui gèrent leur propre mise en page. */
.elementor .e-con.vv-conteneur,
.elementor .vv-conteneur{
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px; --content-width:100%; --width:100%;
  padding:0; gap:0; max-width:none; width:100%;
}
.elementor .vv-conteneur > .elementor-element,
.elementor .vv-conteneur > .e-con-inner > .elementor-element{ width:100%; max-width:none; margin:0; --kit-widget-spacing:0px; }
.elementor .vv-conteneur .elementor-widget[class*="elementor-widget-vv-"] > .elementor-widget-container{ margin:0; padding:0; }
/* Accueil : le zoom par paliers visait « body > section ». */
@media (min-width:1100px) and (max-width:1139px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.83; } }
@media (min-width:1140px) and (max-width:1179px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.86; } }
@media (min-width:1180px) and (max-width:1219px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.89; } }
@media (min-width:1220px) and (max-width:1259px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.92; } }
@media (min-width:1260px) and (max-width:1299px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.95; } }
@media (min-width:1300px) and (max-width:1319px){ body.gabarit-accueil .elementor-widget-container > section{ zoom:0.98; } }
/* Pages solutions : <main> et le héros remontent tous deux de 150 px sous l'en-tête.
   Dans le gabarit, les deux marges se confondent ; dans le conteneur Elementor (flex),
   elles s'additionnaient. On ne garde que celle de <main>. */
body.gabarit-solution .elementor [data-widget_type^="vv-"] .sol-heros{ margin-top:0; }
/* Règles « section + section » du thème : dans Elementor, chaque section est dans
   son propre widget, on vise donc le widget suivant. */
@media (min-width:1100px){
  html body.gabarit-metier .elementor-element:has(.met-cas) + .elementor-element .sol-faq{ margin-top:0; padding-top:86px; }
}
/* Bouton natif d'Elementor aux couleurs de 20/20 La Suite (même rendu que .btn). */
.elementor-widget-button .elementor-button{
  font-family:'Satoshi','Inter',sans-serif; font-weight:700; font-size:18px; line-height:1.2;
  padding:16px 32px; border-radius:999px; color:#fff;
  background:linear-gradient(144deg,#746DFF 0%,#325DEA 63%);
  box-shadow:0 10px 24px rgba(50,93,234,.25);
}
.elementor-widget-button .elementor-button:hover{ background:linear-gradient(172.5deg,#8A84FF 9.9%,#3D69F0 63.2%); color:#fff; }
/* Pages natives : enveloppes des widgets placés dans une grille ou une rangée flex.
   Hors éditeur, elles s'effacent de la mise en page (display:contents) pour que
   l'élément d'origine redevienne l'enfant direct de la grille. */
body:not(.elementor-editor-active) .vv-w.vv-item,
body:not(.elementor-editor-active) .vv-n.vv-enveloppe{ display:contents; }
/* 12/10 · Dans l'éditeur aussi : sinon un bloc qui regroupe plusieurs cartes d'une
   grille (constat, univers…) occupait une seule case et les cartes s'empilaient.
   Le clic sur une carte remonte au bloc, la sélection reste possible. */
body.elementor-editor-active .vv-w.vv-item{ display:contents; }
.vv-w > .elementor-text-editor{ display:contents; }
/* Accueil natif : les sections sont des conteneurs, enfants directs de .elementor. */
@media (min-width:1100px) and (max-width:1139px){ body.gabarit-accueil .elementor > section{ zoom:0.83; } }
@media (min-width:1140px) and (max-width:1179px){ body.gabarit-accueil .elementor > section{ zoom:0.86; } }
@media (min-width:1180px) and (max-width:1219px){ body.gabarit-accueil .elementor > section{ zoom:0.89; } }
@media (min-width:1220px) and (max-width:1259px){ body.gabarit-accueil .elementor > section{ zoom:0.92; } }
@media (min-width:1260px) and (max-width:1299px){ body.gabarit-accueil .elementor > section{ zoom:0.95; } }
@media (min-width:1300px) and (max-width:1319px){ body.gabarit-accueil .elementor > section{ zoom:0.98; } }

/* 12/10 · Dans l'éditeur, Elementor met chaque bloc en position relative : les
   éléments posés en absolu par le thème (sphère de l'accueil, visuels des héros)
   se calaient sur le bloc et non sur leur section. On rend la main au thème. */
body.elementor-editor-active .vv-w:not(.elementor-element-editable){ position:static; }
/* 12/10 · Les poignées d'Elementor (une <div> en tête de chaque bloc) étaient
   attrapées par les règles « grille > div » du thème (position, colonne de grille) :
   elles prenaient la première case et décalaient le contenu. Toujours hors du flux. */
body.elementor-editor-active .elementor-element > .elementor-element-overlay{ position:absolute !important; margin:0 !important; padding:0 !important; grid-area:auto !important; }

/* 12/10 · Centrage porté par un conteneur (ex-attribut style="text-align:center" des gabarits). */
.vv-centre{ text-align:center; }
