/* Start custom CSS *//* ============================================================
   LRGS — Colle tous les blocs (Elementor CSS personnalisé)
   À coller dans : Elementor > Paramètres du site > CSS personnalisé
   OU dans : Apparence > Personnaliser > CSS additionnel
   ============================================================ */

/* 0. Supprime l'espace vide EN HAUT — Hello Elementor theme
   ─────────────────────────────────────────────────────────
   Hello Elementor ajoute un padding-top sur .site-main égal à
   la hauteur du header sticky. On le neutralise uniquement sur
   les pages contenant l'article (sélecteur :has(.lrgs)).       */

body:has(.lrgs) .site-main,
body:has(.lrgs) #content,
body:has(.lrgs) .site,
body:has(.lrgs) main,
body:has(.lrgs) #main,
body:has(.lrgs) .page-content,
body:has(.lrgs) .post-content,
body:has(.lrgs) article.hentry,
body:has(.lrgs) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Canvas Elementor et tous ses wrappers directs */
body:has(.lrgs) .elementor,
body:has(.lrgs) .elementor-inner,
body:has(.lrgs) .elementor-section-wrap,
body:has(.lrgs) .elementor-location-single,
body:has(.lrgs) .elementor > .elementor-inner,
body:has(.lrgs) .elementor-inner > .elementor-section-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Premier enfant direct dans le canvas (section ou container) */
body:has(.lrgs) .elementor-section-wrap > *:first-child,
body:has(.lrgs) .elementor-inner > *:first-child,
body:has(.lrgs) .elementor > .elementor-inner > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Flexbox Containers Elementor 3.6+ */
body:has(.lrgs) .e-con-full:first-child,
body:has(.lrgs) .elementor-section-wrap > .e-con:first-child,
body:has(.lrgs) .elementor-section-wrap > .elementor-section:first-child,
body:has(.lrgs) .elementor-section-wrap > .elementor-section:first-child > .elementor-container,
body:has(.lrgs) .elementor-section-wrap > .elementor-section:first-child > .elementor-container > .elementor-column,
body:has(.lrgs) .elementor-section-wrap > .elementor-section:first-child > .elementor-container > .elementor-column > .elementor-widget-wrap {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hello Elementor : padding-top sur body injecté par le header sticky JS */
body.elementor-page:has(.lrgs) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 1. Supprime les marges/paddings Elementor entre les sections */
.elementor-widget-html:has(.lrgs),
.elementor-widget-html:has(.lrgs2),
.elementor-widget-html:has(.lrgs3),
.elementor-widget-html:has(.lrgs4),
.elementor-widget-html:has(.lrgs5),
.elementor-widget-html:has(.lrgs6) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 2. Supprime les marges des colonnes/sections Elementor parentes */
.elementor-section:has(.lrgs),
.elementor-section:has(.lrgs2),
.elementor-section:has(.lrgs3),
.elementor-section:has(.lrgs4),
.elementor-section:has(.lrgs5),
.elementor-section:has(.lrgs6),
.e-con:has(.lrgs),
.e-con:has(.lrgs2),
.e-con:has(.lrgs3),
.e-con:has(.lrgs4),
.e-con:has(.lrgs5),
.e-con:has(.lrgs6) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 3. Force les sections à se coller sans espace résiduel */
.lrgs,
.lrgs2,
.lrgs3,
.lrgs3__section,
.lrgs4,
.lrgs5,
.lrgs6 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 4. Supprime le gap éventuel du conteneur flex/grid Elementor */
.elementor-section:has(.lrgs) + .elementor-section,
.e-con:has(.lrgs) + .e-con,
.elementor-section:has(.lrgs2) + .elementor-section,
.e-con:has(.lrgs2) + .e-con,
.elementor-section:has(.lrgs3) + .elementor-section,
.e-con:has(.lrgs3) + .e-con,
.elementor-section:has(.lrgs4) + .elementor-section,
.e-con:has(.lrgs4) + .e-con,
.elementor-section:has(.lrgs5) + .elementor-section,
.e-con:has(.lrgs5) + .e-con,
.elementor-section:has(.lrgs6) + .elementor-section,
.e-con:has(.lrgs6) + .e-con {
  margin-top: 0 !important;
}

/* ============================================================
   FALLBACK — Si :has() non supporté (WordPress < 6.1 / très
   vieux navigateurs), utilisez ce bloc alternatif à la place
   des règles ci-dessus :

   .elementor-widget-html { margin: 0 !important; padding: 0 !important; }
   .elementor-section      { margin: 0 !important; padding: 0 !important; }
   .e-con                  { margin: 0 !important; padding: 0 !important; }

   ⚠ Attention : cette version s'applique à TOUTES les sections
   de la page — à n'utiliser que sur une page dédiée à l'article.
   ============================================================ *//* End custom CSS */