/* ==========================================================================
   Page « Se retrouver au restaurant et à la brasserie »
   Section 1 — Hero (fond pattern + 3 photos + texte + 2 boutons)
   ========================================================================== */

:root {
	--sr-blanc: #fcfcfc;
	--sr-jaune: #f6b83b;
	--sr-vert-olive: #7e8b6f;
}

.brabois-sr {
	position: relative;
	width: 100%;
	overflow: hidden;
	/* Pas de gap block (TT5) entre le header beige et le hero. */
	margin-block-start: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 300px 24px 96px;
	color: var(--sr-blanc);
	background-color: #44525f;
	background-image: var(--sr-pattern);
	background-size: cover;
	background-position: center;
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* ---- Scène (englobe le hero) ----------------------------------------------
   La scène n'est PAS rognée : le plat peut donc déborder vers le haut et
   passer PAR-DESSUS le header. Les photos latérales, elles, restent rognées
   par `.brabois-sr` (overflow:hidden). Pas de z-index sur la scène ni sur
   `.brabois-sr` -> le plat partage le contexte d'empilement du header et peut
   passer devant (z:45 > header 40 au repos) ou derrière (header 100 au scroll). */
.brabois-sr-stage {
	position: relative;
}

/* Supprime le gap block (margin-block-start ~19px) que WordPress applique au
   `.wp-block-post-content` (layout flow) -> AUCUNE marge entre le header et le hero.
   Ciblé via :has() pour ne toucher que la page qui contient ce hero. */
.wp-block-post-content:has(> .brabois-sr-stage) {
	margin-block-start: 0;
}

/* ---- Photos décoratives ---------------------------------------------------- */

/* Plat, en haut au centre, débordant le haut de la section PAR-DESSUS le header.
   Placé hors de `.brabois-sr` (donc non rogné). z-index 45 > header (40) au repos. */
.brabois-sr__dish {
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%) rotate(-2deg);
	width: 310px;
	height: auto;
	z-index: 45;
	pointer-events: none;
	filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.22));
}

/* Badge « Découvrir la carte du moment » : à cheval sur la couture bas-du-hero /
   section suivante (centré verticalement dessus), un peu à droite du bouton
   « Le restaurant bistronomique », et il pivote lentement.
   Dans la scène (non rognée) -> sa moitié basse déborde sous le hero. */
.brabois-sr__ellipse {
	position: absolute;
	width: var(--sr-ellipse, 150px);
	height: auto;
	bottom: calc(var(--sr-ellipse, 150px) / -2);
	/* Un peu à droite du bouton « Le restaurant bistronomique ». */
	left: calc(50% + 340px);
	z-index: 46;
	pointer-events: none;
	animation: brabois-sr-spin 32s linear infinite;
}
@keyframes brabois-sr-spin {
	to {
		transform: rotate(360deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.brabois-sr__ellipse {
		animation: none;
	}
}

/* Photo en arche, bas-gauche (cuisiniers) — positionnée plus bas */
.brabois-sr__side--left {
	position: absolute;
	left: -28px;
	bottom: -70px;
	width: 430px;
	height: auto;
	z-index: 1;
	pointer-events: none;
}

/* Photo en arche, droite (salle) — positionnée plus haut */
.brabois-sr__side--right {
	position: absolute;
	right: -18px;
	top: 12%;
	width: 430px;
	height: auto;
	z-index: 1;
	pointer-events: none;
}

/* ---- Bloc texte central ---------------------------------------------------- */

.brabois-sr__inner {
	position: relative;
	z-index: 5;
	width: 100%;
	max-width: 840px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	text-align: center;
}

.brabois-sr__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.brabois-sr__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--sr-blanc);
}

.brabois-sr__eyebrow::before {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 9999px;
	background: var(--sr-jaune);
}

.brabois-sr__title {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 37.12px;
	color: var(--sr-blanc);
}

.brabois-sr__rule {
	width: 320px;
	max-width: 80%;
	height: 1px;
	background: var(--sr-blanc);
	opacity: 0.16;
}

.brabois-sr__hint {
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 700;
	font-size: 20px;
	line-height: 30px;
	color: var(--sr-blanc);
}

/* ---- Boutons de sélection -------------------------------------------------- */

.brabois-sr__choices {
	display: inline-flex;
	align-items: stretch;
}

.brabois-sr__choice {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	padding: 17px 48px;
	text-decoration: none;
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.36;
	white-space: nowrap;
	transition: opacity 0.25s ease;
}

.brabois-sr__choice:hover {
	opacity: 0.88;
}

/* Brasserie : fond blanc, texte olive, flèche vers le bas */
.brabois-sr__choice--brasserie {
	background: var(--sr-blanc);
	color: var(--sr-vert-olive);
}

.brabois-sr__choice--brasserie .brabois-sr__arrow {
	height: 46px;
	width: auto;
}

/* Restaurant : contour blanc, texte blanc, flèche horizontale à gauche */
.brabois-sr__choice--restaurant {
	background: rgba(0, 0, 0, 0);
	color: var(--sr-blanc);
	outline: 1px solid var(--sr-blanc);
	outline-offset: -1px;
	gap: 14px;
}

.brabois-sr__choice--restaurant .brabois-sr__arrow {
	width: 62px;
	height: auto;
}

/* ==========================================================================
   Section 2 — « Votre pause gourmande » (fond beige-clair)
   ========================================================================== */
.brabois-sr-pause {
	background: var(--beige-clair, #fffcf5);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding: 96px 24px 104px;
	text-align: center;
	color: #3f5565;
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.brabois-sr-pause__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
	color: #3f5565;
}

/* Flèche ↓ + rond, bleu-château (dérivée recolorée/pivotée du média #10). */
.brabois-sr-pause__arrow {
	display: block;
	height: 56px;
	width: auto;
}

.brabois-sr-pause__resa {
	margin: 0;
	color: #3f5565;
}
.brabois-sr-pause__resa .lbl {
	font-size: 17px;
	font-weight: 600;
	line-height: 23.12px;
}
.brabois-sr-pause__resa .num {
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 600;
	font-size: 36px;
	line-height: 48.96px;
}

/* ==========================================================================
   Section 3 — « Réserver votre table à la Brasserie » (fond pattern olive)
   ========================================================================== */
/* Fond pattern olive = BANDE de HAUTEUR FIXE (::before), pleine largeur.
   Découplé du contenu : baisser l'image/l'encart ne fait PLUS grandir l'olive.
   L'image (droite) et l'encart (gauche) débordent SOUS cette bande, sur la
   section suivante. --bo-h = hauteur de la bande olive. */
.brabois-brasserie {
	position: relative;
	box-sizing: border-box;
	overflow: visible;
	/* Hauteur FIXE = bande olive : la section ne grandit pas, l'image et l'encart
	   débordent SOUS elle, sur la section « carte » suivante. */
	height: var(--bo-h, 620px);
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.brabois-brasserie::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: var(--bo-h, 620px);
	z-index: 0;
	background-color: #7e8b6f;
	background-image: var(--bo-pattern);
	background-size: cover;
	background-position: center;
}
.brabois-brasserie__inner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	max-width: 1440px;
	margin-inline: auto;
	padding: 92px 40px 0;
	display: grid;
	grid-template-columns: minmax(0, 520px) 1fr;
	column-gap: 56px;
	align-items: start;
}

.brabois-brasserie__left {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
}

/* Titre + filet horizontal */
.brabois-brasserie__head {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.brabois-brasserie__title {
	margin: 0;
	max-width: 521px;
	color: var(--sr-blanc, #fcfcfc);
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
}
.brabois-brasserie__hrule {
	width: 100%;
	height: 1px;
	background: var(--sr-blanc, #fcfcfc);
	opacity: 0.5;
}

.brabois-brasserie__text {
	margin: 0;
	max-width: 521px;
	color: var(--sr-blanc, #fcfcfc);
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}

/* ---- Carte blanche (horaires) : déborde ~60 % sous la section ---- */
.brabois-brasserie__card {
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	background-color: #fff;
	background-image: var(--pc);
	background-size: cover;
	background-position: center;
	padding: 62px 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 36px;
	text-align: center;
	/* Carte poussée bas : le haut est sur l'olive, la majeure partie déborde
	   SOUS la bande olive (sur la section suivante). La bande étant fixe, ce
	   débord ne fait pas grandir l'olive. */
	margin-top: 80px;
	position: relative;
	z-index: 3;
}
.brabois-brasserie__cardtop {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 36px;
}
.brabois-brasserie__hgroup {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.brabois-brasserie__label {
	margin: 0;
	color: var(--bleu-chateau, #3f5565);
	font-family: "Geist", sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 24px;
}
.brabois-brasserie__hours,
.brabois-brasserie__addr {
	margin: 0;
	color: #404040;
	font-family: "Geist", sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
}
.brabois-brasserie__crule {
	width: 100%;
	max-width: 434px;
	height: 1px;
	background: var(--bleu-chateau, #3f5565);
	opacity: 0.16;
}
.brabois-brasserie__tel {
	margin: 0;
	color: var(--bleu-chateau, #3f5565);
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 600;
	font-size: 36px;
	line-height: 48.96px;
}
.brabois-brasserie__menubtn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13.5px 17px;
	background: var(--sr-vert-olive, #7e8b6f);
	text-decoration: none;
	transition: filter 0.2s ease;
}
.brabois-brasserie__menubtn:hover {
	filter: brightness(1.07);
}
.brabois-brasserie__menubtn span:first-child {
	color: var(--sr-blanc, #fcfcfc);
	font-size: 14px;
	font-weight: 600;
}
.brabois-brasserie__dot {
	width: 7px;
	height: 7px;
	border-radius: 9999px;
	border: 0.4px solid var(--sr-blanc, #fcfcfc);
}

/* ---- Carrousel (droite) : image en arche + flèches olive (média 35) ---- */
.brabois-brasserie__right {
	position: relative;
	align-self: start;
}
.brabois-brasserie__carousel {
	position: relative;
	width: fit-content;
	max-width: 100%;
	/* Poussée à droite (un peu au-delà du 1440) et plus bas ; déborde sous la
	   bande olive (fixe) sur la section suivante. */
	margin-left: auto;
	margin-right: -70px;
	margin-top: -100px;
}
.brabois-brasserie__slide {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 800px;
	height: auto;
}
.brabois-brasserie__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 92px;
	height: auto;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	line-height: 0;
}
.brabois-brasserie__nav img {
	width: 100%;
	height: auto;
	display: block;
}
/* Média 35 pointe à GAUCHE nativement : prev tel quel, next miroir.
   Placées SUR les bords de l'image (le fond olive masquerait la flèche olive). */
.brabois-brasserie__nav--prev {
	left: 10px;
}
.brabois-brasserie__nav--next {
	right: 10px;
}
.brabois-brasserie__nav--next img {
	transform: scaleX(-1);
}

/* ---- Ornement « trait jaune » collé au bord droit de l'écran ---- */
/* Positionné près du bas de la bande olive (référence = --bo-h). */
.brabois-brasserie__trait {
	position: absolute;
	right: 0;
	top: calc(var(--bo-h, 620px) - 210px);
	width: clamp(120px, 14vw, 240px);
	height: auto;
	z-index: 2;
	pointer-events: none;
}

/* ---- Responsive ------------------------------------------------------------ */

/* Photos latérales du hero : elles empiétaient sur le texte central (bloc de
   840px). Sous ~1650px, on rend leur largeur FLUIDE = l'espace réellement libre
   à côté du texte (avec ~30px de garde) -> elles rétrécissent toutes seules et
   ne chevauchent plus le texte, quelle que soit la largeur (et disparaissent
   d'elles-mêmes quand il n'y a plus de place). */
@media (max-width: 1650px) {
	.brabois-sr__side--left {
		width: min(430px, max(0px, calc((100vw - 900px) / 2 + 40px)));
		left: -40px;
	}
	.brabois-sr__side--right {
		width: min(430px, max(0px, calc((100vw - 900px) / 2 + 40px)));
		right: -40px;
	}
}

@media (max-width: 782px) {
	.brabois-sr {
		padding: 240px 18px 64px;
	}
	.brabois-sr__dish {
		width: 230px;
		top: -20px;
	}
	.brabois-sr__side--left,
	.brabois-sr__side--right {
		display: none;
	}
	.brabois-sr__title {
		font-size: 26px;
		line-height: 1.18;
	}
	.brabois-sr__choices {
		flex-direction: column;
		width: 100%;
		max-width: 360px;
	}
	.brabois-sr__choice {
		justify-content: center;
		padding: 16px 24px;
	}
}

/* ==========================================================================
   Section 4 — « Carte et menu du moment » (fond beige-lumineux)
   L'encart d'ouverture de la section 3 déborde sur le haut de cette section.
   ========================================================================== */
.brabois-carte {
	background: var(--beige-lumineux, #f8efe8);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	/* Grand padding haut : laisse passer l'encart d'ouverture (section 3) qui
	   déborde ici, avant le titre. Padding-bas : espace sous la barre olive.
	   ⚠️ 380 -> 480 le 27/07/2026 : l'adresse V3 du restaurant fait 3 lignes au
	   lieu de 2, l'encart a grandi d'autant et le titre « Carte et menu du
	   moment » se retrouvait à sa hauteur (chevauchement visuel). */
	padding: 480px 24px 120px;
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.brabois-carte__intro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	max-width: 960px;
	text-align: center;
}
.brabois-carte__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-carte__filet {
	position: relative;
	width: 700px;
	max-width: 90%;
	height: 1px;
	background: var(--bleu-chateau, #3f5565);
	opacity: 0.3;
}
.brabois-carte__filet::before,
.brabois-carte__filet::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--bleu-chateau, #3f5565);
	transform: translateY(-50%);
}
.brabois-carte__filet::before { left: -3px; }
.brabois-carte__filet::after { right: -3px; }
.brabois-carte__lead {
	margin: 0;
	max-width: 902px;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: #404040;
}

/* ---- Panneau (encart carte + barre olive collée), même largeur ---- */
.brabois-carte__panel {
	width: 100%;
	max-width: 760px;
	/* Plus d'écart entre la description et l'encart carte. */
	margin-top: 56px;
}

/* Encart carte : fond pattern clair, image planche décalée, liste scrollable. */
.brabois-carte__card {
	position: relative;
	box-sizing: border-box;
	background-color: #fff;
	background-image: var(--pc);
	background-size: cover;
	background-position: center;
	/* Padding-droit réduit : la barre de scroll se rapproche du bord droit.
	   Pas de padding-bas (la liste rejoint la barre olive ; la respiration basse
	   est gérée dans .brabois-carte__scroll). */
	padding: 40px 26px 0 56px;
	overflow: visible;
}
.brabois-carte__planche {
	position: absolute;
	top: -104px;
	left: -104px;
	width: 780px;
	max-width: 112%;
	height: auto;
	z-index: 2;
	filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.18));
}
.brabois-carte__scroll {
	position: relative;
	max-height: 720px;
	overflow-y: auto;
	/* Dégage la place de la planche (plus grande) qui déborde en haut. */
	padding-top: 292px;
	/* Contenu décalé de la barre de scroll + respiration basse (visible en bas de carte). */
	padding-right: 30px;
	padding-bottom: 52px;
}
/* Barre de scroll fine et discrète, proche du bord droit. */
.brabois-carte__scroll::-webkit-scrollbar { width: 4px; }
.brabois-carte__scroll::-webkit-scrollbar-track { background: transparent; }
.brabois-carte__scroll::-webkit-scrollbar-thumb { background: rgba(63, 85, 101, 0.28); border-radius: 3px; }
.brabois-carte__scroll { scrollbar-width: thin; scrollbar-color: rgba(63,85,101,.28) transparent; }

/* ---- Catégories + plats (rendu back-office) ---- */
.brabois-carte__cat {
	display: flex;
	flex-direction: column;
	gap: 28px;
	margin-bottom: 48px;
}
.brabois-carte__cat:last-child { margin-bottom: 0; }
.brabois-carte__cathead {
	display: flex;
	align-items: center;
	gap: 14px;
}
.brabois-carte__caticon {
	flex: 0 0 auto;
	width: 40px;
	height: auto;
	display: block;
}
.brabois-carte__cattitle {
	margin: 0;
	font-family: "Cormorant Infant", Georgia, serif;
	font-weight: 700;
	font-size: 28px;
	line-height: 38.08px;
	color: var(--sr-vert-olive, #7e8b6f);
	text-decoration: underline;
}
.brabois-carte__items {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.brabois-carte__item {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(63, 85, 101, 0.5);
}
.brabois-carte__item:last-child { border-bottom: 0; padding-bottom: 0; }
/* Ligne nom … (ligne de rappel) … prix */
.brabois-carte__itemrow {
	display: flex;
	align-items: baseline;
	gap: 14px;
}
.brabois-carte__itemname {
	margin: 0;
	flex: 0 0 auto;
	font-family: "Geist", sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 24px;
	color: var(--sr-vert-olive, #7e8b6f);
}
/* Fine ligne de rappel entre le nom et le prix. */
.brabois-carte__leader {
	flex: 1 1 auto;
	height: 0;
	align-self: center;
	border-bottom: 0.6px solid rgba(63, 85, 101, 0.17);
}
.brabois-carte__itemdesc {
	margin: 0;
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 21px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-carte__itemprice {
	flex: 0 0 auto;
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 700;
	font-size: 24px;
	line-height: 32.64px;
	color: var(--bleu-chateau, #3f5565);
	white-space: nowrap;
}

/* ---- Barre olive collée sous l'encart (adresse + réservations) ---- */
.brabois-carte__footer {
	box-sizing: border-box;
	background-color: #7e8b6f;
	background-image: var(--bo-pattern);
	background-size: cover;
	background-position: center;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 64px;
	padding: 40px 56px;
	color: var(--sr-blanc, #fcfcfc);
}
.brabois-carte__addr {
	margin: 0;
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 21px;
	color: var(--sr-blanc, #fcfcfc);
}
.brabois-carte__vsep {
	flex: 0 0 auto;
	width: 1px;
	height: 99px;
	background: var(--sr-blanc, #fcfcfc);
	opacity: 0.3;
}
.brabois-carte__resa {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
}
.brabois-carte__resa-lbl {
	margin: 0;
	font-family: "Geist", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
}
.brabois-carte__resa-tel {
	margin: 0;
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 700;
	font-size: 20px;
	line-height: 27.2px;
}

@media (max-width: 820px) {
	.brabois-carte { padding-top: 320px; }
	.brabois-carte__card { padding: 40px 24px; }
	.brabois-carte__planche { width: 70%; left: 0; top: -48px; }
	.brabois-carte__scroll { padding-top: 130px; padding-right: 10px; }
	.brabois-carte__footer { flex-direction: column; gap: 24px; }
	.brabois-carte__vsep { width: 120px; height: 1px; }
}

/* Supprime le block-gap TT5 (~19px, barre blanche) entre les sections consécutives
   de la page (pause / brasserie / carte) -> sections collées, sans marge parasite. */
.brabois-sr-pause,
.brabois-brasserie,
.brabois-carte,
.brabois-sr-contact {
	margin-block-start: 0;
}

/* ==========================================================================
   Section 5 — « Demande spécifique » (sans fond) + encart équipe réutilisé
   ========================================================================== */
.brabois-sr-contact {
	margin-block-start: 0;
	box-sizing: border-box;
}
.brabois-sr-contact__intro {
	max-width: 900px;
	margin: 0 auto;
	padding: 96px 24px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	text-align: center;
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.brabois-sr-contact__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-sr-contact__text {
	margin: 0;
	max-width: 817px;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: #404040;
}
.brabois-sr-contact__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13.5px 17px;
	background: rgba(0, 0, 0, 0);
	outline: 1px solid var(--sr-vert-olive, #7e8b6f);
	outline-offset: -1px;
	text-decoration: none;
	transition: background 0.2s ease;
}
.brabois-sr-contact__btn span {
	color: var(--sr-vert-olive, #7e8b6f);
	font-size: 14px;
	font-weight: 600;
}
.brabois-sr-contact__btn img {
	display: block;
	height: 16px;
	width: auto;
}
.brabois-sr-contact__btn:hover { background: rgba(126, 139, 111, 0.08); }

/* Encart réutilisé (brabois_render_contact) : on masque son CTA olive et on
   passe la carte en --beige-clair, sans fond de section. */
.brabois-sr-contact .brabois-contact {
	background: none;
	padding-top: 48px;
}
.brabois-sr-contact .brabois-contact__cta {
	display: none;
}
.brabois-sr-contact .brabois-contact__card {
	background: var(--beige-clair, #fffcf5);
	border: 0.7px solid #7e8b6f66;
}

/* ==========================================================================
   Section 7 — « atouts » (4 pictos, reprise de Séjourner) — fond beige-lumineux,
   contenu centré, sans le chevauchement de carte d'onglets (spécifique Séjourner).
   ========================================================================== */
/* Double classe : bat le `.brabois-atouts` de base (chargé après dans sejour.css). */
.brabois-atouts.brabois-atouts--sr {
	margin-top: 0;
	background: var(--beige-lumineux, #f8efe8);
	padding: 0 24px;
}
.brabois-atouts.brabois-atouts--sr .brabois-atouts__grid {
	min-height: 0;
}
.brabois-atouts.brabois-atouts--sr .brabois-atouts__item {
	align-items: center;
	text-align: center;
	padding: 80px 28px;
}
.brabois-atouts.brabois-atouts--sr .brabois-atouts__text {
	max-width: 260px;
}

/* Section infos pratiques + photo agrandie qui déborde sur le formulaire :
   COMPORTEMENT DESKTOP UNIQUEMENT (> 1200 px). En dessous, infos.css (@1024)
   et .brabois-cform de base reprennent la main (colonne unique, photo pleine
   largeur) -> pas de débord hors écran. */
@media (min-width: 1380px) {
	.brabois-infos .brabois-infos__card {
		width: 520px;
	}
	.page-id-18 .brabois-infos__photo {
		width: calc(100% + 300px);
		margin-left: -200px;
		margin-bottom: -360px;
	}
}

/* ==========================================================================
   Section formulaire (réutilise .brabois-cform de la page château, fond
   --beige-lumineux). Sur cette page : la GROSSE PHOTO de la section infos
   (colonne droite) doit EMPIÉTER sur le haut de ce formulaire.
   - On remonte le formulaire (~90px) DANS le padding-bas VIDE de la colonne
     accordéon (le contenu de l'accordéon s'arrête au-dessus -> non recouvert).
   - La photo (colonne droite) est mise en contexte positionné z-index:3 pour
     passer AU-DESSUS du fond beige du formulaire (sinon le beige la masquerait).
   - padding-haut : le titre passe SOUS la photo qui déborde.
   - padding-bas généreux : le footer remonte et ne doit pas empiéter.
   ========================================================================== */
.page-id-18 .brabois-infos__right {
	position: relative;
	z-index: 3;
}
.page-id-18 .brabois-cform {
	margin-block-start: 0; /* pas de gap TT5, à toutes les tailles */
}

/* Section avis : sur cette page rien ne déborde depuis la section précédente
   (atouts) -> on retire le gros padding-haut (300px) prévu pour l'accueil.
   Toutes tailles d'écran. */
.page-id-18 .brabois-avis {
	padding-top: 72px;
}

/* Section galerie « Découvrez la Brasserie en photos » (réutilise .brabois-domaine) :
   plus de marge interne (le titre était trop près du haut + la photo de la section
   contact déborde ici). */
.page-id-18 .brabois-domaine {
	padding-top: 190px;
	padding-bottom: 140px;
}
/* Marge basse du formulaire (dernière section) : le footer remonte de 250px
   au-dessus de 1024px -> il faut au moins autant de padding-bas ici, sinon
   l'arc du footer mord sur la carte du formulaire (petit/normal desktop). */
@media (min-width: 1025px) {
	.page-id-18 .brabois-cform {
		padding-bottom: 300px;
	}
}
/* Débord de la photo infos sur le haut du formulaire = desktop large uniquement. */
@media (min-width: 1380px) {
	.page-id-18 .brabois-cform {
		margin-top: -90px;
		padding-top: 300px;
		padding-bottom: 300px;
	}
}

/* ==========================================================================
   RESPONSIVE — < 1380 px (tablette / laptop) et mobile
   ========================================================================== */

/* ---- < 1440 px : neutralise les débords latéraux calés sur le 1440 desktop ---- */
@media (max-width: 1440px) {
	/* Le carrousel de la brasserie ne doit plus pointer hors écran. */
	.brabois-brasserie__carousel {
		margin-right: 0;
	}
}

/* ---- < 1024 px : le badge tournant du hero déborderait à droite ---- */
@media (max-width: 1024px) {
	.brabois-sr__ellipse {
		display: none;
	}
}

/* ---- < 900 px : sections 3 (brasserie) et 4 (carte) en colonne unique ------- */
@media (max-width: 900px) {
	/* Bande olive : plus de hauteur fixe -> le fond couvre toute la section
	   et le contenu s'empile (image, texte, encart horaires). */
	.brabois-brasserie {
		height: auto;
	}
	.brabois-brasserie::before {
		height: 100%;
	}
	.brabois-brasserie__inner {
		display: flex;
		flex-direction: column;
		gap: 40px;
		padding: 64px 24px;
	}
	.brabois-brasserie__right {
		order: -1; /* l'image d'abord */
	}
	.brabois-brasserie__left {
		gap: 24px;
	}
	.brabois-brasserie__title,
	.brabois-brasserie__text {
		max-width: none;
	}
	.brabois-brasserie__card {
		margin-top: 0;
		padding: 40px 28px;
	}
	.brabois-brasserie__carousel {
		margin: 0 auto;
		max-width: 100%;
	}
	.brabois-brasserie__slide {
		width: 100%;
		max-height: none;
	}
	.brabois-brasserie__nav {
		width: 46px;
	}
	.brabois-brasserie__nav--prev { left: 4px; }
	.brabois-brasserie__nav--next { right: 4px; }
	.brabois-brasserie__trait {
		display: none;
	}

	/* Carte : la bande olive ne déborde plus dessus -> petit padding haut,
	   et le filet du titre ne force plus une largeur fixe de 700px. */
	.brabois-carte {
		padding-top: 72px;
	}
	.brabois-carte__intro {
		width: 100%;
	}
	.brabois-carte__filet {
		width: 100%;
		max-width: 700px;
	}
}

/* ---- < 782 px : section atouts (2×2) compacte (le gros padding 80px des
   items la rendait beaucoup trop haute en mobile). ---- */
@media (max-width: 782px) {
	.brabois-atouts.brabois-atouts--sr .brabois-atouts__grid {
		gap: 8px 0;
	}
	.brabois-atouts.brabois-atouts--sr .brabois-atouts__item {
		padding: 28px 12px;
		gap: 14px;
	}
	.brabois-atouts.brabois-atouts--sr .brabois-atouts__icon {
		height: 44px;
	}
}

/* ---- < 600 px : encart infos + panneau carte pleine largeur ---- */
@media (max-width: 600px) {
	.brabois-infos .brabois-infos__card {
		width: 100%;
	}
}

/* ==========================================================================
   Section « Le bar de l'hôtel » (2ᵉ univers de la page) + ancres du hero
   Ajoutée le 27/07/2026 : les 2 boutons « Sélectionnez un univers » mènent
   désormais aux sections correspondantes de la page (#le-restaurant / #le-bar).
   ========================================================================== */
.brabois-sr-bar {
	background: var(--beige-clair, #fffcf5);
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	padding: 120px 24px;
	margin-block-start: 0; /* pas de block-gap TT5 avec la section précédente */
	font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.brabois-sr-bar__inner {
	max-width: 900px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
}
.brabois-sr-bar__title {
	margin: 0;
	color: #3f5565;
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
}
.brabois-sr-bar__sep {
	margin: 4px 0 8px;
	max-width: 100%;
}
.brabois-sr-bar__text {
	margin: 0;
	max-width: 820px;
	color: #404040;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}
.brabois-sr-bar__btn {
	margin-top: 20px;
}

/* Ancres : le header (variante beige) devient sticky au scroll -> on décale la
   cible de sa hauteur réelle (--brabois-header-h publiée par header.js). */
#le-restaurant,
#le-bar {
	scroll-margin-top: calc(var(--brabois-header-h, 92px) + 24px);
}
html {
	scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

@media (max-width: 782px) {
	.brabois-sr-bar {
		padding: 72px 20px;
	}
}

/* 21/10/2026 : la section bar s intercale désormais entre ce bloc et la carte
   équipe ; sans marge basse, le bouton CONTACTEZ-NOUS touchait la section
   suivante. Même respiration en bas qu en haut. */
.brabois-sr-contact__intro {
	padding-bottom: 96px;
}
@media (max-width: 767px) {
	.brabois-sr-contact__intro {
		padding-bottom: 64px;
	}
}
