/* ==========================================================================
   Pages légales (Mentions légales, Politique de confidentialité, Politique de
   cookies). Colonne lisible sur fond beige-clair, sous le header « beige ».
   Grosse marge basse : le footer (arche foncée) remonte.
   ========================================================================== */

.brabois-legal {
	margin-block-start: 0;
	background: var(--beige-clair, #fffcf5);
	padding: 80px 24px 270px;
	font-family: "Geist", "Montserrat", sans-serif;
	color: var(--anthracite, #404040);
}

/* La colonne centrée (contentSize 960) est gérée par le layout ; on borne
   quand même par sécurité. */
.brabois-legal > * {
	max-width: 960px;
	margin-inline: auto;
}

.brabois-legal h1 {
	margin: 0 0 28px;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--bleu-chateau, #3f5565);
}

.brabois-legal h2 {
	margin: 40px 0 0;
	font-family: "Cormorant Infant", serif;
	font-style: italic;
	font-weight: 700;
	font-size: 24px;
	line-height: 32.64px;
	color: var(--bleu-chateau, #3f5565);
}

.brabois-legal h3 {
	margin: 24px 0 0;
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--bleu-chateau, #3f5565);
}

.brabois-legal p,
.brabois-legal li {
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 26px;
	color: var(--anthracite, #404040);
}

.brabois-legal p {
	margin: 16px 0 0;
}

.brabois-legal ul {
	margin: 12px 0 0;
	padding-left: 22px;
	list-style: disc;
}
.brabois-legal li {
	margin: 6px 0 0;
}

.brabois-legal a {
	color: var(--vert-olive, #7e8b6f);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.brabois-legal a:hover {
	text-decoration: none;
}

.brabois-legal strong {
	color: var(--bleu-chateau, #3f5565);
	font-weight: 600;
}

/* Encadrés « à compléter » : repérage visuel des champs à remplir (n'impacte
   pas le SEO ; à retirer une fois les infos saisies). */
.brabois-legal mark {
	background: #fdf3d6;
	color: #7a5b00;
	padding: 0 4px;
	border-radius: 3px;
}

@media (max-width: 640px) {
	.brabois-legal {
		padding: 56px 20px 150px;
	}
	.brabois-legal h1 {
		font-size: 26px;
	}
}

/* ---- Plan du site : groupes de liens ------------------------------------- */
.brabois-plan {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 48px;
	margin-top: 8px;
}
.brabois-plan__group {
	margin: 0;
}
.brabois-plan__title {
	margin: 0 0 14px;
	font-family: "Cormorant Infant", serif;
	font-style: italic;
	font-weight: 700;
	font-size: 24px;
	line-height: 32.64px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-plan__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.brabois-plan__list li {
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #e0e0e0;
}
.brabois-plan__list li:first-child {
	border-top: 1px solid #e0e0e0;
}
.brabois-plan__list a {
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--anthracite, #404040);
	text-decoration: none;
}
.brabois-plan__list a:hover {
	color: var(--vert-olive, #7e8b6f);
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 640px) {
	.brabois-plan {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

/* ==========================================================================
   Page « Contact et accès » — DA du site : hero pattern + encart pattern-clair
   (coordonnées, séparateur à pointes, téléphone Cormorant italic) + carte encadrée
   + bloc accès 2 colonnes.
   ========================================================================== */
.brabois-contact-page { margin-block-start: 0; }

/* ---- Hero (pattern, texte blanc) ------------------------------------------ */
.brabois-cah {
	margin-block-start: 0;
	padding: 118px 24px 96px;
	background: #44525f var(--cah-pattern) center / cover no-repeat;
	color: #fcfcfc;
	display: flex;
	justify-content: center;
	text-align: center;
	font-family: "Montserrat", sans-serif;
}
.brabois-cah__inner {
	max-width: 820px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
}
.brabois-cah__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
}
.brabois-cah__eyebrow::before {
	content: "";
	width: 11px;
	height: 11px;
	border-radius: 9999px;
	background: #f6b83b;
}
.brabois-cah__title {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 37.12px;
}
.brabois-cah__text {
	margin: 0;
	max-width: 720px;
	font-family: "Geist", "Montserrat", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}

/* ---- Corps (beige-lumineux) : encart + carte ------------------------------ */
.brabois-cab {
	margin-block-start: 0;
	background: var(--beige-lumineux, #f8efe8);
	padding: 80px 24px 96px;
	display: flex;
	justify-content: center;
	font-family: "Geist", "Montserrat", sans-serif;
}
.brabois-cab__inner {
	width: 100%;
	max-width: 1160px;
}
.brabois-cab__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 40px;
	align-items: stretch;
}

/* Encart coordonnées = texture pattern-clair + liseré bleu Château (comme les
   encarts « réservation » du site). */
.brabois-cab__card {
	box-sizing: border-box;
	background: #f4f1ec url("../img/pattern-clair.jpg") center / cover no-repeat;
	border: 0.6px solid var(--bleu-chateau, #3f5565);
	padding: 44px 48px 40px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.brabois-cab__card-title {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 29.92px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-cab__sep {
	display: block;
	width: 340px;
	max-width: 100%;
	height: 10px;
	margin: -6px 0 0;
}
.brabois-cab__rows {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.brabois-cab__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.brabois-cab__label {
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--vert-olive, #7e8b6f);
}
.brabois-cab__value {
	font-size: 16px;
	font-weight: 500;
	line-height: 26px;
	color: var(--anthracite, #404040);
}
.brabois-cab__phone {
	font-family: "Cormorant Infant", Georgia, serif;
	font-style: italic;
	font-weight: 600;
	font-size: 36px;
	line-height: 1.15;
	color: var(--bleu-chateau, #3f5565);
	text-decoration: none;
}
.brabois-cab__phone:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.brabois-cab__btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	padding: 13.5px 22px;
	background: var(--vert-olive, #7e8b6f);
	color: #fcfcfc;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: filter 0.2s ease;
}
.brabois-cab__btn:hover { filter: brightness(1.07); }
.brabois-cab__btn img { height: 16px; width: auto; display: block; }

.brabois-cab__map {
	position: relative;
	min-height: 460px;
	border: 0.6px solid var(--bleu-chateau, #3f5565);
	box-shadow: 0 14px 34px rgba(31, 42, 51, 0.12);
	overflow: hidden;
}
.brabois-cab__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

/* ---- Bloc « Accès » 2 colonnes -------------------------------------------- */
.brabois-cab__access {
	margin-top: 52px;
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 40px;
	align-items: start;
}
.brabois-cab__access-div {
	align-self: stretch;
	background: rgba(63, 85, 101, 0.18);
}
.brabois-cab__access-title {
	margin: 0 0 10px;
	font-family: "Cormorant Infant", serif;
	font-style: italic;
	font-weight: 700;
	font-size: 24px;
	line-height: 32.64px;
	color: var(--bleu-chateau, #3f5565);
}
.brabois-cab__access-text {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 26px;
	color: var(--anthracite, #404040);
}

.brabois-cah mark,
.brabois-cab mark {
	background: #fdf3d6;
	color: #7a5b00;
	padding: 0 4px;
	border-radius: 3px;
}

@media (max-width: 900px) {
	.brabois-cab__grid { grid-template-columns: 1fr; gap: 28px; }
	.brabois-cab__map { min-height: 320px; }
	.brabois-cab__access { grid-template-columns: 1fr; gap: 28px; }
	.brabois-cab__access-div { display: none; }
}
@media (max-width: 640px) {
	.brabois-cah { padding: 88px 20px 72px; }
	.brabois-cah__title { font-size: 26px; line-height: 1.2; }
	.brabois-cab { padding: 56px 20px 64px; }
	.brabois-cab__card { padding: 32px 24px; }
	.brabois-cab__phone { font-size: 30px; }
}

/* Formulaire réutilisé en bas de la page Contact : marge basse pour le footer. */
.brabois-cform--contact { padding-bottom: 300px; margin-block-start: 0; }
@media (max-width: 1024px) { .brabois-cform--contact { padding-bottom: 200px; } }
@media (max-width: 640px)  { .brabois-cform--contact { padding-bottom: 140px; } }

/* ==========================================================================
   Cibles tactiles du plan du site (ajout responsive du 28/08/2026)
   Liens mesurés à 21px de haut sur mobile. Les <li> portent déjà un filet
   de séparation : on augmente la zone cliquable sans ajouter de bordure.
   ========================================================================== */
@media (max-width: 782px) {
	.brabois-plan__list a {
		display: flex;
		align-items: center;
		min-height: 32px;
	}
	.brabois-plan__list li { padding: 4px 0; }
}

/* Cible tactile du lien e-mail des coordonnées (ajout responsive du 28/08/2026)
   Mesuré à 26px de haut sur mobile. */
@media (max-width: 782px) {
	a.brabois-cab__value {
		display: inline-flex;
		align-items: center;
		min-height: 32px;
	}
}
