/* =========================================================================
   Magic David : décors du site, dans l'esprit du template Fang.
   Ce que les réglages de Mon Builder ne font pas : soulignement manuscrit,
   cartes cliquables, cartes de tarif, frise, cartes d'articles, compte à rebours,
   fil d'Ariane, décors animés. Les séparateurs en forme sont dans includes/formes.php.
   ========================================================================= */

body {
	background: var(--mb-light);
}

/* Les décors posés près des bords ne créent jamais de défilement de côté. */
.md-section > .mb-container {
	overflow-x: clip;
}

/* ---------- Titres ---------- */

.md-titre :is(h1, h2, h3) {
	margin: 0;
	font-family: var(--mb-font-heading);
	font-weight: 400;
	color: inherit;
	overflow-wrap: break-word;
}
.md-titre h1 {
	font-size: var(--mb-text-h1-size);
	line-height: var(--mb-text-h1-line);
}
.md-titre h2 {
	font-size: var(--mb-text-h2-size);
	line-height: var(--mb-text-h2-line);
}
.md-titre h3 {
	font-size: var(--mb-text-h3-size);
	line-height: var(--mb-text-h3-line);
}

/* Le mot en couleur, souligné d'un trait dessiné à la main qui se trace à l'apparition (magic-david.js). */
.md-titre em {
	--md-trait: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C40 3 70 2 104 6s66 7 93-2' fill='none' stroke='%23c23320' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E");
	font-style: normal;
	color: var(--mb-primary);
	padding-bottom: 0.18em;
	background: var(--md-trait) no-repeat 0 100% / 0% 0.32em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: background-size 1.1s cubic-bezier(0.65, 0, 0.35, 1) 0.2s;
}
.md-titre em.is-trace {
	background-size: 100% 0.32em;
}
.md-sur-violet em {
	--md-trait: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14' preserveAspectRatio='none'%3E%3Cpath d='M3 9C40 3 70 2 104 6s66 7 93-2' fill='none' stroke='%23d35930' stroke-width='3.6' stroke-linecap='round'/%3E%3C/svg%3E");
	color: var(--mb-white);
}

.md-surtitre .mb-heading {
	font-family: var(--mb-font-body);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0;
}

/* Titres des cartes et vignettes : la police de lecture, Limelight est réservée aux grands titres. */
:is(.md-vignette__titre, .md-carte__titre, .md-etape__titre) .mb-heading {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	margin: 0;
}

.md-intro {
	align-self: center;
	margin-inline: auto;
}
.md-intro p {
	margin: 0;
}

/* ---------- Boutons : texte de lecture, demi-gras, sans espacement (plus lisible que Limelight) ---------- */

.md-bouton .mb-button,
.mb-layout .mb-button,
.mb-page .mb-button {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.01em;
	line-height: 1.2;
	transition: background-color 0.25s, color 0.25s, transform 0.25s;
}
.mb-button:hover {
	transform: translateY(-2px);
}

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

.md-entete .mb-menu a {
	position: relative;
}
/* Page en cours : en orange, soulignée (comme « Contacts » dans le template). */
.md-entete .mb-menu__list > li.current-menu-item > a::after,
.md-entete .mb-menu__list > li.current-menu-ancestor > a::after,
.md-entete .mb-menu__list > li.current-page-ancestor > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 2px;
	border-radius: 2px;
	background: var(--mb-orange);
}
.md-entete .mb-menu__list > li:is(.current-menu-item, .current-menu-ancestor, .current-page-ancestor) > a {
	color: var(--mb-orange);
}
.md-entete .mb-menu .sub-menu {
	border-radius: 12px;
	box-shadow: 0 14px 30px rgba(10, 18, 48, 0.18);
}
@media (max-width: 1024px) {
	.md-entete .mb-menu__list > li > a::after {
		display: none;
	}
	.md-entete__devis {
		display: none;
	}
}

/* ---------- Fil d'Ariane ---------- */

.md-ariane ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3em;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	color: var(--mb-text);
}
.md-ariane li + li::before {
	content: "/";
	margin-right: 0.3em;
	opacity: 0.6;
}
.md-ariane a {
	font-weight: 600;
	color: var(--mb-secondary);
	text-decoration: none;
}
.md-ariane a:hover {
	color: var(--mb-orange);
}
.md-violet .md-ariane,
.md-violet .md-ariane ol {
	color: var(--mb-light);
}
.md-violet .md-ariane a {
	color: var(--mb-accent);
}

/* ---------- Illustrations et décors ---------- */

.md-illu {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.md-illu-bloc .mb-shortcode {
	line-height: 0;
}
.md-deco {
	pointer-events: none;
}
/* L'étoile suspendue se balance comme l'araignée du template. */
.md-deco--balance .md-illu {
	transform-origin: 50% 0;
	animation: md-balance 4.5s ease-in-out infinite alternate;
}
.md-deco--flotte .md-illu {
	animation: md-flotte 5s ease-in-out infinite alternate;
}
.md-deco--vole .md-illu {
	animation: md-vole 7s ease-in-out infinite alternate;
}
@keyframes md-balance {
	from { transform: rotate(-7deg); }
	to { transform: rotate(7deg); }
}
@keyframes md-flotte {
	from { transform: translateY(-8px) rotate(-2deg); }
	to { transform: translateY(8px) rotate(2deg); }
}
@keyframes md-vole {
	from { transform: translate(-10px, 6px) rotate(-4deg); }
	to { transform: translate(10px, -8px) rotate(3deg); }
}
/* Les illustrations des vignettes et des cartes sautillent au survol. */
:is(.md-vignette, .md-carte):hover .md-illu {
	animation: md-saut 0.6s ease;
}
@keyframes md-saut {
	40% { transform: translateY(-10px) rotate(-3deg); }
	70% { transform: translateY(2px); }
}


/* Photo ronde cerclée de jaune (ouverture de l'accueil). */
.md-rond img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50% !important;
	border: 10px solid var(--mb-accent);
	box-shadow: 0 0 0 10px rgba(244, 192, 78, 0.25);
}
/* Photo encadrée de blanc, légèrement penchée. */
.md-cadre img {
	border: 8px solid var(--mb-white);
	box-shadow: 0 18px 40px rgba(10, 18, 48, 0.18);
}
.md-cadre--gauche img {
	transform: rotate(-2deg);
}
.md-cadre--droite img {
	transform: rotate(2deg);
}

/* ---------- Cartes cliquables (programme, prestations) ---------- */

:is(.md-carte, .md-presta) {
	transition: transform 0.3s, box-shadow 0.3s;
}
:is(.md-carte, .md-presta) > .mb-container > .mb-container__inner,
:is(.md-carte, .md-presta) .mb-w-heading,
:is(.md-carte, .md-presta) .mb-w-container,
:is(.md-carte, .md-presta) .mb-container__inner {
	position: static;
}
:is(.md-carte, .md-presta) :is(.md-carte__titre, .md-presta__titre) a {
	color: inherit;
	text-decoration: none;
}
:is(.md-carte, .md-presta) :is(.md-carte__titre, .md-presta__titre) a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}
:is(.md-carte, .md-presta):hover {
	transform: translateY(-6px);
}
:is(.md-carte, .md-presta):hover > .mb-container {
	box-shadow: 0 18px 36px rgba(10, 18, 48, 0.22);
}
:is(.md-carte, .md-presta):focus-within > .mb-container {
	outline: 3px solid var(--mb-orange);
	outline-offset: 3px;
}

/* Carte de prestation (page Prestations) : photo en haut, corps violet. */
.md-presta > .mb-container {
	overflow: hidden;
}
.md-presta .mb-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 0.6s;
}
.md-presta:hover .mb-image img {
	transform: scale(1.05);
}
.md-presta__titre .mb-heading {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 21px;
	margin: 0;
}
.md-presta__prix p {
	margin: 0;
	font-weight: 600;
}

/* ---------- Cartes de tarif ---------- */

.md-tarif > .mb-container {
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(10, 18, 48, 0.16);
}
.md-tarif__titre {
	background: var(--mb-secondary);
	padding: 20px 18px 16px;
}
.md-tarif__titre .mb-heading {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 21px;
	margin: 0;
}
.md-tarif__corps {
	flex: 1 1 auto;
	background: var(--mb-primary);
}
.md-tarif__corps > .mb-container {
	height: 100%;
}
.md-prix {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 0;
	font-family: var(--mb-font-heading);
	line-height: 1;
	white-space: nowrap;
}
.md-prix__montant {
	font-size: 76px;
}
/* Unité en exposant, comme les centimes du template. */
.md-prix__unite {
	font-size: 26px;
	margin: 0.3em 0 0 0.12em;
}
.md-prix__texte {
	font-size: 40px;
	line-height: 1.2;
	white-space: normal;
}
.md-tarif__lignes {
	margin: 0;
	padding: 0;
	list-style: none;
}
.md-tarif__lignes li {
	padding: 7px 0;
	border-bottom: 1px dashed rgba(255, 253, 247, 0.35);
}
.md-tarif__lignes li:last-child {
	border-bottom: 0;
}
.md-tarif .mb-button-wrap {
	margin-top: auto;
}
@media (max-width: 767px) {
	.md-prix__montant {
		font-size: 64px;
	}
}

/* ---------- Frise du parcours (programme de la soirée dans le template) ---------- */

.md-frise > .mb-container > .mb-container__inner {
	position: relative;
}
.md-frise > .mb-container > .mb-container__inner::before {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 0;
	left: 50%;
	width: 3px;
	margin-left: -1.5px;
	border-radius: 3px;
	background: var(--mb-dore);
}
.md-etape {
	position: relative;
	width: 50%;
}
.md-etape:nth-child(odd) {
	align-self: flex-start;
	padding-right: 64px;
}
.md-etape:nth-child(even) {
	align-self: flex-end;
	padding-left: 64px;
}
/* Année au bout d'un petit trait, avec une pastille sur la ligne. */
.md-etape__annee .mb-heading {
	position: relative;
	font-family: var(--mb-font-heading);
	font-size: 26px;
	margin: 0;
}
.md-etape:nth-child(odd) .md-etape__annee .mb-heading {
	text-align: right;
}
.md-etape__annee .mb-heading::before,
.md-etape__annee .mb-heading::after {
	content: "";
	position: absolute;
	top: 50%;
}
.md-etape__annee .mb-heading::before {
	width: 40px;
	height: 3px;
	margin-top: -1.5px;
	background: var(--mb-dore);
}
.md-etape__annee .mb-heading::after {
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: var(--mb-primary);
	box-shadow: 0 0 0 4px var(--mb-accent);
}
.md-etape:nth-child(odd) .md-etape__annee .mb-heading::before {
	right: -64px;
	width: 50px;
}
.md-etape:nth-child(odd) .md-etape__annee .mb-heading::after {
	right: -72px;
}
.md-etape:nth-child(even) .md-etape__annee .mb-heading::before {
	left: -64px;
	width: 50px;
}
.md-etape:nth-child(even) .md-etape__annee .mb-heading::after {
	left: -72px;
	background: var(--mb-secondary);
}
.md-etape:nth-child(odd) > .mb-container > .mb-container__inner > .md-etape__corps > .mb-container > .mb-container__inner {
	flex-direction: row-reverse;
}
.md-etape:nth-child(odd) .md-etape__texte {
	text-align: right;
}
@media (max-width: 767px) {
	.md-frise > .mb-container > .mb-container__inner::before {
		left: 8px;
	}
	.md-etape,
	.md-etape:nth-child(odd),
	.md-etape:nth-child(even) {
		width: 100%;
		align-self: stretch;
		padding: 0 0 0 44px;
	}
	.md-etape:nth-child(odd) .md-etape__annee .mb-heading,
	.md-etape:nth-child(odd) .md-etape__texte {
		text-align: left;
	}
	.md-etape:nth-child(odd) .md-etape__annee .mb-heading::before,
	.md-etape:nth-child(even) .md-etape__annee .mb-heading::before {
		left: -36px;
		right: auto;
		width: 28px;
	}
	.md-etape:nth-child(odd) .md-etape__annee .mb-heading::after,
	.md-etape:nth-child(even) .md-etape__annee .mb-heading::after {
		left: -44px;
		right: auto;
	}
	.md-etape:nth-child(odd) > .mb-container > .mb-container__inner > .md-etape__corps > .mb-container > .mb-container__inner {
		flex-direction: row;
	}
}

/* ---------- Cartes d'articles (« Mystery Stories ») ---------- */

.md-articles .mb-posts__card {
	overflow: hidden;
	transition: transform 0.3s, box-shadow 0.3s;
	position: relative;
}
.md-articles .mb-posts__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 36px rgba(10, 18, 48, 0.25);
}
.md-articles .mb-posts__title {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.25;
	margin: 0 0 4px;
}
.md-articles .mb-posts__title a {
	color: inherit;
	text-decoration: none;
}
.md-articles .mb-posts__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
.md-articles .mb-posts__excerpt {
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
}
.md-articles .mb-posts__image img {
	transition: transform 0.6s;
}
.md-articles .mb-posts__card:hover .mb-posts__image img {
	transform: scale(1.05);
}
.mb-posts__pagination {
	font-weight: 600;
	text-align: center;
}
.mb-posts__pagination :is(a, span) {
	display: inline-block;
	min-width: 2.4em;
	padding: 0.4em 0.6em;
	color: var(--mb-secondary);
	text-decoration: none;
}
.mb-posts__pagination .current {
	color: var(--mb-primary);
}

/* Date au-dessus du titre, en petites capitales jaunes. */
.md-articles .mb-posts__date,
.md-une .mb-posts__date {
	order: -1;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 1;
}
.md-articles .mb-posts__image img,
.md-une .mb-posts__image img {
	object-position: center 25%; /* les visages sont en haut des photos en hauteur */
}
/* Article sans photo : un ciel étoilé à la place, pour que les cartes restent alignées. */
.md-articles .mb-posts__card:not(:has(.mb-posts__image))::before {
	content: "";
	display: block;
	aspect-ratio: 16 / 10;
	background:
		radial-gradient(circle at 20% 30%, var(--mb-accent) 0 2px, transparent 3px),
		radial-gradient(circle at 70% 20%, var(--mb-light) 0 1.5px, transparent 2.5px),
		radial-gradient(circle at 85% 65%, var(--mb-accent) 0 2.5px, transparent 3.5px),
		radial-gradient(circle at 40% 75%, var(--mb-light) 0 1.5px, transparent 2.5px),
		radial-gradient(circle at 55% 45%, var(--mb-accent) 0 1px, transparent 2px),
		radial-gradient(circle at 50% 120%, #1f3a8a, #0a1230 70%);
}

/* À la une (accueil) : une mosaïque, le dernier article en grand, le titre posé sur la photo. */
.md-une .mb-posts__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 230px;
	gap: 20px;
}
.md-une .mb-posts__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 22px;
	box-shadow: none;
	background:
		radial-gradient(circle at 20% 30%, var(--mb-accent) 0 2px, transparent 3px),
		radial-gradient(circle at 75% 22%, var(--mb-light) 0 1.5px, transparent 2.5px),
		radial-gradient(circle at 50% 120%, #1f3a8a, #0a1230 70%);
	transition: transform 0.35s, box-shadow 0.35s;
}
.md-une .mb-posts__card:first-child {
	grid-column: span 2;
	grid-row: span 2;
}
.md-une .mb-posts__card:hover {
	transform: translateY(-6px) rotate(-1deg);
	box-shadow: 0 0 0 4px var(--mb-accent), 0 20px 36px rgba(10, 18, 48, 0.28);
}
.md-une .mb-posts__card:nth-child(even):hover {
	transform: translateY(-6px) rotate(1deg);
}
.md-une .mb-posts__image {
	position: absolute;
	inset: 0;
	z-index: -2;
}
.md-une .mb-posts__image img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
	object-fit: cover;
	transition: transform 0.7s;
}
.md-une .mb-posts__card:hover .mb-posts__image img {
	transform: scale(1.07);
}
.md-une .mb-posts__card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	/* Voile dans le violet du site (pas de noir), assez dense en bas pour lire le titre. */
	background: linear-gradient(to top, rgba(16, 28, 63, 0.97) 0%, rgba(16, 28, 63, 0.88) 30%, rgba(16, 28, 63, 0) 72%);
	pointer-events: none;
}
.md-une .mb-posts__body {
	flex: 0 0 auto;
	margin-top: auto;
	gap: 10px;
	align-items: flex-start;
}
/* Date en pastille jaune, comme les boutons du site. */
.md-une .mb-posts__date {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--mb-accent);
	color: var(--mb-secondary) !important;
	font-size: 11px;
}
.md-une .mb-posts__title {
	/* Petits titres dans la police de lecture : la police des titres se lit mal à cette taille sur une photo. */
	font-family: var(--mb-font-body);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.35;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.md-une .mb-posts__card:first-child .mb-posts__title {
	font-family: var(--mb-font-heading);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
}
.md-une .mb-posts__card:first-child .mb-posts__title a {
	color: var(--mb-accent);
}
.md-une .mb-posts__card:first-child .mb-posts__body {
	padding: 32px !important;
}
.md-une .mb-posts__title a {
	text-decoration: none;
}
.md-une .mb-posts__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}
@media (max-width: 1024px) {
	.md-une .mb-posts__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: auto;
	}
	.md-une .mb-posts__card:first-child {
		grid-row: auto;
		min-height: 320px;
	}
	.md-une .mb-posts__card {
		min-height: 220px;
	}
	.md-une .mb-posts__card:first-child .mb-posts__title {
		font-size: 24px;
	}
	.md-une .mb-posts__card:first-child .mb-posts__body {
		padding: 22px !important;
	}
}
@media (max-width: 600px) {
	.md-une .mb-posts__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.md-une .mb-posts__card:first-child {
		grid-column: auto;
		min-height: 280px;
	}
	.md-une .mb-posts__card {
		min-height: 190px;
	}
	.md-une .mb-posts__card:first-child .mb-posts__title {
		font-size: 21px;
	}
}
/* Articles liés (bas d'article) : photo arrondie, titre dessous, sans cadre. */
.md-lies .mb-posts__card {
	background: transparent !important;
	overflow: visible;
}
.md-lies .mb-posts__image {
	display: block;
	border-radius: 16px;
	overflow: hidden;
}
.md-lies .mb-posts__body {
	padding: 12px 0 0 !important;
}
.md-lies .mb-posts__title {
	font-size: 18px;
}

/* ---------- Compte à rebours ---------- */

.md-compte__cases {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
}
.md-compte--cases .md-compte__case {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 104px;
	padding: 14px 12px 10px;
	border-radius: 14px;
	background: var(--mb-accent);
	color: var(--mb-secondary);
	box-shadow: 0 8px 0 var(--mb-dore);
}
.md-compte--cases .md-compte__nombre {
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
}
.md-compte--cases .md-compte__unite {
	font-weight: 600;
	font-size: 14px;
	margin-top: 6px;
}
.md-compte--ligne .md-compte__cases {
	gap: 40px;
}
.md-compte--ligne .md-compte__case {
	display: flex;
	align-items: baseline;
	gap: 6px;
	color: var(--mb-secondary);
}
.md-compte--ligne .md-compte__nombre {
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
}
.md-compte--ligne .md-compte__unite {
	font-size: 18px;
}
.md-compte__fin {
	margin: 0;
	text-align: center;
	font-weight: 600;
	font-size: 19px;
}
.md-compte.is-fini .md-compte__cases {
	display: none;
}
@media (max-width: 767px) {
	.md-compte--cases .md-compte__case {
		min-width: 86px;
	}
	.md-compte--cases .md-compte__nombre {
		font-size: 38px;
	}
	.md-compte--ligne .md-compte__cases {
		gap: 18px;
	}
	.md-compte--ligne .md-compte__nombre {
		font-size: 42px;
	}
}

/* ---------- Formulaires : champs en pilule cerclés de jaune ---------- */

.md-formulaire .mb-form__input:not(textarea) {
	border-radius: 60px;
}
.md-formulaire textarea.mb-form__input {
	border-radius: 24px;
}
.md-formulaire .mb-form__input {
	border-width: 2px;
}

/* ---------- Avis ---------- */

.md-avis > .mb-container {
	position: relative;
}
.md-avis__texte p {
	margin: 0;
}
.md-avis__texte p::before {
	content: "“";
	display: block;
	font-family: Georgia, serif;
	font-size: 64px;
	line-height: 0.6;
	color: var(--mb-accent);
	margin-bottom: 10px;
}
.md-note .mb-heading {
	font-family: var(--mb-font-heading);
}

/* ---------- Article ---------- */

.md-article-contenu :is(h2, h3) {
	font-family: var(--mb-font-heading);
	font-weight: 400;
	color: var(--mb-secondary);
	line-height: 1.25;
	margin: 1.6em 0 0.5em;
}
.md-article-contenu h2 {
	font-size: 30px;
}
.md-article-contenu h3 {
	font-family: var(--mb-font-body);
	font-weight: 700;
	font-size: 23px;
}
.md-article-contenu :is(ul, ol) {
	padding-left: 1.3em;
}
.md-article-contenu li {
	margin: 0.3em 0;
}
.md-article-contenu li::marker {
	color: var(--mb-orange);
}
.md-article-contenu img {
	border-radius: 16px;
	height: auto;
}
.md-article-contenu .wp-block-image {
	margin: 1.8em 0;
}
.md-article-contenu blockquote {
	margin: 1.6em 0;
	padding: 18px 24px;
	border-radius: 16px;
	background: var(--mb-accent);
	font-style: italic;
	font-size: 1.08em;
}
.md-article-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border: 8px solid var(--mb-white);
	box-shadow: 0 24px 48px rgba(10, 18, 48, 0.25);
}
.md-partage {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.md-partage span {
	font-weight: 700;
	margin-right: 4px;
}
.md-partage a {
	padding: 6px 14px;
	border: 1.5px solid var(--mb-secondary);
	border-radius: 60px;
	font-size: 14px;
	color: var(--mb-secondary);
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}
.md-partage a:hover {
	background: var(--mb-secondary);
	color: var(--mb-white);
}
.md-article-pied {
	border-top: 1.5px dashed var(--mb-dore);
	padding-top: 20px;
}

/* ---------- Pied de page ---------- */

.md-pied .mb-menu a {
	text-decoration: none;
}
.md-pied .mb-menu .current-menu-item > a {
	color: var(--mb-accent);
}
.md-pied__bas p {
	margin: 0;
}
.md-pied__bas a {
	text-decoration: none;
}
.md-pied__bas a:hover {
	text-decoration: underline;
}

/* ---------- Galerie ---------- */

.md-galerie .mb-gallery__item img {
	border-radius: 14px;
}

/* Illustration centrée dans sa colonne. */
.md-illu-centre {
	align-self: center;
	margin-inline: auto;
}


/* Décors posés dans les marges : ancrés au bord de l'écran (et non au contenu), pour rester visibles
   sur tous les ordinateurs ; masqués seulement quand la marge devient trop étroite. */
.md-deco--marge.md-ancre-droite {
	right: calc((100% - 100vw) / 2 + var(--md-bord, 24px)) !important;
	left: auto !important;
}
.md-deco--marge.md-ancre-gauche {
	left: calc((100% - 100vw) / 2 + var(--md-bord, 24px)) !important;
	right: auto !important;
}
@media (max-width: 1180px) {
	.md-deco--marge {
		display: none !important;
	}
}

/* Listes et date : Mon Builder affiche « — Choisir — » sans dire de quoi il s'agit, et la date n'a pas
   d'invite. Leur étiquette reste visible (et celle du champ voisin, pour garder l'alignement). */
.md-formulaire .mb-form__field:is(:has(select), :has(input[type="date"])) .mb-form__label.mb-sr-only,
.md-formulaire .mb-form__field:has(input[type="date"]) + .mb-form__field .mb-form__label.mb-sr-only {
	position: static;
	width: auto;
	height: auto;
	margin: 0 0 6px 18px;
	padding: 0;
	overflow: visible;
	clip: auto;
	clip-path: none;
	white-space: normal;
	font-size: 14px;
	color: var(--mb-secondary);
}
