/* =====================================================================
   URD — pont entre la charte (style.css) et Elementor
   L'importateur a recréé chaque bloc de la maquette en conteneurs et
   widgets Elementor portant les MÊMES classes. Ce fichier neutralise les
   espacements et dispositions par défaut d'Elementor pour que la charte
   gouverne, et adapte les quelques règles qui supposaient une balise
   directement enfant d'une autre (Elementor intercale ses enveloppes).
   ===================================================================== */

/* -------- 1. Conteneurs : aucun espacement ni disposition imposés ------ */
/* Un conteneur Elementor se comporte par défaut comme un simple <div> :
   bloc, sans marge, sans espacement. Les classes de la charte (feuille
   charte-elementor.css, chargée APRÈS ce fichier avec la même force)
   réimposent ensuite leurs propres dispositions : grille, flex, marges… */
body.urd .elementor .e-con{
  --display:block; --flex-direction:row; --flex-wrap:nowrap;
  --justify-content:normal; --align-items:normal;
  --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
  --margin-top:0px; --margin-bottom:0px; --margin-left:0px; --margin-right:0px;
  --gap:0px 0px; --row-gap:0px; --column-gap:0px;
  --widgets-spacing:0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px;
  --width:auto; --min-height:0px; --container-max-width:none; --content-width:100%;
  display:block; padding:0; margin:0; gap:0; max-width:none; width:auto; min-height:0;
  flex-direction:row; flex-wrap:nowrap;
}

/* -------- 2. Widgets : pas de marge ajoutée entre eux ------------------ */
.urd .elementor .elementor-widget:not(:last-child){ margin-block-end:0; margin-bottom:0; }
.urd .elementor .elementor-widget{ --kit-widget-spacing:0px; }
.urd .elementor .elementor-widget-container{ margin:0; padding:0; }
/* Les paragraphes gardent la marge de la charte (comme dans la maquette),
   sauf en fin de carte et de section d'introduction où la charte l'annule. */
.urd .elementor :is(.carte,.section-intro,.article-corps,.etape,.encadre) .elementor-widget-text-editor:last-child p:last-child{ margin-bottom:0; }

/* -------- 3. Titres : la charte, pas le kit Elementor ----------------- */
.urd .elementor .elementor-heading-title{
  font-family:var(--titre); font-weight:700; letter-spacing:-.01em;
  line-height:1.18; color:var(--bleu-fonce); margin:0 0 .6em;
}
.urd .elementor h1.elementor-heading-title{ font-size:clamp(1.9rem, 1.3rem + 2.3vw, 3rem); }
.urd .elementor h2.elementor-heading-title{ font-size:clamp(1.45rem, 1.1rem + 1.4vw, 2.15rem); }
.urd .elementor h3.elementor-heading-title{ font-size:clamp(1.1rem, .98rem + .5vw, 1.35rem); }
.urd .elementor h4.elementor-heading-title{ font-size:1.05rem; }
.urd .elementor :is(.hero,.section--bleu,.appel,.bandeau-pays,.etape,.carte--sombre) .elementor-heading-title{ color:#fff; }
.urd .elementor .hero h1.elementor-heading-title{ margin-bottom:.4em; }
.urd .elementor .section-intro .elementor-heading-title{ margin-bottom:.45em; }
.urd .elementor .duo .elementor-heading-title{ margin-bottom:.5em; }
.urd .elementor .carte h3.elementor-heading-title{ font-size:1.16rem; margin-bottom:.35em; }
.urd .elementor .etape h3.elementor-heading-title{ font-size:1.08rem; }
.urd .elementor .article-corps h3.elementor-heading-title{ margin:0; }
.urd .elementor .bandeau-pays .elementor-heading-title{ margin:0; }
.urd .elementor .elementor-heading-title a{ color:inherit; }
.urd .elementor .elementor-heading-title a:hover{ color:var(--bleu-clair); text-decoration:none; }

/* -------- 4. Photos : widget Image dans un cadre de la charte ---------- */
.urd .elementor .e-con.visuel--photo{ position:relative; overflow:hidden; }
.urd .elementor .e-con.visuel--photo > .elementor-widget-image{ position:absolute; inset:0; z-index:0; }
.urd .elementor .e-con.visuel--photo > .elementor-widget-image :is(.elementor-widget-container, a){ height:100%; }
.urd .elementor .e-con.visuel--photo > .elementor-widget-image img{
  width:100%; height:100%; object-fit:cover; display:block; max-width:none; transition:transform .6s ease;
}
.urd .elementor .e-con.visuel--photo > .elementor-widget-html{ position:static; }
.urd .elementor .carte--lien:hover .visuel--photo img,
.urd .elementor .article-carte:hover .visuel--photo img,
.urd .elementor .frise .visuel--photo:hover img,
.urd .elementor .bandeau-pays-photos .visuel--photo:hover img{ transform:scale(1.04); }
.urd .elementor .article-vignette .e-con.visuel--photo{ position:absolute; inset:0; }
.urd .elementor .e-con.article-vignette{ position:relative; }
.urd .elementor .e-con.duo-photo-tete{ margin-bottom:26px; }

/* Grande image de fond (hero, sections « étapes ») : widget Image + voile */
.urd .elementor .e-con.a-fond-photo{ position:relative; overflow:hidden; background:var(--bleu-fonce); }
.urd .elementor .e-con.a-fond-photo > .fond-photo{ position:absolute; inset:0; z-index:0; }
.urd .elementor .e-con.a-fond-photo > .fond-photo :is(.elementor-widget-container, a){ height:100%; }
.urd .elementor .e-con.a-fond-photo > .fond-photo img{ width:100%; height:100%; object-fit:cover; max-width:none; }
.urd .elementor .e-con.a-fond-photo > .fond-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(14,20,67,.97) 0%, rgba(23,31,99,.92) 38%, rgba(33,47,141,.55) 70%, rgba(33,47,141,.30) 100%);
}
.urd .elementor .e-con.section--photo > .fond-photo::after{
  background:linear-gradient(180deg, rgba(14,20,67,.93) 0%, rgba(23,31,99,.88) 50%, rgba(14,20,67,.95) 100%);
}
.urd .elementor .e-con.section--photo::before{ content:none; }
.urd .elementor .e-con.hero::before{ z-index:1; }
.urd .elementor .e-con.a-fond-photo > .e-con{ position:relative; z-index:2; }
.urd .elementor .e-con.a-fond-photo > .elementor-widget-html{ position:static; }
@media (max-width: 760px){
  .urd .elementor .e-con.hero.a-fond-photo > .fond-photo::after{
    background:linear-gradient(180deg, rgba(14,20,67,.86) 0%, rgba(23,31,99,.94) 60%, rgba(14,20,67,.98) 100%);
  }
}

/* -------- 5. Règles d'enfant direct de la maquette ------------------- */
.urd .elementor .carte--photo > .elementor-element:not(.carte-vignette){ margin-left:26px; margin-right:26px; }
.urd .elementor .carte--photo > .elementor-element:last-child{ margin-bottom:26px; }
.urd .elementor .carte--photo > .elementor-widget-heading{ margin-top:20px; }
.urd .elementor .carte .elementor-widget-html:has(.lien-fleche){ margin-top:auto; }
.urd .elementor .prose-photo-media{ position:sticky; top:calc(var(--header-h) + 24px); }

/* -------- 6. Éditeur Elementor : rendre visibles les zones vides ------ */
.elementor-editor-active.urd .e-con.visuel--photo{ min-height:120px; }
