/* ==========================================================================
   Les Demeures de Province — ajustements responsive (Ocean Communication)
   60-passe-mobile-20261103.css : passe mobile du 03/11/2026 (retour client :
   « des espacements trop importants, des encadrés manquants »).
   Chargé en dernier par mu-plugins/ldp-responsive.php.

   Méthode : chaque page publiée capturée en 1440 et 390 px, section par
   section, et comparée à l'ordinateur ; les écarts ont été mesurés sur les
   styles calculés. Sauf mention contraire, tout est sous 768 px : la version
   ordinateur et la tablette ne bougent pas.
   Causes qui reviennent :
   - réglages mobiles d'Elementor (retrait haut de 40 px, marges négatives
     remises à 0) qui s'ajoutent aux marges de section ;
   - séparateurs de colonnes (bordure d'un seul côté) conservés une fois les
     colonnes empilées, ou cases d'une grille à traits partagés qui perdent
     leur cadre ;
   - restes de maquette collés dans des widgets texte : <div> vides
     (« .contact-card », « .hero-actions », « .path », « .info-card »…) qui
     contiennent un espace insécable et ajoutent une ligne vide de 24 px
     (masqués seulement s'ils n'ont aucun élément enfant : « .path » porte
     aussi le texte des cartes de Sur mesure) ;
   - marge basse du dernier paragraphe (24 px) avant un bouton ou une carte.
   Même convention que les autres feuilles : « html body .elementor-<page>
   .elementor-element.elementor-element-<id> » (0,3,2), plus fort que la règle
   d'Elementor (0,3,0).
   ========================================================================== */


/* ==========================================================================
   1. BLOCS COMMUNS
   ========================================================================== */

/* --------------------------------------------------------------------------
   1a. Bloc « Votre projet / Près de chez vous » + carte « Vos contacts par
   secteur » (copié sur 15 pages). Rangée [colonne texte | colonne carte] :
   en mobile, 70 à 109 px de vide entre le texte et la carte bleue (marge du
   dernier paragraphe, <div class="contact-card"> vide, retraits de 10 px des
   deux colonnes et de leur enfant, écart de 20 px). Le texte était aussi en
   retrait de 20 px sur la carte (x 42 contre x 22).
   Rangées : accueil dd35652 · actualités 18288c2 · projets 53deca5 ·
   votre projet / agrandissement / agences 9a4bdeb · réalisations 1b0acb7 ·
   fiches réalisation 65d4ae0 · terrains 832968f.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	html body .e-con.elementor-element:is(.elementor-element-dd35652, .elementor-element-18288c2, .elementor-element-53deca5, .elementor-element-9a4bdeb, .elementor-element-1b0acb7, .elementor-element-65d4ae0, .elementor-element-832968f) {
		--gap: 28px;
		--row-gap: 28px;
	}
	/* colonne texte et son conteneur */
	html body .e-con.elementor-element:is(.elementor-element-620c151, .elementor-element-f04256f, .elementor-element-8ce2d4c, .elementor-element-abc918b, .elementor-element-7c5f5ad, .elementor-element-991c4b2, .elementor-element-d4df9fa, .elementor-element-6f00212, .elementor-element-0265d98, .elementor-element-cad5a06, .elementor-element-ad7b828, .elementor-element-d258a1a, .elementor-element-3b40ea3) {
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	/* colonne de la carte (sur les pages projets, 0c5ef75 est la carte elle-même : non visée) */
	html body .e-con.elementor-element:is(.elementor-element-c7d6280, .elementor-element-408e475, .elementor-element-bbc430c, .elementor-element-25bf22f, .elementor-element-f75a967, .elementor-element-bec6567) {
		--padding-top: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	/* texte : <div> vide et marge du dernier paragraphe ; largeur de 85 % sur Seniors et Sur mesure */
	html body .elementor-element:is(.elementor-element-e31f3cc, .elementor-element-002514d, .elementor-element-e4dea99, .elementor-element-2011f15, .elementor-element-2a49eb1, .elementor-element-2482e80, .elementor-element-bf9a7e0) .contact-card:not(:has(*)) {
		display: none;
	}
	html body .elementor-element:is(.elementor-element-e31f3cc, .elementor-element-002514d, .elementor-element-e4dea99, .elementor-element-2011f15, .elementor-element-2a49eb1, .elementor-element-2482e80, .elementor-element-bf9a7e0) p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-element.elementor-widget.elementor-element-e4dea99 {
		--container-widget-width: 100%;
		width: 100%;
		max-width: 100%;
	}
}

/* --------------------------------------------------------------------------
   1b. Pied de page (modèle 170) : double trait sous « INFOS » (bordure de la
   dernière colonne en accordéon + bordure haute de la barre du copyright).
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	html body .ldp-pied-accordeon .ldp-pied-col.elementor-element-9c62560 {
		border-bottom: 0;
	}
}


/* ==========================================================================
   2. ACCUEIL (post 30)
   ========================================================================== */

/* 2a. « Votre constructeur de maisons » (4d0d90f) : 105 px entre le texte et
   les boutons, boutons calés à droite sous un texte aligné à gauche (en
   ordinateur ils sont à droite du texte, sur la même ligne). Surtitre à 34 px
   du titre (14 px en ordinateur : marge de −24 px perdue en mobile). */
@media (max-width: 767px) {
	html body .elementor-30 .e-con.elementor-element.elementor-element-e1d47bf {
		--gap: 20px;
		--row-gap: 20px;
	}
	html body .elementor-30 .e-con.elementor-element:is(.elementor-element-2bbc0e6, .elementor-element-d2dc896) {
		--padding-top: 0px;
		--align-items: flex-start;
		--justify-content: flex-start;
	}
	/* boutons au bord gauche du texte (x 32) */
	html body .elementor-30 .e-con.elementor-element.elementor-element-d2dc896 {
		--padding-left: 0px;
	}
	html body .elementor-30 .elementor-element:is(.elementor-element-bfd8cbc, .elementor-element-362638b) {
		align-self: flex-start;
	}
	html body .elementor-30 .elementor-element.elementor-element-578c7bd p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-30 .elementor-element.elementor-element-6b97cab {
		margin-top: -12px;
	}
}

/* 2b. « Bâtir votre maison comme la nôtre » : FFB / RE2020 / 100 % (8f91719,
   7293564, cdb8641) gardaient le séparateur vertical des 3 colonnes une fois
   empilés (trait isolé au bord droit), avec 48 px de vide entre deux chiffres.
   → filet horizontal entre les chiffres. Puis 80 px entre « Notre histoire » et
   le curseur croquis / maison (724eaad). */
@media (max-width: 767px) {
	html body .elementor-30 .e-con.elementor-element:is(.elementor-element-8f91719, .elementor-element-7293564) {
		border-width: 0 0 1px 0;
		border-style: solid;
		border-color: rgba(255, 255, 255, .2);
	}
	html body .elementor-30 .e-con.elementor-element:is(.elementor-element-8f91719, .elementor-element-7293564, .elementor-element-cdb8641) {
		--padding-top: 14px;
		--padding-bottom: 14px;
	}
	html body .elementor-30 .elementor-element:is(.elementor-element-f54bf71, .elementor-element-5dfe677, .elementor-element-6cbde18) p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-30 .e-con.elementor-element.elementor-element-724eaad {
		--gap: 24px;
		--row-gap: 24px;
	}
	html body .elementor-30 .e-con.elementor-element.elementor-element-639412c {
		--padding-bottom: 0px;
	}
	/* « Notre histoire » sous « Demander un devis » : même bord gauche (le texte du lien était décalé de 24 px) */
	html body .elementor-30 .elementor-element.elementor-element-45713eb .elementor-button {
		padding-left: 0;
	}
}

/* 2c. Curseur croquis / maison (9a3e730) : dans son conteneur flex (f26f20d),
   le widget était ramené à 172 px pour une image de 195 px ; la légende
   « Glissez pour voir le projet prendre forme. » passait sous la section
   suivante. Le conteneur n'a qu'un widget : affichage en bloc. */
@media (max-width: 767px) {
	html body .elementor-30 .e-con.elementor-element.elementor-element-f26f20d {
		--display: block;
		display: block;
	}
}

/* 2d. Photos « Nos réalisations » : 60 px sous la dernière photo (12 au-dessus). */
@media (max-width: 767px) {
	html body .elementor-30 .e-con.elementor-element.elementor-element-8d277e7 {
		--padding-bottom: 0px;
	}
}

/* 2e. Cartes « Construire » / « Agrandir » (463abaf, 0a32e5c) : bouton à 10 px
   du bas de la carte (36 px en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-30 .e-con.elementor-element:is(.elementor-element-463abaf, .elementor-element-0a32e5c) {
		--padding-bottom: 24px;
	}
}

/* 2f. « Notre journal » : surtitre à 67 px du haut de la section (marge de 24 px). */
@media (max-width: 767px) {
	html body .elementor-30 .elementor-element.elementor-element-4187fba {
		margin-top: 0;
	}
}


/* ==========================================================================
   3. BIENVENUE CHEZ NOUS (post 1283)
   ========================================================================== */

/* 3a. Chiffres du hero (9f3378f : 1979 / 4 000+ / 4 / ~30) : 4 colonnes
   séparées par un trait en ordinateur ; une fois empilés, trois traits
   verticaux isolés au bord droit et 411 px de haut. → grille 2 × 2, trait
   entre les deux colonnes. */
@media (max-width: 767px) {
	html body .elementor-1283 .e-con.elementor-element.elementor-element-9f3378f {
		--flex-direction: row;
		--flex-wrap: wrap;
		--gap: 0px;
		--row-gap: 0px;
		--column-gap: 0px;
	}
	html body .elementor-1283 .e-con.elementor-element:is(.elementor-element-5f2af13, .elementor-element-912c3aa, .elementor-element-e62e015, .elementor-element-3f76d80) {
		--width: 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	html body .elementor-1283 .e-con.elementor-element:is(.elementor-element-912c3aa, .elementor-element-3f76d80) {
		border-right-width: 0;
		--padding-left: 20px;
	}
}

/* 3b. Cartes équipe : nom et rôle sur la même ligne en ordinateur ; en mobile,
   rôle sous le nom pour deux cartes, poussé à droite pour les deux autres.
   → rôle sous le nom partout. */
@media (max-width: 767px) {
	html body .elementor-1283 .e-con.elementor-element:is(.elementor-element-ed12b15, .elementor-element-843f966, .elementor-element-2703c22, .elementor-element-5ab8601) {
		--flex-direction: column;
		--align-items: flex-start;
		--justify-content: flex-start;
		--gap: 4px;
		--row-gap: 4px;
	}
}

/* 3c. « Notre histoire » (7ca5e15) : texte justifié sur 327 px (grands trous
   entre les mots) → aligné à gauche en mobile. */
@media (max-width: 767px) {
	html body .elementor-1283 .elementor-element.elementor-element-7ca5e15 {
		text-align: left;
	}
	html body .elementor-1283 .elementor-element.elementor-element-7ca5e15 :is(p, div) {
		text-align: left;
	}
}

/* 3d. « Les garanties » (5cdcfd80) : grille 3 × 2 à traits partagés en
   ordinateur (la case du milieu n'a que ses traits haut et bas). Empilées en
   mobile, « Délais respectés » et « Bon fonctionnement » n'avaient plus de
   cadre, « Parfait achèvement » était ouverte en haut. → chaque case a son
   cadre, 12 px entre deux cases. Dans chaque case, 72 px de vide entre le
   titre et le texte (marge de −52 px du texte perdue en mobile, 20 px en
   ordinateur) et texte à 11 px du cadre. */
@media (max-width: 767px) {
	html body .elementor-1283 .e-con.elementor-element:is(.elementor-element-21249821, .elementor-element-168b51ad, .elementor-element-0ae4500) {
		--gap: 12px;
		--row-gap: 12px;
	}
	html body .elementor-1283 .e-con.elementor-element:is(.elementor-element-6f751b0c, .elementor-element-3162908, .elementor-element-242b512, .elementor-element-0ad26fa, .elementor-element-88aeee9, .elementor-element-1a00842) {
		border: 1px solid rgba(255, 255, 255, .25);
		--padding-top: 20px;
		--padding-bottom: 20px;
		--padding-left: 16px;
		--padding-right: 16px;
	}
	html body .elementor-1283 .elementor-element:is(.elementor-element-380a03c, .elementor-element-e063fc3, .elementor-element-b212342, .elementor-element-02680e7, .elementor-element-cbdcc72, .elementor-element-f807865) {
		margin-top: -52px;
	}
	/* même retrait en haut (icône) et en bas (texte) de la case */
	html body .elementor-1283 .elementor-element:is(.elementor-element-380a03c, .elementor-element-e063fc3, .elementor-element-b212342, .elementor-element-02680e7, .elementor-element-cbdcc72, .elementor-element-f807865) p:last-of-type {
		margin-bottom: 0;
	}
}


/* ==========================================================================
   4. VOTRE PROJET (1908), VOTRE AGRANDISSEMENT (634), NOS AGENCES (1914)
   Pages dupliquées : mêmes identifiants, chaque règle vise sa page.
   ========================================================================== */

/* 4a. Haut de la 2e section (e8f66d7) : retrait de 40 px réglé en mobile en
   plus des 40 px de la section (80 px avant le surtitre, 50 en ordinateur).
   Intro (f8e1614) : <div> vides de maquette (« .agencies-grid », « .projects »)
   et marge du dernier paragraphe avant les cartes. */
@media (max-width: 767px) {
	html body :is(.elementor-1908, .elementor-634, .elementor-1914) .e-con.elementor-element.elementor-element-e8f66d7 {
		--padding-top: 0px;
	}
	html body :is(.elementor-1908, .elementor-634, .elementor-1914) .elementor-element.elementor-element-f8e1614 :is(.agencies-grid, .projects, .contact-card):not(:has(*)) {
		display: none;
	}
	html body :is(.elementor-1908, .elementor-634, .elementor-1914) .elementor-element.elementor-element-f8e1614 p:last-of-type {
		margin-bottom: 0;
	}
}

/* 4b. Votre projet — cartes des projets (68705c1) : 102 px entre l'intro et
   la 1re carte (retrait haut de 40 px réglé en mobile). */
@media (max-width: 767px) {
	html body .elementor-1908 .e-con.elementor-element.elementor-element-68705c1 {
		--padding-top: 0px;
	}
	/* carte investisseurs : retour à la ligne forcé (« pensé / pour la location ») */
	html body .elementor-1908 .elementor-element.elementor-element-bd160c5 br {
		display: none;
	}
}

/* 4c. Votre projet — « Trouvez votre projet » : rangées de 151 px (61 en
   ordinateur), 43 px entre la question et son bouton, bouton calé à droite. */
@media (max-width: 767px) {
	html body .elementor-1908 .e-con.elementor-element:is(.elementor-element-5c14014, .elementor-element-6062fa1, .elementor-element-82d1826, .elementor-element-f5611b1) {
		--gap: 4px;
		--row-gap: 4px;
	}
	html body .elementor-1908 .e-con.elementor-element:is(.elementor-element-739da6b, .elementor-element-eaaf6d9, .elementor-element-a2991a7, .elementor-element-df9b6b5) {
		--padding-top: 0px;
		--align-items: flex-start;
		--justify-content: flex-start;
	}
	html body .elementor-1908 .elementor-element:is(.elementor-element-b2090ee, .elementor-element-20ccf70, .elementor-element-a3741ed, .elementor-element-195aee4) {
		align-self: flex-start;
	}
	/* « Et aussi » : texte à 11 px du bord des cartes (20 px en ordinateur) */
	html body .elementor-1908 .e-con.elementor-element:is(.elementor-element-9da5ea6, .elementor-element-d936bbd, .elementor-element-7e92934) {
		--padding-top: 20px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		--padding-right: 20px;
	}
}

/* 4d. Votre agrandissement — hero : colonne droite vide (9ca1910, place du
   croquis en ordinateur) qui ajoutait 20 px sous les boutons. Même chose sur
   Votre projet. */
@media (max-width: 767px) {
	html body :is(.elementor-1908, .elementor-634) .e-con.elementor-element.elementor-element-9ca1910 {
		display: none;
	}
}

/* 4e. Votre agrandissement — « Vos besoins » : texte à 11 px du bord des
   cartes blanches (20 px en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-634 .e-con.elementor-element:is(.elementor-element-19bf2c7, .elementor-element-fb06611, .elementor-element-00075e5, .elementor-element-f619406, .elementor-element-21b0634) {
		--padding-top: 20px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		--padding-right: 20px;
	}
}

/* 4f. Votre agrandissement — « Les avantages » : icône à gauche du texte en
   ordinateur, au-dessus en mobile (cartes de 112 à 136 px au lieu de 78) ;
   cartes 40 px plus étroites que le titre (retraits imbriqués), 61 px sous la
   dernière. */
@media (max-width: 767px) {
	html body .elementor-634 .elementor-element:is(.elementor-element-7ebc2d8, .elementor-element-86e748e, .elementor-element-a73c1b0, .elementor-element-f4fceeb, .elementor-element-e408976, .elementor-element-21c2634) .elementor-icon-box-wrapper {
		display: flex;
		flex-direction: row;
		align-items: center !important;   /* Elementor remet « normal » selon la position de l'icône */
		gap: 11px;
		text-align: start;
	}
	html body .elementor-634 .elementor-element:is(.elementor-element-7ebc2d8, .elementor-element-86e748e, .elementor-element-a73c1b0, .elementor-element-f4fceeb, .elementor-element-e408976, .elementor-element-21c2634) .elementor-icon-box-title {
		margin: 0;
	}
	html body .elementor-634 .elementor-element:is(.elementor-element-7ebc2d8, .elementor-element-86e748e, .elementor-element-a73c1b0, .elementor-element-f4fceeb, .elementor-element-e408976, .elementor-element-21c2634) .elementor-icon-box-icon {
		margin: 0;
		flex: 0 0 auto;
	}
	html body .elementor-634 .e-con.elementor-element:is(.elementor-element-5aa300b, .elementor-element-014ca60, .elementor-element-2b0f55e, .elementor-element-8e8019d, .elementor-element-21c0634, .elementor-element-d0f646a) {
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-634 .e-con.elementor-element:is(.elementor-element-5aa300b, .elementor-element-014ca60, .elementor-element-2b0f55e, .elementor-element-8e8019d, .elementor-element-21c0634) {
		--padding-bottom: 0px;
	}
}

/* 4g. Votre agrandissement — frise des étapes (.ldp-steps, widget 5c374d6) :
   en colonne, le trait vertical descendait ~45 px sous le rond 05. Il relie
   désormais les ronds, du 01 au 05. */
@media (max-width: 1000px) {
	html body .elementor-634 .elementor-element.elementor-element-5c374d6 .ldp-steps::before {
		display: none;
	}
	html body .elementor-634 .elementor-element.elementor-element-5c374d6 .ldp-steps li:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 27px;
		top: 56px;
		bottom: 0;
		width: 1px;
		background: rgba(255, 255, 255, .3);
	}
}

/* 4h. Votre agrandissement — « Découvrir nos réalisations » (a712011) : bouton
   étiré (CSS du widget : largeur 100 %, flèche au bord droit), libellé sur
   2 lignes, 88 px au-dessus et 84 px en dessous. En ordinateur, lien sur une
   ligne à 50 px des photos. */
@media (max-width: 767px) {
	html body .elementor-634 .elementor-element.elementor-element-a712011 .elementor-button {
		width: auto;
		justify-content: flex-start;
		padding-left: 0;
		padding-right: 0;
		white-space: nowrap;
		letter-spacing: .5px;
	}
	html body .elementor-634 .elementor-element.elementor-element-a712011 .elementor-button::after {
		margin-left: 12px;
		padding-left: 0;
	}
	html body .elementor-634 .e-con.elementor-element.elementor-element-b4dbc22 {
		--padding-bottom: 0px;
	}
	html body .elementor-634 .e-con.elementor-element.elementor-element-c7e26f6 {
		--padding-top: 0px;
		--justify-content: flex-start;
		--align-items: flex-start;
	}
	html body .elementor-634 .e-con.elementor-element.elementor-element-68705c1 {
		--padding-top: 24px;
	}
	/* texte, lien et photos au bord gauche du titre (x 22 ; ils étaient à x 32 et le lien calé à droite) */
	html body .elementor-634 .e-con.elementor-element:is(.elementor-element-b4dbc22, .elementor-element-c7e26f6, .elementor-element-76c3480, .elementor-element-ac92a6c, .elementor-element-7c41f07) {
		--padding-left: 0px;
		--padding-right: 0px;
	}
}

/* 4i. Nos agences — en-tête des 4 cartes : pastille du département à gauche
   du nom de l'agence en ordinateur (132 px) ; en mobile, pastille étirée sur
   toute la largeur, nom dessous (+81 px par carte). Rubriques Adresse /
   Horaires / Téléphone / Conseiller espacées de 40 à 45 px une fois empilées. */
@media (max-width: 767px) {
	html body .elementor-1914 .e-con.elementor-element:is(.elementor-element-157f6f7, .elementor-element-63db284, .elementor-element-1a8202f, .elementor-element-5547abb) {
		--flex-direction: row;
		--flex-wrap: nowrap;
		--align-items: center;
	}
	html body .elementor-1914 .elementor-element:is(.elementor-element-6ae68b0, .elementor-element-c6f2f64, .elementor-element-7bfcb25, .elementor-element-ee8e857) {
		--width: 112px;
		flex: 0 0 112px;
	}
	html body .elementor-1914 .elementor-element:is(.elementor-element-1bb004d, .elementor-element-35b5d74, .elementor-element-666f804, .elementor-element-1399fe3) {
		--width: auto;
		flex: 1 1 0;
		min-width: 0;
	}
	html body .elementor-1914 .e-con.elementor-element:is(.elementor-element-7c22bdd, .elementor-element-aa113ff, .elementor-element-f3e5209, .elementor-element-b66d472, .elementor-element-9ba9d96, .elementor-element-59d0e78, .elementor-element-f07c1a8, .elementor-element-fef6db2) {
		--gap: 4px;
		--row-gap: 4px;
	}
	html body .elementor-1914 .e-con.elementor-element:is(.elementor-element-96c9873, .elementor-element-881f407, .elementor-element-80742ae, .elementor-element-3377613, .elementor-element-5b4cf43, .elementor-element-c4f2926, .elementor-element-cb147ab, .elementor-element-f946c00, .elementor-element-acd035d, .elementor-element-197b7e2, .elementor-element-d91afa1, .elementor-element-e3355f8, .elementor-element-df183dc, .elementor-element-8eb2400, .elementor-element-437e919, .elementor-element-110c3b0) {
		--padding-top: 6px;
		--padding-bottom: 6px;
	}
}


/* ==========================================================================
   5. PAGES PROJETS : PRIMO-ACCÉDANTS (1470), SENIORS (1479),
      INVESTISSEURS (440), SUR MESURE (1492)
   ========================================================================== */

/* 5a. Hero : colonne droite vide (07bb355, place du croquis en ordinateur),
   20 px de trop sous le bouton ; sur Seniors, <div class="hero-actions"> vide
   dans le texte (8d2c96a). */
@media (max-width: 767px) {
	html body :is(.elementor-1470, .elementor-1479, .elementor-440) .e-con.elementor-element.elementor-element-07bb355 {
		display: none;
	}
	html body .elementor-1479 .elementor-element.elementor-element-8d2c96a .hero-actions:not(:has(*)) {
		display: none;
	}
}

/* 5b. « Le modèle » : les deux listes (e2a6339, 300d116) forment une seule
   liste en mobile, mais 62 px séparaient la 4e et la 5e puce (30 px ailleurs). */
@media (max-width: 767px) {
	html body :is(.elementor-1470, .elementor-1479, .elementor-440) .e-con.elementor-element.elementor-element-7198b79 {
		--gap: 0px;
		--row-gap: 0px;
	}
	html body :is(.elementor-1470, .elementor-1479, .elementor-440) .e-con.elementor-element.elementor-element-e2a6339 {
		--padding-bottom: 0px;
	}
}

/* 5c. « Maison évolutive / Bien vivre / Investir » (6fc5bd6) et « Prestations
   incluses » (08ef921) : retrait haut de 40 px réglé en mobile en plus des
   40 px de la section (80 px avant le surtitre, 50 en ordinateur). */
@media (max-width: 767px) {
	html body :is(.elementor-1470, .elementor-1479, .elementor-440) .e-con.elementor-element:is(.elementor-element-6fc5bd6, .elementor-element-08ef921) {
		--padding-top: 0px;
	}
}

/* 5d. Sur mesure — intro « Des solutions pensées… » (149e946) en retrait de
   10 px sur les cartes ; dans les cartes (729ce94), 45 px entre l'icône et le
   titre (30 en ordinateur : marge de −15 px perdue en mobile). */
@media (max-width: 767px) {
	html body .elementor-1492 .e-con.elementor-element.elementor-element-149e946 {
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-1492 .elementor-element:is(.elementor-element-fc374b7, .elementor-element-75a5929, .elementor-element-7fbbc72, .elementor-element-5229a3c) {
		margin-top: -15px;
	}
}

/* 5e. Sur mesure — « Le modèle » : les deux photos à la même hauteur (318 et
   260 px en mobile, 329 px toutes deux en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-1492 .elementor-element:is(.elementor-element-6ae6046, .elementor-element-25a5050) img {
		width: 100%;
		height: 260px;
		object-fit: cover;
	}
}

/* 5f. Sur mesure — « Notre accompagnement » (67924bc) : dans les deux cartes,
   48 px entre l'accroche et le texte (19 en ordinateur : marge de −58 px
   perdue en mobile) et <div class="path"> vide en bas de carte ; 52 px entre
   les cartes et le paragraphe 03f3f05 (33 en ordinateur), 61 px avant le
   curseur ; trois bords gauches différents (x 22, 32 et 42). */
@media (max-width: 767px) {
	html body .elementor-1492 .elementor-element:is(.elementor-element-d17dacd, .elementor-element-cec84dc) {
		margin-top: -30px;
	}
	html body .elementor-1492 .elementor-element:is(.elementor-element-d17dacd, .elementor-element-cec84dc) .path:not(:has(*)) {
		display: none;
	}
	html body .elementor-1492 .elementor-element.elementor-element-03f3f05 {
		margin-top: -20px;
	}
	html body .elementor-1492 .e-con.elementor-element.elementor-element-f3932da {
		--gap: 28px;
		--row-gap: 28px;
	}
	html body .elementor-1492 .e-con.elementor-element:is(.elementor-element-6debc90, .elementor-element-97c2ff2) {
		--padding-left: 0px;
		--padding-right: 0px;
	}
}


/* ==========================================================================
   6. VOTRE TERRAIN (post 661)
   ========================================================================== */

/* 6a. « Votre projet commence par le bon terrain » (51fd6e9) : en ordinateur,
   l'intro (8b727d4, à droite) se lit avant l'appel « À la recherche de votre
   terrain ? » (3ace988, à gauche, sous une photo). Empilé en mobile : photo →
   appel → intro → la même photo une 2e fois. → intro, photo, puis l'appel ;
   la photo en double (fb2f930) est masquée en mobile. */
@media (max-width: 767px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-8b727d4 {
		order: -1;
		--padding-top: 0px;
	}
	html body .elementor-661 .elementor-element.elementor-element-fb2f930 {
		display: none;
	}
	html body .elementor-661 .e-con.elementor-element.elementor-element-3ace988 {
		--margin-top: 32px;
		margin-top: 32px;
	}
}

/* 6b. Carrousel « Avant d'acheter votre terrain » (2ecb49f) : retrait haut de
   40 px dans chaque carte en mobile (0 en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-661 .elementor-element.elementor-element-2ecb49f .swiper-slide > .e-con > .e-con-inner > .e-con.elementor-element {
		--padding-top: 0px;
	}
}

/* 6c. « Lotissement ou terrain diffus ? » : photo (caa3dda) à hauteur fixe de
   386 px, recadrée en portrait sur 347 px. */
@media (max-width: 767px) {
	html body .elementor-661 .elementor-element.elementor-element-caa3dda img {
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
}

/* 6d. « De la promesse à l'acte de vente » : ~70 px entre le texte (f907b79)
   et le lien « Achat immobilier… » ; flèche du lien détachée au bord droit.
   « Un terrain, une maison, un projet » : 63 px avant le lien (ac873e0). */
@media (max-width: 767px) {
	html body .elementor-661 .elementor-element:is(.elementor-element-f907b79, .elementor-element-ac873e0, .elementor-element-0230d1f) p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-661 .elementor-element.elementor-element-54ad949 .elementor-button-content-wrapper {
		justify-content: center;
		gap: 8px;
	}
	html body .elementor-661 .elementor-element.elementor-element-54ad949 .elementor-button-text {
		flex: 0 1 auto;
		line-height: 1.4;
	}
}


/* ==========================================================================
   7. ESTIMATION BUDGÉTAIRE (979), ACTUALITÉS (262), ARTICLE (modèle 517)
   ========================================================================== */

/* 7a. Estimation — hero : 88 px sous le texte (45 en ordinateur) ; surtitre
   collé au titre (12 px en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-979 .elementor-element.elementor-element-f2bafe1 {
		padding-bottom: 0;
	}
	html body .elementor-979 .elementor-element.elementor-element-f2bafe1 p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-979 .elementor-element.elementor-element-72cc2c0c {
		margin-top: 8px;
	}
}

/* 7b. Actualités — hero : 68 px sous le texte (28 en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-262 .elementor-element.elementor-element-acdb7cd p:last-of-type {
		margin-bottom: 0;
	}
}

/* 7c. Article — 101 px entre la fin du texte et le sommaire : navigation
   précédent / suivant (63a7a8e) vide mais affichée (un seul article publié) ;
   surtitre collé au titre (16 px en ordinateur). */
@media (max-width: 767px) {
	html body .elementor-517 .elementor-element.elementor-element-63a7a8e:not(:has(a)) {
		display: none;
	}
	html body .elementor-517 .e-con.elementor-element.elementor-element-1882000 {
		--padding-bottom: 0px;
	}
	html body .elementor-517 .elementor-element.elementor-element-8620e3c {
		margin-top: 8px;
	}
}


/* ==========================================================================
   8. NOS RÉALISATIONS (528) ET FICHES RÉALISATION (modèle 2475)
   ========================================================================== */

/* 8a. Nos réalisations — 107 px sous la note « Les avant-projets… »
   (6b1b84e) : deux blocs vides de maquette (#contact, .filters) dans le
   widget, puis l'écart de 20 px avant le widget du bouton « Voir plus ».
   Filtres de la galerie : la rangée défile, un fondu à droite l'indique. */
@media (max-width: 767px) {
	html body .elementor-528 .elementor-element.elementor-element-6b1b84e :is(#contact, .filters):not(:has(*)) {
		display: none;
	}
	html body .elementor-528 .e-con.elementor-element.elementor-element-5736294 {
		--gap: 0px;
		--row-gap: 0px;
	}
	html body .elementor-528 .elementor-element.elementor-element-11fedf8 .elementor-gallery__titles-container {
		-webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
		mask-image: linear-gradient(90deg, #000 85%, transparent);
	}
}

/* 8b. Fiches réalisation — lignes de la carte « Vos contacts par secteur »
   (a5963ef, 1060555) : 64 px de vide entre le nom et le téléphone, lignes de
   191 px. La règle commune (00-commun.css § 6) ne vise que les pages ; ce
   modèle est un article : même réglage. */
@media (max-width: 1024px) {
	html body .elementor-2475 .e-con.e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) {
		--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 .elementor-2475 .e-con.e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) > .e-con {
		--width: 100%;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--align-items: flex-start;
		--gap: 2px;
		--row-gap: 2px;
	}
	html body .elementor-2475 .elementor-element.elementor-widget-button:has(a[href^="tel:"]) {
		--container-widget-width: auto;
		--container-widget-flex-grow: 0;
		width: auto;
		max-width: 100%;
		align-self: flex-start;
	}
	html body .elementor-2475 .elementor-widget-button:has(a[href^="tel:"]) .elementor-button {
		white-space: nowrap;
	}
	html body .elementor-2475 .e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) .elementor-element.elementor-widget-text-editor {
		margin: 0;
	}
	html body .elementor-2475 .e-con:has(> .e-con > .elementor-widget-button a[href^="tel:"]) .elementor-widget-text-editor p {
		margin-block: 0;
	}
}

/* 8c. Fiches réalisation — 118 px entre la carte texte et « Découvrez nos
   autres réalisations », 70 px entre « Toutes nos réalisations » et la
   1re carte (marge de 28 px du widget 07eea70), trois bords gauches
   différents (titre x 42, bouton x 32, cartes x 22) ; carrousel en retrait de
   10 px sur la carte texte. */
@media (max-width: 767px) {
	html body .elementor-2475 .e-con.elementor-element.elementor-element-8689c08 {
		--padding-top: 24px;
		--padding-bottom: 24px;
	}
	html body .elementor-2475 .e-con.elementor-element.elementor-element-3bfdc9b {
		--padding-bottom: 0px;
	}
	html body .elementor-2475 .e-con.elementor-element.elementor-element-48d98fa {
		--padding-top: 32px;
	}
	html body .elementor-2475 .e-con.elementor-element:is(.elementor-element-a968a17, .elementor-element-0d9f99f) {
		--padding-top: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-2475 .elementor-element.elementor-element-07eea70,
	html body .elementor-2475 .elementor-element.elementor-element-07eea70 > .elementor-widget-container {
		margin-top: 0;
	}
	html body .elementor-2475 .elementor-element.elementor-element-815bb2b {
		padding: 0;
	}
}

/* 8d. Vignettes de la galerie (fiches réalisation et fiches bien) : bande de
   239 à 279 px pour 3 vignettes de 92 px ; la 3e était coupée sous la flèche.
   → trois vignettes entières qui se partagent la largeur. */
@media (max-width: 767px) {
	html body :is(.elementor-2475, .elementor-191) .ldp-galerie__thumb {
		flex: 0 0 calc((100% - 16px) / 3);
		width: calc((100% - 16px) / 3);
		height: auto;
		aspect-ratio: 4 / 3;
	}
}


/* ==========================================================================
   9. TERRAINS & MAISONS (366) ET FICHES BIEN (modèle 191)
   ========================================================================== */

/* 9a. Terrains & maisons : 80 px entre le hero et la carte des départements,
   101 px entre la pagination et la section bleue (marges de 70 px du bloc
   bdf0e22). */
@media (max-width: 767px) {
	html body .elementor-366 .e-con.elementor-element.elementor-element-bdf0e22 {
		--margin-top: 32px;
		--margin-bottom: 32px;
	}
}

/* 9b. Fiche bien — carte téléphone (274b3ea) : icône à gauche du numéro en
   ordinateur (86 px de haut) ; en mobile, icône en haut à droite, numéro en
   bas à gauche, 185 px de haut. */
@media (max-width: 767px) {
	html body .elementor-191 .e-con.elementor-element.elementor-element-274b3ea {
		--flex-direction: row;
		--flex-wrap: nowrap;
		--align-items: center;
		--gap: 12px;
		--row-gap: 12px;
		--column-gap: 12px;
	}
	html body .elementor-191 .elementor-element.elementor-element-408656b {
		--width: auto;
		flex: 0 0 auto;
		--align-items: flex-start;
	}
	html body .elementor-191 .elementor-element.elementor-element-cec1ad3 {
		--width: auto;
		flex: 1 1 0;
		min-width: 0;
	}
}

/* 9c. Fiche bien — encadré bleu « Vous souhaitez en savoir plus sur ce bien ?
   / Ce bien m'intéresse » (ec32908) : en haut à droite en ordinateur ; en
   mobile, il tombait en bas de page, 30 px au-dessus de la section qui porte
   le même titre et le formulaire. Masqué en mobile (doublon). */
@media (max-width: 767px) {
	html body .elementor-191 .e-con.elementor-element.elementor-element-ec32908 {
		display: none;
	}
}

/* 9d. Fiche bien — 71 px entre le texte (7e7ec2f) et la carte téléphone, 58 px
   entre l'intro du formulaire (7267ba2) et le 1er champ, listes de la
   description (dd2826b) en retrait de 88 px, 64 px entre la galerie et le
   texte (27db0a6). */
@media (max-width: 767px) {
	html body .elementor-191 .elementor-element.elementor-element-7e7ec2f p:last-of-type {
		margin-bottom: 0;
	}
	html body .elementor-191 .elementor-element.elementor-element-7267ba2 p {
		margin: 8px 0 0;
	}
	html body .elementor-191 .elementor-element.elementor-element-dd2826b ul {
		margin-left: 0;
		padding-left: 20px;
	}
	html body .elementor-191 .elementor-element.elementor-element-27db0a6 {
		margin-top: 0;
	}
}


/* ==========================================================================
   10. FICHES AGENCE (modèle 311)
   ========================================================================== */

/* 10a. Hero : 88 px sous le chapô (48 en ordinateur) : <div class="info-card">
   vide de maquette dans le texte 83865a5. */
@media (max-width: 767px) {
	html body .elementor-311 .elementor-element.elementor-element-83865a5 .info-card:not(:has(*)) {
		display: none;
	}
	html body .elementor-311 .elementor-element.elementor-element-83865a5 p:last-of-type {
		margin-bottom: 8px;
	}
}

/* 10b. 67 px entre la carte « Contactez l'agence » et la carte Google
   (retrait bas de 48 px en mobile) ; carte Google de 520 px de haut sur 347 px
   de large une fois les cookies acceptés. */
@media (max-width: 767px) {
	html body .elementor-311 .e-con.elementor-element.elementor-element-7f0fc9a {
		--padding-bottom: 0px;
	}
	html body .elementor-311 .elementor-element.elementor-element-41ff5a7 iframe {
		height: 300px;
	}
}

/* 10c. « Prendre rendez-vous » : textes et cartes des conseillers 20 px plus
   étroits de chaque côté que la carte formulaire juste dessous ; 60 px entre
   les textes et la carte suivante. */
@media (max-width: 767px) {
	html body .elementor-311 .e-con.elementor-element:is(.elementor-element-89bc742, .elementor-element-a130f8e) {
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-311 .elementor-element:is(.elementor-element-e3ea7c0, .elementor-element-270272d) p:last-of-type {
		margin-bottom: 0;
	}
}


/* ==========================================================================
   11. CONTACT (285) ET PAGES LÉGALES (2617, 2618, 2621)
   ========================================================================== */

/* 11a. Contact — titre « Écrivez-nous » centré au-dessus d'un formulaire
   aligné à gauche (aligné à gauche en ordinateur) ; 66 px entre « Nos
   conseillers peuvent se déplacer… » et « Prendre rendez-vous », 44 px dans
   la colonne E-mail. */
@media (max-width: 767px) {
	html body .elementor-285 .elementor-element.elementor-element-2e7f78e .elementor-heading-title {
		text-align: left;
	}
	html body .elementor-285 .elementor-element:is(.elementor-element-3a9d734, .elementor-element-9daed18) p:last-of-type {
		margin-bottom: 0;
	}
}

/* 11b. Pages légales — hero : colonne droite vide (e6c9a60, 0489e24,
   1efb69a) passée sous le texte (94 px de bleu sous « Dernière mise à jour »,
   54 en ordinateur). Sommaire et cartes en retrait de 10 px sur le reste du
   site. Politique de cookies : listes en retrait de 55 px. */
@media (max-width: 767px) {
	html body :is(.elementor-2617, .elementor-2618, .elementor-2621) .e-con.elementor-element:is(.elementor-element-e6c9a60, .elementor-element-0489e24, .elementor-element-1efb69a) {
		display: none;
	}
	html body :is(.elementor-2617, .elementor-2618) .e-con.elementor-element:is(.elementor-element-704898a, .elementor-element-41b7327, .elementor-element-148a3d2, .elementor-element-7329566) {
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-2621 .elementor-element.elementor-element-0f45eba ul {
		padding-left: 20px;
		margin-left: 0;
	}
}
