/**
 * Fiche terrain — variante en px, convertie depuis terrains.css (base 16px :
 * 1rem = 16px). Toutes les valeurs rem d'origine sont ici en px ; les vw,
 * pourcentages, ch et unitless (ex. line-height) sont inchangés.
 *
 * Ce fichier n'est enqueue nulle part pour l'instant ; il ne remplace pas
 * terrains.css tant qu'il n'est pas explicitement chargé dans functions.php.
 *
 * À cause de cette conversion, les dimensions ne suivent plus la taille de
 * texte choisie par le visiteur (contrairement à terrains.css). Voir
 * docs/design/dp-grignan-spec.md pour la maquette Figma 645:1025 d'origine.
 *
 * Portée volontairement limitée : aucune règle ne cible l'en-tête, le pied de
 * page, le bandeau cookies ni le bouton de remontée, qui sont globaux.
 *
 * Les bornes hautes des clamp() correspondent au rendu de la maquette à
 * 1280 px ; les bornes basses au rendu mobile.
 */

.single-terrain {
	--tr-ink: #202040;
	--tr-ink-2: #4d4d66;
	--tr-ink-3: #8a8aa0;
	--tr-orange: #e94e1b;
	--tr-teal: #00a19a;
	--tr-teal-em: #00a099;
	--tr-teal-link: #007d77;
	--tr-teal-light: #4fb8b1;
	--tr-navy: #202040;
	--tr-cream: #fbfaf7;
	--tr-border: #e3e0e8;
	--tr-border-2: #dfe5ea;
	--tr-max: 1260px;
	--tr-pad: clamp(20px, 8px + 3.6vw, 100px);
	--tr-pad-recap: clamp(20px, -24px + 12vw, 176px);
	--tr-section-y: clamp(40px, 24px + 3vw, 60px);
	--tr-gutter: clamp(24px, 8px + 3vw, 64px);
	--tr-aside: clamp(272px, 28vw, 372px);
	--tr-h1: clamp(36px, 16px + 5.2vw, 60.4px);
	--tr-h2: clamp(22px, 16.8px + 1.4vw, 28px);
	--tr-h3: clamp(20px, 17.6px + 0.6vw, 24px);
	--tr-body: 14px;
	--tr-small: 12px;
	--tr-micro: 11px;
	--tr-radius: 10px;
	
}

.single-terrain .main {  color: var(--tr-ink); overflow-x: hidden; background: #ffffff; }
.single-terrain .main *,
.single-terrain .main *::before,
.single-terrain .main *::after { box-sizing: border-box; }
.single-terrain .main img { 
	max-width: 100%;
    height: 100%;
    display: block;
    width: 100%;
    object-position: center; 
}

.terrain-parcelles, .terrain-proximites, .terrain-programe-imges {
    padding-top: 24px;
    border-top: 1px solid #E3E0E8;
}
.terrain-parcelles .terrain-parcelles_heading {
    margin-bottom: 15px;
}
.terrain-hero__inner,
.terrain-map__inner,
.terrain-conseiller__inner,
.terrain-similaires__inner,
.terrain-colonnes { 
	width: 100%; 
	max-width: var(--tr-max); 
	margin-inline: auto; 
}
.terrain-eyebrow {
	margin: 0 0 15px;
	font-size: var(--tr-small); font-weight: 600; line-height: 1.4;
	letter-spacing: 0.178em; text-transform: uppercase;
	color: var(--tr-orange);
	display: flex; align-items: center; gap: 10px;
}
.terrain-eyebrow::before { content: ""; inline-size: 22px; block-size: 2px; background: currentColor; flex: none; }
.terrain-eyebrow--centre { justify-content: center; }

.terrain-h2 { 
	margin: 0 0 15px; 
	font-size: var(--tr-h2); 
	font-weight: 600; 
	line-height: 1.21; 
	color: var(--tr-ink); 
	text-wrap: balance; 
}
.terrain-h2 em { font-style: italic; color: var(--tr-teal-em); }
.terrain-h2 strong { font-weight: 600; color: var(--tr-teal); }
.terrain-h2--centre { text-align: center; }

.terrain-richtext { font-size: var(--tr-body); font-weight: 400; line-height: 1.43; color: var(--tr-ink-2); }
.terrain-richtext p { margin: 0 0 14px; }
.terrain-richtext > :last-child { margin-bottom: 0; }
.terrain-richtext strong, .terrain-richtext b { font-weight: 700; color: inherit; }
.terrain-richtext a { color: var(--tr-teal-link); }

.terrain-btn {
	display: inline-flex; 
	align-items: center; 
	justify-content: center; 
	gap: 8px;
	padding: 13px 22px; 
	border-radius: 8px; 
	border: 1px solid transparent;
	font-family: inherit; 
	font-size: 13px; 
	font-weight: 600; 
	line-height: 1.2;
	text-align: center; 
	text-decoration: none; 
	cursor: pointer; transition: all .3s ease;
}
.terrain-carte-conseiller__corps a.terrain-btn span {
    height: 16px;
    width: 16px;
}
.terrain-btn:hover {  color: #ffffff; background:#CF3F12; }
.terrain-btn:focus-visible { outline: 2px solid var(--tr-teal); outline-offset: 2px; }
.terrain-btn--primaire { background: var(--tr-orange); color: #fff; }
.terrain-btn--secondaire { background: #fff; color: var(--tr-ink); border-color: var(--tr-border); }

.terrain-badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border-radius: 999px;
	font-size: var(--tr-micro); font-weight: 600; line-height: 1.27;
	letter-spacing: 0.11em; text-transform: uppercase;
}

.terrain-badge--a-vendre {
    color: #fff;
    background: #FFFFFF1F;
    padding: 7px 14px;
    border: 1px solid #ffffff40;
}
.icon_with_text.terrain-badge--a-vendre span.icon {
    height: 7px ;
    width: 7px;
    background-color: #4FB8B1;
    border-radius: 100px;
    box-shadow: 0px 0px 0px 3.56px #4FC1BC40;
}
.terrain-badge--vendu { background: rgba(233, 78, 27, .92); color: #fff; }

.terrain-hero { 
	position: relative; 
	min-height: 480px;
	display: flex; 
	align-items: flex-end; 
	overflow: hidden;
 }
.terrain-hero__media { position: absolute; inset: 0; }
.terrain-hero__media::after { 
	content: ""; 
	position: absolute; 
	inset: 0; 
	/* background: rgba(0, 0, 0, .65); */
	background: linear-gradient(180deg, rgba(20, 16, 46, 0.55) 0%, rgba(20, 16, 46, 0.1) 16%, rgba(20, 16, 46, 0) 28%),
radial-gradient(80% 95% at 6% 88%, rgba(20, 16, 46, 0.8) 0%, rgba(20, 16, 46, 0) 60%),
linear-gradient(0deg, rgba(20, 16, 46, 0.95) 0%, rgba(20, 16, 46, 0.74) 22%, rgba(20, 16, 46, 0.34) 45%, rgba(20, 16, 46, 0.05) 66%, rgba(20, 16, 46, 0) 80%);
 
}
.terrain-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .45s ease; }
.terrain-hero__slide.is-active { opacity: 1; visibility: visible; }
.terrain-hero__slide img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.terrain-hero__media:not([data-terrain-slider]) .terrain-hero__slide:first-child { opacity: 1; visibility: visible; }
.terrain-hero__media[data-terrain-slider] { cursor: grab; }
.terrain-hero__media[data-terrain-slider]:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

.terrain-hero__fleche {
	position: absolute;
	inset-block-start: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-family: inherit;
	font-size: 24px;
	line-height: 1;
	background-color: transparent !important;
	width: 24px;
	height: 48px;
	padding: 4px 11px;
}
.terrain-hero__fleche:hover { background: rgba(0, 0, 0, .5); }
.terrain-hero__fleche:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.terrain-hero__fleche--prec { left:30px; }
.terrain-hero__fleche--suiv { right: 30px; }
.terrain-hero__fleche span { display: block; margin-block-start: -0.15em; }
.terrain-hero__fleche svg path {
    transition: all .3s;
}
.terrain-hero__fleche:hover svg path { 
	fill: #CF3F12;
}
.terrain-hero__compteur {
	position: absolute; inset-block-end: clamp(12px, 2vw, 20px); inset-inline-end: clamp(12px, 2vw, 24px);
	z-index: 2; margin: 0; padding: 4px 10px; border-radius: 999px;
	background: rgba(0, 0, 0, .35); color: #fff;
	font-size: var(--tr-micro); font-weight: 600; letter-spacing: .04em;
}
.terrain-hero__compteur {
    display: none;
}

.terrain-visuallyhidden {
	position: absolute !important; inline-size: 1px; block-size: 1px;
	padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

.terrain-hero__inner {
	position: relative; 
	z-index: 1; 
	padding: 80px 80px; 
	text-align: center; 
	color: #fff; 
}
.terrain-hero__fil { font-size: var(--tr-micro); font-weight: 600; color: rgba(255, 255, 255, .82); margin-bottom: 70px; text-align: start; }
.terrain-hero__fil a { color: inherit; text-decoration: none; }
.terrain-hero__fil a:hover { text-decoration: underline; }
.terrain-hero__fil span { margin-inline: 6px; font-weight: inherit; }
.terrain-hero_info {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 15px;
}
.terrain-hero__eyebrow {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: max-content;
	margin: 0 auto;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: var(--tr-micro);
	font-weight: 600;
	letter-spacing: 0.155em;
	text-transform: uppercase;
	background-color: #202040;	
	box-shadow: 0px 8.89px 24.89px 0px #20204073;
	width: fit-content;
}
span.circle_icon {
    height: 7px;
    width: 7px;
    border-radius: 100px;
    background-color: #4FB8B1;
}
span.terrain-hero__eyebrow_txt {
    width: calc(100% - 15px);
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}
.terrain-hero__titre { 
	margin: 15px 0 15px; 
	font-size: var(--tr-h1); 
	line-height: 100%;
	font-weight: 600;  
	color: #fff; 
}
.terrain-hero__meta { 
	display: flex; 
	align-items: center; 
	justify-content: center; 
	gap: 16px; 
	flex-wrap: wrap; 
	margin: 0; 
}
.icon_with_text {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}
.icon_with_text span.icon {
    height: 16px;
    width: 16px;
	display: flex;
    align-items: center;
    justify-content: center;
}
.icon_with_text span.icon > svg {
    width: 100%;
    height: 100%;
}
.terrain-hero__adresse { font-size: 15px; font-weight: 400; }

.terrain-recap { 
	width: 100%; 
	max-width: 964px; 
	margin: -42px auto 0; 
	position: relative; 
	padding: 0px 20px;
	z-index: 2; }
.terrain-recap__inner {
	display: flex; flex-wrap: wrap; align-items: center;
	background: #fff; border-radius: var(--tr-radius);
	box-shadow: 0 12px 34px rgba(0, 0, 0, .10);
	padding: 14px;
}
.terrain-badge--a-vendre span.icon_txt {
    font-weight: 600;
}
.terrain-recap__stat { 
	flex: 1 1 128px; 
	display: flex; 
	flex-direction: column; 
	align-items: center; 
	gap: 4px; 
	padding: 8px 18px; 
	border-right: 1px solid #E3E0E8;
}
.terrain-recap__inner .terrain-recap__stat:last-of-type {
    border: none;
}
.terrain-recap__label { font-size: var(--tr-micro); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--tr-ink-3); text-align: center; }
.terrain-recap__valeur { font-size: 20px; font-weight: 600; color: var(--tr-ink); text-align: center; }
.terrain-recap__prefixe { font-size: var(--tr-body); font-weight: 400; }
.terrain-recap__cta { flex: 0 1 auto; margin-inline-start: 18px; }

.terrain-colonnes {
	padding: 80px 80px;
	display: flex; flex-wrap: wrap;
	gap: 64px; align-items: flex-start;
}
.terrain-colonnes__main { 
	width: calc(100% - 464px ); 
}
.terrain-form__carte { 
	width: 400px; 
	height: 100%;
	position: relative;
	position: sticky;
    top: 100px; 
    height: fit-content;
    align-self: flex-start;
}
.single-terrain,
.single-terrain .main,
.terrain-colonnes,
.terrain-colonnes__main {
    overflow: visible !important;
}
.terrain-form__carte .terrain-form__carte_inner {
	background: #fff; 
	border: 1px solid var(--tr-border); 
	border-radius: 14px; 
	padding: 32px 24px 24px; 
	/* box-shadow: 0 8px 26px rgba(0, 0, 0, .04);  */
	box-shadow: 0px 24.89px 49.78px 0px #221D4D1F;
}
.terrain-colonnes__aside { 
	width: var(--tr-aside); 
	flex: none; 
	position: sticky; 
	top: 24px; 
	min-width: 0; 
}

.terrain-description__bloc { margin-bottom: 34px; }
/**/
.terrain-description__bloc :is(h1,h2,h3,h4,h5,h6) {
	font-weight:600;
	color: var(--tr-ink);
}


.terrain-video { margin-bottom: 46px; }
.terrain-video__grid { display: grid; gap: 20px; }
.terrain-video__item { background: #fff; border: 1px solid var(--tr-border); border-radius: var(--tr-radius); padding: 16px; }
.terrain-video__item iframe,
.terrain-video__item video,
.terrain-video__item embed {
	width: 100%; max-width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 8px; background: #000;
}
.terrain-video__titre { margin: 0 0 12px; font-size: 16px; font-weight: 600; color: var(--tr-ink); }

.terrain-parcelles { margin-bottom: 46px; }
.terrain-parcelles__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.terrain-parcelles__voir-plus {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 14px auto 0;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	background-color: transparent;
	color: #1E293B;
}
.terrain-parcelles__voir-plus span.terrain-parcelles__voir-plus-label {
    font-weight: inherit;
}
.terrain-parcelle {
	display: flex; 
	flex-wrap: wrap;
	align-items: center; 
	gap: 16px;
	padding: 16px 24px; 
	border: 1px solid #00A19A66; 
	border-radius: var(--tr-radius); 
	background: #FBFAF8;
}
.terrain-parcelle--hidden[hidden] { display: none; }
.terrain-parcelle__identite { 	
	display: flex; 
	flex-direction: column; 
	gap: 3px; 
}
.terrain-parcelle > div {
    width: calc((100% - 16px) / 2);
}
.terrain-parcelle__nom { font-size: 20px; font-weight: 600; color: var(--tr-teal); }
.terrain-parcelle__statut { font-size: var(--tr-body); font-weight: 700; }
.terrain-parcelle__statut--disponible { color: var(--tr-teal); }
.terrain-parcelle__statut--vendue { color: var(--tr-orange); }
.terrain-parcelle__statut--optionnee { color: var(--tr-ink-3); }
.terrain-parcelle__donnee_row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 48px;
}
.terrain-parcelle__donnee { 
	display: flex;
    flex-direction: column;
    gap: 3px;
    width: calc((100% - 48px) / 2);
	position: relative;
}
.terrain-parcelle .terrain-parcelle__donnee_row .terrain-parcelle__donnee:first-child:before {
    content: "";
    position: absolute;
    right: -24px;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #E3E0E8;
}
.terrain-parcelle__label { font-size: var(--tr-micro); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--tr-ink-3); }
.terrain-parcelle__valeur { font-size: 20px; font-weight: 600; color: var(--tr-ink); }
.terrain-parcelles__plus {
	display: block; margin: 16px auto 0; padding: 8px 16px;
	background: none; border: 0; cursor: pointer;
	font-family: inherit; font-size: var(--tr-small); font-weight: 600; color: #1e293b;
}
.terrain-parcelles__plus:focus-visible { outline: 2px solid var(--tr-teal); outline-offset: 2px; }
.terrain-parcelles__plus span { margin-inline-start: 6px; }

.terrain-proximites__source { margin: 0px 0 18px; font-size: var(--tr-small); font-weight: 400; color: var(--tr-ink-2); }
.terrain-proximites__grille { 
	list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}
.terrain-proximite {
	display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid #e3e0e8;
    border-radius: 10px;
    background: #fff;
	width: calc((100% - 12px)/2);
}
.terrain-proximite__icone {
	flex: none; inline-size: 32px; block-size: 32px; border-radius: 8px;
	background: rgba(0, 161, 154, .08); display: flex; align-items: center; justify-content: center;
}
.terrain-proximite__icone img { inline-size: 18px; block-size: 18px; object-fit: contain; }
.terrain-proximite__texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.terrain-proximite__libelle { font-size: 13px; font-weight: 500; color: #1a1a2e; }
.terrain-proximite__distance { font-size: 18px; line-height: 20px; font-weight: 700; color: var(--tr-ink); }

.terrain-parcelles_heading, .terrain-proximites_heading {
    display: inline-block;
}
.terrain-form__titre { 
	margin: 0 0 15px; 
	font-size: var(--tr-h3); 
	font-weight: 600; 
	line-height: 1.17; 
	color: var(--tr-ink); 
	text-align: center;
}
.terrain-form__titre em { font-style: italic; color: var(--tr-teal-em); }
.terrain-form__intro { 
	margin: 0 0 15px; 
	font-size: var(--tr-body); 
	font-weight: 400; 
	line-height: 1.43; 
	color: var(--tr-ink-2); 
	text-align: center;
}
.terrain-form__mention { 
	margin: 15px 0 0; 
	font-size: var(--tr-micro); 
	color: var(--tr-ink-3); 
	display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
}
.terrain-form__mention .terrain-form__mention_icon {
	height: 14px;
	width: 14px;
}
.terrain-form__mention .terrain-form__mention_txt {
	width: calc(100% - 22px);
}
.terrain-form__manquant { margin: 0 0 10px; padding: 12px; border: 1px dashed var(--tr-border); border-radius: 8px; font-size: var(--tr-small); color: var(--tr-ink-2); }
.terrain-form__manquant--exemple em { color: var(--tr-ink); }
.terrain-form__requis,
.terrain-form .wpcf7-required { color: var(--tr-orange); }

.terrain-form .wpcf7-form label { display: block; margin-bottom: 12px; font-size: var(--tr-small); font-weight: 600; color: var(--tr-ink); }
.terrain-form .wpcf7-form input[type="text"],
.terrain-form .wpcf7-form input[type="email"],
.terrain-form .wpcf7-form input[type="tel"],
.terrain-form .wpcf7-form textarea {
	inline-size: 100%; margin-block-start: 6px; padding: 11px 13px;
	border: 1px solid var(--tr-border-2); border-radius: 8px;
	font-family: inherit; font-size: 13px; font-weight: 400; color: var(--tr-ink); background: #fff;
}
.terrain-form .wpcf7-form textarea { min-block-size: 96px; resize: vertical; }
.terrain-form .wpcf7-form :is(input, textarea):focus-visible { outline: 2px solid var(--tr-teal); outline-offset: 1px; border-color: var(--tr-teal); }
.terrain-form .wpcf7-form input::placeholder, .terrain-form .wpcf7-form textarea::placeholder { color: #757575; }
.terrain-form .wpcf7-form input[type="submit"] {
	inline-size: 100%; padding: 13px 22px; border: 0; border-radius: 8px;
	background: var(--tr-orange); color: #fff;
	font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
}
.terrain-form .wpcf7-acceptance label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.terrain-form .wpcf7-acceptance input { margin-block-start: 2px; flex: none; }
.terrain-form .wpcf7-acceptance a,
.terrain-form .wpcf7-acceptance .wpcf7-list-item-label a { color: var(--tr-teal-link); }
.terrain-form .wpcf7-acceptance .wpcf7-list-item-label,
.terrain-form .wpcf7-acceptance label { font-size: var(--tr-micro); font-weight: 400; color: var(--tr-ink-2); line-height: 1.45; }
.terrain-form .wpcf7-list-item { margin: 0; }

.terrain-map { 
	background: #FBFAF7; 
	padding: 80px 80px;
}
.terrain-map__inner { padding-inline: var(--tr-pad); }
.terrain-map__cadre { position: relative; margin-block-start: 24px; border-radius: var(--tr-radius); overflow: hidden; }
.terrain-map__canvas { block-size: clamp(240px, 30vw, 391px); inline-size: 100%; background: #e8eaed; }
.terrain-map__vignette {
	position: absolute; inset-inline-start: 18px; inset-block-end: 18px; z-index: 500;
	inline-size: min(300px, calc(100% - 36px)); padding: 14px 16px; border-radius: 10px;
	background: rgba(255, 255, 255, .96); box-shadow: 0 6px 20px rgba(0, 0, 0, .14);
}
.terrain-map__vignette-titre { margin: 0 0 6px; font-size: 10px; font-weight: 600; letter-spacing: 0.117em; text-transform: uppercase; color: var(--tr-teal-em); }
.terrain-map__vignette-texte { margin: 0 0 8px; font-size: 13px; font-weight: 600; line-height: 1.38; color: var(--tr-ink); }
.terrain-map__lien { font-size: var(--tr-small); font-weight: 600; color: var(--tr-orange); text-decoration: none; }
.terrain-map__lien span { margin-inline-start: 4px; }

.terrain-conseiller { padding: 80px 80px; }
.terrain-conseiller__inner { padding-inline: var(--tr-pad); text-align: center; }
.terrain-conseiller__intro { max-inline-size: 640px; margin: 0 auto 30px; font-size: var(--tr-body); line-height: 1.43; color: var(--tr-ink-2); }

.terrain-carte-conseiller {
	inline-size: 100%; max-inline-size: 320px; margin-inline: auto; overflow: hidden;
	border: 1px solid var(--tr-border); border-radius: 14px; background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.terrain-carte-conseiller__haut { 
	padding: 28px 15px 16px;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	background: linear-gradient(131.49deg, #202040 0%, #16162E 100%);
	border-bottom: 3px solid;
    border-image: linear-gradient(90deg, #00A099 0%, #E94E1B 100%) 1;
}
.terrain-carte-conseiller__sur-titre { margin: 0; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tr-teal-light); }
.terrain-carte-conseiller__portrait {
	position: relative;
	inline-size: 92px;
	block-size: 92px;
	border-radius: 50%;
	overflow: hidden;
	border: 4px solid #fff;
	background: #fff;
}
.article_list {
    margin-top: 24px;
}
.terrain-carte-conseiller__portrait img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.terrain-carte-conseiller__corps { padding: 48px 22px 22px; }
.terrain-carte-conseiller__nom { margin: 0 0 4px; font-size: 18px; font-weight: 600; color: var(--tr-ink); }
.terrain-carte-conseiller__fonction { margin: 0 0 18px; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--tr-teal-em); }
.terrain-carte-conseiller__coords { margin: 0 0 18px; text-align: start; display: grid; gap: 10px; }
.terrain-carte-conseiller__coords dt { font-size: 10px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--tr-ink-3); }
.terrain-carte-conseiller__coords dd { margin: 0; font-size: 13px; font-weight: 600; color: var(--tr-ink); overflow-wrap: anywhere; }
.terrain-carte-conseiller__coords dd a { color: inherit; text-decoration: none; }
.terrain-carte-conseiller__coords dd a:hover { text-decoration: underline; }
.terrain-carte-conseiller__cta { inline-size: 100%; margin-bottom: 10px; }
.terrain-carte-conseiller .terrain-btn--secondaire { inline-size: 100%; }

.terrain-similaires { 
	background: #FBFAF7;
    padding: 80px 80px;	
}
.terrain-similaires__inner { padding-inline: var(--tr-pad); }
.terrain-similaires__entete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 26px; }
.terrain-similaires__intro { flex: 1 1 400px; max-inline-size: 720px; }
.terrain-similaires__catalogue {	
    font-size: var(--tr-small);
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--tr-orange);
    text-decoration: none;
    gap: 8px;
    display: flex;
    align-items: center;
}
.terrain-similaires__catalogue span {
    width: 17px;
    height: 17px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.terrain-similaires__catalogue span { margin-inline-start: 6px; }
.terrain-similaires__grille { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 256px), 1fr)); gap: 24px; }

.terrain-carte { background: #fff; border: 1px solid var(--tr-border); border-radius: var(--tr-radius); overflow: hidden; }
.terrain-carte__lien { display: flex; flex-direction: column; block-size: 100%; text-decoration: none; color: inherit; }
.terrain-carte__lien:focus-visible { outline: 2px solid var(--tr-teal); outline-offset: 2px; }
.terrain-carte__media { 
	position: relative;
    background: #eee;
    width: 100%;
    height: 177px;
}
.terrain-similaires__grille .terrain-carte .terrain-carte__badge {
    background: #00A19AEB;
    border-radius: 5px;
    border: none;
    text-transform: capitalize;
    padding: 5px 10px;
	font-size: 11px;
	line-height: 100%;
	font-weight: 600;
	letter-spacing: 0px;
}
.terrain-carte__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.terrain-carte__badge { position: absolute; inset-block-start: 12px; inset-inline-start: 12px; font-size: 10px; }
.terrain-carte__corps { 
	padding: 16px 18px 20px; 
	display: flex; 
	flex-direction: column; 
	gap: 8px; flex: 1; 
}
.terrain-carte__titre { margin: 0; font-size: 17px; font-weight: 700; color: var(--tr-ink); }
.terrain-carte__commune { 
	display: flex;
    align-items: center;
    justify-content: flex-start;
	gap: 6px;
	font-size: var(--tr-small); 
	font-weight: 600; 
	color: var(--tr-teal-em); 
}
.terrain-carte__commune span.icon {
    height: 12px;
    width: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.terrain-carte__commune span.icon svg {
    height: 100%;
    width: 100%;
}
.terrain-carte__accroche { margin: 0 0 14px; font-size: var(--tr-small); line-height: 1.5; color: var(--tr-ink-2); }
.terrain-carte__cta { margin-block-start: auto; font-size: var(--tr-small); font-weight: 600; color: var(--tr-ink); }
.terrain-carte__cta span { margin-inline-start: 5px; }


/* terrain-richtext Css */
.terrain-richtext p {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: #4D4D66;
}
.terrain-richtext p a {
    color: #000000;
    transition: all .3s;
}
.terrain-richtext p a:hover {
    color: #1ea69a;
}
.terrain-richtext :is(h1,h2,h3,h4,h5,h6) {
	color: #202040;
}
.terrain-richtext h1 {
	font-size: 30px;
    line-height: 36px;
	margin: 0;
	font-weight: 600;
} 
.terrain-richtext h2 {
    font-size: 28px;
    line-height: 34px;
    margin: 0;
	font-weight: 600;
}
.terrain-richtext h3 {
	font-size: 26px;
    line-height: 32px;
    margin: 0;
	font-weight: 600;
}
.terrain-richtext h4 {
	font-size: 24px;
    line-height: 30px;
    margin: 0;
	font-weight: 600;
}
.terrain-richtext h5, .terrain-richtext h6 {
	font-size: 22px;
    line-height: 28px;
    margin: 0;
	font-weight: 600;
}
.terrain-richtext h2 span,
.terrain-richtext h3 span,
.terrain-richtext h4 span,
.terrain-richtext h5 span,
.terrain-richtext h6 span {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	color:#00A19A ;
}
.terrain-richtext h2+p,.terrain-richtext h3+p, .terrain-richtext h4+p, .terrain-richtext h5+p, .terrain-richtext h6+p {
    margin-top: 15px;
}
.terrain-richtext p+p {
	margin: 10px 0 0px;
}
.terrain-richtext p+h2, .terrain-richtext p+h3, .terrain-richtext p+h4, .terrain-richtext p+h5, .terrain-richtext p+h6 {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid #E3E0E8;
}
.terrain-richtext ul, .terrain-richtext ol {
    padding-left: 20px;
}
.terrain-richtext ul li, .terrain-richtext ol li {
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: #4D4D66;
}

.terrain-richtext ul li::marker, .terrain-richtext ol li::marker {
	color: #00A19A;
}
.terrain-richtext ul li:not(:last-child), .terrain-richtext ol li:not(:last-child) {
    margin-bottom: 10px;
}
.terrain-richtext ul+p, .terrain-richtext ol+p, .terrain-richtext p+ul, .terrain-richtext p+ol, .terrain-richtext ul+ul, .terrain-richtext ol+ol, .terrain-richtext ul+ol, .terrain-richtext ol+ul {
	margin-top: 20px;
}
.terrain-carte-conseiller__coords .icon_text_row {
    display: flex;
    align-items: center;
    gap: 10px;
}
.terrain-carte-conseiller__coords .icon_text_row .icon {
    height: 16px;
    width: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.terrain-carte-conseiller__coords .icon_text_row .icon svg {
    width: 100%;
    height: 100%;
}
.terrain-carte-conseiller__coords .icon_text_row .text {
    width: calc(100% - 26px);
}
.terrain-carte-conseiller__corps_heding {
    margin-bottom: 18px;
}
.terrain-carte-conseiller__corps_heding p {
    color: #00A099;
    font-size: 11px;
    line-height: 100%;
    font-weight: 600;
    text-transform: uppercase;
	letter-spacing: 1px;
}
.terrain-conseiller_heading span.terrain-conseiller_dec {
    max-width: 630px;
    width: 100%;
    margin: 0 auto;
    display: block;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
	color: #4D4D66;
}

/* PDF Box link css*/
.single-property .wppcp-attachments-display-panel {
    display: none;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    gap: 5px;
    margin-top: 15px;
}
.single-property .wppcp-attachments-display-panel > .wppcp-attachments-display-panel-file {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 5px;
}
.single-property .wppcp-attachments-display-panel > .wppcp-attachments-display-panel-file > img {
    width: 32px;
    height: 32px;
    object-fit: cover;
}
.single-property .wppcp-attachments-display-panel > .wppcp-attachments-display-panel-file > a {
    width: calc(100% - 37px);
    color: #4D4D66;
    transition: all .3s;
}
.single-property .wppcp-attachments-display-panel > .wppcp-attachments-display-panel-file > a:hover {
    color: var(--rh-global-color-link-hover);
}
/**/


@media (max-width: 1100px) {
	.terrain-colonnes__aside { width: 100%; position: static; }
	.terrain-colonnes, .terrain-map, .terrain-conseiller, .terrain-similaires { padding: 60px 40px; }
	.terrain-map__inner, .terrain-conseiller__inner, .terrain-similaires__inner {
		padding-inline: 0;
	}
	.terrain-form__carte {
		top: 50px;
	}
	.terrain-hero__fleche {
		inset-block-start: 70%;
    	transform: translateY(-70%);
	}
	.terrain-hero__fleche--prec {
		left: 20px;
	}
	.terrain-hero__fleche--suiv {
		right: 20px;
	}
	.terrain-hero__fil {
		margin-bottom: 50px;
	}
	.terrain-hero {
		min-height: 500px;
	}
}
@media (max-width: 1023px) { 
	.terrain-hero__inner {
        padding: 80px 40px;
    }
	.terrain-colonnes {
        flex-direction: column;
    }
	.terrain-colonnes__main, .terrain-form__carte {
		width: 100%;
	}
	.terrain-form__carte {
		position: static;
	}
	
}

@media (max-width: 767px) { 
	.terrain-richtext p+h2, .terrain-richtext p+h3, .terrain-richtext p+h4, .terrain-richtext p+h5, .terrain-richtext p+h6 {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #E3E0E8;
	}
	.terrain-parcelle {
		padding: 12px 20px;
	}
	.terrain-parcelle__nom, .terrain-parcelle__valeur, .terrain-recap__valeur {
		font-size: 18px;	
	}
	.terrain-parcelle__donnee_row {
		gap: 20px;
	}
	.terrain-parcelle__donnee {
		width: calc((100% - 20px) / 2);
	}
	.terrain-parcelle .terrain-parcelle__donnee_row .terrain-parcelle__donnee:first-child:before {
		right: -10px;
	}
	.terrain-parcelles {
		margin-bottom: 30px;
	}
	.terrain-hero {
		min-height: 600px;
	}	
	.terrain-hero__fleche--prec {
		left: 10px;
	}
	.terrain-hero__fleche--suiv {
		right: 10px;
	}
	.terrain-hero__fleche { 
		padding: 4px 6px;
	}
	.terrain-hero__fleche svg { 
		height: 100%;
		width: 100%;
	}
	.terrain-hero__fil {
		margin-bottom: 50px;
	}
}

@media (max-width: 760px) {
	.terrain-recap__inner { 
		flex-direction: column; 
		align-items: stretch; 
	}
	.terrain-recap__stat { 
		flex: 1 1 1px; 
		padding: 20px 18px; 
		border-inline-end: 0; 
		border-block-end: 1px solid #E3E0E8; 
	}
	.terrain-similaires__intro {
		flex: 1 1 1px;
		max-inline-size: 100%;
	}
	.terrain-recap__cta { margin: 14px 0 0; }
	.terrain-similaires__entete { flex-direction: column; align-items: flex-start; }
	.terrain-colonnes, .terrain-map, .terrain-conseiller, .terrain-similaires { padding: 40px 20px; }
	.terrain-hero__inner {
		padding: 80px 20px; 
	}
	.terrain-hero__titre { 
		margin: 10px 0 10px;
	}
	

}
@media (max-width: 575px) {
	.terrain-proximite { 
		width: 100%;
	}
	.terrain-parcelle > div {
		width: 100%;
	}
	.terrain-parcelle__nom, .terrain-parcelle__valeur, .terrain-recap__valeur {
		font-size: 16px;
	}
}
@media (max-width: 375px) { 
	.terrain-parcelle__donnee_row {
		flex-direction: column;
	}
	.terrain-parcelle__donnee {
		width: 100%;
	}
	.terrain-parcelle .terrain-parcelle__donnee_row .terrain-parcelle__donnee:first-child:before {
		content: unset;
	}
}

/* @media (prefers-reduced-motion: reduce) {
	.single-terrain .main *,
	.single-terrain .main *::before,
	.single-terrain .main *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
#demander-une-visite { scroll-margin-top: 90px; } */

.single-property .property-agent-contact-methods-wrapper {
    display: none;
}



/* lighthous image section 5-10-2026 */
html:has(#galleryModal[aria-hidden="false"]) {
	overflow: hidden;
}

.terrain-programe-imges, .terrain-parcelles {
	margin-top: 50px;
}

.gallery-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
	flex-wrap: wrap
}

.gallery-head p {
	margin: 0px 0 18px;
	font-size: var(--tr-small);
    font-weight: 400;
    color: var(--tr-ink-2);
}

.mosaic {
	display: grid;
	gap: 10px;
	height: 440px;
	border-radius: 14px;
	overflow: hidden
}

.tile {
	position: relative;
	padding: 0;
	border: 0;
	margin: 0;
	cursor: zoom-in;
	background: #ddd;
	overflow: hidden;
	min-height: 0
}

.tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease
}

.tile:hover img {
	transform: scale(1.04)
}

.tile .more {
	position: absolute;
	inset: 0;
	background: rgba(35,33,74,.62);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 600
}

.mosaic[data-n="1"] {
	grid-template-columns: 1fr;
	grid-template-rows: 1fr
}

.mosaic[data-n="2"] {
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr
}

.mosaic[data-n="3"] {
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 1fr 1fr
}

.mosaic[data-n="3"] .tile:first-child {
	grid-row: 1/3
}

.mosaic[data-n="4"] {
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr
}

.mosaic[data-n="4"] .tile:first-child {
	grid-row: 1/3
}

.mosaic[data-n="4"] .tile:nth-child(2) {
	grid-column: 2/4
}

.mosaic[data-n="5"] {
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr
}

.mosaic[data-n="5"] .tile:first-child {
	grid-row: 1/3
}

.btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	color: #23214a;
	border: 1.5px solid #23214a;
	border-radius: 10px;
	padding: 11px 18px;
	font: 600 15px/1 Rubik,sans-serif;
	cursor: pointer
}

.btn-ghost svg {
	width: 18px;
	height: 18px
}

.gallery-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
}

.gallery-modal-content {
    position: relative;
    z-index: 10;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery-modal-body {
    position: relative;
    text-align: center;
}

.gallery-modal-body img {
    max-width: 85vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 4px;
}

.gallery-modal-counter {
    display: block;
    color: #fff;
    margin-top: 10px;
    font-size: 14px;
}

.gallery-modal-close,
.gallery-modal-prev,
.gallery-modal-next {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    position: absolute;
    z-index: 20;
    padding: 10px;
}

.gallery-modal-close {
    top: -50px;
    right: 0;
	padding: 0;
}

.gallery-modal-prev {
    left: -50px;
}

.gallery-modal-next {
    right: -50px;
}

.gallery button, .gallery button * {
    transition: all .3s;
}

.gallery button:hover, .gallery button *:hover {
    color: var(--tr-teal);
    border-color: var(--tr-teal);
}

@media (min-width: 768px) and (max-width: 1024px) { 
	.gallery-modal {
		padding: 0px 100px;
	}
}

@media (max-width: 767px) {
	.mosaic {
		height: auto;
		grid-auto-rows: 110px
	}

	.mosaic[data-n] {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 220px
	}

	.mosaic[data-n] .tile:first-child {
		grid-column: 1/3;
		grid-row: auto
	}

	.mosaic[data-n="4"] .tile:nth-child(2) {
		grid-column: auto
	}

	.mosaic[data-n="2"] .tile:first-child {
		grid-column: auto
	}

	.mosaic[data-n="2"] {
		grid-template-rows: 180px
	}

	.gallery-modal-prev, .gallery-modal-next {
		top: calc(100% + 20px);
		font-size: 20px;
	}
	.gallery-modal-prev {
		left: calc(50% - 50px);
	}
	.gallery-modal-next {
		right: calc(50% - 50px);
	}
}

/* Grid layout for the mosaic */
.mosaic {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 220px);
    gap: 12px;
    border-radius: 12px;
    overflow: hidden;
}

/* First photo occupies full height on the left */
.mosaic .tile:first-child {
    grid-column: 1 / 2;
    grid-row: 1 / span 2;
}

/* Tile container styling */
.mosaic .tile {
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    cursor: pointer;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.mosaic .tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Semi-transparent dark overlay for the 5th tile */
.tile.tile-has-overlay::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
    pointer-events: none;
}

/* Text label "+2" positioned in the center */
.tile .more-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: #ffffff;
    font-size: 2rem;
    font-weight: 700;
    pointer-events: none;
}
/* lighthous image section 5-10-2026 END */