/* Boutemont — Agenda des animations */

.bmt-ag {
	font-family: var(--e-global-typography-text-font-family, inherit);
	color: #323533;
	box-sizing: border-box;
	--bmt-ag-sage: #AAC29E;
	--bmt-ag-ink: #323533;
	--bmt-ag-soft: #F2EFE6;
	--bmt-ag-home-cols: 3;
	--bmt-ag-home-gap: 28px;
	--bmt-ag-card-pt: 22px;
	--bmt-ag-card-pr: 24px;
	--bmt-ag-card-pb: 24px;
	--bmt-ag-card-pl: 24px;
	--bmt-ag-hero-pt: 48px;
	--bmt-ag-hero-pr: 48px;
	--bmt-ag-hero-pb: 48px;
	--bmt-ag-hero-pl: 48px;
}

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

.bmt-ag a {
	text-decoration: none;
	color: inherit;
}

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

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

.bmt-ag__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
	margin-bottom: var(--bmt-ag-head-gap, 52px);
}

.bmt-ag__head-main {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 640px;
}

.bmt-ag__head-aside {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 18px;
}

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

.bmt-ag__title {
	margin: 0;
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-weight: 500;
	font-size: 48px;
	line-height: 1.12;
	color: #4F7539;
	text-wrap: pretty;
}

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

.bmt-ag__season {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #323533;
}

/* Le libellé reste un seul item flex : l'exposant colle à son chiffre. */
.bmt-ag__season-text {
	white-space: nowrap;
}

.bmt-ag__dot {
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #AAC29E;
	flex: none;
}

/* ----------------------------------------------------------------- Boutons */

.bmt-ag__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-ag__btn:hover,
.bmt-ag__btn:focus-visible {
	background: #4F7539;
	color: #F2EFE6;
}

.bmt-ag__btn--solid {
	background: #4F7539;
	border-color: #4F7539;
	color: #F2EFE6;
}

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

.bmt-ag__underline {
	display: inline-flex;
	padding-bottom: 5px;
	border-bottom: 1px solid #A8823C;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #4F7539;
	transition: color 0.25s ease;
}

.bmt-ag__underline:hover,
.bmt-ag__underline:focus-visible {
	color: #A8823C;
}

/* --------------------------------------------------------------- Le partage */

.bmt-ag__split {
	display: grid;
	grid-template-columns: var(--bmt-ag-cols, 1.05fr 1fr);
	gap: var(--bmt-ag-gap, 56px);
	align-items: start;
}

.bmt-ag__split--list-only {
	grid-template-columns: 1fr;
}

.bmt-ag--hero-right .bmt-ag__hero {
	order: 2;
}

.bmt-ag--hero-right .bmt-ag__list {
	order: 1;
}

/* ------------------------------------------------------------ Grande carte */

.bmt-ag__hero {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 22px;
	border: 1px solid rgba(10, 46, 28, 0.18);
	border-radius: 4px;
}

.bmt-ag__hero-link {
	position: relative;
	display: block;
	overflow: hidden;
	height: var(--bmt-ag-hero-h, 380px);
	background: #E9E6DA;
}

.bmt-ag__hero-img {
	position: absolute !important;
	inset: 0;
	top: 0;
	left: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	min-height: 0 !important;
	object-fit: cover !important;
	object-position: center;
	transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-ag__hero-link:hover .bmt-ag__hero-img,
.bmt-ag__hero-link:focus-visible .bmt-ag__hero-img {
	transform: scale(1.05);
}

.bmt-ag__badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	align-self: flex-start;
	padding: 9px 18px;
	border: 1px solid #A8823C;
	border-radius: 999px;
	background: none;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-ag__badge .bmt-ag__dot {
	background: currentColor;
}

.bmt-ag__hero-body {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bmt-ag__hero-date {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.bmt-ag__hero-day {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 44px;
	line-height: 1;
	color: #4F7539;
}

.bmt-ag__hero-month {
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-ag__hero-title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-weight: 500;
	font-size: 36px;
	line-height: 1.12;
	color: #4F7539;
}

.bmt-ag__hero-teaser {
	max-width: 440px;
	font-size: 16px;
	line-height: 1.65;
	font-weight: 300;
	color: rgba(22, 24, 26, 0.72);
}

.bmt-ag__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	padding-top: 6px;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(22, 24, 26, 0.6);
}

.bmt-ag__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* --------------------------------------------------------------- La liste */

.bmt-ag__list {
	display: flex;
	flex-direction: column;
}

.bmt-ag__list-label {
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #323533;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.22);
}

.bmt-ag__row {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr) auto;
	column-gap: 26px;
	align-items: center;
	padding: 22px 4px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.16);
	transition: background-color 0.25s ease;
}

.bmt-ag__row:hover,
.bmt-ag__row:focus-visible {
	background: rgba(168, 130, 60, 0.09);
}

.bmt-ag__row--past {
	opacity: 0.5;
}

.bmt-ag__row--with-image {
	grid-template-columns: 74px var(--bmt-ag-row-img-w, 104px) minmax(0, 1fr) auto;
}

.bmt-ag__row-media {
	display: block;
	width: var(--bmt-ag-row-img-w, 104px);
	height: var(--bmt-ag-row-img-h, 78px);
	border-radius: 4px;
	background: #E9E6DA;
	overflow: hidden;
}

.bmt-ag__row-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bmt-ag__plate {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
}

.bmt-ag__plate-day {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 26px;
	line-height: 1;
	color: #4F7539;
}

.bmt-ag__plate-month {
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-ag__row-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.bmt-ag__row-title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 24px;
	line-height: 1.2;
	color: #323533;
}

.bmt-ag__row-teaser {
	font-size: 14px;
	line-height: 1.5;
	color: #323533;
}

.bmt-ag__row-aside {
	display: flex;
	align-items: center;
	gap: 14px;
	white-space: nowrap;
}

.bmt-ag__row-cat {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #323533;
}

.bmt-ag__arrow {
	font-size: 17px;
	color: #A8823C;
}

.bmt-ag__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 26px;
}

.bmt-ag__note {
	font-size: 14px;
	line-height: 1.6;
	font-weight: 300;
	color: #323533;
}

/* ----------------------------------------------- Accueil éditorial (défaut) */

/* La valeur historique « photo-list » est conservée pour que les widgets déjà
 * posés dans Elementor adoptent automatiquement la nouvelle composition. */
.bmt-ag--layout-photo-list .bmt-ag__split {
	display: block;
}

.bmt-ag--layout-photo-list .bmt-ag__hero {
	display: grid;
	grid-template-columns: var(--bmt-ag-cols, 1.35fr 1fr);
	grid-template-rows: minmax(0, 1fr) auto;
	grid-template-areas:
		'media body'
		'media actions';
	column-gap: var(--bmt-ag-gap, 0px);
	min-height: var(--bmt-ag-hero-h, 520px);
	padding: 0;
	overflow: hidden;
	background: #F2EFE6;
}

.bmt-ag--layout-photo-list.bmt-ag--hero-right .bmt-ag__hero {
	order: 0;
	grid-template-areas:
		'body media'
		'actions media';
}

.bmt-ag--layout-photo-list .bmt-ag__hero-link {
	grid-area: media;
	height: 100%;
	min-height: var(--bmt-ag-hero-h, 520px);
}

.bmt-ag--layout-photo-list .bmt-ag__hero-body {
	grid-area: body;
	align-self: stretch;
	justify-content: center;
	padding: var(--bmt-ag-hero-pt) var(--bmt-ag-hero-pr) 24px var(--bmt-ag-hero-pl);
}

.bmt-ag--layout-photo-list .bmt-ag__hero-actions {
	grid-area: actions;
	padding: 0 var(--bmt-ag-hero-pr) var(--bmt-ag-hero-pb) var(--bmt-ag-hero-pl);
}

.bmt-ag--layout-photo-list .bmt-ag__list {
	display: grid;
	grid-template-columns: repeat(var(--bmt-ag-home-cols, 3), minmax(0, 1fr));
	gap: var(--bmt-ag-home-gap, 28px);
	margin-top: 58px;
}

.bmt-ag--layout-photo-list .bmt-ag__list-label,
.bmt-ag--layout-photo-list .bmt-ag__foot {
	grid-column: 1 / -1;
}

.bmt-ag--layout-photo-list .bmt-ag__list-label {
	padding-bottom: 18px;
	margin-bottom: 2px;
}

.bmt-ag--layout-photo-list .bmt-ag__row {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid rgba(10, 46, 28, 0.16);
	background: #FFFFFF;
	transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background-color 0.35s ease;
}

.bmt-ag--layout-photo-list .bmt-ag__row:hover,
.bmt-ag--layout-photo-list .bmt-ag__row:focus-visible {
	transform: translateY(-4px);
	border-color: rgba(168, 130, 60, 0.52);
	box-shadow: 0 18px 36px rgba(10, 46, 28, 0.08);
}

.bmt-ag--layout-photo-list .bmt-ag__row-media {
	order: 1;
	width: 100%;
	height: var(--bmt-ag-row-img-h, 220px);
	border-radius: 0;
}

.bmt-ag--layout-photo-list .bmt-ag__row-media img {
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-ag--layout-photo-list .bmt-ag__row:hover .bmt-ag__row-media img,
.bmt-ag--layout-photo-list .bmt-ag__row:focus-visible .bmt-ag__row-media img {
	transform: scale(1.045);
}

.bmt-ag--layout-photo-list .bmt-ag__plate {
	order: 2;
	flex-direction: row;
	align-items: baseline;
	justify-content: flex-start;
	gap: 8px;
	padding: var(--bmt-ag-card-pt) var(--bmt-ag-card-pr) 0 var(--bmt-ag-card-pl);
}

.bmt-ag--layout-photo-list .bmt-ag__plate-day {
	font-size: 27px;
}

.bmt-ag--layout-photo-list .bmt-ag__plate-month {
	font-size: 10px;
}

.bmt-ag--layout-photo-list .bmt-ag__row-body {
	order: 3;
	flex: 1;
	gap: 8px;
	padding: 10px var(--bmt-ag-card-pr) 0 var(--bmt-ag-card-pl);
}

.bmt-ag--layout-photo-list .bmt-ag__row-title {
	font-size: 26px;
	line-height: 1.16;
}

.bmt-ag--layout-photo-list .bmt-ag__row-teaser {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.bmt-ag--layout-photo-list .bmt-ag__row-aside {
	order: 4;
	justify-content: space-between;
	width: 100%;
	padding: 18px var(--bmt-ag-card-pr) var(--bmt-ag-card-pb) var(--bmt-ag-card-pl);
}

.bmt-ag--layout-photo-list .bmt-ag__arrow {
	transition: transform 0.3s ease;
}

.bmt-ag--layout-photo-list .bmt-ag__row:hover .bmt-ag__arrow,
.bmt-ag--layout-photo-list .bmt-ag__row:focus-visible .bmt-ag__arrow {
	transform: translateX(4px);
}

.bmt-ag--layout-photo-list .bmt-ag__foot {
	margin-top: 2px;
	padding-top: 24px;
}

/* ------------------------------------------------------- Page « Animations » */

.bmt-ag--list {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.bmt-ag__month {
	margin: 0;
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
	color: #4F7539;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(22, 24, 26, 0.18);
	text-transform: capitalize;
}

.bmt-ag__cards {
	display: grid;
	grid-template-columns: repeat(var(--bmt-ag-list-cols, 3), 1fr);
	gap: var(--bmt-ag-card-gap, 32px);
	margin-top: 28px;
}

.bmt-ag__card {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.bmt-ag__card--past {
	opacity: 0.5;
}

.bmt-ag__card-link {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.bmt-ag__card-media {
	position: relative;
	display: block;
	height: var(--bmt-ag-card-h, 300px);
	overflow: hidden;
	background: #E9E6DA;
}

.bmt-ag__card-media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center;
	transition: transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.bmt-ag__card-link:hover .bmt-ag__card-media img,
.bmt-ag__card-link:focus-visible .bmt-ag__card-media img {
	transform: scale(1.05);
}

.bmt-ag__card-cat {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 7px 15px;
	border: 1px solid rgba(242, 239, 230, 0.75);
	border-radius: 999px;
	background: rgba(10, 28, 16, 0.45);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #F2EFE6;
}

.bmt-ag__card-date {
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #A8823C;
}

.bmt-ag__card-title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 27px;
	line-height: 1.16;
	color: #4F7539;
}

.bmt-ag__card-teaser {
	font-size: 15px;
	line-height: 1.6;
	font-weight: 300;
	color: #323533;
}

.bmt-ag__card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #323533;
}

.bmt-ag__card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding-top: 4px;
}

/* --------------------------------------------------------- Rendu à vide */

.bmt-ag__empty {
	padding: 44px 40px;
	border: 1px dashed rgba(22, 24, 26, 0.3);
	font-size: 15px;
	line-height: 1.7;
	color: #323533;
}

.bmt-ag__empty p {
	margin: 0 0 8px;
}

.bmt-ag__empty p:last-child {
	margin: 0;
}

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

@media (max-width: 1180px) {
	.bmt-ag {
		--bmt-ag-home-cols: 2;
	}

	.bmt-ag__head {
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
	}

	.bmt-ag__head-aside {
		align-items: flex-start;
	}

	.bmt-ag__title {
		font-size: 38px;
	}

	.bmt-ag__split {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.bmt-ag--hero-right .bmt-ag__hero,
	.bmt-ag--hero-right .bmt-ag__list {
		order: 0;
	}

	.bmt-ag__hero-link {
		height: 460px;
	}

	.bmt-ag__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 900px) {
	.bmt-ag--layout-photo-list .bmt-ag__hero,
	.bmt-ag--layout-photo-list.bmt-ag--hero-right .bmt-ag__hero {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		grid-template-areas:
			'media'
			'body'
			'actions';
		min-height: 0;
	}

	.bmt-ag--layout-photo-list .bmt-ag__hero-link {
		height: min(var(--bmt-ag-hero-h, 480px), 62vw);
		min-height: 360px;
	}

	.bmt-ag--layout-photo-list .bmt-ag__hero-body,
	.bmt-ag--layout-photo-list .bmt-ag__hero-actions {
		min-width: 0;
	}
}

@media (max-width: 720px) {
	.bmt-ag {
		--bmt-ag-home-cols: 1;
		--bmt-ag-hero-pt: 30px;
		--bmt-ag-hero-pr: 26px;
		--bmt-ag-hero-pb: 30px;
		--bmt-ag-hero-pl: 26px;
	}

	.bmt-ag__title {
		font-size: 30px;
	}

	.bmt-ag__hero-link {
		height: 400px;
	}

	.bmt-ag--layout-photo-list .bmt-ag__hero-link {
		height: 72vw;
		min-height: 280px;
		max-height: 430px;
	}

	.bmt-ag--layout-photo-list .bmt-ag__hero-body {
		padding-bottom: 20px;
	}

	.bmt-ag--layout-photo-list .bmt-ag__list {
		margin-top: 42px;
	}

	.bmt-ag__hero-title {
		font-size: 28px;
	}

	.bmt-ag__hero-day {
		font-size: 34px;
	}

	.bmt-ag__hero-body {
		inset: auto 22px 22px 22px;
	}

	.bmt-ag__row {
		grid-template-columns: 60px minmax(0, 1fr);
		column-gap: 18px;
	}

	.bmt-ag__row--with-image {
		grid-template-columns: 56px var(--bmt-ag-row-img-w, 78px) minmax(0, 1fr);
	}

	.bmt-ag__row-aside {
		display: none;
	}

	.bmt-ag--layout-photo-list .bmt-ag__row-aside {
		display: flex;
	}

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

	.bmt-ag__cards {
		grid-template-columns: 1fr;
	}

	.bmt-ag__foot {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.bmt-ag__btn,
	.bmt-ag__hero-actions .bmt-ag__btn {
		width: 100%;
		white-space: normal;
		text-align: center;
	}

	.bmt-ag__month {
		font-size: 26px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bmt-ag__hero-img,
	.bmt-ag__card-media img,
	.bmt-ag__row-media img,
	.bmt-ag__row {
		transition-duration: 0.01s;
	}
}

/* ================================================================
   Version 1.8 — encart éditorial à gauche, saison en liste à droite
   ================================================================ */

.bmt-ag--layout-editorial-split .bmt-ag__split {
	display: grid;
	grid-template-columns: var(--bmt-ag-cols, 1fr 1.15fr);
	gap: var(--bmt-ag-gap, 44px);
	align-items: start;
}

.bmt-ag--layout-editorial-split .bmt-ag__split--list-only {
	grid-template-columns: minmax(0, 1fr);
}

/* Palette recommandée. Les couleurs sont volontairement verrouillées dans ce
 * mode ; le mode « personnalisée » réactive les contrôles Elementor existants. */
.bmt-ag--palette-boutemont-2026 .bmt-ag__kicker,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-month,
.bmt-ag--palette-boutemont-2026 .bmt-ag__plate-month {
	color: #4F7539;
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-day,
.bmt-ag--palette-boutemont-2026 .bmt-ag__plate-day,
.bmt-ag--palette-boutemont-2026 .bmt-ag__row-title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__list-label,
.bmt-ag--palette-boutemont-2026 .bmt-ag__arrow {
	color: var(--bmt-ag-ink);
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__dot {
	background: var(--bmt-ag-sage);
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__badge {
	border-color: var(--bmt-ag-sage);
	color: var(--bmt-ag-ink);
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__underline {
	border-bottom-color: var(--bmt-ag-sage);
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__row:hover,
.bmt-ag--palette-boutemont-2026 .bmt-ag__row:focus-visible {
	background-color: rgba(177, 207, 159, 0.16);
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid {
	border-color: var(--bmt-ag-ink);
	background: var(--bmt-ag-ink);
	color: #FFFFFF;
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid:hover,
.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid:focus-visible {
	border-color: var(--bmt-ag-sage);
	background: var(--bmt-ag-sage);
	color: var(--bmt-ag-ink);
}

.bmt-ag--layout-editorial-split .bmt-ag__hero {
	order: 1;
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	padding: 0;
	overflow: hidden;
	border-color: rgba(27, 29, 28, 0.16);
	background: #FFFFFF;
	box-shadow: none;
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-link {
	height: var(--bmt-ag-hero-h, 380px);
	min-height: 300px;
	background: var(--bmt-ag-soft);
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-body {
	gap: 13px;
	padding: clamp(26px, 3vw, 42px) clamp(24px, 3vw, 40px) 22px;
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-actions {
	padding: 0 clamp(24px, 3vw, 40px) clamp(28px, 3vw, 40px);
}

.bmt-ag--layout-editorial-split .bmt-ag__badge {
	padding: 0 0 10px;
	border: 0;
	border-bottom: 2px solid var(--bmt-ag-sage);
	border-radius: 0;
	color: var(--bmt-ag-ink);
}

.bmt-ag--layout-editorial-split .bmt-ag__badge .bmt-ag__dot {
	background: var(--bmt-ag-sage);
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-title,
.bmt-ag--layout-editorial-split .bmt-ag__hero-day {
	color: var(--bmt-ag-ink);
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-month {
	color: #4F7539;
}

.bmt-ag--layout-editorial-split .bmt-ag__list {
	order: 2;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.bmt-ag--layout-editorial-split .bmt-ag__list-label {
	position: relative;
	padding: 0 0 17px 28px;
	border-bottom-color: rgba(27, 29, 28, 0.17);
	color: var(--bmt-ag-ink);
}

.bmt-ag--layout-editorial-split .bmt-ag__list-label::before {
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 18px;
	height: 2px;
	background: var(--bmt-ag-sage);
	content: '';
}

.bmt-ag--layout-editorial-split .bmt-ag__row {
	display: grid;
	grid-template-columns: minmax(82px, max-content) minmax(0, 1fr) auto;
	column-gap: clamp(16px, 2vw, 26px);
	align-items: center;
	min-width: 0;
	padding: 23px 12px;
	border-bottom-color: rgba(27, 29, 28, 0.13);
	background: transparent;
	transition: background-color 0.25s ease, padding-left 0.25s ease;
}

.bmt-ag--layout-editorial-split .bmt-ag__row--with-image {
	grid-template-columns: minmax(82px, max-content) var(--bmt-ag-list-thumb-w, 112px) minmax(0, 1fr) auto;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-media {
	display: block;
	width: var(--bmt-ag-list-thumb-w, 112px);
	height: var(--bmt-ag-list-thumb-h, 82px);
	border-radius: 2px;
	background: var(--bmt-ag-soft);
	box-shadow: none;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bmt-ag--layout-editorial-split .bmt-ag__row:hover,
.bmt-ag--layout-editorial-split .bmt-ag__row:focus-visible {
	padding-left: 18px;
	background: rgba(177, 207, 159, 0.16);
	box-shadow: none;
}

.bmt-ag--layout-editorial-split .bmt-ag__plate {
	align-items: flex-start;
}

.bmt-ag--layout-editorial-split .bmt-ag__plate-day {
	color: var(--bmt-ag-ink);
	font-size: 29px;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
}

.bmt-ag--layout-editorial-split .bmt-ag__plate-month {
	color: #4F7539;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-body {
	gap: 7px;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-title {
	color: var(--bmt-ag-ink);
	font-size: clamp(20px, 1.65vw, 25px);
	line-height: 1.18;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-teaser {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.55;
	color: #323533;
}

.bmt-ag--layout-editorial-split .bmt-ag__row-cat {
	color: #323533;
}

.bmt-ag--layout-editorial-split .bmt-ag__arrow {
	color: var(--bmt-ag-ink);
	transition: transform 0.25s ease;
}

.bmt-ag--layout-editorial-split .bmt-ag__row:hover .bmt-ag__arrow,
.bmt-ag--layout-editorial-split .bmt-ag__row:focus-visible .bmt-ag__arrow {
	transform: translateX(4px);
}

.bmt-ag--layout-editorial-split .bmt-ag__foot {
	padding-top: 24px;
	border-top: 2px solid var(--bmt-ag-sage);
}

@media (max-width: 960px) {
	.bmt-ag--layout-editorial-split .bmt-ag__split {
		grid-template-columns: minmax(0, 1fr);
		gap: 42px;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero-link {
		height: min(var(--bmt-ag-hero-h, 380px), 62vw);
	}
}

@media (max-width: 720px) {
	.bmt-ag--layout-editorial-split .bmt-ag__hero-link {
		height: 72vw;
		min-height: 260px;
		max-height: 420px;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row {
		grid-template-columns: minmax(58px, max-content) minmax(0, 1fr);
		padding-right: 6px;
		padding-left: 6px;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image {
		grid-template-columns: minmax(58px, max-content) min(24vw, var(--bmt-ag-list-thumb-w, 96px)) minmax(0, 1fr);
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image .bmt-ag__row-media {
		width: min(24vw, var(--bmt-ag-list-thumb-w, 96px));
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row:hover,
	.bmt-ag--layout-editorial-split .bmt-ag__row:focus-visible {
		padding-left: 10px;
	}
}

@media (max-width: 520px) {
	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image {
		grid-template-columns: minmax(58px, max-content) minmax(0, 1fr);
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image .bmt-ag__row-media,
	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image .bmt-ag__row-body {
		grid-column: 2;
		width: 100%;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__row--with-image .bmt-ag__row-media {
		height: min(42vw, var(--bmt-ag-list-thumb-h, 150px));
	}
}


/* =========================================================
   Fiche d'une animation — panneau pratique (1.10)

   Le type de contenu « Animation » était public sans gabarit : le visiteur
   qui cliquait depuis l'agenda arrivait sur une page qui en disait moins que
   la vignette d'où il venait — ni date, ni horaires, ni lieu, ni tarif, ni
   bouton de réservation. Tout cela était pourtant saisi.

   Le panneau reprend la grammaire des autres blocs du site : étiquette dorée
   en petites capitales, valeur en serif, tuiles crème, filets fins, et une
   seule action colorée.
   ========================================================= */

.bmt-ag-fiche {
	--bmt-fiche-ink: #323533;
	--bmt-fiche-gold: #A8823C;
	--bmt-fiche-leaf: #AAC29E;
	--bmt-fiche-cream: #F2EFE6;
	--bmt-fiche-line: rgba(31, 43, 34, 0.14);
	--bmt-fiche-muted: #4F7539;

	clear: both;
	margin: 40px 0 8px;
	padding: 26px 28px 28px;
	border: 1px solid var(--bmt-fiche-line);
	border-radius: 10px;
	background: var(--bmt-fiche-cream);
	font-family: var(--e-global-typography-text-font-family, inherit);
}

.bmt-ag-fiche * {
	box-sizing: border-box;
}

/* ------------------------------------------------------------- Quand */

.bmt-ag-fiche__head {
	padding-bottom: 18px;
	border-bottom: 1px solid var(--bmt-fiche-line);
}

.bmt-ag-fiche__label {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 8px;
	color: var(--bmt-fiche-gold);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.24em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bmt-ag-fiche__label::before {
	content: '';
	flex: none;
	width: 8px;
	height: 8px;
	border: 2px solid var(--bmt-fiche-gold);
	border-radius: 50%;
}

.bmt-ag-fiche__date {
	margin: 0;
	color: var(--bmt-fiche-ink);
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.15;
}

/* ----------------------------------------------------------- Repères */

.bmt-ag-fiche__facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px 24px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.bmt-ag-fiche__facts--cols-1 { grid-template-columns: minmax(0, 1fr); }
.bmt-ag-fiche__facts--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bmt-ag-fiche__facts--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.bmt-ag-fiche__fact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.bmt-ag-fiche__fact-label {
	color: var(--bmt-fiche-gold);
	font-size: 9.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.2;
	text-transform: uppercase;
}

.bmt-ag-fiche__fact-value {
	color: var(--bmt-fiche-ink);
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: 17px;
	line-height: 1.3;
}

/* ----------------------------------------------------------- Actions */

.bmt-ag-fiche__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--bmt-fiche-line);
}

.bmt-ag-fiche__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 22px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* Réserver est la seule action forte : elle seule porte le vert Boutemont. */
.bmt-ag-fiche__btn--solid {
	border-color: var(--bmt-fiche-leaf);
	background: var(--bmt-fiche-leaf);
	color: #4F7539;
}

.bmt-ag-fiche__btn--solid:hover,
.bmt-ag-fiche__btn--solid:focus-visible {
	border-color: var(--bmt-fiche-ink);
	background: var(--bmt-fiche-ink);
	color: #F2EFE6;
}

.bmt-ag-fiche__btn--ghost {
	border-color: var(--bmt-fiche-line);
	background: #FFFFFF;
	color: var(--bmt-fiche-ink);
}

.bmt-ag-fiche__btn--ghost:hover,
.bmt-ag-fiche__btn--ghost:focus-visible {
	border-color: var(--bmt-fiche-ink);
}

.bmt-ag-fiche__back {
	display: inline-block;
	margin-top: 18px;
	padding-bottom: 3px;
	border-bottom: 1px solid var(--bmt-fiche-gold);
	color: var(--bmt-fiche-gold);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-decoration: none;
	text-transform: uppercase;
}

/* ------------------------------------------------------ Date passée */

.bmt-ag-fiche--past {
	background: #FFFFFF;
}

.bmt-ag-fiche__past {
	margin: 0 0 18px;
	padding: 11px 13px;
	border: 1px solid var(--bmt-fiche-line);
	border-radius: 8px;
	color: var(--bmt-fiche-muted);
	font-size: 13px;
	line-height: 1.5;
}

.bmt-ag-fiche--past .bmt-ag-fiche__date,
.bmt-ag-fiche--past .bmt-ag-fiche__fact-value {
	color: var(--bmt-fiche-muted);
}

@media (max-width: 900px) {
	.bmt-ag-fiche__facts,
	.bmt-ag-fiche__facts--cols-3,
	.bmt-ag-fiche__facts--cols-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.bmt-ag-fiche {
		padding: 22px 18px 24px;
	}

	.bmt-ag-fiche__facts,
	.bmt-ag-fiche__facts--cols-2,
	.bmt-ag-fiche__facts--cols-3,
	.bmt-ag-fiche__facts--cols-4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-ag-fiche__btn {
		width: 100%;
	}
}


/* =========================================================
   Agenda d'accueil — l'encart redevient un encart (1.11)

   La composition « à la une + liste » empilait la photo et le texte dans la
   colonne de gauche : l'encart mesurait près de 900 px de haut, quand la
   colonne de droite, avec deux ou trois rendez-vous, en faisait 300. Deux
   colonnes de hauteurs incomparables, et un bloc d'accueil qui mangeait tout
   l'écran alors qu'il doit donner envie en un regard.

   L'encart devient donc horizontal : photo et texte côte à côte à
   l'intérieur de la carte, hauteur bornée. Les deux colonnes se répondent,
   et le bloc reprend la taille d'une section d'accueil.
   ========================================================= */

@container bmtagenda (min-width: 900px) {
	.bmt-ag--layout-editorial-split .bmt-ag__split {
		align-items: stretch;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero {
		display: grid;
		grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		grid-template-areas:
			'media body'
			'media actions';
		gap: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 6px;
		background: #F2EFE6;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero-link {
		grid-area: media;
		height: 100%;
		min-height: var(--bmt-ag-hero-h, 340px);
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero-body {
		grid-area: body;
		align-self: center;
		gap: 11px;
		padding: 26px 26px 12px;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero-actions {
		grid-area: actions;
		padding: 0 26px 26px;
	}

	/* La colonne de droite occupe toute la hauteur : le libellé en haut,
	   la note en bas, les rendez-vous répartis entre les deux. */
	.bmt-ag--layout-editorial-split .bmt-ag__list {
		justify-content: flex-start;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__foot {
		margin-top: auto;
		padding-top: 18px;
	}
}

/* L'encart d'accueil reste un encart : le titre et la photo ne prennent pas
   les dimensions d'une page de fiche. */
.bmt-ag--layout-editorial-split .bmt-ag__hero-title {
	font-size: 27px;
	line-height: 1.14;
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-day {
	font-size: 34px;
}

.bmt-ag--layout-editorial-split .bmt-ag__hero-teaser {
	max-width: none;
	font-size: 14.5px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.bmt-ag--layout-editorial-split .bmt-ag__badge {
	padding: 7px 14px;
	font-size: 9px;
	letter-spacing: 0.18em;
}

.bmt-ag--layout-editorial-split .bmt-ag__facts {
	gap: 6px 16px;
	font-size: 10.5px;
	letter-spacing: 0.11em;
}

/* Le conteneur de mise en page : c'est la largeur réelle du bloc qui décide,
   pas celle de la fenêtre — un agenda posé dans une colonne étroite doit
   s'empiler même sur grand écran. */
.bmt-ag {
	container-type: inline-size;
	container-name: bmtagenda;
}

@container bmtagenda (max-width: 899.98px) {
	.bmt-ag--layout-editorial-split .bmt-ag__split {
		grid-template-columns: minmax(0, 1fr);
		gap: 34px;
	}

	.bmt-ag--layout-editorial-split .bmt-ag__hero-link {
		height: var(--bmt-ag-hero-h, 300px);
	}
}

/* Le bouton fort de l'agenda reprend le vert Boutemont, comme celui de la
   billetterie : une seule couleur d'action sur tout le site. */
.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid {
	border-color: #AAC29E;
	background: #AAC29E;
	color: #4F7539;
}

.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid:hover,
.bmt-ag--palette-boutemont-2026 .bmt-ag__btn--solid:focus-visible {
	border-color: #4F7539;
	background: #4F7539;
	color: #F2EFE6;
}


/* =========================================================
   Encart d'accueil : un lien plutôt que deux boutons (1.12)

   « Réserver » et « Ajouter à mon agenda » demandaient un engagement avant
   même d'avoir lu de quoi il s'agit. Sur l'accueil, l'encart n'est pas une
   page de réservation : il donne envie et renvoie vers la fiche, où ces deux
   actions ont désormais leur place — avec les horaires, le lieu et le tarif
   sous les yeux.
   ========================================================= */

.bmt-ag__hero-more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	padding-bottom: 4px;
	border-bottom: 1px solid #A8823C;
	color: #A8823C;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-decoration: none;
	text-transform: uppercase;
	transition: gap 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), color 0.25s ease, border-color 0.25s ease;
}

.bmt-ag__hero-more:hover,
.bmt-ag__hero-more:focus-visible {
	gap: 16px;
	border-color: #4F7539;
	color: #4F7539;
}

.bmt-ag__hero-actions--lien {
	padding-top: 4px;
}


/* =========================================================
   Liste avec photos : la disposition « bandeau »

   En vignette, la ligne se coupait en quatre colonnes — date, photo, texte,
   catégorie — et chacune devenait trop étroite pour bien se lire. Le bandeau
   ramène la ligne à deux blocs : la photo pleine hauteur avec la date posée
   dessus, puis le texte. La date reste le premier repère, la photo redevient
   une image et non une vignette de 112 px.
   ========================================================= */

@container bmtagenda (min-width: 620px) {
	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image {
		grid-template-columns: minmax(0, 168px) minmax(0, 1fr);
		column-gap: 20px;
		align-items: stretch;
		padding: 16px 12px;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-media {
		width: 100%;
		height: var(--bmt-ag-list-thumb-h, 104px);
		border-radius: 4px;
		overflow: hidden;
	}

	/* La date se pose sur la photo, dans un cartouche clair : elle reste
	   lisible quel que soit le visuel. */
	/* La pastille est posée dans la même cellule de grille que la photo :
	   pas de positionnement absolu, donc rien qui puisse s'échapper si la
	   ligne change de structure. */
	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate {
		grid-column: 1;
		grid-row: 1;
		z-index: 2;
		align-self: center;
		justify-self: center;
		align-items: center;
		gap: 0;
		margin: 0;
		padding: 7px 13px 6px;
		border-radius: 3px;
		background: rgba(255, 255, 255, 0.94);
		box-shadow: 0 2px 10px rgba(10, 46, 28, 0.18);
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate-day {
		font-size: 20px;
		line-height: 1.05;
		white-space: nowrap;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate-month {
		font-size: 8.5px;
		letter-spacing: 0.16em;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__row-media {
		grid-column: 1;
		grid-row: 1;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-body {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
	}

	/* La catégorie et la flèche rejoignent le texte : une quatrième colonne
	   pour deux mots ne se justifiait pas. */
	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-aside {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		justify-self: end;
		display: flex;
		align-items: center;
		gap: 12px;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-body {
		padding-bottom: 22px;
	}
}


/* La date se pose au centre de la photo (1.12.2) : posée dans un coin, elle
   tombait tantôt sur un ciel clair, tantôt sur un feuillage sombre selon le
   visuel. Au centre, elle occupe la zone la plus stable de l'image et se lit
   comme un cachet. Un très léger voile assure le contraste quel que soit le
   cliché. */
@container bmtagenda (min-width: 620px) {
	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-media::after {
		content: '';
		grid-column: 1;
		grid-row: 1;
		display: block;
		position: absolute;
		inset: 0;
		z-index: 1;
		background: radial-gradient(60% 60% at 50% 50%, rgba(10, 46, 28, 0.22), rgba(10, 46, 28, 0));
		pointer-events: none;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row-media {
		position: relative;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate-day {
		font-size: 21px;
	}
}

/* En bandeau, sous 620 px, la ligne ne revient pas à la vignette serrée :
   la photo prend toute la largeur, la date reste posée en son centre, le
   texte passe dessous. Le principe est le même, seule l'orientation change. */
@container bmtagenda (max-width: 619.98px) {
	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 12px;
		padding: 16px 0 20px;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__row-media {
		position: relative;
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		height: min(38vw, 168px);
		border-radius: 4px;
		overflow: hidden;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__row-media::after {
		content: '';
		position: absolute;
		inset: 0;
		z-index: 1;
		background: radial-gradient(60% 60% at 50% 50%, rgba(10, 46, 28, 0.22), rgba(10, 46, 28, 0));
		pointer-events: none;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__plate {
		grid-column: 1;
		grid-row: 1;
		z-index: 2;
		align-self: center;
		justify-self: center;
		align-items: center;
		gap: 0;
		margin: 0;
		padding: 7px 13px 6px;
		border-radius: 3px;
		background: rgba(255, 255, 255, 0.94);
		box-shadow: 0 2px 10px rgba(10, 46, 28, 0.18);
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate-day {
		font-size: 20px;
		line-height: 1.05;
		white-space: nowrap;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__plate-month {
		font-size: 8.5px;
		letter-spacing: 0.16em;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__row-body {
		grid-column: 1;
		grid-row: 2;
		padding-bottom: 0;
	}

	.bmt-ag--layout-editorial-split.bmt-ag--list-style-bandeau .bmt-ag__row--with-image .bmt-ag__row-aside {
		grid-column: 1;
		grid-row: 3;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding-top: 4px;
	}
}

/* ========================================================================== 
   2.0 — Elementor is the design source. These values are only neutral fallbacks.
   Every widget selector is intentionally light so Elementor's controls win. 
   ========================================================================== */
.elementor-widget-boutemont_agenda .bmt-ag,
.elementor-widget-boutemont_agenda_list .bmt-ag,
.elementor-widget-boutemont_agenda_event .bmt-ag-event { font-family: inherit; }
.elementor-widget-boutemont_agenda .bmt-ag__title,
.elementor-widget-boutemont_agenda .bmt-ag__hero-title,
.elementor-widget-boutemont_agenda .bmt-ag__row-title,
.elementor-widget-boutemont_agenda_list .bmt-ag__month,
.elementor-widget-boutemont_agenda_list .bmt-ag__card-title { font-family: inherit; }
/* Palette is a fallback only: it must never lock colors selected in Elementor. */
.bmt-ag--palette-boutemont-2026 .bmt-ag__kicker,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-month,
.bmt-ag--palette-boutemont-2026 .bmt-ag__plate-month { color: var(--bmt-ag-accent, #4F7539); }
.bmt-ag--palette-boutemont-2026 .bmt-ag__title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__hero-day,
.bmt-ag--palette-boutemont-2026 .bmt-ag__plate-day,
.bmt-ag--palette-boutemont-2026 .bmt-ag__row-title,
.bmt-ag--palette-boutemont-2026 .bmt-ag__list-label,
.bmt-ag--palette-boutemont-2026 .bmt-ag__arrow { color: var(--bmt-ag-title, var(--bmt-ag-ink)); }
.bmt-ag--palette-boutemont-2026 .bmt-ag__row:hover { background-color: var(--bmt-ag-hover, rgba(177,207,159,.16)); }
.bmt-ag__hero, .bmt-ag__row, .bmt-ag__card, .bmt-ag__btn, .bmt-ag__underline { transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease; }

/* Single event, meant for Elementor Theme Builder's Animation unique template. */
.bmt-ag-event { --bmt-event-bg:#F2EFE6; --bmt-event-border:rgba(27,29,28,.16); --bmt-event-radius:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); gap:clamp(28px,5vw,78px); align-items:start; color:inherit; }
.bmt-ag-event__media { overflow:hidden; background:#E9E6DA; }
.bmt-ag-event__media img { display:block; width:100%; height:clamp(320px,45vw,650px); object-fit:cover; }
.bmt-ag-event__intro { grid-column:1; }
.bmt-ag-event__date,.bmt-ag-event__eyebrow,.bmt-ag-event__label { margin:0; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; }
.bmt-ag-event__title { margin:.55rem 0 1.4rem; font-size:clamp(2.2rem,5vw,4.8rem); line-height:1.04; }
.bmt-ag-event__content { font-size:1.08rem; line-height:1.7; }
.bmt-ag-event__panel { grid-column:2; grid-row:1 / span 2; padding:clamp(24px,4vw,46px); border:1px solid var(--bmt-event-border); border-radius:var(--bmt-event-radius); background:var(--bmt-event-bg); transition:background-color .25s ease,border-color .25s ease; }
.bmt-ag-event__eyebrow { margin-bottom:1rem; }
.bmt-ag-event__panel > .bmt-ag-event__date { margin-bottom:1.5rem; font-size:clamp(1.7rem,3vw,2.6rem); letter-spacing:0; text-transform:none; }
.bmt-ag-event__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6rem 2rem; padding:1.6rem 0; border-block:1px solid var(--bmt-event-border); }
.bmt-ag-event__facts > div,.bmt-ag-event__label,.bmt-ag-event__value { display:block; }
.bmt-ag-event__label { margin-bottom:.45rem; }
.bmt-ag-event__value { font-size:1.05rem; line-height:1.45; }
.bmt-ag-event__actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
.bmt-ag-event__button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border:1px solid currentColor; background:transparent; color:inherit; text-decoration:none; transition:background-color .25s ease,color .25s ease,border-color .25s ease; }
.bmt-ag-event__button--solid { background:currentColor; color:#fff; }
.bmt-ag-event__button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media (max-width: 767px) { .bmt-ag-event { display:flex; flex-direction:column; gap:26px; } .bmt-ag-event__media,.bmt-ag-event__intro,.bmt-ag-event__panel { width:100%; } .bmt-ag-event__media img { height:min(110vw,540px); } .bmt-ag-event__facts { grid-template-columns:1fr; gap:1.15rem; } .bmt-ag-event__actions,.bmt-ag-event__button { width:100%; } }

/* Page de tous les événements : un widget autonome, structuré comme une vraie page. */
.bmt-ag--list .bmt-ag__page-head { max-width:760px; margin:0 0 clamp(34px,6vw,76px); padding-bottom:clamp(24px,3vw,42px); border-bottom:1px solid currentColor; }
.bmt-ag--list .bmt-ag__page-kicker { margin:0 0 14px; font-size:.75rem; line-height:1.2; letter-spacing:.24em; text-transform:uppercase; }
.bmt-ag--list .bmt-ag__page-title { margin:0; font:inherit; font-size:clamp(2.25rem,5.1vw,5.25rem); line-height:1.02; }
.bmt-ag--list .bmt-ag__page-intro { max-width:650px; margin:20px 0 0; font-size:1.05rem; line-height:1.65; }
.elementor-widget-boutemont_agenda_list .bmt-ag__card { border:1px solid transparent; padding:0; transition:background-color .25s ease,border-color .25s ease; }
@media (max-width:720px) { .bmt-ag--list .bmt-ag__page-head { margin-bottom:38px; } .bmt-ag--list .bmt-ag__page-title { font-size:2.45rem; } }


/* 2.0.2 — aucune police embarquée : la charte typographique vient d’Elementor. */
.elementor-widget-boutemont_agenda .bmt-ag__kicker,
.elementor-widget-boutemont_agenda .bmt-ag__season,
.elementor-widget-boutemont_agenda .bmt-ag__badge,
.elementor-widget-boutemont_agenda .bmt-ag__hero-month,
.elementor-widget-boutemont_agenda .bmt-ag__plate-month,
.elementor-widget-boutemont_agenda .bmt-ag__list-label,
.elementor-widget-boutemont_agenda .bmt-ag__facts,
.elementor-widget-boutemont_agenda .bmt-ag__row-cat,
.elementor-widget-boutemont_agenda .bmt-ag__btn,
.elementor-widget-boutemont_agenda .bmt-ag__underline { font-family:var(--e-global-typography-secondary-font-family, inherit); }
.elementor-widget-boutemont_agenda .bmt-ag__title,
.elementor-widget-boutemont_agenda .bmt-ag__hero-title,
.elementor-widget-boutemont_agenda .bmt-ag__hero-day,
.elementor-widget-boutemont_agenda .bmt-ag__plate-day,
.elementor-widget-boutemont_agenda .bmt-ag__row-title { font-family:var(--e-global-typography-primary-font-family, inherit); }
.elementor-widget-boutemont_agenda .bmt-ag__intro,
.elementor-widget-boutemont_agenda .bmt-ag__hero-teaser,
.elementor-widget-boutemont_agenda .bmt-ag__row-teaser,
.elementor-widget-boutemont_agenda .bmt-ag__note { font-family:var(--e-global-typography-text-font-family, inherit); }

/* 2.0.3 — le lien « En savoir plus » ne porte plus d’or imposé. */
.elementor-widget-boutemont_agenda .bmt-ag__hero-more { color:inherit; border-bottom-color:currentColor; }
/* CTA de l’agenda accueil : la catégorie est remplacée par une vraie action. */
.bmt-ag__all-events { display:flex; justify-content:flex-start; padding-top:24px; }
.bmt-ag__row-cat { display:inline-flex; align-items:center; gap:10px; }
@media (max-width:720px) { .bmt-ag__all-events .bmt-ag__btn { width:auto; } }

/* Frise de la page Actualités : défilement horizontal naturel au doigt. */
.bmt-ag--list { --bmt-ag-timeline: currentColor; }
.bmt-ag__timeline { position:relative; margin:-20px 0 clamp(40px,6vw,78px); overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
.bmt-ag__timeline::-webkit-scrollbar { display:none; }
.bmt-ag__timeline-track { position:relative; display:flex; width:max-content; min-width:100%; gap:clamp(22px,4vw,54px); padding:16px 0; }
.bmt-ag__timeline-track::before { position:absolute; top:23px; right:0; left:0; height:1px; background:var(--bmt-ag-timeline); opacity:.32; content:''; }
.bmt-ag__timeline-step { position:relative; z-index:1; display:inline-flex; align-items:center; gap:10px; padding:0; background:transparent; color:var(--bmt-ag-timeline); font-size:.73rem; letter-spacing:.15em; text-decoration:none; text-transform:uppercase; white-space:nowrap; scroll-snap-align:start; transition:opacity .2s ease,transform .2s ease; }
.bmt-ag__timeline-dot { display:block; width:15px; height:15px; border:3px solid var(--bmt-ag-timeline); border-radius:50%; background:#fff; }
.bmt-ag__timeline-step:hover,.bmt-ag__timeline-step:focus-visible { opacity:1; transform:translateY(-2px); }
.bmt-ag__timeline-step:target .bmt-ag__timeline-dot { background:var(--bmt-ag-timeline); }
.bmt-ag__month-group { scroll-margin-top:110px; }
.bmt-ag__month-group + .bmt-ag__month-group { margin-top:clamp(50px,8vw,105px); }
@media (max-width:720px) { .bmt-ag__timeline { margin:0 -2px 36px; scroll-snap-type:x mandatory; } .bmt-ag__timeline-track { padding-inline:2px 28px; } .bmt-ag__month-group + .bmt-ag__month-group { margin-top:58px; } }
/* Retour discret depuis une fiche vers toutes les actualités. */
.bmt-ag-fiche__breadcrumb { display:flex; align-items:center; gap:8px; margin:0 0 24px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.bmt-ag-fiche__breadcrumb a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; }
.bmt-ag-fiche__breadcrumb span:last-child { opacity:.62; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ========================================================================== 
   2.2 — Page Actualités éditoriale
   La frise n'est plus une ligne perdue dans le vide : elle forme un sommaire
   compact. Chaque mois devient ensuite un chapitre avec son propre rail.
   ========================================================================== */
.elementor-widget-boutemont_agenda_list .bmt-ag--list {
	--bmt-ag-timeline: currentColor;
	display: block;
	container-type: inline-size;
	color: inherit;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__page-head {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, .65fr);
	grid-template-areas:
		'kicker intro'
		'title intro';
	column-gap: clamp(36px, 7vw, 120px);
	row-gap: 12px;
	align-items: end;
	max-width: none;
	margin: 0;
	padding: 0 0 clamp(28px, 4vw, 48px);
	border: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__page-kicker {
	grid-area: kicker;
	margin: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__page-title {
	grid-area: title;
	max-width: 900px;
	margin: 0;
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: clamp(2.45rem, 5vw, 5rem);
	line-height: .98;
	text-wrap: balance;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__page-intro {
	grid-area: intro;
	max-width: 520px;
	margin: 0;
	padding-left: 22px;
	border-left: 1px solid currentColor;
	font-family: var(--e-global-typography-text-font-family, inherit);
	line-height: 1.65;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline {
	position: relative;
	width: 100%;
	margin: 0 0 clamp(42px, 6vw, 76px);
	padding: 12px 0;
	border-block: 1px solid color-mix(in srgb, var(--bmt-ag-timeline) 22%, transparent);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline::-webkit-scrollbar {
	display: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-track {
	position: relative;
	display: flex;
	align-items: center;
	width: max-content;
	min-width: 0;
	gap: clamp(28px, 4vw, 68px);
	padding: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-track::before {
	display: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 34px;
	padding: 0 2px;
	color: var(--bmt-ag-timeline);
	font-family: var(--e-global-typography-secondary-font-family, inherit);
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: .52;
	transition: opacity .2s ease, transform .2s ease;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-dot {
	display: block;
	width: 8px;
	height: 8px;
	border: 1px solid var(--bmt-ag-timeline);
	border-radius: 50%;
	background: transparent;
	box-shadow: 0 0 0 5px transparent;
	transition: background-color .2s ease, box-shadow .2s ease;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step:focus-visible,
.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step.is-active {
	opacity: 1;
	transform: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step.is-active .bmt-ag__timeline-dot {
	background: var(--bmt-ag-timeline-active, var(--bmt-ag-timeline));
	border-color: var(--bmt-ag-timeline-active, var(--bmt-ag-timeline));
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--bmt-ag-timeline-active, var(--bmt-ag-timeline)) 12%, transparent);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
	display: grid;
	grid-template-columns: minmax(160px, .24fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 88px);
	align-items: start;
	scroll-margin-top: 130px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
	margin-top: clamp(68px, 10vw, 150px);
	padding-top: clamp(36px, 5vw, 70px);
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month {
	position: sticky;
	top: 130px;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: clamp(1.8rem, 3.2vw, 3.35rem);
	line-height: 1;
	text-transform: capitalize;
	text-wrap: balance;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month::after {
	display: block;
	width: 42px;
	height: 1px;
	margin-top: 22px;
	background: currentColor;
	opacity: .55;
	content: '';
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards {
	grid-template-columns: repeat(var(--bmt-ag-list-cols, 3), minmax(0, 1fr));
	gap: var(--bmt-ag-card-gap, 32px);
	margin: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-1 {
	grid-template-columns: minmax(0, 760px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	position: relative;
	gap: 14px;
	min-width: 0;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	background: transparent;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-link {
	gap: 11px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
	isolation: isolate;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(10, 18, 13, .18), transparent 46%);
	opacity: 0;
	content: '';
	transition: opacity .35s ease;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card:hover .bmt-ag__card-media::after,
.elementor-widget-boutemont_agenda_list .bmt-ag__card:focus-within .bmt-ag__card-media::after {
	opacity: 1;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-cat {
	z-index: 2;
}

@container (max-width: 980px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__page-head {
		grid-template-columns: 1fr;
		grid-template-areas: 'kicker' 'title' 'intro';
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__page-intro {
		max-width: 720px;
		margin-top: 10px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
		grid-template-columns: minmax(135px, .22fr) minmax(0, 1fr);
		gap: 28px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-1 {
		grid-template-columns: minmax(0, 1fr);
	}
}

@container (max-width: 650px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__page-head {
		padding-bottom: 26px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__page-title {
		font-size: clamp(2.15rem, 12vw, 3.35rem);
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__page-intro {
		padding-left: 16px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__timeline {
		margin-bottom: 40px;
		scroll-snap-type: x mandatory;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-track {
		gap: 28px;
		padding-right: 28px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step {
		scroll-snap-align: start;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
		display: block;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month {
		position: static;
		margin-bottom: 26px;
		font-size: 2rem;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month::after {
		margin-top: 14px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__cards,
	.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-2 {
		grid-template-columns: 1fr;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
		margin-top: 58px;
		padding-top: 38px;
	}
}

/* 2.5.1 — La photo accompagne toute la carte : aucun blanc sous l'image. */
.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	align-items: stretch;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
	height: 100%;
	min-height: var(--bmt-ag-card-h, 520px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

@container (max-width: 680px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
		height: var(--bmt-ag-card-h, 420px);
		min-height: 0;
	}
}

/* ========================================================================== 
   2.5.3 — Le widget d'accueil s'arrête réellement après son contenu.

   Elementor peut étirer un widget dans un conteneur flex. L'ancienne mise en
   page étirait également les deux colonnes puis repoussait le pied de liste
   avec margin-top:auto : visuellement, cela ressemblait à une énorme marge
   sous l'agenda, surtout lorsque peu d'événements étaient affichés.
   ========================================================================== */
.elementor-widget-boutemont_agenda {
	--flex-grow: 0;
	flex-grow: 0 !important;
	align-self: flex-start;
	width: 100%;
	min-height: 0 !important;
}

.elementor-widget-boutemont_agenda > .elementor-widget-container,
.elementor-widget-boutemont_agenda .bmt-ag,
.elementor-widget-boutemont_agenda .bmt-ag__split,
.elementor-widget-boutemont_agenda .bmt-ag__hero,
.elementor-widget-boutemont_agenda .bmt-ag__list {
	min-height: 0 !important;
}

.elementor-widget-boutemont_agenda > .elementor-widget-container,
.elementor-widget-boutemont_agenda .bmt-ag,
.elementor-widget-boutemont_agenda .bmt-ag__split {
	height: auto !important;
	margin-bottom: 0 !important;
}

.elementor-widget-boutemont_agenda .bmt-ag--layout-editorial-split .bmt-ag__split {
	align-items: start;
}

.elementor-widget-boutemont_agenda .bmt-ag--layout-editorial-split .bmt-ag__hero,
.elementor-widget-boutemont_agenda .bmt-ag--layout-editorial-split .bmt-ag__list {
	align-self: start;
	height: auto;
}

.elementor-widget-boutemont_agenda .bmt-ag--layout-editorial-split .bmt-ag__foot {
	margin-top: 0;
}

.elementor-widget-boutemont_agenda .bmt-ag__all-events:last-child,
.elementor-widget-boutemont_agenda .bmt-ag__foot:last-child,
.elementor-widget-boutemont_agenda .bmt-ag__list > :last-child,
.elementor-widget-boutemont_agenda .bmt-ag__split > :last-child {
	margin-bottom: 0 !important;
}

/* 2.5.2 — La page verticale n'applique aucun ancrage automatique de scroll. */
.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport,
.elementor-widget-boutemont_agenda_list .bmt-ag__months-track,
.elementor-widget-boutemont_agenda_list .bmt-ag__month-group,
.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	scroll-snap-type: none !important;
	scroll-snap-align: none !important;
	scroll-snap-stop: normal !important;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-step,
	.elementor-widget-boutemont_agenda_list .bmt-ag__timeline-dot {
		transition: none;
	}
}

/* ========================================================================== 
   2.3 — Cartes de la page Agenda en pleine largeur
   Une animation forme désormais un bandeau éditorial : visuel à gauche,
   contenu à droite. Les cartes ne flottent plus seules dans une grille.
   ========================================================================== */
.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
	grid-template-columns: minmax(150px, .18fr) minmax(0, 1fr);
	gap: clamp(30px, 4.5vw, 76px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-1,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-2,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-3,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-4 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--bmt-ag-card-gap, 32px);
	width: 100%;
	max-width: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	display: grid;
	grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
	grid-template-rows: minmax(0, 1fr) auto;
	column-gap: 0;
	row-gap: 0;
	min-height: var(--bmt-ag-card-h, 300px);
	padding: 0;
	border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	background: transparent;
	overflow: hidden;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .35s ease, box-shadow .35s ease;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag__card:focus-within {
	transform: translateY(-3px);
	box-shadow: 0 18px 44px rgba(15, 31, 23, .08);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-link {
	display: contents;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
	grid-column: 1;
	grid-row: 1 / span 6;
	width: 100%;
	height: 100%;
	min-height: var(--bmt-ag-card-h, 300px);
	border-radius: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-date,
.elementor-widget-boutemont_agenda_list .bmt-ag__card-title,
.elementor-widget-boutemont_agenda_list .bmt-ag__card-teaser,
.elementor-widget-boutemont_agenda_list .bmt-ag__card-facts {
	grid-column: 2;
	margin-inline: clamp(26px, 4vw, 64px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-date {
	align-self: end;
	margin-top: clamp(28px, 4vw, 56px);
	margin-bottom: 14px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: clamp(1.8rem, 3vw, 3.35rem);
	line-height: 1.04;
	text-wrap: balance;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-teaser {
	margin-top: 18px;
	line-height: 1.65;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-facts {
	align-self: end;
	margin-top: 24px;
	margin-bottom: clamp(26px, 3.5vw, 48px);
	padding-top: 18px;
	border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-actions {
	grid-column: 2;
	grid-row: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	margin: 0 clamp(26px, 4vw, 64px) clamp(26px, 3.5vw, 48px);
}

@container (max-width: 900px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
		grid-template-columns: minmax(120px, .16fr) minmax(0, 1fr);
		gap: 24px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card {
		grid-template-columns: minmax(220px, .82fr) minmax(280px, 1.18fr);
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-date,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-title,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-teaser,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-facts,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-actions {
		margin-inline: 26px;
	}
}

@container (max-width: 680px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group {
		display: block;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card {
		display: flex;
		flex-direction: column;
		min-height: 0;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-link {
		display: flex;
		flex-direction: column;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
		width: 100%;
		height: min(74vw, 440px);
		min-height: 260px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-date,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-title,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-teaser,
	.elementor-widget-boutemont_agenda_list .bmt-ag__card-facts {
		margin-inline: 22px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-date {
		margin-top: 24px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-title {
		font-size: clamp(1.7rem, 8vw, 2.5rem);
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-facts {
		margin-bottom: 24px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-actions {
		margin: 0 22px 26px;
	}
}

/* ========================================================================== 
   2.4 — Toute la saison sur un axe horizontal unique
   Les mois et leurs événements se suivent sans rupture verticale. Le rail
   fonctionne à la souris, au trackpad, au doigt et avec deux flèches.
   ========================================================================== */
.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport::-webkit-scrollbar {
	display: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 6px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__months-track {
	display: flex;
	align-items: flex-start;
	width: max-content;
	gap: clamp(54px, 7vw, 120px);
	padding: 0 1px 4px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month-group,
.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
	display: block;
	flex: 0 0 auto;
	width: max-content;
	margin: 0;
	padding: 0;
	border: 0;
	scroll-margin-top: 120px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month {
	position: static;
	width: max-content;
	margin: 0 0 24px;
	font-size: clamp(1.65rem, 2.3vw, 2.8rem);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month::after {
	width: 34px;
	margin-top: 14px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-1,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-2,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-3,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-4 {
	display: flex;
	align-items: stretch;
	width: max-content;
	gap: var(--bmt-ag-card-gap, 32px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	flex: 0 0 var(--bmt-ag-rail-card-w, clamp(680px, 68vw, 1080px));
	width: var(--bmt-ag-rail-card-w, clamp(680px, 68vw, 1080px));
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-controls {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 24px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, opacity .2s ease;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow:focus-visible {
	background: currentColor;
	color: var(--e-global-color-primary, #fff);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow:disabled {
	opacity: .25;
	cursor: default;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-arrow:disabled:hover {
	background: transparent;
	color: inherit;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--rail-static .bmt-ag__rail-controls {
	display: none;
}

@container (max-width: 760px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__months-track {
		gap: 46px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card {
		flex-basis: var(--bmt-ag-rail-card-w, min(86vw, 540px));
		width: var(--bmt-ag-rail-card-w, min(86vw, 540px));
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__rail-controls {
		justify-content: space-between;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport {
		scroll-behavior: auto;
	}
}

/* ========================================================================== 
   2.5 — Retour à une lecture verticale, cartes éditoriales horizontales
   Les mois redescendent les uns sous les autres. La hauteur Elementor pilote
   réellement chaque photo et l'image remplit toujours son cadre en cover.
   ========================================================================== */
.elementor-widget-boutemont_agenda_list .bmt-ag__months-viewport {
	overflow: visible;
	scroll-snap-type: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__months-track {
	display: block;
	width: 100%;
	padding: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month-group,
.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
	display: grid;
	grid-template-columns: minmax(150px, .18fr) minmax(0, 1fr);
	gap: clamp(30px, 4.5vw, 76px);
	width: 100%;
	margin: 0;
	padding: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
	margin-top: clamp(68px, 9vw, 130px);
	padding-top: clamp(36px, 5vw, 64px);
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__month {
	position: sticky;
	top: 130px;
	width: auto;
	margin: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__cards,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-1,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-2,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-3,
.elementor-widget-boutemont_agenda_list .bmt-ag__cards--count-4 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	gap: var(--bmt-ag-card-gap, 32px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card {
	flex: none;
	width: 100%;
	min-height: var(--bmt-ag-card-h, 300px);
	scroll-snap-align: none;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
	height: var(--bmt-ag-card-h, 300px);
	min-height: 0;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__card-media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.elementor-widget-boutemont_agenda_list .bmt-ag__rail-controls {
	display: none !important;
}

/* La fiche Elementor ne répète plus l'encart pratique automatique. */
.elementor-widget-boutemont_agenda_event .bmt-ag-event--without-panel {
	display: block;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--without-panel .bmt-ag-event__media {
	width: 100%;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event__media img {
	height: var(--bmt-event-image-h, clamp(320px, 45vw, 650px));
	object-fit: cover;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--without-panel .bmt-ag-event__intro {
	max-width: 980px;
	margin-top: clamp(30px, 5vw, 72px);
}

@container (max-width: 680px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group,
	.elementor-widget-boutemont_agenda_list .bmt-ag__month-group + .bmt-ag__month-group {
		display: block;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__month {
		position: static;
		margin-bottom: 26px;
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag__card-media {
		height: var(--bmt-ag-card-h, 320px);
		min-height: 0;
	}
}

/* ========================================================================== */
/* Boutemont Agenda 3.0 — langage commun avec Boutemont Infos                 */
/* ========================================================================== */

.bmt-ag--v3,
.bmt-ag-event--v3 {
	--bmt-ag-sage: #AAC29E;
	--bmt-ag-green: #4F7539;
	--bmt-ag-ink: #323533;
	--bmt-ag-gold: #A8823C;
	--bmt-ag-sand: #E9E6DA;
	--bmt-ag-chalk: #F2EFE6;
	--bmt-ag-white: #fff;
	--bmt-ag-line: color-mix(in srgb, var(--bmt-ag-ink) 16%, transparent);
	color: var(--bmt-ag-ink);
	font-family: inherit;
}

.bmt-ag--v3 *,
.bmt-ag-event--v3 * { box-sizing: border-box; }
.bmt-ag--v3 :is(a, button),
.bmt-ag-event--v3 :is(a, button) { -webkit-tap-highlight-color: transparent; }

/* Accueil ------------------------------------------------------------------ */
.elementor-widget-boutemont_agenda .bmt-ag--v3 {
	margin: 0;
	padding: 0;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px 48px;
	align-items: end;
	margin: 0 0 clamp(26px, 4vw, 54px);
	padding: 0 0 clamp(20px, 2.5vw, 32px);
	border-bottom: 1px solid var(--bmt-ag-line);
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 :is(.bmt-ag__kicker, .bmt-ag__season, .bmt-ag__badge, .bmt-ag__list-label) {
	color: var(--bmt-ag-gold);
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__kicker { margin: 0 0 12px; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__title {
	margin: 0;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: clamp(2rem, 4vw, 4.4rem);
	font-weight: inherit;
	line-height: 1.04;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__intro {
	max-width: 760px;
	margin: 16px 0 0;
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.65;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__head-aside { align-items: flex-end; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__dot {
	width: 7px;
	height: 7px;
	background: var(--bmt-ag-gold);
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__split {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: start;
	margin: 0;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero {
	display: grid;
	grid-template-columns: minmax(0, 48%) minmax(0, 52%);
	grid-template-rows: 1fr auto;
	gap: 0;
	min-height: 100%;
	margin: 0;
	border: 1px solid var(--bmt-ag-line);
	border-radius: var(--bmt-ag-hero-radius, 0);
	background: var(--bmt-ag-white);
	overflow: hidden;
	box-shadow: none;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-link {
	grid-column: 1;
	grid-row: 1 / span 2;
	min-height: var(--bmt-ag-hero-h, 560px);
	overflow: hidden;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-img {
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	transition: transform .55s ease;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero:hover .bmt-ag__hero-img { transform: scale(1.025); }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-body {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(24px, 3.5vw, 54px);
	background: transparent;
	color: var(--bmt-ag-ink);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-title {
	margin: clamp(18px, 3vw, 34px) 0 20px;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: clamp(1.7rem, 2.6vw, 3.15rem);
	font-weight: inherit;
	line-height: 1.08;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-date {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin: 0 0 22px;
	color: var(--bmt-ag-green);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-day {
	font-family: inherit;
	font-size: clamp(1.65rem, 3vw, 3rem);
	font-weight: inherit;
	line-height: 1;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-month {
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .17em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-teaser {
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.65;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: auto;
	padding-top: 28px;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-actions {
	grid-column: 2;
	grid-row: 2;
	margin: 0;
	padding: 0 clamp(24px, 3.5vw, 54px) clamp(24px, 3.5vw, 54px);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-more,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__underline {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-decoration: none;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-more:hover,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-more:focus-visible { color: var(--bmt-ag-gold); }

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__list { min-width: 0; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__list-label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 16px;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__list-label::before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row {
	display: grid;
	grid-template-columns: 76px 120px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	min-height: 126px;
	padding: 18px 0;
	border: 0;
	border-bottom: 1px solid var(--bmt-ag-line);
	background: transparent;
	color: var(--bmt-ag-ink);
	text-decoration: none;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row:hover,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row:focus-visible {
	background: color-mix(in srgb, var(--bmt-ag-sage) 14%, transparent);
	color: var(--bmt-ag-green);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__plate {
	position: static;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: auto;
	height: auto;
	padding: 0;
	background: transparent;
	color: var(--bmt-ag-green);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__plate-day {
	font-family: inherit;
	font-size: 1.35rem;
	font-weight: inherit;
	line-height: 1.05;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__plate-month {
	margin-top: 5px;
	font-family: inherit;
	font-size: .67rem;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-media {
	width: 120px;
	height: 88px;
	border-radius: 0;
	overflow: hidden;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-media img { width: 100%; height: 100%; object-fit: cover; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-media::after { display: none; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-body { min-width: 0; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-title {
	display: block;
	color: inherit;
	font-family: inherit;
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-teaser {
	display: -webkit-box;
	margin-top: 7px;
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.45;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-aside { align-self: center; color: var(--bmt-ag-green); }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-cat { font-size: 0; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__arrow { font-size: 1rem; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__all-events { margin-top: 28px; }
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--bmt-ag-green);
	border-radius: 999px;
	background: transparent;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-decoration: none;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__btn:hover,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__btn:focus-visible,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__btn:active {
	border-color: var(--bmt-ag-green);
	background: var(--bmt-ag-green);
	color: var(--bmt-ag-white);
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__foot { margin-top: 22px; }

/* Page Tous les événements ------------------------------------------------- */
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 { margin: 0; padding: 0; }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-head {
	max-width: 980px;
	margin: 0 0 clamp(32px, 5vw, 64px);
	padding: 0 0 clamp(22px, 3vw, 36px);
	border-bottom: 1px solid var(--bmt-ag-line);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-kicker {
	margin: 0 0 12px;
	color: var(--bmt-ag-gold);
	font-family: inherit;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-title {
	margin: 0;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: clamp(2.1rem, 4.5vw, 4.8rem);
	font-weight: inherit;
	line-height: 1.04;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-intro {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.65;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline {
	position: static;
	margin: 0 0 44px;
	padding: 0;
	border: 0;
	overflow-x: auto;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline-track {
	display: flex;
	gap: 10px;
	min-width: max-content;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline-step {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 15px;
	border: 1px solid var(--bmt-ag-line);
	border-radius: 999px;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline-step:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline-step:focus-visible {
	border-color: var(--bmt-ag-green);
	background: var(--bmt-ag-green);
	color: var(--bmt-ag-white);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline-dot { width: 6px; height: 6px; background: var(--bmt-ag-gold); }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__months-viewport,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__months-track { overflow: visible; }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__month-group { margin: 0 0 clamp(42px, 6vw, 76px); }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__month {
	margin: 0 0 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--bmt-ag-line);
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: clamp(1.45rem, 2.4vw, 2.35rem);
	font-weight: inherit;
	line-height: 1.15;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-1,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-2,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-3,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-4 {
	display: grid;
	grid-template-columns: repeat(var(--bmt-ag-list-cols, 3), minmax(0, 1fr));
	gap: var(--bmt-ag-card-gap, 28px);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	border: 1px solid var(--bmt-ag-line);
	border-radius: var(--bmt-ag-card-radius, 0);
	background: var(--bmt-ag-white);
	overflow: hidden;
	box-shadow: none;
	transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card:focus-within {
	border-color: var(--bmt-ag-sage);
	transform: translateY(-3px);
	box-shadow: 0 16px 34px rgba(50, 53, 51, .08);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: var(--bmt-ag-ink);
	text-decoration: none;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-media {
	position: relative;
	display: block;
	width: 100%;
	height: min(var(--bmt-ag-card-h, 360px), 42vw);
	min-height: 240px;
	background: color-mix(in srgb, var(--bmt-ag-sage) 24%, var(--bmt-ag-white));
	overflow: hidden;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card:hover .bmt-ag__card-media img { transform: scale(1.025); }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-cat {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 8px 12px;
	border: 1px solid rgba(255,255,255,.65);
	border-radius: 999px;
	background: rgba(50,53,51,.55);
	color: #fff;
	font-family: inherit;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 :is(.bmt-ag__card-date, .bmt-ag__card-title, .bmt-ag__card-teaser, .bmt-ag__card-facts, .bmt-ag__card-more) { margin-inline: clamp(20px, 2.4vw, 32px); }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-date {
	margin-top: clamp(22px, 2.6vw, 32px);
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-title {
	margin-top: 13px;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: clamp(1.3rem, 2vw, 2rem);
	font-weight: inherit;
	line-height: 1.15;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-teaser {
	display: -webkit-box;
	margin-top: 15px;
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.58;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 15px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--bmt-ag-line);
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-more {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	padding-block: 24px;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin: 0 clamp(20px, 2.4vw, 32px);
	padding: 0 0 24px;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__underline {
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .11em;
	text-decoration: none;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
}
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__underline:hover,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__underline:focus-visible { color: var(--bmt-ag-gold); }
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__rail-controls { display: none; }

/* Fiche événement ---------------------------------------------------------- */
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 {
	display: block;
	margin: 0;
	color: var(--bmt-ag-ink);
	font-family: inherit;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__breadcrumb {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	margin: 0 0 clamp(24px, 3vw, 38px);
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__breadcrumb a { color: var(--bmt-ag-green); text-decoration: none; border-bottom: 1px solid currentColor; }
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__breadcrumb span:last-child { opacity: .65; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
	gap: var(--bmt-event-gap, 40px);
	align-items: start;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__media {
	height: var(--bmt-event-image-h, 560px);
	background: color-mix(in srgb, var(--bmt-ag-sage) 24%, var(--bmt-ag-white));
	overflow: hidden;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(8px, 2vw, 28px) 0;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__eyebrow {
	margin: 0 0 24px;
	color: var(--bmt-ag-gold);
	font-family: inherit;
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__date {
	margin: 0 0 18px;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__title {
	margin: 0 0 clamp(24px, 3vw, 40px);
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: clamp(2.1rem, 4.4vw, 4.8rem);
	font-weight: inherit;
	line-height: 1.02;
	letter-spacing: inherit;
	text-transform: none;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__content {
	max-width: 720px;
	color: var(--bmt-ag-ink);
	font: inherit;
	line-height: 1.7;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__content > :first-child { margin-top: 0; }
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__content > :last-child { margin-bottom: 0; }
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__panel {
	margin-top: var(--bmt-event-gap, 40px);
	padding: clamp(26px, 4vw, 50px);
	border: 1px solid var(--bmt-ag-sand);
	border-radius: 0;
	background: var(--bmt-ag-chalk);
	transition: background-color .25s ease, border-color .25s ease;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__panel-title {
	margin: 0 0 28px;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	border: 0;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__fact {
	padding: 8px clamp(18px, 3vw, 36px);
	border-left: 1px solid var(--bmt-ag-line);
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__fact:first-child { padding-left: 0; border-left: 0; }
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__label {
	display: block;
	margin: 0 0 10px;
	color: var(--bmt-ag-gold);
	font-family: inherit;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__value {
	display: block;
	color: var(--bmt-ag-ink);
	font-family: inherit;
	font-size: 1.05rem;
	font-weight: inherit;
	line-height: 1.45;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 34px 0 0;
	padding-top: 28px;
	border-top: 1px solid var(--bmt-ag-line);
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px;
	border: 1px solid var(--bmt-ag-green);
	border-radius: 999px;
	background: transparent;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button--solid,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button:hover,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button:focus-visible,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button:active {
	border-color: var(--bmt-ag-green);
	background: var(--bmt-ag-green);
	color: var(--bmt-ag-white);
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button--solid:hover,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button--solid:focus-visible,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button--solid:active {
	border-color: var(--bmt-ag-sage);
	background: var(--bmt-ag-sage);
	color: var(--bmt-ag-ink);
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__back {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
	color: var(--bmt-ag-green);
	font-family: inherit;
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-decoration: none;
	text-transform: uppercase;
}
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__back:hover,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__back:focus-visible { color: var(--bmt-ag-gold); }

@media (max-width: 1024px) {
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__split { grid-template-columns: 1fr; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-link { min-height: 480px; }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__hero { grid-template-columns: 1fr; }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__intro { padding-bottom: 0; }
}

@media (max-width: 767px) {
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__head { grid-template-columns: 1fr; align-items: start; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__head-aside { align-items: flex-start; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__title,
	.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-title,
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__title { font-size: clamp(2rem, 10vw, 3.25rem); }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero { display: flex; flex-direction: column; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-link { width: 100%; min-height: min(112vw, 520px); }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-body { width: 100%; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-actions { width: 100%; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row { grid-template-columns: 64px 86px minmax(0, 1fr); gap: 12px; min-height: 108px; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-media { width: 86px; height: 74px; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-aside { display: none; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-teaser { -webkit-line-clamp: 1; }
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__all-events .bmt-ag__btn { width: 100%; }
	.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-media { height: min(var(--bmt-ag-card-h, 380px), 112vw); }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__media { height: min(var(--bmt-event-image-h, 480px), 118vw); }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__facts { grid-template-columns: 1fr; }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__fact,
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__fact:first-child { padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--bmt-ag-line); }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__fact:last-child { border-bottom: 0; }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__actions { flex-direction: column; }
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--v3 .bmt-ag-event__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.bmt-ag--v3 *, .bmt-ag-event--v3 * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row:not(.bmt-ag__row--with-image) {
	grid-template-columns: 76px minmax(0, 1fr) auto;
}
@media (max-width: 767px) {
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row:not(.bmt-ag__row--with-image) {
		grid-template-columns: 64px minmax(0, 1fr);
	}
}

/* ========================================================================== */
/* 3.0.1 — sécurisation du widget d'accueil                                  */
/*
 * Les anciens modes « bandeau » plaçaient la date et la photo dans la même
 * cellule. Ces règles historiques pouvaient reprendre la main dans Elementor
 * et écraser le nouveau dessin : photo flottante, titre réduit à quelques
 * lettres par ligne et cartouche de date superposé. La version 3 remet ici
 * explicitement chaque élément dans sa colonne, quel que soit l'ancien
 * réglage enregistré dans la page.
 * ========================================================================== */
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__split {
	grid-template-columns: var(--bmt-ag-cols, minmax(0, 1fr) minmax(0, 1.15fr));
	gap: var(--bmt-ag-gap, clamp(24px, 4vw, 64px));
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero {
	grid-template-areas: none;
	grid-template-columns: minmax(0, 46%) minmax(0, 54%);
	grid-template-rows: minmax(0, 1fr) auto;
	height: auto;
	min-height: var(--bmt-ag-hero-h, 380px) !important;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-link {
	grid-area: auto;
	grid-column: 1;
	grid-row: 1 / 3;
	display: block;
	width: 100%;
	height: 100%;
	min-height: var(--bmt-ag-hero-h, 380px);
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-body {
	grid-area: auto;
	grid-column: 2;
	grid-row: 1;
	align-self: stretch;
	gap: 0;
	min-width: 0;
	padding: clamp(24px, 2.5vw, 40px);
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-actions {
	grid-area: auto;
	grid-column: 2;
	grid-row: 2;
	min-width: 0;
	padding: 0 clamp(24px, 2.5vw, 40px) clamp(24px, 2.5vw, 40px);
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-title {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-teaser {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* Les deux anciens choix (bandeau/vignette) utilisent désormais la même
 * structure stable. Le choix continue seulement de piloter les dimensions
 * de photo dans Elementor. */
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row,
.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row--with-image,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row--with-image,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-vignette .bmt-ag__row--with-image {
	position: relative;
	display: grid;
	grid-template-columns: 72px minmax(88px, var(--bmt-ag-list-thumb-w, 112px)) minmax(0, 1fr) 24px;
	grid-template-rows: auto;
	column-gap: clamp(14px, 1.5vw, 22px);
	row-gap: 0;
	align-items: center;
	min-width: 0;
	padding: 18px 8px;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__plate,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__plate {
	position: static;
	grid-column: 1;
	grid-row: 1;
	z-index: auto;
	align-self: center;
	justify-self: start;
	align-items: flex-start;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-media,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-media {
	position: static;
	grid-column: 2;
	grid-row: 1;
	display: block;
	width: 100%;
	height: var(--bmt-ag-list-thumb-h, 82px);
	min-height: 72px;
	border-radius: 2px;
	overflow: hidden;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-media::after,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-media::after {
	display: none;
	content: none;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-body,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-body {
	grid-column: 3;
	grid-row: 1;
	display: block;
	min-width: 0;
	padding: 0;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-aside,
.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-aside {
	grid-column: 4;
	grid-row: 1;
	align-self: center;
	justify-self: end;
	display: flex;
	padding: 0;
}

.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row-title {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

@container bmtagenda (max-width: 899.98px) {
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__split {
		grid-template-columns: minmax(0, 1fr);
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero {
		grid-template-columns: minmax(0, 44%) minmax(0, 56%);
	}
}

@container bmtagenda (max-width: 560px) {
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero {
		display: flex;
		flex-direction: column;
		min-height: 0 !important;
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-link {
		width: 100%;
		height: min(105vw, var(--bmt-ag-hero-h, 420px));
		min-height: 280px;
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-body,
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__hero-actions {
		width: 100%;
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row,
	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row--with-image,
	.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row--with-image {
		grid-template-columns: 58px 82px minmax(0, 1fr);
		column-gap: 12px;
		padding: 14px 0;
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-aside,
	.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-aside {
		display: none;
	}

	.elementor-widget-boutemont_agenda .bmt-ag--v3 .bmt-ag__row .bmt-ag__row-media,
	.elementor-widget-boutemont_agenda .bmt-ag--v3.bmt-ag--list-style-bandeau .bmt-ag__row .bmt-ag__row-media {
		height: 70px;
		min-height: 70px;
	}
}
/* --------------------------------------------------------------------------
 * Accueil v4 — structure isolée
 *
 * Cette version n'emploie volontairement plus les anciennes classes de mise
 * en page. Les classes historiques restantes ne servent qu'aux contrôles de
 * style Elementor (couleurs et typographies).
 * ----------------------------------------------------------------------- */
.bmt-ag-home4,
.bmt-ag-home4 * {
	box-sizing: border-box;
}

.bmt-ag-home4 {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: var(--bmt-ag-section-pt, 0) var(--bmt-ag-section-pr, 0) var(--bmt-ag-section-pb, 0) var(--bmt-ag-section-pl, 0);
	overflow: hidden;
	container-type: inline-size;
}

.bmt-ag-home4 a {
	color: inherit;
	text-decoration: none;
}

.bmt-ag-home4__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 28px;
	margin: 0 0 var(--bmt-ag-head-gap, 42px);
}

.bmt-ag-home4__head-main,
.bmt-ag-home4__head-aside {
	min-width: 0;
}

.bmt-ag-home4__head-aside {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	flex-wrap: wrap;
}

.bmt-ag-home4__kicker,
.bmt-ag-home4__title,
.bmt-ag-home4__intro {
	position: static;
	display: block;
	width: auto;
	max-width: 760px;
	margin: 0;
	padding: 0;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	writing-mode: horizontal-tb;
}

.bmt-ag-home4__kicker {
	margin-bottom: 10px;
}

.bmt-ag-home4__intro {
	margin-top: 14px;
}

.bmt-ag-home4__season {
	position: static;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: auto;
	white-space: normal;
}

.bmt-ag-home4__dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.bmt-ag-home4__layout {
	display: grid;
	grid-template-columns: var(--bmt-ag-cols, minmax(0, 1fr) minmax(0, 1.15fr));
	align-items: stretch;
	gap: var(--bmt-ag-gap, 44px);
	width: 100%;
	min-width: 0;
}

.bmt-ag-home4__layout--list-only {
	grid-template-columns: minmax(0, 1fr);
}

.bmt-ag-home4__featured {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto;
	width: 100%;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid rgba(50, 53, 51, .16);
	border-radius: 2px;
	overflow: hidden;
	isolation: isolate;
}

.bmt-ag-home4__featured-media {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	height: var(--bmt-ag-hero-h, 380px);
	min-height: 0;
	overflow: hidden;
}

.bmt-ag-home4 .bmt-ag-home4__featured-image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	transform: none;
}

.bmt-ag-home4__featured-content {
	position: static;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	min-width: 0;
	width: auto;
	height: auto;
	padding: clamp(24px, 3.2vw, 48px);
	overflow: visible;
}

.bmt-ag-home4__badge {
	position: static;
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	max-width: 100%;
	margin: 0 0 26px;
	padding: 0 0 12px;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	white-space: normal;
	word-break: normal;
}

.bmt-ag-home4 .bmt-ag-home4__featured-title {
	position: static;
	display: block;
	width: auto;
	max-width: 100%;
	margin: 0 0 22px;
	padding: 0;
	font-size: clamp(28px, 2.1vw, 42px);
	line-height: 1.05;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	writing-mode: horizontal-tb;
}

.bmt-ag-home4__featured-date {
	position: static;
	display: flex;
	align-items: baseline;
	gap: 16px;
	width: auto;
	margin: 0 0 18px;
	white-space: normal;
}

.bmt-ag-home4 .bmt-ag-home4__featured-day,
.bmt-ag-home4 .bmt-ag-home4__featured-month {
	position: static;
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 0;
	white-space: normal;
	word-break: normal;
	writing-mode: horizontal-tb;
}

.bmt-ag-home4 .bmt-ag-home4__featured-day {
	font-size: clamp(32px, 3vw, 54px);
	line-height: .95;
}

.bmt-ag-home4__featured-teaser {
	position: static;
	display: -webkit-box;
	width: auto;
	margin: 0 0 22px;
	padding: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	white-space: normal;
	word-break: normal;
}

.bmt-ag-home4__featured-facts {
	position: static;
	display: flex;
	flex-direction: column;
	gap: 7px;
	width: auto;
	margin: auto 0 0;
	padding: 18px 0 0;
	border-top: 1px solid rgba(50, 53, 51, .14);
	white-space: normal;
}

.bmt-ag-home4__featured-facts span {
	display: block;
	width: auto;
	white-space: normal;
	word-break: normal;
}

.bmt-ag-home4__featured-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
	flex-wrap: wrap;
}

.bmt-ag-home4__more {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
}

.bmt-ag-home4__upcoming {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	min-width: 0;
	width: 100%;
	margin: 0;
	padding: 0;
}

.bmt-ag-home4 .bmt-ag-home4__upcoming-label {
	position: static;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid rgba(50, 53, 51, .16);
	white-space: normal;
	word-break: normal;
	writing-mode: horizontal-tb;
}

.bmt-ag-home4__upcoming-label::before {
	content: "";
	display: block;
	width: 34px;
	height: 1px;
	background: currentColor;
}

.bmt-ag-home4__row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(76px, 98px) minmax(110px, var(--bmt-ag-list-thumb-w, 154px)) minmax(0, 1fr) 24px;
	align-items: center;
	gap: clamp(14px, 1.8vw, 26px);
	width: 100%;
	min-width: 0;
	min-height: 142px;
	margin: 0;
	padding: 22px 0;
	border: 0;
	border-bottom: 1px solid rgba(50, 53, 51, .16);
	background: transparent;
	overflow: hidden;
	transition: background-color .22s ease, padding .22s ease;
}

.bmt-ag-home4__row:hover,
.bmt-ag-home4__row:focus-visible {
	padding-right: 10px;
	padding-left: 10px;
	background: rgba(170, 194, 158, .13);
	outline: none;
}

.bmt-ag-home4__row-date,
.bmt-ag-home4__row-content,
.bmt-ag-home4__row-media {
	position: static;
	display: block;
	min-width: 0;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
}

.bmt-ag-home4__row-date {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.bmt-ag-home4 .bmt-ag-home4__row-day,
.bmt-ag-home4 .bmt-ag-home4__row-month {
	position: static;
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	white-space: normal;
	word-break: normal;
	writing-mode: horizontal-tb;
}

.bmt-ag-home4 .bmt-ag-home4__row-day {
	font-size: clamp(28px, 2.4vw, 42px);
	line-height: 1;
}

.bmt-ag-home4__row-media {
	height: var(--bmt-ag-list-thumb-h, 96px);
	background: rgba(170, 194, 158, .16);
	overflow: hidden;
}

.bmt-ag-home4__row-image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
}

.bmt-ag-home4__row-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
}

.bmt-ag-home4 .bmt-ag-home4__row-title,
.bmt-ag-home4 .bmt-ag-home4__row-teaser {
	position: static;
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
	writing-mode: horizontal-tb;
	transform: none;
}

.bmt-ag-home4 .bmt-ag-home4__row-title {
	font-size: clamp(21px, 1.5vw, 30px);
	line-height: 1.12;
}

.bmt-ag-home4 .bmt-ag-home4__row-teaser {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.bmt-ag-home4__row-arrow {
	position: static;
	display: block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	font-size: 22px;
	line-height: 1;
	transform: none;
}

.bmt-ag-home4__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.bmt-ag-home4__all-events {
	display: flex;
	justify-content: flex-start;
	margin-top: auto;
	padding-top: 34px;
}

.bmt-ag-home4__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: 100%;
	min-height: 48px;
	white-space: normal;
}

@container (max-width: 1120px) {
	.bmt-ag-home4__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.bmt-ag-home4__featured {
		min-height: 0;
	}
}

@container (max-width: 720px) {
	.bmt-ag-home4 {
		overflow: visible;
	}

	.bmt-ag-home4__head {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}

	.bmt-ag-home4__head-aside {
		justify-content: flex-start;
	}

	.bmt-ag-home4__featured {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.bmt-ag-home4__featured-media {
		min-height: var(--bmt-ag-hero-h, 250px);
		height: var(--bmt-ag-hero-h, 250px);
	}

	.bmt-ag-home4__featured-content {
		padding: 24px 22px 28px;
	}

	.bmt-ag-home4__row {
		grid-template-columns: 72px minmax(92px, 116px) minmax(0, 1fr);
		gap: 14px;
		min-height: 118px;
		padding: 18px 0;
	}

	.bmt-ag-home4__row-arrow {
		display: none;
	}
}

/* --------------------------------------------------------------------------
 * Fiche événement compacte — média à gauche, contenu et pratique à droite.
 * ----------------------------------------------------------------------- */
.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact {
	width: 100%;
	max-width: 100%;
	container-type: inline-size;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__hero {
	display: grid;
	grid-template-columns: minmax(260px, .95fr) minmax(320px, 1.05fr) !important;
	align-items: start;
	gap: clamp(28px, 4vw, 64px);
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__media {
	height: clamp(280px, var(--bmt-event-image-h, 440px), 500px);
	min-height: 0;
	border-radius: 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__intro {
	min-width: 0;
	padding: 4px 0 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__breadcrumb {
	margin-bottom: clamp(16px, 2vw, 26px);
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__title {
	font-size: clamp(2rem, 3.1vw, 3.75rem);
	line-height: 1.02;
	margin-bottom: clamp(18px, 2vw, 28px);
	overflow-wrap: anywhere;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__content {
	max-width: none;
	line-height: 1.62;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__panel {
	margin-top: clamp(24px, 3vw, 36px);
	padding: clamp(20px, 2.2vw, 30px);
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__panel-title {
	margin: 0 0 18px;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__facts {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__fact {
	padding: 16px 14px;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__actions {
	margin-top: 18px;
	padding-top: 18px;
}

@container (max-width: 680px) {
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__hero {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 28px;
	}

	.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__media {
		height: min(var(--bmt-event-image-h, 440px), 72vw);
	}

	.elementor-widget-boutemont_agenda_event .bmt-ag-event--compact .bmt-ag-event__facts {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Page « Tous les événements » : cartes plus denses et lecture plus rapide. */
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__page-head {
	margin-bottom: clamp(28px, 4vw, 52px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__timeline {
	margin-bottom: clamp(30px, 4vw, 52px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__month-group,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__month-group + .bmt-ag__month-group {
	margin-bottom: clamp(32px, 4vw, 52px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__month {
	margin-bottom: 18px;
	padding-bottom: 10px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-1,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-2,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-3,
.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__cards--count-4 {
	gap: min(var(--bmt-ag-card-gap, 22px), 28px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-media {
	height: clamp(190px, var(--bmt-ag-card-h, 280px), 340px);
	min-height: 190px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 :is(.bmt-ag__card-date, .bmt-ag__card-title, .bmt-ag__card-teaser, .bmt-ag__card-facts, .bmt-ag__card-more) {
	margin-inline: clamp(17px, 2vw, 25px);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-date {
	margin-top: 18px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-title {
	margin-top: 9px;
	font-size: clamp(1.2rem, 1.55vw, 1.65rem);
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-teaser {
	margin-top: 10px;
	line-height: 1.48;
	-webkit-line-clamp: 2;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-facts {
	gap: 6px 12px;
	margin-top: 15px;
	padding-top: 13px;
}

.elementor-widget-boutemont_agenda_list .bmt-ag--list-v3 .bmt-ag__card-more {
	margin-top: 17px;
	margin-bottom: 20px;
}

@container (max-width: 480px) {
	.bmt-ag-home4__row {
		grid-template-columns: 68px minmax(0, 1fr);
	}

	.bmt-ag-home4__row-media {
		grid-column: 1 / -1;
		grid-row: 1;
		height: 160px;
	}

	.bmt-ag-home4__row-date {
		grid-column: 1;
		grid-row: 2;
	}

	.bmt-ag-home4__row-content {
		grid-column: 2;
		grid-row: 2;
	}

	.bmt-ag-home4__featured-date {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}
}

/* --------------------------------------------------------------------------
 * Tous les événements — rail neutralisé, largeur Elementor réellement suivie.
 * Une seule date devient une carte éditoriale horizontale et non une colonne
 * orpheline. Les informations pratiques restent réservées à la fiche événement.
 * ----------------------------------------------------------------------- */
.elementor-widget-boutemont_agenda_list,
.elementor-widget-boutemont_agenda_list > .elementor-widget-container,
.elementor-widget-boutemont_agenda_list .bmt-ag-list4 {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
}

.bmt-ag-list4 {
	container-type: inline-size;
	overflow: visible;
}

.bmt-ag-list4 .bmt-ag__months-viewport,
.bmt-ag-list4 .bmt-ag__months-track,
.bmt-ag-list4 .bmt-ag__month-group {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin-inline: 0 !important;
	transform: none !important;
	overflow: visible !important;
	scroll-snap-type: none !important;
}

.bmt-ag-list4 .bmt-ag__cards {
	display: grid !important;
	grid-template-columns: repeat(var(--bmt-ag-cols, 3), minmax(0, 1fr)) !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.bmt-ag-list4 .bmt-ag__cards--count-1 {
	grid-template-columns: minmax(0, 1fr) !important;
}

.bmt-ag-list4 .bmt-ag__cards--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.bmt-ag-list4 .bmt-ag__rail-controls {
	display: none !important;
}

.bmt-ag-list4 .bmt-ag__card,
.bmt-ag-list4 .bmt-ag__card-link {
	width: 100%;
	max-width: none;
	min-width: 0;
}

@container (min-width: 800px) {
	.bmt-ag-list4 .bmt-ag__cards--count-1 .bmt-ag__card-link {
		display: grid;
		grid-template-columns: minmax(300px, 42%) minmax(0, 1fr);
		grid-template-rows: auto auto 1fr auto;
		column-gap: clamp(28px, 4vw, 64px);
		align-items: start;
	}

	.bmt-ag-list4 .bmt-ag__cards--count-1 .bmt-ag__card-media {
		grid-column: 1;
		grid-row: 1 / -1;
		height: 100%;
		min-height: clamp(300px, var(--bmt-ag-card-h, 360px), 480px);
	}

	.bmt-ag-list4 .bmt-ag__cards--count-1 :is(.bmt-ag__card-date, .bmt-ag__card-title, .bmt-ag__card-teaser, .bmt-ag__card-more) {
		grid-column: 2;
		margin-inline: 0;
		margin-right: clamp(24px, 4vw, 58px);
	}

	.bmt-ag-list4 .bmt-ag__cards--count-1 .bmt-ag__card-date {
		margin-top: clamp(26px, 4vw, 54px);
	}

	.bmt-ag-list4 .bmt-ag__cards--count-1 .bmt-ag__card-more {
		align-self: end;
		margin-bottom: clamp(26px, 4vw, 54px);
	}
}

@container (max-width: 799px) {
	.bmt-ag-list4 .bmt-ag__cards,
	.bmt-ag-list4 .bmt-ag__cards--count-2,
	.bmt-ag-list4 .bmt-ag__cards--count-3,
	.bmt-ag-list4 .bmt-ag__cards--count-4 {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Les rôles typographiques suivent la charte globale Elementor. Les contrôles
 * propres au widget gardent la priorité dès qu'ils sont personnalisés. */
.bmt-ag-home4__title,
.bmt-ag-list4 .bmt-ag__page-title,
.bmt-ag-event--compact .bmt-ag-event__title {
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: var(--e-global-typography-primary-font-size, clamp(2rem, 3.1vw, 3.75rem));
	font-weight: var(--e-global-typography-primary-font-weight, inherit);
	font-style: var(--e-global-typography-primary-font-style, inherit);
	text-transform: var(--e-global-typography-primary-text-transform, none);
	text-decoration: var(--e-global-typography-primary-text-decoration, none);
	line-height: var(--e-global-typography-primary-line-height, 1.08);
	letter-spacing: var(--e-global-typography-primary-letter-spacing, normal);
}

.bmt-ag-home4__title,
.bmt-ag-list4 .bmt-ag__page-title,
.bmt-ag-event--compact .bmt-ag-event__title {
	color: var(--e-global-color-primary, inherit);
}

.bmt-ag-home4__intro,
.bmt-ag-list4 :is(.bmt-ag__page-intro, .bmt-ag__card-teaser),
.bmt-ag-event--compact .bmt-ag-event__content {
	font-family: var(--e-global-typography-text-font-family, inherit);
	font-weight: var(--e-global-typography-text-font-weight, inherit);
}

.bmt-ag-home4 :is(.bmt-ag-home4__featured-title, .bmt-ag-home4__row-title),
.bmt-ag-list4 :is(.bmt-ag__month, .bmt-ag__card-title) {
	font-family: var(--e-global-typography-secondary-font-family, inherit);
	font-weight: var(--e-global-typography-secondary-font-weight, inherit);
}

/* --------------------------------------------------------------------------
 * 3.3.1 — Fiche événement : deux vraies colonnes sur ordinateur.
 *
 * Une ancienne règle tablette et une container query pouvaient repasser la
 * fiche sur une colonne dans Elementor, même avec un écran d'ordinateur.
 * Cette variante dédiée ne dépend plus de la largeur interne de l'éditeur :
 * elle reste en deux colonnes jusqu'au véritable breakpoint mobile.
 * ----------------------------------------------------------------------- */
.elementor-widget-boutemont_agenda_event,
.elementor-widget-boutemont_agenda_event > .elementor-widget-container,
.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col.bmt-ag-event--has-media .bmt-ag-event__hero {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	grid-template-rows: auto !important;
	grid-template-areas: "event-media event-content" !important;
	grid-auto-flow: row !important;
	align-items: start !important;
	gap: clamp(28px, 4vw, 64px) !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col .bmt-ag-event__media {
	grid-area: event-media !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: 100% !important;
	min-width: 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col .bmt-ag-event__intro {
	grid-area: event-content !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
}

.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col.bmt-ag-event--no-media .bmt-ag-event__hero {
	display: block !important;
	width: 100% !important;
}

@media screen and (max-width: 767px) {
	.elementor-widget-boutemont_agenda_event .bmt-ag-event--desktop-2col.bmt-ag-event--has-media .bmt-ag-event__hero {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas:
			"event-media"
			"event-content" !important;
		gap: 28px !important;
	}
}

/* 3.3.4 — Page « Tous les événements » : en-tête réellement pleine largeur. */
.elementor-widget-boutemont_agenda_list .bmt-ag-list4 .bmt-ag__page-head {
	width: 100% !important;
	max-width: none !important;
}

@container (min-width: 981px) {
	.elementor-widget-boutemont_agenda_list .bmt-ag-list4 .bmt-ag__page-head {
		grid-template-columns: minmax(0, 1fr) minmax(300px, .52fr);
		column-gap: clamp(42px, 6vw, 110px);
	}

	.elementor-widget-boutemont_agenda_list .bmt-ag-list4 .bmt-ag__page-intro {
		width: 100%;
		max-width: none;
	}
}
