/* ==========================================================================
   Les Demeures de Province — ajustements responsive (Ocean Communication)
   Chargé après Elementor par mu-plugins/ldp-responsive.php, sur tout le site.
   Les feuilles 10-…, 20-… qui suivent traitent chacune un groupe de pages.

   Points de rupture (ceux d'Elementor) : mobile ≤ 767 px · tablette 768–1024 px
   · laptop 1025–1440 px · grand écran au-delà.
   Les sélecteurs commencent par « html body » : ils passent devant les réglages
   d'Elementor sans recourir à !important.
   ========================================================================== */

:root {
	/* Marge latérale minimale du contenu : 21 px en mobile → 48 px à partir de ~1440 px */
	--ldp-gouttiere: clamp(20px, 2.5vw + 12px, 48px);
}


/* --------------------------------------------------------------------------
   1. Marges latérales de toutes les sections
   Les sections sont « encadrées » à 1420 px sans marge intérieure : entre
   1025 et 1460 px le contenu touchait les bords de l'écran (logo, titres,
   images, cartes). Chaque section garde sa marge si elle est plus grande.
   Seule section pleine largeur concernée : « Les biens de l'agence » (fiche agence).
   Le hero vidéo de l'accueil (pleine largeur) n'est pas touché.
   -------------------------------------------------------------------------- */
html body .e-con.e-parent.e-con-boxed,
html body .e-con.e-parent.elementor-element-4ee1d35 {
	padding-inline-start: max(var(--padding-inline-start, 0px), var(--ldp-gouttiere));
	padding-inline-end: max(var(--padding-inline-end, 0px), var(--ldp-gouttiere));
}


/* --------------------------------------------------------------------------
   2. Cartes d'avantages des pages Maison pour seniors / primo-accédants /
   investisseurs (pages dupliquées : mêmes identifiants sur les trois).
   Structure : section c5bff24 (et cdc606f sur Seniors) > carte (bordure
   dorée) > bloc > ligne [icône | titre + texte].
   Sous 1367 px, la ligne perdait sa mise en page (marge négative de 22 px,
   colonne d'icône de 163 px, retrait de 80 px en tablette) : le texte sortait
   de la carte en mobile et chevauchait l'icône en tablette.
   -------------------------------------------------------------------------- */
@media (max-width: 1366px) {
	/* carte */
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con {
		--padding-top: 0px;
		--padding-right: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		min-width: 0;
	}
	/* bloc intérieur */
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con {
		--padding-top: 20px;
		--padding-right: 16px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		--border-right-width: 0px;
		--width: 100%;
		border-right-width: 0;
	}
	/* ligne icône + texte */
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con {
		--margin-left: 0px;
		--flex-wrap: nowrap;
		--align-items: center;
		--gap: 14px;
		--column-gap: 14px;
		--width: 100%;
	}
	/* icône */
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con > .e-con:first-child {
		--padding-top: 0px;
		--padding-right: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--width: 44px;
		flex: 0 0 44px;
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con > .e-con:first-child img {
		width: 44px;
		max-width: none;
	}
	/* titre + texte : le titre était descendu de 30 px et le texte remonté de 32 px, la colonne
	   décalée de 40 px vers la gauche ; on empile simplement les deux */
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con > .e-con:last-child {
		--width: auto;
		--margin-top: 0px;
		--margin-left: 0px;
		--justify-content: center;
		--gap: 2px;
		--row-gap: 2px;
		flex: 1 1 auto;
		min-width: 0;
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con > .e-con:last-child > .elementor-widget {
		margin: 0;
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con > .e-con > .e-con > .e-con:last-child p {
		margin: 0;
	}
}

/* Seniors : les deux rangées de cartes sont deux sections ; en tablette et mobile leurs marges
   de 80 px s'additionnaient (160 px entre les rangées). On garde l'écart des cartes. */
@media (max-width: 1024px) {
	html body .e-con.elementor-element.elementor-element-c5bff24:has(+ .elementor-element-cdc606f) {
		--padding-bottom: 20px;
	}
	html body .e-con.elementor-element.elementor-element-cdc606f {
		--padding-top: 0px;
	}
}
@media (max-width: 767px) {
	html body .e-con.elementor-element.elementor-element-c5bff24:has(+ .elementor-element-cdc606f) {
		--padding-bottom: 12px;
	}
}

/* Tablette : 3 cartes par ligne (2 s'il y en a 4), les cartes orphelines centrées */
@media (min-width: 768px) and (max-width: 1024px) {
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner {
		--flex-wrap: wrap;
		--justify-content: center;
		--gap: 20px;
		--row-gap: 20px;
		--column-gap: 20px;
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con {
		--width: calc((100% - 40px) / 3);
		flex: 0 0 calc((100% - 40px) / 3);
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner:has(> .e-con:nth-child(4):last-child) > .e-con {
		--width: calc((100% - 20px) / 2);
		flex: 0 0 calc((100% - 20px) / 2);
	}
}

/* Mobile : une carte par ligne, pleine largeur */
@media (max-width: 767px) {
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner {
		--flex-direction: column;
		--gap: 12px;
		--row-gap: 12px;
	}
	html body :is(.elementor-element-c5bff24, .elementor-element-cdc606f) > .e-con-inner > .e-con {
		--width: 100%;
	}
}


/* --------------------------------------------------------------------------
   3. Barre de devis de l'accueil (code court [ldp_formulaire_devis], widget
   81f2e7e). Son CSS d'origine est dans le widget (avec !important) : on le
   complète ici, d'où les !important.
   - 1221–1440 px : le champ Projet, aux libellés les plus longs (« Maison pour
     primo-accédants »), reçoit plus de place ; les autres restent lisibles.
   - 1220 px et moins (tablette paysage comprise) : 2 colonnes, bouton en
     dessous, au lieu de 5 colonnes tronquées (« Maison sur mesu… »).
   - Libellés des champs : 16 px, même taille que le surtitre « NORMANDIE, FRANCE »
     (retour client du 26/10/2026 ; typo Roboto 400 réglée dans le widget).
   -------------------------------------------------------------------------- */
html body .ldp-devis .ldp-devis__label {
	font-size: 1rem !important;
}
@media (min-width: 1221px) and (max-width: 1440px) {
	html body .ldp-devis .ldp-devis__bar {
		grid-template-columns: 1.3fr 1fr 1fr 1fr auto !important;
	}
}
@media (min-width: 521px) and (max-width: 1220px) {
	html body .ldp-devis .ldp-devis__bar {
		grid-template-columns: 1fr 1fr !important;
	}
	html body .ldp-devis .ldp-devis__field:nth-child(2n) {
		border-right: 0 !important;
	}
	html body .ldp-devis .ldp-devis__field:nth-child(-n+2) {
		border-bottom: 1px solid rgba(255, 255, 255, .25) !important;
	}
	html body .ldp-devis .ldp-devis__submit {
		grid-column: 1 / -1 !important;
		min-height: 56px !important;
		border-top: 1px solid rgba(255, 255, 255, .25) !important;
	}
}
/* Fenêtre « Votre projet » (29/10/2026) : le panneau est en position fixe (z-index 100001)
   mais enfermé dans le widget Shortcode (position relative, z-index 0) → le menu de
   l'en-tête (z-index 2) passait au-dessus. Le widget est remonté seulement quand la
   fenêtre est ouverte (attribut hidden retiré par devis.js). */
html body .elementor-widget:has(.ldp-devis__popup:not([hidden])) {
	z-index: 100001 !important;
}


/* --------------------------------------------------------------------------
   4. En-tête (modèle Elementor #38)
   -------------------------------------------------------------------------- */

/* 4a. Logo : 243 px de large en mobile et 380 px en tablette (plus qu'en
   desktop), l'en-tête recouvrait le haut des pages. */
@media (max-width: 767px) {
	html body .elementor-element.elementor-widget-image.elementor-element-3df245e img {
		width: 150px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	html body .elementor-element.elementor-widget-image.elementor-element-3df245e img {
		width: 190px;
	}
}
@media (min-width: 1025px) and (max-width: 1279px) {
	html body .elementor-element.elementor-widget-image.elementor-element-3df245e img {
		width: 210px;
	}
}

/* 4b. Menu burger jusqu'à 1279 px : le menu complet (8 entrées, 1026 px)
   passait sur deux lignes entre 1025 et 1439 px. */
@media (min-width: 1025px) and (max-width: 1279px) {
	html body .elementor-nav-menu--dropdown-tablet .elementor-nav-menu--main {
		display: none;
	}
	html body .elementor-nav-menu--dropdown-tablet .elementor-menu-toggle {
		display: flex;
	}
	html body .elementor-nav-menu--dropdown-tablet nav.elementor-nav-menu--dropdown {
		display: block;
	}
}
/* 1280–1439 px : menu complet un peu resserré pour tenir sur une ligne */
@media (min-width: 1280px) and (max-width: 1439px) {
	html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu .elementor-item {
		font-size: 14px;
		padding-inline: 9px;
	}
}

/* 4c. Rangée logo + burger : logo à sa taille, burger calé à droite (il était
   centré juste après le logo, à 70–300 px du bord). */
@media (max-width: 1279px) {
	html body .e-con.elementor-element.elementor-element-7c3059a9 {
		--width: auto;
		flex: 0 0 auto;
	}
	html body .e-con.elementor-element.elementor-element-6201c453 {
		--width: auto;
		--margin-left: 0px;
		--align-items: flex-end;
		flex: 1 1 auto;
	}
	html body .elementor-element.elementor-widget-nav-menu.elementor-element-b023a1c .elementor-menu-toggle {
		margin-inline-start: auto;
		margin-inline-end: -10px;   /* l'icône s'aligne sur le bord du contenu, la zone tactile reste de 44 px */
		width: 44px;
		height: 44px;
		padding: 0;
		background-color: transparent;
		color: #FFFFFF;
		--nav-menu-icon-size: 28px;
	}
	html body .elementor-element.elementor-element-b023a1c .elementor-menu-toggle svg,
	html body .elementor-element.elementor-element-b023a1c .elementor-menu-toggle .e-font-icon-svg {
		fill: #FFFFFF;
	}
	html body .elementor-element.elementor-element-b023a1c .elementor-menu-toggle:focus-visible {
		outline: 2px solid #FFFFFF;
		outline-offset: 2px;
	}
}

/* 4d. Panneau du menu mobile / tablette : aux couleurs du site (bleu marine,
   page en cours en sable) au lieu du gris anthracite par défaut d'Elementor. */
/* le panneau s'ouvre sous l'en-tête (et non 10 px sous le burger, en travers du logo) */
@media (max-width: 767px) {
	html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 32px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 42px; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
	html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { margin-top: 31px; }
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background-color: #0F559D;
	border-top: 1px solid rgba(255, 255, 255, .18);
	box-shadow: 0 28px 40px -24px rgba(6, 42, 82, .6);
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a,
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.highlighted {
	color: #FFFFFF;
	background-color: transparent;
	font: 400 16px/1.3 "Lato", sans-serif;
	padding: 15px var(--ldp-gouttiere);
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu {
	background-color: #0B4A8A;   /* sous-menu ouvert : marine un peu plus soutenu (il restait anthracite) */
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a {
	padding-inline-start: calc(var(--ldp-gouttiere) + 18px);
	font-size: 15px;
	font-weight: 300;
	background-color: transparent;
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a:hover,
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a:focus-visible {
	color: #FFFFFF;
	background-color: rgba(255, 255, 255, .08);
}
html body .elementor-element.elementor-element-b023a1c nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item-active {
	color: #E2C9A0;
	background-color: transparent;
}

/* 4g. Menu desktop : au survol, libellé en gras au lieu du trait blanc (retour client du 29/10/2026 ; pointeur
   Elementor du widget passé à « aucun »). La page en cours est aussi en gras. Une copie invisible du libellé en gras
   (assets/menu-gras.js du thème enfant) réserve la largeur : les autres entrées ne bougent pas au survol. */
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .ldp-menu-libelle {
	display: inline-grid;
	justify-items: center;
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .ldp-menu-libelle::after {
	content: attr(data-texte);
	font-weight: 700;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	user-select: none;
	pointer-events: none;
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-item:is(:hover, :focus-visible, .elementor-item-active, .highlighted) .ldp-menu-libelle {
	font-weight: 700;
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-item::before,
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-item::after {
	display: none !important;   /* plus de trait sous le libellé, même si le réglage du pointeur revenait */
}

/* 4f. Icônes des réseaux sociaux (barre du haut, desktop) : glyphe de 15 px dans
   une cible de 30 px ; on les passe à 18 px. */
html body .elementor-element.elementor-widget-social-icons.elementor-element-4565b325 {
	--icon-size: 18px;
}

/* 4e. Sous-menus du menu desktop (au survol) : même bleu que le site au lieu
   du gris anthracite, coins arrondis. */
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu--dropdown {
	background-color: #0F559D;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 18px 40px -16px rgba(6, 42, 82, .55);
	min-width: 15em;
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu--dropdown a {
	color: #FFFFFF;
	background-color: transparent;
	font: 400 15px/1.3 "Lato", sans-serif;
	padding: 13px 20px;
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu--dropdown a:hover,
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu--dropdown a:focus-visible {
	color: #FFFFFF;
	background-color: rgba(255, 255, 255, .10);
}
html body .elementor-element.elementor-element-b023a1c .elementor-nav-menu--main .elementor-nav-menu--dropdown a.elementor-item-active {
	color: #E2C9A0;
}


/* --------------------------------------------------------------------------
   5. Heros des pages intérieures et des modèles (article, bien, agence, 404),
   en mobile et tablette. L'accueil a son propre réglage (vidéo / image).
   Chaque hero remontait sous l'en-tête d'une marge fixe pensée pour l'en-tête
   desktop (−229 ou −270 px), compensée par des marges et des retraits en %
   différents d'une page à l'autre : le surtitre passait sous le logo (Contact,
   Bienvenue, Réalisations, Terrains, Carte, Bien) ou hors de l'écran (Article).
   Ici le hero démarre exactement sous l'en-tête transparent, et son texte
   commence toujours à la même distance du logo.
   -------------------------------------------------------------------------- */
:root {
	--ldp-entete: 102px;        /* hauteur de l'en-tête en mobile (mesurée) */
	--ldp-entete-air: 28px;     /* espace entre l'en-tête et le surtitre du hero */
}
@media (min-width: 768px) {
	:root {
		--ldp-entete: 122px;
		--ldp-entete-air: 48px;
	}
}
@media (max-width: 1024px) {
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child {
		--margin-top: calc(-1 * var(--ldp-entete));
		--padding-top: calc(var(--ldp-entete) + var(--ldp-entete-air));
	}
	/* blocs du hero (texte, illustration masquée en mobile…) : on retire les marges et
	   retraits de compensation, ainsi que la marge négative du premier élément de texte */
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child > .e-con-inner > .e-con,
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child > .e-con {
		--margin-top: 0px;
		--padding-top: 0px;
	}
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child > .e-con-inner > .e-con > :first-child,
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child > .e-con > :first-child {
		--margin-top: 0px;
		margin-top: 0;
	}
}
/* Mobile : le texte du hero prend toute la largeur (colonnes de 50 à 62 %,
   paragraphe de Contact sur 96 px, chapô de la fiche agence sur 146 px…) */
@media (max-width: 767px) {
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child .e-con:has(> :is(.elementor-widget-heading, .elementor-widget-text-editor)) {
		--width: 100%;
	}
	html body:not(.home) :is([data-elementor-type="wp-page"], [data-elementor-type="single-post"], [data-elementor-type="single-page"], [data-elementor-type="archive"], [data-elementor-type="error-404"]) > .e-con.e-parent:first-child :is(.elementor-widget-heading, .elementor-widget-text-editor) {
		--container-widget-width: 100%;
		max-width: 100%;
	}
}


/* --------------------------------------------------------------------------
   6. Cartes « Vos contacts par secteur » (dupliquées sur une dizaine de
   pages : projets, terrains, réalisations, agences, actualités, accueil…).
   Chaque contact est une rangée [nom + départements | bouton téléphone].
   En tablette, la colonne du bouton faisait 100 px : le numéro s'écrivait
   sur 3 à 5 lignes ; en mobile la pastille était calée à droite, 60 px sous
   le nom. Sous 1025 px, le bouton passe sous le nom, aligné à gauche, sur une
   ligne. Repérage par le lien « tel: » du bouton (la page Contact et la fiche
   agence ont leur propre mise en page, réglée dans leur feuille).
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	/* rangée d'un contact */
	html body:not(.page-id-285) [data-elementor-type="wp-page"] .e-con.e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]),
	html body .elementor-30 .e-con.elementor-element.elementor-element-40411f9,
	html body .elementor-30 .e-con.elementor-element.elementor-element-61a790c {
		--flex-direction: column;
		--flex-wrap: nowrap;
		--align-items: flex-start;
		--justify-content: flex-start;
		--gap: 8px;
		--row-gap: 8px;
		--padding-top: 12px;
		--padding-bottom: 14px;
	}
	html body:not(.page-id-285) [data-elementor-type="wp-page"] .e-con.e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) > .e-con,
	html body .elementor-30 .e-con.elementor-element.elementor-element-40411f9 > .e-con,
	html body .elementor-30 .e-con.elementor-element.elementor-element-61a790c > .e-con {
		--width: 100%;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--align-items: flex-start;
	}
	/* bouton téléphone : à sa taille, sur une ligne */
	html body:not(.page-id-285) [data-elementor-type="wp-page"] .elementor-element.elementor-widget-button:has(a[href^="tel:"]),
	html body .elementor-30 .elementor-element.elementor-widget-button.elementor-element-122f415,
	html body .elementor-30 .elementor-element.elementor-widget-button.elementor-element-ce1af46 {
		--container-widget-width: auto;
		--container-widget-flex-grow: 0;
		width: auto;
		max-width: 100%;
		align-self: flex-start;
	}
	html body:not(.page-id-285) [data-elementor-type="wp-page"] .elementor-widget-button:has(a[href^="tel:"]) .elementor-button,
	html body .elementor-30 .elementor-element-122f415 .elementor-button,
	html body .elementor-30 .elementor-element-ce1af46 .elementor-button {
		white-space: nowrap;
	}
}
/* Nom et départements : chaque paragraphe d'une ligne gardait ses marges
   (blocs de 64–88 px de haut), compensées par une marge de −58 px sur la ligne
   des départements. On empile simplement les deux lignes, à 2 px d'écart. */
html body:not(.page-id-285) [data-elementor-type="wp-page"] .e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) > .e-con,
html body .elementor-30 :is(.elementor-element-40411f9, .elementor-element-61a790c) > .e-con {
	--gap: 2px;
	--row-gap: 2px;
}
html body:not(.page-id-285) [data-elementor-type="wp-page"] .e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) .elementor-element.elementor-widget-text-editor,
html body .elementor-30 :is(.elementor-element-40411f9, .elementor-element-61a790c) .elementor-element.elementor-widget-text-editor {
	margin: 0;
}
html body:not(.page-id-285) [data-elementor-type="wp-page"] .e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) .elementor-widget-text-editor p,
html body .elementor-30 :is(.elementor-element-40411f9, .elementor-element-61a790c) .elementor-widget-text-editor p {
	margin-block: 0;
}


/* --------------------------------------------------------------------------
   7. Typographie : Lato partout (charte du site)
   - La typographie globale du kit Elementor était restée sur les réglages par
     défaut (Roboto, Roboto Slab) : titres d'articles, pagination, boutons et
     textes sans réglage propre s'affichaient en Roboto.
   - 69 widgets avaient « Roboto » réglé à la main (surtitres « - NOTRE … - »,
     libellés…), d'autres « Playfair Display » (titres d'annonces, prix,
     caractéristiques des biens, navigation des articles), « Inter » (page 404)
     ou « Kite One » (chiffres FFB / RE2020 / 100 % de l'accueil).
   Liste générée à partir du CSS Elementor du 20/10 ; un nouveau widget réglé
   en Roboto à la main ne serait pas couvert : choisir Lato dans le widget.
   -------------------------------------------------------------------------- */
html body.elementor-kit-4 {
	--e-global-typography-primary-font-family: "Lato";
	--e-global-typography-secondary-font-family: "Lato";
	--e-global-typography-text-font-family: "Lato";
	--e-global-typography-accent-font-family: "Lato";
}
html body .elementor-119 .elementor-element.elementor-element-2c48363 .elementor-button,
html body .elementor-1238 .elementor-element.elementor-element-6f9a5acf .elementor-heading-title,
html body .elementor-1238 .elementor-element.elementor-element-5a681ecd .elementor-heading-title,
html body .elementor-1238 .elementor-element.elementor-element-13cc31f2 .elementor-button,
html body .elementor-1283 .elementor-element.elementor-element-983c257 .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-1c61102 .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-41eef0d .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-74eaf25 .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-5c4a496 .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-39403f4 .elementor-heading-title,
html body .elementor-1283 .elementor-element.elementor-element-c8f8519 .elementor-heading-title,
html body .elementor-1470 .elementor-element.elementor-element-83c3cb1 .elementor-heading-title,
html body .elementor-1470 .elementor-element.elementor-element-4e6b8db .elementor-heading-title,
html body .elementor-1470 .elementor-element.elementor-element-86ab3b2 .elementor-heading-title,
html body .elementor-1470 .elementor-element.elementor-element-ef863ab .elementor-heading-title,
html body .elementor-1470 .elementor-element.elementor-element-1395644 .elementor-heading-title,
html body .elementor-1479 .elementor-element.elementor-element-83c3cb1 .elementor-heading-title,
html body .elementor-1479 .elementor-element.elementor-element-4e6b8db .elementor-heading-title,
html body .elementor-1479 .elementor-element.elementor-element-86ab3b2 .elementor-heading-title,
html body .elementor-1479 .elementor-element.elementor-element-ef863ab .elementor-heading-title,
html body .elementor-1479 .elementor-element.elementor-element-1395644 .elementor-heading-title,
html body .elementor-1492 .elementor-element.elementor-element-83c3cb1 .elementor-heading-title,
html body .elementor-1492 .elementor-element.elementor-element-4e6b8db .elementor-heading-title,
html body .elementor-1492 .elementor-element.elementor-element-c7d3e8e .elementor-heading-title,
html body .elementor-1492 .elementor-element.elementor-element-cbd20cd .elementor-heading-title,
html body .elementor-1492 .elementor-element.elementor-element-1395644 .elementor-heading-title,
html body .elementor-1908 .elementor-element.elementor-element-bf914fe .elementor-heading-title,
html body .elementor-1908 .elementor-element.elementor-element-db81b5b .elementor-heading-title,
html body .elementor-1908 .elementor-element.elementor-element-72a796a .elementor-heading-title,
html body .elementor-1908 .elementor-element.elementor-element-e8282ef .elementor-heading-title,
html body .elementor-1908 .elementor-element.elementor-element-5901099 .elementor-heading-title,
html body .elementor-191 .elementor-element.elementor-element-172dd1b .elementor-heading-title,
html body .elementor-191 .elementor-element.elementor-element-7f00ce6f .elementor-icon-list-text,
html body .elementor-191 .elementor-element.elementor-element-e711153 .ldp-simu__static,
html body .elementor-191 .elementor-element.elementor-element-e711153 .ldp-simu__result-value output,
html body .elementor-191 .elementor-element.elementor-element-e711153 .ldp-simu__rate strong,
html body .elementor-191 .elementor-element.elementor-element-fed9732 .elementor-widget-heading:nth-child(2) .elementor-heading-title,
html body .elementor-1914 .elementor-element.elementor-element-bf914fe .elementor-heading-title,
html body .elementor-1914 .elementor-element.elementor-element-db81b5b .elementor-heading-title,
html body .elementor-1914 .elementor-element.elementor-element-5901099 .elementor-heading-title,
html body .elementor-262 .elementor-element.elementor-element-effff4f .elementor-heading-title,
html body .elementor-262 .elementor-element.elementor-element-95ace9b .elementor-heading-title,
html body .elementor-285 .elementor-element.elementor-element-963460d .elementor-heading-title,
html body .elementor-285 .elementor-element.elementor-element-f44f3da .elementor-heading-title,
html body .elementor-285 .elementor-element.elementor-element-08ecc3b .elementor-heading-title,
html body .elementor-285 .elementor-element.elementor-element-dd317e8 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-76ad396 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-6ce2b4c .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-c41bf45 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-26e43a6 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-5a06e54 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-4187fba .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-e1c2765 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-ce36df7 .elementor-post__title a,
html body .elementor-30 .elementor-element.elementor-element-f5ff425 .elementor-post__title,
html body .elementor-30 .elementor-element.elementor-element-f5ff425 .elementor-post__title a,
html body .elementor-311 .elementor-element.elementor-element-9d3d7b4 .elementor-heading-title,
html body .elementor-311 .elementor-element.elementor-element-c22b742 .elementor-heading-title,
html body .elementor-311 .elementor-element.elementor-element-2b6a62e .ldp-card__title,
html body .elementor-311 .elementor-element.elementor-element-2b6a62e .ldp-card__price,
html body .elementor-366 .elementor-element.elementor-element-0551b3b .elementor-heading-title,
html body .elementor-366 .elementor-element.elementor-element-1fcbc15 .elementor-heading-title,
html body .elementor-381 .elementor-element.elementor-element-19d3304 .elementor-heading-title,
html body .elementor-381 .elementor-element.elementor-element-9d8cd11 .elementor-heading-title,
html body .elementor-381 .elementor-element.elementor-element-2734718 .ldp-carte__heading,
html body .elementor-440 .elementor-element.elementor-element-83c3cb1 .elementor-heading-title,
html body .elementor-440 .elementor-element.elementor-element-4e6b8db .elementor-heading-title,
html body .elementor-440 .elementor-element.elementor-element-86ab3b2 .elementor-heading-title,
html body .elementor-440 .elementor-element.elementor-element-ef863ab .elementor-heading-title,
html body .elementor-440 .elementor-element.elementor-element-1395644 .elementor-heading-title,
html body .elementor-517 .elementor-element.elementor-element-9abc74b .elementor-heading-title,
html body .elementor-517 .elementor-element.elementor-element-63a7a8e .post-navigation__prev--title,
html body .elementor-517 .elementor-element.elementor-element-63a7a8e .post-navigation__next--title,
html body .elementor-517 .elementor-element.elementor-element-f9f25ca a.elementor-toc__list-item-text::before,
html body .elementor-528 .elementor-element.elementor-element-7e728ab .elementor-heading-title,
html body .elementor-528 .elementor-element.elementor-element-9d6d6bb .elementor-heading-title,
html body .elementor-528 .elementor-element.elementor-element-890da24 .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-bf914fe .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-b5e7491 .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-ab48205 .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-d0413ec .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-cba6547 .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-db81b5b .elementor-heading-title,
html body .elementor-634 .elementor-element.elementor-element-5901099 .elementor-heading-title,
html body .elementor-979 .elementor-element.elementor-element-258a287 .elementor-heading-title,
html body .elementor-979 .elementor-element.elementor-element-4122425 .elementor-heading-title {
	font-family: "Lato", sans-serif !important;
}
/* chiffres de « Notre histoire » (accueil) : Lato fin italique, comme les chiffres de Bienvenue (1979, 4000+…) */
html body .elementor-30 .elementor-element.elementor-element-d5405b5 .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-f2b653c .elementor-heading-title,
html body .elementor-30 .elementor-element.elementor-element-2f4ac9c .elementor-heading-title {
	font-family: "Lato", sans-serif !important;
	font-weight: 300 !important;
	font-style: italic !important;
}
/* Composants hors Elementor (extension ldp-immobilier : carte, popups, barre de
   devis ; widgets HTML : curseur croquis/maison, popup « Vos contacts par
   secteur » de l'accueil) : police système, Arial ou Playfair → Lato. */
html body :is(.ldp-carte, .ldp-popup, .ldp-devis, .ldp-simu) :is(button, select, input, textarea, option, h2, h3, h4, p, span, a, label, small, strong, output),
html body :is(.ldp-popup__title, .ldp-popup__close, .post-navigation__prev--label, .post-navigation__next--label, .ldp-carte__reset, .ldp-carte__prev, .ldp-carte__next, .ddp-tag, .ddp-caption, .popup-title, .popup-close-btn, .contact-name, .contact-departements, .contact-phone) {
	font-family: "Lato", sans-serif !important;
}

/* 6b. Pages projets (sur-mesure, seniors, primo, investisseurs : section 53deca5,
   texte | carte de contacts) : en tablette portrait la carte faisait 303 px à
   côté du texte et « Demander mon étude gratuite » passait sur 2 lignes. La carte
   passe sous le texte. */
@media (min-width: 768px) and (max-width: 900px) {
	html body .e-con.elementor-element.elementor-element-53deca5 {
		--flex-direction: column;
		--align-items: flex-start;
		--gap: 32px;
		--row-gap: 32px;
	}
	html body .e-con.elementor-element.elementor-element-53deca5 > .e-con {
		--width: 100%;
		max-width: 560px;
	}
}

/* --------------------------------------------------------------------------
   9. Textes en noir sur fond blanc (retour client du 27/10/2026 : « du noir pour
   toutes les écritures sur fond blanc »). Les blocs de l'extension ldp-immobilier
   (carte des biens, biens d'une agence, simulateur, DPE, récapitulatif du devis)
   ont leurs propres gris (#454545, #6B7684) : on les surcharge ici, sans toucher
   à l'extension. Les bordures grises restent.
   -------------------------------------------------------------------------- */
html body .ldp-carte,
html body .ldp-agence-biens {
	--ldp-color-text: #000000;
	--ldp-color-muted: #000000;
}
html body .ldp-simu {
	--ldp-simu-text: #000000;
	--ldp-simu-muted: #000000;
}
html body .ldp-energy-scale__value,
html body .ldp-devis__placeholder {
	color: #000000;
}
