/* Boutemont — Infos pratiques */

.bmt-in {
	font-family: 'EB Garamond', Georgia, serif;
	color: #323533;
	box-sizing: border-box;
}

.bmt-in * {
	box-sizing: border-box;
}

.bmt-in a {
	color: #4F7539;
	text-decoration: none;
}

.bmt-in a:hover {
	color: #A8823C;
}

.bmt-in a:focus-visible,
.bmt-in summary:focus-visible {
	outline: 2px solid #A8823C;
	outline-offset: 3px;
}

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

.bmt-in__head {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 720px;
	margin-bottom: var(--bmt-in-head-gap, 44px);
}

.bmt-in__kicker {
	margin: 0;
	font-size: 12px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #AAC29E;
}

.bmt-in__title {
	margin: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 500;
	font-size: 44px;
	line-height: 1.12;
	color: #323533;
	text-wrap: pretty;
}

.bmt-in__intro {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
	font-weight: 300;
	color: #5F6459;
}

/* --------------------------------------------------------- Tableau horaires */

.bmt-in__hours {
	display: flex;
	flex-direction: column;
	border-top: 1px solid rgba(22, 24, 26, 0.2);
}

.bmt-in__hours-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: baseline;
	padding: 18px 4px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.14);
}

.bmt-in__hours-row--now {
	background: rgba(168, 130, 60, 0.1);
}

.bmt-in__hours-months {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 24px;
	line-height: 1.2;
	color: #323533;
	text-transform: capitalize;
}

.bmt-in__hours-time {
	font-size: 17px;
	letter-spacing: 0.04em;
	color: #4F7539;
	white-space: nowrap;
}

.bmt-in__hours-flag {
	display: inline-block;
	margin-left: 12px;
	padding: 3px 11px;
	border-radius: 999px;
	background: #7FB069;
	color: #F7F7F7;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	vertical-align: middle;
}

.bmt-in__notes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 28px;
}

.bmt-in__note {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.65;
	font-weight: 300;
	color: #5F6459;
}

.bmt-in__note::before {
	content: '';
	flex: none;
	width: 5px;
	height: 5px;
	margin-top: 9px;
	border-radius: 50%;
	background: #A8823C;
}

/* ------------------------------------------------------------ Grille tarifs */

.bmt-in__prices {
	display: flex;
	flex-direction: column;
	border-top: 1px solid rgba(22, 24, 26, 0.2);
}

.bmt-in__price {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: baseline;
	padding: 20px 4px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.14);
}

.bmt-in__price--em {
	background: rgba(168, 130, 60, 0.08);
}

.bmt-in__price-label {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.bmt-in__price-name {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 23px;
	line-height: 1.22;
	color: #323533;
}

.bmt-in__price-note {
	font-size: 14px;
	line-height: 1.55;
	font-weight: 300;
	color: #6E7268;
}

.bmt-in__price-amount {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 27px;
	line-height: 1;
	color: #4F7539;
	white-space: nowrap;
}

.bmt-in__price-amount--free {
	font-size: 17px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #7FB069;
}

.bmt-in__prices-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 30px;
}

.bmt-in__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	padding: 15px 32px;
	border: 1px solid #4F7539;
	border-radius: 999px;
	color: #4F7539;
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.bmt-in__btn:hover,
.bmt-in__btn:focus-visible {
	background: #4F7539;
	border-color: #4F7539;
	color: #F7F7F7;
}

.bmt-in__btn--solid {
	background: #4F7539;
	border-color: #4F7539;
	color: #F7F7F7;
}

.bmt-in__btn--solid:hover,
.bmt-in__btn--solid:focus-visible {
	background: #A8823C;
	border-color: #A8823C;
	color: #323533;
}

/* -------------------------------------------------------------- Accordéon */

.bmt-in__acc {
	display: grid;
	grid-template-columns: repeat(var(--bmt-in-cols, 1), 1fr);
	gap: 0 var(--bmt-in-col-gap, 56px);
	border-top: 1px solid rgba(22, 24, 26, 0.2);
}

.bmt-in__item {
	border-bottom: 1px solid rgba(22, 24, 26, 0.14);
}

.bmt-in__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 4px;
	cursor: pointer;
	list-style: none;
}

.bmt-in__item summary::-webkit-details-marker {
	display: none;
}

.bmt-in__item-title {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 25px;
	line-height: 1.22;
	color: #323533;
	transition: color 0.25s ease;
}

.bmt-in__item summary:hover .bmt-in__item-title {
	color: #4F7539;
}

.bmt-in__item[open] .bmt-in__item-title {
	color: #4F7539;
}

.bmt-in__sign {
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
}

.bmt-in__sign::before,
.bmt-in__sign::after {
	content: '';
	position: absolute;
	background: #AAC29E;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.bmt-in__sign::before {
	left: 0;
	top: 50%;
	width: 16px;
	height: 1px;
	transform: translateY(-50%);
}

.bmt-in__sign::after {
	left: 50%;
	top: 0;
	width: 1px;
	height: 16px;
	transform: translateX(-50%);
}

.bmt-in__item[open] .bmt-in__sign::after {
	opacity: 0;
	transform: translateX(-50%) rotate(90deg);
}

.bmt-in__item-body {
	padding: 0 4px 26px;
	max-width: 68ch;
}

.bmt-in__item-body p {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.75;
	font-weight: 300;
	color: #474C48;
}

.bmt-in__item-body p:last-child {
	margin-bottom: 0;
}

.bmt-in__item-body strong {
	font-weight: 500;
	color: #323533;
}

.bmt-in__item-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.bmt-in__fact {
	padding: 8px 16px;
	border: 1px solid rgba(22, 24, 26, 0.2);
	border-radius: 999px;
	font-size: 13px;
	color: #474C48;
}

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

@media (max-width: 1024px) {
	.bmt-in__acc {
		grid-template-columns: 1fr;
	}

	.bmt-in__title {
		font-size: 34px;
	}
}

@media (max-width: 600px) {
	.bmt-in__title {
		font-size: 28px;
	}

	.bmt-in__hours-row,
	.bmt-in__price {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.bmt-in__hours-months,
	.bmt-in__price-name {
		font-size: 20px;
	}

	.bmt-in__price-amount {
		font-size: 23px;
	}

	.bmt-in__item-title {
		font-size: 21px;
	}

	.bmt-in__btn {
		width: 100%;
	}
}

/* =========================================================
   Version 2.42 — bouton Horaires entièrement piloté par
   Elementor et panneau contenu dans la fenêtre.
   ========================================================= */

.bmt-hb:not(.bmt-hb--tickets) {
	--bmt-hb-icon-size: 20px;
	--bmt-hb-chevron-size: 11px;
	--bmt-hb-panel-offset-x: 0px;
	--bmt-hb-clamp-x: 0px;
	--bmt-hb-viewport-gutter: 12px;
	--bmt-hb-panel-padding: 0;
	--bmt-hb-content-gap: 0px;
	--bmt-hb-head-padding: 18px 22px 14px;
	--bmt-hb-hours-columns: 2;
	--bmt-hb-hours-padding: 16px 18px 18px;
	--bmt-hb-hours-card-padding: 13px 14px;
	--bmt-hb-access-columns: 2;
	--bmt-hb-access-padding: 16px 18px 18px;
	--bmt-hb-access-gap: 0px;
	--bmt-hb-access-card-padding: 9px 12px 9px 0;
	--bmt-hb-title-size: 21px;
	--bmt-hb-subtitle-size: 13.5px;
	--bmt-hb-section-title-size: 13.5px;
	--bmt-hb-period-size: 16px;
	--bmt-hb-detail-size: 18px;
	--bmt-hb-days-size: 13.5px;
	--bmt-hb-access-detail-size: 15.5px;
	--bmt-hb-mode-size: 13.5px;
	--bmt-hb-address-size: 15.5px;
	--bmt-hb-maps-size: 14px;
	--bmt-hb-footer-size: 13.5px;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__toggle {
	min-width: 44px;
	min-height: max(44px, var(--bmt-hb-btn-height, 56px));
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__clock,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__clock--mobile {
	width: var(--bmt-hb-icon-size) !important;
	height: var(--bmt-hb-icon-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__chevron {
	width: var(--bmt-hb-chevron-size);
	height: var(--bmt-hb-chevron-size);
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__panel {
	box-sizing: border-box;
	width: min(var(--bmt-hb-w, 1040px), calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter))) !important;
	max-width: calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter));
	padding: var(--bmt-hb-panel-padding) !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	transform: translateX(calc(var(--bmt-hb-panel-offset-x) + var(--bmt-hb-clamp-x))) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__inner {
	gap: var(--bmt-hb-content-gap) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__head {
	padding: var(--bmt-hb-head-padding) !important;
}

.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-hb-hours-columns), minmax(0, 1fr)) !important;
	gap: var(--bmt-hb-hours-tiles-gap, 10px) !important;
	padding: var(--bmt-hb-hours-padding) !important;
}

.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__thead {
	grid-column: 1 / -1;
}

.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
	min-width: 0;
	margin: 0 !important;
	padding: var(--bmt-hb-hours-card-padding) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__access {
	padding: var(--bmt-hb-access-padding) !important;
}

.bmt-hb--access-grid:not(.bmt-hb--tickets) .bmt-hb__ways {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-hb-access-columns), minmax(0, 1fr)) !important;
	gap: var(--bmt-hb-access-gap) !important;
}

.bmt-hb--access-grid:not(.bmt-hb--tickets) .bmt-hb__way {
	min-width: 0;
	padding: var(--bmt-hb-access-card-padding) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__title {
	font-size: var(--bmt-hb-title-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__subtitle {
	font-size: var(--bmt-hb-subtitle-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__th,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__access-title,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__ways-title,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__more summary {
	font-size: var(--bmt-hb-section-title-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__period {
	font-size: var(--bmt-hb-period-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__detail {
	font-size: var(--bmt-hb-detail-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__days {
	font-size: var(--bmt-hb-days-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__way .bmt-hb__detail,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__warn .bmt-hb__detail {
	font-size: var(--bmt-hb-access-detail-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__mode {
	font-size: var(--bmt-hb-mode-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__address {
	font-size: var(--bmt-hb-address-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__maps {
	font-size: var(--bmt-hb-maps-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__foot,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__extra-note,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__dogs-text,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__link {
	font-size: var(--bmt-hb-footer-size) !important;
}

.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__inner {
	display: block !important;
}

.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__access,
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__orangerie,
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__bottom {
	width: auto;
	height: auto;
	grid-column: auto;
	grid-row: auto;
}

.bmt-hb--mobile-icon-only.is-compact:not(.bmt-hb--tickets) .bmt-hb__toggle {
	width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	padding: 0 !important;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__toggle:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__maps:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__link:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__more summary:focus-visible {
	outline: 2px solid var(--bmt-accent, #AAC29E);
	outline-offset: 3px;
}

.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps {
	min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb:not(.bmt-hb--tickets) *,
	.bmt-hb:not(.bmt-hb--tickets) *::before,
	.bmt-hb:not(.bmt-hb--tickets) *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}


/* ------------------------------------------- Bouton horaires déroulant */

.bmt-hb {
	position: relative;
	display: inline-block;
	font-family: 'EB Garamond', Georgia, serif;
	--bmt-hb-w: 360px;
}

.bmt-hb * {
	box-sizing: border-box;
}

.bmt-hb__toggle {
	display: inline-flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	padding: 13px 24px 13px 22px;
	border: 1px solid #F7F7F7;
	border-radius: 999px;
	background: none;
	color: #F7F7F7;
	font: inherit;
	font-size: 16px;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.bmt-hb__toggle:focus-visible {
	outline: 2px solid #A8823C;
	outline-offset: 3px;
}

.bmt-hb__clock {
	position: relative;
	flex: none;
	width: 15px;
	height: 15px;
	border: 1px solid currentColor;
	border-radius: 50%;
}

.bmt-hb__clock::before,
.bmt-hb__clock::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	background: currentColor;
}

.bmt-hb__clock::before {
	width: 1px;
	height: 4px;
	transform: translate(-50%, -100%);
}

.bmt-hb__clock::after {
	width: 4px;
	height: 1px;
	transform: translateY(-50%);
}

.bmt-hb__chevron {
	flex: none;
	width: 7px;
	height: 7px;
	margin-left: 2px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.3s ease;
}

.bmt-hb.is-open .bmt-hb__chevron {
	transform: translateY(1px) rotate(225deg);
}

.bmt-hb__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;
	z-index: 40;
	width: var(--bmt-hb-w, 360px);
	max-width: calc(100vw - 32px);
	padding: 8px 0 0;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 24px 60px -24px rgba(16, 24, 18, 0.45), 0 2px 8px rgba(16, 24, 18, 0.08);
	animation: none;
}

.bmt-hb--right .bmt-hb__panel {
	left: auto;
	right: 0;
}

@keyframes bmt-hb-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb__panel { animation: none; }
}

.bmt-hb__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 26px;
	row-gap: 10px;
	padding: 18px 30px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.1);
}

.bmt-hb__rows .bmt-hb__row:last-child {
	border-bottom: 0;
}

/* Titre du panneau, en pleine largeur au-dessus des colonnes. */
.bmt-hb__head {
	padding: 26px 30px 20px;
	border-bottom: 1px solid rgba(79, 117, 57, 0.16);
	text-align: center;
}

.bmt-hb__title {
	margin: 0;
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: #4F7539;
}

.bmt-hb__subtitle {
	margin: 5px 0 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	color: #5F6459;
}

.bmt-hb__when {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.bmt-hb__period {
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	font-size: 18px;
	line-height: 1.2;
	color: #4F7539;
}

.bmt-hb__days {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 12px;
	line-height: 1.4;
	color: #5F6459;
}

.bmt-hb__detail {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
	color: #4F7539;
	white-space: nowrap;
}

.bmt-hb__prices {
	margin: 0;
	padding: 15px 24px;
	border-top: 1px solid rgba(22, 24, 26, 0.1);
	font-size: 13px;
	line-height: 1.6;
	color: #A8823C;
}

.bmt-hb__foot {
	margin: 0;
	padding: 0 30px 14px;
	font-size: 12px;
	line-height: 1.6;
	font-weight: 300;
	color: #8A9184;
}

.bmt-hb__link {
	display: block;
	margin: 0 24px 20px;
	padding-bottom: 4px;
	border-bottom: 1px solid #A8823C;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #A8823C;
	text-decoration: none;
	width: fit-content;
	transition: opacity 0.25s ease;
}

.bmt-hb__bottom {
	margin: 6px 30px 24px;
	padding-top: 18px;
	border-top: 1px solid rgba(79, 117, 57, 0.16);
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	column-gap: 32px;
	row-gap: 16px;
	text-align: left;
}

.bmt-hb__bottom > * {
	flex: 1 1 100%;
}

.bmt-hb__bottom .bmt-hb__dogs {
	flex: 1 1 340px;
}

.bmt-hb__bottom .bmt-hb__link {
	flex: 0 0 auto;
	margin: 0;
	align-self: center;
}

.bmt-hb__bottom .bmt-hb__foot {
	padding: 0;
	font-size: 13px;
	font-weight: 600;
	color: #4F7539;
}

.bmt-hb__bottom .bmt-hb__extra-notes {
	margin: 0;
	gap: 6px;
}

.bmt-hb__bottom .bmt-hb__extra-note {
	font-size: 13px;
	line-height: 1.55;
	font-weight: 400;
	color: #5F6459;
}

.bmt-hb__bottom .bmt-hb__dogs {
	margin: 2px 0 0;
	align-items: center;
	gap: 12px;
	max-width: none;
}

.bmt-hb__bottom .bmt-hb__dogs-text {
	font-size: 13px;
	line-height: 1.55;
	color: #5F6459;
}

.bmt-hb__link:hover,
.bmt-hb__link:focus-visible {
	opacity: 0.7;
}

.bmt-hb__thead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	column-gap: 26px;
	padding: 18px 30px 10px;
	border-bottom: 1px solid rgba(79, 117, 57, 0.25);
}

.bmt-hb__th {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #5F6459;
}

.bmt-hb__th--creperie {
	text-align: right;
	color: #6E2233;
}

/* L'encart crêperie / salon de thé */
.bmt-hb__creperie {
	display: flex;
	flex-direction: column;
	gap: 3px;
	justify-self: end;
	min-width: 168px;
	padding: 11px 15px;
	border-radius: 3px;
	text-align: left;
}

.bmt-hb__creperie-label {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.75;
}

.bmt-hb__creperie-hours {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.bmt-hb__creperie--open {
	background: #E9E6DA;
	color: #4F7539;
}

.bmt-hb__creperie--closed {
	background: rgba(110, 34, 51, 0.12);
	color: #6E2233;
}

.bmt-hb__creperie-label {
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}

.bmt-hb__extra-notes {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 24px 14px;
}

.bmt-hb__extra-note {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.55;
	font-weight: 300;
	color: #5F6459;
}

.bmt-hb__dogs-icon--custom {
	object-fit: contain;
}

/* --- Sauge : panneau vert clair, horaires + accès en colonnes, notes en pleine largeur --- */
.bmt-hb--panel-sauge .bmt-hb__panel {
	background: #AAC29E;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 24px 60px -24px rgba(79, 117, 57, 0.4);
}

.bmt-hb--panel-sauge .bmt-hb__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	column-gap: 32px;
	padding: 28px 28px 22px;
}

.bmt-hb--panel-sauge .bmt-hb__cols-left {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

.bmt-hb--panel-sauge .bmt-hb__access {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	padding: 0;
	border: 0;
}

.bmt-hb--panel-sauge .bmt-hb__foot,
.bmt-hb--panel-sauge .bmt-hb__bottom,
.bmt-hb--panel-sauge .bmt-hb__link {
	grid-column: 1 / -1;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.bmt-hb--panel-sauge .bmt-hb__row {
	border-bottom-color: rgba(79, 117, 57, 0.18);
}

.bmt-hb--panel-sauge .bmt-hb__head {
	border-bottom-color: rgba(79, 117, 57, 0.22);
}

.bmt-hb--panel-sauge .bmt-hb__title {
	color: #4F7539;
}

.bmt-hb--panel-sauge .bmt-hb__subtitle {
	color: #0F3320;
}

.bmt-hb--panel-nappe .bmt-hb__title,
.bmt-hb--panel-tiroir .bmt-hb__title,
.bmt-hb--panel-voile .bmt-hb__title {
	color: #F7F7F7;
}

.bmt-hb--panel-nappe .bmt-hb__subtitle,
.bmt-hb--panel-tiroir .bmt-hb__subtitle,
.bmt-hb--panel-voile .bmt-hb__subtitle {
	color: rgba(242, 239, 230, 0.75);
}

.bmt-hb--panel-nappe .bmt-hb__head,
.bmt-hb--panel-tiroir .bmt-hb__head,
.bmt-hb--panel-voile .bmt-hb__head {
	border-bottom-color: rgba(242, 239, 230, 0.18);
}

.bmt-hb--panel-sauge .bmt-hb__detail,
.bmt-hb--panel-sauge .bmt-hb__address,
.bmt-hb--panel-sauge .bmt-hb__extra-note,
.bmt-hb--panel-sauge .bmt-hb__dogs-text {
	color: #4F7539;
}

.bmt-hb--panel-sauge .bmt-hb__foot {
	color: #0F3320;
}

.bmt-hb--panel-sauge .bmt-hb__creperie--open {
	background: #E9E6DA;
	color: #4F7539;
}

.bmt-hb--panel-sauge .bmt-hb__creperie--closed {
	background: #6E2233;
	color: #F7F7F7;
}

.bmt-hb--panel-sauge .bmt-hb__dogs-icon {
	color: #4F7539;
}

.bmt-hb--panel-sauge .bmt-hb__access {
	border-top: 0;
}

@media (max-width: 640px) {
	.bmt-hb--panel-sauge .bmt-hb__inner {
		grid-template-columns: 1fr;
	}

	.bmt-hb--panel-sauge .bmt-hb__access {
		grid-column: 1;
		grid-row: 2;
		border-top: 1px solid rgba(79, 117, 57, 0.18);
		padding-top: 18px;
		margin-top: 6px;
	}

	.bmt-hb--panel-sauge .bmt-hb__foot,
	.bmt-hb--panel-sauge .bmt-hb__bottom,
	.bmt-hb--panel-sauge .bmt-hb__link {
		grid-row: auto;
	}
}

.bmt-hb__dogs {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 24px 18px;
}

.bmt-hb__dogs-icon {
	flex: none;
	margin-top: 1px;
	color: #4F7539;
}

.bmt-hb__dogs-text {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	font-weight: 300;
	color: #5F6459;
}

/* Les trois colonnes : période, encart crêperie, accès. L'encart reste
   toujours en face de sa période, même quand le panneau est étroit. */
.bmt-hb--cols-deux .bmt-hb__thead,
.bmt-hb--cols-trois .bmt-hb__thead,
.bmt-hb--panel-sauge .bmt-hb__thead {
	grid-template-columns: minmax(0, 1fr) auto;
}

.bmt-hb--cols-deux .bmt-hb__creperie,
.bmt-hb--cols-trois .bmt-hb__creperie,
.bmt-hb--panel-sauge .bmt-hb__creperie {
	min-width: 148px;
}

@media (max-width: 600px) {
	.bmt-hb__panel {
		width: calc(100vw - 32px);
	}

	.bmt-hb__row {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 10px;
	}

	.bmt-hb__thead {
		display: none;
	}

	.bmt-hb__creperie {
		justify-self: stretch;
		min-width: 0;
	}

	.bmt-hb__period {
		font-size: 18px;
	}
}


/* =========================================================
   Compatibilité en-tête Elementor
   Le bouton suit les deux états de l'en-tête, comme les liens
   et les boutons Elementor : blanc en haut de page, noir au scroll.
   ========================================================= */

.elementor-location-header .bmt-hb--follow .bmt-hb__toggle,
.elementor-location-header .bmt-hb--follow .bmt-hb__toggle:hover,
.elementor-location-header .bmt-hb--follow .bmt-hb__toggle:focus {
	color: #ffffff;
	border-color: #ffffff;
	background-color: transparent;
}

.elementor-location-header .header-scrolled .bmt-hb--follow .bmt-hb__toggle,
.elementor-location-header .header-scrolled .bmt-hb--follow .bmt-hb__toggle:hover,
.elementor-location-header .header-scrolled .bmt-hb--follow .bmt-hb__toggle:focus {
	color: #000000;
	border-color: #000000;
	background-color: transparent;
}

/* Panneau ouvert : le bouton se détache de l'en-tête dans les deux états. */
.elementor-location-header .bmt-hb--follow.is-open .bmt-hb__toggle,
.elementor-location-header .header-scrolled .bmt-hb--follow.is-open .bmt-hb__toggle {
	background-color: #323533;
	border-color: #323533;
	color: #F7F7F7;
}

.elementor-location-header .bmt-hb__toggle {
	transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease;
}

/* Le panneau reste au-dessus de l'en-tête fixé. */
.elementor-location-header .bmt-hb__panel {
	z-index: 1000;
}

/* Pastille pulsante, au même rythme que la classe btn-dot de l'en-tête. */
.bmt-hb--pulse .bmt-hb__clock {
	border: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
	animation: luxury-pulse 2.8s ease-in-out infinite;
}

.bmt-hb--pulse .bmt-hb__clock::before,
.bmt-hb--pulse .bmt-hb__clock::after {
	display: none;
}

@keyframes luxury-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: 0.45; transform: scale(0.88); }
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb--pulse .bmt-hb__clock { animation: none; }
}


/* =========================================================
   Bouton horaires : quatre aspects
   ========================================================= */

/* Mention soulignée — la plus discrète */
.bmt-hb--shape-mention .bmt-hb__toggle {
	padding: 6px 0 5px;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: none;
}

/* Texte seul avec chevron */
.bmt-hb--shape-sobre .bmt-hb__toggle {
	padding: 6px 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.bmt-hb--shape-sobre .bmt-hb__clock,
.bmt-hb--shape-mention .bmt-hb__clock {
	display: none;
}

/* Encadré à angles droits */
.bmt-hb--shape-encadre .bmt-hb__toggle {
	border-radius: 0;
}

/* Le panneau garde les angles droits avec les aspects sobres */
.bmt-hb--shape-mention .bmt-hb__panel,
.bmt-hb--shape-sobre .bmt-hb__panel,
.bmt-hb--shape-encadre .bmt-hb__panel {
	border-radius: 0;
}

/* Panneau ouvert : la mention ne prend pas de fond, seul le trait s'épaissit */
.bmt-hb--shape-mention.is-open .bmt-hb__toggle,
.bmt-hb--shape-sobre.is-open .bmt-hb__toggle {
	background: none;
	border-bottom-width: 2px;
}


/* =========================================================
   Bouton horaires : trois directions plus tranchées
   ========================================================= */

/* --- Onglet : une languette accrochée sous l'en-tête --- */
.bmt-hb--shape-onglet .bmt-hb__toggle {
	padding: 11px 22px 12px;
	border: 0;
	border-radius: 0 0 3px 3px;
	background: rgba(10, 28, 16, 0.55);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid rgba(201, 161, 90, 0.7);
}

.bmt-hb--shape-onglet .bmt-hb__clock {
	display: none;
}

.bmt-hb--shape-onglet.is-open .bmt-hb__toggle {
	background: #323533;
	border-bottom-color: #323533;
}

.bmt-hb--shape-onglet .bmt-hb__panel {
	top: 100%;
	border-radius: 0 0 4px 4px;
}

/* --- Puce de statut : le point et l'heure, rien de plus --- */
.bmt-hb--shape-puce .bmt-hb__toggle {
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	background: none;
	letter-spacing: 0.06em;
	text-transform: none;
	font-size: 14px;
}

.bmt-hb--shape-puce .bmt-hb__clock {
	width: 8px;
	height: 8px;
	border: 0;
	border-radius: 50%;
	background: #7FB069;
}

.bmt-hb--shape-puce .bmt-hb__clock::before,
.bmt-hb--shape-puce .bmt-hb__clock::after {
	display: none;
}

.bmt-hb--shape-puce .bmt-hb__chevron {
	width: 5px;
	height: 5px;
	opacity: 0.6;
}

/* --- Chiffre : l'heure en Bodoni, la mention en petit --- */
.bmt-hb--shape-chiffre .bmt-hb__toggle {
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	padding: 2px 0;
	border: 0;
	border-radius: 0;
	background: none;
	text-transform: none;
	letter-spacing: 0;
}

.bmt-hb--shape-chiffre .bmt-hb__label {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 26px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}

.bmt-hb--shape-chiffre .bmt-hb__clock {
	display: none;
}

.bmt-hb--shape-chiffre .bmt-hb__chevron {
	position: absolute;
	right: -20px;
	top: 12px;
}

.bmt-hb--shape-chiffre .bmt-hb__toggle {
	position: relative;
	padding-right: 26px;
}

.bmt-hb--shape-chiffre.is-open .bmt-hb__toggle,
.bmt-hb--shape-puce.is-open .bmt-hb__toggle {
	background: none;
}


/* =========================================================
   Horloge : aiguilles orientables et animées
   ========================================================= */

.bmt-hb__clock::before,
.bmt-hb__clock::after {
	transform-origin: bottom center;
	border-radius: 1px;
}

/* Aiguille des heures */
.bmt-hb__clock::before {
	width: 1px;
	height: 4px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -100%) rotate(0deg);
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Aiguille des minutes, un peu plus longue */
.bmt-hb__clock::after {
	width: 1px;
	height: 5.5px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -100%) rotate(90deg);
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* À l'heure réelle du site */
.bmt-hb--clock-reelle .bmt-hb__clock::before {
	transform: translate(-50%, -100%) rotate(var(--bmt-hb-h, 0deg));
}

.bmt-hb--clock-reelle .bmt-hb__clock::after {
	transform: translate(-50%, -100%) rotate(var(--bmt-hb-m, 0deg));
}

/* Tournent doucement, en continu */
@keyframes bmt-hb-hand {
	from { transform: translate(-50%, -100%) rotate(0deg); }
	to   { transform: translate(-50%, -100%) rotate(360deg); }
}

.bmt-hb--clock-tourne .bmt-hb__clock::before {
	animation: bmt-hb-hand 24s linear infinite;
}

.bmt-hb--clock-tourne .bmt-hb__clock::after {
	animation: bmt-hb-hand 4s linear infinite;
}

/* Un tour au survol */
.bmt-hb--clock-survol .bmt-hb__toggle:hover .bmt-hb__clock::before {
	transform: translate(-50%, -100%) rotate(calc(var(--bmt-hb-h, 0deg) + 360deg));
}

.bmt-hb--clock-survol .bmt-hb__toggle:hover .bmt-hb__clock::after {
	transform: translate(-50%, -100%) rotate(calc(var(--bmt-hb-m, 0deg) + 720deg));
}

.bmt-hb--clock-survol .bmt-hb__clock::before,
.bmt-hb--clock-survol .bmt-hb__clock::after {
	transition: transform 1.4s cubic-bezier(0.3, 0.6, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb__clock::before,
	.bmt-hb__clock::after {
		animation: none;
		transition: none;
	}
}

/* =========================================================
   Panneau : cinq présentations
   ========================================================= */

/* --- Nappe : pleine largeur sous l'en-tête, fond sombre --- */
.bmt-hb--panel-nappe {
	position: static;
}

.bmt-hb--panel-nappe .bmt-hb__panel {
	position: fixed;
	left: 0;
	right: 0;
	top: auto;
	width: 100%;
	max-width: none;
	padding: 34px 0 8px;
	background: #0A2016;
	border-radius: 0;
	box-shadow: 0 30px 70px -30px rgba(10, 20, 12, 0.7);
	border-top: 1px solid rgba(201, 161, 90, 0.4);
}

.bmt-hb--panel-nappe .bmt-hb__rows {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 48px;
	gap: 0 40px;
}

.bmt-hb--panel-nappe .bmt-hb__row {
	border-bottom: 0;
	padding: 12px 0 18px;
}

.bmt-hb--panel-nappe .bmt-hb__period {
	color: #F7F7F7;
}

.bmt-hb--panel-nappe .bmt-hb__dogs-icon {
	color: #F7F7F7;
}

.bmt-hb--panel-nappe .bmt-hb__dogs-text {
	color: rgba(242, 239, 230, 0.72);
}

.bmt-hb--panel-nappe .bmt-hb__detail {
	color: rgba(242, 239, 230, 0.7);
}

.bmt-hb--panel-nappe .bmt-hb__prices,
.bmt-hb--panel-nappe .bmt-hb__foot,
.bmt-hb--panel-nappe .bmt-hb__link,
.bmt-hb--panel-nappe .bmt-hb__dogs,
.bmt-hb--panel-nappe .bmt-hb__extra-notes {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 48px;
	padding-right: 48px;
	border-top-color: rgba(242, 239, 230, 0.14);
}

.bmt-hb--panel-nappe .bmt-hb__link {
	margin-bottom: 26px;
}

/* --- Tiroir : colonne qui glisse depuis le bord --- */
.bmt-hb--panel-tiroir .bmt-hb__panel {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	right: auto;
	width: min(420px, 88vw);
	max-width: none;
	padding: 96px 0 24px;
	background: #0A2016;
	border-radius: 0;
	overflow-y: auto;
	animation: bmt-hb-slide 0.42s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-hb--right.bmt-hb--panel-tiroir .bmt-hb__panel {
	left: auto;
	right: 0;
	animation-name: bmt-hb-slide-right;
}

@keyframes bmt-hb-slide {
	from { transform: translateX(-100%); }
	to   { transform: none; }
}

@keyframes bmt-hb-slide-right {
	from { transform: translateX(100%); }
	to   { transform: none; }
}

.bmt-hb--panel-tiroir .bmt-hb__period {
	color: #F7F7F7;
	font-size: 24px;
}

.bmt-hb--panel-tiroir .bmt-hb__dogs-icon {
	color: #F7F7F7;
}

.bmt-hb--panel-tiroir .bmt-hb__dogs-text {
	color: rgba(242, 239, 230, 0.72);
}

.bmt-hb--panel-tiroir .bmt-hb__detail {
	color: rgba(242, 239, 230, 0.7);
}

.bmt-hb--panel-tiroir .bmt-hb__row {
	border-bottom-color: rgba(242, 239, 230, 0.12);
	padding: 20px 32px;
}

.bmt-hb--panel-tiroir .bmt-hb__prices,
.bmt-hb--panel-tiroir .bmt-hb__foot,
.bmt-hb--panel-tiroir .bmt-hb__dogs,
.bmt-hb--panel-tiroir .bmt-hb__extra-notes {
	border-top-color: rgba(242, 239, 230, 0.12);
	padding-left: 32px;
	padding-right: 32px;
}

.bmt-hb--panel-tiroir .bmt-hb__link {
	margin-left: 32px;
}

/* --- Voile : translucide flouté sur la vidéo --- */
.bmt-hb--panel-voile .bmt-hb__panel {
	background: rgba(10, 32, 22, 0.72);
	backdrop-filter: blur(18px) saturate(1.1);
	border: 1px solid rgba(242, 239, 230, 0.16);
	border-radius: 4px;
	box-shadow: none;
}

.bmt-hb--panel-voile .bmt-hb__period {
	color: #F7F7F7;
}

.bmt-hb--panel-voile .bmt-hb__dogs-icon {
	color: #F7F7F7;
}

.bmt-hb--panel-voile .bmt-hb__dogs-text {
	color: rgba(242, 239, 230, 0.72);
}

.bmt-hb--panel-voile .bmt-hb__detail {
	color: rgba(242, 239, 230, 0.72);
}

.bmt-hb--panel-voile .bmt-hb__row {
	border-bottom-color: rgba(242, 239, 230, 0.12);
}

.bmt-hb--panel-voile .bmt-hb__prices,
.bmt-hb--panel-voile .bmt-hb__foot {
	border-top-color: rgba(242, 239, 230, 0.12);
}

/* --- Feuille : fond crème, filet fin, sans ombre --- */
.bmt-hb--panel-feuille .bmt-hb__panel {
	background: #F7F7F7;
	border: 1px solid rgba(22, 24, 26, 0.16);
	box-shadow: none;
}

@media (max-width: 900px) {
	.bmt-hb--panel-nappe .bmt-hb__rows,
	.bmt-hb--panel-nappe .bmt-hb__prices,
	.bmt-hb--panel-nappe .bmt-hb__foot,
	.bmt-hb--panel-nappe .bmt-hb__link {
		padding-left: 22px;
		padding-right: 22px;
	}
}


/* =========================================================
   Bouton billetterie — jumeau du bouton horaires (.bmt-hb--tickets)
   Il hérite des aspects, des panneaux et du comportement d'en-tête ;
   seules les différences propres à la billetterie sont ici.
   ========================================================= */

/* Le bouton peut être un lien : on neutralise le style de lien du thème. */
.bmt-hb--tickets .bmt-hb__toggle {
	text-decoration: none;
}

.bmt-hb--tickets .bmt-hb__toggle:hover {
	text-decoration: none;
}

/* Le petit billet */
.bmt-hb__ticket {
	display: inline-flex;
	flex: none;
	align-items: center;
	color: currentColor;
}

.bmt-hb__ticket svg {
	display: block;
}

.bmt-hb--shape-mention .bmt-hb__ticket,
.bmt-hb--shape-sobre .bmt-hb__ticket {
	display: none;
}

/* Flèche discrète « ouvre la billetterie » */
.bmt-hb__extlink {
	position: relative;
	flex: none;
	width: 8px;
	height: 8px;
	margin-left: 3px;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: translateY(-1px);
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-hb__extlink::after {
	content: '';
	position: absolute;
	top: 50%;
	left: -1px;
	width: 11px;
	height: 1px;
	background: currentColor;
	transform: translateY(-50%) rotate(-45deg);
	transform-origin: 100% 50%;
}

.bmt-hb__toggle:hover .bmt-hb__extlink,
.bmt-hb__cta:hover .bmt-hb__extlink {
	transform: translate(2px, -3px);
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb__extlink { transition: none; }
}

/* Remplissage fixe : indépendant du scroll, même direction pour billetterie et horaires. */
.bmt-hb--gold .bmt-hb__toggle {
	background-color: #AAC29E;
	border-color: #AAC29E;
	color: #4F7539;
}

.bmt-hb--gold .bmt-hb__toggle:hover,
.bmt-hb--gold .bmt-hb__toggle:focus-visible {
	background-color: #4F7539;
	border-color: #4F7539;
	color: #F7F7F7;
}

.elementor-location-header .bmt-hb--gold .bmt-hb__toggle {
	transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

/* Les aspects sans fond restent sans fond, même en fond fixe : seul le texte prend la couleur. */
.bmt-hb--gold.bmt-hb--shape-mention .bmt-hb__toggle,
.bmt-hb--gold.bmt-hb--shape-sobre .bmt-hb__toggle {
	background-color: transparent;
	color: #4F7539;
	border-color: #4F7539;
}

/* Lignes de formules : nom à gauche, montant à droite. */
.bmt-hb--tickets .bmt-hb__row {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 24px;
}

.bmt-hb--tickets .bmt-hb__detail {
	white-space: normal;
	font-weight: 300;
	color: #5F6459;
}

.bmt-hb--tickets .bmt-hb__period {
	font-size: 17px;
}

.bmt-hb--tickets .bmt-hb__line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
}

.bmt-hb--tickets .bmt-hb__amount {
	flex: none;
	color: #A8823C;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 17px;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.bmt-hb--tickets .bmt-hb__detail {
	display: block;
	margin-top: 3px;
}

/* Une ligne cliquable se comporte comme un lien sans en avoir l'air. */
.bmt-hb--tickets .bmt-hb__row--link {
	display: block;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.bmt-hb--tickets .bmt-hb__row--link:hover {
	background-color: rgba(168, 130, 60, 0.07);
}

.bmt-hb--tickets .bmt-hb__row--link:focus-visible {
	outline: 2px solid #A8823C;
	outline-offset: -2px;
}

/* Bouton d'appel en bas du panneau */
.bmt-hb__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: 16px 24px 6px;
	padding: 13px 20px;
	border: 1px solid #AAC29E;
	border-radius: 999px;
	background: #AAC29E;
	color: #4F7539;
	font-size: 12px;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.25s ease, border-color 0.25s ease;
}

.bmt-hb__cta:hover,
.bmt-hb__cta:focus-visible {
	background-color: #4F7539;
	border-color: #4F7539;
	color: #F7F7F7;
}

.bmt-hb--tickets .bmt-hb__foot {
	padding-bottom: 16px;
}

/* Le panneau sombre : le pied et les montants restent lisibles. */
.bmt-hb--panel-nappe.bmt-hb--tickets .bmt-hb__cta,
.bmt-hb--panel-tiroir.bmt-hb--tickets .bmt-hb__cta,
.bmt-hb--panel-voile.bmt-hb--tickets .bmt-hb__cta {
	margin-left: 0;
	margin-right: 0;
	align-self: flex-start;
	padding-left: 28px;
	padding-right: 28px;
}

.bmt-hb--panel-nappe.bmt-hb--tickets .bmt-hb__row--link:hover,
.bmt-hb--panel-tiroir.bmt-hb--tickets .bmt-hb__row--link:hover,
.bmt-hb--panel-voile.bmt-hb--tickets .bmt-hb__row--link:hover {
	background-color: rgba(255, 255, 255, 0.07);
}

/* Mode lien direct : pas de panneau, donc pas de chevron ni de largeur. */
.bmt-hb--mode-direct .bmt-hb__chevron {
	display: none;
}


/* =========================================================
   Bloc accès du panneau horaires
   ========================================================= */

.bmt-hb__access {
	padding: 16px 24px 4px;
	border-top: 1px solid rgba(22, 24, 26, 0.1);
}

.bmt-hb__access-title {
	margin: 0 0 18px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #4F7539;
}

.bmt-hb__ways {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bmt-hb__way {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.bmt-hb__mode {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-hb__way .bmt-hb__detail {
	font-size: 14.5px;
	line-height: 1.6;
	font-weight: 300;
	color: #5F6459;
	white-space: normal;
}

.bmt-hb__address {
	margin: 16px 0 0;
	font-size: 14.5px;
	line-height: 1.6;
	font-weight: 300;
	color: #5F6459;
}

.bmt-hb__maps {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 12px;
	font-size: 12.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #A8823C;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 3px;
	transition: opacity 0.25s ease;
}

.bmt-hb__maps:hover,
.bmt-hb__maps:focus-visible {
	opacity: 0.7;
}

/* La goutte de la carte, en CSS pur */
.bmt-hb__pin {
	position: relative;
	flex: none;
	width: 9px;
	height: 9px;
	border: 1px solid currentColor;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg) translateY(-1px);
}

/* Panneaux sombres : on éclaircit ce qui doit rester lisible. */
.bmt-hb--panel-nappe .bmt-hb__access,
.bmt-hb--panel-tiroir .bmt-hb__access,
.bmt-hb--panel-voile .bmt-hb__access {
	padding-left: 0;
	padding-right: 0;
	border-top-color: rgba(242, 239, 230, 0.16);
}

.bmt-hb--panel-nappe .bmt-hb__way .bmt-hb__detail,
.bmt-hb--panel-tiroir .bmt-hb__way .bmt-hb__detail,
.bmt-hb--panel-voile .bmt-hb__way .bmt-hb__detail,
.bmt-hb--panel-nappe .bmt-hb__address,
.bmt-hb--panel-tiroir .bmt-hb__address,
.bmt-hb--panel-voile .bmt-hb__address {
	color: rgba(242, 239, 230, 0.72);
}

/* En nappe, les moyens d'accès tiennent sur une ligne de colonnes. */
@media (min-width: 861px) {
	.bmt-hb--panel-nappe .bmt-hb__ways {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 12px 40px;
	}

	.bmt-hb--panel-nappe .bmt-hb__way {
		flex: 1 1 200px;
		max-width: 280px;
	}
}


/* =========================================================
   Panneau horaires : mise en page fluide
   Les colonnes réagissent à la largeur du PANNEAU, pas à celle
   de la fenêtre : c'est le panneau qui manque de place, pas l'écran.
   ========================================================= */

/* Le JS referme le panneau avec l'attribut hidden. Toute règle display posée
   ici l'emporterait sur le [hidden] du navigateur et bloquerait la fermeture :
   on le réaffirme donc explicitement. */
.bmt-hb__panel[hidden] {
	display: none !important;
}

/* Le panneau ne dépasse jamais la fenêtre : il défile s'il le faut. */
.bmt-hb--panel-carte .bmt-hb__panel,
.bmt-hb--panel-feuille .bmt-hb__panel,
.bmt-hb--panel-voile .bmt-hb__panel {
	max-height: calc(100vh - 130px);
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* Périodes plus compactes : l'horaire se lit sous la date, aligné à gauche. */
.bmt-hb__row {
	align-items: flex-start;
	text-align: left;
}

.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__period,
.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__period {
	font-size: 18px;
}

.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__row,
.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__row {
	padding-top: 13px;
	padding-bottom: 13px;
}

/* Le panneau est le conteneur de référence ; c'est son contenu qu'on met en
   colonnes, car une requête de conteneur ne s'applique jamais au conteneur. */
.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__panel,
.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__panel {
	container-type: inline-size;
	container-name: bmtpanel;
}

/* Deux colonnes seulement quand le panneau est assez large pour les tenir. */
@container bmtpanel (min-width: 600px) {
	.bmt-hb__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.bmt-hb__inner .bmt-hb__rows {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.bmt-hb__inner .bmt-hb__bottom {
		grid-column: 1 / -1;
		grid-row: 2;
		padding-top: 14px;
		padding-bottom: 20px;
	}

	.bmt-hb__inner .bmt-hb__link {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.bmt-hb__inner .bmt-hb__access {
		grid-column: 2;
		grid-row: 1 / span 3;
		min-width: 0;
		height: 100%;
		padding-top: 24px;
		padding-bottom: 22px;
		padding-left: 32px;
		border-top: 0;
		border-left: 1px solid rgba(22, 24, 26, 0.1);
	}

	.bmt-hb__inner .bmt-hb__rows .bmt-hb__row:last-child {
		border-bottom: 0;
	}
}

/* Trois colonnes : horaires, orangerie, accès, côte à côte. */
@container bmtpanel (min-width: 800px) {
	.bmt-hb--cols-trois .bmt-hb__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.bmt-hb--cols-trois .bmt-hb__inner .bmt-hb__rows {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.bmt-hb--cols-trois .bmt-hb__inner .bmt-hb__bottom {
		grid-column: 1 / -1;
		grid-row: 2;
		padding-top: 14px;
		padding-bottom: 20px;
	}

	.bmt-hb--cols-trois .bmt-hb__inner .bmt-hb__link {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	.bmt-hb--cols-trois .bmt-hb__inner .bmt-hb__orangerie {
		grid-column: 2;
		grid-row: 1 / span 3;
		min-width: 0;
		height: 100%;
		padding: 24px 0 22px 24px;
		border-left: 1px solid rgba(22, 24, 26, 0.1);
	}

	.bmt-hb--cols-trois .bmt-hb__inner .bmt-hb__access {
		grid-column: 3;
		grid-row: 1 / span 3;
		min-width: 0;
		height: 100%;
		padding-top: 24px;
		padding-bottom: 22px;
		border-top: 0;
		border-left: 1px solid rgba(22, 24, 26, 0.1);
	}
}

.bmt-hb__orangerie {
	padding: 16px 24px 4px;
	border-top: 1px solid rgba(22, 24, 26, 0.1);
}

.bmt-hb__orangerie .bmt-hb__row {
	padding: 10px 0;
	grid-template-columns: minmax(0, 1fr) auto;
}

.bmt-hb__orangerie .bmt-hb__detail {
	white-space: nowrap;
}

.bmt-hb__orangerie-note {
	margin: 10px 0 0;
	font-weight: 300;
	color: #5F6459;
}

.bmt-hb--panel-nappe .bmt-hb__orangerie,
.bmt-hb--panel-tiroir .bmt-hb__orangerie,
.bmt-hb--panel-voile .bmt-hb__orangerie {
	border-top-color: rgba(242, 239, 230, 0.16);
}

.bmt-hb--cols-trois .bmt-hb__orangerie {
	border-top: 0;
}

/* Panneau translucide : le filet vertical s'éclaircit. */
.bmt-hb--panel-voile .bmt-hb__access {
	border-left-color: rgba(242, 239, 230, 0.16);
}

/* Repli en une colonne : l'accès reprend son filet horizontal. */
@container bmtpanel (max-width: 599.98px) {
	.bmt-hb__access {
		border-left: 0;
	}
}

/* Navigateurs sans requêtes de conteneur : une seule colonne, toujours lisible. */
@supports not (container-type: inline-size) {
	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__access {
		border-left: 0;
	}
}


/* =========================================================
   Accès : avertissement autocars, liens de navigation, petite carte
   ========================================================= */

.bmt-hb__warn {
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	margin: 12px 0 0;
	padding: 9px 11px 10px;
	border-radius: 3px;
	background: rgba(110, 34, 51, 0.08);
}

.bmt-hb__warn-mark {
	width: 0;
	height: 0;
	margin-top: 3px;
	border-left: 6.5px solid transparent;
	border-right: 6.5px solid transparent;
	border-bottom: 11px solid #6E2233;
}

.bmt-hb__warn-title {
	display: block;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 600;
	font-size: 12px;
	line-height: 1.35;
	color: #6E2233;
}

.bmt-hb__warn .bmt-hb__detail {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.45;
}

.bmt-hb--panel-nappe .bmt-hb__warn,
.bmt-hb--panel-tiroir .bmt-hb__warn,
.bmt-hb--panel-voile .bmt-hb__warn,
.bmt-hb--panel-sauge .bmt-hb__warn {
	background: rgba(247, 247, 247, 0.12);
}

.bmt-hb--panel-nappe .bmt-hb__warn-title,
.bmt-hb--panel-tiroir .bmt-hb__warn-title,
.bmt-hb--panel-voile .bmt-hb__warn-title,
.bmt-hb--panel-sauge .bmt-hb__warn-title {
	color: #E8A7B4;
}

.bmt-hb--panel-nappe .bmt-hb__warn-mark,
.bmt-hb--panel-tiroir .bmt-hb__warn-mark,
.bmt-hb--panel-voile .bmt-hb__warn-mark,
.bmt-hb--panel-sauge .bmt-hb__warn-mark {
	border-bottom-color: #E8A7B4;
}

/* Google Maps et Waze, côte à côte */
.bmt-hb__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 9px;
}

.bmt-hb__links .bmt-hb__maps {
	margin-top: 0;
}

.bmt-hb__waze {
	flex: none;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 9px solid currentColor;
	transform: rotate(38deg) translateY(-1px);
}

/* La carte Leaflet, sous les liens */
.bmt-hb__map {
	margin: 12px 0 4px;
	border: 1px solid rgba(22, 24, 26, 0.14);
	border-radius: 4px;
	overflow: hidden;
}

.bmt-hb__map .bmt-carte {
	width: 100%;
}

.bmt-hb--panel-nappe .bmt-hb__map,
.bmt-hb--panel-tiroir .bmt-hb__map,
.bmt-hb--panel-voile .bmt-hb__map,
.bmt-hb--panel-sauge .bmt-hb__map {
	border-color: rgba(247, 247, 247, 0.22);
}


/* =========================================================
   Billetterie : titre, tarifs sur deux colonnes, bon à savoir
   ========================================================= */

.bmt-hb__panel-title {
	margin: 0;
	padding: 14px 24px 10px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #4F7539;
}

.bmt-hb--panel-nappe .bmt-hb__panel-title,
.bmt-hb--panel-tiroir .bmt-hb__panel-title,
.bmt-hb--panel-voile .bmt-hb__panel-title,
.bmt-hb--panel-sauge .bmt-hb__panel-title {
	color: #F7F7F7;
}

/* Le petit billet a été retiré : le bouton ne porte que le mot. */
.bmt-hb__ticket {
	display: none;
}

.bmt-hb--tickets .bmt-hb__panel {
	container-type: inline-size;
	container-name: bmttickets;
	max-height: min(74vh, calc(100vh - 120px));
	overflow-y: auto;
	overscroll-behavior: contain;
}

.bmt-hb--tickets .bmt-hb__row {
	padding: 9px 24px;
}

.bmt-hb--tickets .bmt-hb__period {
	font-size: 16px;
}

.bmt-hb--tickets .bmt-hb__amount {
	font-size: 16px;
}

.bmt-hb--tickets .bmt-hb__detail {
	font-size: 12px;
	line-height: 1.45;
}

@container bmttickets (min-width: 420px) {
	.bmt-hb--tickets .bmt-hb__rows {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:nth-last-child(2) {
		border-bottom: 0;
	}

	.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:nth-child(2n) {
		border-left: 1px solid rgba(22, 24, 26, 0.08);
	}

	.bmt-hb__mentions {
		grid-template-columns: 1fr 1fr;
		column-gap: 22px;
	}
}

.bmt-hb__mentions {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 13px 24px 4px;
	list-style: none;
	border-top: 1px solid rgba(22, 24, 26, 0.1);
}

.bmt-hb__mention {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
}

.bmt-hb__mention-icon {
	display: flex;
	padding-top: 1px;
	color: #A8823C;
}

.bmt-hb__mention-icon svg {
	display: block;
}

.bmt-hb__mention-title {
	display: block;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.35;
	color: #4F7539;
}

.bmt-hb__mention .bmt-hb__detail {
	display: block;
	margin-top: 3px;
	font-size: 12px;
	line-height: 1.45;
	color: #323533;
}

.bmt-hb--panel-nappe .bmt-hb__mentions,
.bmt-hb--panel-tiroir .bmt-hb__mentions,
.bmt-hb--panel-voile .bmt-hb__mentions,
.bmt-hb--panel-sauge .bmt-hb__mentions {
	border-top-color: rgba(247, 247, 247, 0.16);
}

.bmt-hb--panel-nappe .bmt-hb__mention-title,
.bmt-hb--panel-tiroir .bmt-hb__mention-title,
.bmt-hb--panel-voile .bmt-hb__mention-title,
.bmt-hb--panel-sauge .bmt-hb__mention-title {
	color: #F7F7F7;
}

.bmt-hb--panel-nappe .bmt-hb__mention .bmt-hb__detail,
.bmt-hb--panel-tiroir .bmt-hb__mention .bmt-hb__detail,
.bmt-hb--panel-voile .bmt-hb__mention .bmt-hb__detail,
.bmt-hb--panel-sauge .bmt-hb__mention .bmt-hb__detail {
	color: rgba(247, 247, 247, 0.74);
}


/* =========================================================
   Téléphone : les panneaux se posent en bas de l'écran
   ========================================================= */

@media (max-width: 600px) {
	.bmt-hb__toggle {
		padding: 10px 16px;
		font-size: 14.5px;
	}

	.bmt-hb--panel-carte .bmt-hb__panel,
	.bmt-hb--panel-feuille .bmt-hb__panel,
	.bmt-hb--panel-voile .bmt-hb__panel,
	.bmt-hb--panel-sauge .bmt-hb__panel {
		position: fixed;
		top: auto;
		left: 10px;
		right: 10px;
		bottom: 10px;
		width: auto;
		max-width: none;
		max-height: 78vh;
		overflow-y: auto;
		border-radius: 8px;
	}

	.bmt-hb__panel-title,
	.bmt-hb__mentions {
		padding-left: 18px;
		padding-right: 18px;
	}

	.bmt-hb--tickets .bmt-hb__row {
		padding-left: 18px;
		padding-right: 18px;
	}
}


/* =========================================================
   Compactage du panneau d'en-tête
   Le panneau déroulant n'est pas la page « Préparer sa visite » :
   on y resserre les tailles pour qu'il tienne dans l'écran.
   ========================================================= */

.bmt-hb__panel {
	max-height: min(76vh, calc(100vh - 110px));
	overflow-y: auto;
	overscroll-behavior: contain;
}

/* Aucune colonne ne pousse le panneau au-delà de sa largeur. */
.bmt-hb__inner,
.bmt-hb__inner > * {
	min-width: 0;
}

.bmt-hb__panel .bmt-hb__head {
	padding: 16px 20px 12px;
}

.bmt-hb__panel .bmt-hb__title {
	font-size: 18px;
	line-height: 1.25;
}

.bmt-hb__panel .bmt-hb__subtitle {
	margin-top: 3px;
	font-size: 12px;
}

.bmt-hb__panel .bmt-hb__thead {
	padding: 10px 20px 5px;
}

.bmt-hb__panel .bmt-hb__th {
	font-size: 9.5px;
}

.bmt-hb__panel .bmt-hb__row {
	padding: 9px 20px;
	gap: 10px;
}

.bmt-hb__panel .bmt-hb__period {
	font-size: 16px;
	line-height: 1.3;
}

.bmt-hb__panel .bmt-hb__days {
	font-size: 11.5px;
}

.bmt-hb__panel .bmt-hb__detail {
	font-size: 13px;
	line-height: 1.5;
}

/* La crêperie tient sur une ligne, comme une étiquette. */
.bmt-hb__panel .bmt-hb__creperie {
	flex-direction: row;
	align-items: baseline;
	gap: 7px;
	min-width: 0;
	padding: 4px 9px;
	border-radius: 3px;
	text-align: left;
}

.bmt-hb__panel .bmt-hb__creperie-label {
	font-size: 9px;
	letter-spacing: 0.1em;
}

.bmt-hb__panel .bmt-hb__creperie-hours {
	font-size: 12px;
	white-space: nowrap;
}

/* Bloc accès */
.bmt-hb__panel .bmt-hb__access {
	padding: 12px 20px 8px;
}

.bmt-hb__panel .bmt-hb__access-title {
	margin-bottom: 10px;
	font-size: 11.5px;
}

.bmt-hb__panel .bmt-hb__ways {
	gap: 7px;
}

.bmt-hb__panel .bmt-hb__way .bmt-hb__detail {
	font-size: 12.5px;
	line-height: 1.45;
}

.bmt-hb__panel .bmt-hb__address {
	margin-top: 10px;
	font-size: 12.5px;
}

.bmt-hb__panel .bmt-hb__maps {
	font-size: 11px;
}

/* L'avertissement autocars ne débordait plus que par sa graisse. */
.bmt-hb__warn {
	min-width: 0;
	overflow-wrap: anywhere;
}

.bmt-hb__panel .bmt-hb__warn .bmt-hb__detail {
	font-weight: 400;
	font-size: 12px;
	line-height: 1.45;
}

/* Pied de panneau */
.bmt-hb__panel .bmt-hb__bottom {
	margin: 4px 20px 16px;
	padding-top: 12px;
}

.bmt-hb__panel .bmt-hb__bottom .bmt-hb__foot,
.bmt-hb__panel .bmt-hb__bottom .bmt-hb__extra-note,
.bmt-hb__panel .bmt-hb__bottom .bmt-hb__dogs-text {
	font-size: 12px;
	line-height: 1.5;
}

.bmt-hb__panel .bmt-hb__dogs-icon {
	width: 24px;
	height: 24px;
}


/* =========================================================
   Le panneau garde les proportions de la maquette
   Quelle que soit la largeur réglée dans Elementor, le panneau
   d'en-tête ne dépasse pas la largeur où il reste lisible.
   ========================================================= */

.bmt-hb__panel {
	width: min(var(--bmt-hb-w, 660px), 680px);
	max-width: calc(100vw - 24px);
}

.bmt-hb--tickets .bmt-hb__panel {
	width: min(var(--bmt-hb-w, 480px), 520px);
}

/* La nappe et le tiroir gardent leur propre géométrie. */
.bmt-hb--panel-nappe .bmt-hb__panel {
	width: 100%;
	max-width: none;
}

.bmt-hb--panel-tiroir .bmt-hb__panel {
	width: min(420px, 88vw);
	max-width: none;
}

/* Les horaires de la crêperie passent sous ceux du château. */
.bmt-hb__panel .bmt-hb__row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
}

.bmt-hb__panel .bmt-hb__creperie {
	align-self: flex-start;
	margin-top: 6px;
}

.bmt-hb__panel .bmt-hb__thead .bmt-hb__th--creperie {
	display: none;
}

/* L'encart autocars reste dans sa colonne. */
.bmt-hb__panel .bmt-hb__warn {
	max-width: 100%;
	box-sizing: border-box;
}

/* La carte garde la hauteur demandée dans le code court, sans être
   comprimée par le panneau. La légende sous la carte n'est jamais
   rognée : c'est du HTML de flux normal, hors du conteneur de la carte. */
.bmt-hb__map .bmt-carte {
	max-height: none;
}

.bmt-hb__map {
	flex: none;
}


/* =========================================================
   Encart autocars et pictogrammes des liens — mise au net
   ========================================================= */

.bmt-hb__panel .bmt-hb__warn {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 3px;
	background: rgba(110, 34, 51, 0.08);
}

.bmt-hb__panel .bmt-hb__warn-mark {
	flex: 0 0 auto;
	width: 17px;
	height: 17px;
	margin: 1px 0 0;
	border: 0;
	color: #6E2233;
}

.bmt-hb__panel .bmt-hb__warn-mark svg {
	display: block;
}

.bmt-hb__panel .bmt-hb__warn-body {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}

/* Pictogrammes Google Maps et Waze */
.bmt-hb__ico {
	display: inline-flex;
	flex: none;
	align-items: center;
	color: currentColor;
}

.bmt-hb__ico svg {
	display: block;
}

.bmt-hb__panel .bmt-hb__links .bmt-hb__maps {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}


/* =========================================================
   Rien ne dépasse du cadre
   ========================================================= */

.bmt-hb__panel {
	container-type: inline-size;
	container-name: bmtpanel;
	overflow-x: hidden;
}

.bmt-hb__panel,
.bmt-hb__panel * {
	box-sizing: border-box;
	max-width: 100%;
}

/* La colonne de gauche est le vrai élément de grille depuis que les
   horaires et l'orangerie y sont regroupés. */
@container bmtpanel (min-width: 600px) {
	.bmt-hb__inner .bmt-hb__cols-left {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}
}

.bmt-hb__panel .bmt-hb__map,
.bmt-hb__panel .bmt-carte,
.bmt-hb__panel .bmt-hb__links {
	max-width: 100%;
}

.bmt-hb__panel .bmt-hb__creperie {
	white-space: normal;
}


/* Le « 11h – 18h » des périodes reste insécable, mais les phrases, non. */
.bmt-hb__panel .bmt-hb__warn .bmt-hb__detail,
.bmt-hb__panel .bmt-hb__way .bmt-hb__detail,
.bmt-hb__panel .bmt-hb__mention .bmt-hb__detail,
.bmt-hb__panel .bmt-hb__mentions .bmt-hb__detail {
	white-space: normal;
}


/* =========================================================
   Hiérarchie commune aux deux boutons
   « Période », « Accès » et « Tarifs 2027 » sont des intertitres
   de même rang : même graisse, même corps, même interlettrage.
   ========================================================= */

.bmt-hb__panel .bmt-hb__th,
.bmt-hb__panel .bmt-hb__access-title,
.bmt-hb__panel .bmt-hb__panel-title {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #4F7539;
}

.bmt-hb__panel .bmt-hb__thead {
	padding: 12px 20px 6px;
}

/* -------- Billetterie : une formule par ligne, un peu plus fine -------- */

@container bmttickets (min-width: 420px) {
	.bmt-hb--tickets .bmt-hb__rows {
		display: block;
	}

	.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:nth-child(2n) {
		border-left: 0;
	}

	.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:nth-last-child(2) {
		border-bottom: 1px solid rgba(22, 24, 26, 0.08);
	}

	/* Les trois mentions, sur trois colonnes. */
	.bmt-hb__mentions {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 16px;
	}

	.bmt-hb__mention {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
}

.bmt-hb--tickets .bmt-hb__row {
	padding: 8px 20px;
}

.bmt-hb--tickets .bmt-hb__period {
	font-size: 15px;
}

.bmt-hb--tickets .bmt-hb__amount {
	font-size: 15px;
}

.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:last-child {
	border-bottom: 0;
}


/* =========================================================
   Finitions — cohérence des deux panneaux
   ========================================================= */

/* Les trois mentions : les titres et les textes s'alignent d'une colonne à
   l'autre, quelle que soit la longueur des mots (grille en sous-grille). */
@container bmttickets (min-width: 420px) {
	.bmt-hb__mentions {
		grid-template-rows: auto auto auto;
		align-items: start;
	}

	.bmt-hb__mention {
		grid-row: span 3;
		grid-template-rows: subgrid;
		align-content: start;
	}
}

.bmt-hb__mention-icon {
	height: 18px;
	align-items: flex-start;
}

/* Les pastilles de la crêperie forment une colonne régulière. */
.bmt-hb__panel .bmt-hb__creperie {
	display: inline-flex;
	justify-content: space-between;
	min-width: 238px;
	max-width: 100%;
}

/* Les deux liens de navigation tiennent chacun sur une ligne. */
.bmt-hb__panel .bmt-hb__links {
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}

.bmt-hb__panel .bmt-hb__links .bmt-hb__maps {
	font-size: 10.5px;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

/* Le bouton de réservation reprend le sauge du bouton d'en-tête. */
.bmt-hb__cta {
	letter-spacing: 0.12em;
}


/* =========================================================
   Reprise décisive : le panneau respire, les deux colonnes
   sont au même rang visuel.
   Les couches précédentes avaient fini par trop comprimer le
   panneau et par traiter « Période » et « Accès » différemment
   (un filet sous l'un, pas sous l'autre). On repart des mêmes
   règles pour les deux, avec de l'air.
   ========================================================= */

.bmt-hb__panel {
	width: min(var(--bmt-hb-w, 700px), 760px);
	max-width: calc(100vw - 24px);
}

.bmt-hb--tickets .bmt-hb__panel {
	width: min(var(--bmt-hb-w, 500px), 560px);
}

/* Ni l'un ni l'autre intertitre ne porte de filet : c'est l'espacement seul
   qui les détache de leur contenu, de façon identique. */
.bmt-hb__thead,
.bmt-hb__panel .bmt-hb__thead {
	border-bottom: 0;
	padding: 18px 26px 8px;
}

.bmt-hb__access,
.bmt-hb__panel .bmt-hb__access {
	padding: 18px 26px 6px;
}

.bmt-hb__panel .bmt-hb__access-title {
	margin-bottom: 16px;
}

.bmt-hb__panel .bmt-hb__head {
	padding: 22px 26px 16px;
}

.bmt-hb__panel .bmt-hb__row {
	padding: 13px 26px;
	gap: 6px;
}

.bmt-hb__panel .bmt-hb__period {
	font-size: 17px;
}

.bmt-hb__panel .bmt-hb__ways {
	gap: 16px;
}

.bmt-hb__panel .bmt-hb__way .bmt-hb__detail {
	font-size: 13px;
}

.bmt-hb__panel .bmt-hb__warn {
	margin-top: 14px;
	padding: 12px 14px;
}

.bmt-hb__panel .bmt-hb__address {
	margin-top: 12px;
}

.bmt-hb__panel .bmt-hb__links {
	margin-top: 12px;
	gap: 9px;
}

.bmt-hb__panel .bmt-hb__links .bmt-hb__maps {
	font-size: 11.5px;
}

.bmt-hb__panel .bmt-hb__map {
	margin-top: 14px;
}

.bmt-hb--tickets .bmt-hb__panel .bmt-hb__panel-title {
	padding: 20px 26px 12px;
}

.bmt-hb--tickets .bmt-hb__row {
	padding: 10px 26px;
}

.bmt-hb__mentions {
	padding: 16px 26px 6px;
	gap: 16px 20px;
}

/* La crêperie garde sa place face à sa période, avec un peu plus d'air. */
.bmt-hb__panel .bmt-hb__creperie {
	margin-top: 8px;
	padding: 10px 14px;
}


/* =========================================================
   Correctif 2.8.1 — grille sans chevauchement
   Le pied vient après la plus haute des colonnes. La colonne Accès ne
   traverse plus les rangées réservées aux mentions et au lien final.
   ========================================================= */

@container bmtpanel (min-width: 600px) {
	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__inner,
	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__inner > .bmt-hb__cols-left,
	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__cols-left {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__inner > .bmt-hb__access,
	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__access {
		grid-column: 2;
		grid-row: 1;
		align-self: stretch;
		height: auto;
		min-width: 0;
	}

	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__inner > .bmt-hb__bottom,
	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__bottom {
		grid-column: 1 / -1;
		grid-row: 2;
		align-self: start;
	}
}

@container bmtpanel (min-width: 800px) {
	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__cols-left {
		display: contents;
	}

	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__cols-left > .bmt-hb__rows {
		grid-column: 1;
		grid-row: 1;
	}

	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__cols-left > .bmt-hb__orangerie {
		grid-column: 2;
		grid-row: 1;
		height: auto;
	}

	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__access {
		grid-column: 3;
		grid-row: 1;
		height: auto;
	}

	.bmt-hb--cols-trois.bmt-hb--box .bmt-hb__inner > .bmt-hb__bottom {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

/* Aperçu cartographique volontairement discret dans le menu d'en-tête. */
.bmt-hb--panel-carte .bmt-hb__map {
	position: relative;
	isolation: isolate;
	margin-top: 12px;
	border: 0;
	border-radius: 10px;
	background: #EDF1E9;
	box-shadow: inset 0 0 0 1px rgba(79, 117, 57, 0.12), 0 8px 22px rgba(79, 117, 57, 0.08);
}

.bmt-hb--panel-carte .bmt-hb__map .bmt-carte {
	height: 140px;
	min-height: 0;
	border: 0;
	border-radius: 10px;
}

/* Compatibilité avec les anciennes versions de l'extension Carte : la
   légende longue reste masquée même si son JavaScript la génère encore. */
.bmt-hb--panel-carte .bmt-hb__map .bmt-carte__legend,
.bmt-hb--panel-carte .bmt-hb__map + .bmt-carte__legend {
	display: none;
}

.bmt-hb--panel-carte .bmt-hb__bottom {
	position: relative;
	z-index: 2;
	background: #FFFFFF;
}

.bmt-hb--panel-carte .bmt-hb__bottom .bmt-hb__dogs-text {
	color: #4F7539;
}

@media (max-width: 600px) {
	.bmt-hb--panel-carte .bmt-hb__map .bmt-carte {
		height: 120px;
	}
}


/* =========================================================
   Interface compacte : davantage d'informations sans défilement
   ========================================================= */

@container bmtpanel (min-width: 760px) {
	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__cols-left > .bmt-hb__rows {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		padding: 16px 18px 18px;
	}

	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__thead {
		grid-column: 1 / -1;
		padding: 0 0 4px;
	}

	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 10px;
		min-height: 0;
		padding: 13px 14px;
		border: 1px solid rgba(79, 117, 57, 0.12);
		border-radius: 7px;
		background: #FBFAF7;
	}

	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__creperie {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 8px;
		width: 100%;
		min-width: 0;
		margin: 2px 0 0;
		padding: 8px 9px;
	}

	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__creperie-label {
		font-size: 7.5px;
		letter-spacing: 0.1em;
	}

	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__creperie-hours {
		flex: none;
		font-size: 12px;
	}

	.bmt-hb--density-compact.bmt-hb--access-grid .bmt-hb__ways {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 11px 16px;
	}

	.bmt-hb--density-compact.bmt-hb--access-grid .bmt-hb__way {
		gap: 3px;
		padding-left: 10px;
		border-left: 2px solid #AAC29E;
	}

	.bmt-hb--density-compact .bmt-hb__warn {
		margin-top: 12px;
		padding: 9px 11px;
	}

	.bmt-hb--density-compact .bmt-hb__warn .bmt-hb__detail {
		font-size: 11.5px;
		line-height: 1.4;
	}

	.bmt-hb--density-compact .bmt-hb__address {
		margin-top: 10px;
	}

	.bmt-hb--density-compact .bmt-hb__links {
		margin-top: 8px;
	}

	.bmt-hb--density-compact .bmt-hb__bottom {
		margin-top: 0;
		margin-bottom: 18px;
		padding-top: 14px;
		row-gap: 10px;
	}
}

/* L'ancienne valeur de 140 px reste une valeur de repli. Le contrôle
   Elementor « Carte > Hauteur » peut la remplacer sans CSS additionnel. */
.bmt-hb--panel-carte .bmt-hb__map .bmt-carte {
	height: 120px;
}

@container bmtpanel (max-width: 759.98px) {
	.bmt-hb--hours-cards .bmt-hb__cols-left > .bmt-hb__rows,
	.bmt-hb--access-grid .bmt-hb__ways {
		display: block;
	}
}


/* =========================================================
   Version 2.9 — panneau large, dense et réellement sans collision
   ========================================================= */

/* Le réglage Elementor redevient la source de vérité. Le plafond historique
   de 760 px empêchait la grille en cartes d'avoir une largeur suffisante. */
.bmt-hb--panel-carte .bmt-hb__panel,
.bmt-hb--panel-feuille .bmt-hb__panel,
.bmt-hb--panel-voile .bmt-hb__panel,
.bmt-hb--panel-sauge .bmt-hb__panel {
	width: min(var(--bmt-hb-w, 1040px), calc(100vw - 24px));
}

/* Les cartes 2 × 2 ne sont activées qu'à partir de 900 px : en dessous,
   une liste verticale reste plus lisible et ne peut jamais déborder. */
@container bmtpanel (min-width: 760px) and (max-width: 899.98px) {
	.bmt-hb--hours-cards .bmt-hb__cols-left > .bmt-hb__rows {
		display: block;
	}
}

@container bmtpanel (min-width: 900px) {
	.bmt-hb--density-compact.bmt-hb--hours-cards .bmt-hb__creperie {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		align-self: stretch;
		justify-content: flex-start;
		width: 100%;
		min-width: 0;
		margin-top: 2px;
		padding: 7px 9px;
	}

	.bmt-hb--density-compact .bmt-hb__bottom {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) auto;
		align-items: center;
		column-gap: 22px;
		margin: 0 20px 14px;
		padding-top: 12px;
	}

	.bmt-hb--density-compact .bmt-hb__bottom > * {
		min-width: 0;
		margin: 0;
	}

	.bmt-hb--density-compact .bmt-hb__bottom .bmt-hb__dogs {
		display: flex;
		flex-wrap: nowrap;
	}

	.bmt-hb--density-compact .bmt-hb__bottom .bmt-hb__link {
		white-space: nowrap;
	}
}


/* =========================================================
   Version 2.14 — boutons jumeaux et placement sous le menu
   Cette couche est volontairement finale : elle évite que les anciennes
   variantes de grille reprennent la main sur la billetterie.
   ========================================================= */

.bmt-hb {
	--bmt-hb-btn-height: 56px;
	--bmt-hb-btn-items-gap: 11px;
}

.bmt-hb .bmt-hb__toggle {
	min-height: var(--bmt-hb-btn-height);
	gap: var(--bmt-hb-btn-items-gap);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1;
}

.bmt-hb .bmt-hb__clock,
.bmt-hb--tickets .bmt-hb__ticket {
	width: 18px;
	height: 18px;
	align-items: center;
	justify-content: center;
}

.bmt-hb .bmt-hb__chevron {
	width: 8px;
	height: 8px;
	margin-left: 3px;
	border-width: 0 1.25px 1.25px 0;
}

.bmt-hb--tickets {
	--bmt-hb-panel-shift: 0px;
}

.bmt-hb--tickets .bmt-hb__panel {
	top: calc(100% + var(--bmt-hb-panel-gap, 14px) + var(--bmt-hb-panel-shift, 0px));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-2 .bmt-tb__offers {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child {
	grid-column: auto;
}

@container bmttickets (max-width: 740px) {
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@container bmttickets (max-width: 500px) {
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-2 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child {
		grid-column: auto;
	}
}

@media (max-width: 600px) {
	.bmt-hb--tickets {
		--bmt-hb-panel-shift: 0px;
	}

	.bmt-hb--tickets .bmt-hb__panel {
		top: auto;
	}
}


/* =========================================================
   Version 2.13 — hiérarchie billetterie et achat le jour même
   ========================================================= */

.bmt-hb--tickets .bmt-tb__head {
	padding: 14px 18px 10px;
}

.bmt-hb--tickets .bmt-tb__title {
	font-size: 22px;
}

.bmt-hb--tickets .bmt-tb__offers {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	padding: 9px 12px;
}

.bmt-hb--tickets.bmt-hb--tickets-cols-2 .bmt-tb__offers {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-cols-4 .bmt-tb__offers {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers {
	grid-template-columns: minmax(0, 1fr);
}

.bmt-hb--tickets .bmt-tb__offer {
	min-height: 54px;
	padding: 8px 10px;
}

.bmt-hb--tickets.bmt-hb--tickets-cols-3 .bmt-tb__offer:last-child,
.bmt-hb--tickets.bmt-hb--tickets-cols-4 .bmt-tb__offer:last-child {
	grid-column: auto;
}

.bmt-hb--tickets .bmt-tb__offer-name {
	font-size: 12px;
}

.bmt-hb--tickets .bmt-tb__amount {
	font-size: 13px;
}

.bmt-hb--tickets .bmt-tb__offer-note {
	font-size: 9.5px;
	line-height: 1.3;
}

.bmt-tb__same-day {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin: 0 12px 8px;
	padding: 9px 12px;
	border: 1px solid #8D4050;
	border-radius: 8px;
	background: #F1E6E8;
}

.bmt-tb__same-day-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #8D4050;
}

.bmt-tb__same-day-copy {
	display: flex;
	align-items: baseline;
	gap: 10px;
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
}

.bmt-tb__same-day-title {
	flex: none;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	color: #6E2233;
}

.bmt-tb__same-day-text {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	color: #4F3E42;
}

.bmt-hb--tickets .bmt-tb__more,
.bmt-hb--tickets .bmt-tb__notes-full {
	margin: 0 12px 8px;
	padding-top: 7px;
}

.bmt-tb__notes-label {
	margin: 0 0 6px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #8D4050;
}

.bmt-hb--tickets .bmt-tb__notes-body {
	gap: 8px;
	margin-top: 6px;
	padding: 8px 10px;
}

.bmt-hb--tickets .bmt-tb__notes-full .bmt-tb__notes-body {
	margin-top: 0;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention {
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 7px;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-icon {
	height: 22px;
	padding: 0;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-icon svg {
	width: 22px;
	height: 22px;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-title {
	font-size: 10.5px;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__detail {
	font-size: 9.5px;
}

.bmt-hb--tickets .bmt-tb__booking {
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	padding: 9px 12px 11px;
}

.bmt-hb--tickets .bmt-tb__booking .bmt-hb__cta {
	min-width: 220px;
	padding: 11px 18px;
	white-space: nowrap;
}

.bmt-hb--tickets .bmt-tb__booking .bmt-hb__foot {
	font-size: 9.5px;
	line-height: 1.35;
}

@container bmttickets (max-width: 740px) {
	.bmt-hb--tickets.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-cols-4 .bmt-tb__offers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bmt-hb--tickets.bmt-hb--tickets-cols-3 .bmt-tb__offer:last-child:nth-child(odd),
	.bmt-hb--tickets.bmt-hb--tickets-cols-4 .bmt-tb__offer:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.bmt-tb__same-day-copy {
		align-items: flex-start;
		flex-direction: column;
		gap: 2px;
	}
}

@container bmttickets (max-width: 500px) {
	.bmt-hb--tickets .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-cols-2 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-cols-4 .bmt-tb__offers,
	.bmt-hb--tickets .bmt-tb__notes-body,
	.bmt-hb--tickets .bmt-tb__booking {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--tickets .bmt-tb__offer:last-child {
		grid-column: auto;
	}

	.bmt-hb--tickets .bmt-tb__booking .bmt-hb__cta {
		width: 100%;
		min-width: 0;
	}
}


/* =========================================================
   Version 2.12 — tuile billetterie compacte et personnalisable
   ========================================================= */

.bmt-hb--tickets {
	--bmt-hb-btn-bg: #9CBB89;
	--bmt-hb-btn-border: #9CBB89;
	--bmt-hb-btn-color: #4F7539;
	--bmt-hb-btn-hover-bg: #4F7539;
	--bmt-hb-btn-hover-border: #4F7539;
	--bmt-hb-btn-hover-color: #FFFFFF;
	--bmt-hb-btn-open-bg: #4F7539;
	--bmt-hb-btn-open-border: #4F7539;
	--bmt-hb-btn-open-color: #FFFFFF;
	--bmt-tb-cta-bg: #9CBB89;
	--bmt-tb-cta-color: #4F7539;
	--bmt-tb-cta-hover-bg: #4F7539;
	--bmt-tb-cta-hover-color: #FFFFFF;
}

.bmt-hb--tickets.bmt-hb--own .bmt-hb__toggle {
	background-color: var(--bmt-hb-btn-bg);
	border-color: var(--bmt-hb-btn-border);
	color: var(--bmt-hb-btn-color);
}

.bmt-hb--tickets.bmt-hb--own .bmt-hb__toggle:hover,
.bmt-hb--tickets.bmt-hb--own .bmt-hb__toggle:focus-visible {
	background-color: var(--bmt-hb-btn-hover-bg);
	border-color: var(--bmt-hb-btn-hover-border);
	color: var(--bmt-hb-btn-hover-color);
}

.bmt-hb--tickets.bmt-hb--own.is-open .bmt-hb__toggle {
	background-color: var(--bmt-hb-btn-open-bg);
	border-color: var(--bmt-hb-btn-open-border);
	color: var(--bmt-hb-btn-open-color);
}

/* Le billet peut être masqué depuis Elementor et ne réapparaît pas dans les
   deux variantes de bouton volontairement réduites au texte. */
.bmt-hb--tickets .bmt-hb__ticket {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
}

.bmt-hb--tickets.bmt-hb--shape-mention .bmt-hb__toggle > .bmt-hb__ticket,
.bmt-hb--tickets.bmt-hb--shape-sobre .bmt-hb__toggle > .bmt-hb__ticket {
	display: none;
}

.bmt-hb--tickets .bmt-hb__panel {
	width: min(var(--bmt-hb-w, 880px), calc(100vw - 24px));
	max-width: 1100px;
	max-height: min(var(--bmt-hb-panel-max, 680px), var(--bmt-hb-space-below, calc(100dvh - 120px)));
	padding: 0;
	border: 1px solid rgba(79, 117, 57, 0.14);
	background: #FFFFFF;
	box-shadow: 0 24px 70px -28px rgba(5, 35, 22, 0.38), 0 6px 18px rgba(5, 35, 22, 0.08);
	overflow-x: hidden;
	overflow-y: auto;
	container-type: inline-size;
	container-name: bmttickets;
}

.bmt-tb__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px 12px;
	border-bottom: 1px solid rgba(79, 117, 57, 0.1);
}

.bmt-tb__title,
.bmt-tb__subtitle {
	margin: 0;
}

.bmt-tb__title {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.15;
	color: #4F7539;
}

.bmt-tb__subtitle {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #72776F;
}

.bmt-tb__offers {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 12px 14px;
}

.bmt-hb--tickets-layout-list .bmt-tb__offers {
	grid-template-columns: minmax(0, 1fr);
}

.bmt-tb__offer {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 58px;
	padding: 10px 12px;
	border: 1px solid rgba(79, 117, 57, 0.12);
	border-radius: 8px;
	background: #F7F6F1;
	color: inherit;
	text-decoration: none;
}

.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.bmt-tb__offer--link {
	transition: border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

.bmt-tb__offer--link:hover,
.bmt-tb__offer--link:focus-visible {
	border-color: #A8823C;
	background-color: #FFFFFF;
	transform: translateY(-1px);
	outline: 0;
}

.bmt-tb__offer-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
}

.bmt-tb__offer-name {
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: #4F7539;
}

.bmt-tb__amount {
	flex: none;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	line-height: 1.25;
	white-space: nowrap;
	color: #A8823C;
}

.bmt-tb__offer-note {
	display: block;
	margin-top: 3px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.35;
	color: #6E736C;
}

.bmt-hb--tickets-density-comfortable .bmt-tb__head {
	padding: 22px 24px 16px;
}

.bmt-hb--tickets-density-comfortable .bmt-tb__offers {
	gap: 12px;
	padding: 16px 18px;
}

.bmt-hb--tickets-density-comfortable .bmt-tb__offer {
	min-height: 70px;
	padding: 13px 15px;
}

.bmt-tb__more,
.bmt-tb__notes-full {
	display: block;
	margin: 0 14px 12px;
	padding-top: 10px;
	border-top: 1px solid rgba(79, 117, 57, 0.1);
}

.bmt-tb__more summary {
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 2px 0;
	color: #8D4050;
}

.bmt-tb__notes-body,
.bmt-hb--tickets .bmt-tb__notes-body {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 9px 0 0;
	padding: 11px 12px;
	border: 0;
	border-radius: 8px;
	background: #F3EFEF;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention {
	display: grid;
	grid-row: auto;
	grid-template-columns: 18px minmax(0, 1fr);
	grid-template-rows: none;
	gap: 8px;
	min-width: 0;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-title {
	font-size: 11px;
	line-height: 1.3;
	color: #5C2531;
}

.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__detail {
	margin-top: 2px;
	font-size: 10px;
	line-height: 1.35;
	color: #555954;
}

.bmt-tb__booking {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(0, 1.2fr);
	gap: 14px;
	align-items: center;
	padding: 12px 14px 14px;
	border-top: 1px solid rgba(79, 117, 57, 0.1);
}

.bmt-hb--tickets .bmt-tb__booking .bmt-hb__cta {
	margin: 0;
	padding: 13px 20px;
	border-color: var(--bmt-tb-cta-bg);
	background-color: var(--bmt-tb-cta-bg);
	color: var(--bmt-tb-cta-color);
}

.bmt-hb--tickets .bmt-tb__booking .bmt-hb__cta:hover,
.bmt-hb--tickets .bmt-tb__booking .bmt-hb__cta:focus-visible {
	border-color: var(--bmt-tb-cta-hover-bg);
	background-color: var(--bmt-tb-cta-hover-bg);
	color: var(--bmt-tb-cta-hover-color);
}

.bmt-hb--tickets .bmt-tb__booking .bmt-hb__foot {
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10.5px;
	font-weight: 400;
	line-height: 1.45;
	color: #7A8077;
}

@container bmttickets (max-width: 500px) {
	.bmt-tb__head {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.bmt-tb__offers,
	.bmt-hb--tickets-layout-cards .bmt-tb__offers,
	.bmt-tb__notes-body,
	.bmt-tb__booking {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.bmt-tb__subtitle {
		white-space: normal;
	}
}

@media (max-width: 600px) {
	.bmt-hb--tickets .bmt-hb__panel {
		width: auto;
		max-width: none;
		padding-bottom: env(safe-area-inset-bottom, 0);
	}
}


/* =========================================================
   Version 2.11 — accès directs et stabilisation Safari
   ========================================================= */

.bmt-hb__panel .bmt-hb__links--buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 38px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid #D8C9A6;
	border-radius: 999px;
	background: #F4F1E7;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps:hover,
.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps:focus-visible {
	color: #FFFFFF;
	border-color: #4F7539;
	background: #4F7539;
}

.bmt-hb__links--buttons .bmt-hb__ico svg {
	width: 15px;
	height: 15px;
}

/* Safari peut peindre les tuiles Leaflet avant que le panneau auparavant
   masqué ait sa largeur finale. Cette couche de composition, complétée par
   les recalculs différés du script, évite la demi-carte ou les tuiles rognées. */
.bmt-hb--panel-carte .bmt-hb__map {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.bmt-hb--panel-carte .bmt-hb__map .bmt-carte,
.bmt-hb--panel-carte .bmt-hb__map .leaflet-container {
	width: 100%;
	min-width: 100%;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.bmt-hb--panel-carte .leaflet-container .leaflet-pane,
.bmt-hb--panel-carte .leaflet-container .leaflet-tile,
.bmt-hb--panel-carte .leaflet-container img {
	max-width: none;
	max-height: none;
}

@supports (-webkit-touch-callout: none) {
	.bmt-hb--panel-carte .bmt-hb__map {
		-webkit-mask-image: -webkit-radial-gradient(white, black);
	}
}

@container bmtpanel (max-width: 520px) {
	.bmt-hb__panel .bmt-hb__links--buttons {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   Version 2.10 — panneau stable et piloté par Elementor
   ========================================================= */

.bmt-hb {
	--bmt-hb-btn-color: #F7F7F7;
	--bmt-hb-btn-border: #F7F7F7;
	--bmt-hb-btn-bg: transparent;
	--bmt-hb-btn-hover-color: #4F7539;
	--bmt-hb-btn-hover-border: #4F7539;
	--bmt-hb-btn-hover-bg: #8BAA77;
	--bmt-hb-btn-open-color: #F7F7F7;
	--bmt-hb-btn-open-border: #323533;
	--bmt-hb-btn-open-bg: #323533;
	--bmt-hb-follow-top: #FFFFFF;
	--bmt-hb-follow-scroll: #000000;
	--bmt-hb-panel-gap: 18px;
	--bmt-hb-panel-shift: 0px;
	--bmt-hb-panel-max: 820px;
	--bmt-hb-z: 99999;
}

/* Les variables sont renseignées par les contrôles Elementor. Aucun état
   normal / survol / ouvert n'est désormais verrouillé par !important. */
.bmt-hb--own .bmt-hb__toggle {
	color: var(--bmt-hb-btn-color);
	border-color: var(--bmt-hb-btn-border);
	background-color: var(--bmt-hb-btn-bg);
}

.bmt-hb--own .bmt-hb__toggle:hover,
.bmt-hb--own .bmt-hb__toggle:focus-visible {
	color: var(--bmt-hb-btn-hover-color);
	border-color: var(--bmt-hb-btn-hover-border);
	background-color: var(--bmt-hb-btn-hover-bg);
}

.bmt-hb--own.is-open .bmt-hb__toggle {
	color: var(--bmt-hb-btn-open-color);
	border-color: var(--bmt-hb-btn-open-border);
	background-color: var(--bmt-hb-btn-open-bg);
}

.elementor-location-header .bmt-hb--follow .bmt-hb__toggle {
	color: var(--bmt-hb-follow-top);
	border-color: var(--bmt-hb-follow-top);
	background-color: transparent;
}

.elementor-location-header .header-scrolled .bmt-hb--follow .bmt-hb__toggle {
	color: var(--bmt-hb-follow-scroll);
	border-color: var(--bmt-hb-follow-scroll);
}

.elementor-location-header .bmt-hb--follow .bmt-hb__toggle:hover,
.elementor-location-header .bmt-hb--follow .bmt-hb__toggle:focus-visible {
	color: var(--bmt-hb-btn-hover-color);
	border-color: var(--bmt-hb-btn-hover-border);
	background-color: var(--bmt-hb-btn-hover-bg);
}

.elementor-location-header .bmt-hb--follow.is-open .bmt-hb__toggle,
.elementor-location-header .header-scrolled .bmt-hb--follow.is-open .bmt-hb__toggle {
	color: var(--bmt-hb-btn-open-color);
	border-color: var(--bmt-hb-btn-open-border);
	background-color: var(--bmt-hb-btn-open-bg);
}

.bmt-hb.is-open,
.elementor-widget-boutemont_hours_button:has(.bmt-hb.is-open),
.elementor-widget-boutemont_tickets_button:has(.bmt-hb.is-open) {
	position: relative;
	z-index: var(--bmt-hb-z);
}

.bmt-hb__panel {
	top: calc(100% + var(--bmt-hb-panel-gap) + var(--bmt-hb-panel-shift));
	z-index: var(--bmt-hb-z);
	max-height: min(var(--bmt-hb-panel-max), var(--bmt-hb-space-below, calc(100dvh - 120px)));
	animation: none;
	transform: none;
	will-change: auto;
}

.bmt-hb--motion-fade .bmt-hb__panel {
	animation: bmt-hb-fade 0.16s ease-out both;
}

@keyframes bmt-hb-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

.bmt-hb__more {
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
}

.bmt-hb__more summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #4F7539;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.bmt-hb__more summary::-webkit-details-marker {
	display: none;
}

.bmt-hb__more summary span {
	position: relative;
	width: 9px;
	height: 9px;
}

.bmt-hb__more summary span::before,
.bmt-hb__more summary span::after {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 9px;
	height: 1px;
	background: currentColor;
}

.bmt-hb__more summary span::after {
	transform: rotate(90deg);
	transition: transform 0.18s ease;
}

.bmt-hb__more[open] summary span::after {
	transform: rotate(0deg);
}

.bmt-hb__more-body {
	display: grid;
	gap: 7px;
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 6px;
	background: #F7F6F1;
}

.bmt-hb__more-body .bmt-hb__foot,
.bmt-hb__more-body .bmt-hb__extra-notes,
.bmt-hb__more-body .bmt-hb__dogs {
	margin: 0;
	padding: 0;
}

@container bmtpanel (min-width: 900px) {
	.bmt-hb--cols-deux.bmt-hb--box.bmt-hb--density-compact .bmt-hb__inner > .bmt-hb__access {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.bmt-hb--cols-deux.bmt-hb--box.bmt-hb--density-compact .bmt-hb__inner > .bmt-hb__bottom--compact {
		grid-column: 1;
		grid-row: 2;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 18px;
		margin: 0 18px 14px;
		padding-top: 11px;
	}

	.bmt-hb--density-compact .bmt-hb__bottom--compact > * {
		flex: 0 1 auto;
		margin: 0;
	}

	.bmt-hb--density-compact .bmt-hb__bottom--compact .bmt-hb__link {
		white-space: nowrap;
	}
}

/* Quand « Bon à savoir » est ouvert, le lien final reste sur la même ligne
   que son titre. Il ne crée donc pas une rangée supplémentaire. */
@container bmtpanel (min-width: 900px) {
	.bmt-hb--cols-deux.bmt-hb--box.bmt-hb--density-compact .bmt-hb__inner > .bmt-hb__bottom--compact {
		position: relative;
		display: block;
		margin-bottom: 6px;
		padding-top: 7px;
	}

	.bmt-hb__bottom--compact .bmt-hb__more {
		width: 100%;
	}

	.bmt-hb__bottom--compact > .bmt-hb__link {
		position: absolute;
		top: 7px;
		right: 0;
		margin: 0;
	}

	.bmt-hb__bottom--compact .bmt-hb__more-body {
		gap: 5px;
		margin-top: 6px;
		padding: 7px 10px;
	}
}


/* Version 2.14 — couche terminale après toutes les règles historiques. */
.bmt-hb {
	--bmt-hb-btn-height: 56px;
	--bmt-hb-btn-items-gap: 11px;
}

.bmt-hb .bmt-hb__toggle {
	min-height: var(--bmt-hb-btn-height);
	gap: var(--bmt-hb-btn-items-gap);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	line-height: 1;
}

.bmt-hb .bmt-hb__clock,
.bmt-hb--tickets .bmt-hb__ticket {
	width: 18px;
	height: 18px;
	align-items: center;
	justify-content: center;
}

.bmt-hb .bmt-hb__chevron {
	width: 8px;
	height: 8px;
	margin-left: 3px;
	border-width: 0 1.25px 1.25px 0;
}

.bmt-hb--tickets {
	--bmt-hb-panel-shift: 0px;
}

.bmt-hb--tickets .bmt-hb__panel {
	top: calc(100% + var(--bmt-hb-panel-gap, 14px) + var(--bmt-hb-panel-shift, 0px));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-2 .bmt-tb__offers {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child {
	grid-column: auto;
}

@container bmttickets (max-width: 740px) {
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@container bmttickets (max-width: 500px) {
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-2 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-3 .bmt-tb__offers,
	.bmt-hb--tickets.bmt-hb--tickets-layout-cards.bmt-hb--tickets-cols-4 .bmt-tb__offers {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer:last-child {
		grid-column: auto;
	}
}

@media (max-width: 600px) {
	.bmt-hb--tickets {
		--bmt-hb-panel-shift: 0px;
	}

	.bmt-hb--tickets .bmt-hb__panel {
		top: auto;
	}
}


/* Version 2.15 — position directe et grille de six tarifs équilibrée. */
.bmt-hb--tickets {
	--bmt-hb-panel-shift: 0px;
}

.bmt-hb--tickets .bmt-tb__notes-body--with-pass {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bmt-hb--tickets .bmt-tb__pass-note {
	padding-left: 10px;
	border-left: 1px solid rgba(141, 64, 80, 0.18);
}

.bmt-tb__pass-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}

.bmt-tb__pass-amount {
	flex: none;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	color: #A8823C;
}

@container bmttickets (max-width: 740px) {
	.bmt-hb--tickets .bmt-tb__notes-body--with-pass {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container bmttickets (max-width: 500px) {
	.bmt-hb--tickets .bmt-tb__notes-body--with-pass {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--tickets .bmt-tb__pass-note {
		padding-top: 8px;
		padding-left: 0;
		border-top: 1px solid rgba(141, 64, 80, 0.18);
		border-left: 0;
	}
}

@media (max-width: 600px) {
	.bmt-hb--tickets {
		--bmt-hb-panel-shift: 0px;
	}
}


/* =========================================================
   Version 2.17 — nouvelle palette, accès éditorial et carte Safari stable
   ========================================================= */

.bmt-hb {
	--bmt-green: #0A2E1C;
	--bmt-gold: #A8823C;
	--bmt-cream: #F4F1E7;
	--bmt-access-bg: #F3F6F1;
	--bmt-access-border: rgba(10, 46, 28, 0.14);
	--bmt-access-card-bg: #FFFFFF;
	--bmt-access-card-outline: rgba(10, 46, 28, 0.12);
}

/* Deux rôles complémentaires : Horaires & accès est le repère principal,
   Billetterie reste très visible sans donner deux boutons identiques. La
   palette peut être désactivée dans Elementor pour revenir aux couleurs
   entièrement personnalisées. */
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow):not(.bmt-hb--tickets) .bmt-hb__toggle {
	border-color: var(--bmt-green);
	background: var(--bmt-green);
	color: #F8F5EC;
}

.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow):not(.bmt-hb--tickets) .bmt-hb__toggle:hover,
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow):not(.bmt-hb--tickets) .bmt-hb__toggle:focus-visible {
	border-color: var(--bmt-gold);
	background: var(--bmt-gold);
	color: #FFFFFF;
}

.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow):not(.bmt-hb--tickets).is-open .bmt-hb__toggle {
	border-color: var(--bmt-green);
	background: var(--bmt-green);
	color: #F8F5EC;
}

.bmt-hb--tickets.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle {
	border-color: var(--bmt-green);
	background: var(--bmt-cream);
	color: var(--bmt-green);
}

.bmt-hb--tickets.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle:hover,
.bmt-hb--tickets.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle:focus-visible,
.bmt-hb--tickets.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow).is-open .bmt-hb__toggle {
	border-color: var(--bmt-green);
	background: var(--bmt-green);
	color: #FFFFFF;
}

.bmt-hb--palette-boutemont.bmt-hb--shape-pastille .bmt-hb__toggle {
	box-shadow: 0 8px 20px rgba(10, 46, 28, 0.11);
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bmt-hb--palette-boutemont.bmt-hb--shape-pastille .bmt-hb__toggle:hover,
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille .bmt-hb__toggle:focus-visible {
	box-shadow: 0 11px 26px rgba(10, 46, 28, 0.17);
	transform: translateY(-1px);
}

.bmt-hb--palette-boutemont .bmt-hb__label {
	white-space: nowrap;
}

/* Le bloc Accès devient une vraie destination visuelle du panneau. */
.bmt-hb__panel .bmt-hb__access {
	padding-bottom: 18px;
	border-color: var(--bmt-access-border);
	background: var(--bmt-access-bg);
	box-shadow: inset 0 1px 0 var(--bmt-access-border);
}

.bmt-hb__panel .bmt-hb__access-title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 13px;
	color: var(--bmt-green);
}

.bmt-hb__panel .bmt-hb__access > .bmt-hb__access-title::before {
	content: '';
	flex: none;
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-gold);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px var(--bmt-access-bg);
}

.bmt-hb__panel .bmt-hb__ways {
	gap: 10px;
}

.bmt-hb--access-grid .bmt-hb__panel .bmt-hb__way {
	min-width: 0;
	padding: 10px 12px;
	border: 1px solid var(--bmt-access-card-outline);
	border-left: 3px solid #AAC29E;
	border-radius: 8px;
	background: var(--bmt-access-card-bg);
	box-shadow: 0 4px 13px rgba(10, 46, 28, 0.045);
}

.bmt-hb__panel .bmt-hb__mode {
	color: var(--bmt-gold);
	font-weight: 700;
}

.bmt-hb__panel .bmt-hb__way .bmt-hb__detail {
	color: #4F5A4C;
	line-height: 1.48;
}

.bmt-hb__panel .bmt-hb__address {
	margin-top: 13px;
	padding-top: 11px;
	border-top: 1px solid var(--bmt-access-border);
	color: var(--bmt-green);
	font-weight: 500;
}

.bmt-hb__panel .bmt-hb__links--buttons {
	margin-top: 9px;
}

.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps {
	min-height: 42px;
	box-shadow: 0 3px 10px rgba(10, 46, 28, 0.055);
}

.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps:hover,
.bmt-hb__panel .bmt-hb__links--buttons .bmt-hb__maps:focus-visible {
	opacity: 1;
	transform: translateY(-1px);
}

/* Les transformations 3D appliquées au conteneur dans l'ancienne correction
   Safari pouvaient créer un second contexte de composition. Le recalcul se
   fait maintenant dans le script de la carte une fois le panneau mesurable. */
.bmt-hb--panel-carte .bmt-hb__map,
.bmt-hb--panel-carte .bmt-hb__map .bmt-carte,
.bmt-hb--panel-carte .bmt-hb__map .leaflet-container {
	width: 100%;
	min-width: 0;
	-webkit-transform: none;
	transform: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.bmt-hb--panel-carte .bmt-hb__map {
	margin-top: 12px;
	border: 1px solid var(--bmt-access-border);
	background: #E9EFE7;
	box-shadow: 0 8px 22px rgba(10, 46, 28, 0.09);
}

@container bmtpanel (min-width: 900px) {
	.bmt-hb--cols-deux.bmt-hb--box .bmt-hb__inner > .bmt-hb__access {
		border-top: 0;
		border-left: 1px solid var(--bmt-access-border);
		box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.68);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb--palette-boutemont .bmt-hb__toggle,
	.bmt-hb__panel .bmt-hb__maps {
		transition: none;
	}
}


/* =========================================================
   Version 2.18 — hiérarchie premium, sans accumulation de tuiles
   ========================================================= */

.bmt-hb {
	--bmt-green: #AAC29E;
	--bmt-accent: #AAC29E;
	--bmt-ink: #1B1D1C;
	--bmt-line: rgba(27, 29, 28, 0.14);
	--bmt-soft-line: rgba(27, 29, 28, 0.09);
}

/* Les deux boutons du header suivent exactement le même système. */
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle {
	border-color: var(--bmt-ink) !important;
	background: #FFFFFF !important;
	color: var(--bmt-ink) !important;
	box-shadow: none !important;
	transform: none !important;
}

.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle:hover,
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow) .bmt-hb__toggle:focus-visible,
.bmt-hb--palette-boutemont.bmt-hb--shape-pastille.bmt-hb--own:not(.bmt-hb--follow).is-open .bmt-hb__toggle {
	border-color: var(--bmt-ink) !important;
	background: var(--bmt-ink) !important;
	color: #FFFFFF !important;
	box-shadow: none !important;
	transform: none !important;
}

.bmt-hb--palette-boutemont .bmt-hb__toggle:focus-visible {
	outline: 2px solid var(--bmt-accent);
	outline-offset: 3px;
}

/* --------------------------------------------------------- Horaires */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__inner,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__access {
	background: #FFFFFF !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__access {
	padding-bottom: 20px;
	border-color: var(--bmt-line);
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__access-title {
	gap: 10px;
	margin-bottom: 8px;
	color: var(--bmt-ink) !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__access > .bmt-hb__access-title::before {
	width: 20px;
	height: 2px;
	border: 0;
	border-radius: 0;
	background: var(--bmt-accent);
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__address {
	margin: 0;
	padding: 3px 0 10px;
	border: 0;
	color: var(--bmt-ink) !important;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__map {
	margin: 0 0 10px;
	border: 1px solid var(--bmt-line);
	background: #F5F6F2;
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons {
	margin: 0;
	gap: 8px;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps {
	min-height: 39px;
	border: 1px solid var(--bmt-line);
	background: #FFFFFF;
	color: var(--bmt-ink);
	box-shadow: none;
	transform: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps:hover,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps:focus-visible {
	border-color: var(--bmt-ink);
	background: var(--bmt-ink);
	color: #FFFFFF;
	box-shadow: none;
	transform: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__ways-title {
	margin: 17px 0 6px;
	padding-top: 12px;
	border-top: 1px solid var(--bmt-line);
	color: var(--bmt-ink);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__ways {
	gap: 0;
}

.bmt-hb--panel-style-premium.bmt-hb--access-grid:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__way {
	min-width: 0;
	padding: 9px 12px 9px 0;
	border: 0;
	border-top: 1px solid var(--bmt-soft-line);
	border-radius: 0;
	background: transparent !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__mode {
	color: var(--bmt-ink) !important;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__way .bmt-hb__detail {
	color: #59605A;
	font-size: 11.5px;
	line-height: 1.42;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__warn {
	margin-top: 12px;
	padding: 9px 11px;
	border: 1px solid rgba(110, 34, 51, 0.34);
	border-radius: 4px;
	background: #FFFFFF !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__warn-title {
	color: #6E2233;
}

/* Les horaires deviennent une grille éditoriale, pas quatre cartes colorées. */
@container bmtpanel (min-width: 760px) {
	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows {
		gap: 0;
		padding: 16px 18px 18px;
	}

	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
		gap: 9px;
		padding: 13px 14px;
		border: 0;
		border-top: 1px solid var(--bmt-line);
		border-radius: 0 !important;
		background: #FFFFFF !important;
		box-shadow: none;
	}

	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row:nth-child(even) {
		border-right: 1px solid var(--bmt-line);
	}

	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row:nth-last-child(-n + 2) {
		border-bottom: 1px solid var(--bmt-line);
	}
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__period {
	color: var(--bmt-ink) !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__creperie,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__creperie--open,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__creperie--closed {
	padding: 3px 0 3px 9px !important;
	border-left: 2px solid var(--bmt-accent);
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__creperie--open {
	color: var(--bmt-ink) !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__creperie--closed {
	color: #6E2233 !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body {
	padding: 10px 0 0;
	border-top: 1px solid var(--bmt-soft-line);
	border-radius: 0;
	background: #FFFFFF !important;
}

/* ------------------------------------------------------- Billetterie */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__panel {
	background: #FFFFFF;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__head {
	padding: 16px 18px 12px;
	border-bottom: 1px solid var(--bmt-line);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__title {
	color: var(--bmt-ink) !important;
}

.bmt-tb__purchase-guide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0 18px;
	border-bottom: 1px solid var(--bmt-line);
}

.bmt-tb__purchase-option {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 9px;
	min-width: 0;
	padding: 14px 14px 14px 0;
	background: #FFFFFF;
}

.bmt-tb__purchase-option + .bmt-tb__purchase-option {
	padding-right: 0;
	padding-left: 14px;
	border-left: 1px solid var(--bmt-line);
}

.bmt-tb__purchase-number {
	color: var(--bmt-accent);
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}

.bmt-tb__purchase-copy {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
}

.bmt-tb__purchase-copy strong {
	color: var(--bmt-ink);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.35;
}

.bmt-tb__purchase-copy > span:not(.bmt-hb__foot) {
	color: #59605A;
	font-size: 10px;
	line-height: 1.42;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta {
	align-self: flex-start;
	min-width: 0;
	margin: 7px 0 0;
	padding: 9px 14px;
	border-color: var(--bmt-accent);
	background: var(--bmt-accent);
	color: var(--bmt-ink);
	box-shadow: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:focus-visible {
	border-color: var(--bmt-ink);
	background: var(--bmt-ink);
	color: #FFFFFF;
}

.bmt-tb__purchase-copy .bmt-hb__foot {
	margin: 2px 0 0;
	padding: 0;
	color: #747A74;
	font-size: 8.5px;
	line-height: 1.35;
}

/* Une seule grille de tarifs, traitée comme un tableau fin. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers {
	gap: 0;
	margin: 12px 18px;
	padding: 0;
	border-top: 1px solid var(--bmt-line);
	border-left: 1px solid var(--bmt-line);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer {
	min-height: 58px;
	padding: 9px 11px;
	border: 0;
	border-right: 1px solid var(--bmt-line);
	border-bottom: 1px solid var(--bmt-line);
	border-radius: 0 !important;
	background: #FFFFFF !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer-name,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__amount {
	color: var(--bmt-ink) !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer--link:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer--link:focus-visible {
	background: rgba(177, 207, 159, 0.12) !important;
	transform: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-full {
	margin: 0 18px 14px;
	padding-top: 10px;
	border-top: 1px solid var(--bmt-line);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-label,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more summary {
	color: var(--bmt-ink);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-label::after {
	content: '';
	display: inline-block;
	width: 22px;
	height: 2px;
	margin-left: 9px;
	vertical-align: middle;
	background: var(--bmt-accent);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 7px;
	padding: 0;
	border-radius: 0 !important;
	background: #FFFFFF !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention {
	padding: 8px 12px;
	border-left: 1px solid var(--bmt-line);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention:first-child {
	padding-left: 0;
	border-left: 0;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__mention--pmr {
	border-top: 3px solid var(--bmt-accent);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__mention-icon,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__mention-title,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__pass-amount {
	color: var(--bmt-ink) !important;
}

@container bmttickets (max-width: 740px) {
	.bmt-tb__purchase-guide {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-tb__purchase-option + .bmt-tb__purchase-option {
		padding-left: 0;
		border-top: 1px solid var(--bmt-line);
		border-left: 0;
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention:first-child {
		padding: 9px 0;
		border-top: 1px solid var(--bmt-soft-line);
		border-left: 0;
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__mention--pmr {
		border-top: 3px solid var(--bmt-accent);
	}
}


/* =========================================================
   Version 2.19 — Billetterie alignée sur le panneau Horaires & accès

   Le panneau 2.18 avait sa propre direction artistique (grille de traits,
   numérotation 01 / 02). Il reprend ici le vocabulaire visuel du bloc Accès :
   intertitres dorés en petites capitales, cartes blanches à filet vert,
   fonds crème. Aucune couleur n'est écrite en dur dans le PHP : tout passe
   par les variables ci-dessous, toujours surchargeables depuis Elementor.
   ========================================================= */

.bmt-hb--tickets {
	--bmt-deep: #0A2E1C;
	--bmt-gold: #A8823C;
	--bmt-leaf: #AAC29E;
	--bmt-cream: #F7F5EF;
	--bmt-band: #F3F6F1;
	--bmt-card-line: rgba(10, 46, 28, 0.12);
	--bmt-band-line: rgba(10, 46, 28, 0.14);
	--bmt-muted: #4F5A4C;
}

/* ------------------------------------------------- Intertitres communs */

.bmt-hb--tickets .bmt-tb__section-label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 11px;
	color: var(--bmt-deep);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bmt-hb--tickets .bmt-tb__section-label::before {
	content: '';
	flex: none;
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-gold);
	border-radius: 50%;
}

/* On neutralise l'ancien trait vert accolé au libellé « Bon à savoir ». */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-label::after {
	content: none;
}

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

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__head {
	padding: 17px 18px 13px;
	border-bottom: 1px solid var(--bmt-band-line);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__title {
	color: var(--bmt-deep) !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__subtitle {
	color: var(--bmt-gold) !important;
	font-weight: 600;
	letter-spacing: 0.06em;
}

/* ------------------------------- 1. Les deux façons d'acheter */

/* Le choix d'achat est la destination principale du panneau : il reçoit
   le même fond doux que le bloc Accès du bouton Horaires. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-label {
	margin: 0;
	padding: 15px 18px 0;
	background: var(--bmt-band);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-guide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 11px 18px 16px;
	border-bottom: 1px solid var(--bmt-band-line);
	background: var(--bmt-band);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-option {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	min-width: 0;
	padding: 12px 13px;
	border: 1px solid var(--bmt-card-line);
	border-left: 3px solid var(--bmt-leaf);
	border-radius: 8px;
	background: #FFFFFF;
	box-shadow: 0 4px 13px rgba(10, 46, 28, 0.045);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-option + .bmt-tb__purchase-option {
	padding-left: 13px;
	border-left: 3px solid var(--bmt-leaf);
}

.bmt-hb--tickets .bmt-tb__purchase-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: var(--bmt-gold);
}

.bmt-hb--tickets .bmt-tb__purchase-icon svg {
	width: 20px;
	height: 20px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy strong {
	color: var(--bmt-deep);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.32;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy > span:not(.bmt-hb__foot) {
	color: var(--bmt-muted);
	font-size: 11px;
	line-height: 1.48;
}

/* Réserver en ligne est l'action forte : vert profond plein. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta {
	align-self: flex-start;
	margin: 9px 0 0;
	padding: 9px 15px;
	border: 1px solid var(--bmt-deep);
	border-radius: 999px;
	background: var(--bmt-deep);
	color: #F8F5EC;
	font-size: 11.5px;
	letter-spacing: 0.03em;
	box-shadow: 0 3px 10px rgba(10, 46, 28, 0.14);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:focus-visible {
	border-color: var(--bmt-gold);
	background: var(--bmt-gold);
	color: #FFFFFF;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__foot {
	margin: 6px 0 0;
	color: #6C7369;
	font-size: 9.5px;
	line-height: 1.4;
}

/* ------------------------------------------ 2. La grille des tarifs */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers-label {
	margin: 15px 18px 10px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers {
	gap: 8px;
	margin: 0 18px;
	padding: 0;
	border: 0;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 3px;
	min-height: 0;
	padding: 10px 12px !important;
	border: 1px solid var(--bmt-card-line) !important;
	border-radius: 8px !important;
	background: var(--bmt-cream) !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-name {
	color: var(--bmt-deep) !important;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__amount {
	flex: none;
	color: var(--bmt-gold) !important;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.1;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-note {
	color: var(--bmt-muted) !important;
	font-size: 10px;
	line-height: 1.42;
}

/* Le pass saisonnier revient dans la grille : dernière rangée pleine
   largeur, filet doré, pour se lire comme un abonnement et non comme un
   septième billet à l'unité. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer--pass {
	grid-column: 1 / -1;
	border-left: 3px solid var(--bmt-gold) !important;
	background: #F6F0E2 !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer--pass .bmt-tb__offer-line {
	align-items: center;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer--link:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offer--link:focus-visible {
	border-color: var(--bmt-leaf) !important;
	background: #FFFFFF !important;
	box-shadow: 0 4px 13px rgba(10, 46, 28, 0.06);
	transform: none;
}

/* --------------------------------------------- 3. Le bon à savoir */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-full,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more {
	margin: 15px 18px 16px;
	padding: 13px 14px;
	border: 0;
	border-top: 1px solid var(--bmt-band-line);
	border-radius: 8px;
	background: var(--bmt-cream);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more summary {
	color: var(--bmt-deep);
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 0;
	padding: 0;
	background: transparent !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention:first-child {
	padding: 0;
	border: 0;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-icon {
	color: var(--bmt-gold) !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__mention-title {
	color: var(--bmt-deep) !important;
	font-size: 11px;
	font-weight: 700;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body .bmt-hb__detail {
	color: var(--bmt-muted) !important;
	font-size: 10.5px;
	line-height: 1.46;
}

/* Plus de traitement d'exception sur la ligne PMR. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-hb__mention--pmr {
	border-top: 0;
}

/* ------------------------------------------------------- Étroit */

@container bmttickets (max-width: 740px) {
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-guide {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-option + .bmt-tb__purchase-option {
		border-top: 1px solid var(--bmt-card-line);
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@container bmttickets (max-width: 440px) {
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-label,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-guide,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers-label,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-full,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more {
		padding-right: 14px;
		padding-left: 14px;
	}

	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers-label,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__notes-full,
	.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__more {
		margin-right: 0;
		margin-left: 0;
	}
}

/* ------------------------------------------------- Flèche « sortie du site »

   L'ancienne flèche était dessinée avec deux bordures et une barre en
   ::after : le coin n'étant pas pivoté, elle se lisait comme un « 7 » barré,
   et l'épaisseur variait selon le zoom. Elle devient un masque SVG net, qui
   suit toujours la couleur du texte. */

.bmt-hb {
	--bmt-extlink-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.1 8.9 8.9 3.1M4.6 3.1h4.3v4.3' fill='none' stroke='%23000' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.bmt-hb .bmt-hb__extlink {
	position: relative;
	flex: none;
	width: 11px;
	height: 11px;
	margin-left: 6px;
	border: 0;
	border-radius: 0;
	background-color: currentColor;
	transform: none;
	-webkit-mask-image: var(--bmt-extlink-icon);
	mask-image: var(--bmt-extlink-icon);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-hb .bmt-hb__extlink::after {
	content: none;
}

.bmt-hb .bmt-hb__toggle:hover .bmt-hb__extlink,
.bmt-hb .bmt-hb__cta:hover .bmt-hb__extlink,
.bmt-hb .bmt-hb__cta:focus-visible .bmt-hb__extlink {
	transform: translate(2px, -2px);
}

/* Le bouton reste une seule ligne, flèche comprise. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta .bmt-hb__extlink {
	margin-left: 0;
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb .bmt-hb__extlink {
		transition: none;
	}
}


/* =========================================================
   Version 2.20 — le panneau Horaires reprend les intertitres de la Billetterie

   Les deux panneaux partageaient déjà la même palette, mais pas la même
   grammaire de titres : « ACCÈS » avait sa pastille dorée, « PÉRIODE » et
   « BON À SAVOIR » n'en avaient pas, et le marqueur d'ouverture du bloc
   repliable se lisait comme un tiret perdu. Tout est aligné ici.
   ========================================================= */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) {
	--bmt-deep: #0A2E1C;
	--bmt-gold: #A8823C;
	--bmt-muted: #4F5A4C;
}

/* ------------------------------------------- Intertitre « Période » */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__thead {
	align-items: center;
	padding-bottom: 9px;
	border-bottom: 1px solid rgba(10, 46, 28, 0.14);
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__th {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--bmt-deep);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__th:not(.bmt-hb__th--creperie)::before {
	content: '';
	flex: none;
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-gold);
	border-radius: 50%;
}

/* ---------------------------------------- Intertitre « Bon à savoir » */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more summary {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	color: var(--bmt-deep);
	font-size: 10px;
	letter-spacing: 0.13em;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more summary::before {
	content: '';
	flex: none;
	order: -1;
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-gold);
	border-radius: 50%;
}

/* Le « + / − » n'est plus collé au mot : il devient l'indicateur de
   repli, tout à droite de la ligne. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more summary span {
	margin-left: auto;
	color: var(--bmt-gold);
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more summary:hover,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more summary:focus-visible {
	color: var(--bmt-gold);
}

/* --------------------------------------------- Sous-titre Orangerie */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__access-title {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

/* --------------------------------------------------- Chiens admis */

/* Le badge noir barré pesait autant qu'un titre. Il redevient un
   pictogramme doré, de la même famille que ceux du Bon à savoir. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__dogs {
	align-items: flex-start;
	gap: 10px;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__dogs-icon {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: var(--bmt-gold);
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__dogs-icon:not(.bmt-hb__dogs-icon--custom) {
	stroke-width: 1.6;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__dogs-text {
	color: var(--bmt-muted);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
}

/* --------------------------------- Pastille dorée pour « Venir au château »

   La 2.18 avait remplacé la pastille par un tiret vert : on revient au
   rond doré, identique à celui de « Horaires du château », « Bon à savoir »
   et des trois intertitres de la Billetterie. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__access > .bmt-hb__access-title::before {
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-gold);
	border-radius: 50%;
	background: transparent;
}

/* Google Maps et Waze redeviennent dorés : ce sont des liens de service,
   pas des actions concurrentes du bouton de réservation. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps {
	border: 1px solid rgba(168, 130, 60, 0.55);
	color: var(--bmt-gold);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps:hover,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps:focus-visible {
	border-color: var(--bmt-gold);
	background: var(--bmt-gold);
	color: #FFFFFF;
}

/* ------------------------------ « Bon à savoir » sur toute la largeur

   En pied compact, tout le contenu vit dans le bloc repliable : il occupait
   une seule colonne de la grille et laissait la moitié du panneau vide. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__bottom--compact .bmt-hb__more {
	grid-column: 1 / -1;
	width: 100%;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body {
	gap: 8px;
}

@container bmtpanel (min-width: 760px) {
	.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__extra-notes {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 26px;
		row-gap: 6px;
	}

	.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__dogs {
		margin: 0;
	}
}


/* =========================================================
   Version 2.21 — les périodes redeviennent des tuiles

   La 2.18 avait transformé les quatre périodes en tableau à filets fins.
   C'est juste mais froid, et surtout ça ne dialogue pas avec la grille des
   tarifs de la Billetterie, qui est en tuiles crème. On rétablit les tuiles,
   avec exactement le même traitement des deux côtés :

     tuile crème + filet 1 px  →  données tarifaires et horaires ;
     carte blanche + filet vert →  informations pratiques (accès, achat).
   ========================================================= */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows {
	gap: 10px;
	padding: 12px 20px 16px;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
	gap: 7px;
	padding: 13px 15px !important;
	border: 1px solid rgba(10, 46, 28, 0.12) !important;
	border-radius: 8px !important;
	background: #F7F5EF !important;
	box-shadow: none;
}

/* Les filets de tableau de la 2.18 n'ont plus lieu d'être. */
@container bmtpanel (min-width: 760px) {
	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows {
		gap: 10px;
		padding: 12px 20px 16px;
	}

	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row,
	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row:nth-child(even),
	.bmt-hb--panel-style-premium.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row:nth-last-child(-n + 2) {
		gap: 7px;
		padding: 13px 15px !important;
		border: 1px solid rgba(10, 46, 28, 0.12) !important;
		border-radius: 8px !important;
		background: #F7F5EF !important;
		box-shadow: none;
	}
}

/* La tuile de la période en cours se signale par le filet doré, comme le
   Pass saisonnier dans la grille des tarifs. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row.is-now {
	border-left: 3px solid var(--bmt-gold) !important;
	background: #F6F0E2 !important;
}

/* L'intertitre « Horaires du château » se cale sur les tuiles. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__thead {
	padding: 15px 20px 9px;
}

/* --------------------------------- « Bon à savoir » qui tient dans sa colonne

   Le pied vit dans la colonne de gauche : trois colonnes fixes y donnaient
   des paragraphes hachés. Le texte s'écoule maintenant en colonnes de
   largeur minimale, donc trois, deux ou une selon la place réelle. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body {
	display: block;
	column-width: 215px;
	column-gap: 26px;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__extra-notes {
	display: contents;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__foot,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__extra-note {
	margin: 0 0 9px;
	break-inside: avoid;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__dogs {
	column-span: all;
	margin: 3px 0 0;
	padding-top: 9px;
	border-top: 1px solid rgba(10, 46, 28, 0.09);
	break-inside: avoid;
}

@container bmtpanel (min-width: 760px) {
	.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__more-body .bmt-hb__extra-notes {
		display: contents;
	}
}


/* =========================================================
   Version 2.22 — une seule anatomie de tuile pour les deux panneaux

   Les tuiles se ressemblaient de loin mais pas de près : l'une mettait en
   avant la plage de dates, l'autre le montant. On fixe une anatomie unique,
   lue de haut en bas :

     1. l'étiquette     — petites capitales dorées : ce dont on parle ;
     2. la valeur       — grande serif vert profond : la réponse cherchée ;
     3. la précision    — gris-vert, petite : le détail utile ;
     4. l'encart        — facultatif, carte blanche dans la tuile.

   Côté horaires la valeur est l'heure d'ouverture, pas la période : c'est
   ce qu'un visiteur cherche réellement. Côté tarifs, c'est le montant.
   ========================================================= */

/* ------------------------------------------- Tuiles « Horaires » */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	row-gap: 8px;
	column-gap: 0;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row > .bmt-hb__when {
	gap: 2px;
}

/* 1. L'étiquette : la période. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__period {
	color: var(--bmt-gold) !important;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* 2. La valeur : l'horaire d'ouverture. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__when > .bmt-hb__detail {
	margin-top: 2px;
	color: var(--bmt-deep) !important;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.1;
}

/* 3. La précision : les jours d'ouverture. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__days {
	color: var(--bmt-muted) !important;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.4;
	text-transform: none;
}

/* 4. L'encart : l'Orangerie, carte blanche posée dans la tuile. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-width: 0;
	max-width: none;
	margin: 2px 0 0;
	padding: 8px 10px !important;
	border: 1px solid rgba(10, 46, 28, 0.11);
	border-left: 3px solid var(--bmt-leaf, #AAC29E);
	border-radius: 6px !important;
	background: #FFFFFF !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie-label {
	color: var(--bmt-gold) !important;
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie-hours {
	color: var(--bmt-deep) !important;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.15;
}

/* Fermé : l'encart le dit en bordeaux, sans changer de forme. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie--closed {
	border-left-color: #A2687A;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie--closed .bmt-hb__creperie-label,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie--closed .bmt-hb__creperie-hours {
	color: #6E2233 !important;
}

/* --------------------------------------------- Tuiles « Tarifs » */

/* Même anatomie : l'étiquette au-dessus, le montant en grand. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-line {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 2px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-name {
	color: var(--bmt-gold) !important;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__amount {
	margin-top: 2px;
	color: var(--bmt-deep) !important;
	font-size: 25px;
	line-height: 1.1;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer-note {
	font-size: 11px;
	line-height: 1.4;
}

/* Le pass saisonnier garde sa pleine largeur, mais reprend l'anatomie en
   ligne : l'encart d'un abonnement n'a pas à écraser la grille. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer--pass .bmt-tb__offer-line {
	flex-direction: row;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer--pass .bmt-tb__amount {
	margin-top: 0;
	flex: none;
}

/* ------------------------------- « Bon à savoir » sous les périodes */

/* Le pied est un élément de la grille du panneau : on l'ancre explicitement
   dans la première colonne, sous les tuiles d'horaires, au lieu de laisser
   le placement automatique décider. */
@container bmtpanel (min-width: 760px) {
	.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__inner > .bmt-hb__bottom {
		grid-column: 1;
	}
}

/* ------------------------------------------- Carte sous l'adresse */

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__map {
	margin: 2px 0 12px;
	border: 1px solid rgba(10, 46, 28, 0.12);
	border-radius: 8px;
	overflow: hidden;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__map .bmt-carte {
	border: 0;
	border-radius: 0;
}

/* Réglages fins de l'encart Orangerie : l'étiquette tient sur une ligne
   dans une tuile de colonne étroite, et « Fermée » garde bien son filet
   bordeaux (la règle générique avait la priorité). */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie-label {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 7.5px;
	letter-spacing: 0.06em;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left .bmt-hb__creperie-hours {
	flex: none;
	white-space: nowrap;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie--closed {
	border-left-color: #A2687A !important;
	background: #FCF7F8 !important;
}


/* =========================================================
   Version 2.23 — paiement mis en avant, grille en liste, achat reformulé
   ========================================================= */

/* ------------------------------- Étiquette « Aujourd'hui / Un autre jour »

   Le visiteur ne choisit pas entre deux boutiques : il choisit une date.
   L'étiquette dorée porte donc le critère de décision, pas le canal. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-eyebrow {
	color: var(--bmt-gold);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy strong {
	margin-top: 1px;
	font-size: 14px;
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 600;
	line-height: 1.2;
}

/* ------------------------------------------- Bandeau paiement

   La consigne « carte conseillée, appoint sur les espèces » est une
   contrainte d'exploitation : elle ne peut pas rester une puce parmi
   d'autres en bas du panneau. Elle prend un bandeau doré, juste après le
   choix d'achat et avant les prix — donc lu avant de sortir son portefeuille. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 11px;
	align-items: start;
	margin: 14px 18px 0;
	padding: 12px 14px;
	border: 1px solid rgba(168, 130, 60, 0.34);
	border-left: 3px solid var(--bmt-gold);
	border-radius: 8px;
	background: #FBF6EA;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 22px;
	color: var(--bmt-gold);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-icon svg {
	width: 22px;
	height: 22px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-copy strong {
	color: #7A5B22;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-copy span {
	color: var(--bmt-muted);
	font-size: 11.5px;
	line-height: 1.5;
}

/* ------------------------------------------ Grille des tarifs en liste

   Sept montants ne sont pas sept objets indépendants : ce sont sept valeurs
   qu'on compare. En tuiles, l'œil doit sauter de case en case ; en liste, les
   montants forment une colonne qui se lit d'un seul balayage vertical.
   L'anatomie ne change pas — étiquette dorée, valeur serif, précision — seul
   le rangement change, parce que la tâche du lecteur n'est pas la même que
   pour les horaires, où l'on cherche une seule période. */
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers {
	display: block;
	gap: 0;
	margin: 0 18px;
	padding: 4px 14px;
	border: 1px solid rgba(10, 46, 28, 0.12);
	border-radius: 8px;
	background: #F7F5EF;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: baseline;
	column-gap: 18px;
	row-gap: 1px;
	min-height: 0;
	padding: 11px 0 !important;
	border: 0 !important;
	border-top: 1px solid rgba(10, 46, 28, 0.1) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer:first-child {
	border-top: 0 !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer-line {
	display: contents;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer-name {
	grid-column: 1;
	grid-row: 1;
	align-self: baseline;
	color: var(--bmt-deep) !important;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__amount {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	color: var(--bmt-deep) !important;
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.15;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer-note {
	grid-column: 1;
	grid-row: 2;
	color: var(--bmt-muted) !important;
	font-size: 10.5px;
	line-height: 1.42;
}

/* Le pass saisonnier reste dans la liste, signalé par le filet doré. */
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer--pass {
	margin: 4px -14px 0;
	padding: 12px 14px !important;
	border-top: 1px solid rgba(168, 130, 60, 0.34) !important;
	background: #F6F0E2 !important;
	box-shadow: inset 3px 0 0 var(--bmt-gold);
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer--pass .bmt-tb__amount {
	color: var(--bmt-gold) !important;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offer--link:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offer--link:focus-visible {
	background: #FFFFFF !important;
}


/* =========================================================
   Version 2.24 — plus de filets latéraux, grille sans exception

   Les filets verts à gauche marquaient une hiérarchie qui n'existait pas :
   toutes les cartes d'un même bloc ont le même statut. On garde un seul
   contour régulier ; la distinction se fait par le fond et la typographie.
   ========================================================= */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-option,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-option + .bmt-tb__purchase-option {
	border: 1px solid var(--bmt-card-line);
	border-radius: 8px;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie--closed {
	border: 1px solid rgba(10, 46, 28, 0.11) !important;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie--closed {
	border-color: rgba(110, 34, 51, 0.22) !important;
}

.bmt-hb--access-grid .bmt-hb__panel .bmt-hb__way {
	border-left: 1px solid var(--bmt-access-card-outline);
}

/* La période en cours se signale par son fond seul. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row.is-now {
	border: 1px solid rgba(168, 130, 60, 0.38) !important;
}

/* Le bandeau paiement garde son contour doré complet, sans filet latéral :
   c'est un avertissement, pas une carte de plus. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment {
	border: 1px solid rgba(168, 130, 60, 0.42);
}

/* ------------------------------- Le pass saisonnier redevient une ligne */

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer--pass,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__offers .bmt-tb__offer--pass {
	grid-column: auto;
	margin: 0;
	padding: 11px 0 !important;
	border-left: 0 !important;
	background: transparent !important;
	box-shadow: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer--pass .bmt-tb__amount {
	color: var(--bmt-deep) !important;
}

/* ------------------------------------ La règle, dite une seule fois */

/* « La vente en ligne ferme le jour même » est une contrainte, pas un
   argument de vente : elle se dit une fois, sous le titre, au lieu d'être
   noyée dans la carte qui explique quoi faire. Chaque carte ne décrit alors
   plus que ce qu'on peut faire. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-note {
	margin: 0;
	padding: 0 18px 12px;
	color: var(--bmt-muted);
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 11.5px;
	font-style: italic;
	line-height: 1.45;
	background: var(--bmt-band);
}

/* Le libellé de section laisse la place à la règle qui le suit. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-label:has(+ .bmt-tb__purchase-note) {
	margin-bottom: 5px;
}


/* =========================================================
   Version 2.25 — vert Boutemont sur l'action, et moins de fonds

   Deux corrections liées. Le bouton de réservation prend le vert Boutemont
   #AAC29E : c'est la seule action du panneau, c'est donc elle qui porte la
   couleur de marque. En contrepartie, on retire les aplats qui la
   concurrençaient — bandeau vert pâle derrière le choix d'achat, bandeau
   doré du paiement. Il ne reste qu'une seule famille de fond, le crème des
   tuiles et des listes ; tout le reste est blanc, séparé par des filets.
   ========================================================= */

.bmt-hb--tickets {
	--bmt-leaf: #AAC29E;
}

/* ------------------------------------------- Le bouton, seul porteur du vert */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta {
	border: 1px solid var(--bmt-leaf);
	background: var(--bmt-leaf);
	color: var(--bmt-deep);
	font-weight: 700;
	box-shadow: none;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__cta:focus-visible {
	border-color: var(--bmt-deep);
	background: var(--bmt-deep);
	color: #F8F5EC;
}

/* ------------------------------------------------- Moins d'aplats */

/* Le choix d'achat n'a plus besoin d'un fond pour exister : deux filets
   suffisent à le détacher de l'en-tête et de la grille. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-label,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-note,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-guide {
	background: transparent;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-guide {
	padding-bottom: 15px;
	border-bottom: 1px solid var(--bmt-band-line);
}

/* Le rappel de paiement garde son contour doré et son pictogramme, mais
   perd son fond : un avertissement n'a pas à crier. */
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment {
	border: 1px solid rgba(168, 130, 60, 0.38);
	background: #FFFFFF;
}


/* =========================================================
   Version 2.26 — le panneau Billetterie en deux colonnes

   Piste franchement différente. Jusqu'ici le panneau empilait cinq blocs :
   il était long, et dans un menu déroulant la hauteur est la ressource
   rare — le bouton finissait sous la ligne de flottaison.

   On reprend donc la composition du panneau Horaires, qui fonctionne :
   à gauche la donnée de référence, à droite ce qu'on doit faire, et en
   dessous, sur toute la largeur, le bon à savoir. Le panneau devient deux
   fois moins haut, le bouton est toujours visible sans défiler, et les deux
   panneaux du site ont enfin la même structure et pas seulement la même
   typographie.

   Les enveloppes de colonnes sont neutres (display: contents) en mode pile :
   le balisage est identique, seule la mise en page change.
   ========================================================= */

.bmt-tb__cols,
.bmt-tb__col {
	display: contents;
}

@container bmttickets (min-width: 720px) {
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__cols {
		display: grid;
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
		align-items: start;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col {
		display: block;
		min-width: 0;
	}

	/* La donnée à gauche, l'action à droite — comme les horaires et l'accès. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices {
		order: 1;
		grid-column: 1;
		padding: 15px 0 16px 18px;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--action {
		order: 2;
		grid-column: 2;
		padding: 15px 18px 16px;
		border-left: 1px solid var(--bmt-band-line);
	}

	/* Dans les colonnes, les marges latérales des blocs disparaissent :
	   c'est la colonne qui porte la gouttière. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-label,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-note,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-guide,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__payment,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__offers-label,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium.bmt-hb--tickets-layout-list .bmt-tb__offers,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__offers {
		margin-left: 0;
		margin-right: 0;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-label,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__offers-label {
		padding-left: 0;
		padding-right: 0;
		padding-top: 0;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-note {
		padding-left: 0;
		padding-right: 0;
	}

	/* Les deux façons d'acheter s'empilent : la colonne est étroite, et
	   l'empilement rend la lecture séquentielle — aujourd'hui, puis un
	   autre jour. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__purchase-guide {
		grid-template-columns: minmax(0, 1fr);
		gap: 9px;
		padding: 0 0 13px;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__payment {
		margin-top: 13px;
		padding: 11px 13px;
	}

	/* Le bon à savoir passe sous les deux colonnes, sur toute la largeur. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__notes-full,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__more {
		margin-top: 0;
		border-top: 1px solid var(--bmt-band-line);
		border-radius: 0;
		background: transparent;
		margin-left: 18px;
		margin-right: 18px;
		padding-left: 0;
		padding-right: 0;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__notes-body {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}


/* =========================================================
   Version 2.27 — colonnes inversées, grille resserrée, moyens de paiement
   ========================================================= */

@container bmttickets (min-width: 720px) {
	/* La visite à gauche, la grille à droite. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--action {
		order: 1;
		grid-column: 1;
		grid-row: 1;
		padding: 15px 18px 16px;
		border-left: 0;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices {
		order: 2;
		grid-column: 2;
		grid-row: 1;
		padding: 15px 18px 16px 0;
		border-left: 0;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__cols {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 18px;
	}

	/* « Bon à savoir » se pose sous la grille des tarifs, sur une seule ligne :
	   il comble le pied de la colonne de droite et équilibre les deux volets. */
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices .bmt-tb__notes-full,
	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices .bmt-tb__more {
		margin: 14px 0 0;
		padding: 13px 0 0;
		border-top: 1px solid var(--bmt-band-line);
		border-radius: 0;
		background: transparent;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices .bmt-tb__notes-body {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 18px;
	}

	.bmt-hb--tickets-compo-colonnes.bmt-hb--panel-style-premium .bmt-tb__col--prices .bmt-tb__notes-body .bmt-hb__mention {
		flex: 1 1 0;
		min-width: 0;
	}
}

/* ------------------------------------------ Grille des tarifs resserrée

   La grille est une référence qu'on consulte, pas l'argument principal du
   panneau : elle n'a pas besoin d'être la plus grosse chose à l'écran. */
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers {
	padding: 2px 13px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer {
	padding: 8px 0 !important;
	column-gap: 14px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer-name {
	font-size: 11.5px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__amount {
	font-size: 17px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offers .bmt-tb__offer-note {
	font-size: 10px;
	line-height: 1.4;
}

/* ------------------------------------------- Moyens de paiement acceptés */

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 7px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-brand {
	padding: 3px 8px;
	border: 1px solid rgba(168, 130, 60, 0.34);
	border-radius: 4px;
	color: #7A5B22;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin-top: 8px;
}

.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__payment-logo {
	width: auto;
	max-width: none;
	height: 20px;
}


/* =========================================================
   Version 2.29 — repères d’en-tête mobiles
   Les widgets de contenu partagent le système bmt-in d’Infos pratiques ;
   les deux actions d’en-tête deviennent des boutons-pictogrammes sur mobile.
   ========================================================= */
.bmt-hb__clock--mobile, .bmt-hb__ticket--mobile { display: none; }
.bmt-hb--mobile-icon-only.is-compact .bmt-hb__toggle { align-items: center; justify-content: center; gap: 0; width: max(44px, var(--bmt-hb-btn-height, 48px)); min-width: max(44px, var(--bmt-hb-btn-height, 48px)); height: max(44px, var(--bmt-hb-btn-height, 48px)); min-height: max(44px, var(--bmt-hb-btn-height, 48px)); padding: 0; }
.bmt-hb--mobile-icon-only.is-compact .bmt-hb__label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.bmt-hb--mobile-icon-only.is-compact .bmt-hb__chevron, .bmt-hb--mobile-icon-only.is-compact .bmt-hb__extlink, .bmt-hb--mobile-icon-only.is-compact .bmt-hb__toggle > .bmt-hb__clock:not(.bmt-hb__clock--mobile), .bmt-hb--mobile-icon-only.is-compact .bmt-hb__toggle > .bmt-hb__ticket:not(.bmt-hb__ticket--mobile) { display: none; }
.bmt-hb--mobile-icon-only.is-compact .bmt-hb__clock--mobile, .bmt-hb--mobile-icon-only.is-compact .bmt-hb__ticket--mobile { display: inline-flex; align-items: center; justify-content: center; width: var(--bmt-hb-icon-size, 18px); height: var(--bmt-hb-icon-size, 18px); }
/* Version 2.29.1 — respirations mobiles des tuiles horaires. */
@media (max-width:600px){.bmt-hb--tickets .bmt-hb__panel{padding:12px 0!important}.bmt-hb--tickets .bmt-hb__rows{display:flex;flex-direction:column;gap:var(--bmt-hb-hours-tiles-gap,10px)}.bmt-hb--tickets .bmt-hb__row{margin:0 12px!important;padding:18px 20px!important;border:1px solid rgba(22,24,26,.13);border-radius:14px}.bmt-hb--tickets .bmt-hb__rows .bmt-hb__row:last-child{margin-bottom:0!important}}
/* Version 2.30 — bouton Plan : même famille que Horaires et Billetterie. */
.bmt-plan{--bmt-plan-size:60px;position:relative;display:none;font-family:'Open Sans',sans-serif}.bmt-plan--desktop{display:inline-block}.bmt-plan__toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:var(--bmt-plan-size);height:var(--bmt-plan-size);padding:0 18px;border:1px solid var(--bmt-plan-border,#fff);background:var(--bmt-plan-bg,transparent);color:var(--bmt-plan-color,#fff);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.bmt-plan__toggle:hover,.bmt-plan__toggle:focus-visible{border-color:var(--bmt-plan-border-hover,var(--bmt-plan-border,#fff));background:var(--bmt-plan-bg-hover,var(--bmt-plan-bg,transparent));color:var(--bmt-plan-color-hover,var(--bmt-plan-color,#fff));outline:none}.bmt-plan.is-open .bmt-plan__toggle{border-color:var(--bmt-plan-border-active,var(--bmt-plan-border,#fff));background:var(--bmt-plan-bg-active,var(--bmt-plan-bg,transparent));color:var(--bmt-plan-color-active,var(--bmt-plan-color,#fff))}.bmt-plan__label{font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.bmt-plan__icon{display:block;width:20px;height:20px;flex:none}.bmt-plan__icon svg{display:block;width:100%;height:100%}.bmt-plan__modal[hidden]{display:none!important}.bmt-plan__modal{position:fixed;z-index:1000001;inset:0;display:grid;place-items:center;padding:20px}.bmt-plan__backdrop{position:absolute;inset:0;background:var(--bmt-plan-overlay,rgba(12,20,15,.78));backdrop-filter:blur(4px)}.bmt-plan__content{position:relative;z-index:1;max-width:min(980px,100%);max-height:90dvh;padding:12px;background:var(--bmt-plan-modal-bg,#fff);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.bmt-plan__content img{display:block;max-width:100%;max-height:calc(90dvh - 24px);width:auto;height:auto;object-fit:contain}.bmt-plan__close{position:absolute;z-index:2;top:-16px;right:-16px;width:42px;height:42px;border:1px solid #fff;border-radius:50%;background:#1b1d1c;color:#fff;font-size:28px;line-height:1;cursor:pointer}.bmt-plan__notice{padding:10px;border:1px dashed #9aa39a;color:#5f6459;font:13px/1.4 'Open Sans',sans-serif}@media(max-width:600px){.bmt-plan{display:inline-block}.bmt-plan--mobile-icon .bmt-plan__toggle{width:var(--bmt-plan-size);padding:0}.bmt-plan--mobile-icon .bmt-plan__label{display:none}}
/* Version 2.30.2 — icône billet uniquement mobile et fermeture sans rose imposé par le thème. */
.bmt-hb--tickets-desktop-no-icon .bmt-hb__toggle>.bmt-hb__ticket:not(.bmt-hb__ticket--mobile){display:none}
.bmt-plan__close{background:var(--bmt-plan-close-bg,#1b1d1c)!important;color:var(--bmt-plan-close-color,#fff)!important;border-color:#fff!important}.bmt-plan__close:hover,.bmt-plan__close:focus-visible{background:var(--bmt-plan-close-bg-hover,#536f45)!important;color:var(--bmt-plan-close-color-hover,#fff)!important;outline:none}
/* Version 2.30.4 — le Plan adopte strictement le bouton du header. */
.bmt-plan--follow{--bmt-plan-bg:transparent!important;--bmt-plan-color:var(--bmt-plan-header-top,#fff)!important;--bmt-plan-border:var(--bmt-plan-header-top,#fff)!important;--bmt-plan-bg-hover:transparent!important;--bmt-plan-color-hover:var(--bmt-plan-header-top,#fff)!important;--bmt-plan-border-hover:var(--bmt-plan-header-top,#fff)!important;--bmt-plan-bg-active:transparent!important;--bmt-plan-color-active:var(--bmt-plan-header-top,#fff)!important;--bmt-plan-border-active:var(--bmt-plan-header-top,#fff)!important}.bmt-plan--follow.bmt-plan--scrolled{--bmt-plan-color:var(--bmt-plan-header-scroll,#1b1d1c)!important;--bmt-plan-border:var(--bmt-plan-header-scroll,#1b1d1c)!important;--bmt-plan-color-hover:var(--bmt-plan-header-scroll,#1b1d1c)!important;--bmt-plan-border-hover:var(--bmt-plan-header-scroll,#1b1d1c)!important;--bmt-plan-color-active:var(--bmt-plan-header-scroll,#1b1d1c)!important;--bmt-plan-border-active:var(--bmt-plan-header-scroll,#1b1d1c)!important}
@media(max-width:600px){.bmt-plan--mobile-icon .bmt-plan__toggle{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important;padding:0!important}.bmt-plan--mobile-icon .bmt-plan__icon{width:18px;height:18px}}
/* Version 2.30.5 — le Plan est un accès mobile : jamais un troisième bouton desktop. */
.bmt-plan,.bmt-plan--desktop{display:none!important}@media(max-width:600px){.bmt-plan,.bmt-plan--desktop{display:inline-block!important}}
/* Version 2.30.6 — Plan visible aussi sur ordinateur, en bouton rond iconique. */
.bmt-plan,.bmt-plan--desktop{display:inline-block!important}.bmt-plan__toggle{width:var(--bmt-plan-size,60px);min-width:var(--bmt-plan-size,60px);height:var(--bmt-plan-size,60px);min-height:var(--bmt-plan-size,60px);padding:0!important;border-radius:50%!important}.bmt-plan__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:600px){.bmt-plan--mobile-icon .bmt-plan__toggle{width:48px!important;min-width:48px!important;height:48px!important;min-height:48px!important}}
/* Version 2.30.7 — aucun état rose hérité d’Elementor dans le header. */
.bmt-plan--follow .bmt-plan__toggle,.bmt-plan--follow .bmt-plan__toggle:hover,.bmt-plan--follow .bmt-plan__toggle:focus,.bmt-plan--follow .bmt-plan__toggle:focus-visible,.bmt-plan--follow.is-open .bmt-plan__toggle{background-color:transparent!important;color:var(--bmt-plan-header-top,#fff)!important;border-color:var(--bmt-plan-header-top,#fff)!important}.bmt-plan--follow.bmt-plan--scrolled .bmt-plan__toggle,.bmt-plan--follow.bmt-plan--scrolled .bmt-plan__toggle:hover,.bmt-plan--follow.bmt-plan--scrolled .bmt-plan__toggle:focus,.bmt-plan--follow.bmt-plan--scrolled .bmt-plan__toggle:focus-visible,.bmt-plan--follow.bmt-plan--scrolled.is-open .bmt-plan__toggle{background-color:transparent!important;color:var(--bmt-plan-header-scroll,#1b1d1c)!important;border-color:var(--bmt-plan-header-scroll,#1b1d1c)!important}

/* Version 2.31 — la carte complète vit dans le footer. Dans le panneau
   Horaires & accès, Leaflet devient un simple repère visuel : moins haut,
   sans ville périphérique, sans commande et sans double encadrement. */
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__map--lite,
.bmt-hb--panel-carte .bmt-hb__map--lite {
	margin: 8px 0 10px;
	border: 1px solid rgba(27, 29, 28, 0.10);
	border-radius: 12px;
	background: #EEF1EC;
	box-shadow: none;
	overflow: hidden;
}

.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__map--lite .bmt-carte,
.bmt-hb--panel-carte .bmt-hb__map--lite .bmt-carte,
.bmt-hb--panel-carte .bmt-hb__map--lite .leaflet-container {
	width: 100%;
	min-height: 88px;
	border: 0;
	border-radius: 11px;
	box-shadow: none;
}

@media (max-width: 600px) {
	.bmt-hb--panel-carte .bmt-hb__map--lite {
		margin-top: 7px;
		margin-bottom: 8px;
	}
}

/* ========================================================================== */
/* Billetterie de page — cohérente avec le panneau du header                  */
/* ========================================================================== */
.bmt-ticket-page{
  --bmtp-green:#4F7539;
  --bmtp-sage:#AAC29E;
  --bmtp-gold:#a8823c;
  --bmtp-ink:#1b1d1c;
  --bmtp-muted:#59605a;
  --bmtp-line:#d9ded7;
  color:var(--bmtp-ink);
  border:1px solid var(--bmtp-line);
  overflow:hidden;
  width:100%;
}
.bmt-ticket-page,.bmt-ticket-page *{box-sizing:border-box}
.bmt-ticket-page__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--bmtp-line)}
.bmt-ticket-page__title,.bmt-ticket-page__subtitle,.bmt-ticket-page p{margin:0}
.bmt-ticket-page__title{font-family:inherit}
.bmt-ticket-page__subtitle{color:var(--bmtp-gold);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.bmt-ticket-page__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:start}
.bmt-ticket-page__col{min-width:0}
.bmt-ticket-page__col--buy{padding-right:24px;border-right:1px solid var(--bmtp-line)}
.bmt-ticket-page__label{display:flex;align-items:center;gap:12px;color:var(--bmtp-green);font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.bmt-ticket-page__label::before{content:"";width:11px;height:11px;border:3px solid var(--bmtp-gold);border-radius:50%;flex:0 0 auto}
.bmt-ticket-page__purchase-note{margin-top:8px!important;font-style:italic}
.bmt-ticket-page__options{display:grid;gap:12px;margin-top:16px}
.bmt-ticket-page__option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:16px 18px;border:1px solid var(--bmtp-line);transition:background-color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.bmt-ticket-page__option:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(79,117,57,.07)}
.bmt-ticket-page__icon,.bmt-ticket-page__payment-icon{display:grid;place-items:center;width:32px;height:32px;color:var(--bmtp-gold)}
.bmt-ticket-page svg{display:block;width:100%;height:100%}
.bmt-ticket-page__icon svg{width:20px;height:20px}
.bmt-ticket-page__payment-icon svg{width:22px;height:22px}
.bmt-ticket-page__eyebrow{display:block;margin-bottom:6px;color:var(--bmtp-muted);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.bmt-ticket-page__option strong,.bmt-ticket-page__payment strong,.bmt-ticket-page__note strong{display:block;color:var(--bmtp-green);font-size:16px;line-height:1.3}
.bmt-ticket-page__copy{margin-top:5px!important;line-height:1.55}
.bmt-ticket-page__cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:100%;margin-top:18px;border:1px solid transparent;border-radius:999px;text-decoration:none!important;font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.bmt-ticket-page__cta svg{width:20px;height:auto;flex:0 0 auto}
.bmt-ticket-page__cta:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(79,117,57,.16)}
.bmt-ticket-page__cta:active{transform:translateY(0);box-shadow:none}
.bmt-ticket-page__foot{display:block;margin-top:11px;font-size:12px;line-height:1.4}
.bmt-ticket-page__payment{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;margin-top:20px;padding:16px 18px;border:1px solid var(--bmtp-line)}
.bmt-ticket-page__brands{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.bmt-ticket-page__brands span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid var(--bmtp-line);border-radius:5px;background:#fff;color:var(--bmtp-green);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.bmt-ticket-page__col--prices>.bmt-ticket-page__label{margin-bottom:16px}
.bmt-ticket-page__prices{padding:4px 20px;border:1px solid var(--bmtp-line)}
.bmt-ticket-page__offer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid var(--bmtp-line)}
.bmt-ticket-page__offer:last-child{border-bottom:0}
.bmt-ticket-page__offer.is-emphasis{position:relative}
.bmt-ticket-page__offer.is-emphasis::before{content:"";position:absolute;inset:6px -14px;border-radius:7px;background:rgba(170,194,158,.13);pointer-events:none}
.bmt-ticket-page__offer>div,.bmt-ticket-page__amount{position:relative}
.bmt-ticket-page__offer-name{display:block;color:var(--bmtp-green);font-size:16px;line-height:1.25}
.bmt-ticket-page__offer-note{display:block;margin-top:5px;color:var(--bmtp-muted);font-size:13px;line-height:1.35}
.bmt-ticket-page__amount{white-space:nowrap;font-size:21px;font-weight:600;line-height:1}
.bmt-ticket-page__notes{margin-top:20px;padding-top:20px;border-top:1px solid var(--bmtp-line)}
.bmt-ticket-page__notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.bmt-ticket-page__note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px}
.bmt-ticket-page__note>span{width:24px;height:24px;color:var(--bmtp-gold)}
.bmt-ticket-page__note>span svg{width:22px;height:22px}
.bmt-ticket-page__note strong{font-size:15px}
.bmt-ticket-page__note-text{margin-top:4px!important;font-size:13px;line-height:1.4}

@media (max-width:900px){
  .bmt-ticket-page__body{grid-template-columns:1fr}
  .bmt-ticket-page__col--buy{padding-right:0;padding-bottom:28px;border-right:0;border-bottom:1px solid var(--bmtp-line)}
  .bmt-ticket-page__col--prices{padding-top:4px}
}
@media (max-width:600px){
  .bmt-ticket-page__head{align-items:flex-start;padding:20px}
  .bmt-ticket-page__subtitle{max-width:42%;font-size:11px;line-height:1.35}
  .bmt-ticket-page__option,.bmt-ticket-page__payment{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:18px 16px}
  .bmt-ticket-page__icon,.bmt-ticket-page__payment-icon{width:27px;height:27px}
  .bmt-ticket-page__cta{width:100%}
  .bmt-ticket-page__prices{padding:5px 16px}
  .bmt-ticket-page__offer{gap:12px;padding:15px 0}
  .bmt-ticket-page__offer-name{font-size:15px}
  .bmt-ticket-page__amount{font-size:21px}
  .bmt-ticket-page__notes-grid{grid-template-columns:1fr}
}

/* ========================================================================== */
/* Horaires de page — données du back-office, habillage piloté par Elementor  */
/* ========================================================================== */
.bmt-hours-page,
.bmt-hours-page *{box-sizing:border-box}
.bmt-hours-page{width:100%;color:inherit}
.bmt-hours-page__head{width:100%}
.bmt-hours-page__kicker,
.bmt-hours-page__title,
.bmt-hours-page__intro,
.bmt-hours-page__period,
.bmt-hours-page__hours,
.bmt-hours-page__days,
.bmt-hours-page__note{margin:0}
.bmt-hours-page__kicker{margin-bottom:14px;color:#a8823c;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.24em;line-height:1.3;text-transform:uppercase}
.bmt-hours-page__title{color:inherit;font-family:inherit;font-weight:600;line-height:1.05}
.bmt-hours-page__intro{margin-top:14px;color:inherit;font-family:inherit;font-size:inherit;line-height:1.55}
.bmt-hours-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:46px}
.bmt-hours-page__tile{display:flex;min-width:0;flex-direction:column;padding:24px;border:1px solid #d9ded7;border-radius:10px;background:#f4f2e9;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.bmt-hours-page__tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,29,28,.06)}
.bmt-hours-page__period{color:#a8823c;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.18em;line-height:1.35;text-transform:uppercase}
.bmt-hours-page__hours{margin-top:16px;color:inherit;font-family:inherit;font-size:clamp(30px,3vw,46px);font-weight:600;line-height:1.02}
.bmt-hours-page__days{margin-top:10px;color:inherit;font-family:inherit;font-size:16px;line-height:1.4}
.bmt-hours-page__creperie{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:auto;padding:14px 16px;border:1px solid #d9ded7;border-radius:8px;background:#fff;color:inherit}
.bmt-hours-page__days+.bmt-hours-page__creperie{margin-top:18px}
.bmt-hours-page__creperie-label{min-width:0;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;line-height:1.35;text-transform:uppercase}
.bmt-hours-page__creperie-time{font-family:inherit;font-size:16px;font-weight:600;line-height:1.2;white-space:nowrap}
.bmt-hours-page__creperie.is-closed{border-color:#d8aeb9;background:#fbf5f6;color:#76233b}
.bmt-hours-page__notes{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:28px}
.bmt-hours-page__note{color:inherit;font-family:inherit;font-size:inherit;line-height:1.5}
@media(max-width:1024px){.bmt-hours-page__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .bmt-hours-page__grid{grid-template-columns:1fr;gap:12px;margin-top:30px}
  .bmt-hours-page__tile{padding:20px}
  .bmt-hours-page__hours{font-size:36px}
  .bmt-hours-page__creperie{padding:12px 14px}
  .bmt-hours-page__notes{margin-top:20px}
}

/* ========================================================================== */
/* Lieu, accès et parking de page                                              */
/* ========================================================================== */
.bmt-access-page,
.bmt-access-page *{box-sizing:border-box}
.bmt-access-page{--bmt-access-copy:52%;width:100%;color:inherit}
.bmt-access-page p,
.bmt-access-page h2,
.bmt-access-page h3,
.bmt-access-page figure{margin:0}
.bmt-access-page__main{display:grid;grid-template-columns:minmax(0,var(--bmt-access-copy)) minmax(0,1fr);align-items:start;gap:52px}
.bmt-access-page--image-left .bmt-access-page__copy-col{order:2}
.bmt-access-page--image-left .bmt-access-page__media{order:1}
.bmt-access-page__copy-col{min-width:0}
.bmt-access-page__kicker{margin-bottom:18px!important;color:#a8823c;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.26em;line-height:1.3;text-transform:uppercase}
.bmt-access-page__title{color:inherit;font-family:inherit;font-weight:600;line-height:1.08;text-transform:uppercase}
.bmt-access-page__ways-title{margin-top:24px!important;color:inherit;font-family:inherit;font-weight:700;letter-spacing:.25em;line-height:1.3;text-transform:uppercase}
.bmt-access-page__ways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:22px}
.bmt-access-page__way{min-width:0;padding:12px 0 12px 18px;border-left:1px solid #323533;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.bmt-access-page__way:hover{transform:translateX(2px)}
.bmt-access-page__way-title{margin:0 0 4px!important;color:inherit;font-family:inherit;font-weight:700;letter-spacing:.2em;line-height:1.35;text-transform:uppercase}
.bmt-access-page__way-text{color:inherit;font-family:inherit;font-size:inherit;line-height:1.48}
.bmt-access-page__media{width:100%;height:520px;overflow:hidden}
.bmt-access-page__media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}
.bmt-access-page__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.bmt-access-page__link{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid currentColor;border-radius:999px;color:inherit;text-decoration:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.bmt-access-page__link:hover{transform:translateY(-1px)}
.bmt-access-page__warning{margin-top:36px;padding:24px 28px;background:#e9e6da}
.bmt-access-page__warning-kicker{margin-bottom:18px!important;color:#a8823c;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.25em;line-height:1.3;text-transform:uppercase}
.bmt-access-page__warning-title{color:inherit;font-family:inherit;font-weight:600;line-height:1.25;text-transform:uppercase}
.bmt-access-page__warning-text{margin-top:14px!important;color:inherit;font-family:inherit;font-size:inherit;line-height:1.5}
@media(max-width:900px){
  .bmt-access-page__main{grid-template-columns:1fr}
  .bmt-access-page--image-left .bmt-access-page__copy-col,
  .bmt-access-page--image-left .bmt-access-page__media{order:initial}
  .bmt-access-page__media{height:420px}
}
@media(max-width:600px){
  .bmt-access-page{padding:28px 20px!important}
  .bmt-access-page__main{gap:28px}
  .bmt-access-page__ways{grid-template-columns:1fr;gap:14px;margin-top:18px}
  .bmt-access-page__way{padding:10px 0 10px 14px}
  .bmt-access-page__media{height:280px}
  .bmt-access-page__warning{margin-top:26px;padding:20px}
  .bmt-access-page__links{display:grid;grid-template-columns:1fr 1fr}
}
/* Le bloc Parking des bus occupe toute la largeur. */
.bmt-access-page>.bmt-access-page__warning{width:100%;max-width:none;margin-top:36px}

/* ========================================================================== */
/* Visites guidées, scolaires et groupes — grille éditoriale                  */
/* ========================================================================== */
.bmt-guided-grid,.bmt-guided-grid *{box-sizing:border-box}
.bmt-guided-grid{width:100%;padding:64px;background:#f7f6f1;color:inherit}
.bmt-guided-grid p,.bmt-guided-grid h1,.bmt-guided-grid h2,.bmt-guided-grid h3,.bmt-guided-grid figure{margin:0}
.bmt-guided-grid__head{max-width:820px}
.bmt-guided-grid__eyebrow{margin-bottom:16px!important;color:#a8823c;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.26em;line-height:1.35;text-transform:uppercase}
.bmt-guided-grid__title{color:inherit;font-family:inherit;font-weight:600;line-height:1.02}
.bmt-guided-grid__intro{margin-top:20px;color:inherit;font-family:inherit;font-size:inherit;line-height:1.6}
.bmt-guided-grid__intro>*:first-child{margin-top:0}.bmt-guided-grid__intro>*:last-child{margin-bottom:0}
.bmt-guided-grid__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;margin-top:46px}
.bmt-guided-grid__card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d9ded7;border-top:3px solid #AAC29E;background:#fff;transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.bmt-guided-grid__card:hover{border-color:#AAC29E;background:#f1f4ef;box-shadow:0 18px 42px rgba(27,29,28,.08);transform:translateY(-4px)}
.bmt-guided-grid__card:focus-within{border-color:#AAC29E;background:#e5ece1}
.bmt-guided-grid__body{display:flex;flex:1;min-width:0;flex-direction:column;padding:28px}
.bmt-guided-grid__number{display:block;margin-bottom:38px;color:#AAC29E;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.18em;line-height:1}
.bmt-guided-grid__kicker{margin-bottom:12px!important;color:#a8823c;font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.2em;line-height:1.35;text-transform:uppercase}
.bmt-guided-grid__card-title{color:inherit;font-family:inherit;font-weight:600;line-height:1.08}
.bmt-guided-grid__text{margin-top:16px!important;color:inherit;font-family:inherit;font-size:inherit;line-height:1.55}
.bmt-guided-grid__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #d9ded7}
.bmt-guided-grid__meta>div{display:flex;min-width:0;flex-direction:column;gap:5px}
.bmt-guided-grid__meta-label{color:#a8823c;font-family:inherit;font-size:9px;font-weight:700;letter-spacing:.17em;line-height:1.3;text-transform:uppercase}
.bmt-guided-grid__meta-value{color:inherit;font-family:inherit;font-size:14px;font-weight:600;line-height:1.35}
.bmt-guided-grid__button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:13px;margin-top:auto;padding:13px 20px;border:1px solid #AAC29E;border-radius:999px;background:#AAC29E;color:#1b1d1c;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.2;text-align:center;text-decoration:none!important;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.bmt-guided-grid__meta+.bmt-guided-grid__button{margin-top:24px}
.bmt-guided-grid__button:hover,.bmt-guided-grid__button:focus-visible{border-color:#4F7539;background:#4F7539;color:#fff;box-shadow:0 8px 18px rgba(27,29,28,.1);transform:translateY(-2px)}
.bmt-guided-grid__button:active{background:#4F7539;color:#fff;box-shadow:none;transform:translateY(0)}
.bmt-guided-grid__footer{margin-top:30px!important;padding-top:20px;border-top:1px solid #d9ded7;color:inherit;font-family:inherit;font-size:13px;line-height:1.5}
@media(max-width:1024px){
  .bmt-guided-grid{padding:46px 36px 42px}
  .bmt-guided-grid__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .bmt-guided-grid{padding:34px 18px 32px}
  .bmt-guided-grid__cards{grid-template-columns:1fr;gap:16px;margin-top:32px}
  .bmt-guided-grid__body{padding:24px 22px}
  .bmt-guided-grid__number{margin-bottom:26px}
  .bmt-guided-grid__button{width:100%;align-self:stretch}
}

/* ========================================================================== */
/* Pique-nique — informations pratiques sans photographie                     */
/* ========================================================================== */
.bmt-picnic,.bmt-picnic *{box-sizing:border-box}
.bmt-picnic{width:100%;padding:60px 64px 54px;background:#f7f6f1;color:inherit}
.bmt-picnic p,.bmt-picnic h1,.bmt-picnic h2,.bmt-picnic h3{margin:0}
.bmt-picnic__head{max-width:820px}
.bmt-picnic__eyebrow{margin-bottom:16px!important;color:#a8823c;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.26em;line-height:1.35;text-transform:uppercase}
.bmt-picnic__title{color:inherit;font-family:inherit;font-size:clamp(36px,4vw,62px);font-weight:600;line-height:1.02}
.bmt-picnic__intro{margin-top:20px;color:inherit;font-family:inherit;font-size:inherit;line-height:1.6}
.bmt-picnic__intro>*:first-child{margin-top:0}.bmt-picnic__intro>*:last-child{margin-bottom:0}
.bmt-picnic__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:42px}
.bmt-picnic__fact{min-width:0;padding:24px;border:1px solid #d9ded7;border-top:3px solid #AAC29E;background:#fff;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.bmt-picnic__fact:hover{border-color:#AAC29E;background:#f1f4ef;box-shadow:0 12px 28px rgba(27,29,28,.06);transform:translateY(-3px)}
.bmt-picnic__fact-value{display:block;color:#AAC29E;font-family:inherit;font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1}
.bmt-picnic__fact-label{margin-top:16px!important;color:inherit;font-family:inherit;font-size:15px;font-weight:700;line-height:1.3}
.bmt-picnic__fact-text{margin-top:8px!important;color:inherit;font-family:inherit;font-size:13px;line-height:1.5}
.bmt-picnic__panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin-top:42px}
.bmt-picnic__panel{min-width:0;padding:26px 8px 4px 0;border-top:1px solid #AAC29E}
.bmt-picnic__panel-title{color:inherit;font-family:inherit;font-size:20px;font-weight:600;line-height:1.25}
.bmt-picnic__panel-text{margin-top:14px!important;color:inherit;font-family:inherit;font-size:inherit;line-height:1.6}
.bmt-picnic__panel-text>*:first-child{margin-top:0}.bmt-picnic__panel-text>*:last-child{margin-bottom:0}
.bmt-picnic__note{margin-top:20px!important;padding:15px 18px;background:#e9e6da;color:inherit;font-family:inherit;font-size:13px;line-height:1.5}
.bmt-picnic__button{display:inline-flex;align-items:center;justify-content:center;gap:13px;margin-top:22px;padding:13px 20px;border:1px solid #4F7539;border-radius:999px;background:transparent;color:#4F7539;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.2;text-align:center;text-decoration:none!important;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.bmt-picnic__button:hover,.bmt-picnic__button:focus-visible{border-color:#AAC29E;background:#AAC29E;color:#1b1d1c;transform:translateY(-2px)}
.bmt-picnic__button:active{background:#4F7539;color:#fff;transform:translateY(0)}
@media(max-width:900px){.bmt-picnic{padding:44px 36px 42px}.bmt-picnic__facts{grid-template-columns:repeat(3,minmax(0,1fr))}.bmt-picnic__panels{gap:28px}}
@media(max-width:600px){
  .bmt-picnic{padding:34px 18px 32px}
  .bmt-picnic__title{font-size:clamp(32px,10vw,44px)}
  .bmt-picnic__facts{grid-template-columns:1fr;gap:12px;margin-top:32px}
  .bmt-picnic__panels{grid-template-columns:1fr;gap:24px;margin-top:32px}
  .bmt-picnic__button{width:100%}
}

/* =========================================================
   Version 2.19 — lisibilité : agrandissement des textes à
   l'intérieur des panneaux Horaires & Billetterie.
   Le fichier accumule de nombreuses surcharges historiques de
   spécificité variable sur ces mêmes classes ; on fixe ici la
   taille définitive avec !important pour que ce réglage
   l'emporte de façon fiable, quel que soit l'aspect ou la
   densité choisis dans Elementor.
   ========================================================= */

.bmt-hb__panel .bmt-hb__th,
.bmt-hb__panel .bmt-hb__access-title,
.bmt-hb__panel .bmt-hb__panel-title {
	font-size: 13.5px !important;
}

.bmt-hb__panel .bmt-hb__title {
	font-size: 21px !important;
}

.bmt-hb__panel .bmt-hb__subtitle {
	font-size: 13.5px !important;
}

.bmt-hb__panel .bmt-hb__period {
	font-size: 20px !important;
}

.bmt-hb__panel .bmt-hb__days {
	font-size: 13.5px !important;
}

.bmt-hb__panel .bmt-hb__detail {
	font-size: 18px !important;
}

.bmt-hb__panel .bmt-hb__way .bmt-hb__detail {
	font-size: 15.5px !important;
}

.bmt-hb__panel .bmt-hb__warn .bmt-hb__detail,
.bmt-hb__panel .bmt-hb__mention .bmt-hb__detail,
.bmt-hb__panel .bmt-hb__mentions .bmt-hb__detail {
	font-size: 14.5px !important;
}

.bmt-hb__panel .bmt-hb__address {
	font-size: 15.5px !important;
}

.bmt-hb__panel .bmt-hb__mode {
	font-size: 13.5px !important;
}

.bmt-hb__panel .bmt-hb__maps {
	font-size: 14px !important;
}

.bmt-hb__panel .bmt-hb__creperie-label {
	font-size: 10.5px !important;
}

.bmt-hb__panel .bmt-hb__creperie-hours {
	font-size: 14px !important;
}

.bmt-hb__panel .bmt-hb__bottom .bmt-hb__foot,
.bmt-hb__panel .bmt-hb__bottom .bmt-hb__extra-note,
.bmt-hb__panel .bmt-hb__bottom .bmt-hb__dogs-text {
	font-size: 13.5px !important;
}

.bmt-hb__panel .bmt-hb__link {
	font-size: 13.5px !important;
}

/* =========================================================
   Version 2.20 — lisibilité : agrandissement des textes à
   l'intérieur du panneau Billetterie (mêmes principes que la
   Version 2.19 pour le panneau Horaires : les classes .bmt-tb__
   du panneau billetterie sont surchargées par endroits selon le
   style visuel choisi (« premium » par défaut), on fixe donc la
   taille définitive avec !important.
   ========================================================= */

.bmt-tb__title {
	font-size: 26px !important;
}

.bmt-tb__subtitle {
	font-size: 12.5px !important;
}

.bmt-hb--tickets .bmt-tb__section-label,
.bmt-tb__notes-label {
	font-size: 12.5px !important;
}

.bmt-tb__purchase-eyebrow,
.bmt-hb--panel-style-premium.bmt-hb--tickets .bmt-tb__purchase-eyebrow {
	font-size: 11px !important;
}

.bmt-tb__purchase-copy strong {
	font-size: 14px !important;
}

.bmt-tb__purchase-copy > span:not(.bmt-hb__foot) {
	font-size: 13px !important;
}

.bmt-tb__purchase-copy .bmt-hb__foot {
	font-size: 11px !important;
}

.bmt-tb__offer-name {
	font-size: 14px !important;
}

.bmt-tb__amount {
	font-size: 19px !important;
}

.bmt-tb__offer-note {
	font-size: 12px !important;
}

.bmt-tb__pass-amount {
	font-size: 13px !important;
}

.bmt-tb__same-day-title {
	font-size: 14px !important;
}

.bmt-tb__same-day-text {
	font-size: 13px !important;
}

.bmt-tb__payment-copy strong {
	font-size: 15px !important;
}

.bmt-tb__payment-copy span {
	font-size: 13.5px !important;
}

.bmt-hb__cta {
	font-size: 14px !important;
}

/* =========================================================
   Version 2.21 — « Bon à savoir » et « Comment venir ? »
   alignés sur le même style que « Horaires du château » et
   « Venir au château » (taille, graisse, couleur, pastille).
   ========================================================= */

.bmt-hb__more summary {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	color: #0A2E1C !important;
}

.bmt-hb__ways-title {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	color: #0A2E1C !important;
}

.bmt-hb__ways-title::before {
	content: '';
	flex: none;
	width: 8px;
	height: 8px;
	border: 2px solid #A8823C;
	border-radius: 50%;
}

/* =========================================================
   Version 2.22 — correction : l'icône billet "mobile"
   (.bmt-hb__ticket--mobile) était affichée en permanence, y
   compris sur ordinateur, car une règle plus loin dans ce
   fichier (.bmt-hb--tickets .bmt-hb__ticket) avait une
   spécificité plus forte que le display:none par défaut.
   On la cache désormais explicitement sur ordinateur et on ne
   la réaffiche uniquement lorsque le widget atteint sa largeur compacte.
   ========================================================= */

.bmt-hb__ticket--mobile {
	display: none !important;
}

.bmt-hb--mobile-icon-only.is-compact .bmt-hb__ticket--mobile {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--bmt-tb-icon-size, 17px);
	height: var(--bmt-tb-icon-size, 17px);
}

/* =========================================================
   Version 2.23 — panneaux Horaires/Billetterie plus compacts
   sur mobile. La Version 2.19 fixe des tailles de texte plus
   grandes pour la lisibilité, avec !important, sans distinguer
   ordinateur et mobile : cumulées au padding des tuiles, elles
   rendaient le panneau très haut et dense sur petit écran.
   On resserre ici uniquement sous 600px ; le réglage desktop
   de la Version 2.19 n'est pas touché.
   ========================================================= */

@media (max-width: 600px) {
	.bmt-hb--tickets .bmt-hb__row {
		padding: 12px 16px !important;
		row-gap: 4px !important;
	}

	.bmt-hb--tickets .bmt-hb__rows {
		gap: var(--bmt-hb-hours-tiles-gap, 8px) !important;
	}

	.bmt-hb--tickets .bmt-hb__panel .bmt-hb__period {
		font-size: 15px !important;
	}

	.bmt-hb--tickets .bmt-hb__panel .bmt-hb__detail {
		font-size: 14px !important;
	}

	.bmt-hb--tickets .bmt-hb__panel .bmt-hb__days {
		font-size: 11px !important;
	}

	.bmt-hb--tickets .bmt-hb__thead,
	.bmt-hb--tickets .bmt-hb__panel .bmt-hb__thead {
		padding: 12px 20px 4px !important;
	}

	.bmt-hb--tickets .bmt-hb__panel .bmt-hb__head {
		padding: 16px 20px 12px !important;
	}
}

/* Version 2.42 — couche terminale : les valeurs Elementor du widget
   Horaires prennent le pas sur les surcharges historiques ci-dessus. */
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__toggle {
	min-width: 44px;
	min-height: max(44px, var(--bmt-hb-btn-height, 56px));
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__clock,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__clock--mobile {
	width: var(--bmt-hb-icon-size) !important;
	height: var(--bmt-hb-icon-size) !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__chevron {
	width: var(--bmt-hb-chevron-size);
	height: var(--bmt-hb-chevron-size);
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__panel {
	box-sizing: border-box;
	width: min(var(--bmt-hb-w, 1040px), calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter))) !important;
	max-width: calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter));
	padding: var(--bmt-hb-panel-padding) !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	transform: translateX(calc(var(--bmt-hb-panel-offset-x) + var(--bmt-hb-clamp-x))) !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__inner {
	gap: var(--bmt-hb-content-gap) !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__head {
	padding: var(--bmt-hb-head-padding) !important;
}
.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-hb-hours-columns), minmax(0, 1fr)) !important;
	gap: var(--bmt-hb-hours-tiles-gap, 10px) !important;
	padding: var(--bmt-hb-hours-padding) !important;
}
.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__thead {
	grid-column: 1 / -1;
}
.bmt-hb--hours-cards:not(.bmt-hb--tickets) .bmt-hb__cols-left > .bmt-hb__rows > .bmt-hb__row {
	min-width: 0;
	margin: 0 !important;
	padding: var(--bmt-hb-hours-card-padding) !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__access {
	padding: var(--bmt-hb-access-padding) !important;
}
.bmt-hb--access-grid:not(.bmt-hb--tickets) .bmt-hb__ways {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-hb-access-columns), minmax(0, 1fr)) !important;
	gap: var(--bmt-hb-access-gap) !important;
}
.bmt-hb--access-grid:not(.bmt-hb--tickets) .bmt-hb__way {
	min-width: 0;
	padding: var(--bmt-hb-access-card-padding) !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__title { font-size: var(--bmt-hb-title-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__subtitle { font-size: var(--bmt-hb-subtitle-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__th,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__access-title,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__ways-title,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__more summary { font-size: var(--bmt-hb-section-title-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__period { font-size: var(--bmt-hb-period-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__detail { font-size: var(--bmt-hb-detail-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__days { font-size: var(--bmt-hb-days-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__way .bmt-hb__detail,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__warn .bmt-hb__detail { font-size: var(--bmt-hb-access-detail-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__mode { font-size: var(--bmt-hb-mode-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__address { font-size: var(--bmt-hb-address-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__maps { font-size: var(--bmt-hb-maps-size) !important; }
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__foot,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__extra-note,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__dogs-text,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__link { font-size: var(--bmt-hb-footer-size) !important; }
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__inner { display: block !important; }
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__access,
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__orangerie,
.bmt-hb:not(.bmt-hb--tickets).is-compact .bmt-hb__bottom {
	width: auto;
	height: auto;
	grid-column: auto;
	grid-row: auto;
}
.bmt-hb--mobile-icon-only.is-compact:not(.bmt-hb--tickets) .bmt-hb__toggle {
	width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	padding: 0 !important;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__toggle:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__maps:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__link:focus-visible,
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__more summary:focus-visible {
	outline: 2px solid var(--bmt-accent, #AAC29E);
	outline-offset: 3px;
}
.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__links--buttons .bmt-hb__maps { min-height: 44px; }

/* Version 2.43 — couche terminale Billetterie : tous les réglages
   responsive Elementor restent prioritaires sur l'historique du widget. */
.bmt-hb--tickets {
	--bmt-tb-icon-size: 17px;
	--bmt-tb-chevron-size: 11px;
	--bmt-tb-panel-offset-x: 0px;
	--bmt-hb-clamp-x: 0px;
	--bmt-hb-viewport-gutter: 12px;
	--bmt-tb-panel-padding: 0px;
	--bmt-tb-head-padding: 17px 18px 13px;
	--bmt-tb-columns-gap: 18px;
	--bmt-tb-offer-columns: 3;
	--bmt-tb-offers-gap: 8px;
	--bmt-tb-offer-padding: 10px 12px;
	--bmt-tb-offer-list-padding: 8px 0;
	--bmt-tb-offer-radius: 8px;
	--bmt-tb-title-size: 26px;
	--bmt-tb-subtitle-size: 12.5px;
	--bmt-tb-section-size: 12.5px;
	--bmt-tb-eyebrow-size: 11px;
	--bmt-tb-purchase-title-size: 14px;
	--bmt-tb-purchase-text-size: 13px;
	--bmt-tb-payment-title-size: 15px;
	--bmt-tb-payment-text-size: 13.5px;
	--bmt-tb-offer-name-size: 14px;
	--bmt-tb-amount-size: 19px;
	--bmt-tb-offer-note-size: 12px;
	--bmt-tb-note-title-size: 13.5px;
	--bmt-tb-note-text-size: 14.5px;
	--bmt-tb-cta-size: 14px;
	--bmt-tb-foot-size: 11px;
}
.bmt-hb--tickets .bmt-hb__toggle {
	min-width: 44px;
	min-height: max(44px, var(--bmt-hb-btn-height, 56px));
}
.bmt-hb--tickets .bmt-hb__ticket,
.bmt-hb--tickets .bmt-hb__ticket--mobile {
	width: var(--bmt-tb-icon-size) !important;
	height: var(--bmt-tb-icon-size) !important;
}
.bmt-hb--tickets .bmt-hb__ticket svg {
	display: block;
	width: 100% !important;
	height: auto !important;
}
.bmt-hb--tickets .bmt-hb__chevron {
	width: var(--bmt-tb-chevron-size) !important;
	height: var(--bmt-tb-chevron-size) !important;
}
.bmt-hb--tickets .bmt-hb__panel {
	box-sizing: border-box;
	width: min(var(--bmt-hb-w, 880px), calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter))) !important;
	max-width: calc(100dvw - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter));
	max-height: min(var(--bmt-hb-panel-max, 680px), calc(100dvh - var(--bmt-hb-viewport-gutter) - var(--bmt-hb-viewport-gutter))) !important;
	padding: var(--bmt-tb-panel-padding) !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	transform: translateX(calc(var(--bmt-tb-panel-offset-x) + var(--bmt-hb-clamp-x))) !important;
}
.bmt-hb--tickets .bmt-tb__head {
	padding: var(--bmt-tb-head-padding) !important;
}
.bmt-hb--tickets.bmt-hb--tickets-compo-colonnes .bmt-tb__cols {
	column-gap: var(--bmt-tb-columns-gap) !important;
}
.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offers {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-tb-offer-columns), minmax(0, 1fr)) !important;
	gap: var(--bmt-tb-offers-gap) !important;
}
.bmt-hb--tickets.bmt-hb--tickets-layout-cards .bmt-tb__offer {
	min-width: 0;
	padding: var(--bmt-tb-offer-padding) !important;
	border-radius: var(--bmt-tb-offer-radius) !important;
}
.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offer {
	min-width: 0;
	padding: var(--bmt-tb-offer-list-padding) !important;
	border-radius: 0 !important;
}
.bmt-hb--tickets .bmt-tb__title { font-size: var(--bmt-tb-title-size) !important; }
.bmt-hb--tickets .bmt-tb__subtitle { font-size: var(--bmt-tb-subtitle-size) !important; }
.bmt-hb--tickets .bmt-tb__section-label,
.bmt-hb--tickets .bmt-tb__notes-label,
.bmt-hb--tickets .bmt-hb__more summary { font-size: var(--bmt-tb-section-size) !important; }
.bmt-hb--tickets .bmt-tb__purchase-eyebrow { font-size: var(--bmt-tb-eyebrow-size) !important; }
.bmt-hb--tickets .bmt-tb__purchase-copy strong,
.bmt-hb--tickets .bmt-tb__same-day-title { font-size: var(--bmt-tb-purchase-title-size) !important; }
.bmt-hb--tickets .bmt-tb__purchase-copy > span:not(.bmt-hb__foot),
.bmt-hb--tickets .bmt-tb__same-day-text { font-size: var(--bmt-tb-purchase-text-size) !important; }
.bmt-hb--tickets .bmt-tb__payment-copy strong { font-size: var(--bmt-tb-payment-title-size) !important; }
.bmt-hb--tickets .bmt-tb__payment-copy span { font-size: var(--bmt-tb-payment-text-size) !important; }
.bmt-hb--tickets .bmt-tb__offer-name { font-size: var(--bmt-tb-offer-name-size) !important; }
.bmt-hb--tickets .bmt-tb__amount { font-size: var(--bmt-tb-amount-size) !important; }
.bmt-hb--tickets .bmt-tb__offer-note { font-size: var(--bmt-tb-offer-note-size) !important; }
.bmt-hb--tickets .bmt-hb__mention-title { font-size: var(--bmt-tb-note-title-size) !important; }
.bmt-hb--tickets .bmt-hb__mention .bmt-hb__detail { font-size: var(--bmt-tb-note-text-size) !important; }
.bmt-hb--tickets .bmt-hb__cta {
	min-height: 44px;
	font-size: var(--bmt-tb-cta-size) !important;
}
.bmt-hb--tickets .bmt-tb__purchase-copy .bmt-hb__foot { font-size: var(--bmt-tb-foot-size) !important; }
.bmt-hb--tickets.is-compact .bmt-tb__cols,
.bmt-hb--tickets.is-compact .bmt-tb__col {
	display: block !important;
	width: auto;
	grid-column: auto !important;
	grid-row: auto !important;
}
.bmt-hb--tickets.is-compact .bmt-tb__col--action,
.bmt-hb--tickets.is-compact .bmt-tb__col--prices {
	padding: 14px !important;
	border-left: 0 !important;
}
.bmt-hb--tickets.is-compact .bmt-tb__col--prices {
	padding-top: 0 !important;
}
.bmt-hb--tickets.is-compact .bmt-tb__purchase-guide {
	grid-template-columns: minmax(0, 1fr) !important;
}
.bmt-hb--tickets.is-compact .bmt-tb__notes-body {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
}
.bmt-hb--tickets.bmt-hb--mobile-icon-only.is-compact .bmt-hb__toggle {
	width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-width: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	min-height: max(44px, var(--bmt-hb-btn-height, 48px)) !important;
	padding: 0 !important;
}
.bmt-hb--tickets .bmt-hb__toggle:focus-visible,
.bmt-hb--tickets .bmt-hb__cta:focus-visible,
.bmt-hb--tickets .bmt-tb__offer--link:focus-visible,
.bmt-hb--tickets .bmt-hb__more summary:focus-visible {
	outline: 2px solid var(--bmt-accent, #AAC29E);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.bmt-hb--tickets .bmt-hb__toggle,
	.bmt-hb--tickets .bmt-hb__panel,
	.bmt-hb--tickets .bmt-hb__chevron,
	.bmt-hb--tickets .bmt-hb__cta {
		animation: none !important;
		transition-duration: 0.01ms !important;
	}
}

/* Version 2.44 — véritable off-canvas mobile pour Horaires et Billetterie. */
.bmt-hb {
	--bmt-hb-offcanvas-bg: #FFFFFF;
	--bmt-hb-offcanvas-bar-bg: #FFFFFF;
	--bmt-hb-offcanvas-bar-color: #0A2E1C;
	--bmt-hb-offcanvas-close-bg: #1B1D1C;
	--bmt-hb-offcanvas-close-color: #FFFFFF;
	--bmt-hb-offcanvas-overlay: rgba(10, 22, 15, 0.94);
}

.bmt-hb__backdrop,
.bmt-hb__offcanvas-bar {
	display: none;
}

html.bmt-hb-offcanvas-open,
body.bmt-hb-offcanvas-open {
	overflow: hidden !important;
	overscroll-behavior: none;
}

.bmt-hb--mobile-offcanvas.is-compact.is-open .bmt-hb__backdrop {
	position: fixed;
	z-index: calc(var(--bmt-hb-z, 99999) + 1);
	inset: 0;
	display: block;
	width: 100dvw;
	height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--bmt-hb-offcanvas-overlay);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	cursor: pointer;
}

.bmt-hb--mobile-offcanvas.is-compact .bmt-hb__panel {
	position: fixed !important;
	z-index: calc(var(--bmt-hb-z, 99999) + 2) !important;
	inset: 0 !important;
	display: block;
	box-sizing: border-box;
	width: 100dvw !important;
	min-width: 0 !important;
	max-width: 100dvw !important;
	height: 100dvh !important;
	min-height: 100dvh !important;
	max-height: 100dvh !important;
	margin: 0 !important;
	padding: 0 0 env(safe-area-inset-bottom, 0) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-gutter: auto;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--bmt-hb-offcanvas-bg) !important;
	box-shadow: none !important;
	transform: none !important;
	touch-action: pan-y;
}

.bmt-hb--mobile-offcanvas.is-compact .bmt-hb__offcanvas-bar {
	position: sticky;
	z-index: 20;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: calc(68px + env(safe-area-inset-top, 0px));
	padding: calc(10px + env(safe-area-inset-top, 0px)) 14px 10px 20px;
	border-bottom: 1px solid rgba(10, 46, 28, 0.12);
	background: var(--bmt-hb-offcanvas-bar-bg);
	color: var(--bmt-hb-offcanvas-bar-color);
	box-shadow: 0 8px 22px rgba(17, 24, 20, 0.07);
}

.bmt-hb__offcanvas-title {
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.16em;
	overflow: hidden;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Le thème/Elementor applique parfois ses couleurs globales aux <button>.
 * On verrouille uniquement la croix des off-canvas Boutemont afin que les
 * réglages « Fond de la croix » / « Couleur de la croix » restent prioritaires. */
.bmt-hb--mobile-offcanvas .bmt-hb__close {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative;
	flex: 0 0 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--bmt-hb-offcanvas-close-bg, #1B1D1C) !important;
	border-radius: 50% !important;
	background: var(--bmt-hb-offcanvas-close-bg, #1B1D1C) !important;
	background-color: var(--bmt-hb-offcanvas-close-bg, #1B1D1C) !important;
	background-image: none !important;
	color: var(--bmt-hb-offcanvas-close-color, #FFFFFF) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.bmt-hb__close > span,
.bmt-hb__close > span::before,
.bmt-hb__close > span::after {
	position: absolute;
	display: block;
	width: 20px;
	height: 2px;
	border-radius: 2px;
	background: currentColor !important;
}

.bmt-hb__close > span {
	left: 50%;
	top: 50%;
	background: transparent !important;
	transform: translate(-50%, -50%);
}

.bmt-hb__close > span::before,
.bmt-hb__close > span::after {
	content: '';
	left: 0;
	top: 0;
}

.bmt-hb__close > span::before { transform: rotate(45deg); }
.bmt-hb__close > span::after { transform: rotate(-45deg); }

.bmt-hb--mobile-offcanvas .bmt-hb__close:hover,
.bmt-hb--mobile-offcanvas .bmt-hb__close:focus-visible {
	border-color: #4F7539 !important;
	background: #4F7539 !important;
	background-color: #4F7539 !important;
	color: #FFFFFF !important;
	outline: 2px solid #AAC29E;
	outline-offset: 3px;
}

.bmt-hb--mobile-offcanvas.is-compact .bmt-hb__panel > :last-child {
	margin-bottom: max(16px, env(safe-area-inset-bottom, 0px));
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb__backdrop,
	.bmt-hb__close {
		animation: none !important;
		transition: none !important;
	}
}

/* =========================================================
   Saison 2027 : panier de pique-nique et horaires sur plusieurs lignes
   ========================================================= */
.bmt-picnic-icon {
	display: inline-block;
	flex: none;
	width: 1.15em;
	height: 1.15em;
	margin-right: 0.35em;
	vertical-align: -0.2em;
}

.bmt-hb__creperie-hours,
.bmt-hours-page__creperie-time {
	white-space: normal;
}

.bmt-in__item-body ul {
	margin: 0 0 0.9em 1.1em;
	padding: 0;
}

.bmt-in__item-body li {
	margin: 0.2em 0;
}

/* Plusieurs créneaux dans une période (octobre) : une ligne par créneau,
   l'heure en avant, la condition en petit dessous. */
.bmt-hb__detail--slots,
.bmt-hours-page__hours--slots {
	display: flex;
	flex-direction: column;
	gap: 6px;
	white-space: normal !important;
}

.bmt-hours-slot {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
}

.bmt-hours-slot__time {
	white-space: nowrap;
}

.bmt-hours-slot__when {
	font-family: 'Open Sans', sans-serif;
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0;
	opacity: 0.78;
	white-space: normal;
}

/* Crêperie fermée + invitation au pique-nique : le message passe sous
   l'étiquette au lieu de la chevaucher. */
.bmt-hb__panel .bmt-hb__creperie.bmt-hb__creperie--picnic,
.bmt-hb--panel-style-premium:not(.bmt-hb--tickets) .bmt-hb__panel .bmt-hb__cols-left .bmt-hb__creperie.bmt-hb__creperie--picnic,
.bmt-hours-page__creperie.is-picnic {
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.bmt-hb__creperie--picnic .bmt-hb__creperie-hours,
.bmt-hours-page__creperie.is-picnic .bmt-hours-page__creperie-time {
	display: inline-flex;
	align-items: center;
	white-space: normal !important;
	text-align: left;
}

.bmt-hours-page__creperie.is-picnic {
	display: flex;
	grid-template-columns: none;
}

/* Adresse e-mail dans « Bon à savoir » : elle se coupe plutôt que de
   déborder du panneau. */
.bmt-hb__mention-text .bmt-hb__detail,
.bmt-ticket-page__note-text {
	overflow-wrap: anywhere;
}

/* Liste verticale des horaires : un espace entre chaque période. */
.bmt-hb.bmt-hb--hours-list .bmt-hb__panel .bmt-hb__rows {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bmt-hb.bmt-hb--hours-list .bmt-hb__panel .bmt-hb__rows > .bmt-hb__thead {
	margin-bottom: 0;
}

/* Formule cliquable (pass saisonnier, groupes) : la ligne garde son
   apparence ; seul « En savoir plus → » réagit au survol (couleur plus
   foncée, léger glissement). Pas de fond blanc ni de soulignement : les
   règles du thème et des versions précédentes sont neutralisées ici. */
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link * {
	text-decoration: none !important;
}

.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:focus-visible,
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offer.bmt-tb__offer--link:hover,
.bmt-hb--panel-style-premium.bmt-hb--tickets.bmt-hb--tickets-layout-list .bmt-tb__offer.bmt-tb__offer--link:focus-visible {
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: pointer;
}

.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover .bmt-tb__offer-name,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover .bmt-tb__amount,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover .bmt-tb__offer-note {
	color: inherit !important;
}

.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link::after {
	content: "En savoir plus →";
	display: block;
	margin-top: 5px;
	color: #4F7539;
	font-family: 'Open Sans', sans-serif;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.3;
	text-decoration: none !important;
	transition: color 0.18s ease, transform 0.18s ease;
}

.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover::after,
.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:focus-visible::after {
	color: #2F4A22;
	transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
	.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link::after {
		transition: none;
	}
	.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link:hover::after {
		transform: none;
	}
}

/* =========================================================
   Horaires & accès — « Bon à savoir » en bande pleine largeur (2.46.2)
   Les horaires à gauche et l'accès à droite font à peu près la même
   hauteur ; « Bon à savoir » et la mention chiens passent dessous, sur
   toute la largeur, mentions alignées sur deux colonnes.
   ========================================================= */
@container bmtpanel (min-width: 600px) {
	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__inner > .bmt-hb__cols-left {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__inner > .bmt-hb__access {
		grid-column: 2 !important;
		grid-row: 1 !important;
		align-self: start;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__inner > .bmt-hb__bottom {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		display: block !important;
		margin: 6px 18px 16px !important;
		padding-top: 0 !important;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__more-body {
		display: block !important;
		columns: auto !important;
		column-width: auto !important;
		column-count: auto !important;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__extra-notes {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: 36px;
		row-gap: 6px;
		align-items: start;
		columns: auto !important;
		width: 100% !important;
		max-width: none !important;
		grid-column: auto !important;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__more,
	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__more-body {
		width: 100% !important;
		max-width: none !important;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__extra-note {
		margin: 0 !important;
		padding: 0 !important;
		break-inside: avoid;
	}

	.bmt-hb:not(.bmt-hb--tickets) .bmt-hb__bottom .bmt-hb__dogs {
		margin-top: 12px !important;
	}
}

/* Panneau étroit : « En savoir plus » passe sous la précision, à gauche,
   au lieu de se serrer contre elle. */
.bmt-hb--tickets .bmt-tb__offer-note {
	overflow-wrap: anywhere;
}

@container bmttickets (max-width: 559.98px) {
	.bmt-hb--tickets .bmt-tb__offer.bmt-tb__offer--link::after {
		grid-column: 1 / -1;
		justify-self: start;
		margin-top: 6px;
	}
}

.bmt-hb--tickets.is-compact .bmt-tb__offer.bmt-tb__offer--link::after {
	grid-column: 1 / -1;
	justify-self: start;
	margin-top: 6px;
}

/* Page Horaires : trois périodes = trois colonnes ; une seule sous 767 px. */
@media (max-width: 767px) {
	.bmt-hours-page__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Page Horaires : précisions alignées sur deux colonnes, une sur mobile. */
.bmt-hours-page__notes {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 8px;
}

.bmt-hours-page__note {
	margin: 0 !important;
}

@media (max-width: 767px) {
	.bmt-hours-page__notes {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================
   Widget Tarifs (page) — grille identique au panneau Billetterie (2.46.4)
   Mêmes typographies (Open Sans pour les intitulés et précisions,
   EB Garamond pour les montants), mêmes couleurs, pas de casse forcée ni de
   ligne mise en valeur, et « En savoir plus → » sous le montant des formules
   qui ont un lien. Les !important neutralisent d'anciens réglages de
   typographie mémorisés dans Elementor (montants en capitales dorées).
   ========================================================= */
.bmt-ticket-page .bmt-ticket-page__prices {
	padding: 4px 20px !important;
	border: 1px solid rgba(10, 46, 28, 0.12) !important;
	border-radius: 10px !important;
	background: #F7F5EF !important;
}

.bmt-ticket-page .bmt-ticket-page__offer {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 18px;
	margin: 0 !important;
	padding: 13px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(10, 46, 28, 0.09) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	text-decoration: none !important;
}

.bmt-ticket-page .bmt-ticket-page__offer:last-child {
	border-bottom: 0 !important;
}

.bmt-ticket-page .bmt-ticket-page__offer-name {
	display: block;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #0A2E1C !important;
}

.bmt-ticket-page .bmt-ticket-page__offer-note {
	display: block;
	margin-top: 4px;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 13.5px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #4F5A4C !important;
	overflow-wrap: anywhere;
}

.bmt-ticket-page .bmt-ticket-page__amount {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: #0A2E1C !important;
	text-align: right;
	white-space: nowrap;
}

.bmt-ticket-page .bmt-ticket-page__more {
	display: inline-block;
	margin-top: 7px;
	font-family: 'Open Sans', sans-serif !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	color: #4F7539 !important;
	transition: color 0.18s ease, transform 0.18s ease;
}

.bmt-ticket-page .bmt-ticket-page__offer--link,
.bmt-ticket-page .bmt-ticket-page__offer--link * {
	text-decoration: none !important;
}

.bmt-ticket-page .bmt-ticket-page__offer--link:hover .bmt-ticket-page__more,
.bmt-ticket-page .bmt-ticket-page__offer--link:focus-visible .bmt-ticket-page__more {
	color: #2F4A22 !important;
	transform: translateX(3px);
}

.bmt-ticket-page .bmt-ticket-page__offer--link:focus-visible {
	outline: 2px solid #AAC29E;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.bmt-ticket-page .bmt-ticket-page__prices {
		padding: 2px 14px !important;
	}

	.bmt-ticket-page .bmt-ticket-page__offer {
		gap: 12px;
	}

	.bmt-ticket-page .bmt-ticket-page__offer-name {
		font-size: 15px !important;
	}

	.bmt-ticket-page .bmt-ticket-page__amount {
		font-size: 20px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bmt-ticket-page .bmt-ticket-page__more {
		transition: none;
	}
	.bmt-ticket-page .bmt-ticket-page__offer--link:hover .bmt-ticket-page__more {
		transform: none;
	}
}

/* =========================================================
   Octobre : les deux créneaux côte à côte (2.46.5)
   La case horaire devient un conteneur ; dès qu'elle est assez large
   (≥ 340 px), les créneaux passent sur deux colonnes séparées par un
   filet. Plus étroite, ils restent l'un sous l'autre.
   ========================================================= */
.bmt-hours-page__tile,
.bmt-hb__panel .bmt-hb__row {
	container-type: inline-size;
	container-name: bmtslot;
}

@container bmtslot (min-width: 340px) {
	.bmt-hb__detail--slots,
	.bmt-hours-page__hours--slots {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 18px;
		align-items: start;
	}

	.bmt-hours-slot + .bmt-hours-slot {
		padding-left: 18px;
		border-left: 1px solid rgba(10, 46, 28, 0.16);
	}

	/* Deux plages côte à côte : un cran plus petites pour tenir sur une
	   ligne chacune dans la tuile de la page Horaires. */
	.bmt-hours-page .bmt-hours-page__hours.bmt-hours-page__hours--slots .bmt-hours-slot__time {
		font-size: clamp(18px, 6.4cqi, 28px) !important;
		line-height: 1.15;
	}
}

/* Billetterie à côté du bouton Horaires (tablette, mobile) */
.bmt-hdr-pair {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 6px;
	width: auto;
	max-width: 100%;
}
.bmt-hdr-pair > .elementor-widget {
	flex: 0 0 auto;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.bmt-hdr-pair .bmt-hb {
	--bmt-hb-btn-height: 44px !important;
}
.elementor-widget.bmt-hdr-dup {
	display: none !important;
}

/* 2.48.0 — bloc autocars dans « Visites guidées et groupes » (même bloc que la page Accès). */
.bmt-guided-grid__coach{margin:40px 0 0;padding:40px 52px;background:#aac29e}
.bmt-guided-grid__head+.bmt-guided-grid__coach{margin:0 0 40px}
.bmt-guided-grid__coach .bmt-access-page__warning-kicker{color:#4f7539}
@media(max-width:767px){.bmt-guided-grid__coach{margin-top:28px;padding:24px 20px}.bmt-guided-grid__head+.bmt-guided-grid__coach{margin:0 0 28px}}

/* =========================================================
   2.49.0 — Horaires : une ligne « Château et jardins » et une ligne
   « Orangerie — Crêperie » par période, mêmes colonnes et même poids.
   Tuile large (page Horaires, ≥ 560 px) : libellé · jours · horaires sur
   une ligne. Tuile étroite (page Visiter en 3 colonnes, mobile) : libellé
   au-dessus, jours à gauche et horaires à droite.
   ========================================================= */
.bmt-hours-page__lines {
	display: flex;
	flex-direction: column;
	margin-top: 8px;
}

.bmt-hours-page__line {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "label label" "days hours";
	align-items: baseline;
	gap: 6px 16px;
	padding: 14px 0;
}

.bmt-hours-page__line + .bmt-hours-page__line {
	border-top: 1px solid rgba(27, 29, 28, 0.12);
}

.bmt-hours-page__line:last-child {
	padding-bottom: 0;
}

.bmt-hours-page__line-label {
	grid-area: label;
	color: #a8823c;
	font-family: inherit;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1.35;
	text-transform: uppercase;
}

.bmt-hours-page .bmt-hours-page__line .bmt-hours-page__days {
	grid-area: days;
	margin: 0;
	min-width: 0;
	font-size: 15px;
	line-height: 1.4;
}

.bmt-hours-page .bmt-hours-page__line .bmt-hours-page__hours {
	grid-area: hours;
	margin: 0;
	font-size: 22px;
	line-height: 1.15;
	text-align: right;
	white-space: nowrap;
}

.bmt-hours-page__line .bmt-hours-page__hours--slots {
	text-align: left;
}

.bmt-hours-page__line--creperie.is-closed .bmt-hours-page__line-label,
.bmt-hours-page__closed {
	color: #76233b;
}

.bmt-hours-page .bmt-hours-page__closed {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.4;
}

.bmt-hours-page__closed .bmt-picnic-icon {
	width: 16px;
	height: 16px;
}

.bmt-hours-page__closed .bmt-picnic-icon {
	flex: none;
}

@container bmtslot (min-width: 560px) {
	.bmt-hours-page__line {
		grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) auto;
		grid-template-areas: "label days hours";
		gap: 20px;
		padding: 16px 0;
	}

	.bmt-hours-page__closed {
		grid-column: 2 / -1;
	}
}
.bmt-hours-page__line--creperie.is-closed {
	align-items: center;
}

/* =========================================================
   2.50.0 — Panneau « Horaires & accès » de l'en-tête : comme la page
   Horaires, une ligne « Château et jardins » et une ligne « Orangerie —
   Crêperie » par période (libellé, puis jours à gauche et horaires à
   droite), même taille et même poids pour les deux.
   ========================================================= */
.bmt-hb__panel .bmt-hb__row.bmt-hb__row--lines {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.bmt-hb__row--lines .bmt-hb__period {
	margin-bottom: 4px;
}

.bmt-hb__line {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "label label" "days hours";
	align-items: baseline;
	gap: 2px 14px;
	padding: 7px 0;
}

.bmt-hb__line + .bmt-hb__line {
	border-top: 1px solid rgba(22, 24, 26, 0.09);
}

.bmt-hb__line-label {
	grid-area: label;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-hb__line-days {
	grid-area: days;
	min-width: 0;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: #5F6459;
}

.bmt-hb__line-hours {
	grid-area: hours;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.35;
	color: #4F7539;
	text-align: right;
	white-space: nowrap;
}

.bmt-hb__line-closed {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: #6E2233;
}

.bmt-hb__line-closed .bmt-picnic-icon {
	flex: none;
	width: 15px;
	height: 15px;
}

.bmt-hb__line--creperie.is-closed .bmt-hb__line-label {
	color: #6E2233;
}

/* Panneaux sombres : textes clairs. */
.bmt-hb--panel-nappe .bmt-hb__line-days,
.bmt-hb--panel-tiroir .bmt-hb__line-days,
.bmt-hb--panel-voile .bmt-hb__line-days,
.bmt-hb--panel-sauge .bmt-hb__line-days {
	color: rgba(242, 239, 230, 0.72);
}

.bmt-hb--panel-nappe .bmt-hb__line-hours,
.bmt-hb--panel-tiroir .bmt-hb__line-hours,
.bmt-hb--panel-voile .bmt-hb__line-hours {
	color: #F7F7F7;
}

.bmt-hb--panel-nappe .bmt-hb__line-label,
.bmt-hb--panel-tiroir .bmt-hb__line-label,
.bmt-hb--panel-voile .bmt-hb__line-label,
.bmt-hb--panel-nappe .bmt-hb__line-closed,
.bmt-hb--panel-tiroir .bmt-hb__line-closed,
.bmt-hb--panel-voile .bmt-hb__line-closed,
.bmt-hb--panel-nappe .bmt-hb__line--creperie.is-closed .bmt-hb__line-label,
.bmt-hb--panel-tiroir .bmt-hb__line--creperie.is-closed .bmt-hb__line-label,
.bmt-hb--panel-voile .bmt-hb__line--creperie.is-closed .bmt-hb__line-label {
	color: #E8CDA0;
}

.bmt-hb--panel-nappe .bmt-hb__line + .bmt-hb__line,
.bmt-hb--panel-tiroir .bmt-hb__line + .bmt-hb__line,
.bmt-hb--panel-voile .bmt-hb__line + .bmt-hb__line {
	border-top-color: rgba(242, 239, 230, 0.14);
}

/* 2.50.0 — Crêperie fermée : exactement la même typo que les jours
   (« Mardi au dimanche »), seule la couleur change. */
.bmt-hours-page .bmt-hours-page__line .bmt-hours-page__days.bmt-hours-page__closed {
	grid-area: auto;
	grid-column: 1 / -1;
	font-weight: inherit;
}
@container bmtslot (min-width: 560px) {
	.bmt-hours-page .bmt-hours-page__line .bmt-hours-page__days.bmt-hours-page__closed {
		grid-column: 2 / -1;
	}
}
.bmt-hb__line .bmt-hb__line-days.bmt-hb__line-closed {
	grid-area: auto;
	grid-column: 1 / -1;
	font-size: 13px;
	font-weight: 400;
}

/* =========================================================
   2.50.2 — Panneau « Horaires & accès » resserré, pour tenir à l'écran :
   périodes plus compactes, lignes château / crêperie sur une seule ligne
   dès que la carte est assez large, horaires en noir.
   ========================================================= */
.bmt-hb.bmt-hb--hours-list .bmt-hb__panel .bmt-hb__rows {
	gap: 8px;
}

.bmt-hb .bmt-hb__panel .bmt-hb__rows .bmt-hb__row.bmt-hb__row--lines {
	padding: 10px 16px !important;
	gap: 0 !important;
}

.bmt-hb .bmt-hb__panel .bmt-hb__row--lines .bmt-hb__period {
	margin-bottom: 2px;
	line-height: 1.25;
}

.bmt-hb__panel .bmt-hb__line {
	padding: 4px 0;
	gap: 0 12px;
}

.bmt-hb__panel .bmt-hb__line + .bmt-hb__line {
	border-top: 0;
}

.bmt-hb__panel .bmt-hb__line-label {
	font-size: 9.5px;
	letter-spacing: 0.12em;
}

.bmt-hb__panel .bmt-hb__line-days,
.bmt-hb__panel .bmt-hb__line .bmt-hb__line-days.bmt-hb__line-closed {
	font-size: 13px;
	line-height: 1.35;
}

.bmt-hb__panel .bmt-hb__line-hours {
	font-size: 14px;
	color: #1B1D1C;
}

/* Carte assez large : libellé · jours · horaires sur une seule ligne. */
@container bmtslot (min-width: 400px) {
	.bmt-hb__panel .bmt-hb__line {
		grid-template-columns: 158px minmax(0, 1fr) auto;
		grid-template-areas: "label days hours";
		align-items: baseline;
	}

	.bmt-hb__panel .bmt-hb__line .bmt-hb__line-days.bmt-hb__line-closed {
		grid-column: 2 / -1;
	}
}

/* Panneaux sombres : horaires clairs. */
.bmt-hb--panel-nappe .bmt-hb__panel .bmt-hb__line-hours,
.bmt-hb--panel-tiroir .bmt-hb__panel .bmt-hb__line-hours,
.bmt-hb--panel-voile .bmt-hb__panel .bmt-hb__line-hours {
	color: #F7F7F7;
}

/* =========================================================
   2.51.1 — « Bon à savoir » sous les horaires (colonne de gauche).
   Réécrit avec une spécificité qui passe devant toutes les anciennes
   règles du pied (colonnes forcées, tailles imposées, pastille de
   l'intertitre, « + / − »). Une seule colonne, puces dorées, chiens à la
   fin, alignés sur les tuiles d'horaires.
   ========================================================= */
.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left {
	--bmt-hb-left-gutter: 20px;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 8px 0 0 !important;
	padding: 0 var(--bmt-hb-left-gutter) 12px !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	grid-column: auto !important;
	grid-row: auto !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

/* Intertitre : même pastille dorée que « Venir au château ». */
.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more > summary {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
	cursor: default;
	pointer-events: none;
	font-size: var(--bmt-hb-section-title-size, 11px) !important;
	line-height: 1.3 !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more > summary::-webkit-details-marker {
	display: none !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more > summary::before {
	content: "" !important;
	display: block !important;
	flex: none !important;
	order: -1 !important;
	width: 8px !important;
	height: 8px !important;
	margin: 0 !important;
	border: 2px solid #A8823C !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-sizing: content-box !important;
	transform: none !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more > summary > span {
	display: none !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__more-body {
	display: block !important;
	columns: auto !important;
	column-width: auto !important;
	column-count: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 8px 0 0 !important;
	border: 0 !important;
	background: none !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__extra-notes {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	columns: auto !important;
	grid-template-columns: none !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__extra-note,
.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__foot {
	position: relative !important;
	margin: 0 !important;
	padding: 0 0 0 16px !important;
	font-size: clamp(12px, var(--bmt-hb-footer-size, 13px), 14px) !important;
	line-height: 1.4 !important;
	color: #5F6459;
	break-inside: auto;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__extra-note::before,
.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__foot::before {
	content: "" !important;
	position: absolute !important;
	top: 0.55em !important;
	left: 3px !important;
	display: block !important;
	width: 5px !important;
	height: 5px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	background: #A8823C !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__dogs {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	width: auto !important;
	margin: 8px 0 0 !important;
	padding: 6px 12px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: rgba(22, 24, 26, 0.04) !important;
	column-span: none;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__dogs-icon {
	flex: none !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
}

.bmt-hb.bmt-hb--box .bmt-hb__panel .bmt-hb__cols-left > .bmt-hb__bottom .bmt-hb__dogs-text {
	margin: 0 !important;
	font-size: clamp(12px, var(--bmt-hb-footer-size, 13px), 13px) !important;
	line-height: 1.4 !important;
}

/* Colonne d'étiquettes un peu plus étroite : « Fermée, venez avec votre
   pique-nique ! » tient sur une seule ligne, sans « ! » orphelin. */
@container bmtslot (min-width: 400px) {
	.bmt-hb__panel .bmt-hb__line {
		grid-template-columns: 140px minmax(0, 1fr) auto;
		gap: 0 8px;
	}

	.bmt-hb__panel .bmt-hb__line .bmt-hb__line-days.bmt-hb__line-closed {
		white-space: nowrap;
		font-size: 12.5px;
	}
}

/* Resserrage vertical : le panneau doit tenir sur un écran d'accueil. */
.bmt-hb .bmt-hb__panel .bmt-hb__rows .bmt-hb__row.bmt-hb__row--lines {
	padding: 8px 16px !important;
}

.bmt-hb .bmt-hb__panel .bmt-hb__line {
	padding: 2px 0;
}

.bmt-hb.bmt-hb--hours-list .bmt-hb__panel .bmt-hb__rows {
	gap: 6px;
}

/* =========================================================
   2.51.2 — Période en cours entourée d'or ; ligne « Orangerie — crêperie »
   fermée alignée au centre avec son libellé.
   ========================================================= */
.bmt-hb .bmt-hb__panel .bmt-hb__rows .bmt-hb__row.bmt-hb__row--lines.is-current {
	border-color: #A8823C !important;
	box-shadow: inset 0 0 0 1px #A8823C !important;
}

.bmt-hb .bmt-hb__panel .bmt-hb__line.bmt-hb__line--creperie.is-closed {
	align-items: center !important;
}

.bmt-hb .bmt-hb__panel .bmt-hb__line--creperie.is-closed .bmt-hb__line-label,
.bmt-hb .bmt-hb__panel .bmt-hb__line--creperie.is-closed .bmt-hb__line-closed {
	margin: 0 !important;
	line-height: 1.4 !important;
}

.bmt-hb .bmt-hb__panel .bmt-hb__line-closed .bmt-picnic-icon {
	position: relative;
	top: 0;
	vertical-align: middle;
}
