/*
 * La Martinette : ce que theme.json ne sait pas faire.
 * Brume, chemins pointillés, boutons à flèche, en-tête, mises en page des sections.
 * Mobile d'abord ; grand écran à partir de 782px (colonnes) et 1100px (menu).
 */

:root {
	--nuit: var(--wp--preset--color--nuit);
	--ardoise: var(--wp--preset--color--ardoise);
	--brume: var(--wp--preset--color--brume);
	--brume-claire: var(--wp--preset--color--brume-claire);
	--or: var(--wp--preset--color--or);
	--or-clair: var(--wp--preset--color--or-clair);
	--givre: var(--wp--preset--color--givre);
	--pierre: var(--wp--preset--color--pierre);
	--bois: var(--wp--preset--color--bois);
	--rayon: 24px;
	--rayon-grand: 32px;
	--brume-img: url(../images/brume-claire.webp);
	--chemin-court: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 140' width='80' height='140' fill='none'%3E%3Cpath d='M40 0 C 14 26, 66 44, 40 70 S 22 112, 40 132' stroke='%23D19A3F' stroke-width='1.8' stroke-linecap='round' stroke-dasharray='1 7'/%3E%3Ccircle cx='40' cy='134' r='5' fill='%23D19A3F'/%3E%3C/svg%3E");
	--chemin-trait: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 120' width='24' height='120' fill='none'%3E%3Cpath d='M12 4 C 4 30, 20 50, 12 70 S 6 100, 12 116' stroke='%23D19A3F' stroke-width='1.8' stroke-linecap='round' stroke-dasharray='1 7'/%3E%3C/svg%3E");
	--chemin-long: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 1000' preserveAspectRatio='none' fill='none'%3E%3Cpath d='M30 0 C 18 60, 42 110, 30 167 S 18 280, 30 333 S 42 450, 30 500 S 18 610, 30 667 S 42 780, 30 833 S 18 950, 30 1000' stroke='%23D19A3F' stroke-width='2' stroke-linecap='round' stroke-dasharray='2 9' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-optical-sizing: auto;
}

/* Texte courant en ardoise sur fond clair, givre sur fond sombre. */
p {
	color: var(--ardoise);
}
:is(.wp-block-cover, .has-nuit-background-color) p:not(.has-text-color) {
	color: var(--givre);
}
.wp-block-cover a:not(.wp-element-button),
.has-nuit-background-color a:not(.wp-element-button) {
	color: var(--or-clair);
}
:is(h1, h2, h3, h4) a:not(.wp-element-button),
.wp-block-cover :is(h1, h2, h3, h4) a:not(.wp-element-button),
.has-nuit-background-color :is(h1, h2, h3, h4) a:not(.wp-element-button) {
	color: inherit;
	text-decoration: none;
}

a[href^="tel:"] {
	white-space: nowrap;
}

img {
	max-width: 100%;
	height: auto;
}

/* Les sections de la page gèrent leurs propres espacements. */
.sections > * {
	margin-block: 0;
}

/* ---------- Surtitres ---------- */

.is-style-surtitre {
	font-size: var(--wp--preset--font-size--surtitre);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-weight: 500;
	line-height: 1.4;
}
p.is-style-surtitre:not(.has-text-color) {
	color: var(--wp--preset--color--bois);
}
:is(.wp-block-cover, .has-nuit-background-color) p.is-style-surtitre:not(.has-text-color) {
	color: var(--or-clair);
}

.note {
	font-size: 14px;
}
:is(.wp-block-cover, .has-nuit-background-color) p.note:not(.has-text-color) {
	color: #B8C6D4;
}
.lien-fort a {
	font-weight: 600;
}

/* ---------- Boutons pilule avec flèche ronde ---------- */

.wp-block-button[class*="is-style-"] .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 7px 7px 7px 24px;
	transition: background-color 0.2s, color 0.2s;
}
.wp-block-button[class*="is-style-"] .wp-block-button__link::after {
	content: "→";
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	font-size: 16px;
	line-height: 1;
	background: var(--nuit);
	color: #fff;
	transition: transform 0.2s;
}
.wp-block-button[class*="is-style-"] .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

.wp-block-button.is-style-nuit .wp-block-button__link {
	background: var(--nuit);
	color: #fff;
}
.wp-block-button.is-style-nuit .wp-block-button__link:hover {
	background: var(--ardoise);
}
.wp-block-button.is-style-nuit .wp-block-button__link::after,
.wp-block-button.is-style-verre .wp-block-button__link::after {
	background: #fff;
	color: var(--nuit);
}

.wp-block-button.is-style-verre .wp-block-button__link {
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.45);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
}
.wp-block-button.is-style-verre .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.24);
}

.wp-block-button.is-style-blanc .wp-block-button__link {
	background: #fff;
	color: var(--nuit);
}
.wp-block-button.is-style-blanc .wp-block-button__link:hover {
	background: var(--brume);
}

.wp-block-button.is-style-lien .wp-block-button__link {
	background: none;
	padding: 4px 0;
	gap: 8px;
	color: var(--nuit);
}
.wp-block-button.is-style-lien .wp-block-button__link::after {
	width: 28px;
	height: 28px;
	font-size: 14px;
}
.wp-block-button.is-style-lien .wp-block-button__link:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---------- Brume : nappes PNG ancrées en bas, jamais étirées ---------- */

.has-brume-bas,
.has-brume-haut {
	position: relative;
	overflow: hidden;
}
.has-brume-bas::after,
.has-brume-haut::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: 2;
	height: var(--brume-h, 260px);
	background: var(--brume-img) center bottom / cover no-repeat;
	pointer-events: none;
}
.has-brume-bas::after {
	bottom: -2px;
}
.has-brume-haut::before {
	top: -2px;
	transform: scaleY(-1);
}
.wp-block-cover.has-brume-bas > .wp-block-cover__inner-container,
.wp-block-cover.has-brume-haut > .wp-block-cover__inner-container {
	z-index: 3;
}

/* ---------- Chemins pointillés ---------- */

.wp-block-spacer.is-style-chemin {
	background: var(--chemin-court) center / 80px 140px no-repeat;
	margin-block: 0;
}

/* Étapes le long d'un chemin sinueux (FAQ, infos pratiques) */
.wp-block-group.is-style-chemin {
	--chemin-x: 20px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 36px;
	padding-block: 8px;
	background: var(--chemin-long) calc(var(--chemin-x) - 30px) 0 / 60px 100% no-repeat;
}
.wp-block-group.is-style-chemin > * {
	position: relative;
	text-align: left;
	margin: 0 0 0 48px;
	min-height: 110px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
}
.wp-block-group.is-style-chemin > * > * {
	margin: 0;
}
.wp-block-group.is-style-chemin > *::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(var(--chemin-x) - 48px - 9px);
	width: 18px;
	height: 18px;
	margin-top: -9px;
	border-radius: 999px;
	background: var(--or);
	box-shadow: 0 0 0 6px rgba(209, 154, 63, 0.25);
}
.wp-block-group.is-style-chemin h3 {
	font-size: 22px;
}

@media (min-width: 782px) {
	.wp-block-group.is-style-chemin {
		background-position: center 0;
	}
	.wp-block-group.is-style-chemin > * {
		width: calc(50% - 40px);
		margin: 0;
		padding-inline: 8px;
		box-sizing: border-box;
	}
	.wp-block-group.is-style-chemin > :nth-child(odd) {
		align-self: flex-start;
		text-align: right;
	}
	.wp-block-group.is-style-chemin > :nth-child(even) {
		align-self: flex-end;
	}
	.wp-block-group.is-style-chemin > :nth-child(odd)::before {
		left: auto;
		right: -49px;
	}
	.wp-block-group.is-style-chemin > :nth-child(even)::before {
		left: -49px;
	}
}

/* ---------- Verre flouté ---------- */

.wp-block-group.is-style-verre {
	background: rgba(12, 32, 53, 0.5);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: var(--rayon);
	padding: 28px;
	color: #fff;
}
.wp-block-group.is-style-verre > * {
	margin-block: 0;
}
.wp-block-group.is-style-verre > * + * {
	margin-top: 14px;
}

/* ---------- Étiquettes sur photo ---------- */

.wp-block-list.is-style-puces {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.wp-block-list.is-style-puces li {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.35);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 14px;
	line-height: 1.4;
	margin: 0;
}

/* ---------- Avis ---------- */

.wp-block-quote.is-style-avis {
	margin: 0;
	border-top: 1px solid var(--brume);
	padding: 28px 0 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
/* Grand guillemet or, puis les étoiles en tête du premier paragraphe. */
.wp-block-quote.is-style-avis::before {
	content: "“";
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 72px;
	line-height: 0.6;
	height: 30px;
	color: var(--or);
}
.wp-block-quote.is-style-avis > p:first-of-type::before {
	content: "★★★★★";
	display: block;
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--or);
	margin-bottom: 12px;
}
.wp-block-quote.is-style-avis p {
	margin: 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 19px;
	line-height: 1.45;
	color: var(--nuit);
}
.wp-block-quote.is-style-avis cite {
	font-style: normal;
	font-size: 14px;
	color: var(--ardoise);
}

.note-google {
	font-size: 15px;
}
.note-google .etoiles {
	color: var(--or);
	letter-spacing: 0.04em;
}
.wp-block-cover .note-google .etoiles {
	color: var(--or-clair);
}

/* ---------- Cartes photo ---------- */

.wp-block-cover.is-style-carte {
	border-radius: var(--rayon);
	overflow: hidden;
	padding: 20px;
	align-items: flex-end;
}
.wp-block-cover.is-style-carte .wp-block-cover__image-background {
	transition: transform 0.6s ease;
}
.wp-block-cover.is-style-carte:hover .wp-block-cover__image-background {
	transform: scale(1.03);
}
.wp-block-cover.is-style-carte .wp-block-cover__inner-container > * {
	margin-block: 0;
}
.wp-block-cover.is-style-carte .wp-block-cover__inner-container > * + * {
	margin-top: 4px;
}
.wp-block-cover.is-style-carte p {
	font-size: 14px;
	color: #E3E9EF;
	line-height: 1.45;
}
/* Lien étiré : toute la carte est cliquable, le titre reste le lien. */
.wp-block-cover.is-style-carte h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
}
.wp-block-cover.is-style-carte h3 a:focus-visible {
	outline: none;
}
.wp-block-cover.is-style-carte:has(h3 a:focus-visible) {
	outline: 2px solid var(--or);
	outline-offset: 3px;
}
.wp-block-cover.carte--fleche {
	padding: 32px;
}
.wp-block-cover.carte--fleche::after {
	content: "→";
	position: absolute;
	right: 24px;
	top: 24px;
	z-index: 2;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: #fff;
	color: var(--nuit);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
.wp-block-cover.carte--fleche p {
	font-size: 17px;
	max-width: 440px;
}
.wp-block-cover.carte--large {
	padding: 28px;
}
.wp-block-cover.carte--large .wp-block-cover__inner-container {
	max-width: 520px;
}
.wp-block-cover.carte--large .wp-block-cover__inner-container > * + * {
	margin-top: 10px;
}
.wp-block-cover.carte--large p:not(.is-style-surtitre) {
	font-size: 17px;
}
.wp-block-cover.carte--large h3 {
	line-height: 1.1;
}

/* ---------- En-tête ---------- */

/* Les liens vers une section ne la cachent pas sous l'en-tête collé. */
main [id] {
	scroll-margin-top: 90px;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	margin-bottom: -68px;
	background: rgba(12, 32, 53, 0.82);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	color: #fff;
}
.entete.wp-block-group {
	padding: 12px 16px;
}
.entete__barre {
	gap: 10px;
}
.entete__marque {
	position: relative;
	gap: 10px;
}
.entete__marque .wp-block-image,
.entete__nom > * {
	margin: 0;
}
.entete__logo img {
	width: 40px !important;
	display: block;
}
.entete__nom {
	gap: 4px;
}
.entete__titre {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
}
.site-header .entete__titre a {
	color: #fff;
	text-decoration: none;
}
.entete__titre a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.entete__accroche {
	display: none;
}
.entete__barre > .entete__reserver {
	order: 2;
	margin-left: auto;
}
.entete__reserver .wp-block-button__link {
	font-size: 15px;
	padding: 10px 16px;
	white-space: nowrap;
}
.entete__menu {
	order: 3;
}

/* Tout petits téléphones : le bandeau tient sur la largeur. */
@media (max-width: 359px) {
	.entete__barre,
	.entete__marque {
		gap: 8px;
	}
	.entete__logo img {
		width: 34px !important;
	}
	.entete__titre {
		font-size: 19px;
	}
	.entete__reserver .wp-block-button__link {
		padding: 10px 12px;
	}
}

/* Bouton burger */
.entete__menu .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.45);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Menu ouvert (mobile). Le flou de l'en-tête enfermerait la surcouche : on le retire. */
.site-header:has(.is-menu-open) {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
/* Menu ouvert (mobile) */
.entete__menu .wp-block-navigation__responsive-container.is-menu-open {
	padding: 20px 16px 32px;
}
.entete__menu .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 56px;
}
.entete__menu .is-menu-open .wp-block-navigation__responsive-container-content,
.entete__menu .is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
}
.entete__menu .is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
}
.entete__menu .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.entete__menu .is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 12px 0;
	font-size: 18px;
}
.entete__menu .is-menu-open .entete__langue {
	border-bottom: 0;
}

.entete__langue .wp-block-navigation-item__content {
	color: var(--givre);
	font-size: 14px;
}
.entete__langue .wp-block-navigation-item__content::before {
	content: "FR · ";
	color: #fff;
	font-weight: 600;
}
.entete__langue--en .wp-block-navigation-item__content::before {
	content: "EN · ";
}

.site-header a:focus-visible,
.site-header button:focus-visible {
	outline: 2px solid var(--or);
	outline-offset: 3px;
}

@media (min-width: 601px) {
	.admin-bar .site-header {
		top: var(--wp-admin--admin-bar--height, 46px);
	}
}

@media (min-width: 1100px) {
	.site-header {
		position: absolute;
		left: 0;
		right: 0;
		margin: 0;
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.entete.wp-block-group {
		padding: 24px;
	}
	.entete__barre {
		gap: 16px;
	}
	.entete__marque {
		gap: 14px;
	}
	.entete__logo img {
		width: 56px !important;
	}
	.entete__titre {
		font-size: 30px;
	}
	.entete__accroche {
		display: block;
		font-size: 11px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		line-height: 1.3;
	}
	.site-header p.entete__accroche {
		color: var(--givre);
	}
	.entete__menu {
		order: 2;
		margin-left: auto;
	}
	.entete__barre > .entete__reserver {
		order: 3;
		margin-left: 0;
	}
	.entete__reserver .wp-block-button__link {
		font-size: 17px;
		padding: 11px 22px;
	}

	/* Le menu « toujours en burger » s'affiche en ligne sur grand écran. */
	.entete__menu .wp-block-navigation__responsive-container-open {
		display: none;
	}
	.entete__menu .wp-block-navigation__responsive-container.hidden-by-default:not(.is-menu-open) {
		display: block;
		position: relative;
		inset: auto;
		z-index: auto;
		background: transparent !important;
		color: inherit !important;
		padding: 0;
	}
	.entete__menu .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none;
	}
	.entete__menu .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
		gap: 6px 26px;
		align-items: center;
	}
	.entete__menu .wp-block-navigation-item__content {
		color: #fff;
		padding: 10px 0;
	}

	/* Bandeau compact collé en haut une fois la page défilée. */
	.site-header.is-colle {
		position: fixed;
		background: rgba(12, 32, 53, 0.86);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		animation: entete-descend 0.3s ease-out;
	}
	.admin-bar .site-header.is-colle {
		top: var(--wp-admin--admin-bar--height, 32px);
	}
	.is-colle .entete.wp-block-group {
		padding-block: 10px;
	}
	.is-colle .entete__logo img {
		width: 40px !important;
	}
	.is-colle .entete__titre {
		font-size: 24px;
	}
	.is-colle .entete__accroche {
		display: none;
	}
}

@keyframes entete-descend {
	from { transform: translateY(-100%); }
	to { transform: none; }
}

/* ---------- Pied de page ---------- */

.site-footer {
	margin-top: 0;
}
.pied.wp-block-group {
	padding-top: 56px;
	padding-bottom: 32px;
}
.pied.pied a {
	color: var(--givre);
}
.pied.pied a:hover {
	color: #fff;
}
.pied p {
	margin: 0;
	line-height: 1.7;
}
.pied__colonnes {
	gap: 32px;
	padding-bottom: 28px;
}
.pied__marque {
	gap: 12px;
	align-self: start;
}
.pied__marque .wp-block-image {
	margin: 0;
}
.pied p.pied__nom {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: 24px;
	font-weight: 600;
	color: #fff;
}
.pied p.pied__titre {
	color: #fff;
	font-weight: 600;
	margin-bottom: 4px;
}
.pied__legal.wp-block-group {
	border-top: 1px solid var(--ardoise);
	padding-top: 16px;
	gap: 8px 20px;
	font-size: 13px;
	margin-top: 0;
}
.pied.pied .pied__legal a,
.pied p.pied__label {
	color: #B8C6D4;
}
.pied__label {
	margin-left: auto !important;
}

/* ---------- Pages ordinaires ---------- */

.bandeau-titre.wp-block-group {
	padding-top: 140px;
	padding-bottom: 56px;
}
.contenu {
	padding-block: 56px 80px;
}
@media (min-width: 1100px) {
	.bandeau-titre.wp-block-group {
		padding-top: 180px;
	}
}

/* =========================================================
   Accueil
   ========================================================= */

/* Haut de page */
.hero {
	--brume-h: 300px;
	min-height: 780px;
	padding: 120px 16px 240px;
	align-items: center;
}
.hero .wp-block-cover__inner-container {
	width: 100%;
}
.hero__contenu > * {
	margin-block: 0;
}
/* Ombre douce : le texte reste lisible même sur une photo très claire. */
.hero__contenu :is(h1, p) {
	text-shadow: 0 1px 14px rgba(12, 32, 53, 0.55);
}
.hero__contenu > * + * {
	margin-top: 18px;
}
.hero h1 {
	max-width: 820px;
	color: #fff;
}
.hero p.is-style-surtitre {
	font-size: 14px;
}
.hero p.hero__chapo {
	max-width: 640px;
	color: #E3E9EF;
}
.hero .wp-block-buttons {
	margin-top: 26px;
	gap: 12px;
}
.hero p.note-google {
	color: #E3E9EF;
	margin-top: 24px;
}

/* Trois entrées posées sur la brume */
.trois-entrees {
	position: relative;
	z-index: 3;
	margin-top: -150px !important;
	max-width: 1180px !important;
}
.trois-entrees__colonnes.wp-block-columns {
	gap: 0;
	margin: 0;
}
.entree {
	position: relative;
	text-align: center;
	padding: 8px 20px;
}
.entree > * {
	margin-block: 0;
}
.entree > * + * {
	margin-top: 10px;
}
.entree p {
	max-width: 300px;
	margin-inline: auto;
}
.entree .picto img {
	display: block;
	border-radius: 0;
}
.entree + .entree {
	margin-top: 0;
	padding-top: 112px;
}
.entree + .entree::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 50%;
	width: 24px;
	height: 96px;
	margin-left: -12px;
	background: var(--chemin-trait) center / 24px 96px no-repeat;
}

/* La maison et la table */
.maison-table .wp-block-columns {
	gap: 40px;
	margin: 0;
}
.maison-table .wp-block-column > * {
	margin-block: 0;
}
.maison-table .wp-block-column > * + * {
	margin-top: 18px;
}
.actions {
	gap: 12px 20px;
	align-items: center;
	margin-top: 24px !important;
}
.actions > * {
	margin: 0;
}
.mosaique {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.mosaique > .wp-block-image {
	margin: 0;
}
.mosaique img {
	width: 100%;
	height: 172px;
	object-fit: cover;
	border-radius: var(--rayon);
	display: block;
}
.mosaique > .wp-block-image:first-child {
	grid-row: span 2;
}
.mosaique > .wp-block-image:first-child img {
	height: 356px;
}

/* Bande groupes */
.bande-groupes.wp-block-cover {
	border-radius: var(--rayon-grand);
	overflow: hidden;
	padding: 40px 24px;
}
.bande-groupes .wp-block-cover__background {
	background: rgba(12, 32, 53, 0.82) !important;
}
.bande-groupes .wp-block-cover__inner-container {
	max-width: 620px;
}
.bande-groupes .wp-block-cover__inner-container > * {
	margin-block: 0;
}
.bande-groupes .wp-block-cover__inner-container > * + * {
	margin-top: 18px;
}

/* Camp de base */
.camp-de-base {
	position: relative;
	z-index: 2;
	padding-bottom: 40px;
}
.camp-de-base > * + * {
	margin-top: 32px !important;
}
.entete-section {
	gap: 20px;
}
.entete-section__texte {
	max-width: 640px;
}
.entete-section__texte > * {
	margin-block: 0;
}
.entete-section__texte > * + * {
	margin-top: 12px;
}
.camp-de-base__cartes.wp-block-columns {
	gap: 16px;
	margin-bottom: 0;
}
.camp-de-base__cartes .carte--fleche {
	min-height: 420px !important;
}
.grille-cartes.wp-block-group {
	gap: 16px;
}
.grille-cartes .wp-block-cover {
	min-height: 220px !important;
	padding: 16px;
}
.grille-cartes h3 {
	font-size: 19px !important;
}

@media (max-width: 599px) {
	.grille-cartes.wp-block-group {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.grille-cartes .wp-block-cover {
		min-height: 200px !important;
	}
	.hero p.is-style-surtitre {
		font-size: 12px;
		letter-spacing: 0.08em;
	}
}

/* L'équipe sur les nuages */
.equipe-nuages {
	--brume-h: 420px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	margin-top: -320px !important;
	padding-top: 380px;
	padding-bottom: 240px;
}
.equipe-nuages::before,
.equipe-nuages::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	background: var(--brume-img) center bottom / cover no-repeat;
	pointer-events: none;
}
.equipe-nuages::before {
	top: -2px;
	height: 300px;
	transform: scaleY(-1);
}
.equipe-nuages::after {
	bottom: -2px;
	height: 200px;
}
.equipe-nuages > .equipe-nuages__fond {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 900px;
	max-width: none !important;
	margin: 0 !important;
}
.equipe-nuages__fond img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	border-radius: 0;
}
.equipe-nuages__fond::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12, 32, 53, 0) 40%, rgba(12, 32, 53, 0.6) 65%, #0C2035 100%);
}
.equipe-nuages__texte {
	position: relative;
	z-index: 2;
	max-width: 580px !important;
	margin-right: 0 !important;
}
.equipe-nuages__texte > * {
	margin-block: 0;
}
.equipe-nuages__texte > * + * {
	margin-top: 18px;
}
.equipe-nuages__photo {
	margin-top: 28px !important;
}
.equipe-nuages__photo img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center 72%;
	display: block;
}

/* Avis */
.avis {
	padding-bottom: 40px;
}
.avis > * + * {
	margin-top: 28px !important;
}
.avis__liste.wp-block-group {
	gap: 40px;
}
/* Colonnes qui remplissent la ligne (le bloc Grille laisse des colonnes vides). */
.avis__liste.wp-block-group,
.pied__colonnes.wp-block-group {
	grid-template-columns: repeat(auto-fit, minmax(min(var(--col-min, 280px), 100%), 1fr));
}
.pied__colonnes.wp-block-group {
	--col-min: 200px;
}

/* Questions fréquentes */
.faq-chemin.wp-block-cover {
	--brume-h: 200px;
	margin-top: 60px !important;
	padding: 180px 16px 220px;
}
.faq-chemin .wp-block-cover__inner-container > * + * {
	margin-top: 48px;
}
.entete-centree {
	text-align: center;
}
.entete-centree > * {
	margin-block: 0;
}
.entete-centree > * + * {
	margin-top: 12px;
}

/* Accès */
.acces-carte.wp-block-cover {
	border-radius: var(--rayon-grand);
	overflow: hidden;
	margin-top: 40px !important;
	margin-bottom: 64px !important;
	padding: 16px;
	min-height: 520px;
}
.acces-carte .wp-block-group.is-style-verre {
	max-width: 460px;
}
.acces-carte .wp-block-group.is-style-verre p.adresse {
	color: #fff;
}
.acces-carte .lien-fort a {
	color: #fff;
}
.acces-carte .note {
	font-size: 14px;
}

/* ---------- Grand écran ---------- */

@media (min-width: 782px) {
	.hero {
		--brume-h: 460px;
		min-height: 920px;
		padding: 140px 24px 320px;
	}
	.trois-entrees {
		margin-top: -170px !important;
	}
	.trois-entrees__colonnes.wp-block-columns {
		gap: 48px;
	}
	.entree + .entree {
		padding-top: 8px;
	}
	.entree + .entree::before {
		top: 50%;
		left: -36px;
		height: 120px;
		margin: -60px 0 0;
		background-size: 24px 120px;
	}

	.maison-table .wp-block-columns {
		gap: 56px;
	}
	.mosaique {
		gap: 16px;
	}
	.mosaique img {
		height: 242px;
	}
	.mosaique > .wp-block-image:first-child img {
		height: 500px;
	}

	.bande-groupes.wp-block-cover {
		padding: 64px 56px;
	}
	.bande-groupes .wp-block-cover__background {
		background: linear-gradient(90deg, rgba(12, 32, 53, 0.92) 0%, rgba(12, 32, 53, 0.7) 45%, rgba(12, 32, 53, 0.15) 85%) !important;
	}

	.camp-de-base__cartes.wp-block-columns {
		gap: 20px;
	}
	.camp-de-base__cartes .carte--fleche {
		min-height: 560px !important;
		height: 100%;
	}
	.grille-cartes.wp-block-group {
		gap: 20px;
	}
	.grille-cartes .wp-block-cover {
		min-height: 270px !important;
		padding: 20px;
	}
	.grille-cartes h3 {
		font-size: 22px !important;
	}
	.wp-block-cover.carte--large {
		padding: 40px;
	}

	.equipe-nuages {
		margin-top: -460px !important;
		padding-top: 560px;
		padding-bottom: 260px;
	}
	.equipe-nuages::before {
		height: 420px;
	}
	.equipe-nuages::after {
		height: 260px;
	}
	.equipe-nuages > .equipe-nuages__fond {
		height: 1300px;
	}
	.equipe-nuages__fond::after {
		background:
			linear-gradient(90deg, rgba(12, 32, 53, 0) 40%, rgba(12, 32, 53, 0.55) 73%, rgba(12, 32, 53, 0.7) 100%),
			linear-gradient(180deg, rgba(12, 32, 53, 0) 50%, rgba(12, 32, 53, 0.45) 70%, #0C2035 100%);
	}
	.equipe-nuages__photo img {
		height: 380px;
	}

	.faq-chemin.wp-block-cover {
		--brume-h: 260px;
		padding: 220px 24px 260px;
	}

	.acces-carte.wp-block-cover {
		padding: 40px;
		margin-bottom: 100px !important;
	}
	.acces-carte .wp-block-group.is-style-verre {
		padding: 40px;
	}
}

/* =========================================================
   Composants des pages intérieures
   ========================================================= */

/* Haut de page plus court */
.hero--court {
	--brume-h: 240px;
	min-height: 640px;
	padding-bottom: 200px;
}

/* Grille de tarifs : libellé à gauche, prix à droite, filets brume */
.wp-block-table.is-style-tarifs {
	margin: 0;
}
.wp-block-table.is-style-tarifs table {
	width: 100%;
	border-collapse: collapse;
}
.wp-block-table.is-style-tarifs td {
	border: 0;
	border-bottom: 1px solid var(--brume);
	padding: 10px 0;
	vertical-align: baseline;
}
.wp-block-table.is-style-tarifs td:first-child {
	color: var(--ardoise);
	padding-right: 16px;
}
.wp-block-table.is-style-tarifs td:last-child {
	text-align: right;
	font-weight: 600;
	white-space: nowrap;
}
:is(.wp-block-cover, .has-nuit-background-color) .wp-block-table.is-style-tarifs td {
	border-bottom-color: rgba(255, 255, 255, 0.18);
	padding-block: 12px;
}
:is(.wp-block-cover, .has-nuit-background-color) .wp-block-table.is-style-tarifs td:first-child {
	color: var(--givre);
}
:is(.wp-block-cover, .has-nuit-background-color) .wp-block-table.is-style-tarifs td:last-child {
	color: #fff;
}

/* Pastille en verre posée sur une photo */
p.is-style-pastille {
	display: inline-block;
	margin: 0;
	background: rgba(12, 32, 53, 0.45);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	padding: 9px 16px;
	border-radius: 999px;
	line-height: 1.3;
}
.photo-pastille.wp-block-cover {
	border-radius: var(--rayon);
	overflow: hidden;
	padding: 18px;
	min-height: 300px !important;
}

/* Bandeau sombre arrondi (demi-pension…) */
.bandeau-sombre.wp-block-cover {
	background: var(--nuit);
	border-radius: var(--rayon-grand);
	overflow: hidden;
	padding: 40px 24px;
	align-items: center;
}
.bandeau-sombre .wp-block-columns {
	gap: 32px;
	margin: 0;
}
.bandeau-sombre .wp-block-column > * {
	margin-block: 0;
}
.bandeau-sombre .wp-block-column > * + * {
	margin-top: 16px;
}

/* Moteur de réservation */
.sirvoy {
	min-height: 300px;
}
.sirvoy--attente {
	border: 2px dashed var(--brume);
	border-radius: var(--rayon);
	padding: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Page Dormir */
.hebergements {
	position: relative;
	z-index: 3;
	margin-top: -100px !important;
	padding-bottom: 40px;
}
.hebergements .wp-block-columns {
	gap: 56px;
	margin: 0;
}
.hebergements .wp-block-column > * {
	margin-block: 0;
}
.hebergements .wp-block-column > * + * {
	margin-top: 16px;
}
.hebergements .photo-pastille + * {
	margin-top: 24px;
}
p.note-tarifs {
	font-size: 15px;
	margin-top: 24px;
}
.reserver {
	padding-block: 72px 60px;
}
.reserver .wp-block-columns {
	gap: 48px;
	margin: 0;
}
.reserver .wp-block-column > * {
	margin-block: 0;
}
.reserver .wp-block-column > * + * {
	margin-top: 14px;
}
.reserver p a {
	color: var(--nuit);
}
.autres-sejours {
	margin-top: 40px !important;
	margin-bottom: 64px !important;
}
.autres-sejours .wp-block-columns {
	gap: 24px;
	margin: 0;
}
.carte--moyenne.wp-block-cover {
	padding: 24px;
}
.carte--moyenne p {
	font-size: 16px;
}
.faq-chemin + .autres-sejours,
.faq-chemin {
	margin-top: 40px !important;
}

@media (min-width: 782px) {
	.hero--court {
		--brume-h: 340px;
		min-height: 760px;
		padding-bottom: 260px;
	}
	.hebergements {
		margin-top: -120px !important;
	}
	.photo-pastille.wp-block-cover {
		min-height: 380px !important;
	}
	.bandeau-sombre.wp-block-cover {
		padding: 64px 48px;
	}
	.bandeau-sombre .wp-block-columns {
		gap: 48px;
	}
	.carte--moyenne.wp-block-cover {
		padding: 28px;
	}
	.autres-sejours {
		margin-bottom: 100px !important;
	}
}

/* Trois repères séparés par des pointillés (horaires, accès…) */
.trois-reperes {
	position: relative;
	z-index: 3;
	margin-top: -60px !important;
	padding-bottom: 30px;
}
.trois-reperes .wp-block-columns {
	gap: 24px;
	margin: 0;
}
.repere > * {
	margin-block: 0;
}
.repere > * + * {
	margin-top: 8px;
}
.repere h2 {
	line-height: 1.2;
}

/* Colonnes de menus : titre + grille de tarifs */
.menu > * {
	margin-block: 0;
}
.menu > * + * {
	margin-top: 6px;
}
.menu + .menu {
	margin-top: 28px;
}
.menu .wp-block-table.is-style-tarifs td {
	padding-block: 9px;
}
.grille-auto.wp-block-group {
	grid-template-columns: repeat(auto-fit, minmax(min(var(--col-min, 260px), 100%), 1fr));
	gap: 32px;
}
.grille-auto .menu + .menu {
	margin-top: 0;
}

/* En-tête de section : note à droite */
.entete-section__note {
	max-width: 560px;
}
.entete-section__note > * {
	margin-block: 0;
}
.entete-section__note > * + * {
	margin-top: 14px;
}

/* Photos */
.photos-empilees > .wp-block-image,
.photo-bandeau {
	margin: 0;
}
.photos-empilees > * + * {
	margin-top: 16px !important;
}
.photos-empilees img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	display: block;
}
.photo-bandeau img {
	width: 100%;
	height: 280px;
	object-fit: cover;
	display: block;
}

/* Prix en grand sur fond sombre */
p.prix-grand {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: clamp(56px, 6vw, 72px);
	line-height: 1;
}
:is(.wp-block-cover, .has-nuit-background-color) p.prix-grand {
	color: var(--or-clair);
}

/* Producteurs : trois colonnes, un pointillé or au-dessus de chaque nom */
.wp-block-list.is-style-producteurs {
	list-style: none;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr));
	gap: 0 40px;
}
.wp-block-list.is-style-producteurs li {
	margin: 0;
	padding: 18px 0;
	border-top: 2px dotted var(--or);
	color: var(--ardoise);
	line-height: 1.5;
}
.wp-block-list.is-style-producteurs strong {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 21px;
	color: var(--nuit);
}

/* Page Restaurant */
.restaurant-carte,
.producteurs,
.bar-gouter {
	padding-block: 40px;
}
.restaurant-carte > * + *,
.producteurs > * + *,
.bar-gouter > * + * {
	margin-top: 36px !important;
}
.restaurant-carte .entete-section {
	gap: 24px 64px;
}
.colonnes-menus.wp-block-columns {
	gap: 40px;
	margin: 0;
}
.bar-gouter .wp-block-columns {
	gap: 32px;
	margin: 0;
}
.bar-gouter .wp-block-column > * {
	margin-block: 0;
}
.bar-gouter .wp-block-column > * + * {
	margin-top: 14px;
}
.bandeau-sombre .wp-block-column > p.prix-grand + p {
	margin-top: 10px;
}
.epicerie.wp-block-cover {
	padding-inline: 16px;
}
.epicerie .wp-block-cover__inner-container > * + * {
	margin-top: 40px;
}
.repas-groupe {
	margin-top: 40px !important;
	margin-bottom: 64px !important;
}
.repas-groupe .wp-block-columns {
	gap: 40px;
	margin: 0;
}
.repas-groupe .wp-block-column > * {
	margin-block: 0;
}
.repas-groupe .wp-block-column > * + * {
	margin-top: 14px;
}
.repas-groupe .photo-bandeau img {
	border-radius: var(--rayon-grand);
}

@media (min-width: 782px) {
	.trois-reperes {
		margin-top: -140px !important;
	}
	.trois-reperes .wp-block-columns {
		gap: 0;
	}
	.repere {
		padding: 8px 28px;
	}
	.repere + .repere {
		border-left: 2px dotted var(--or);
	}
	.photo-bandeau img {
		height: 340px;
	}
	.repas-groupe .photo-bandeau img {
		height: 400px;
	}
	.restaurant-carte {
		padding-top: 40px;
	}
	.producteurs {
		padding-block: 60px;
	}
	.epicerie.wp-block-cover {
		padding-inline: 24px;
	}
	.repas-groupe {
		margin-bottom: 100px !important;
	}
	.repas-groupe .wp-block-columns {
		gap: 48px;
	}
}

/* Liste à filets */
.wp-block-list.is-style-filets {
	list-style: none;
	padding: 0;
	margin: 0;
}
.wp-block-list.is-style-filets li {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid var(--brume);
	color: var(--ardoise);
}
:is(.wp-block-cover, .has-nuit-background-color) .wp-block-list.is-style-filets li {
	border-bottom-color: rgba(255, 255, 255, 0.18);
	color: var(--givre);
}

/* Chiffres clés */
.en-bref.wp-block-group {
	position: relative;
	z-index: 3;
	margin-top: -120px !important;
	max-width: 1180px !important;
	gap: 12px;
	text-align: center;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.chiffre > * {
	margin: 0;
}
p.chiffre__valeur {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 34px;
	line-height: 1.2;
	color: var(--nuit);
}
p.chiffre__libelle {
	font-size: 14px;
}

/* Formules */
.formules,
.disponibilites,
.plans-etages,
.espaces,
.offres {
	padding-block: 20px 40px;
}
.formules > * + *,
.disponibilites > * + *,
.plans-etages > * + *,
.espaces > * + *,
.offres > * + * {
	margin-top: 36px !important;
}
.formules .wp-block-columns {
	gap: 32px;
	margin: 0;
}
.formules .wp-block-column > *,
.espace > *,
.offre > * {
	margin-block: 0;
}
.formules .wp-block-column > * + *,
.espace > * + *,
.offre > * + * {
	margin-top: 14px;
}
.formules .photo-pastille + * {
	margin-top: 22px;
}
.formules h3 {
	line-height: 1.15;
}

/* Agenda des groupes */
.agenda__tete {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}
p.agenda__titre {
	white-space: nowrap;
	margin: 0 auto 0 0;
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 22px;
	color: var(--nuit);
	order: -1;
}
.agenda__nav {
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: 1px solid var(--nuit);
	background: transparent;
	color: var(--nuit);
	font: inherit;
	cursor: pointer;
}
.agenda__nav:hover:not([disabled]) {
	background: var(--nuit);
	color: #fff;
}
.agenda__nav[disabled] {
	opacity: 0.3;
	cursor: default;
}
.agenda__grille {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 6px;
	text-align: center;
	font-size: 15px;
}
.agenda__jsem {
	font-size: 13px;
	color: var(--ardoise);
	padding: 6px 0;
	text-decoration: none;
}
.agenda__jour {
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	color: var(--nuit);
}
.agenda__jour--libre {
	background: #fff;
}
.agenda__jour--chambres {
	background: var(--or-clair);
}
.agenda__jour--privatise {
	background: var(--nuit);
	color: #fff;
}
.agenda__jour--ferme {
	background: #666364;
	color: #fff;
}
.agenda__jour--passe {
	opacity: 0.35;
}
.agenda__legende {
	list-style: none;
	padding: 0;
	margin: 20px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 14px;
	color: var(--ardoise);
}
.agenda__legende li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.agenda__legende strong {
	color: var(--nuit);
}
.agenda__pastille {
	flex: none;
	margin-top: 3px;
	width: 14px;
	height: 14px;
	border-radius: 4px;
}
.agenda__pastille.agenda__jour--libre {
	border: 1px solid var(--brume);
}

/* Formulaire */
.formulaire {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}
.formulaire p {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.formulaire label {
	font-size: 14px;
	font-weight: 600;
	color: var(--nuit);
}
.formulaire :is(input, select, textarea) {
	font: inherit;
	color: var(--nuit);
	padding: 12px 16px;
	border-radius: 14px;
	border: 1px solid var(--brume);
	background: #fff;
	min-height: 48px;
	box-sizing: border-box;
	width: 100%;
}
.formulaire textarea {
	resize: vertical;
}
.formulaire :is(input, select, textarea):focus-visible {
	outline: 2px solid var(--or);
	outline-offset: 1px;
	border-color: var(--or);
}
.formulaire__piege {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.formulaire__envoyer {
	align-self: flex-start;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	border: 0;
	background: var(--or);
	color: var(--nuit);
	padding: 7px 7px 7px 24px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.formulaire__envoyer::after {
	content: "→";
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: var(--nuit);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.formulaire__envoyer:hover {
	background: #DCAB59;
}
.formulaire__envoyer:focus-visible {
	outline: 2px solid var(--or);
	outline-offset: 3px;
}
.formulaire__message {
	scroll-margin-top: 90px;
	border-radius: var(--rayon);
	padding: 16px 20px;
	margin-bottom: 16px;
}
.formulaire__message p {
	margin: 0;
}
.formulaire__message--ok {
	background: #fff;
	border-left: 4px solid var(--or);
}
.formulaire__message--erreur {
	background: #FBEDEA;
	border-left: 4px solid #A23B2A;
}
.disponibilites .wp-block-columns {
	gap: 48px;
	margin: 0;
}

/* Onglets */
.onglets__liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
}
.onglets__bouton {
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	padding: 11px 22px;
	border-radius: 999px;
	border: 1px solid var(--nuit);
	background: transparent;
	color: var(--nuit);
}
.onglets__bouton[aria-selected="true"] {
	background: var(--nuit);
	color: #fff;
}
.onglets__bouton:focus-visible {
	outline: 2px solid var(--or);
	outline-offset: 3px;
}
.is-style-onglets > .etage + .etage {
	margin-top: 48px;
}
.etage > h3:not(.screen-reader-text) {
	margin-bottom: 16px;
}
.etage .wp-block-columns {
	gap: 48px;
	margin: 0;
}
.plan.wp-block-image {
	margin: 0;
}
.plan img {
	border-radius: 0;
	width: 100%;
	max-width: 640px;
}

/* Liste des chambres : numéro or, couchage, places */
.wp-block-table.is-style-chambres {
	margin: 0;
}
.wp-block-table.is-style-chambres table {
	width: 100%;
	border-collapse: collapse;
}
.wp-block-table.is-style-chambres td {
	border: 0;
	border-bottom: 1px solid var(--brume);
	padding: 14px 12px 14px 0;
	vertical-align: baseline;
	color: var(--ardoise);
}
.wp-block-table.is-style-chambres td:first-child {
	width: 64px;
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 22px;
	color: #8F611A;
}
.wp-block-table.is-style-chambres td:last-child {
	padding-right: 0;
	text-align: right;
	font-weight: 600;
	white-space: nowrap;
	color: var(--nuit);
}

/* Espaces communs */
.photo-carte.wp-block-image img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	display: block;
}

/* Tarifs groupes : tuiles */
.tarifs-groupes .wp-block-cover__inner-container > * + * {
	margin-top: 32px;
}
.tuiles.wp-block-group {
	gap: 12px;
}
.tuile {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 20px;
	padding: 22px 18px;
}
.tuile > * {
	margin: 0;
}
.tuile > * + * {
	margin-top: 4px;
}
.wp-block-cover p.tuile__duree,
.wp-block-cover p.tuile__note {
	color: #B8C6D4;
	font-size: 14px;
}
.wp-block-cover p.tuile__note {
	font-size: 13px;
}
.wp-block-cover p.tuile__prix {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 28px;
	line-height: 1.2;
	color: #fff;
}
.tuile--or {
	background: rgba(209, 154, 63, 0.16);
	border-color: rgba(209, 154, 63, 0.5);
	padding: 22px 24px;
}
.wp-block-cover .tuile--or p.tuile__duree {
	color: var(--or-clair);
}
.wp-block-cover .tuile--or p.tuile__note {
	color: var(--givre);
	font-size: 14px;
}
.tarifs-groupes__bas.wp-block-columns {
	gap: 32px;
	margin: 0;
}
.tarifs-groupes {
	margin-block: 40px !important;
}

/* Repas des groupes : mosaïque plus haute */
.repas-groupes {
	padding-bottom: 20px;
}
@media (min-width: 782px) {
	.repas-groupes .mosaique > .wp-block-image:first-child img {
		height: 460px;
	}
	.repas-groupes .mosaique img {
		height: 222px;
	}
}

@media (min-width: 600px) {
	.en-bref.wp-block-group {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.formulaire {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.formulaire__large {
		grid-column: 1 / -1;
	}
}
@media (min-width: 782px) {
	.hero--groupes {
		min-height: 820px;
	}
	.en-bref.wp-block-group {
		margin-top: -170px !important;
	}
	.disponibilites {
		padding-bottom: 60px;
	}
	.plans-etages,
	.espaces {
		padding-bottom: 60px;
	}
}

/* =========================================================
   Page GR738
   ========================================================= */

/* Tracé et chiffres, posés sur la brume du haut de page */
.traversee {
	position: relative;
	z-index: 3;
	margin-top: -100px !important;
	padding-bottom: 20px;
}
.traversee .wp-block-columns {
	gap: 40px;
	margin: 0;
}
.traversee__carte.wp-block-column {
	background: var(--nuit);
	border-radius: var(--rayon-grand);
	padding: 16px;
}
.trace-gr738 {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.traversee__texte > * {
	margin-block: 0;
}
.traversee__texte > * + * {
	margin-top: 16px;
}
.traversee__chiffres.wp-block-group {
	gap: 0 24px;
	margin-top: 24px !important;
}
.traversee .chiffre {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 0;
	border-top: 2px dotted var(--or);
}
.traversee p.chiffre__valeur {
	font-size: 26px;
	line-height: 1.15;
}

/* Étapes voisines */
.voisines .wp-block-cover__inner-container > .entete-section__texte {
	max-width: 760px;
}
.voisines .entete-section__texte p:not(.is-style-surtitre) {
	color: var(--givre);
}
.voisines .wp-block-columns {
	gap: 20px;
	margin: 32px 0 0;
}
.voisines .wp-block-group.is-style-verre {
	height: 100%;
	padding: 20px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.22);
}

/* Les 11 étapes */
.etapes-gr {
	padding-block: 60px 40px;
}
.etapes-gr .wp-block-columns {
	gap: 40px;
	margin: 0;
}
.etapes-gr__texte > * {
	margin-block: 0;
}
.etapes-gr__texte > * + * {
	margin-top: 16px;
}
.etapes-gr__texte .wp-block-buttons {
	margin-top: 24px;
}
.wp-block-table.is-style-etapes {
	margin: 0;
}
.wp-block-table.is-style-etapes table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}
.wp-block-table.is-style-etapes :is(th, td) {
	border: 0;
	border-bottom: 1px solid var(--brume);
	padding: 12px 8px;
	text-align: left;
	vertical-align: baseline;
}
.wp-block-table.is-style-etapes th {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pierre);
	border-bottom-color: var(--nuit);
}
.wp-block-table.is-style-etapes td {
	color: var(--ardoise);
}
.wp-block-table.is-style-etapes td:first-child {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	color: var(--bois);
}
.wp-block-table.is-style-etapes td:nth-child(2) {
	color: var(--nuit);
}
.wp-block-table.is-style-etapes td:nth-child(n+3) {
	white-space: nowrap;
}
/* Une étape en gras (celles de la Martinette) est surlignée. */
.wp-block-table.is-style-etapes tr:has(strong) td {
	background: var(--or-clair);
	border-bottom-color: transparent;
	color: var(--nuit);
	font-weight: 600;
}
.wp-block-table.is-style-etapes tr:has(strong) td:first-child {
	border-radius: 14px 0 0 14px;
}
.wp-block-table.is-style-etapes tr:has(strong) td:last-child {
	border-radius: 0 14px 14px 0;
}
.wp-block-table.is-style-etapes figcaption {
	margin: 14px 0 0;
	font-size: 14px;
	color: var(--pierre);
	text-align: left;
}

/* Téléphone : numéro à gauche, durée et dénivelé sous le trajet. */
@media (max-width: 599px) {
	/* Le schéma est petit : on grossit les noms pour qu'ils restent lisibles. */
	.trace-gr738 text {
		font-size: 16px;
	}
	.trace-gr738 text[font-size="17"] {
		font-size: 24px;
	}
	.trace-gr738 text[font-size="10"] {
		font-size: 13px;
	}
	.wp-block-table.is-style-etapes thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}
	.wp-block-table.is-style-etapes tr {
		display: grid;
		grid-template-columns: 30px auto minmax(0, 1fr);
		column-gap: 12px;
		padding: 10px 12px;
		border-bottom: 1px solid var(--brume);
	}
	.wp-block-table.is-style-etapes td {
		padding: 0;
		border: 0;
		background: none !important;
		border-radius: 0 !important;
	}
	.wp-block-table.is-style-etapes td:nth-child(2) {
		grid-column: 2 / -1;
	}
	.wp-block-table.is-style-etapes td:nth-child(n+3) {
		font-size: 15px;
	}
	.wp-block-table.is-style-etapes td:nth-child(3) {
		grid-column: 2;
	}
	.wp-block-table.is-style-etapes td:nth-child(4) {
		grid-column: 3;
	}
	.wp-block-table.is-style-etapes tr:has(strong) {
		background: var(--or-clair);
		border-radius: 14px;
		border-bottom-color: transparent;
	}
}

@media (min-width: 782px) {
	.traversee {
		margin-top: -130px !important;
	}
	.traversee .wp-block-columns {
		gap: 48px;
	}
	.traversee__carte.wp-block-column {
		padding: 28px;
	}
	.voisines .wp-block-group.is-style-verre {
		padding: 32px;
	}
	.etapes-gr {
		padding-block: 100px 60px;
	}
	.etapes-gr .wp-block-columns {
		gap: 48px;
	}
}

/* =========================================================
   Page Activités
   ========================================================= */

/* Randonnées : les photos remontent sur la brume, le texte reste en dessous. */
.randos {
	position: relative;
	z-index: 3;
	margin-top: -100px !important;
	padding-bottom: 20px;
}
.randos .wp-block-columns {
	gap: 36px;
	margin: 0;
}
.randos__photos > .wp-block-image {
	margin: 0;
}
.randos__photos > * + * {
	margin-top: 16px !important;
}
.randos__photos img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
	border-radius: var(--rayon-grand);
}
.randos__photos > * + * img {
	height: 200px;
}
.randos__texte > * {
	margin-block: 0;
}
.randos__texte > * + * {
	margin-top: 16px;
}
.randos__texte > .rando {
	margin-top: 22px;
}
.rando {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 16px;
	padding-top: 22px;
	border-top: 2px dotted var(--or);
}
.trace-rando {
	display: block;
	width: 100%;
	height: auto;
	background: var(--nuit);
	border-radius: 20px;
}
.rando__texte > * {
	margin-block: 0;
}
.rando__texte > * + * {
	margin-top: 6px;
}
.rando__texte .wp-block-list {
	margin-top: 12px;
}
/* Étiquettes sur fond clair ; le lien GPX reste un simple lien. */
:is(.rando, .hiver, .offre) .wp-block-list.is-style-puces li {
	background: #fff;
	border-color: var(--brume);
	color: var(--ardoise);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	padding: 6px 14px;
}
.rando .wp-block-list.is-style-puces li:has(a) {
	background: none;
	border-color: transparent;
	padding-inline: 4px;
}
.rando li a {
	color: var(--nuit);
	font-weight: 600;
}

/* Trail */
@media (max-width: 599px) {
	.trail .wp-block-table.is-style-tarifs td {
		display: block;
		text-align: left;
		padding: 0;
		border: 0;
	}
	.trail .wp-block-table.is-style-tarifs tr {
		display: block;
		padding: 12px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	}
}
.trail .wp-block-column > * + * {
	margin-top: 16px;
}
.trail p:not(.is-style-surtitre) {
	color: var(--givre);
}
.trail .wp-block-buttons {
	margin-top: 24px;
}

/* Hiver */
.hiver {
	padding-block: 60px 40px;
}
.hiver .wp-block-columns {
	gap: 36px;
	margin: 0;
}
.hiver__texte > * {
	margin-block: 0;
}
.hiver__texte > * + * {
	margin-top: 16px;
}
.hiver__photos {
	display: flex;
	gap: 12px;
}
.hiver__photos > .wp-block-image {
	flex: 1;
	min-width: 0;
	margin: 0;
}
.hiver__photos img {
	display: block;
	width: 100%;
	height: 240px;
	object-fit: cover;
	border-radius: var(--rayon-grand);
}
.hiver__photos > * + * {
	margin-top: 32px !important;
}

/* Au gîte */
.ressources .entete-section__note {
	margin: 0;
}
.lamart.wp-block-cover {
	padding: 32px 24px;
	justify-content: flex-start;
}
.lamart .wp-block-cover__inner-container {
	max-width: 640px;
}
.lamart .wp-block-cover__inner-container > * {
	margin-block: 0;
}
.lamart .wp-block-cover__inner-container > * + * {
	margin-top: 8px;
}
.lamart p:not(.is-style-surtitre) {
	color: #E3E9EF;
}
/* Sur téléphone, le texte occupe toute la largeur : voile uniforme. */
@media (max-width: 781px) {
	.lamart .wp-block-cover__background {
		background: rgba(12, 32, 53, 0.72) !important;
	}
}

/* Autour */
.autour {
	padding-block: 20px 40px;
}
.autour .wp-block-columns {
	gap: 36px;
	margin: 0;
}
.autour__texte > * {
	margin-block: 0;
}
.autour__texte > * + * {
	margin-top: 16px;
}
.autour__texte .wp-block-buttons {
	margin-top: 22px;
}

@media (min-width: 782px) {
	.randos {
		margin-top: -130px !important;
	}
	.randos .wp-block-columns {
		gap: 56px;
	}
	.randos__photos img {
		height: 420px;
	}
	.randos__photos > * + * img {
		height: 260px;
	}
	.randos__texte {
		padding-top: 150px;
	}
	.rando {
		grid-template-columns: 96px minmax(0, 1fr);
		gap: 20px;
	}
	.hiver {
		padding-block: 60px 60px;
	}
	.hiver .wp-block-columns {
		gap: 48px;
		align-items: center;
	}
	.hiver__photos {
		gap: 16px;
	}
	.hiver__photos img {
		height: 420px;
	}
	.hiver__photos > * + * {
		margin-top: 60px !important;
	}
	.lamart.wp-block-cover {
		padding: 36px 40px;
	}
	.autour {
		padding-bottom: 60px;
	}
	.autour .wp-block-columns {
		gap: 48px;
	}
}

/* =========================================================
   Page Accès
   ========================================================= */

.hero p.hero__adresse {
	color: #fff;
	font-weight: 600;
}

/* Schéma d'accès */
.trace-acces {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.acces-voiture {
	padding-bottom: 20px;
}

/* Trois repères numérotés */
.reperes-numerotes {
	list-style: none;
	counter-reset: repere;
	padding: 0;
	margin-block: 24px !important;
}
.reperes-numerotes li {
	counter-increment: repere;
	position: relative;
	margin: 0;
	padding: 16px 0 16px 52px;
	border-top: 2px dotted var(--or);
	color: var(--ardoise);
}
.reperes-numerotes li::before {
	content: counter(repere);
	position: absolute;
	left: 0;
	top: 16px;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--nuit);
	color: var(--or-clair);
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
}
.reperes-numerotes strong {
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 21px;
	color: var(--nuit);
}

/* Pied du bandeau train et bus */
.voisines__pied.wp-block-group {
	margin-top: 28px;
	gap: 20px;
}
.voisines__pied p {
	flex: 1 1 420px;
	margin: 0;
	color: var(--givre);
}
.voisines .wp-block-column > .wp-block-group.is-style-verre .wp-block-list {
	margin-top: 14px;
}

/* À pied */
.acces-pied.wp-block-cover {
	margin-top: 40px !important;
}
.acces-pied .wp-block-cover__inner-container {
	max-width: 640px;
}
.acces-pied .wp-block-cover__inner-container > * {
	margin-block: 0;
}
.acces-pied .wp-block-cover__inner-container > * + * {
	margin-top: 8px;
}

/* L'hiver et sur place */
.acces-savoir {
	padding-block: 60px 40px;
}
.acces-savoir .wp-block-columns {
	gap: 36px;
	margin: 0;
}
.acces-savoir__photo img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: var(--rayon-grand);
}
.acces-savoir__texte > * {
	margin-block: 0;
}
.acces-savoir__texte > * + * {
	margin-top: 16px;
}
.acces-savoir .wp-block-list.is-style-producteurs {
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	margin-top: 24px;
}

/* Contact */
@media (max-width: 599px) {
	.contact .wp-block-table.is-style-tarifs td {
		display: block;
		text-align: left;
		padding: 0;
		border: 0;
	}
	.contact .wp-block-table.is-style-tarifs tr {
		display: block;
		padding: 10px 0;
		border-bottom: 1px solid var(--brume);
	}
}
.contact {
	padding-block: 20px 60px;
	scroll-margin-top: 90px;
}
.contact .wp-block-columns {
	gap: 40px;
	margin: 0;
}
.contact__texte > * {
	margin-block: 0;
}
.contact__texte > * + * {
	margin-top: 16px;
}
.contact__texte .wp-block-buttons {
	margin-top: 24px;
	gap: 12px;
}
.contact__texte td a {
	color: var(--nuit);
}
.contact .wp-block-table.is-style-tarifs td:last-child {
	white-space: normal;
	overflow-wrap: anywhere;
}
.contact .formulaire__message {
	margin-bottom: 20px;
}

@media (max-width: 599px) {
	/* Le schéma est petit : on grossit les noms pour qu'ils restent lisibles. */
	.trace-acces text {
		font-size: 15px;
	}
	.trace-acces text[font-size="17"] {
		font-size: 20px;
	}
	.trace-acces text[font-size="11"] {
		font-size: 13px;
	}
	.trace-acces text[font-size="10"] {
		font-size: 12px;
	}
}
@media (max-width: 781px) {
	.acces-pied .wp-block-cover__background {
		background: rgba(12, 32, 53, 0.65) !important;
	}
}
@media (min-width: 782px) {
	.acces-voiture .traversee__texte {
		padding-top: 150px;
	}
	.acces-voiture .traversee__carte.wp-block-column {
		align-self: flex-start;
	}
	.acces-savoir {
		padding-block: 80px 60px;
	}
	.acces-savoir .wp-block-columns {
		gap: 56px;
	}
	.acces-savoir__photo img {
		height: 520px;
	}
	.contact {
		padding-bottom: 100px;
	}
	.contact .wp-block-columns {
		gap: 56px;
	}
}

/* =========================================================
   Page Réservation
   ========================================================= */

.hero--mini {
	--brume-h: 200px;
	min-height: 400px;
	padding-block: 90px 130px;
}
.hero--mini .wp-block-list.is-style-puces {
	margin: 18px 0 0;
}
.reservation {
	position: relative;
	z-index: 3;
	margin-top: -70px !important;
	max-width: 1120px !important;
	padding-bottom: 20px;
}
.reservation .sirvoy iframe {
	border-radius: var(--rayon);
}
.reservation p.note-tarifs a {
	color: var(--nuit);
	font-weight: 600;
}
.demandes.wp-block-group {
	max-width: 1120px !important;
	gap: 0 40px;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	padding-block: 20px 60px;
}
/* Toute l'entrée est cliquable, le bouton reste le lien. */
.demande {
	position: relative;
	padding-block: 26px;
	border-top: 2px dotted var(--or);
}
.demande > * {
	margin-block: 0;
}
.demande > * + * {
	margin-top: 8px;
}
.demande .wp-block-buttons {
	margin-top: 14px;
}
.demande .wp-block-button__link::before {
	content: "";
	position: absolute;
	inset: 0;
}

@media (min-width: 782px) {
	.hero--mini {
		--brume-h: 220px;
		min-height: 440px;
		padding-bottom: 150px;
	}
	.reservation {
		margin-top: -110px !important;
	}
	.demandes.wp-block-group {
		padding-bottom: 100px;
	}
}

/* =========================================================
   Actualités
   ========================================================= */

.a-venir {
	position: relative;
	z-index: 3;
	margin-top: -60px !important;
	padding-bottom: 10px;
}
.a-venir > * {
	margin-block: 0;
}
.a-venir > .demandes.wp-block-group {
	max-width: none !important;
	margin-top: 10px;
	padding-block: 0;
}
.a-venir .demande {
	padding-block: 20px;
}

/* Filtres */
.actus {
	padding-block: 30px 40px;
}
.filtres {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 28px;
}
.filtres a {
	padding: 8px 16px;
	border: 1px solid var(--brume);
	border-radius: 999px;
	background: #fff;
	color: var(--ardoise);
	font-size: 15px;
	text-decoration: none;
}
.filtres a:hover {
	border-color: var(--nuit);
	color: var(--nuit);
}
.filtres a[aria-current] {
	background: var(--nuit);
	border-color: var(--nuit);
	color: #fff;
}

/* Grille d'articles */
.actus__grille.wp-block-post-template {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.actus__grille > li {
	position: relative;
	margin: 0;
	min-width: 0;
}
.actus__grille .wp-block-post-featured-image {
	margin: 0 0 16px;
}
.actus__grille .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 240px;
	object-fit: cover;
	border-radius: var(--rayon);
}
.actu__texte > * {
	margin-block: 0;
}
.actu__texte > * + * {
	margin-top: 8px;
}
.actu__meta.wp-block-group {
	gap: 4px 12px;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bois);
}
.actu__meta > * {
	margin: 0;
	font-size: inherit;
}
.actu__meta a {
	position: relative;
	z-index: 1;
	color: inherit;
	text-decoration: none;
}
.actu__meta a:hover {
	text-decoration: underline;
}
.actu__meta .wp-block-post-date {
	color: var(--wp--preset--color--pierre);
}
.actu__texte .wp-block-post-title a {
	color: var(--nuit);
	text-decoration: none;
}
/* Toute la carte est cliquable, le titre reste le lien. */
.actu__texte .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.actu__texte .wp-block-post-title a:hover {
	text-decoration: underline;
}
.actus__grille .wp-block-post-excerpt__excerpt {
	margin: 0;
	color: var(--ardoise);
}

/* L'article à la une : photo pleine carte, sur la première page seulement. */
body:not(.paged) .actus__grille > li:first-child {
	display: flex;
	align-items: flex-end;
	min-height: 420px;
	overflow: hidden;
	border-radius: var(--rayon-grand);
	background: var(--nuit);
}
body:not(.paged) .actus__grille > li:first-child .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
}
body:not(.paged) .actus__grille > li:first-child .wp-block-post-featured-image img {
	height: 100%;
	border-radius: 0;
}
body:not(.paged) .actus__grille > li:first-child::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(12, 32, 53, 0.1) 20%, rgba(12, 32, 53, 0.65) 55%, rgba(12, 32, 53, 0.9) 100%);
}
body:not(.paged) .actus__grille > li:first-child .actu__texte {
	position: relative;
	z-index: 2;
	max-width: 760px;
	padding: 24px;
}
body:not(.paged) .actus__grille > li:first-child .actu__texte .wp-block-post-title {
	font-size: var(--wp--preset--font-size--titre-3);
}
body:not(.paged) .actus__grille > li:first-child :is(.actu__meta, .actu__meta .wp-block-post-date) {
	color: var(--or-clair);
}
body:not(.paged) .actus__grille > li:first-child .wp-block-post-title a {
	color: #fff;
}
body:not(.paged) .actus__grille > li:first-child .wp-block-post-excerpt__excerpt {
	color: #E3E9EF;
}

/* Page suivante */
.actus__pages.wp-block-query-pagination {
	margin-top: 36px;
	gap: 12px;
}
.actus__pages a {
	padding: 12px 24px;
	border-radius: 999px;
	background: var(--nuit);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}
p.actus__vide {
	margin: 0;
	padding-top: 20px;
	border-top: 2px dotted var(--or);
}

/* Instagram */
.instagram {
	padding-block: 20px 60px;
}
.instagram__photos.wp-block-group {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 24px;
}
.instagram__photos > .wp-block-image {
	margin: 0;
}
.instagram__photos img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 16px;
}

/* Un article */
.bandeau-titre .actu__meta.wp-block-group {
	color: var(--or-clair);
	justify-content: flex-start;
}
.bandeau-titre .actu__meta .wp-block-post-date {
	color: var(--givre);
}
.bandeau-titre .wp-block-post-title {
	margin-top: 12px;
}
.article {
	padding-block: 40px 80px;
}
.article .wp-block-post-featured-image {
	margin-bottom: 32px;
}

@media (min-width: 782px) {
	.a-venir {
		margin-top: -90px !important;
	}
	.actus__grille.wp-block-post-template {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	body:not(.paged) .actus__grille > li:first-child {
		grid-column: 1 / -1;
		min-height: 480px;
	}
	body:not(.paged) .actus__grille > li:first-child .actu__texte {
		padding: 40px;
	}
	.instagram {
		padding-bottom: 100px;
	}
	.instagram__photos.wp-block-group {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 12px;
	}
}

/* =========================================================
   Pages ordinaires : textes et tableaux (pages légales)
   ========================================================= */

.contenu > h2 {
	margin-top: 40px;
	font-size: var(--wp--preset--font-size--titre-carte);
}
.contenu .wp-block-table {
	margin-block: 20px;
}
.contenu .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}
.contenu .wp-block-table :is(th, td) {
	border: 0;
	border-bottom: 1px solid var(--brume);
	padding: 10px 12px 10px 0;
	text-align: left;
	vertical-align: top;
	color: var(--ardoise);
	font-size: 16px;
}
.contenu .wp-block-table th {
	color: var(--nuit);
	font-weight: 600;
	border-bottom-color: var(--nuit);
}
.contenu .wp-block-table td a {
	overflow-wrap: anywhere;
}
.contenu .wp-block-list {
	padding-left: 20px;
}
.contenu .wp-block-list li + li {
	margin-top: 8px;
}
@media (max-width: 599px) {
	.contenu .wp-block-table :is(th, td) {
		font-size: 14px;
		padding-right: 8px;
		overflow-wrap: anywhere;
		hyphens: auto;
	}
}

/* Bandeau de privatisation, retiré quand l'en-tête devient compact. */
.bandeau-privatisation {
	margin: 0;
	padding: 8px 16px;
	background: var(--or-clair);
	color: var(--nuit);
	font-size: 15px;
	line-height: 1.35;
	text-align: center;
}
.bandeau-privatisation a {
	color: var(--nuit);
	font-weight: 600;
}
.is-colle .bandeau-privatisation {
	display: none;
}

/* ---------- Animations douces (désactivées si mouvement réduit) ---------- */

@media (prefers-reduced-motion: no-preference) {
	/* La brume du haut de page dérive lentement. */
	.hero.has-brume-bas::after {
		animation: brume-derive 40s ease-in-out infinite alternate;
	}

	/* Apparitions : seulement si le script tourne (sinon tout reste visible). */
	.js-anim :is(.sections > *, .is-style-carte, .entree, .wp-block-quote.is-style-avis):not(.est-visible):not(.hero) {
		opacity: 0;
		transform: translateY(24px);
	}
	.js-anim :is(.sections > *, .is-style-carte, .entree, .wp-block-quote.is-style-avis) {
		transition: opacity 0.8s ease, transform 0.8s ease;
	}
	.js-anim .entree:nth-child(2),
	.js-anim .grille-cartes > :nth-child(2),
	.js-anim .avis__liste > :nth-child(2) {
		transition-delay: 0.12s;
	}
	.js-anim .entree:nth-child(3),
	.js-anim .grille-cartes > :nth-child(3),
	.js-anim .avis__liste > :nth-child(3) {
		transition-delay: 0.24s;
	}
	.js-anim .grille-cartes > :nth-child(4) {
		transition-delay: 0.36s;
	}

	/* Chemins pointillés qui se dessinent de haut en bas. */
	.js-anim .wp-block-spacer.is-style-chemin {
		-webkit-mask: linear-gradient(#000, #000) top / 100% 0% no-repeat;
		mask: linear-gradient(#000, #000) top / 100% 0% no-repeat;
		transition: -webkit-mask-size 1.4s ease-in-out, mask-size 1.4s ease-in-out;
	}
	.js-anim .wp-block-spacer.is-style-chemin.est-visible {
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
	}

	/* Étapes du chemin : elles arrivent de leur côté, le point or s'allume. */
	.js-anim .wp-block-group.is-style-chemin > * {
		transition: opacity 0.7s ease, transform 0.7s ease;
	}
	.js-anim .wp-block-group.is-style-chemin > :not(.est-visible) {
		opacity: 0;
		transform: translateX(16px);
	}
	.js-anim .wp-block-group.is-style-chemin > *::before {
		transition: transform 0.5s ease 0.3s, box-shadow 0.5s ease 0.3s;
	}
	.js-anim .wp-block-group.is-style-chemin > :not(.est-visible)::before {
		transform: scale(0.3);
		box-shadow: 0 0 0 0 rgba(209, 154, 63, 0);
	}
	@media (min-width: 782px) {
		.js-anim .wp-block-group.is-style-chemin > :nth-child(odd):not(.est-visible) {
			transform: translateX(-16px);
		}
	}

	/* La flèche des grandes cartes glisse au survol. */
	.wp-block-cover.carte--fleche::after {
		transition: transform 0.25s ease;
	}
	.wp-block-cover.carte--fleche:hover::after {
		transform: translateX(4px);
	}
}

@keyframes brume-derive {
	from { background-position: 42% bottom; }
	to { background-position: 58% bottom; }
}

/* ---------- Mouvement réduit ---------- */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
	.wp-block-cover.is-style-carte:hover .wp-block-cover__image-background {
		transform: none;
	}
}
