/* =========================================================
   Auberge du Cellier — feuille de style du thème
   Complète theme.json : composants, interactions, détails.
   ========================================================= */

:root {
	--adc-rule: rgba(30, 27, 23, 0.14);
	--adc-rule-light: rgba(251, 248, 243, 0.26);
	--adc-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--adc-header-h: 84px;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Débordement horizontal : clip, et non hidden — et porté par html, pas par
   body.
   -------------------------------------------------------------------------
   overflow-x: hidden sur body transforme body en conteneur de défilement.
   Trois conséquences, toutes constatées sur le site : window.scrollTo reste
   sans effet, les ancres ne mènent plus nulle part, et surtout
   IntersectionObserver ne voit plus entrer les éléments situés sous la
   ligne de flottaison — les apparitions ne se déclenchaient donc jamais et
   les titres restaient à opacité 0, gris pâle sur fond sombre.
   overflow-x: clip coupe le débordement sans créer de conteneur de
   défilement : le comportement voulu, sans l'effet de bord. */
html {
	overflow-x: clip;
}

::selection {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

:where(a, button, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}

/* ---------------------------------------------------------
   1. En-tête
   --------------------------------------------------------- */

/* Les sections se touchent, exactement comme sur la maquette.
   -------------------------------------------------------------
   WordPress insère de lui-même un écart de 24 px entre les enfants directs
   de .wp-site-blocks et des groupes de mise en page (l'« écart entre les
   blocs »). Résultat sur le site : un filet crème du fond de page apparaît
   entre chaque section, très visible dès que deux sections voisines sont
   colorées — et une bande claire s'invitait entre la dernière section et le
   pied de page sombre.
   Chaque section porte déjà sa propre respiration intérieure (padding) :
   l'écart n'a donc rien à ajouter, et on le remet à zéro ici. Cela ne
   touche pas les écarts *à l'intérieur* des sections. */
.wp-site-blocks > * + *,
main.wp-block-group > * + * {
	margin-block-start: 0;
}

/* L'en-tête est fixe et posé par-dessus le bandeau d'ouverture.
   Il devient opaque dès que la page défile (classe .is-stuck en JS). */
.adc-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 100;
	background: transparent;
	color: var(--wp--preset--color--base);
	border-bottom: 1px solid transparent;
	transition: background-color 0.45s var(--adc-ease), box-shadow 0.45s var(--adc-ease),
		border-color 0.45s var(--adc-ease), color 0.45s var(--adc-ease);
}

.adc-header .wp-block-site-title a {
	text-decoration: none;
}

.adc-header .wp-block-site-title a,
.adc-header .wp-block-navigation a,
.adc-header__tel {
	color: var(--wp--preset--color--base);
}

.adc-header .wp-block-button__link {
	background: transparent;
	border-color: var(--adc-rule-light);
	color: var(--wp--preset--color--base);
}

/* Pages sans bandeau d'ouverture — fiches produit, panier, commande.
   L'entête au repos est crème sur fond transparent : sans photo sombre
   derrière, la navigation disparaissait purement et simplement. On la rend
   opaque d'emblée. En CSS et non en JS, pour qu'il n'y ait pas le temps
   d'un clignotement au chargement ; theme.js fait la même chose en secours
   pour les navigateurs sans :has(). */
body:not(:has(.adc-hero)) .adc-header,
.adc-header.is-stuck {
	background-color: rgba(251, 248, 243, 0.94);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	border-bottom-color: var(--adc-rule);
	color: var(--wp--preset--color--contrast);
	box-shadow: 0 12px 40px -32px rgba(30, 27, 23, 0.6);
}

body:not(:has(.adc-hero)) .adc-header .wp-block-site-title a,
body:not(:has(.adc-hero)) .adc-header .wp-block-navigation a,
body:not(:has(.adc-hero)) .adc-header__tel,
.adc-header.is-stuck .wp-block-site-title a,
.adc-header.is-stuck .wp-block-navigation a,
.adc-header.is-stuck .adc-header__tel {
	color: var(--wp--preset--color--contrast);
}

body:not(:has(.adc-hero)) .adc-header .wp-block-button__link,
.adc-header.is-stuck .wp-block-button__link {
	background: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.adc-header .wp-block-button__link {
	padding: 0.78rem 1.6rem;
	font-size: 0.72rem;
}

/* Soulignement animé de la navigation */
.adc-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	padding-block: 0.35rem;
}

.adc-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.4s var(--adc-ease);
}

.adc-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.adc-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content::after {
	transform: scaleX(1);
	transform-origin: left;
}

.adc-header__tel {
	font-size: 0.78rem;
	font-weight: 300;
	letter-spacing: 0.12em;
	text-decoration: none;
	white-space: nowrap;
}

/* Ni le bouton, ni les entrées de menu ne doivent passer à la ligne. */
.adc-header .wp-block-button__link,
.adc-header .wp-block-navigation a {
	white-space: nowrap;
}

.adc-header .wp-block-navigation {
	flex-wrap: nowrap;
}

/* Avec les valeurs de la maquette, la barre mesure 1379 px : logo (275),
   gouttière (24), navigation + téléphone + langues + bouton (952), et
   2 × 64 px de marge. En dessous, on resserre avant de basculer sur le
   menu plein écran, sinon la navigation passe à la ligne et le bouton
   « Réserver » se coupe en deux. */
@media (max-width: 1400px) {
	.adc-header .wp-block-group.alignwide > .wp-block-group {
		gap: 1.1rem;
	}
	.adc-header .wp-block-navigation {
		gap: 1rem;
	}
	.adc-header .wp-block-navigation a,
	.adc-header__tel {
		font-size: 0.72rem;
		letter-spacing: 0.09em;
	}
	.adc-header .wp-block-button__link {
		padding: 0.7rem 1.15rem;
		font-size: 0.68rem;
		letter-spacing: 0.09em;
		white-space: nowrap;
	}
	.adc-langues {
		font-size: 0.68rem;
		gap: 0.35rem;
	}
}

@media (max-width: 1180px) {
	/* Le téléphone passe à la trappe avant la navigation : on le retrouve
	   dans le pied de page et dans le menu plein écran. */
	.adc-header__tel {
		display: none;
	}
}

/* Bascule vers le menu plein écran dès la tablette (au lieu de 600 px) */
@media (max-width: 1024px) {
	.adc-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
	.adc-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.adc-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex;
	}
	.adc-header__tel {
		display: none;
	}
}

@media (max-width: 600px) {
	.adc-header .wp-block-buttons {
		display: none;
	}
	.adc-header .wp-block-site-title {
		font-size: 1.25rem;
	}
}

/* Menu mobile plein écran (bloc Navigation) */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
	padding: 2rem clamp(1.25rem, 6vw, 4rem) 4rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.9rem, 8vw, 2.9rem);
	letter-spacing: 0.01em;
	text-transform: none;
	font-weight: 300;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.35rem;
}

/* ---------------------------------------------------------
   2. Héros
   --------------------------------------------------------- */

.adc-hero {
	position: relative;
	min-height: min(92svh, 900px);
	display: flex;
	align-items: flex-end;
}

.adc-hero--interior {
	min-height: min(62svh, 640px);
}

.adc-hero .wp-block-cover__image-background {
	animation: adc-kenburns 24s var(--adc-ease) forwards;
}

@keyframes adc-kenburns {
	from {
		transform: scale(1.1);
	}
	to {
		transform: scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.adc-hero .wp-block-cover__image-background {
		animation: none;
	}
	html {
		scroll-behavior: auto;
	}
}

.adc-hero__title {
	text-wrap: balance;
	font-weight: 300;
}

.adc-hero__title em {
	font-style: italic;
	color: var(--wp--preset--color--accent);
}

/* Petit indicateur de défilement */
.adc-scroll-hint {
	position: absolute;
	left: 50%;
	bottom: 1.6rem;
	transform: translateX(-50%);
	width: 1px;
	height: 56px;
	background: linear-gradient(to bottom, rgba(251, 248, 243, 0) 0%, rgba(251, 248, 243, 0.85) 100%);
	overflow: hidden;
}

.adc-scroll-hint::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--accent);
	animation: adc-scroll 2.6s var(--adc-ease) infinite;
}

@keyframes adc-scroll {
	0% {
		transform: translateY(-100%);
	}
	60%,
	100% {
		transform: translateY(100%);
	}
}

/* ---------------------------------------------------------
   3. Surtitres, filets, titres de section
   --------------------------------------------------------- */

.adc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 1.1rem;
}

.adc-eyebrow::before {
	content: "";
	width: 42px;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
	flex: none;
}

.adc-eyebrow--center {
	justify-content: center;
}

.adc-eyebrow--center::after {
	content: "";
	width: 42px;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
	flex: none;
}

.adc-eyebrow--light {
	color: var(--wp--preset--color--accent);
}

.adc-lede {
	font-size: clamp(1.08rem, 1.6vw, 1.28rem);
	line-height: 1.75;
	color: var(--wp--preset--color--contrast-2);
	max-width: 62ch;
}

.adc-rule {
	border: 0;
	height: 1px;
	background: var(--adc-rule);
	margin: 0;
}

/* Lettrine sur les paragraphes d'introduction */
.adc-dropcap::first-letter {
	font-family: var(--wp--preset--font-family--display);
	font-size: 3.6em;
	line-height: 0.78;
	float: left;
	padding: 0.06em 0.14em 0 0;
	color: var(--wp--preset--color--primary);
	font-weight: 400;
}

/* ---------------------------------------------------------
   4. Images & figures
   --------------------------------------------------------- */

.adc-figure {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--base-2);
}

.adc-figure img {
	display: block;
	width: 100%;
	height: 100%;
	/* Proportion par défaut : la place est réservée avant même que l'image
	   soit chargée. Sans cela, les images en chargement différé valent 0 de
	   haut au premier affichage, et tout ce qui suit remonte puis redescend
	   d'un bloc — c'est ce qui donnait l'impression d'une page mal calée.
	   Les variantes ci-dessous redéfinissent la proportion. */
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform 1.1s var(--adc-ease);
}

.adc-figure:hover img {
	transform: scale(1.045);
}

.adc-figure--tall img {
	aspect-ratio: 3 / 4;
}

.adc-figure--wide img {
	aspect-ratio: 4 / 3;
}

.adc-figure--square img {
	aspect-ratio: 1 / 1;
}

/* Cartouche superposée (nom du plat, de la chambre…) */
.adc-figure__label {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	padding: 2.5rem 1.5rem 1.35rem;
	background: linear-gradient(to top, rgba(30, 27, 23, 0.82), rgba(30, 27, 23, 0));
	color: var(--wp--preset--color--base);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* ---------------------------------------------------------
   5. Cartes
   --------------------------------------------------------- */

.adc-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--adc-rule);
	padding: clamp(1.75rem, 3vw, 2.6rem);
	height: 100%;
	transition: transform 0.5s var(--adc-ease), box-shadow 0.5s var(--adc-ease),
		border-color 0.5s var(--adc-ease);
}

.adc-card:hover {
	transform: translateY(-4px);
	border-color: rgba(162, 83, 58, 0.4);
	box-shadow: var(--wp--preset--shadow--douce);
}

.adc-card__num {
	font-family: var(--wp--preset--font-family--display);
	font-size: 0.95rem;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--primary);
	display: block;
	margin-bottom: 1.1rem;
}

/* ---------------------------------------------------------
   6. Carte du restaurant (lignes de menu)
   --------------------------------------------------------- */

.adc-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.adc-menu-item {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 0.6rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--adc-rule);
}

.adc-menu-item:first-child {
	border-top: 1px solid var(--adc-rule);
}

.adc-menu-item__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.32rem;
	line-height: 1.3;
}

.adc-menu-item__desc {
	grid-column: 1 / -1;
	font-size: 0.94rem;
	color: var(--wp--preset--color--contrast-2);
	line-height: 1.6;
	margin-top: 0.3rem;
	max-width: 58ch;
}

.adc-menu-item__price {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.32rem;
	color: var(--wp--preset--color--primary);
	white-space: nowrap;
}

/* Encadré « formule »
   -------------------------------------------------------------------------
   Aucune hauteur en pourcentage ici, et c'est volontaire. height:100 % — ou
   min-height:100 % — se calcule sur un parent dont la hauteur n'est pas
   encore connue : le navigateur retenait une valeur gonflée (661 px pour un
   contenu de 563 px), la carte débordait de sa rangée et se peignait
   par-dessus le paragraphe et les boutons placés en dessous.
   L'égalisation des hauteurs est déjà assurée par align-items: stretch sur
   la grille : la carte n'a donc rien à déclarer. */
.adc-formule {
	border: 1px solid var(--adc-rule);
	padding: clamp(1.9rem, 3.5vw, 3rem);
	background: var(--wp--preset--color--base);
	position: relative;
}

/* Quand la section elle-même est crème — la page Restaurant, « Nos menus » —
   les cartes passent au blanc pur : crème sur crème ne laisserait que le filet
   et les quatre menus se fondraient dans le fond. */
.adc-section.has-base-background-color .adc-formule {
	background: #ffffff;
}

/* Les quatre menus sont présentés à l'identique : aucun n'est mis en avant.
   La classe est conservée pour le cas où vous voudriez en distinguer un. */
.adc-formule--highlight {
	background: var(--wp--preset--color--base);
}

.adc-formule__price {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.6rem, 5vw, 3.4rem);
	line-height: 1;
	color: var(--wp--preset--color--primary);
	display: block;
	margin: 0.5rem 0 1rem;
}

.adc-formule__list {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	font-size: 0.96rem;
}

.adc-formules-grid .adc-formule__list li {
	font-size: 0.84rem;
	line-height: 1.6;
}

.adc-formule__list li {
	padding: 0.55rem 0 0.55rem 1.5rem;
	position: relative;
	border-top: 1px solid rgba(128, 120, 108, 0.22);
}

.adc-formule__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.15rem;
	width: 6px;
	height: 6px;
	border: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.55;
}

/* ---------------------------------------------------------
   7. Bandeau distinctions
   --------------------------------------------------------- */

.adc-awards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(1.75rem, 5vw, 4.5rem);
}

.adc-award {
	text-align: center;
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2);
	line-height: 1.6;
}

.adc-award strong {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.6rem;
	letter-spacing: 0.02em;
	text-transform: none;
	font-weight: 400;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 0.15rem;
}

/* ---------------------------------------------------------
   8. Informations pratiques / horaires
   --------------------------------------------------------- */

.adc-hours {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.98rem;
}

.adc-hours li {
	display: flex;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 0.72rem 0;
	border-bottom: 1px solid var(--adc-rule-light);
}

.adc-hours li span:last-child {
	color: var(--wp--preset--color--accent);
	white-space: nowrap;
}

.adc-hours--dark li {
	border-color: rgba(251, 248, 243, 0.16);
}

/* Variante « fiche » — informations légales et coordonnées longues.
   La liste d'origine met l'intitulé et la valeur côte à côte, avec
   white-space: nowrap sur la valeur : une adresse complète ne pouvant pas
   se couper, c'est l'intitulé qui se coupait (« Adre / sse »). Ici on
   empile, intitulé en petites capitales au-dessus de la valeur. */
.adc-hours--fiche li {
	display: block;
	padding: 0.8rem 0;
}

.adc-hours--fiche li span:first-child {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #a49b8d;
}

.adc-hours--fiche li span:last-child {
	display: block;
	white-space: normal;
	color: var(--wp--preset--color--contrast, #1e1b17);
	font-size: 1rem;
}

/* ---------------------------------------------------------
   9. Pied de page
   --------------------------------------------------------- */

.adc-footer a {
	text-decoration: none;
	opacity: 0.82;
	transition: opacity 0.3s var(--adc-ease), color 0.3s var(--adc-ease);
}

.adc-footer a:hover {
	opacity: 1;
	color: var(--wp--preset--color--accent);
}

.adc-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.95rem;
	line-height: 2.1;
}

/* Réseaux sociaux */
.adc-socials {
	display: flex;
	gap: 0.7rem;
	flex-wrap: wrap;
}

.adc-social {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(251, 248, 243, 0.24);
	border-radius: 50%;
	color: inherit;
	opacity: 1;
	transition: background-color 0.35s var(--adc-ease), border-color 0.35s var(--adc-ease),
		color 0.35s var(--adc-ease), transform 0.35s var(--adc-ease);
}

.adc-social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.adc-social:hover {
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	transform: translateY(-2px);
}

.adc-social--light {
	border-color: var(--adc-rule);
}

.adc-social--light:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* Bandeau Instagram */
.adc-instagram-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 2px;
}

.adc-instagram-grid a {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--base-2);
}

.adc-instagram-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--adc-ease), filter 0.5s var(--adc-ease);
}

.adc-instagram-grid a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(30, 27, 23, 0.42);
	opacity: 0;
	transition: opacity 0.4s var(--adc-ease);
}

.adc-instagram-grid a:hover img {
	transform: scale(1.07);
}

.adc-instagram-grid a:hover::after {
	opacity: 1;
}

@media (max-width: 900px) {
	.adc-instagram-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ---------------------------------------------------------
   10. Bouton de réservation flottant (mobile)
   --------------------------------------------------------- */

.adc-sticky-cta {
	position: fixed;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	z-index: 95;
	display: none;
	text-align: center;
	padding: 1.05rem;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	text-decoration: none;
	font-size: 0.76rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	box-shadow: var(--wp--preset--shadow--portee);
	transform: translateY(140%);
	transition: transform 0.5s var(--adc-ease);
}

.adc-sticky-cta.is-visible {
	transform: translateY(0);
}

@media (max-width: 781px) {
	.adc-sticky-cta {
		display: block;
	}
	body {
		padding-bottom: 0;
	}
}

/* ---------------------------------------------------------
   11. Apparition au défilement
   --------------------------------------------------------- */

.adc-reveal {
	opacity: 0;
	transform: translateY(26px);
	/* 0,55 s au lieu de 0,9 : l'élément ne stationne plus assez longtemps à
	   mi-opacité pour qu'on le prenne pour une erreur de couleur. */
	transition: opacity 0.55s var(--adc-ease), transform 0.55s var(--adc-ease);
	will-change: opacity, transform;
}

.adc-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.adc-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ---------------------------------------------------------
   12. Divers
   --------------------------------------------------------- */

.adc-section {
	padding-block: clamp(4.5rem, 9vw, 8.5rem);
}

.adc-section--tight {
	padding-block: clamp(3rem, 6vw, 5rem);
}

.adc-quote {
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-size: clamp(1.5rem, 3.4vw, 2.35rem);
	line-height: 1.42;
	text-wrap: balance;
}

.adc-signature {
	font-family: var(--wp--preset--font-family--display);
	font-style: italic;
	font-size: 1.3rem;
}

.adc-link-underline {
	display: inline-block;
	text-decoration: none;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid currentColor;
	transition: color 0.35s var(--adc-ease), letter-spacing 0.35s var(--adc-ease);
}

.adc-link-underline:hover {
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.21em;
}

/* Grille responsive utilitaire pour les colonnes du thème */
@media (max-width: 781px) {
	.adc-hero {
		min-height: 88svh;
	}
	.adc-menu-item__price {
		font-size: 1.15rem;
	}
}

/* Formulaire de contact (Contact Form 7 / Forminator / natif) */
.adc-form input[type="text"],
.adc-form input[type="email"],
.adc-form input[type="tel"],
.adc-form input[type="date"],
.adc-form input[type="number"],
.adc-form select,
.adc-form textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--adc-rule);
	padding: 0.95rem 0;
	font-family: inherit;
	font-size: 1rem;
	color: inherit;
	border-radius: 0;
	transition: border-color 0.35s var(--adc-ease);
}

.adc-form input:focus,
.adc-form select:focus,
.adc-form textarea:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--primary);
}

.adc-form label {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2);
	margin-bottom: 0.2rem;
}

.adc-form ::placeholder {
	color: rgba(107, 99, 87, 0.55);
}

/* ---------------------------------------------------------------------------
   MENUS — fiches en fenêtre (popup)
   --------------------------------------------------------------------------- */

/* Le contenu source reste dans la page (référencé, imprimable, indexable)
   mais n'est pas affiché : il est cloné dans la fenêtre à l'ouverture. */
.adc-menus-source {
	display: none;
}

.adc-menu-modal {
	width: min(680px, calc(100vw - 2rem));
	max-height: min(86vh, 900px);
	padding: 0;
	border: none;
	background: var(--wp--preset--color--base, #fbf8f3);
	box-shadow: 0 30px 90px rgba(30, 27, 23, 0.28);
	overflow: hidden;
}

.adc-menu-modal::backdrop {
	background: rgba(20, 18, 15, 0.62);
	backdrop-filter: blur(3px);
}

.adc-menu-modal[open] {
	animation: adc-modal-in 0.28s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}

@keyframes adc-modal-in {
	from { opacity: 0; transform: translateY(14px) scale(0.985); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.adc-menu-modal[open] { animation: none; }
}

.adc-menu-modal__corps {
	max-height: calc(min(86vh, 900px) - 5.5rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 4vw, 3.25rem) 1.5rem;
}

.adc-menu-modal__fermer {
	position: absolute;
	top: 0.9rem;
	right: 0.9rem;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
	background: var(--wp--preset--color--base, #fbf8f3);
	color: var(--wp--preset--color--contrast, #1e1b17);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.adc-menu-modal__fermer svg {
	width: 1.05rem;
	height: 1.05rem;
}

.adc-menu-modal__fermer:hover {
	background: var(--wp--preset--color--contrast, #1e1b17);
	color: var(--wp--preset--color--base, #fbf8f3);
}

.adc-menu-modal__fermer:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 2px;
}

.adc-menu-modal__pied {
	margin: 0;
	padding: 1.15rem clamp(1.5rem, 4vw, 3.25rem);
	border-top: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
	background: var(--wp--preset--color--base-2, #f1eadf);
	font-size: 0.82rem;
	line-height: 1.65;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

/* La fiche elle-même : titre et prix en grand, contenu discret. */
.adc-menu-fiche__sur {
	margin: 0 0 0.9rem;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-menu-fiche__titre {
	margin: 0 0 0.35rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	font-weight: 400;
	line-height: 1.1;
}

.adc-menu-fiche__prix {
	margin: 0 0 1.75rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(2rem, 4.5vw, 2.8rem);
	line-height: 1;
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-menu-fiche__note {
	margin: 0 0 2rem;
	padding: 0.9rem 1.1rem;
	background: var(--wp--preset--color--base-2, #f1eadf);
	border-left: 2px solid var(--wp--preset--color--primary, #a2533a);
	font-size: 0.86rem;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-menu-fiche__legal {
	margin: 2.25rem 0 0;
	font-size: 0.78rem;
	font-style: italic;
	text-align: right;
	color: #a49b8d;
}

.adc-menu-course {
	margin: 2rem 0 0.9rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-menu-course:first-of-type {
	margin-top: 0.5rem;
}

.adc-menu-course span {
	display: block;
	margin-top: 0.4rem;
	font-size: 0.76rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	text-transform: none;
	font-style: italic;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-menu-plats {
	margin: 0;
	padding: 0;
	list-style: none;
}

.adc-menu-plats li {
	font-size: 0.96rem;
	line-height: 1.6;
	padding: 0.45rem 0;
}

.adc-menu-plats li em {
	font-style: italic;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-menu-plats .adc-menu-ou {
	padding: 0.1rem 0;
	font-size: 0.74rem;
	font-style: italic;
	letter-spacing: 0.06em;
	color: #a49b8d;
}

.adc-veg {
	font-size: 0.9em;
	font-style: normal;
}

.adc-menu-list--prix {
	border-top: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
}

@media print {
	.adc-menus-source { display: block !important; }
	.adc-menu-modal { display: none !important; }
}

/* Les cartes de formules deviennent cliquables. */
a.adc-formule,
.adc-formule--link {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

a.adc-formule:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 40px rgba(30, 27, 23, 0.09);
}

a.adc-formule:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 4px;
}

.adc-formule__more {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 1.25rem;
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-formule__more::after {
	content: "→";
	transition: transform 0.25s ease;
}

a.adc-formule:hover .adc-formule__more::after {
	transform: translateX(4px);
}



@media (max-width: 600px) {
	.adc-menu-panel__head {
		flex-wrap: wrap;
		gap: 0.5rem 1rem;
	}
	.adc-menu-panel__price {
		order: 3;
	}
	.adc-menu-panel__chevron {
		margin-left: auto;
	}
}

@media print {
	.adc-menu-panel__body { display: block !important; }
	.adc-menu-panel__chevron { display: none; }
}

/* Grille des quatre menus — cartes cliquables. */
.adc-formules-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
	gap: 1.5rem;
	max-width: 1220px;
	margin: 0 auto;
	align-items: stretch;
}

.adc-formules-grid .adc-formule {
	display: flex;
	flex-direction: column;
	/* align-items: stretch sur la grille égalise déjà les hauteurs. */
	height: auto;
}

/* Deux cartes côte à côte (page Cartes cadeaux) : deux colonnes franches,
   plutôt que le remplissage automatique qui les laisserait étroites. */
.adc-formules-grid--duo {
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	max-width: 940px;
}

.adc-formules-grid .adc-formule h3 {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.55rem;
	font-weight: 400;
	line-height: 1.2;
}



.adc-formule__desc {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}



.adc-formules-grid .adc-formule__list {
	flex: 1 1 auto;
}

.adc-formules-grid .adc-formule__more {
	margin-top: auto;
	padding-top: 1.25rem;
}

/* ---------------------------------------------------------------------------
   LOGO — fleur + nom, disposés horizontalement
   --------------------------------------------------------------------------- */

.adc-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.9rem;
	text-decoration: none;
	color: inherit;
}

/* Le nom et la localité forment une colonne, à droite de la fleur. */
.adc-logo__bloc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}

.adc-logo__lieu {
	font-size: 0.62rem;
	font-weight: 400;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	color: inherit;
	opacity: 0.72;
}

.adc-logo__fleur,
.adc-logo__nom {
	display: block;
	line-height: 0;
}

.adc-logo__fleur .adc-logo__img {
	height: clamp(38px, 4.2vw, 50px);
}

.adc-logo__nom .adc-logo__img {
	height: clamp(17px, 2vw, 22px);
}

.adc-logo__img {
	display: block;
	width: auto;
}

/* Par défaut (en-tête crème) : encre. Sur bandeau plein écran : crème. */
.adc-logo__img--creme {
	display: none;
}

.adc-has-overlay-header .adc-header:not(.is-stuck) .adc-logo__img--encre {
	display: none;
}

.adc-has-overlay-header .adc-header:not(.is-stuck) .adc-logo__img--creme {
	display: block;
}

.adc-logo:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 5px;
}

.adc-header__lieu {
	transition: color 0.3s ease;
}

.adc-footer__logo {
	display: block;
	width: auto;
	height: 96px;
	margin-bottom: 1rem;
}

@media (max-width: 782px) {
	.adc-logo { gap: 0.7rem; }
	.adc-logo__lieu { letter-spacing: 0.2em; font-size: 0.56rem; }
	.adc-footer__logo { height: 78px; }
}

@media (max-width: 480px) {
	.adc-logo__lieu { display: none; }
}

/* ---------------------------------------------------------------------------
   APPELS À RÉSERVATION
   --------------------------------------------------------------------------- */

.adc-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 2rem clamp(2rem, 5vw, 4rem);
	max-width: 1220px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3rem);
	background: var(--wp--preset--color--base-2, #f1eadf);
	border: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
}

.adc-cta__titre {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 400;
	line-height: 1.2;
}

.adc-cta__texte {
	margin: 0;
	max-width: 46ch;
	font-size: 0.98rem;
	line-height: 1.8;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
}

.adc-btn {
	display: inline-block;
	padding: 0.95rem 1.9rem;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.adc-btn--plein {
	background: var(--wp--preset--color--contrast, #1e1b17);
	color: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--wp--preset--color--contrast, #1e1b17);
}

.adc-btn--plein:hover {
	background: var(--wp--preset--color--primary, #a2533a);
	border-color: var(--wp--preset--color--primary, #a2533a);
	transform: translateY(-2px);
}

.adc-btn--ligne {
	background: transparent;
	color: var(--wp--preset--color--contrast, #1e1b17);
	border: 1px solid rgba(30, 27, 23, 0.28);
}

.adc-btn--ligne:hover {
	border-color: var(--wp--preset--color--contrast, #1e1b17);
	transform: translateY(-2px);
}

.adc-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 3px;
}

/* Portrait du chef : une seule image, plein cadre de la colonne. */
.adc-chef-photo {
	width: 100%;
}

.adc-chef-photo .adc-figure {
	width: 100%;
	aspect-ratio: 4 / 5;
}

.adc-chef-photo .adc-figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 38%;
}

@media (max-width: 781px) {
	.adc-chef-photo .adc-figure { aspect-ratio: 4 / 3; }
}

/* ---------------------------------------------------------------------------
   BANDEAU CARTES CADEAUX (page d'accueil)
   --------------------------------------------------------------------------- */

.adc-cadeau-bande {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4rem);
	max-width: 1220px;
	margin: 0 auto;
}

.adc-cadeau-bande__image {
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.adc-cadeau-bande__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.3, 1);
}

.adc-cadeau-bande:hover .adc-cadeau-bande__image img {
	transform: scale(1.03);
}

.adc-cadeau-bande__titre {
	margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.6rem, 3.2vw, 2.3rem);
	font-weight: 400;
	line-height: 1.18;
	max-width: 26ch;
}

.adc-cadeau-bande__desc {
	margin: 0 0 1.75rem;
	max-width: 48ch;
	font-size: 0.95rem;
	line-height: 1.8;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

@media (max-width: 781px) {
	.adc-cadeau-bande {
		grid-template-columns: 1fr;
	}
	.adc-cadeau-bande__image {
		aspect-ratio: 16 / 9;
	}
}

/* Paires de boutons en bas de section (accueil). */
.adc-section-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 2.25rem;
}

/* Accès à la carte complète, sous la grille des menus. */
.adc-formules-lien {
	max-width: 1220px;
	margin: 2rem auto 0;
	font-size: 0.9rem;
	line-height: 1.7;
	text-align: center;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-formules-lien a {
	color: var(--wp--preset--color--primary, #a2533a);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 1px;
}

.adc-formules-lien a:hover {
	color: var(--wp--preset--color--contrast, #1e1b17);
}

/* Trio de cartes d'information (page Restaurant). */
.adc-trio {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
	max-width: 1220px;
	margin: 0 auto;
}

.adc-trio .adc-card {
	display: flex;
	flex-direction: column;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
}

.adc-trio .adc-card h3 {
	margin: 0 0 1.25rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.4rem;
	font-weight: 400;
}

.adc-card__note {
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
	font-size: 0.84rem;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

/* ---------------------------------------------------------------------------
   DISTINCTIONS — bandeau des labels
   --------------------------------------------------------------------------- */

/* Attention : toute marge verticale posée ici est inopérante. WordPress émet
   « .wp-block-group.is-layout-constrained > * { margin-block-end: 0 } », deux
   classes contre une : le cœur gagne. L'écart sous le sur-titre se règle donc
   en padding sur .adc-labels, plus bas — le padding, lui, n'est pas remis à
   zéro par le cœur. */
.adc-distinctions__intro {
	margin: 0 auto;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-align: center;
	color: #a49b8d;
}

.adc-labels {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 1.5rem clamp(2rem, 5vw, 4.5rem);
	max-width: 1100px;
	margin: 0 auto;
	/* L'écart sous le sur-titre. En padding et non en marge : voir le
	   commentaire de .adc-distinctions__intro. Le macaron de Gault & Millau
	   fait 90 px et il est centré : il remonte plus haut que ses voisins et
	   venait frôler le sur-titre. */
	padding-block-start: clamp(1.9rem, 3.5vw, 2.75rem);
}

.adc-label {
	text-align: center;
	min-width: 130px;
}

.adc-label__nom {
	display: block;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.05rem, 1.9vw, 1.32rem);
	font-weight: 400;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast, #1e1b17);
}

.adc-label__sous {
	display: block;
	margin-top: 0.45rem;
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

/* Les logos officiels se glissent dans .adc-label__nom. Ils sont calés sur
   la hauteur, sauf le macaron circulaire de Gault & Millau : à hauteur égale
   son texte paraîtrait deux fois plus petit que les autres. */
/* La hauteur est fixée, pas seulement plafonnée : sans cela, la bande se
   replie à zéro tant que l'image n'est pas chargée (chargement différé de
   WP Rocket), et le contenu qui suit remonte puis redescend d'un coup. */
.adc-label__nom img {
	display: block;
	width: auto;
	max-width: 100%;
	height: 58px;
	max-height: 58px;
	object-fit: contain;
	margin: 0 auto;
}

.adc-label--gault-millau .adc-label__nom img {
	height: 90px;
	max-height: 90px;
}

.adc-label--toques-blanches .adc-label__nom img {
	height: 66px;
	max-height: 66px;
}

/* Avec des logos, les colonnes respirent un peu plus. */
.adc-labels:has(img) {
	align-items: center;
	gap: 1.5rem clamp(2.5rem, 6vw, 5.5rem);
}

@media (max-width: 600px) {
	.adc-labels {
		gap: 1.5rem 2rem;
	}
	.adc-label {
		min-width: 42%;
	}
}

/* ---------------------------------------------------------------------------
   RUBRIQUES DE LA RÉGION — cartes cliquables et fiches en fenêtre
   --------------------------------------------------------------------------- */

.adc-fiche-source {
	display: none;
}

.adc-rubriques {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
	gap: clamp(2rem, 4vw, 2.75rem) 2rem;
	/* 1092 px, et non 1220 : c'est la largeur du conteneur de la maquette,
	   celle qui fait tenir trois rubriques par rang (3 × 342 + 2 × 32) et non
	   quatre. Neuf rubriques, trois rangs de trois. */
	max-width: 1092px;
	margin: 0 auto;
}

a.adc-rubrique {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.3, 1);
}

a.adc-rubrique:hover {
	transform: translateY(-4px);
}

a.adc-rubrique:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 6px;
}

.adc-rubrique__titre {
	margin: 0 0 0.6rem;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1.22;
}

.adc-rubrique__texte {
	flex: 1 1 auto;
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.75;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

a.adc-rubrique .adc-formule__more {
	margin-top: 1.1rem;
	padding-top: 0;
}

/* Listes de lieux dans les fenêtres. */
.adc-lieux {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
}

.adc-lieu {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.25rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
}

.adc-lieu__nom {
	font-size: 1rem;
	line-height: 1.5;
}

.adc-lieu__nom a {
	color: var(--wp--preset--color--contrast, #1e1b17);
	text-decoration: none;
	border-bottom: 1px solid rgba(162, 83, 58, 0.35);
	padding-bottom: 1px;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.adc-lieu__nom a:hover {
	color: var(--wp--preset--color--primary, #a2533a);
	border-bottom-color: currentColor;
}

.adc-lieu__ext {
	font-size: 0.78em;
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-lieu__loin {
	flex: 0 0 auto;
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--wp--preset--color--primary, #a2533a);
}

@media print {
	.adc-fiche-source { display: block !important; }
}

/* ---------------------------------------------------------------------------
   PANORAMA — rubriques de la région, défilement horizontal (accueil)
   --------------------------------------------------------------------------- */

.adc-panorama-tete {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	max-width: 1220px;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.adc-panorama-titre {
	margin: 0;
	max-width: 22ch;
}

.adc-panorama-outils {
	display: flex;
	align-items: center;
	gap: 1.75rem;
}

.adc-panorama-fleches {
	display: flex;
	gap: 0.5rem;
}

/* Sélecteur volontairement plus précis que « .adc-fleche » seul :
   l'extension wp-novaresa charge sa feuille de style sur tout le site et
   colore les <button> en magenta. Les flèches du bandeau en héritaient. */
.adc-panorama-fleches .adc-fleche,
button.adc-fleche {
	display: grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	padding: 0;
	border: 1px solid var(--wp--preset--color--base-3, #e2d8c9);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast, #1e1b17);
	box-shadow: none;
	text-shadow: none;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}

.adc-fleche svg {
	width: 1.1rem;
	height: 1.1rem;
}

.adc-panorama-fleches .adc-fleche:hover,
button.adc-fleche:hover {
	background: var(--wp--preset--color--contrast, #1e1b17);
	border-color: var(--wp--preset--color--contrast, #1e1b17);
	color: var(--wp--preset--color--base, #fbf8f3);
}

.adc-fleche:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary, #a2533a);
	outline-offset: 3px;
}

.adc-fleche[disabled] {
	opacity: 0.3;
	cursor: default;
}

.adc-fleche[disabled]:hover {
	background: transparent;
	color: var(--wp--preset--color--contrast, #1e1b17);
	border-color: var(--wp--preset--color--base-3, #e2d8c9);
}

/* La bande défilante déborde volontairement à droite : elle invite au geste. */
.adc-panorama {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(272px, 300px);
	gap: 2rem;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--base-3, #e2d8c9) transparent;
	padding: 0 max(1.5rem, calc((100% - 1220px) / 2)) 1.75rem;
	margin: 0 calc(-1 * max(1.5rem, calc((100% - 1220px) / 2)));
}

.adc-panorama::-webkit-scrollbar {
	height: 3px;
}

.adc-panorama::-webkit-scrollbar-track {
	background: var(--wp--preset--color--base-2, #f1eadf);
}

.adc-panorama::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--base-3, #e2d8c9);
}

.adc-panorama__item {
	scroll-snap-align: start;
}

@media (prefers-reduced-motion: reduce) {
	.adc-panorama { scroll-behavior: auto; }
}

@media (max-width: 781px) {
	.adc-panorama { grid-auto-columns: minmax(240px, 78vw); }
	.adc-panorama-fleches { display: none; }
}

/* Crédits photographiques — discrets, mais présents : les licences l'exigent. */
.adc-credits {
	max-width: 1220px;
	margin: 2.5rem auto 0;
	font-size: 0.76rem;
	line-height: 1.7;
	color: #a49b8d;
}

.adc-credits a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: rgba(164, 155, 141, 0.5);
}

/* ---------------------------------------------------------------------------
   CHAMBRES — une grande photo, les autres en appui
   La chambre de maître (lustre, carreaux de ciment) tient la place
   principale : c'est elle qui donne envie de rester.
   --------------------------------------------------------------------------- */
.adc-chambres-galerie {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 1rem;
	max-width: 1220px;
	margin: 0 auto;
}

.adc-chambres-galerie figure {
	margin: 0;
}

.adc-chambres-galerie .est-grande {
	grid-row: span 3;
}

.adc-chambres-galerie .est-grande img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.adc-chambres-galerie figure:not(.est-grande) img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* Version accueil : la grande photo, deux vignettes et l'encart équipements. */
.adc-chambres-duo {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 1rem;
	align-items: stretch;
}

.adc-chambres-duo > figure {
	margin: 0;
}

.adc-chambres-duo > figure img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.adc-chambres-duo__pile {
	display: grid;
	grid-template-rows: 1fr 1fr auto;
	gap: 1rem;
}

.adc-chambres-duo__pile figure {
	margin: 0;
	min-height: 0;
}

.adc-chambres-duo__pile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 782px) {
	.adc-chambres-galerie,
	.adc-chambres-duo {
		grid-template-columns: 1fr;
	}
	.adc-chambres-galerie .est-grande {
		grid-row: auto;
	}
	.adc-chambres-galerie .est-grande img,
	.adc-chambres-duo > figure img {
		aspect-ratio: 4 / 5;
	}
	.adc-chambres-duo__pile {
		grid-template-rows: none;
	}
	.adc-chambres-duo__pile img {
		aspect-ratio: 16 / 10;
	}
}

/* ---------------------------------------------------------------------------
   AVIS ET NOTES — Google, Tripadvisor, Booking, TheFork
   Les notes se règlent dans adc_avis() (functions.php).
   --------------------------------------------------------------------------- */
.adc-avis-tete {
	text-align: center;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.adc-avis-titre {
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 300;
	margin: 0.5rem 0 0;
}

.adc-avis {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 1rem;
	max-width: 1000px;
	margin: 0 auto;
}

.adc-avis__carte {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3rem;
	padding: clamp(1.5rem, 3vw, 2rem) 1.25rem;
	text-align: center;
	text-decoration: none;
	color: inherit;
	background: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid #e2d8c9;
	transition: border-color .3s ease, transform .3s ease;
}

.adc-avis__carte:hover,
.adc-avis__carte:focus-visible {
	border-color: #c4a265;
	transform: translateY(-3px);
}

.adc-avis__source {
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-avis__note {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(2.4rem, 5vw, 3.1rem);
	font-weight: 400;
	line-height: 1;
	color: #a2533a;
	margin-top: 0.35rem;
}

/* Le « / 10 » repasse en fonte de labeur : la fonte de titrage utilise des
   chiffres elzéviriens, où le 1 et le 0 se lisent « IO ». */
.adc-avis__sur {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.34em;
	color: var(--wp--preset--color--contrast-2, #6b6357);
	letter-spacing: 0.02em;
	margin-left: 0.15em;
}

.adc-avis__nombre {
	font-size: 0.82rem;
	margin-top: 0.15rem;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

/* margin-top:auto — le lien se cale en bas, que la carte porte ou non
   un nombre d'avis : les quatre liens restent alignés. */
.adc-avis__lien {
	margin-top: auto;
	padding-top: 0.7rem;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #c4a265;
}

.adc-avis__garde-fou {
	max-width: 720px;
	margin: clamp(1.75rem, 3vw, 2.5rem) auto 0;
	font-size: 0.78rem;
	line-height: 1.8;
	text-align: center;
	color: #8a7f70;
	font-style: italic;
}

.adc-avis__garde-fou code {
	font-style: normal;
	font-size: 0.92em;
	background: #f1eadf;
	padding: 0.1em 0.35em;
}

/* ---------------------------------------------------------------------------
   SÉLECTEUR DE LANGUE — deux abréviations dans l'en-tête
   --------------------------------------------------------------------------- */
.adc-langues {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.72rem;
	font-weight: 300;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
}

.adc-langues abbr {
	text-decoration: none;
	border: 0;
}

.adc-langue {
	color: var(--wp--preset--color--contrast-2, #6b6357);
	text-decoration: none;
	transition: color .25s ease;
}

.adc-langue:hover,
.adc-langue:focus-visible {
	color: var(--wp--preset--color--primary, #a2533a);
}

.adc-langue.est-active {
	color: var(--wp--preset--color--contrast, #1e1b17);
}

.adc-langues > *:not(:last-child)::after {
	content: "·";
	margin-left: 0.5rem;
	color: rgba(107, 99, 87, 0.5);
}

/* En-tête posé sur un bandeau sombre : les deux langues passent en crème. */
.adc-has-overlay-header .adc-header:not(.is-stuck) .adc-langue {
	color: rgba(251, 248, 243, 0.7);
}

.adc-has-overlay-header .adc-header:not(.is-stuck) .adc-langue.est-active {
	color: #fbf8f3;
}

@media (max-width: 900px) {
	.adc-langues {
		display: none;
	}
}

/* ---------------------------------------------------------------------------
   CARTES CADEAUX — les produits en vente
   Les cartes viennent de WooCommerce ; le style reste celui de la maison.
   --------------------------------------------------------------------------- */
.adc-cadeaux-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
	max-width: 1220px;
	margin: 0 auto;
}

.adc-cadeau-carte {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	background: var(--wp--preset--color--base);
	border: 1px solid #e2d8c9;
	transition: border-color .3s ease, transform .3s ease;
}

.adc-cadeau-carte:hover,
.adc-cadeau-carte:focus-visible {
	border-color: #c4a265;
	transform: translateY(-2px);
}

/* Carte de rappel, affichée quand une seule carte est en vente : elle ne
   mène nulle part, on lui retire donc l'effet de survol et on l'assied sur
   le fond beige pour qu'elle se lise comme une note, pas comme une offre. */
.adc-cadeau-carte--rappel {
	cursor: default;
	background: var(--wp--preset--color--base-2, #f1eadf);
}

.adc-cadeau-carte--rappel:hover {
	border-color: #e2d8c9;
	transform: none;
}

.adc-cadeau-carte__prix--sobre {
	font-size: 1.05rem;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.adc-cadeau-carte__image {
	margin: 0;
	overflow: hidden;
}

.adc-cadeau-carte__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}

.adc-cadeau-carte:hover .adc-cadeau-carte__image img {
	transform: scale(1.03);
}

.adc-cadeau-carte__corps {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
}

.adc-cadeau-carte__nom {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.28rem;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 0.6rem;
}

.adc-cadeau-carte__texte {
	font-size: 0.86rem;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast-2, #6b6357);
	margin: 0 0 1rem;
}

.adc-cadeau-carte__prix {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.5rem;
	line-height: 1.1;
	color: var(--wp--preset--color--primary, #a2533a);
	margin: auto 0 1rem;
}

/* WooCommerce enrobe les prix de balises : on les remet dans notre style. */
.adc-cadeau-carte__prix .woocommerce-Price-amount,
.adc-cadeau-carte__prix bdi,
.adc-cadeau-carte__prix ins {
	font: inherit;
	color: inherit;
	text-decoration: none;
}

.adc-cadeau-carte__prix del {
	font-size: 0.7em;
	opacity: 0.55;
	margin-right: 0.35em;
}

.adc-cadeau-carte__prix .woocommerce-Price-currencySymbol {
	font-size: 0.8em;
}

/* ---------------------------------------------------------------------------
   BOUTIQUE — WooCommerce aux couleurs de la maison
   Les gabarits archive-product / single-product utilisent le bloc « gabarit
   classique » de WooCommerce : le balisage vient de WooCommerce, la mise en
   forme vient d'ici. Fonctionnel d'abord, habillé ensuite.
   --------------------------------------------------------------------------- */
.adc-boutique__tete {
	text-align: center;
	max-width: 680px;
	margin: 0 auto;
}

.adc-boutique__titre {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 400;
	line-height: 1.1;
	margin: 0 0 1.25rem;
}

/* --- La grille de produits --- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	content: none;
}

.woocommerce ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--base);
	border: 1px solid #e2d8c9;
	padding: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	transition: border-color .3s ease, transform .3s ease;
}

.woocommerce ul.products li.product:hover {
	border-color: #c4a265;
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0 0 1.1rem;
	display: block;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.2rem !important;
	font-weight: 400;
	line-height: 1.3;
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem) 0.5rem !important;
	margin: 0;
}

.woocommerce ul.products li.product .price {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.35rem;
	color: var(--wp--preset--color--primary, #a2533a);
	padding: 0 clamp(1.25rem, 2.5vw, 1.75rem);
	margin: auto 0 1rem;
}

.woocommerce ul.products li.product .price del {
	font-size: 0.7em;
	opacity: 0.55;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

/* --- Boutons --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--wp--preset--color--contrast, #1e1b17);
	color: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--wp--preset--color--contrast, #1e1b17);
	border-radius: 0;
	font-family: inherit;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	padding: 0.95rem 1.9rem;
	transition: background .25s ease, color .25s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--wp--preset--color--primary, #a2533a);
	border-color: var(--wp--preset--color--primary, #a2533a);
	color: #fbf8f3;
}

.woocommerce ul.products li.product .button {
	margin: 0 clamp(1.25rem, 2.5vw, 1.75rem);
	align-self: flex-start;
}

/* --- La fiche produit --- */
.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(2rem, 4vw, 2.9rem);
	font-weight: 400;
	line-height: 1.12;
	margin: 0 0 1rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.7rem, 3vw, 2.2rem);
	color: var(--wp--preset--color--primary, #a2533a);
	margin: 0 0 1.5rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.woocommerce div.product form.cart {
	margin-top: 1.75rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 1.5rem;
	border-bottom: 1px solid #e2d8c9;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border: 0;
	border-radius: 0;
	margin: 0 1.5rem 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	content: none;
	box-shadow: none;
	border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: 0.76rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
	padding: 0.75rem 0;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--contrast, #1e1b17);
	border-bottom: 1px solid #c4a265;
}

/* --- Champs de formulaire (panier, commande, carte cadeau YITH) --- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity input.qty,
.woocommerce table.shop_table input,
.ywgc-form input,
.ywgc-form textarea {
	border: 1px solid #e2d8c9;
	border-radius: 0;
	background: #fbf8f3;
	padding: 0.85rem 1rem;
	font: inherit;
	font-size: 0.95rem;
}

/* --- Fil d'Ariane, messages, tableaux --- */
.woocommerce .woocommerce-breadcrumb {
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2, #6b6357);
	margin-bottom: 1.75rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: #c4a265;
	background: #f1eadf;
	font-size: 0.95rem;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: #c4a265;
}

.woocommerce table.shop_table {
	border-radius: 0;
	border-color: #e2d8c9;
}

.woocommerce table.shop_table th {
	font-size: 0.76rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
}

/* --- Tri et nombre de résultats --- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
	font-size: 0.88rem;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.woocommerce .woocommerce-ordering select {
	border: 1px solid #e2d8c9;
	background: #fbf8f3;
	padding: 0.5rem 0.75rem;
	border-radius: 0;
}

/* --- Pastille « Promo » --- */
.woocommerce span.onsale {
	background: var(--wp--preset--color--primary, #a2533a);
	color: #fbf8f3;
	border-radius: 0;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500;
	min-height: 0;
	min-width: 0;
	padding: 0.4rem 0.8rem;
	line-height: 1;
	top: 0;
	left: 0;
	margin: 0;
}

/* ---------------------------------------------------------------------------
   RÉSERVATION DES CHAMBRES — habillage du moteur Novaresa
   ---------------------------------------------------------------------------
   L'extension wp-novaresa apporte sa propre feuille de style : encadré vert
   olive, boutons magenta, champs anthracite, tout en Arial. Rien à voir avec
   la maison. On ne touche pas au fonctionnement — uniquement à l'apparence,
   en reprenant la palette du thème : crème, beige, encre, terre cuite.

   Tout est porté par .wp_novaresa : aucune règle ne fuit vers le reste du
   site, et si l'extension est mise à jour ou retirée, il ne reste rien.
   --------------------------------------------------------------------------- */

.wp_novaresa,
.wp_novaresa input,
.wp_novaresa button,
.wp_novaresa select,
.wp_novaresa textarea,
.wp_novaresa .novabox {
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif) !important;
	color: var(--wp--preset--color--contrast, #1e1b17);
}

/* L'encadré « Disponibilités » */
.wp_novaresa .search-form {
	background: var(--wp--preset--color--base-2, #f1eadf) !important;
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	color: var(--wp--preset--color--contrast, #1e1b17) !important;
}

.wp_novaresa .search-form h1,
.wp_novaresa .search-form h2,
.wp_novaresa .search-form h3,
.wp_novaresa .search-form h4,
.wp_novaresa .search-form legend,
.wp_novaresa .search-form label,
.wp_novaresa .search-form span {
	color: var(--wp--preset--color--contrast, #1e1b17) !important;
	font-family: inherit !important;
	text-shadow: none !important;
}

.wp_novaresa .search-form h1,
.wp_novaresa .search-form h2,
.wp_novaresa .search-form h3 {
	font-family: var(--wp--preset--font-family--display, Georgia, serif) !important;
	font-weight: 400 !important;
	letter-spacing: 0;
}

.wp_novaresa .search-form hr,
.wp_novaresa .search-form .divider {
	border-color: rgba(30, 27, 23, 0.14) !important;
}

/* Champs de saisie */
.wp_novaresa input[type="text"],
.wp_novaresa input[type="email"],
.wp_novaresa input[type="tel"],
.wp_novaresa input[type="number"],
.wp_novaresa select,
.wp_novaresa textarea {
	background: var(--wp--preset--color--base, #fbf8f3) !important;
	border: 1px solid var(--adc-rule, #e2d8c9) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--wp--preset--color--contrast, #1e1b17) !important;
	padding: 0.6rem 0.7rem !important;
	height: auto !important;
}

.wp_novaresa input::placeholder,
.wp_novaresa textarea::placeholder {
	color: var(--wp--preset--color--contrast-2, #6b6357) !important;
	opacity: 1;
}

.wp_novaresa input[type="text"]:focus,
.wp_novaresa select:focus,
.wp_novaresa textarea:focus {
	outline: none !important;
	border-color: var(--wp--preset--color--primary, #a2533a) !important;
}

/* Boutons — action principale en encre, le reste en filet */
.wp_novaresa .btn,
.wp_novaresa button,
.wp_novaresa input[type="submit"] {
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	background-image: none !important;
	font-size: 0.72rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 0.78rem 1.5rem !important;
	transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

.wp_novaresa .btn-search,
.wp_novaresa .btn-order,
.wp_novaresa input[type="submit"] {
	background: var(--wp--preset--color--contrast, #1e1b17) !important;
	border: 1px solid var(--wp--preset--color--contrast, #1e1b17) !important;
	color: var(--wp--preset--color--base, #fbf8f3) !important;
}

.wp_novaresa .btn-search:hover,
.wp_novaresa .btn-order:hover,
.wp_novaresa input[type="submit"]:hover {
	background: var(--wp--preset--color--primary, #a2533a) !important;
	border-color: var(--wp--preset--color--primary, #a2533a) !important;
}

.wp_novaresa .btn-modif,
.wp_novaresa .btn-default {
	background: transparent !important;
	border: 1px solid rgba(30, 27, 23, 0.35) !important;
	color: var(--wp--preset--color--contrast, #1e1b17) !important;
}

.wp_novaresa .btn-modif:hover,
.wp_novaresa .btn-default:hover {
	border-color: var(--wp--preset--color--contrast, #1e1b17) !important;
	background: rgba(30, 27, 23, 0.06) !important;
}

/* Pastilles « Sélectionner vos dates de séjour » */
.wp_novaresa .label,
.wp_novaresa .label-info,
.wp_novaresa .sel-dates {
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--primary, #a2533a) !important;
	border-radius: 0 !important;
	color: var(--wp--preset--color--primary, #a2533a) !important;
	font-size: 0.7rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-shadow: none !important;
	padding: 0.55rem 0.9rem !important;
	display: inline-block;
	text-decoration: none !important;
}

.wp_novaresa .label-info:hover,
.wp_novaresa .sel-dates:hover {
	background: var(--wp--preset--color--primary, #a2533a) !important;
	color: var(--wp--preset--color--base, #fbf8f3) !important;
}

/* Tableau des chambres */
.wp_novaresa table {
	border-collapse: collapse !important;
	width: 100%;
}

.wp_novaresa table td,
.wp_novaresa table th {
	border-color: var(--adc-rule, #e2d8c9) !important;
	vertical-align: top;
	padding: 1rem !important;
}

.wp_novaresa table th {
	background: var(--wp--preset--color--base-2, #f1eadf) !important;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.wp_novaresa h1,
.wp_novaresa h2,
.wp_novaresa h3,
.wp_novaresa h4,
.wp_novaresa strong b {
	font-family: var(--wp--preset--font-family--display, Georgia, serif) !important;
	font-weight: 400 !important;
}

.wp_novaresa a {
	color: var(--wp--preset--color--primary, #a2533a);
}

.wp_novaresa .novabox img,
.wp_novaresa table img {
	display: block;
	width: 100%;
	height: auto;
}

/* Prix et montants, dans la display du thème */
.wp_novaresa .price,
.wp_novaresa .prix,
.wp_novaresa .total {
	font-family: var(--wp--preset--font-family--display, Georgia, serif) !important;
	color: var(--wp--preset--color--primary, #a2533a) !important;
}

/* ---------------------------------------------------------------------------
   CARTE CADEAU YITH, PANIER ET PAIEMENT
   ---------------------------------------------------------------------------
   Le parcours d'achat traverse trois extensions : la fiche produit et le
   formulaire de carte cadeau (YITH), le panier et la commande (WooCommerce).
   Chacune arrive avec ses propres boutons, ses coins arrondis et ses gris.

   Les sélecteurs YITH sont visés par [class*="ywgc"] plutôt que par leur nom
   exact : l'extension renomme ses classes d'une version à l'autre, et le
   préfixe, lui, ne change pas. Rien n'est touché côté fonctionnement — ni le
   calcul du montant, ni le paiement.
   --------------------------------------------------------------------------- */

/* --- Formulaire de carte cadeau ------------------------------------------ */

[class*="ywgc"],
[id*="ywgc"] {
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif);
	color: var(--wp--preset--color--contrast, #1e1b17);
}

[class*="ywgc"] h1,
[class*="ywgc"] h2,
[class*="ywgc"] h3,
[class*="ywgc"] h4,
[class*="ywgc"] label.ywgc-title {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-weight: 400;
}

[class*="ywgc"] input[type="text"],
[class*="ywgc"] input[type="email"],
[class*="ywgc"] input[type="number"],
[class*="ywgc"] input[type="date"],
[class*="ywgc"] textarea,
[class*="ywgc"] select {
	background: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0;
	box-shadow: none;
	color: var(--wp--preset--color--contrast, #1e1b17);
	padding: 0.7rem 0.8rem;
	font-family: inherit;
	font-size: 0.95rem;
}

[class*="ywgc"] input:focus,
[class*="ywgc"] textarea:focus,
[class*="ywgc"] select:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary, #a2533a);
}

/* --- Ordre de lecture de la fiche carte cadeau ----------------------------
   WooCommerce empile la galerie à gauche, le résumé à droite, et renvoie la
   description tout en bas — avec des flottants. On reprend l'ordre demandé :

     1. la description, en pleine largeur, avant tout le reste ;
     2. le formulaire — là où l'on écrit ;
     3. l'aperçu de la carte, qui montre le résultat.

   L'aperçu YITH est logé dans la galerie (.woocommerce-product-gallery), il
   suit donc celle-ci. Les flottants sont neutralisés : ils entreraient en
   conflit avec l'ordre en flex.

   Seules les fiches carte cadeau sont concernées, grâce à la classe
   adc-produit-cadeau posée sur le corps de page.
   ------------------------------------------------------------------------- */

.adc-produit-cadeau div.product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
	gap: 0 clamp(2rem, 5vw, 4.5rem);
	float: none;
}

.adc-produit-cadeau div.product::before,
.adc-produit-cadeau div.product::after {
	content: none;
	display: none;
}

/* display: contents fait remonter les enfants du résumé et du formulaire au
   niveau de la grille, SANS déplacer un seul nœud. C'est indispensable : si
   l'on sortait les champs du <form>, la commande ne partirait plus. */
.adc-produit-cadeau div.product > .summary,
.adc-produit-cadeau div.product > .summary > form.gift-cards_form {
	display: contents;
	float: none;
}

/* --- Colonne de gauche, haut : la description --- */
.adc-produit-cadeau div.product > .woocommerce-tabs {
	grid-column: 1;
	grid-row: 1 / 7;
	margin: 0;
	float: none;
}

/* --- Colonne de droite, haut : le bon cadeau et le choix du montant --- */
.adc-produit-cadeau .product_title.entry-title { grid-column: 2; grid-row: 1; margin: 0 0 0.75rem; }
.adc-produit-cadeau div.product p.price { grid-column: 2; grid-row: 2; margin: 0 0 1.25rem; }
.adc-produit-cadeau .woocommerce-product-details__short-description { grid-column: 2; grid-row: 3; margin: 0 0 2rem; }
.adc-produit-cadeau .ywgc_choose_design_title { grid-column: 2; grid-row: 4; margin: 0 0 1rem; }
.adc-produit-cadeau .gift-card-content-editor.step-appearance { grid-column: 2; grid-row: 5; margin: 0 0 2rem; }
.adc-produit-cadeau .gift-cards-list { grid-column: 2; grid-row: 6; margin: 0 0 2.5rem; }

/* --- Colonne de gauche, bas : là où l'on écrit --- */
.adc-produit-cadeau .ywgc_delivery_info_title { grid-column: 1; grid-row: 7; margin: 0 0 1rem; }
.adc-produit-cadeau .gift-card-content-editor.step-content { grid-column: 1; grid-row: 8; margin: 0 0 2rem; }
.adc-produit-cadeau .gift_card_template_button { grid-column: 1; grid-row: 9; margin: 0 0 2rem; }
.adc-produit-cadeau div.product .product_meta { grid-column: 1; grid-row: 10; }
.adc-produit-cadeau .ywgc-product-wrap { grid-column: 1; grid-row: 11; }

/* --- Colonne de droite, bas : le résultat ---
   La galerie reste flottante côté WooCommerce : avec width: auto un flottant
   se rétrécit sur son contenu, et la colonne de droite tombait à 223 px pour
   464 px disponibles — le titre de la carte se coupait en trois lignes. On
   annule le flottant et on occupe toute la colonne. */
.adc-produit-cadeau div.product > .woocommerce-product-gallery {
	grid-column: 2;
	grid-row: 7 / 12;
	margin: 0;
	/* WooCommerce impose « .woocommerce div.product div.images { width: 48% } »
	   — trois classes et deux éléments, plus spécifique que la règle d'ici.
	   D'où le !important : la colonne restait à 276 px sur 574 disponibles. */
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	position: sticky;
	top: calc(var(--adc-header-h, 84px) + 1.5rem);
}

.adc-produit-cadeau .woocommerce-product-gallery__wrapper,
.adc-produit-cadeau .woocommerce-product-gallery__image {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
}

.adc-produit-cadeau .woocommerce-product-gallery__image img {
	width: 100% !important;
	height: auto;
	display: block;
}

/* La fiche respire sur toute la largeur « large » du site (1220 px) au lieu
   de 1000 px : deux colonnes de 464 px étaient trop justes pour l'aperçu.
   On ne fixe pas de max-width ici — le conteneur .content-area.alignwide
   plafonne déjà à 1220 px. Poser 1220 px sur la fiche elle-même la faisait
   déborder de 153 px à droite, une marge de 220 px venant de WooCommerce
   décalant le tout. */
.adc-produit-cadeau .adc-produit div.product {
	max-width: none;
	width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* En dessous d'une colonne, on repasse en pile. Les placements explicites
   sont annulés et l'ordre de lecture est rétabli avec « order » — la grille
   place les éléments dans l'ordre modifié par order, pas dans l'ordre du
   HTML, où la description arrive en dernier. */
@media (max-width: 900px) {
	.adc-produit-cadeau div.product {
		grid-template-columns: minmax(0, 1fr);
	}

	.adc-produit-cadeau div.product > .woocommerce-tabs,
	.adc-produit-cadeau .product_title.entry-title,
	.adc-produit-cadeau div.product p.price,
	.adc-produit-cadeau .woocommerce-product-details__short-description,
	.adc-produit-cadeau .ywgc_choose_design_title,
	.adc-produit-cadeau .gift-card-content-editor.step-appearance,
	.adc-produit-cadeau .gift-cards-list,
	.adc-produit-cadeau .ywgc_delivery_info_title,
	.adc-produit-cadeau .gift-card-content-editor.step-content,
	.adc-produit-cadeau .gift_card_template_button,
	.adc-produit-cadeau div.product .product_meta,
	.adc-produit-cadeau .ywgc-product-wrap,
	.adc-produit-cadeau div.product > .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: auto;
	}

	.adc-produit-cadeau .product_title.entry-title { order: 1; }
	.adc-produit-cadeau div.product p.price { order: 2; }
	.adc-produit-cadeau .woocommerce-product-details__short-description { order: 3; }
	.adc-produit-cadeau div.product > .woocommerce-tabs { order: 4; }
	.adc-produit-cadeau .ywgc_choose_design_title { order: 5; }
	.adc-produit-cadeau .gift-card-content-editor.step-appearance { order: 6; }
	.adc-produit-cadeau .gift-cards-list { order: 7; }
	.adc-produit-cadeau .ywgc_delivery_info_title { order: 8; }
	.adc-produit-cadeau .gift-card-content-editor.step-content { order: 9; }
	.adc-produit-cadeau div.product > .woocommerce-product-gallery { order: 10; position: static; }
	.adc-produit-cadeau .gift_card_template_button { order: 11; }
	.adc-produit-cadeau div.product .product_meta { order: 12; }
}

/* Un seul onglet : l'ergonomie d'onglets n'a plus de sens, le titre du
   panneau suffit. */
.adc-produit-cadeau .woocommerce-tabs ul.tabs {
	display: none;
}

.adc-produit-cadeau .woocommerce-tabs .panel > h2:first-child {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-weight: 400;
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	margin: 0 0 1.5rem;
}

.adc-produit-cadeau .woocommerce-tabs .panel p {
	color: var(--wp--preset--color--contrast-2, #6b6357);
	line-height: 1.85;
}

/* Le bandeau d'administration de WordPress est fixe et passe au-dessus de
   tout (z-index 99999). L'entête, elle aussi fixe, était calée à top: 0 :
   ses 32 px hauts — donc toute la navigation — passaient sous le bandeau
   pour quiconque est connecté. Invisible pour les visiteurs, gênant pour
   vous. Les hauteurs sont celles de WordPress : 32 px, 46 px en dessous de
   782 px, et plus rien en dessous de 600 px où le bandeau défile. */
body.admin-bar .adc-header {
	top: 32px;
}

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

@media screen and (max-width: 600px) {
	body.admin-bar .adc-header {
		top: 0;
	}
}

/* --- Les montants proposés ------------------------------------------------
   Deux pièges, tous deux rencontrés en production :

   1. Les boutons de montant sont enfants directs de .gift-cards-list, qui
      ne porte AUCUNE classe « ywgc ». Un sélecteur descendant du genre
      [class*="ywgc"] button ne les atteint donc jamais — ils restaient en
      Roboto sur le gris de l'extension. Il faut viser l'élément lui-même.

   2. YITH enveloppe le prix dans un <span class="woocommerce-Price-amount">.
      Le sélecteur précédent, [class*="ywgc-amount-buttons"] > * , visait
      ce span et non le bouton : d'où le second cadre, décalé, derrière
      chaque montant.

   La classe de sélection est « selected_button » (avec un souligné), pas
   « selected ». Les deux sont couvertes, les noms changent d'une version
   de l'extension à l'autre.
   ------------------------------------------------------------------------- */

.gift-cards-list button.ywgc-predefined-amount-button.ywgc-amount-buttons,
button.ywgc-predefined-amount-button.ywgc-amount-buttons,
[class*="ywgc"] .ywgc-predefined-amount,
input.ywgc-manual-amount {
	background: transparent;
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0;
	box-shadow: none;
	color: var(--wp--preset--color--contrast, #1e1b17);
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.05rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	min-height: 48px;
	padding: 0.6rem 1rem;
	margin: 0 0.55rem 0.55rem 0;
	cursor: pointer;
	transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}

/* Le span du prix ne doit rien porter : ni cadre, ni fond, ni couleur
   propre — sinon un cadre se dessine à l'intérieur du bouton et le prix
   reste sombre quand le bouton passe en encre. */
button.ywgc-predefined-amount-button .woocommerce-Price-amount,
button.ywgc-predefined-amount-button .amount,
button.ywgc-predefined-amount-button bdi,
button.ywgc-predefined-amount-button .woocommerce-Price-currencySymbol {
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

button.ywgc-predefined-amount-button.ywgc-amount-buttons:hover,
[class*="ywgc"] .ywgc-predefined-amount:hover {
	border-color: var(--wp--preset--color--primary, #a2533a);
	color: var(--wp--preset--color--primary, #a2533a);
}

/* Le montant retenu passe en encre.
   « !important » et un sélecteur volontairement lourd : l'extension pose
   ses propres couleurs de sélection depuis son panneau de réglages, en
   feuille chargée après le thème et souvent en !important elle aussi.
   Sans cela le bouton choisi restait indiscernable des autres. */
.gift-cards-list button.ywgc-predefined-amount-button.ywgc-amount-buttons.selected_button,
.gift-cards-list button.ywgc-predefined-amount-button.selected_button,
button.ywgc-predefined-amount-button.selected_button,
[class*="ywgc"] .ywgc-predefined-amount.ywgc-selected-amount,
[class*="ywgc"] .ywgc-predefined-amount.selected {
	background: var(--wp--preset--color--contrast, #1e1b17) !important;
	background-color: var(--wp--preset--color--contrast, #1e1b17) !important;
	border-color: var(--wp--preset--color--contrast, #1e1b17) !important;
	color: var(--wp--preset--color--base, #fbf8f3) !important;
}

/* Le prix vit dans un span : il faut le forcer lui aussi, sinon il reste
   sombre sur le fond sombre — le montant choisi devenait illisible. */
.gift-cards-list button.ywgc-predefined-amount-button.selected_button .woocommerce-Price-amount,
.gift-cards-list button.ywgc-predefined-amount-button.selected_button .amount,
.gift-cards-list button.ywgc-predefined-amount-button.selected_button bdi,
.gift-cards-list button.ywgc-predefined-amount-button.selected_button .woocommerce-Price-currencySymbol {
	color: var(--wp--preset--color--base, #fbf8f3) !important;
}

/* Le champ « Autre montant » se distingue : c'est une saisie, pas un choix. */
input.ywgc-manual-amount {
	cursor: text;
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif);
	font-size: 0.95rem;
	min-width: 130px;
}

/* --- Aperçu de la carte ---------------------------------------------------
   Le conteneur s'appelle .ywgc-main-form-preview-container : le sélecteur
   [class*="ywgc-preview"] ne l'attrapait pas, l'aperçu restait sans cadre
   et se lisait comme un formulaire vide (« De : », « A : »), d'où la
   confusion. On le pose franchement comme une carte, avec son intitulé.
   ------------------------------------------------------------------------- */

.ywgc-main-form-preview-container,
[class*="ywgc-preview"],
[class*="ywgc"] .gift-card-content-wrapper,
[class*="ywgc"] .ywgc-form-preview {
	background: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0;
	box-shadow: none;
}

.ywgc-main-form-preview-container {
	padding: clamp(1.5rem, 3vw, 2.25rem);
	position: relative;
}

.ywgc-main-form-preview-container::before {
	content: "Aperçu de la carte";
	display: block;
	margin-bottom: 1.25rem;
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #a49b8d;
}

.ywgc-form-preview-title {
	display: block;
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.3rem, 2.5vw, 1.7rem);
	line-height: 1.2;
}

.ywgc-form-preview-amount {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.9rem, 4vw, 2.6rem);
	color: var(--wp--preset--color--primary, #a2533a);
	margin-top: 0.35rem;
}

/* Le séparateur arrive en barre noire de 7 px : on le ramène à un filet. */
.ywgc-form-preview-separator {
	background: var(--adc-rule, #e2d8c9);
	height: 1px;
	min-height: 0;
	width: 56px;
	margin: 1.5rem 0;
}

.ywgc-form-preview-from,
.ywgc-form-preview-to {
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #a49b8d;
	margin-right: 0.5rem;
}

.ywgc-form-preview-from-content,
.ywgc-form-preview-to-content {
	font-size: 0.98rem;
	color: var(--wp--preset--color--contrast, #1e1b17);
}

.ywgc-form-preview-from-to-container > * {
	display: block;
}

.ywgc-form-preview-message {
	color: var(--wp--preset--color--contrast-2, #6b6357);
	font-size: 0.96rem;
	line-height: 1.8;
	margin: 0;
}

/* Les intitulés de section du formulaire : même famille que les titres. */
.ywgc_choose_design_title,
.ywgc_select_amount_title,
.ywgc_delivery_info_title,
.ywgc_recipient_info_title,
.ywgc-sender-info-title {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-weight: 400;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	margin: 2rem 0 1rem;
}

/* Les champs de saisie sont enfants de div.ywgc-… : ils sont bien atteints
   par la règle générale plus haut. On leur donne seulement leur largeur. */
.ywgc-recipient-name input,
.ywgc-recipient-email input,
.ywgc-sender-name input,
.ywgc-message textarea {
	width: 100%;
	max-width: 460px;
	display: block;
}

.ywgc-recipient-name,
.ywgc-recipient-email,
.ywgc-sender-name,
.ywgc-message {
	margin-bottom: 1rem;
}

[class*="ywgc"] img {
	border-radius: 0;
}

/* --- Boutons WooCommerce et YITH ---------------------------------------- */

[class*="ywgc"] button,
[class*="ywgc"] .button,
.woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	background: var(--wp--preset--color--contrast, #1e1b17);
	border: 1px solid var(--wp--preset--color--contrast, #1e1b17);
	border-radius: 0;
	box-shadow: none;
	color: var(--wp--preset--color--base, #fbf8f3);
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.95rem 1.9rem;
	transition: background-color .3s ease, border-color .3s ease;
}

[class*="ywgc"] button:hover,
[class*="ywgc"] .button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover {
	background: var(--wp--preset--color--primary, #a2533a);
	border-color: var(--wp--preset--color--primary, #a2533a);
	color: var(--wp--preset--color--base, #fbf8f3);
}

/* --- Panier -------------------------------------------------------------- */

.woocommerce-cart table.cart,
.woocommerce table.shop_table.cart {
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-collapse: collapse;
	border-radius: 0;
}

.woocommerce table.shop_table.cart th,
.woocommerce table.shop_table.cart td {
	border-color: var(--adc-rule, #e2d8c9);
	padding: 1.1rem;
	vertical-align: middle;
}

.woocommerce table.shop_table.cart thead th {
	background: var(--wp--preset--color--base-2, #f1eadf);
	font-family: var(--wp--preset--font-family--body, "Jost", sans-serif);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.woocommerce a.remove {
	color: var(--wp--preset--color--contrast-2, #6b6357) !important;
	font-weight: 400;
}

.woocommerce a.remove:hover {
	background: transparent !important;
	color: var(--wp--preset--color--primary, #a2533a) !important;
}

.woocommerce .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--wp--preset--color--base-2, #f1eadf);
	border: 1px solid var(--adc-rule, #e2d8c9);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout h3 {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-top: 0;
}

.woocommerce .cart_totals table.shop_table {
	border: 0;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	border: 0;
	border-top: 1px solid rgba(30, 27, 23, 0.14);
	padding: 0.8rem 0;
}

.woocommerce .cart_totals .order-total .amount,
.woocommerce-checkout .order-total .amount {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.6rem;
	color: var(--wp--preset--color--primary, #a2533a);
}

.woocommerce .coupon input.input-text {
	background: var(--wp--preset--color--base, #fbf8f3);
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0;
}

/* --- Commande et paiement ------------------------------------------------ */

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	border-bottom: 1px solid var(--adc-rule, #e2d8c9);
	padding-bottom: 0.75rem;
}

.woocommerce-checkout form.checkout .form-row label {
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.woocommerce-checkout #order_review {
	background: var(--wp--preset--color--base-2, #f1eadf);
	border: 1px solid var(--adc-rule, #e2d8c9);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}

.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment {
	background: transparent !important;
	border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--adc-rule, #e2d8c9);
	padding: 0 0 1.25rem;
}

.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none;
	margin: 0 0 0.6rem;
}

.woocommerce-checkout #payment div.payment_box {
	background: var(--wp--preset--color--base, #fbf8f3) !important;
	border: 1px solid var(--adc-rule, #e2d8c9);
	border-radius: 0 !important;
	color: var(--wp--preset--color--contrast-2, #6b6357);
	font-size: 0.9rem;
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none !important;
}

.woocommerce-checkout #place_order {
	width: 100%;
	margin-top: 1.25rem;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 0.86rem;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

/* Suivi de commande et remerciement */
.woocommerce ul.order_details {
	background: var(--wp--preset--color--base-2, #f1eadf);
	border: 1px solid var(--adc-rule, #e2d8c9);
	list-style: none;
	margin: 0 0 2rem;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.woocommerce ul.order_details li {
	border-color: rgba(30, 27, 23, 0.14) !important;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2, #6b6357);
}

.woocommerce ul.order_details li strong {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.25rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--contrast, #1e1b17);
}

/* ---------------------------------------------------------------------------
   DEUX SECTIONS DE MÊME FOND QUI SE SUIVENT
   ---------------------------------------------------------------------------
   Chaque section porte son propre rembourrage haut et bas (130 px). Quand
   deux sections voisines partagent la même couleur de fond, les deux
   rembourrages s'additionnent : 260 px de vide, lu comme un oubli plutôt
   que comme une respiration — c'est le cas sur la page Restaurant, où
   « Nos menus » et « Accords, suppléments, occasions » sont tous deux beiges.

   On réduit alors le rembourrage haut de la seconde. La séparation reste
   franche quand les fonds diffèrent : la règle ne s'applique qu'à fonds
   identiques.
   --------------------------------------------------------------------------- */

.adc-section.has-base-2-background-color + .adc-section.has-base-2-background-color,
.adc-section.has-base-color + .adc-section.has-base-color {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}
