/* ==========================================================================
   LM Danse — neutralisation d'Elementor et du thème Hello
   Chargée APRÈS les styles d'Elementor et du thème, mais AVANT la charte
   (lm-site.css), pour que celle-ci s'applique ensuite naturellement.

   Principe : Elementor pilote ses conteneurs par des variables CSS posées sur
   « .e-con » (spécificité 0,1,0). On se contente de remettre ces variables à
   une valeur neutre — on ne déclare presque aucune propriété en dur, sinon
   c'est la charte du site qui serait écrasée.
   ========================================================================== */

/* ---------- Conteneurs Elementor ---------- */
.e-con,
.e-con-inner {
  --display: block;
  --flex-direction: initial;
  --flex-wrap: initial;
  --align-items: initial;
  --align-content: initial;
  --justify-content: initial;
  --gap: normal;
  --row-gap: normal;
  --column-gap: normal;
  --padding-block-start: 0px;
  --padding-block-end: 0px;
  --padding-inline-start: 0px;
  --padding-inline-end: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
  --margin-block-start: 0px;
  --margin-block-end: 0px;
  --margin-inline-start: 0px;
  --margin-inline-end: 0px;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --width: 100%;
  --content-width: 100%;
  --min-height: 0px;
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
}

/* Seule exception : Elementor impose la direction avec une spécificité (0,2,0)
   via « .e-con-full.e-flex », qu'aucune règle de la charte ne peut dépasser. */
.e-con.e-flex,
.e-con-full.e-flex {
  --display: block;
  --flex-direction: initial;
}

/* ---------- Widgets ---------- */
.elementor-widget { margin-bottom: 0; }
.elementor-element { --widgets-spacing: 0px 0px; }

/* ---------- Thème Hello Elementor ---------- */
/* Hello style ses propres .site-header / .site-footer, qui sont aussi les
   classes de la charte LM Danse. Sa règle cible
   « .site-header:not(.dynamic-header) » (0,2,0) : on repasse au-dessus. */
html body .site-header:not(.dynamic-header),
html body .site-footer:not(.dynamic-footer) {
  display: block;
  padding: 0;
  margin: 0;
  max-width: none;
  background: transparent;
  box-shadow: none;
}

/* Hello contraint aussi la largeur du contenu sur certains gabarits. */
.page-content > .entry-content,
.site-main { max-width: none; padding: 0; margin: 0; }

/* Marges de titres héritées du thème. */
.site-header h1, .site-header h2,
.site-footer h1, .site-footer h2 { margin: 0; }
