/**
 * Chalet des Longschamps — en-tête + menu plein écran.
 * Remplace l'en-tête Astra : logo à gauche, bouton « Menu » à droite, fond crème.
 * Le menu s'ouvre en plein écran avec le filigrane du chalet.
 */

@font-face {
	font-family: 'CDL Shippori';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/shippori-400-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'CDL Shippori';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/shippori-500-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'CDL Inter';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/inter-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.cdl-header,
.cdl-overlay {
	--cdl-creme: #F8F0E5;   /* fond exact du filigrane */
	--cdl-encre: #141004;   /* couleur texte du site (Astra) */
	--cdl-or: #D09A40;      /* or du site, pour les filets */
	--cdl-or-fonce: #8C6420;/* or lisible en petit texte sur crème */
	--cdl-gris: #5E5648;
	--cdl-display: 'CDL Shippori', 'Shippori Mincho', Georgia, 'Times New Roman', serif;
	--cdl-body: 'CDL Inter', 'Inter', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--cdl-ease-out: cubic-bezier(.22, 1, .36, 1);
	--cdl-ease-io: cubic-bezier(.76, 0, .24, 1);
	--cdl-header-h: 88px;
	--cdl-gutter: clamp(20px, 4vw, 64px);
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

.cdl-header *,
.cdl-overlay * {
	box-sizing: border-box;
}

/* Menu ouvert : la page dessous ne défile plus. */
html.cdl-menu-open {
	overflow: hidden;
	scrollbar-gutter: stable;
}

/* ============================================================
 *  En-tête
 * ============================================================ */
.cdl-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99991;
	height: var(--cdl-header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 var(--cdl-gutter);
	background-color: rgba(248, 240, 229, .94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 1px 0 rgba(20, 16, 4, .06);
	/* Le z-index ne redescend qu'une fois le rideau remonté. */
	transition: background-color .5s, box-shadow .5s, height .4s var(--cdl-ease-out), z-index 0s linear 1.1s;
}

.cdl-header.is-scrolled {
	box-shadow: 0 1px 0 rgba(20, 16, 4, .08), 0 10px 30px -18px rgba(20, 16, 4, .35);
}

/* Menu ouvert : en-tête et menu passent au-dessus de tout (bannière cookies,
   bulle WhatsApp…), puis tout revient à la normale à la fermeture. */
html.cdl-menu-open .cdl-header {
	z-index: 2147483001;
	transition: background-color .5s, box-shadow .5s, height .4s var(--cdl-ease-out), z-index 0s;
	background-color: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	box-shadow: none;
}

.admin-bar .cdl-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .cdl-header {
		top: 46px;
	}
}

.cdl-logo {
	display: block;
	line-height: 0;
	text-decoration: none !important;
}

.cdl-logo img {
	display: block;
	height: 56px !important;
	max-height: none !important;
	width: auto !important;
	max-width: none;
}

.cdl-burger {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 12px 0 12px 12px;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	text-decoration: none !important;
	font: 500 11px/1 var(--cdl-body);
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--cdl-burger-color, var(--cdl-encre)) !important;
	-webkit-tap-highlight-color: transparent;
}

.cdl-burger:focus-visible {
	outline: 2px solid var(--cdl-or);
	outline-offset: 4px;
}

.cdl-burger__label {
	display: inline-grid;
	justify-items: end;
	height: 14px;
	overflow: hidden;
}

.cdl-burger__label b {
	grid-area: 1 / 1;
	display: block;
	font-weight: 500;
	line-height: 14px;
	transition: transform .55s var(--cdl-ease-out);
}

.cdl-burger__label b + b {
	transform: translateY(140%);
}

.cdl-burger__icon {
	position: relative;
	width: 32px;
	height: 14px;
}

.cdl-burger__icon i {
	position: absolute;
	right: 0;
	height: 1.5px;
	background: var(--cdl-encre);
	transition: transform .55s var(--cdl-ease-out), width .55s var(--cdl-ease-out), top .55s var(--cdl-ease-out), background-color .3s;
}

.cdl-burger__icon i:nth-child(1) {
	top: 2px;
	width: 32px;
}

.cdl-burger__icon i:nth-child(2) {
	top: 11px;
	width: 20px;
	background: var(--cdl-or);
}

.cdl-burger:hover .cdl-burger__icon i:nth-child(2) {
	width: 32px;
}

html.cdl-menu-open .cdl-burger__label b {
	transform: translateY(-140%);
}

html.cdl-menu-open .cdl-burger__label b + b {
	transform: translateY(0);
}

html.cdl-menu-open .cdl-burger__icon i:nth-child(1) {
	top: 6px;
	transform: rotate(45deg);
}

html.cdl-menu-open .cdl-burger__icon i:nth-child(2) {
	top: 6px;
	width: 32px;
	transform: rotate(-45deg);
	background: var(--cdl-encre);
}

/* Réserve la hauteur de l'en-tête fixe. */
.cdl-spacer {
	height: var(--cdl-header-h, 88px);
}

/* ============================================================
 *  Menu plein écran
 * ============================================================ */
.cdl-overlay {
	position: fixed;
	inset: 0;
	z-index: 2147483000; /* invisible et non cliquable tant qu'il est fermé */
	display: grid;
	grid-template-rows: 1fr auto;
	padding: calc(var(--cdl-header-h) + clamp(16px, 4vh, 48px)) var(--cdl-gutter) clamp(20px, 4vh, 40px);
	background-color: var(--cdl-creme);
	color: var(--cdl-encre);
	font-family: var(--cdl-body);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	/* Rideau : le menu se déroule depuis le haut et remonte à la fermeture. */
	clip-path: inset(0 0 100% 0);
	visibility: hidden;
	transition: clip-path .8s var(--cdl-ease-io) .2s, visibility 0s linear 1s;
}

.cdl-overlay.is-open,
.cdl-overlay:target {
	clip-path: inset(0 0 0 0);
	visibility: visible;
	transition: clip-path .9s var(--cdl-ease-io), visibility 0s;
}

.admin-bar .cdl-overlay {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .cdl-overlay {
		top: 46px;
	}
}

/* ---------- Filigrane ---------- */
.cdl-filigrane {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	transform: scale(1.06) translateY(1.5%);
	/* Le dessin apparaît de gauche à droite, comme un trait d'encre. */
	-webkit-mask-image: linear-gradient(100deg, #000 42%, transparent 58%);
	mask-image: linear-gradient(100deg, #000 42%, transparent 58%);
	-webkit-mask-size: 260% 100%;
	mask-size: 260% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: 100% 0;
	mask-position: 100% 0;
	transition: opacity .45s, transform .9s var(--cdl-ease-out), -webkit-mask-position 0s .9s, mask-position 0s .9s;
}

.cdl-overlay.is-open .cdl-filigrane,
.cdl-overlay:target .cdl-filigrane {
	opacity: 1;
	transform: none;
	-webkit-mask-position: 0 0;
	mask-position: 0 0;
	transition: opacity 1s .25s, transform 2.4s var(--cdl-ease-out) .15s, -webkit-mask-position 2.2s var(--cdl-ease-out) .35s, mask-position 2.2s var(--cdl-ease-out) .35s;
}

.cdl-filigrane i {
	position: absolute;
	inset: -2%;
	background-image: var(--cdl-filigrane-img, none);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 100%;
	animation: cdl-drift 26s ease-in-out infinite alternate;
	animation-play-state: paused;
}

.cdl-overlay.is-open .cdl-filigrane i {
	animation-play-state: running;
}

@keyframes cdl-drift {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to   { transform: translate3d(-1.2%, -.8%, 0) scale(1.025); }
}

/* ---------- Contenu ---------- */
.cdl-inner,
.cdl-foot {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1360px;
	margin: 0 auto;
}

.cdl-inner {
	align-self: center;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
	gap: clamp(40px, 7vw, 140px);
	align-items: center;
	padding-bottom: clamp(24px, 4vh, 48px);
}

.cdl-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 clamp(14px, 3vh, 28px);
	padding: 0;
	font: 500 11px/1 var(--cdl-body);
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--cdl-or-fonce);
}

.cdl-eyebrow::before {
	content: '';
	width: 40px;
	height: 1px;
	background: var(--cdl-or);
}

.cdl-list,
.cdl-sub,
.cdl-rooms__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cdl-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdl-item::before,
.cdl-item::marker,
.cdl-sub li::marker,
.cdl-rooms__list li::marker {
	content: none;
}

/* Chaque ligne est un masque : le lien monte depuis le bas. */
.cdl-row {
	display: flex;
	align-items: center;
	gap: 14px;
	overflow: hidden;
}

.cdl-link {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	padding: clamp(2px, .7vh, 8px) 0;
	text-decoration: none !important;
	color: var(--cdl-encre) !important;
	font-family: var(--cdl-display);
	font-weight: 400;
	font-size: clamp(40px, 5.4vw, 84px);
	line-height: 1.08;
	letter-spacing: -.01em;
	transform: translateY(110%);
	transition: transform .45s var(--cdl-ease-io), opacity .35s, color .3s;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}

.cdl-link:focus,
.cdl-link:focus-visible,
.cdl-logo:focus:not(:focus-visible),
.cdl-burger:focus:not(:focus-visible) {
	outline: none !important;
	box-shadow: none !important;
}

.cdl-overlay.is-open .cdl-link,
.cdl-overlay:target .cdl-link {
	transform: translateY(0);
	transition: transform 1s var(--cdl-ease-out), opacity .35s, color .3s;
}

.cdl-overlay.is-open .cdl-item:nth-child(1) .cdl-link { transition-delay: .35s, 0s, 0s; }
.cdl-overlay.is-open .cdl-item:nth-child(2) .cdl-link { transition-delay: .43s, 0s, 0s; }
.cdl-overlay.is-open .cdl-item:nth-child(3) .cdl-link { transition-delay: .51s, 0s, 0s; }
.cdl-overlay.is-open .cdl-item:nth-child(4) .cdl-link { transition-delay: .59s, 0s, 0s; }
.cdl-overlay.is-open .cdl-item:nth-child(5) .cdl-link { transition-delay: .67s, 0s, 0s; }
.cdl-overlay.is-open .cdl-item:nth-child(n+6) .cdl-link { transition-delay: .75s, 0s, 0s; }

/* Numéro de chapitre (I, II, III…), qui devient un filet d'or au survol. */
.cdl-num {
	position: relative;
	flex: none;
	width: 64px;
	align-self: flex-start;
	margin-top: .62em;
	font: 500 13px/1 var(--cdl-display);
	letter-spacing: .12em;
	color: var(--cdl-or-fonce);
}

.cdl-num::after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 0;
	height: 1px;
	background: var(--cdl-or);
	transition: width .55s var(--cdl-ease-out);
}

.cdl-num b {
	font-weight: 500;
	transition: opacity .25s;
}

.cdl-label {
	display: inline-block;
	white-space: nowrap;
	transition: transform .6s var(--cdl-ease-out);
}

.cdl-link:hover .cdl-label,
.cdl-link:focus-visible .cdl-label {
	transform: translateX(12px);
}

.cdl-link:hover .cdl-num b,
.cdl-link:focus-visible .cdl-num b,
.cdl-link[aria-current="page"] .cdl-num b {
	opacity: 0;
}

.cdl-link:hover .cdl-num::after,
.cdl-link:focus-visible .cdl-num::after,
.cdl-link[aria-current="page"] .cdl-num::after {
	width: 44px;
}

@media (hover: hover) {
	.cdl-list:hover > .cdl-item > .cdl-row > .cdl-link:not(:hover) {
		opacity: .32;
	}
}

/* Sous-menu (chambres) : accordéon, utilisé sur téléphone uniquement. */
.cdl-sub-toggle {
	position: relative;
	flex: none;
	display: none;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(140, 100, 32, .35) !important;
	border-radius: 50%;
	background: transparent !important;
	color: var(--cdl-or-fonce) !important;
	cursor: pointer;
	opacity: 0;
	transition: opacity .4s, border-color .3s, background-color .3s;
}

.cdl-sub-toggle::before,
.cdl-sub-toggle::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 1.5px;
	margin: -.75px 0 0 -6.5px;
	background: currentColor;
	transition: transform .45s var(--cdl-ease-out);
}

.cdl-sub-toggle::after {
	transform: rotate(90deg);
}

.cdl-sub-toggle[aria-expanded="true"]::after {
	transform: rotate(0);
}

.cdl-sub-toggle:focus-visible {
	outline: 2px solid var(--cdl-or);
	outline-offset: 3px;
}

.cdl-overlay.is-open .cdl-sub-toggle {
	opacity: 1;
	transition-delay: .7s, 0s, 0s;
}

.cdl-sub {
	display: none;
}

.cdl-sub a,
.cdl-rooms__list a {
	display: flex;
	align-items: baseline;
	gap: 12px;
	text-decoration: none !important;
	color: var(--cdl-encre) !important;
	font-family: var(--cdl-display);
	font-weight: 400;
}

/* ---------- Colonne « Nos chambres » (grand écran / tablette) ---------- */
.cdl-rooms {
	position: relative;
	padding-left: clamp(28px, 3.4vw, 56px);
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .3s, transform .5s var(--cdl-ease-out);
}

.cdl-rooms::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: linear-gradient(to bottom, transparent, rgba(208, 154, 64, .6) 18%, rgba(208, 154, 64, .6) 82%, transparent);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform .4s var(--cdl-ease-out);
}

.cdl-overlay.is-open .cdl-rooms {
	opacity: 1;
	transform: none;
	transition: opacity .8s .6s, transform 1s var(--cdl-ease-out) .6s;
}

.cdl-overlay.is-open .cdl-rooms::before {
	transform: scaleY(1);
	transition: transform 1.4s var(--cdl-ease-out) .5s;
}

.cdl-rooms__intro {
	margin: 0 0 clamp(16px, 3vh, 28px);
	max-width: 40ch;
	font: 400 15px/1.55 var(--cdl-body);
	color: var(--cdl-gris);
}

.cdl-rooms__list li + li {
	border-top: 1px solid rgba(20, 16, 4, .08);
}

.cdl-rooms__list a {
	padding: clamp(9px, 1.5vh, 14px) 0;
	font-size: clamp(19px, 1.6vw, 25px);
	line-height: 1.25;
	transition: color .3s, padding-left .5s var(--cdl-ease-out);
}

.cdl-rooms__list a::after {
	content: '→';
	margin-left: auto;
	font-family: var(--cdl-body);
	font-size: 15px;
	color: var(--cdl-or-fonce);
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity .3s, transform .5s var(--cdl-ease-out);
}

.cdl-rooms__list a:hover,
.cdl-rooms__list a:focus-visible {
	padding-left: 10px;
	outline: none;
}

.cdl-rooms__list a:hover::after,
.cdl-rooms__list a:focus-visible::after,
.cdl-rooms__list a[aria-current="page"]::after {
	opacity: 1;
	transform: none;
}

.cdl-rooms__list a[aria-current="page"] {
	color: var(--cdl-or-fonce) !important;
}

/* ---------- Pied du menu ---------- */
.cdl-foot {
	display: grid;
	grid-template-columns: repeat(3, auto);
	justify-content: space-between;
	align-items: end;
	gap: 20px 40px;
	padding-top: clamp(18px, 3vh, 28px);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .3s, transform .5s var(--cdl-ease-out);
}

/* Filet d'or qui se trace sur toute la largeur. */
.cdl-foot::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: rgba(208, 154, 64, .55);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s var(--cdl-ease-out);
}

.cdl-overlay.is-open .cdl-foot,
.cdl-overlay:target .cdl-foot {
	opacity: 1;
	transform: none;
	transition: opacity .8s .75s, transform 1s var(--cdl-ease-out) .75s;
}

.cdl-overlay.is-open .cdl-foot::before {
	transform: scaleX(1);
	transition: transform 1.6s var(--cdl-ease-out) .6s;
}

.cdl-foot__block {
	min-width: 0;
}

.cdl-foot__title {
	margin: 0 0 8px;
	font: 500 10px/1 var(--cdl-body);
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--cdl-or-fonce);
}

.cdl-foot__text,
.cdl-foot a {
	font: 400 14px/1.6 var(--cdl-body);
	color: var(--cdl-encre) !important;
	text-decoration: none !important;
}

.cdl-foot__text {
	margin: 0;
}

.cdl-foot__contact a {
	display: inline-block;
	margin-right: 22px;
	background-image: linear-gradient(var(--cdl-or), var(--cdl-or));
	background-repeat: no-repeat;
	background-size: 0 1px;
	background-position: 0 100%;
	transition: background-size .5s var(--cdl-ease-out);
}

.cdl-foot__contact a:hover,
.cdl-foot__contact a:focus-visible {
	background-size: 100% 1px;
	outline: none;
}

.cdl-foot__end {
	display: flex;
	align-items: center;
	gap: 26px;
	justify-self: end;
}

.cdl-social {
	display: flex;
	gap: 10px;
}

.cdl-social a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(20, 16, 4, .16);
	border-radius: 50%;
	transition: border-color .3s, background-color .3s, color .3s;
}

.cdl-social a:hover,
.cdl-social a:focus-visible {
	border-color: var(--cdl-encre);
	background-color: var(--cdl-encre);
	color: var(--cdl-creme) !important;
	outline: none;
}

.cdl-social svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.cdl-lang {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cdl-lang li {
	margin: 0;
	list-style: none;
}

.cdl-lang li + li::before {
	content: '/';
	margin-right: 10px;
	color: rgba(20, 16, 4, .3);
}

.cdl-lang a {
	font: 500 12px/1 var(--cdl-body) !important;
	letter-spacing: .2em;
	text-transform: uppercase;
	opacity: .45;
	transition: opacity .3s;
}

.cdl-lang a:hover,
.cdl-lang a:focus-visible,
.cdl-lang a[aria-current="true"] {
	opacity: 1;
	outline: none;
}

.cdl-lang a[aria-current="true"] {
	border-bottom: 1px solid var(--cdl-or);
}

/* Boutons d'action rapide : téléphone uniquement. */
.cdl-actions {
	display: none;
}

/* ============================================================
 *  Tablette (768 – 1024 px) : 2 colonnes en paysage, 1 colonne en portrait
 * ============================================================ */
@media (max-width: 1024px) {
	.cdl-header,
	.cdl-overlay {
		--cdl-header-h: 80px;
	}

	.cdl-logo img {
		height: 50px !important;
	}
}

@media (max-width: 899px) {
	.cdl-inner {
		grid-template-columns: minmax(0, 1fr);
		align-self: start;
		gap: clamp(28px, 5vh, 48px);
		padding-top: clamp(8px, 3vh, 32px);
	}

	.cdl-link {
		font-size: clamp(40px, 7vw, 64px);
	}

	.cdl-rooms {
		padding-left: 0;
		padding-top: clamp(22px, 3vh, 32px);
	}

	.cdl-rooms::before {
		top: 0;
		bottom: auto;
		right: 0;
		width: auto;
		height: 1px;
		background: rgba(208, 154, 64, .55);
		transform: scaleX(0);
		transform-origin: left;
	}

	.cdl-overlay.is-open .cdl-rooms::before {
		transform: scaleX(1);
	}

	.cdl-rooms__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 40px;
	}

	.cdl-rooms__list li + li {
		border-top: 0;
	}

	.cdl-rooms__list li {
		border-bottom: 1px solid rgba(20, 16, 4, .08);
	}

	.cdl-foot {
		grid-template-columns: repeat(2, minmax(0, auto));
	}

	.cdl-foot__end {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.cdl-filigrane i {
		background-size: 150% auto;
		background-position: 70% 100%;
	}
}

/* ============================================================
 *  Téléphone (≤ 767 px)
 * ============================================================ */
@media (max-width: 767px) {
	.cdl-header,
	.cdl-overlay {
		--cdl-header-h: 68px;
		--cdl-gutter: 20px;
	}

	.cdl-logo img {
		height: 40px !important;
	}

	.cdl-burger {
		gap: 12px;
	}

	.cdl-inner {
		padding-top: 0;
		gap: 0;
	}

	.cdl-link {
		font-size: clamp(30px, 9vw, 40px);
		line-height: 1.12;
	}

	.cdl-num {
		width: 34px;
		margin-top: .55em;
		font-size: 11px;
	}

	.cdl-link:hover .cdl-num::after,
	.cdl-link:focus-visible .cdl-num::after,
	.cdl-link[aria-current="page"] .cdl-num::after {
		width: 22px;
	}

	.cdl-link:hover .cdl-label,
	.cdl-link:focus-visible .cdl-label {
		transform: none;
	}

	.cdl-row {
		justify-content: space-between;
	}

	/* La colonne chambres devient un accordéon sous « Nos chambres ». */
	.cdl-rooms {
		display: none;
	}

	.cdl-sub-toggle {
		display: block;
	}

	.cdl-sub {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows .55s var(--cdl-ease-out);
	}

	.cdl-sub > div {
		overflow: hidden;
	}

	.cdl-item.is-expanded .cdl-sub {
		grid-template-rows: 1fr;
	}

	.cdl-sub ul {
		margin: 0;
		padding: 4px 0 14px 34px;
		list-style: none;
	}

	.cdl-sub a {
		padding: 7px 0;
		font-size: 19px;
		line-height: 1.3;
	}

	.cdl-sub a::before {
		content: '';
		flex: none;
		width: 12px;
		height: 1px;
		align-self: center;
		background: var(--cdl-or);
	}

	.cdl-sub a[aria-current="page"] {
		color: var(--cdl-or-fonce) !important;
	}

	.cdl-foot {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.cdl-foot__contact,
	.cdl-foot__address {
		display: none;
	}

	.cdl-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.cdl-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 48px;
		padding: 0 12px;
		border: 1px solid var(--cdl-encre);
		font: 500 11px/1 var(--cdl-body) !important;
		letter-spacing: .2em;
		text-transform: uppercase;
	}

	.cdl-actions a:first-child {
		background: var(--cdl-encre);
		color: var(--cdl-creme) !important;
	}

	.cdl-actions svg {
		width: 15px;
		height: 15px;
		fill: currentColor;
	}

	.cdl-foot__end {
		justify-content: space-between;
		width: 100%;
	}

	.cdl-filigrane i {
		background-size: 230% auto;
		background-position: 68% 100%;
	}
}

/* Petits téléphones en hauteur (SE, paysage) : on resserre. */
@media (max-height: 640px) {
	.cdl-link {
		font-size: clamp(26px, 6vh, 44px);
	}

	.cdl-rooms__intro {
		display: none;
	}
}

/* ============================================================
 *  Mouvements réduits : simple fondu, sans déplacement.
 * ============================================================ */
@media (prefers-reduced-motion: reduce) {
	.cdl-overlay,
	.cdl-overlay.is-open {
		clip-path: none;
		opacity: 0;
		transition: opacity .3s, visibility 0s linear .3s;
	}

	.cdl-overlay.is-open {
		opacity: 1;
		transition: opacity .3s, visibility 0s;
	}

	.cdl-overlay *,
	.cdl-overlay *::before,
	.cdl-overlay *::after {
		transition-duration: .01s !important;
		transition-delay: 0s !important;
		animation: none !important;
	}

	.cdl-filigrane {
		-webkit-mask-image: none;
		mask-image: none;
	}
}
