/* ==========================================================================
   Les Demeures de Province — ajustements responsive (Ocean Communication)
   Groupe B : pages projets et terrains.
   - Maison pour seniors (#1479), Maison pour primo-accédants (#1470),
     Maison pour investisseurs (#440) : pages dupliquées, mêmes identifiants.
     Toutes les règles de ces pages sont préfixées par leurs trois numéros
     (la page Maison sur mesure partage une partie des identifiants du hero).
   - Votre terrain (#661).
   - Terrains à bâtir (#381) et Terrains-maisons (#366) : même gabarit.
   Chargé après 00-commun.css (gouttière, heros, cartes d'avantages, cartes
   « Vos contacts par secteur » : réglés là-bas, non repris ici).

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


/* --------------------------------------------------------------------------
   1. Pages projets — hero
   1a. Mobile : le bouton « Demander une étude » (code HTML ba0b742) était dans
       un bloc réduit à 50 % (163 px) et passait sur deux lignes ; le bloc
       remontait aussi de 31 px sur le paragraphe.
   1b. Tablette : le texte du hero tenait dans une demi-colonne (348 px en
       768 px) à côté d'une colonne vide (07bb355, l'illustration n'existe
       qu'en desktop) : le titre se coupait (« Votre première / maison, / … »).
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-9bc5cd9 {
		--margin-top: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element-ba0b742 .ldp-popup__btn {
		white-space: nowrap;
	}
}
@media (max-width: 767px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-9bc5cd9 {
		--width: 100%;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-8eb547a {
		--width: 100%;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-07bb355 {
		display: none;
	}
}


/* --------------------------------------------------------------------------
   2. Pages projets — barre de prix (15fd601 : bloc prix 4b61978 + 4 chiffres)
   La barre desktop à 5 colonnes était simplement comprimée en tablette :
   colonne prix de 141 px (prix collé à la colonne voisine, « A PARTIR DE » sur
   deux lignes), badge « Option garage accolé » coupé (Seniors, aussi en
   1024 px), libellés sur trois lignes très espacées (interligne de 40 px).
   En mobile, les 5 blocs s'empilaient sur 700 px.
   - Tablette et mobile : le prix devient un bandeau sur toute la largeur
     (libellé, prix, badge sur une ligne) ; dessous les 4 chiffres
     en 4 colonnes (tablette) ou en 2 × 2 (mobile).
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-15fd601 {
		--flex-wrap: wrap;
		--gap: 0px;
		--row-gap: 0px;
		--column-gap: 0px;
		overflow: hidden;
	}
	/* bandeau prix */
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-4b61978 {
		--width: 100%;
		--flex-direction: row;
		--flex-wrap: wrap;
		--align-items: center;
		--justify-content: flex-start;
		--gap: 6px 20px;
		--row-gap: 6px;
		--column-gap: 20px;
		--padding-top: 16px;
		--padding-bottom: 16px;
		--padding-left: 24px;
		--padding-right: 24px;
		flex: 0 0 100%;
		border-radius: 20px 20px 0 0;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-3d175a7 {
		padding: 0;
		margin: 0;
		width: auto;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-3d175a7 .elementor-heading-title {
		white-space: nowrap;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-25c60b9 {
		width: auto;
		margin: 0;
	}
	/* le compteur affiche « TTC » sous le prix (colonne inversée) : en ligne, « 129000€ TTC » */
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-25c60b9 .elementor-counter {
		flex-direction: row-reverse;
		justify-content: flex-end;
		align-items: baseline;
		gap: 8px;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-25c60b9 .elementor-counter-title {
		line-height: 1.2;
	}
	/* badge « Option garage accolé : + 20 000 € » (Seniors) : à droite du prix, peut passer à la ligne */
	html body .elementor-1479 .elementor-element.elementor-element-70a1be0 {
		width: auto;
		margin: 0 0 0 auto;
	}
	html body .elementor-1479 .elementor-element.elementor-element-70a1be0 p {
		white-space: normal;
	}
	/* les 4 chiffres */
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-caf6c99, .elementor-element-fc66988, .elementor-element-9be1cf1, .elementor-element-c436351).e-con.elementor-element {
		--width: 25%;
		--padding-top: 16px;
		--padding-bottom: 18px;
		--padding-left: 16px;
		--padding-right: 16px;
		--justify-content: flex-start;
		flex: 1 1 0;
		min-width: 0;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-c436351 {
		--border-right-width: 0px;
		border-right-width: 0;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-da3fde7, .elementor-element-ee348a4, .elementor-element-a79160d, .elementor-element-d8995e1) .elementor-counter-title {
		line-height: 1.35;
		margin-top: 4px;
	}
}
@media (max-width: 767px) {
	/* la barre déborde de 72 px sur la section suivante : la première carte d'avantage la
	   touchait (−4 px) ; on laisse 20 px entre les deux */
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-15fd601 {
		margin-bottom: -48px;   /* propriété directe : la page la fixe en CSS personnalisé (−72 px) */
	}
	html body .elementor-1479 .elementor-element.elementor-element-70a1be0 {
		margin-left: 0;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-caf6c99, .elementor-element-fc66988, .elementor-element-9be1cf1, .elementor-element-c436351).e-con.elementor-element {
		--width: 50%;
		flex: 0 0 50%;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-fc66988 {
		--border-right-width: 0px;
		border-right-width: 0;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-9be1cf1, .elementor-element-c436351).e-con.elementor-element {
		border-top: 1px solid rgb(226, 201, 160);
	}
}


/* --------------------------------------------------------------------------
   3. Pages projets — retraits de 80 px gardés du desktop en tablette
   Le texte du « Modèle » (1d6148c), de « Bien vivre / Maison évolutive /
   Investir » (6fc5bd6) et des « Prestations incluses » (08ef921) commençait à
   111–118 px du bord, les autres sections à 31–38 px ; les colonnes en
   devenaient étroites (listes du modèle de 156 px, titres sur 3 lignes).
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-6fc5bd6, .elementor-element-08ef921).e-con.elementor-element {
		--padding-left: 0px;
	}
	/* le texte du modèle est à droite de la photo : on garde un écart de 28 px */
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-1d6148c {
		--padding-left: 28px;
	}
}
@media (max-width: 767px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-1d6148c {
		--padding-left: 0px;
	}
}


/* --------------------------------------------------------------------------
   4. Pages projets — boutons « Estimer mon financement » / « En savoir plus »
   (dedcc09 / eb0430c dans 32583fc / 44dfb97, rangée 5af2e2e).
   En tablette chaque bouton tenait dans une demi-colonne de 102–163 px et
   passait sur 2 ou 3 lignes. Ils prennent leur largeur, sur une ligne, et la
   rangée passe à la ligne s'il le faut. En mobile, le lien « En savoir plus »
   (sans fond) s'aligne sur le bord du bouton au lieu d'être décalé de 24 px.
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .e-con.elementor-element.elementor-element-5af2e2e {
		--flex-wrap: wrap;
		--align-items: center;
		--gap: 12px 28px;
		--row-gap: 12px;
		--column-gap: 28px;
		--margin-top: 8px;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-32583fc, .elementor-element-44dfb97).e-con.elementor-element {
		--width: auto;
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
		flex: 0 0 auto;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-dedcc09, .elementor-element-eb0430c) .elementor-button {
		white-space: nowrap;
	}
}
@media (max-width: 767px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element.elementor-element-eb0430c .elementor-button {
		padding-left: 0;
	}
}


/* --------------------------------------------------------------------------
   5. Pages projets — cartes « Prestations incluses »
   - L'icône (widget image) occupait une boîte de 24 px pour une image de
     42 px en mobile : elle débordait de 18 px sur le titre. Taille unique de
     40 px (elle valait 42 px en mobile, 23 px en tablette, 47 px en desktop).
   - Texte à 10 px du bord d'une carte arrondie à 30 px : 20 px de marge.
   Mobile, tablette, laptop.
   -------------------------------------------------------------------------- */
@media (max-width: 1440px) {
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-16a46bb, .elementor-element-e51ed1d, .elementor-element-c7a71bf, .elementor-element-674e08c, .elementor-element-59bf057, .elementor-element-2e8a341).e-con.elementor-element {
		--padding-top: 20px;
		--padding-bottom: 20px;
		--padding-left: 20px;
		--padding-right: 20px;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) :is(.elementor-element-8331d7d, .elementor-element-63b6e3c, .elementor-element-5af9163, .elementor-element-0ffd7be, .elementor-element-e9dca00, .elementor-element-1f8651e).elementor-element {
		--container-widget-height: auto;
		height: auto;
		line-height: 0;
		margin-bottom: 6px;
	}
	html body :is(.elementor-1479, .elementor-1470, .elementor-440) .elementor-element:is(.elementor-element-8331d7d, .elementor-element-63b6e3c, .elementor-element-5af9163, .elementor-element-0ffd7be, .elementor-element-e9dca00, .elementor-element-1f8651e) img {
		width: 40px;
		height: 40px;
		object-fit: contain;
	}
}


/* --------------------------------------------------------------------------
   6. Pages projets — puces des listes de prestations (Primo, Investisseurs)
   La puce restait centrée verticalement sur les lignes qui passent à la ligne
   (« Tuile béton Nobilée ou équivalent, couleur / ardoise ») : elle se cale
   sur la première ligne. Tous écrans (le cas existe aussi en desktop).
   -------------------------------------------------------------------------- */
html body :is(.elementor-1470, .elementor-440) :is(.elementor-element-327c80b, .elementor-element-1dfe5f9, .elementor-element-57e7460, .elementor-element-70188d2, .elementor-element-00d789a, .elementor-element-c2f7eab).elementor-widget-icon-list {
	--icon-vertical-align: flex-start;
	--icon-vertical-offset: 8px;
}


/* --------------------------------------------------------------------------
   7. Votre terrain — hero (7dc0410)
   7a. Le bouton « Découvrir nos terrains à bâtir » (706ba40) était sous la
       section suivante en laptop et grand écran : un bloc vide (c856b97)
       remontait de 145 px et le hero gardait sa hauteur fixe de 484 px, le
       bouton dépassait donc du hero. Le bloc vide est retiré, le hero
       s'allonge et garde un peu d'air sous le bouton. Tous écrans.
   7b. Le bouton était décalé de 22 px à gauche du texte (marge négative) et,
       en mobile, coincé dans une demi-colonne (4 lignes, mot par mot).
   -------------------------------------------------------------------------- */
html body .elementor-661 .e-con.elementor-element.elementor-element-c856b97 {
	display: none;
}
html body .elementor-661 .e-con.elementor-element.elementor-element-db01193 {
	--margin-left: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}
/* boutons sans fond (liens soulignés « Découvrir nos terrains à bâtir », « Découvrir nos
   terrains disponibles », « Échanger avec un concepteur ») : leur retrait intérieur de 24 px
   les décalait du texte qu'ils suivent. Tous écrans. */
html body .elementor-661 :is(.elementor-element-706ba40, .elementor-element-8da4b16, .elementor-element-65e218e) .elementor-button {
	padding-left: 0;
}
@media (min-width: 1025px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-7dc0410 {
		--padding-bottom: 44px;
	}
}
@media (max-width: 1024px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-7dc0410 {
		--padding-bottom: 32px;
	}
	html body .elementor-661 .elementor-element.elementor-element-706ba40 .elementor-button {
		white-space: nowrap;
	}
}
@media (max-width: 767px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-db01193 {
		--width: 100%;
	}
}
/* libellé en capitales de 312 px : sur les plus petits téléphones (360 px), 15 px pour tenir sur une ligne */
@media (max-width: 389px) {
	html body .elementor-661 .elementor-element.elementor-element-706ba40 .elementor-button {
		font-size: 15px;
	}
}


/* --------------------------------------------------------------------------
   8. Votre terrain — « Votre projet commence par le bon terrain » (8b727d4)
   En tablette, la colonne gardait son retrait desktop de 80 px (texte de
   284 px, image réduite à 193 px) : 28 px d'écart avec la colonne de gauche.
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-8b727d4 {
		--padding-left: 28px;
	}
}
@media (max-width: 767px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-8b727d4 {
		--padding-left: 0px;
	}
}
/* « Découvrir nos terrains disponibles » (8da4b16, colonne de gauche) : bouton étiré sur toute la
   colonne, libellé centré sur deux lignes en mobile et tablette ; il est aligné à gauche comme son
   texte et tient sur une ligne (15 px). */
@media (max-width: 1024px) {
	html body .elementor-661 .elementor-element.elementor-element-8da4b16 .elementor-button {
		width: auto;
		font-size: 15px;
		white-space: nowrap;
	}
}
@media (max-width: 389px) {
	html body .elementor-661 .elementor-element.elementor-element-8da4b16 .elementor-button {
		white-space: normal;
		text-align: left;
	}
	html body .elementor-661 .elementor-element.elementor-element-8da4b16 .elementor-button-content-wrapper {
		justify-content: flex-start;
	}
}


/* --------------------------------------------------------------------------
   9. Votre terrain — carrousel « Avant d'acheter votre terrain, vérifiez… »
   (2ecb49f). Chaque diapositive : bloc > carte bordée > contenu.
   - Tablette : la carte gardait un retrait de 80 px à gauche (contenu décentré
     dans la carte) et les cartes n'avaient pas toutes la même hauteur.
   - Les flèches étaient posées sur la bordure des cartes : on réserve leur
     place de chaque côté (tablette et plus) ; en mobile, les puces et le
     glissement suffisent, les flèches sont masquées.
   -------------------------------------------------------------------------- */
html body .elementor-661 .elementor-element.elementor-element-2ecb49f .swiper-slide > .e-con > .e-con-inner > .e-con {
	flex-grow: 1;
}
@media (max-width: 1024px) {
	html body .elementor-661 .elementor-element.elementor-element-2ecb49f .swiper-slide > .e-con > .e-con-inner > .e-con.elementor-element {
		--padding-left: 0px;
	}
}
@media (min-width: 768px) {
	html body .elementor-661 .elementor-element.elementor-element-2ecb49f {
		padding-inline: 36px;
	}
}
@media (max-width: 767px) {
	html body .elementor-661 .elementor-element.elementor-element-2ecb49f .elementor-swiper-button {
		display: none;
	}
}


/* --------------------------------------------------------------------------
   10. Votre terrain — « De la promesse à l'acte de vente » (ee2df34)
   10a. Mobile et tablette : le lien « Achat immobilier : quelles sont les cinq
        étapes clés ? » (54ad949 dans 4f29fdd) remontait de 76 px et, en
        mobile, tenait dans une demi-largeur : il recouvrait la fin du
        paragraphe, sur 5 lignes.
   10b. Laptop et grand écran : le paragraphe (f907b79) courait sur toute la
        largeur (1 192 à 1 420 px, ~200 caractères par ligne) : 820 px au plus.
   10c. Mobile et tablette : texte blanc sur le ciel clair de la photo, voile
        noir à 23 % seulement : voile renforcé.
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-4f29fdd {
		--margin-top: 0px;
	}
	html body .elementor-661 .e-con.elementor-element.elementor-element-ee2df34 {
		--overlay-opacity: 0.45;
	}
}
@media (max-width: 767px) {
	html body .elementor-661 .e-con.elementor-element.elementor-element-4f29fdd {
		--width: 100%;
	}
}
html body .elementor-661 .elementor-element.elementor-widget.elementor-element-f907b79 {
	max-width: 820px;
	margin-inline: auto;
}


/* --------------------------------------------------------------------------
   11. Votre terrain — « Un terrain, une maison, un projet » (ece5f68 :
   texte a62168c | image 068a0a7)
   Les marges intérieures étaient en % de la largeur : en tablette il restait
   121 px (768) ou 163 px (1024) pour le texte — titre de 40 px mot par mot
   sur 5 lignes, paragraphe de 830 px de haut, image de 161 px isolée. En
   mobile, texte et image étaient en retrait (17 et 35 px) des autres sections.
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	html body .elementor-661 :is(.elementor-element-a62168c, .elementor-element-068a0a7).e-con.elementor-element {
		--padding-top: 0px;
		--padding-bottom: 0px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	html body .elementor-661 .e-con.elementor-element.elementor-element-ece5f68 {
		--gap: 32px;
		--row-gap: 32px;
		--column-gap: 32px;
	}
	/* titre aligné sur son texte (il était centré au-dessus d'un paragraphe aligné à gauche) */
	html body .elementor-661 .elementor-element.elementor-element-488d1ea .elementor-heading-title {
		font-size: 32px;
		text-align: left;
	}
}


/* --------------------------------------------------------------------------
   12. Terrains à bâtir (#381) et Terrains-maisons (#366) — boutons de la
   section « Votre projet » / « Près de chez vous »
   Deux boutons côte à côte, chacun dans une demi-colonne, le second ramené
   vers le premier par une marge négative (−69 px sur Terrains-maisons, −12 px
   sur Terrains à bâtir) : en mobile « Projet sur mesure » sortait de l'écran à
   gauche, en tablette les deux boutons se chevauchaient (Terrains-maisons) ou
   passaient sur 2 à 4 lignes (Terrains à bâtir). Ils prennent leur largeur,
   sur une ligne, et passent l'un sous l'autre s'il le faut. Jusqu'à 1440 px.
   -------------------------------------------------------------------------- */
@media (max-width: 1440px) {
	html body .elementor-381 .e-con.elementor-element.elementor-element-23b4ebd,
	html body .elementor-366 .e-con.elementor-element.elementor-element-8a34d53 {
		--flex-wrap: wrap;
		--align-items: center;
		--gap: 12px 16px;
		--row-gap: 12px;
		--column-gap: 16px;
	}
	html body .elementor-381 :is(.elementor-element-e8933a5, .elementor-element-cef8fe3).elementor-element,
	html body .elementor-366 :is(.elementor-element-d5c05aa, .elementor-element-ae6d28f).elementor-element {
		--container-widget-width: auto;
		--container-widget-flex-grow: 0;
		width: auto;
		max-width: 100%;
		margin-left: 0;
		flex: 0 0 auto;
	}
	html body .elementor-381 :is(.elementor-element-e8933a5, .elementor-element-cef8fe3) .elementor-button,
	html body .elementor-366 :is(.elementor-element-d5c05aa, .elementor-element-ae6d28f) .elementor-button {
		white-space: nowrap;
	}
}


/* --------------------------------------------------------------------------
   13. Terrains à bâtir — libellé « SURFACE » du croquis des annonces
   (code court 2734718) : 11,5 px, sous le minimum de 12 px. Tous écrans.
   -------------------------------------------------------------------------- */
html body .elementor-381 .elementor-element.elementor-element-2734718 .ldp-x-surface small {
	font-size: 0.75rem;
}
