/* CSP – Langues : sélecteur de langue et message d'accueil (dans l'esprit de la barre signature). */
.csp-lg { position: relative; display: inline-flex; align-items: center; pointer-events: auto; margin-right: -.4rem; }
.csp-lg__btn {
	display: inline-flex; align-items: center; gap: .5rem; height: 2.85rem; padding: 0 .55rem; margin: 0; border: 0; background: none; cursor: pointer;
	font: 500 .7rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .22em; text-transform: uppercase;
	color: rgba(244, 239, 226, .86); transition: color .35s;
}
.csp-lg__btn svg { color: #d4b85c; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.csp-lg__btn:hover, .csp-lg__btn:focus-visible, .csp-lg.is-open .csp-lg__btn { color: #f0d98a; }
.csp-lg.is-open .csp-lg__btn svg { transform: rotate(180deg); }
.csp-lg__btn:focus-visible { outline: 1px solid rgba(240, 217, 138, .6); outline-offset: 2px; }
.csp-lg__menu {
	position: absolute; top: calc(100% + .55rem); right: -.4rem; z-index: 3; min-width: 13.5rem; margin: 0; padding: .5rem; list-style: none;
	background: rgba(8, 17, 33, .96); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(212, 184, 92, .24); box-shadow: 0 22px 50px rgba(0, 0, 0, .38);
	opacity: 0; transform: translateY(-6px); transition: opacity .3s ease, transform .4s cubic-bezier(.2, .7, .2, 1);
}
.csp-lg__menu::before { content: ""; position: absolute; top: -5px; right: 1.35rem; width: 8px; height: 8px; transform: rotate(45deg); background: rgba(8, 17, 33, .96); border-left: 1px solid rgba(212, 184, 92, .24); border-top: 1px solid rgba(212, 184, 92, .24); }
.csp-lg.is-open .csp-lg__menu { opacity: 1; transform: none; }
.csp-lg__menu li { margin: 0; padding: 0; }
.csp-lg__menu a {
	position: relative; display: flex; align-items: baseline; gap: 1rem; padding: .72rem .85rem; text-decoration: none !important;
	color: rgba(244, 239, 226, .9) !important; transition: background .3s, color .3s;
}
.csp-lg__menu a b { width: 1.6rem; font: 600 .62rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .2em; color: rgba(212, 184, 92, .8); }
.csp-lg__menu a span { font: 400 1.12rem/1 'Cormorant Garamond', Georgia, serif; letter-spacing: .01em; }
.csp-lg__menu a:hover, .csp-lg__menu a:focus-visible { background: rgba(212, 184, 92, .08); color: #f0d98a !important; outline: none; }
.csp-lg__menu a[aria-current] { color: #f0d98a !important; }
.csp-lg__menu a[aria-current] b { color: #f0d98a; }
.csp-lg__menu a[aria-current]::after { content: ""; position: absolute; right: .95rem; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; transform: rotate(45deg); background: #d4b85c; box-shadow: 0 0 8px rgba(212, 184, 92, .8); }
@media (max-width: 768px) { .csp-lg { display: none; } }
@media (min-width: 1181px) and (max-width: 1420px) { .csp-lg__btn { letter-spacing: .14em; font-size: .66rem; padding: 0 .3rem; } }

/* Menu plein écran (téléphone) : FR · EN · NL · DE à côté de la croix */
.csp-lg-row { display: flex; align-items: center; margin: 0 1.1rem 0 auto; }
.csp-lg-row a {
	position: relative; padding: .7rem .62rem; font: 500 .66rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .2em;
	color: rgba(244, 239, 226, .62) !important; text-decoration: none !important; transition: color .3s;
}
.csp-lg-row a + a::before { content: ""; position: absolute; left: -1px; top: 50%; width: 2px; height: 2px; margin-top: -1px; border-radius: 50%; background: rgba(212, 184, 92, .55); }
.csp-lg-row a[aria-current] { color: #f0d98a !important; }
.csp-lg-row a[aria-current]::after { content: ""; position: absolute; left: .62rem; right: calc(.62rem - .2em); bottom: .28rem; height: 1px; background: #d4b85c; }

/* Pied de page */
.csp-lg-foot { display: flex; align-items: center; gap: 1.3rem; flex-wrap: wrap; justify-content: center; }
.csp-lg-foot a { font: 400 .78rem 'Inter', system-ui, sans-serif; color: #8f9bb0 !important; text-decoration: none !important; transition: color .3s; }
.csp-lg-foot a:hover { color: #f0d98a !important; }
.csp-lg-foot a[aria-current] { color: #d4b85c !important; }

/* Pages juridiques : la version française fait foi */
.csp-lg-legal {
	max-width: 46rem; margin: 1.4rem auto 0; padding: .85rem 1.1rem; border: 1px solid rgba(212, 184, 92, .28); border-left-width: 2px;
	font: 400 .86rem/1.55 'Inter', system-ui, sans-serif; color: inherit; background: rgba(212, 184, 92, .06); text-align: left;
}
.csp-lg-legal a { color: #b8963f; white-space: nowrap; }

/* Message d'accueil (langue du navigateur) */
.csp-lg-toast {
	position: fixed; left: clamp(1rem, 2.4vw, 1.75rem); bottom: clamp(1rem, 2.4vw, 1.75rem); z-index: 10040; width: min(23rem, calc(100vw - 2rem));
	display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; align-items: start; padding: 1.15rem 1.15rem 1.15rem 1.35rem;
	background: rgba(8, 17, 33, .94); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
	border: 1px solid rgba(212, 184, 92, .26); box-shadow: 0 24px 60px rgba(0, 0, 0, .4); color: #f4efe2;
	opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .8s cubic-bezier(.2, .7, .2, 1);
}
.csp-lg-toast.is-in { opacity: 1; transform: none; }
.csp-lg-toast::before { content: ""; position: absolute; left: 0; top: 1.2rem; bottom: 1.2rem; width: 1px; background: linear-gradient(180deg, rgba(212, 184, 92, 0), #d4b85c, rgba(212, 184, 92, 0)); }
.csp-lg-toast__k { grid-column: 1; font: 600 .58rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: #d4b85c; }
.csp-lg-toast__t { grid-column: 1; margin: .55rem 0 .85rem; font: 400 1.18rem/1.3 'Cormorant Garamond', Georgia, serif; color: #f4efe2; }
.csp-lg-toast__go {
	grid-column: 1; justify-self: start; display: inline-flex; align-items: center; gap: .6rem; padding: .78rem 1.15rem;
	font: 600 .62rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .2em; text-transform: uppercase; text-decoration: none !important;
	color: #0a1628 !important; background: linear-gradient(135deg, #e2c46c, #c9a84c 55%, #b8963f);
}
.csp-lg-toast__go::after { content: "→"; font-size: .85rem; letter-spacing: 0; }
.csp-lg-toast__x {
	grid-column: 2; grid-row: 1 / span 3; position: relative; width: 2rem; height: 2rem; margin: -.35rem -.35rem 0 0; padding: 0; border: 0; background: none; cursor: pointer; color: rgba(244, 239, 226, .6);
}
.csp-lg-toast__x::before, .csp-lg-toast__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1px; margin-left: -7px; background: currentColor; transform: rotate(45deg); }
.csp-lg-toast__x::after { transform: rotate(-45deg); }
.csp-lg-toast__x:hover { color: #f0d98a; }
@media (min-width: 769px) { .csp-lg-toast { width: 21.5rem; } }
@media (max-width: 768px) {
	.csp-lg-toast {
		left: .75rem; right: .75rem; width: auto; bottom: calc(5.6rem + env(safe-area-inset-bottom));
		grid-template-columns: 1fr auto; align-items: center; gap: .15rem .6rem; padding: .8rem .6rem .85rem 1.05rem;
	}
	.csp-lg-toast::before { top: .8rem; bottom: .8rem; }
	.csp-lg-toast__k { display: none; }
	.csp-lg-toast__t { margin: 0; font-size: 1rem; line-height: 1.25; }
	.csp-lg-toast__go { padding: .35rem 0 0; background: none; color: #f0d98a !important; font-size: .58rem; }
	.csp-lg-toast__x { grid-row: 1 / span 2; margin: 0; }
}
/* Menu plein écran du téléphone : la mention « Spa privatif · Marck » reste sur une ligne */
.csp-nav__sheet-top .csp-nav__eyebrow { white-space: nowrap; }
@media (max-width: 480px) {
	.csp-nav__sheet-top:has(.csp-lg-row) .csp-nav__eyebrow::before { display: none; }
	.csp-lg-row { margin-right: .6rem; }
	.csp-lg-row a { padding: .7rem .48rem; letter-spacing: .16em; }
	.csp-lg-row a[aria-current]::after { left: .48rem; right: calc(.48rem - .16em); }
}
@media (prefers-reduced-motion: reduce) { .csp-lg-toast, .csp-lg__menu { transition: none; } }

/* Pied de page : la ligne des langues, centrée au-dessus du copyright et des mentions */
.csp-v2-foot__bottom .csp-lg-foot { order: -1; flex-basis: 100%; justify-content: center; gap: .4rem 1.6rem; padding: 0 0 1.2rem; margin: 0 0 .2rem; border-bottom: 1px solid rgba(212, 184, 92, .08); }
@media (max-width: 768px) { .csp-v2-foot__bottom .csp-lg-foot { order: 0; border: 0; padding: .2rem 0; } }

/* Menu du téléphone : les langues ont leur propre ligne, en bas du menu */
.csp-lg-row--sheet {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%;
	margin: auto 0 0; padding: 1.15rem 0 0; border-top: 1px solid rgba(212, 184, 92, .16);
	opacity: 0; transition: opacity .6s ease;
}
.csp-nav.is-open .csp-lg-row--sheet { opacity: 1; transition-delay: .9s; }
.csp-lg-row--sheet + .csp-nav__private { margin-top: 1.1rem; }
.csp-lg-row__k { font: 600 .58rem/1 Montserrat, 'Inter', system-ui, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: rgba(212, 184, 92, .85); }
.csp-lg-row__l { display: inline-flex; align-items: center; margin-right: -.62rem; }
.csp-lg-row--sheet a { padding: .75rem .62rem; font-size: .7rem; letter-spacing: .22em; }
