/*
Theme Name: Versant
Author:
Author URI:
Version: 1
Text Domain: vm
*/

/* ===============================
	 Palette & tokens (root)
	 =============================== */
:root{
	/* Couleurs de marque / UI */
	--bg:            #f3f7f1;   /* fond général “sage” */
	--surface:       #ffffff;   /* cartes, sections blanches, texte clair */
	--text:          #2b2523;   /* texte principal */
	--muted-text:    #2b2b2b;   /* texte secondaire */

	--brand:         #69705f;   /* badge, focus, éléments brandés */
	--accent-1:      #566156;   /* fond carte (section lots) */
	--accent-2:      #e8eddf;   /* pastille/étiquette slider */
	--accent-3:      #dfe3db;   /* fond visuel aérien (droite) */
	--accent-4:      #e6e6e6;   /* placeholder slider (gauche) */

	--main-pad     : 30px;
	--main-pad     : max(30px, env(safe-area-inset-left));
	--main-pad--   : calc(var(--main-pad) * -1);
	--section-pad  : 75px;

	/* Utilitaires */
	--black-rgb:     0,0,0;
	--white-rgb:     255,255,255;

	/* Rayons (facultatif) */
	--radius-lg:     24px;
	--radius-md:     20px;

	/* Footer */

	--c-bg: #f3f7f1;           /* fond global du site */
	--c-text: #111;            /* texte par défaut */
	--c-muted: #bfc6b9;        /* texte adouci sur fonds sombres */
	--c-white: #fff;
	--c-brand: #69705f;        /* accent / marque */
	--c-footer-grad: rgba(0,0,0,.72); /* voile bas du footer */
	--c-footer-border: rgba(255,255,255,.14);

	--ff-titre: "Playfair Display", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;

}
/* ====== Base ====== */
*,
*::before,
*::after { box-sizing: border-box; }
html, body { height: 100%; }
html { scroll-behavior: smooth; }
body{
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: "Rubik", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
	line-height: 1.5;
	font-synthesis-weight: none;
}
details summary { cursor: pointer; list-style-type: none; }
details > summary::-webkit-details-marker { display: none; }

.hide, .screen-reader-text, .visually-hidden, .cmplz-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
sup { font-size: 60%; line-height: 1; }
.section { padding-block: var(--section-pad); }
.section.-top { padding-bottom: 0; }
	.section > .container { margin-bottom: 0; }
.container { margin: 0 auto; width: min(100%, 960px); padding-inline: var(--main-pad); }

@media (max-width: 480px) {
	:root { --main-pad: 20px; --section-pad: 45px; }
}

a { color: var(--c-brand); }

.map-point summary, .map-close { /* autoprefixer: off */ transition: all 0.2s linear; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.cmplz-document .content { background-color: var(--bg); }
#cmplz-document * + h2 { margin-top: 45px; }
#cmplz-document .cmplz-dropdown { background-color: hsl(92, 10%, 85%); }
html #cmplz-document .cmplz-dropdown :is(.cmplz-service-description, .cmplz-sharing-data) { padding: 10px 0 0 }
html #cmplz-document .cmplz-dropdown summary { margin-bottom: 0; background-color: var(--c-muted); }
html #cmplz-document .cmplz-dropdown .cookies-per-purpose { margin-bottom: 0; }
#cmplz-document .cmplz-dropdown .cookies-per-purpose .purpose { padding: 5px 0; }
html #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header { background-color: hsl(92, 10%, 85%); }

.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem max(var(--main-pad), 3.8%); justify-content: start; align-items: start; }
.cols1-2 { grid-template-columns: minmax(0, 1fr) 65.4%; }
.cols2-1 { grid-template-columns: 65.4% minmax(0, 1fr); }
.cols3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

:is(.cols2, .cols3, .cols4):has(.-span2, .-span3, .-span4) { grid-auto-flow: dense; }
:is(.cols2, .cols3, .cols4) .-span2 { grid-column: span 2; }
:is(.cols2, .cols3, .cols4) .-span3 { grid-column: span 3; }
:is(.cols2, .cols3, .cols4) .-span4 { grid-column: span 4; }

:where(.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set).-reverse { grid-auto-flow: dense; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(1) { grid-column: 2; }
	:where(.cols2, .cols1-2, .cols2-1, .col2-set).-reverse > *:nth-child(2) { grid-column: 1; }

:where(.cols2, .cols1-2, .cols2-1, .cols3, .cols4, .cols5, .col2-set).-v-center { align-items: center; }

/* ====== HERO (1920 maqu., image 1875) ====== */
.hero{
	width: min(1875px, 95vw);
	height: 450px;
	margin: 24px auto 0;
	position: relative;
	border-radius: var(--radius-lg);
	overflow: visible;
}
.home .hero { height: 95vh; }

/* Couches visuelles */
.hero__media,
.hero__overlay,
.hero__vignette{
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	pointer-events: none;
	z-index: 1;
	margin: 0;
}

.hero__media {
	border-radius: 24px;
	overflow: hidden;
	display: block;
	line-height: 0;
}

.hero__media img{
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;display: block;
	object-position: center;
	border-radius: inherit;
}

/* Overlay */
.hero__overlay{
	background: linear-gradient(
		0deg,
		rgba(var(--black-rgb),0.58) 0%,
		rgba(var(--black-rgb),0.40) 30%,
		rgba(var(--black-rgb),0.30) 70%
	);
	border-radius: var(--radius-lg);
}

/* ====== Badge/logo — centré et dépasse ====== */
.brand-badge{
    --size: clamp(140px, 15vw, 200px);
	position: absolute;
	left: 15%;
	top: 0;
	transform: translate(-50%, -65px);
	width: var(--size);
	height: var(--size);
	border-bottom-left-radius: var(--radius-md);
	border-bottom-right-radius: var(--radius-md);
	background: var(--brand);
	display: grid;
	place-items: center;
	z-index: 6;
	filter: drop-shadow(0 16px 34px rgba(var(--black-rgb), .25));
}
.brand-badge img { position: absolute; left: 0; bottom: 0; right: 0; display: block; width: 100%; height: 100%; padding: 10px 20px 20px; object-fit: contain; object-position: center bottom; }

/* ====== Contenu hero ====== */
.hero__content{
	position: absolute; inset: 0;
	z-index: 4;
	display: flex; flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0 48px;
	color: var(--surface);
	text-shadow: 0 3px 22px rgba(var(--black-rgb), .6);
	gap: 10px;
}
.hero__eyebrow{
	margin: 0;
	font-family: "Rubik", sans-serif;
	font-weight: 100;
	font-size: clamp(14px, 1.4vw, 20px);
	line-height: 1.1;
	letter-spacing: .22em;
	text-transform: uppercase;
	opacity: .98;
}
.hero__title{
	margin: 0;
	font-family: var(--ff-titre);
	font-weight: 700;
	font-size: clamp(32px, 4vw, 60px);
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--surface);
	text-wrap: balance;
}
.hero__subtitle{
	margin: 0;
	font-family: "Rubik", sans-serif;
	font-weight: 100;
	font-size: clamp(16px, 1.5vw, 20px);
	line-height: 1.4;
	max-width: 550px;
	opacity: .98;
}

/* ====== Reveal ====== */
[data-reveal]{
	opacity: 0;
	transform: translateY(16px) scale(.985);
	transition:
		opacity .55s ease,
		transform .75s cubic-bezier(.22,1,.36,1);
	transition-delay: var(--reveal-delay, 0ms);
}
[data-reveal].revealed{ opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce){
	[data-reveal]{ transition: none; opacity: 1; transform: none; }
}



/* ====== SECTION 2 ====== */
.features{
	width: min(1400px, 80%);
	margin: 0px auto;
	padding: 90px 0px;
}
.features__inner{
	width: min(1400px, 100%);
	margin: 0 auto;
	padding: 0 40px;
	display: grid;
	grid-template-columns: .90fr 1.10fr;
	gap: 72px;
	align-items: flex-end;
}

h2{
	font-family: var(--ff-titre);
	font-weight: 700;
	font-size: clamp(25px, 3vw, 40px);
	line-height: 1.2;
	margin: 0 0 30px 0;
}

/* colonne droite (icônes + texte) */
.features__grid{
	display: grid;
	/*grid-template-columns: 1fr 1fr;*/
	grid-auto-rows: auto;
	column-gap: 56px;
	row-gap: 28px;
}
.features__grid .feature:nth-of-type(1){ grid-column: 1; grid-row: 1; }
.features__grid .feature:nth-of-type(3){ grid-column: 2; grid-row: 1; }
.features__grid .feature:nth-of-type(2){ grid-column: 1; grid-row: 2; }
.features__text{ grid-column: 1 / -1; grid-row: 3; }

/* ligne icône + libellé */
.feature{
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: "Rubik", sans-serif;
	font-size: clamp(14px, 1.2vw, 15px);
	font-weight: 400;
	color: var(--text);
	min-height: 56px;
	flex-wrap: wrap;
	width: 100%;
}
.feature img{
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	object-fit: contain;
}

/* paragraphe sous les puces */
.features__text{
	margin: 12px 0 0;
	font-family: "Rubik", sans-serif;
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.55;
	max-width: 640px;
	color: var(--muted-text);
}

/* ====== Responsive section 2 ====== */
@media (max-width: 980px){
	.features__inner{
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.features__grid{
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.features__text{ max-width: 100%; }
	.features{
		width: min(1400px, 100%);
}
}
/* Toujours icône gauche / texte droite */
.features .feature{
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 16px;
	width: 100%;
}
.features .feature img{
	--ico: clamp(40px, 6vw, 56px);
	width: var(--ico);
	height: var(--ico);
	flex: 0 0 var(--ico);
	object-fit: contain;
	margin-top: -5px;
}
.features .feature span,
.features .feature .feature__label{
	flex: 1 1 auto;
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
	line-height: 1.4;
}
@media (max-width: 560px){
	.features .feature{ gap: 12px; }
}
/* Bouton Features : colonne droite, full width, aligné à droite */
.features__cta{
	grid-column: 2;           /* place le bloc dans la colonne de droite */
	align-self: end;          /* colle en bas de la colonne */
	margin: 12px 0 0;         /* petit espace au-dessus */
}

.features__cta .cta-link{
	display: flex;
	width: 100%;              /* prend toute la largeur de la colonne */
	justify-content: flex-end;/* contenu aligné à droite */
	max-width: none;          /* annule le max-width existant */
}

/* Mobile : une seule colonne → full width, aligné à gauche si souhaité */
@media (max-width: 980px){
	.features__cta{
		grid-column: 1;         /* unique colonne */
	}
	.features__cta .cta-link{
		justify-content: flex-start;
	}
}

/* Réduit l'écart vertical entre les lignes de la grille Features */
.features .features__inner{
	align-items: start !important;     /* évite le push vers le bas */
	column-gap: 72px !important;       /* on garde l'écart horizontal */
	row-gap: 8px !important;           /* AU LIEU de gap:72px; => plus de gros trou */
}

/* Le CTA reste en colonne de droite, collé sous la grille d'icônes */
.features__cta{
	grid-column: 2;
	align-self: start;                 /* colle en haut de sa ligne */
	margin-top: 0 !important;          /* supprime toute marge résiduelle */
}

.features__cta .cta-link{
	display: flex;
	width: 100%;
	justify-content: start;
	max-width: none;
	margin-top: 0;
}

/* Mobile : une seule colonne → full width, aligné à gauche si tu préfères */
@media (max-width: 980px){
	.features .features__inner{
		row-gap: 12px !important;        /* un peu plus d’air en mobile */
	}
	.features__cta{
		grid-column: 1;
	}
	.features__cta .cta-link{
		justify-content: flex-start;
	}
}


/* ====== SECTION 3 ====== */
.reserve{
	width: 100%;
	background: var(--surface);
	margin: 0;
	padding: 80px 0;
}
.reserve__inner{
	width: min(1400px, 80%);
	margin: 0 auto;
	padding: 0 40px;
	display: grid;
	grid-template-columns: .90fr 1.10fr;
	gap: 72px;
	align-items: center;
}
.reserve__media{
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.reserve__media img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.reserve__text{
	margin: 14px 0 0;
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.6;
	color: var(--muted-text);
	max-width: 560px;
}
.cta-link{
	display: inline-flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 22px;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: clamp(16px, 1.2vw, 18px);
	color: var(--text);
	text-decoration: underline;
	text-underline-offset: 3px;
	max-width: 80%;
}
.cta-link svg{
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	transition: transform .25s ease;
}
.cta-link:hover svg{ transform: rotate(45deg); }
.cta-link:hover {
		text-decoration: none;
}
.cta-link:focus-visible{
	outline: 2px solid var(--brand);
	outline-offset: 3px;
	border-radius: 6px;
}


@media (max-width: 1024px){
	.reserve__inner, .features, html .wrap { width: 96%; }
}
@media (max-width: 980px){
	.reserve__inner{
		grid-template-columns: 1fr;
		gap: 28px;
		width: min(1400px, 100%);
	}
	.reserve__text, .cta-link{ max-width: 100%; }
}

/* ====== SECTION 4 : Nos terrains disponibles ====== */
p.lots__cta {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 0 30px;
    text-align: center;
}
.lots {
	width: 95%;
	margin: 0 auto;
	padding: 90px 0;
}
.lots__title{
	margin: 0 0 28px 0;
	text-align: center;
	color: var(--text);
}
.lots__frame{
	margin: 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--accent-1);
}
.lots__frame img{
	display: block;
	width: 100%;
	height: auto;
}

.lots .h-scroll { overflow: auto; }
.bloc-map { position: relative; min-width: 729px; }
.map-point {}
	.map-point summary { position: absolute; z-index: 2; display: grid; place-content: center; width: 22px; height: 22px; background-color: var(--bg); color: var(--text); font-size: 11px; line-height: 1; border: 1px solid var(--text); border-radius: 50%; transform: translate(-50%, -50%); }
	:is(.map-point, .singular-lot, .status):where(.status-2) { --status: #f8ee6c; }
	:is(.map-point, .singular-lot, .status):where(.status-3) { --status: #db5552; --statustxt: var(--bg); }
	.map-point:where(.status-2, .status-3) summary { font-weight: bold; }
	.map-point:where(.status-2) summary { background-color: var(--status); }
	.map-point:where(.status-3) summary { color: var(--status); border-color: var(--status); }
	.map-point summary:is(:hover, :focus) { background-color: var(--text); color: var(--bg); border-color: var(--bg); }

	.map-point .txt { position: absolute; z-index: 10; top: var(--main-pad); right: var(--main-pad); min-width: 300px; padding: 15px; background-color: var(--bg); border-radius: var(--radius-lg); box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), 0 0 15px rgba(0, 0, 0, 0.2), 0 0 25px rgba(0, 0, 0, 0.2); }
	.map-point:where(.status-2, .status-3) .txt { padding-bottom: 25px; }
	.map-point .txt h3 { margin: 0; }
	.map-point .lot-addr { font-size: 14px; }
	.map-point .lot-details { margin-top: 30px; }
	:is(.map-point, .singular-lot, .tbl-lots) .status { padding: 3px 10px; text-transform: uppercase; font-size: 11px; font-weight: normal; background-color: var(--status); color: var(--statustxt, var(--text)); border: 1px solid var(--text); border-radius: 200px; }
	:is(.map-point, .singular-lot) .cta-link { display: flex; justify-content: center; max-width: inherit; margin-top: 30px; }
	.map-point .txt p { margin: 0; }
	.map-point button { position: absolute; z-index: 5; top: 15px; right: 15px; padding: 0; width: 18px; height: auto; background: transparent; border: none; cursor: pointer; }
	.map-point button g { stroke-width: 3px; }
	.map-point button:is(:hover, :focus) svg { color: var(--brand); }

/** lots */
.singular-lot {}
	.singular-lot .col-txt { container-type: inline-size; align-self: center; }
	.singular-lot .col-txt > :last-child { margin-bottom: 0; }
	.singular-lot h3 { margin: 0 0 0.67em; font-size: clamp(18px, 8cqw, 32px); font-family: var(--ff-titre); }
	.singular-lot .lot-img { border-radius: var(--radius-md); }
	.singular-lot .lot-img.-placeholder { display: grid; place-items: center; padding-top: 100%; background: url(images/icn-img.svg) 50% 50%/10% no-repeat; border: 3px dashed var(--c-brand);}
	.singular-lot .lot-img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }

.lot-addr { font-style: italic; font-weight: 300; }

.bloc-price { margin-top: 15px; padding-top: 15px; border-top: 1px dotted var(--c-muted); font-size: 20px; font-weight: 300; text-align: center; }
.bloc-price + .cta-link { margin-top: 15px; padding-top: 15px; border-top: 1px dotted var(--c-muted); }

.lot-details { display: grid; grid-template-columns: auto 1fr; gap: 8px 25px; margin: 45px 0 0; line-height: 1.3; }
	.lot-details dt { font-weight: bold; }
	.lot-details dd { margin: 0; font-weight: 300; text-align: right; }

html .gform-theme--foundation { --gf-form-gap-y: 20px }
.gform_required_legend { font-style: italic; font-size: 12px; opacity: 0.5; }
.gform-theme--framework .gfield--input-type-adminonly_hidden { display: none; }

.ls-lots { margin-top: 4.5rem; }
.tbl-lots { position: relative; width: 100%; border-collapse: collapse; }
	.tbl-lots th { position: sticky; top: 0; z-index: 5; background-color: var(--c-bg); box-shadow: 0 1px 0 var(--c-text); }
	.tbl-lots :is(th, td) { padding: 4px 15px; }
	.tbl-lots thead th { font-weight: bold; text-align: left; }
	.tbl-lots tbody tr { border-bottom: 1px solid var(--accent-4); }
	.tbl-lots .-text-right { text-align: right; }
	.tbl-lots .status { position: relative; top: -2px; }
	.tbl-lots .cta-link { margin: 0; align-items: center; }
	.tbl-lots .cta-link svg { flex-basis: 14px; width: 14px; height: 14px; }

@media (max-width: 980px) {
	.lots{ padding: 30px 0; }
	.lots__title{ margin-bottom: 20px; }
}
@media (max-width: 810px) {
	.tbl-scroll {
		margin-inline: -2.5%; padding-left: 2.5%;
		display: flex;
		flex-wrap: nowrap;
		white-space: nowrap;
		overflow: scroll;
		overflow-x: scroll;
		overflow-y: hidden;
		scrollbar-width: none; -ms-overflow-style: none;
		background-image: linear-gradient(to right, var(--c-bg), var(--c-bg)), linear-gradient(to right, var(--c-bg), var(--c-bg)), linear-gradient(to right, rgba(0, 0, 0, .250), rgba(255, 255, 255, 0)), linear-gradient(to left, rgba(0, 0, 0, .250), rgba(255, 255, 255, 0));
		background-position: left center, right center, left center, right center;
		background-repeat: no-repeat;
		background-color: var(--c-bg);
		background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
		background-attachment: local, local, scroll, scroll;
	}
	.tbl-scroll::-webkit-scrollbar { display: none; }
	.tbl-scroll { scrollbar-width: none; -ms-overflow-style: none; }

	.tbl-lots { min-width: 810px; }
	.tbl-lots thead { display: none; }
	.tbl-lots th { position: static; }
	.tbl-lots td[data-title]::before { content: attr(data-title) ": "; margin-right: 10px; font-weight: bold; }
	.tbl-lots :is(th, td):first-child { position: sticky; z-index: 2; left: -2.5%; background-color: var(--c-bg); box-shadow: 1px 0 0 var(--c-text); }
	.tbl-lots td[data-title].-text-right { text-align: left; }
}
@media (max-width: 767px) {
	.singular-lot .cols2 { grid-template-columns: 1fr; }
	.singular-lot .lot-img img { aspect-ratio: 3/1.5; }
	.singular-lot .lot-img.-placeholder { display: none; }

	.lots .h-scroll { margin-inline: -2.5%; }
	.lots .h-scroll .lots__frame { border-radius: 0; }
	.map-point .txt { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); }
}

/* ====== SECTION 5 ====== */
.amenities{
	width: 100%;
	padding: 90px 0;
	background-color: var(--surface);
}



.amenities__inner {
	max-width: 1400px;
	width: calc(100% - clamp(24px, 4vw, 40px));
	margin-left: auto;
	margin-right: clamp(24px, 4vw, 40px);
	padding: 0;
}
/* Rangée 1 */
.amenities__row{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}
.amenities__text p{
	margin: 12px 0 0;
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: clamp(16px, 1.1vw, 18px);
	line-height: 1.6;
	color: var(--muted-text);
	max-width: 640px;
}
.amenities__title{
	margin: 0 0 10px;
	color: var(--text);
}
.amenities__media{
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.amenities__media img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
/* Sous-titre slider */
.amenities__subtitle{
	font-family: var(--ff-titre);
 font-weight: 700;
	font-size: clamp(20px, 1.8vw, 24px);
	color: var(--text);
	margin-left: 20px;
}
/* Slider */
.amenities__carousel{ position: relative; }
.amenities__track{
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: clamp(220px, 24vw, 320px);
	gap: 20px;
	margin: 0;
	padding: 4px 0;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.amenities__track::-webkit-scrollbar{ display: none; }
.amenity{
	scroll-snap-align: start;
	border-radius: 16px;
	background: var(--surface);
	overflow: hidden;
}
.amenity__media img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}
.amenity__label{
	text-align: center;
	background: #fff;
	padding: 14px 12px;
	font-family: "Rubik", sans-serif;
	font-weight: 500;
	font-size: 15px;
	color: var(--text);
	position: absolute;
	width: 90%;
	bottom: 10px;
	margin: 0 5%;
	border-radius: 5px;
}
/* Flèches */
.amenities__arrow{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	border-radius: 999px;
	border: 1px solid rgba(var(--black-rgb), .08);
	background: var(--surface);
	color: var(--text);
	display: grid; place-items: center;
	cursor: pointer;
	transition: transform .15s ease, opacity .2s ease;
	z-index: 2;
}
.amenities__arrow--prev{ left: -18px; }
.amenities__arrow--next{ right: -18px; }
.amenities__arrow:active{ transform: translateY(-50%) scale(.98); }
.amenities__arrow[disabled]{ opacity: .35; pointer-events: none; }
figure.amenity__media{ margin: 0; position: relative; }

@media (max-width: 1200px){
	.home .hero {
		height: 70vh;
}

	.amenities__arrow--prev{ left: 6px; }
	.amenities__arrow--next{ right: 6px; }
}
@media (max-width: 980px){
	.hero__content {
		padding: 10px;
}
	.home .hero {
		height: max(410px, 60vh);
}
	.amenities__text { grid-area:left; }
.amenities__media { grid-area:right; }
	.amenities__row{
	grid-template-areas:
			"right"
			"left";
	}
	.amenities__text p{max-width:100%;}
	.amenities__inner{
		width: 100%;
		margin: 0;
		padding: 0 clamp(16px, 4vw, 24px);
	}
	.amenities__row{ grid-template-columns: 1fr; gap: 24px; }
	.amenities__subtitle{ margin-top: 28px; }
	.amenities__track{
		grid-auto-columns: clamp(240px, 70vw, 320px);
		padding: 0;
	}
	.home .amenities{padding-bottom:0;}
}

@media (max-width: 551px){
	.hero__content {
		padding: 0 10px 25%;
}
}

/* Panneau de fond pour le sous-titre + slider */
:root{
	/* Ajuste la teinte si tu veux – valeur par défaut si non défini ailleurs */
	--c-amenities-bg: #a2ab9e;
}

.amenities__panel{
	background: var(--c-amenities-bg, #a2ab9e);
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
	padding: 22px clamp(18px, 3vw, 32px) 26px;
			max-width: 90%;
		margin: 60px 0 0 auto;
}
.amenities__panel_inner {
		max-width: 1400px;
		width: calc(100% - clamp(24px, 4vw, 40px));
		margin-left: auto;
		padding: 0;
}
/* Un peu d’air latéral à l’intérieur du panneau pour la piste */
.amenities__track{
	padding: 4px clamp(12px, 3vw, 28px);
}

/* Flèches à l’intérieur du panneau (au lieu de déborder) */
.amenities__arrow--prev{ left: -25px; }
.amenities__arrow--next{ right: 12px; }

@media (max-width: 980px){
	.amenities__panel{
		padding: 18px clamp(14px, 4vw, 22px) 22px;
	}
	.amenities__arrow--prev{ left: 8px; }
	.amenities__arrow--next{ right: 8px; }
}


/* ====== SECTION 6 — bloc texte + image, ANCRÉ À GAUCHE ====== */
.quality{
	width: 100%;
	padding: 90px 0;
	background-color: var(--surface);
}
.quality__inner{
	max-width: 1400px;
	width: calc(100% - clamp(24px, 4vw, 40px));
	margin-left: clamp(24px, 4vw, 40px);
	margin-right: 0;
	padding: 0;
}
.quality__row{
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 48px;
	align-items: center;
}
.quality__media{
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.quality__media img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.quality__text p{
	margin: 12px 0 0;
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: clamp(16px, 1.1vw, 18px);
	line-height: 1.6;
	color: var(--muted-text);
	max-width: 640px;
}
.quality__text strong{ font-weight: 600; }
@media (max-width: 980px){
	.quality__inner{
		width: 100%;
		margin: 0;
		padding: 0 clamp(16px, 4vw, 24px);
	}
	.quality__row{
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.quality__text p{ max-width: 100%; }
}

/* ====== SECTION 7 — Vue aérienne ====== */
.aerial{
	width: 100%;
	padding: 90px 0;
}
.aerial__inner{
	width: 95%;
	margin: 0 auto;
	padding: 0;
}

/* En-tête */
.aerial__head{
	display: grid;
	grid-template-columns: 0.65fr 1.45fr;
	gap: 28px;
	align-items: end;
	margin-bottom: 16px;
}
.aerial__title{
	margin: 0;
	color: var(--text);
}
.aerial__lead{
	display: grid;
	grid-template-columns: 1fr auto;
	grid-auto-rows: auto;
	column-gap: 20px;
	row-gap: 10px;
	align-items: end;
	padding: 0 30px;
}
.aerial__lead p{
	margin: 0;
	font-family: "Rubik", sans-serif;
	font-weight: 300;
	font-size: clamp(16px, 1.15vw, 18px);
	line-height: 1.6;
	color: var(--muted-text);
	grid-column: 1;
}
.aerial__lead .cta-link{
	grid-column: 2;
	align-self: start;
	justify-self: end;
	text-align: left;
}

/* Grille images */
.aerial__grid{
	display: grid;
	grid-template-columns: 0.65fr 1.45fr;
	gap: 28px;
	align-items: stretch;
}

/* Slider fade (gauche) */
.aerial__left{
	position: relative;
	margin: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: var(--accent-4);
}
.fade-slider .fade-slide{
	position: absolute; inset: 0;
	opacity: 0;
	transition: opacity .8s ease;
}
.fade-slider .fade-slide.is-active{ opacity: 1; }
.fade-slider img{
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}

/* Grande image (droite) */
.aerial__right{
	position: relative;
	margin: 0;
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--accent-3);
}
.aerial__right img{
	width: 100%; height: 100%;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* Badge logo (optionnel) */
.aerial__badge{
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	background: var(--brand);
	border-radius: 16px;
	padding: clamp(14px, 1.8vw, 24px) clamp(20px, 2.2vw, 30px);
	display: grid; place-items: center;
	filter: drop-shadow(0 12px 30px rgba(var(--black-rgb), .25));
}
.aerial__badge img{
	width: clamp(120px, 12vw, 180px);
	height: auto;
	display: block;
	filter: brightness(0) invert(1);
}

/* Repères (optionnels) */
.aerial__pin{
	position: absolute;
	left: var(--x); top: var(--y);
	transform: translate(-50%, -50%);
}
.aerial__pin::before{
	content:"";
	width: 12px; height: 12px;
	border: 2px solid var(--surface);
	background: rgba(var(--black-rgb), .25);
	border-radius: 999px;
	display: block;
	box-shadow: 0 0 0 2px rgba(var(--black-rgb), .25);
}
.aerial__pin-label{
	position: absolute;
	left: 14px; top: -6px;
	background: rgba(var(--black-rgb), .55);
	color: var(--surface);
	font-family: "Rubik", sans-serif;
	font-size: 13px;
	padding: 6px 10px;
	border-radius: 8px;
	white-space: nowrap;
}

/* Responsive */
@media (max-width: 1080px){
	.aerial__head{
		grid-template-columns: 1fr;
		gap: 12px;
		align-items: start;
	}
	.aerial__lead{
		grid-template-columns: 1fr;
		row-gap: 8px;
		padding:0;
	}
	.aerial__lead .cta-link{ justify-self: start; }
}
@media (max-width: 980px){
	.aerial__inner{
		width: min(1400px, 100%);
		padding: 0 clamp(16px, 4vw, 24px);
	}
	.aerial__grid{
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.aerial__badge{
		transform: translate(-50%, -50%) scale(.9);
	}
	.aerial__lead .cta-link {
		grid-column: 1;
		margin-top: 10px;
		margin-bottom: 10px;
}
	.aerial__left {
		aspect-ratio: 4 / 3;
}
}



/* ===== Footer ===== */
.site-footer{
	position: relative;
	color: var(--c-white);
	background: #0e0f0e; /* on garde juste la couleur de fond */
	overflow: hidden;
}

/* wrapper de l’image de fond (invisible pour l’accessibilité) */
.footer__bgwrap{
	position: absolute;
	inset: 0;
	z-index: 0;
	display: block;
}

.footer__bg{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;      /* comme background-size: cover */
	object-position: center;/* comme background-position */
	display: block;
}

/* voile très léger sur le bas pour la lisibilité + une petite ligne */
.site-footer::before{
	content:"";
	position:absolute; inset:0;
	pointer-events:none;
}

/* Grille 4 colonnes */
.footer__inner{
	width: min(1200px, 90%);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 0.75fr 0.75fr 1fr auto; /* ≈ mise en page Divi */
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
	padding-top: 200px;
	position:relative;
}

/* Titres + soulignement */
.footer__title{
	margin: 0 0 18px 0;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.15;
	border-bottom: 1px solid var(--c-footer-border);
	padding-bottom: 10px;
}

/* Listes de liens */
.footer__list{
	list-style: none;
	margin: 0; padding: 0;
	padding: 0 0 23px 0;
}
.footer__list li{ margin: 0; }
.footer__list a{
	color: var(--c-white);
	text-decoration: none;
	font-size: 15px;
}
.footer__list a:hover{ text-decoration: underline; }

/* Bouton social (col 3) */
.footer__social{
	display:flex;
	align-items:flex-start;
	justify-content:center;
}
.social-btn{
	display:grid; place-items:center;
	color: var(--c-white);
	border-radius: 999px;
	border: 1px solid var(--c-white);
	transition: transform .15s ease, background .2s;
}
.social-btn:hover{ transform: scale(1.03); }
.social-btn svg{ width: 30px; height: 30px; }

/* Logo + coordonnées (col 4) */
.footer__brand{
	text-align: right;
	margin-top:-65px;
}
.footer__logo{
	width: clamp(140px, 18vw, 150px);
	height: auto; display:block;
	margin-left: auto;
	filter: brightness(0) invert(1); /* logo sombre => le rendre blanc si besoin */
}
.footer__address{
	margin-top: clamp(10px, 2.2vw, 18px);
	font-style: normal;
	color: #fff;
	line-height: 1.9;
}
.footer__address a{
	color: var(--c-white);
	text-decoration: none;
	font-weight: 500;
}
.footer__address a:hover{ text-decoration: underline; }

/* Ligne de crédit */
.footer__credit{
	position: relative;
	z-index: 1;
	width: min(1200px, 90%);
	padding-block: 18px;
	margin: 25px auto 0;
	color: var(--c-white);
	font: 400 15px/1.6 "Rubik", system-ui, -apple-system, Segoe UI, Roboto, Arial;
}
.footer__credit::after{
	content:"";
	position:absolute; left:-100%; right:-100%; top:0; height:1px;
	background: var(--c-footer-border);
	opacity:.8;
}
.footer__credit a{
	color: var(--c-white);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.footer__credit a:hover{ color: var(--c-brand); }


.partner { flex: 0 0 100%; }
	.partner p { margin: 0 0 5px; font-size: 14px; line-height: 1.2; }
	.partner img { display: block; }

/* ===== Responsive ===== */
@media (max-width: 1100px){
	.footer__brand{ text-align: left; }
	.footer__logo{ margin-left: 0; }
}


/* ===== FORMULAIRE (au-dessus du footer) ===== */
#formulaire { position: relative; z-index: 9; margin-bottom: -110px; }
.contact-form {
		width: 100%;
		padding: 0px 0 30px;
		background: transparent;
		position: relative;
		z-index: 9;
}
.contact-form__inner{
	width: min(1100px, 92%);
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 24px);
}
.contact-form__title{
	margin: 0 0 22px 0;
	text-align: center;
	font-family: var(--ff-titre);
	font-weight: 700;
	font-size: clamp(26px, 3vw, 36px);
	color: var(--text);
}
.contact-form__card{
	background: var(--surface);
	border-radius: 22px;
	padding: clamp(18px, 3vw, 28px);
	box-shadow: 0 18px 48px rgba(0,0,0,.15);
}

/* Champs génériques à l’intérieur de la carte (fonctionne avec CF7, GF, WPForms…) */
.contact-form__card input[type="text"],
.contact-form__card input[type="email"],
.contact-form__card input[type="tel"],
.contact-form__card input[type="url"],
.contact-form__card input[type="number"],
.contact-form__card select,
.contact-form__card textarea{
	width: 100%;
	background: #e9efe6;         /* vert très pâle */
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 12px;
	padding: 12px 14px;
	font: 400 16px/1.4 "Rubik", system-ui, -apple-system, Segoe UI, Roboto, Arial;
	color: var(--text);
	outline: none;
	transition: box-shadow .15s ease, border-color .15s ease;
}
.contact-form__card textarea{ min-height: 220px; resize: vertical; }
.contact-form__card input:focus,
.contact-form__card select:focus,
.contact-form__card textarea:focus{
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(105,112,95,.18);
}

/* Labels & lignes (compat CF7 : <p> par champ) */
.contact-form__card label{ display:block; font: 500 14px/1.2 "Rubik", system-ui; margin: 8px 0 6px; color: var(--text); }
.contact-form__card p{ margin: 12px 0; }

/* Boutons d’envoi */
.contact-form__card input[type="submit"],
.contact-form__card button[type="submit"]{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.06);
	background: #e9efe6;
	color: var(--text);
	font: 500 16px/1 "Rubik", system-ui;
	cursor: pointer;
	transition: transform .12s ease, background .2s ease;
}
.contact-form__card input[type="submit"]:hover,
.contact-form__card button[type="submit"]:hover{
	transform: translateY(-1px);
}

/* Messages (CF7) */
.contact-form__card .wpcf7-response-output{
	margin: 16px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,.1);
	background: #fff;
}
.contact-form__card .wpcf7-not-valid-tip{
	color: #a40000;
	font-size: 13px;
	margin-top: 6px;
}

/* Grille 2 colonnes pour CF7 quand on met html_class="two-cols" dans le shortcode */
.contact-form__card .wpcf7.two-cols form{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
}

/* Chaque label est une “cellule” de la grille */
.contact-form__card .wpcf7.two-cols form > label,
.contact-form__card .wpcf7.two-cols form > div{
	min-width: 0;
}

/* Les éléments pleine largeur (textarea, bouton, etc.) */
.contact-form__card .wpcf7.two-cols form .full{
	grid-column: 1 / -1;
}

/* Harmonise les contrôles CF7 avec ton style générique déjà présent */
.contact-form__card .wpcf7 input[type="text"],
.contact-form__card .wpcf7 input[type="email"],
.contact-form__card .wpcf7 input[type="tel"],
.contact-form__card .wpcf7 textarea{
	width: 100%;
	background: #e9efe6;
	border: 1px solid rgba(0,0,0,.06);
	border-radius: 5px;
	padding: 12px 14px;
	font: 400 16px/1.4 "Rubik", system-ui, -apple-system, Segoe UI, Roboto, Arial;
	color: var(--text);
	transition: box-shadow .15s ease, border-color .15s ease;
}
.contact-form__card .wpcf7 textarea{ min-height: 220px; resize: vertical; }

.contact-form__card .wpcf7 input:focus,
.contact-form__card .wpcf7 textarea:focus{
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(105,112,95,.18);
}

/* Bouton */
.contact-form__card .wpcf7 input[type="submit"]{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.06);
	background: #e9efe6;
	color: var(--text);
	font: 500 16px/1 "Rubik", system-ui;
	cursor: pointer;
	transition: transform .12s ease, background .2s ease;
}
.contact-form__card .wpcf7 input[type="submit"]:hover{ transform: translateY(-1px); }

/* Messages CF7 */
.contact-form__card .wpcf7-response-output{
	margin: 16px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,.1);
	background: #fff;
}
.contact-form__card .wpcf7-not-valid-tip{
	color: #a40000;
	font-size: 13px;
	margin-top: 6px;
}
/* Active la grille 2 colonnes quand le <form> porte la classe two-cols */
.contact-form__card .wpcf7 form.two-cols{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
}

/* Les “cellules” de la grille (selon ton markup CF7: <label>… ou <p>… ) */
.contact-form__card .wpcf7 form.two-cols > p,
.contact-form__card .wpcf7 form.two-cols > label,
.contact-form__card .wpcf7 form.two-cols > div{
	min-width: 0;
}

/* Éléments pleine largeur (textarea, bouton, etc.) */
.contact-form__card .wpcf7 form.two-cols .full{
	grid-column: 1 / -1;
}

/* Responsive : 1 colonne sur mobile */
@media (max-width: 700px){
	.contact-form__card .wpcf7 form.two-cols{
		grid-template-columns: 1fr;
	}

}

.contact-form__card.revealed {
		max-width: 750px;
		margin: 0 auto;
}
.gform_wrapper .gform_footer input[type=submit] {
	--gf-local-bg-color: #000!important;
}

figure{position:relative;}

.reserve__media:after,.amenities__media:after,.quality__media:after {
		content: "";
		background: url(/wp-content/uploads/2025/09/talo.png);
		width: 105px;
		display: block;
		background-position: bottom right;
		height: 37px;
		position: absolute;
		bottom: 20px;
		right: 20px;
		background-size: contain;
		background-repeat: no-repeat;
		opacity: .6;
}
.hero__content:after {
		content: "";
		background-image: url(/wp-content/uploads/2025/09/talo.png);
		position: absolute;
		bottom: 20px;
		right: 20px;
		display: block;
		width: 105px;
		height: 25px;
		background-size: contain;
		background-repeat: no-repeat;
		opacity: 0.6;
}

/* Fait occuper toute la hauteur au <video> et découpe comme un cover */
.aerial__left--video {
	position: relative;
	overflow: hidden;          /* pour respecter les coins arrondis du conteneur */
}

.aerial__left--video .aerial__video {
	position: absolute;
	inset: 0;                  /* top:0; right:0; bottom:0; left:0 */
	width: 100%;
	height: 100%;
	object-fit: cover;         /* remplit sans étirer, coupe au besoin */
	display: block;
	border-radius: inherit;    /* hérite des coins arrondis du parent */
}







/* ≤ 980px : nav2 sous nav1, brand à droite */
@media (max-width: 1100px) {
	.footer__credit{font-size:12px;}
	.footer__credit{font-size:15px;}
	.footer__list a{font-size:14px;}
	.footer__inner{
		padding-top:130px;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"nav1 brand"
			"nav2 brand"
			"social brand";
		gap: clamp(20px, 3vw, 40px);
		align-items: start;
	}
			.footer__logo {
				margin: 0 0 0 auto;
		}

	/* Assigne les zones */
	.footer__inner > nav.footer__nav:nth-of-type(1) { grid-area: nav1; }
	.footer__inner > nav.footer__nav:nth-of-type(2) { grid-area: nav2; }
	.footer__inner > .footer__social { grid-area: social; justify-content: flex-start; }
	.footer__inner > .footer__brand  { grid-area: brand; text-align: right; margin-top: 0; }
}
@media (max-width: 1440px){
	.amenities__inner, .quality__inner,.contenutxt__inner{ margin-left: auto;margin-right:auto;width:95% !important;}
	}
@media (max-width: 640px){
	.footer__inner{ grid-template-columns: 1fr; padding-top: 50px; } /* 1 colonne */
	.site-footer{ padding-top: 120px; }
}
/* ≤ 640px : 1 colonne, brand en premier */
@media (max-width: 640px) {
	.hero__content:after,.reserve__media:after, .amenities__media:after, .quality__media:after {
		width: 65px;
		height: 15px;
}
			.home .hero {
				height: max(360px, 55vh);
		}
			.hero__content {
				padding: 0 10px 45px;
		}
	.footer__inner{
		text-align:center;
		grid-template-columns: 1fr;
		grid-template-areas:
			"brand"
			"nav1"
			"nav2"
			"social";
		gap: clamp(16px, 4vw, 28px);
	}

	/* zones déjà mappées plus haut, on garde les mêmes sélecteurs */
	.footer__inner > nav.footer__nav:nth-of-type(1) { grid-area: nav1; }
	.footer__inner > nav.footer__nav:nth-of-type(2) { grid-area: nav2; }
	.footer__inner > .footer__social { grid-area: social; justify-content:flex-start; }
	.footer__inner > .footer__brand  { grid-area: brand; text-align:center; margin-top:0; margin-bottom: 30px;}
	.footer__logo{ margin-left:auto;margin-right:auto; }
	.footer__credit{text-align:center;}

	.partner p { text-align: center; }
	.partner img { margin-inline: auto; }
}


@media (max-width: 520px) {
	.brand-badge img{padding:10px;}	
	.brand-badge {
	    border-bottom-right-radius: 5px;
	    border-bottom-left-radius: 5px;
	}
}


/*MENU*/
/* Barre du haut dans le hero */
.hero__nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}

/* Logo à gauche, menu à droite */
.hero__nav-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 24px 32px;
}

/* ✅ Force le menu à droite */
.hero__menu {
	margin-left: auto;
}

/* Le UL du menu */
.hero__menu-list {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Liens */
.hero__menu-list a:hover {
	text-decoration: underline;
}


/*CONTENU FLEXIBLE*/
.wrap{
	width: min(1400px, 80%);
	margin: 0 auto;
	padding: 0 40px;
}

#tableau thead th {
    background-color: #5b6355 !important;
    color: #fff;
}

.tbl tr:nth-child(even) {
	background-color: #f7f7f7;
}

.tbl tr:nth-child(odd) {
	background-color: #ffffff;
}

div#tableau section {
    margin-top: 0;
    padding-bottom: 60px;
}


/*MENU*/
.hero__nav-inner {
    justify-content: right;
}
.desktop-menu a{
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    text-shadow: 0 0 15px #000;
}
html .wpml-ls-menu-item a { display: grid; place-content: center; width: 24px; height: 24px; padding: 5px; font-size: 14px; font-weight: normal; text-shadow: none; background-color: var(--brand); aspect-ratio: 1; border: 1px solid #fff; border-radius: 50%; box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); box-sizing: content-box; }
@media (max-width: 1140px) {
	.desktop-menu { font-size: 14px; }
}
@media (max-width: 1000px) {
	.desktop-menu { font-size: 13px; }
}

/* --- MENU RESPONSIVE --- */
/* =============== MENU DESKTOP + MOBILE FULLSCREEN =============== */

/* Burger */
.open-menu{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:10003;
}

.open-menu__icon{
  display:block;
  width:28px;
  height:2px;
  background:#fff;
  position:relative;
}
.open-menu__icon::before,
.open-menu__icon::after{
  content:"";
  position:absolute;
  left:0;
  width:28px;
  height:2px;
  background:#fff;
}
.open-menu__icon::before{ top:-8px; }
.open-menu__icon::after{ top: 8px; }

/* Desktop nav */
.desktop-nav{ display:block; }
.desktop-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:22px;
  align-items:center;
}
.desktop-menu a{ text-decoration:none; }

/* Backdrop */
.mobile-backdrop[hidden]{ display:none !important; }
.mobile-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:10000;
}

/* Mobile nav */
.mobile-nav[hidden]{ display:none !important; }
.mobile-nav{
  position:fixed;
  inset:0;              /* fullscreen */
  background:#000;
  z-index:10001;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:transform .28s ease;
}

/* Active state (important) */
.mobile-nav.active{
  transform:translateX(0);
}

/* Header inside mobile menu */
.mobile-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 18px;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.close-menu{
	color:#fff;
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  font-size:34px;
  line-height:1;
  padding:6px 10px;
  border-radius:12px;
}

/* Mobile menu list */
.mobile-menu{
  list-style:none;
  margin:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.mobile-menu a{
  text-decoration:none;
  font-size:22px;
  font-weight:700;
	color:#fff;
}

/* Responsive behavior */
@media (max-width: 980px){
  .desktop-nav{ display:none; }
}

@media (min-width: 981px){
  .open-menu{ display:none; }
  .mobile-nav{ display:none !important; }
  .mobile-backdrop{ display:none !important; }
}

/* Lock scroll when open */
html.menu-open,
body.menu-open{ overflow:hidden; }

/* Si tes overlays du hero bloquent les clics */
.hero__overlay,
.hero__vignette{
  pointer-events:none;
}

/* --- Mobile header: logo plus petit --- */
.mobile-header .logo img{
  max-width: 160px;   /* ajuste: 120-180 */
  width: 100%;
  height: auto;
  display: block;
}

.mobile-header .logo img{
  max-height: 60px;   /* ajuste */
  object-fit: contain;
}

.mobile-nav.active ~ .open-menu,
.mobile-nav.active + .open-menu {
  display: none !important; 
}

html.menu-open .open-menu{
  opacity: 0;
  pointer-events: none;
}

.mobile-header{
  position: relative;
  z-index: 10002;
}




/*liste guide*/
/* ==========================================
   TITRE EN PASTILLE (1.1 Objectifs...)
========================================== */

.listG{
  display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 0px 22px 0px 0px;
    background: #6f7b6a;
    color: #fff;
    border-radius: 999px;
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
}


/* Capsule pour le 1.1 */
.listG::before{
  content: attr(data-number);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 14px;
  background:#9ba198;               /* un peu plus foncé */
  border-radius:999px;
  font-weight:500;
	height: -webkit-fill-available;
}

/*contenu*/
.page-id-1373 .hero{margin-bottom:50px;}
.content{background-color:#fff;padding-bottom: 50px;
    padding-top: 50px;}
.contenutxt__inner {
    width: min(1400px, 80%);
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 24px);
    align-items: center;
}

.content__text{
  display:flex;
  gap:40px;
}

.contenutxt__inner .col{
  flex:1;
}

.col_inner {
    max-width: 1440px;
}

@media (max-width: 1024px){
  .content__text{
    flex-direction:column;
  }
}


@media (min-width: 981px){
#guide1{
    background: linear-gradient(to right, #f3f7f1 0%, #f3f7f1 30%, #ffffff 30%, #ffffff 100%);
}

#guide2{
    background: linear-gradient(to left, #f3f7f1 0%, #f3f7f1 30%, #ffffff 30%, #ffffff 100%);
}
	}
@media (max-width: 980px){
#guide1 img, #guide2 img {
    display: none !important;
}
	.listG {
    font-size: 14px;
		line-height: 18px !important;
}
section#guide1 {
    padding-top: 30px;
    padding-bottom: 0;
}
	section#guide2 {
    padding-top: 0px;
    padding-bottom: 50px;
}
	.page-id-1373 section.content {
    padding-top: 0;
    padding-bottom: 0;
}
	.page-id-1373 .content__text,.page-id-1373  .amenities__row {gap:0;}
}

@media (min-width: 1665px){
	.col_inner {
    max-width: 1575px;
}
}



section#cta-footer, .ctasec {
    background: #f3f7f1;
    text-align: center;
    padding-top: clamp(40px, 6vw, 90px);
    padding-bottom: 90px;
}
section#cta-footer .content__text, .ctasec .content__text {
    display: block;
}
#cta-footer .contenutxt__inner , .ctasec .contenutxt__inner {
    background: var(--surface);
    border-radius: 22px;
    padding: clamp(18px, 3vw, 28px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .15);
    width: min(1100px, 92%);
    margin: 0 auto;
}

.hero__cta {
    margin-top: 50px;
	    margin-bottom: -50px;
}
.hero__cta a.btn.btn--primary {
    background: var(--c-brand);
    color: #fff;
    text-decoration: none;
    padding: 10px 25px;
	display:block;
}

.hero__cta a.btn.btn--primary:hover {
    background: #0e0f0e;
}


/* ====== Responsif hero ====== */
@media (max-width: 1279px){
	.brand-badge { transform: translate(-80%, -65px); }
}
@media (max-width: 980px){
	.brand-badge { transform: translate(-30%, -60px); }
	
	
	.hero{ height: 450px; }
	.hero__cta { margin-top: 25px; margin-bottom: 0px;}
	.hero__cta a.btn.btn--primary {padding: 10px;}
}

.txtdroit .amenities__row {
    align-items: center;
}