/*
 * NDS — couche de base, chargée AVANT la feuille de fidélité (maquette.css).
 *
 * Échelle de spécificité (voir la passation) :
 *   Elementor ............................ jusqu'à (0,3,0), plafond de largeur (0,4,0)
 *   Cette couche (rôle du navigateur) ...... (0,3,1) ; largeur (0,4,1)
 *   maquette.css .......................... (0,3,1) + sélecteur d'origine ; largeur (0,4,1) + …
 * Tout élément issu de la maquette porte .cdp-c (conteneur) ou .cdp-w (widget),
 * et .cdp-t-<balise d'origine>.
 */

/* 1. Variables des conteneurs Elementor remises à zéro (elles pilotent display, gap, padding…). */
body .elementor .e-con.cdp-c,
body .elementor .elementor-element.cdp-w {
	--display: block;
	--flex-direction: row;
	--flex-wrap: nowrap;
	--justify-content: normal;
	--align-items: normal;
	--align-content: normal;
	--width: auto;
	--height: auto;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--margin-top: 0px; --margin-right: 0px; --margin-bottom: 0px; --margin-left: 0px;
	--position: static;
	--overflow: visible;
	--z-index: auto;
	--border-radius: 0;
	--container-widget-width: auto;
	--text-align: inherit;
}
/* Rôle d'affichage des balises d'origine (ce que le navigateur aurait fait). */
body .elementor .e-con.cdp-c:is(.cdp-t-a, .cdp-t-span, .cdp-t-strong, .cdp-t-small, .cdp-t-em, .cdp-t-label, .cdp-t-b, .cdp-t-i) { --display: inline; }
body .elementor .e-con.cdp-c.cdp-t-li { --display: list-item; }

/* 2. Propriétés directes posées par Elementor, rendues à leur valeur navigateur. */
body .elementor .e-con.cdp-c {
	min-width: auto;
	transition: none;
	text-align: inherit;
}
body .elementor .elementor-element.cdp-w {
	position: static;
	min-width: auto;
	margin: 0;
	text-align: inherit;
}
body .elementor.elementor .e-con > .cdp-w,
body .elementor.elementor .e-con-inner > .cdp-w { max-width: none; }

/* Le pseudo-élément ::before des conteneurs sert aux calques d'Elementor : on le libère. */
body .elementor .e-con.cdp-c::before {
	content: none; display: inline; position: static;
	top: auto; left: auto; width: auto; height: auto;
	border: 0 none; border-radius: 0; opacity: 1; mix-blend-mode: normal; transition: none;
}

/* 3. Valeurs par défaut du navigateur pour les balises devenues des <div>. */
body .elementor .cdp-w.cdp-t-p, body .elementor .cdp-c.cdp-t-p { margin: 1em 0; }
body .elementor .cdp-w.cdp-t-h1 { display: block; font-size: 2em; font-weight: bold; margin: .67em 0; }
body .elementor .cdp-w.cdp-t-h2 { display: block; font-size: 1.5em; font-weight: bold; margin: .83em 0; }
body .elementor .cdp-w.cdp-t-h3 { display: block; font-size: 1.17em; font-weight: bold; margin: 1em 0; }
body .elementor .cdp-w.cdp-t-h4 { display: block; font-size: 1em; font-weight: bold; margin: 1.33em 0; }
body .elementor .cdp-w.cdp-t-h5 { display: block; font-size: .83em; font-weight: bold; margin: 1.67em 0; }
body .elementor .cdp-w.cdp-t-h6 { display: block; font-size: .67em; font-weight: bold; margin: 2.33em 0; }
body .elementor :is(.cdp-w, .cdp-c):is(.cdp-t-ul, .cdp-t-ol) { margin: 1em 0; padding-left: 40px; }
body .elementor .cdp-c.cdp-t-ul { list-style-type: disc; }
body .elementor .cdp-c.cdp-t-ol { list-style-type: decimal; }
body .elementor .cdp-w.cdp-t-li { display: list-item; }
body .elementor :is(.cdp-w, .cdp-c):is(.cdp-t-blockquote, .cdp-t-figure) { margin: 1em 40px; }
body .elementor :is(.cdp-w, .cdp-c).cdp-t-dl { margin: 1em 0; }
body .elementor :is(.cdp-w, .cdp-c).cdp-t-dd { margin-left: 40px; }
body .elementor .cdp-w:is(.cdp-t-span, .cdp-t-a, .cdp-t-strong, .cdp-t-b, .cdp-t-em, .cdp-t-i, .cdp-t-small, .cdp-t-label, .cdp-t-time, .cdp-t-abbr, .cdp-t-img) { display: inline; }
body .elementor :is(.cdp-w, .cdp-c):is(.cdp-t-strong, .cdp-t-b) { font-weight: bolder; }
body .elementor :is(.cdp-w, .cdp-c):is(.cdp-t-em, .cdp-t-i) { font-style: italic; }
body .elementor :is(.cdp-w, .cdp-c).cdp-t-small { font-size: smaller; }
body .elementor .e-con.cdp-c.cdp-t-a { color: inherit; cursor: pointer; }

/* 4. Contenu interne des widgets : il hérite de l'enveloppe, qui porte la mise en forme. */
body .elementor .cdp-w.elementor-widget-heading .elementor-heading-title {
	font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit;
	text-transform: inherit; text-align: inherit; text-wrap: inherit; margin: 0; padding: 0;
}
body .elementor .cdp-w.elementor-widget-heading .elementor-heading-title > a { color: inherit; }
body .elementor .cdp-rich > p:only-child { margin: 0; }

/* Textes « anonymes » (texte nu entre deux éléments dans la maquette) et blocs gardés entiers. */
body .elementor .cdp-txt,
body .elementor .cdp-outer,
body .elementor .cdp-raw { display: contents !important; }

/* Images : l'enveloppe porte les dimensions et les proportions de la maquette
   (--cdp-ar, posé par le réglage « Proportions »), l'image la remplit. */
body .elementor .cdp-w.elementor-widget-image { aspect-ratio: var(--cdp-ar, auto); }
body .elementor .cdp-w.elementor-widget-image img {
	display: block; width: 100%; height: 100%; max-width: none; vertical-align: top;
	border-radius: inherit; object-fit: inherit; object-position: inherit;
}

/* Pictogrammes : SVG en ligne (stroke="currentColor") à la place du masque CSS. */
body .elementor .cdp-w.elementor-widget-icon .elementor-icon-wrapper,
body .elementor .cdp-w.elementor-widget-icon .elementor-icon {
	display: contents; color: inherit; font-size: inherit;
}
body .elementor.elementor.elementor.elementor .cdp-w.cdp-svg.icon {
	background: none; -webkit-mask: none; mask: none;
}
body .elementor .cdp-w.cdp-svg { display: inline-flex; align-items: center; justify-content: center; }
body .elementor .cdp-w.cdp-svg svg { display: block; width: 100%; height: 100%; position: static; }

/* L'attribut hidden doit gagner sur toute la feuille. */
body .elementor.elementor.elementor [hidden] { display: none !important; }

/* Une <img> en largeur relative est « compressible » : sa largeur minimale ne pousse pas
   les pistes de grille. L'enveloppe, qui porte des proportions, doit faire de même. */
body .elementor .cdp-w.elementor-widget-image { min-width: 0; }
