/*
 * Muzard — Confidentialité & cookies : bandeau, préférences, fenêtre contextuelle.
 * Reprend le langage visuel du site : noyer, crème, braise #F86000, Fraunces en titre avec un mot en italique orange,
 * étiquettes en DM Mono, coins biseautés « lame ». Les jetons --mz-* du thème sont utilisés s'ils existent, sinon les valeurs de repli.
 * Règle CNIL : « tout refuser » et « tout accepter » partagent exactement le même format (taille, police, couleurs, survol).
 */

.mzc {
	--mzc-ink: var(--mz-ink, #17120e);
	--mzc-walnut: var(--mz-walnut, #241a13);
	--mzc-umber: var(--mz-umber, #3b2b1f);
	--mzc-cream: var(--mz-cream, #f4ede1);
	--mzc-paper: var(--mz-paper, #fbf7ef);
	--mzc-sand: var(--mz-sand, #e8dcc6);
	--mzc-horn: var(--mz-horn, #be9460);
	--mzc-ember: var(--mz-ember, #f86000);
	--mzc-ember-deep: var(--mz-ember-deep, #b83f00);
	--mzc-muted: var(--mz-muted, #5e4f43);
	--mzc-muted-light: var(--mz-muted-light, #b9a995);
	--mzc-display: var(--mz-display, "Fraunces", "Iowan Old Style", Georgia, serif);
	--mzc-sans: var(--mz-sans, "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
	--mzc-mono: var(--mz-mono, "DM Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
	--mzc-ease: cubic-bezier(0.22, 0.7, 0.18, 1);
	--mzc-line: rgba(244, 237, 225, 0.16);

	font-family: var(--mzc-sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--mzc-cream);
	-webkit-font-smoothing: antialiased;
}

.mzc *,
.mzc *::before,
.mzc *::after {
	box-sizing: border-box;
}

.mzc .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.mzc [hidden] {
	display: none !important;
}

/* --------------------------------------------------------------------------
 * Boutons « lame » (même mécanique que les boutons du thème)
 * ----------------------------------------------------------------------- */
.mzc .mzc-btn {
	--c: 10px;
	--btn-bd: var(--mzc-cream);
	--btn-bg: var(--mzc-cream);
	--btn-fg: var(--mzc-ink);
	--btn-hover-bg: var(--mzc-ember);
	--btn-hover-fg: var(--mzc-ink);

	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 3rem;
	margin: 0;
	padding: 0.8rem 1rem;
	border: 1px solid var(--btn-bd);
	border-radius: 0;
	background: var(--btn-bg);
	color: var(--btn-fg);
	font: 500 0.75rem / 1.25 var(--mzc-mono);
	letter-spacing: 0.14em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%);
	transition: color 0.35s var(--mzc-ease);
	-webkit-appearance: none;
	appearance: none;
}

.mzc .mzc-btn::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--btn-hover-bg);
	translate: -101% 0;
	transition: translate 0.5s var(--mzc-ease);
}

.mzc .mzc-btn::after {
	content: "";
	position: absolute;
	top: -1px;
	right: -1px;
	z-index: 1;
	width: var(--c);
	height: var(--c);
	pointer-events: none;
	background: linear-gradient(
		to bottom left,
		transparent calc(50% - 0.75px),
		var(--btn-bd) calc(50% - 0.75px) calc(50% + 0.25px),
		transparent calc(50% + 0.25px)
	);
}

.mzc .mzc-btn:hover,
.mzc .mzc-btn:focus-visible {
	color: var(--btn-hover-fg);
}

.mzc .mzc-btn:hover::before,
.mzc .mzc-btn:focus-visible::before {
	translate: 0 0;
}

.mzc .mzc-btn:focus-visible {
	outline: 2px solid var(--mzc-ember);
	outline-offset: -6px;
}

.mzc .mzc-btn--ghost {
	--btn-bd: color-mix(in srgb, var(--mzc-cream) 55%, transparent);
	--btn-bg: transparent;
	--btn-fg: var(--mzc-cream);
	--btn-hover-bg: var(--mzc-cream);
	--btn-hover-fg: var(--mzc-ink);
}

.mzc .mzc-btn--wide {
	grid-column: 1 / -1;
}

/* --------------------------------------------------------------------------
 * Textes communs
 * ----------------------------------------------------------------------- */
.mzc .mzc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	font: 500 0.6875rem / 1.3 var(--mzc-mono);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mzc-ember);
}

.mzc .mzc-eyebrow::before {
	content: "";
	flex: none;
	width: 1.75rem;
	height: 1px;
	background: currentColor;
}

.mzc .mzc-title {
	margin: 0.6rem 0 0;
	padding: 0;
	font-family: var(--mzc-display);
	font-size: clamp(1.7rem, 1.4rem + 0.9vw, 2.15rem);
	font-weight: 340;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: inherit;
	text-transform: none;
}

.mzc .mzc-title em {
	font-style: italic;
	font-weight: 300;
	color: var(--mzc-ember);
}

.mzc .mzc-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.6;
}

.mzc .mzc-text p {
	margin: 0 0 0.6rem;
}

.mzc .mzc-note {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--mzc-muted-light);
}

.mzc a {
	color: inherit;
	text-underline-offset: 3px;
}

.mzc .mzc-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
	margin: 1.1rem 0 0;
	padding: 0;
}

.mzc .mzc-links > * {
	display: inline-flex;
	width: auto;
	margin: 0;
}

.mzc .mzc-links a,
.mzc .mzc-linkbtn {
	padding: 0;
	border: 0;
	background: none;
	font: 500 0.6875rem / 1.4 var(--mzc-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mzc-muted-light);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	cursor: pointer;
	transition: color 0.3s;
}

.mzc .mzc-links a:hover,
.mzc .mzc-linkbtn:hover,
.mzc .mzc-links a:focus-visible,
.mzc .mzc-linkbtn:focus-visible {
	color: var(--mzc-cream);
}

.mzc .mzc-links a:focus-visible,
.mzc .mzc-linkbtn:focus-visible {
	outline: 2px solid var(--mzc-ember);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
 * Premier niveau : le bandeau (carte noyer en bas à gauche, feuille en bas sur mobile)
 * ----------------------------------------------------------------------- */
.mzc .mzc-banner {
	position: fixed;
	bottom: 1.25rem;
	left: 1.25rem;
	z-index: 2147483000;
	display: none;
	width: min(28.5rem, calc(100vw - 2.5rem));
	max-height: calc(100dvh - 2.5rem);
	filter: drop-shadow(0 22px 40px rgba(10, 6, 3, 0.5));
}

html.mzc-ask .mzc .mzc-banner {
	display: block;
	animation: mzc-in 0.55s var(--mzc-ease) both;
}

html.mzc-locked .mzc .mzc-banner {
	visibility: hidden;
}

.mzc .mzc-banner.is-leaving {
	animation: mzc-out 0.25s ease-in both;
}

.mzc .mzc-banner__body {
	position: relative;
	max-height: calc(100dvh - 2.5rem);
	overflow: auto;
	padding: 1.75rem 1.75rem 1.5rem;
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(99, 56, 24, 0.5), transparent 70%),
		var(--mzc-walnut);
	clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
	overscroll-behavior: contain;
}

/* grain de papier, comme sur les fonds sombres du site */
.mzc .mzc-banner__body::before,
.mzc .mzc-modal--ctx .mzc-modal__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.09;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

.mzc .mzc-banner__body > * {
	position: relative;
	z-index: 1;
}

.mzc .mzc-banner .mzc-text {
	margin-top: 0.9rem;
	color: color-mix(in srgb, var(--mzc-cream) 88%, transparent);
}

.mzc .mzc-purposes {
	margin: 0 0 0.7rem;
	padding: 0;
	list-style: none;
}

.mzc .mzc-purposes li {
	position: relative;
	margin: 0 0 0.35rem;
	padding-left: 1.15rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--mzc-muted-light);
}

.mzc .mzc-purposes li::before {
	content: "";
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 0.4rem;
	height: 0.4rem;
	background: var(--mzc-ember);
	transform: rotate(45deg);
}

.mzc .mzc-purposes strong {
	font-weight: 600;
	color: var(--mzc-cream);
}

.mzc .mzc-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem;
	margin-top: 1.25rem;
}

@keyframes mzc-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes mzc-out {
	to {
		opacity: 0;
		transform: translateY(12px);
	}
}

@media (max-width: 36rem) {
	.mzc .mzc-banner {
		right: 0;
		bottom: 0;
		left: 0;
		width: auto;
		max-height: 88dvh;
	}

	.mzc .mzc-banner__body {
		max-height: 88dvh;
		padding: 1.4rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
		clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
	}

	.mzc .mzc-title {
		font-size: 1.6rem;
	}

	.mzc .mzc-btn {
		padding: 0.75rem 0.5rem;
		letter-spacing: 0.1em;
	}
}

/* --------------------------------------------------------------------------
 * Second niveau : fenêtre des préférences (papier clair, titre sur bandeau noyer)
 * ----------------------------------------------------------------------- */
.mzc .mzc-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483001;
	display: grid;
	place-items: center;
	padding: 1rem;
}

.mzc .mzc-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(23, 18, 14, 0.72);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	animation: mzc-fade 0.3s ease both;
}

@keyframes mzc-fade {
	from {
		opacity: 0;
	}
}

.mzc .mzc-modal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(46rem, 100%);
	max-height: min(92dvh, 54rem);
	overflow: hidden;
	background: var(--mzc-paper);
	color: var(--mzc-ink);
	clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
	animation: mzc-in 0.45s var(--mzc-ease) both;
	outline: none;

	--btn-bd: var(--mzc-ink);
	--btn-bg: var(--mzc-ink);
	--btn-fg: var(--mzc-cream);
	--btn-hover-bg: var(--mzc-ember);
	--btn-hover-fg: var(--mzc-ink);
}

.mzc .mzc-modal__panel .mzc-btn {
	--btn-bd: var(--mzc-ink);
	--btn-bg: var(--mzc-ink);
	--btn-fg: var(--mzc-cream);
	--btn-hover-bg: var(--mzc-ember);
	--btn-hover-fg: var(--mzc-ink);
}

.mzc .mzc-modal__panel .mzc-btn--ghost {
	--btn-bd: var(--mzc-ink);
	--btn-bg: transparent;
	--btn-fg: var(--mzc-ink);
	--btn-hover-bg: var(--mzc-ink);
	--btn-hover-fg: var(--mzc-cream);
}

/* La fenêtre contextuelle est sombre : ses boutons reprennent ceux du bandeau. */
.mzc .mzc-modal--ctx .mzc-modal__panel .mzc-btn {
	--btn-bd: var(--mzc-cream);
	--btn-bg: var(--mzc-cream);
	--btn-fg: var(--mzc-ink);
	--btn-hover-bg: var(--mzc-ember);
	--btn-hover-fg: var(--mzc-ink);
	letter-spacing: 0.1em;
}

.mzc .mzc-modal__head {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.6rem 1.75rem 1.4rem;
	background:
		radial-gradient(90% 140% at 100% 0%, rgba(99, 56, 24, 0.55), transparent 70%),
		var(--mzc-walnut);
	color: var(--mzc-cream);
}

.mzc .mzc-x {
	flex: none;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	margin: -0.25rem 1.5rem 0 0;
	padding: 0;
	border: 1px solid var(--mzc-line);
	background: transparent;
	color: var(--mzc-cream);
	font: 300 1.6rem / 1 var(--mzc-sans);
	cursor: pointer;
	transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.mzc .mzc-x:hover,
.mzc .mzc-x:focus-visible {
	border-color: var(--mzc-cream);
	background: var(--mzc-cream);
	color: var(--mzc-ink);
}

.mzc .mzc-x:focus-visible {
	outline: 2px solid var(--mzc-ember);
	outline-offset: 2px;
}

.mzc .mzc-modal__scroll {
	flex: 1;
	min-height: 0;
	overflow: auto;
	padding: 1.5rem 1.75rem 1.25rem;
	overscroll-behavior: contain;
}

.mzc .mzc-modal__intro {
	margin: 0 0 0.9rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--mzc-muted);
}

.mzc .mzc-status {
	margin: 0 0 1.25rem;
	padding: 0.65rem 0.9rem;
	border-left: 2px solid var(--mzc-ember);
	background: color-mix(in srgb, var(--mzc-ink) 4%, transparent);
	font: 500 0.6875rem / 1.5 var(--mzc-mono);
	letter-spacing: 0.06em;
	color: var(--mzc-muted);
}

.mzc .mzc-cats {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(23, 18, 14, 0.14);
}

.mzc .mzc-cat {
	padding: 1.25rem 0;
	border-bottom: 1px solid rgba(23, 18, 14, 0.14);
}

.mzc .mzc-cat__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
}

.mzc .mzc-cat__title h3 {
	margin: 0;
	padding: 0;
	font-family: var(--mzc-display);
	font-size: 1.3rem;
	font-weight: 380;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--mzc-ink);
}

.mzc .mzc-cat__title p {
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--mzc-muted);
}

.mzc .mzc-cat__text {
	margin: 0.8rem 0 0;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--mzc-ink);
}

.mzc .mzc-always {
	flex: none;
	padding: 0.3rem 0.65rem;
	border: 1px solid var(--mzc-ember-deep);
	font: 500 0.625rem / 1.2 var(--mzc-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mzc-ember-deep);
}

/* Interrupteur : piste carrée à coin biseauté, pastille carrée ; état écrit à côté (pas seulement la couleur). */
.mzc .mzc-switch {
	position: relative;
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	cursor: pointer;
}

.mzc .mzc-switch__input {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.mzc .mzc-switch__track {
	position: relative;
	display: block;
	width: 3.2rem;
	height: 1.7rem;
	border: 1px solid var(--mzc-ink);
	background: transparent;
	clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 0 100%);
	transition: background 0.3s, border-color 0.3s;
}

.mzc .mzc-switch__thumb {
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	width: 1.2rem;
	height: 1.2rem;
	background: var(--mzc-ink);
	transition: translate 0.3s var(--mzc-ease), background 0.3s;
}

.mzc .mzc-switch__input:checked + .mzc-switch__track {
	border-color: var(--mzc-ember);
	background: var(--mzc-ember);
}

.mzc .mzc-switch__input:checked + .mzc-switch__track .mzc-switch__thumb {
	translate: 1.5rem 0;
	background: var(--mzc-ink);
}

.mzc .mzc-switch__input:focus-visible + .mzc-switch__track {
	outline: 2px solid var(--mzc-ember);
	outline-offset: 3px;
}

.mzc .mzc-switch__state {
	min-width: 4.2rem;
	font: 500 0.6875rem / 1.2 var(--mzc-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mzc-muted);
}

.mzc .mzc-switch__input:checked ~ .mzc-switch__state {
	color: var(--mzc-ember-deep);
}

/* Détail des services */
.mzc .mzc-detail {
	margin-top: 0.9rem;
}

.mzc .mzc-detail summary {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.2rem 0;
	font: 500 0.6875rem / 1.4 var(--mzc-mono);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mzc-ink);
	cursor: pointer;
	list-style: none;
}

.mzc .mzc-detail summary::-webkit-details-marker {
	display: none;
}

.mzc .mzc-detail summary::after {
	content: "+";
	display: grid;
	place-items: center;
	width: 1.3rem;
	height: 1.3rem;
	border: 1px solid currentColor;
	font: 400 0.95rem / 1 var(--mzc-sans);
	letter-spacing: 0;
}

.mzc .mzc-detail[open] summary::after {
	content: "−";
}

.mzc .mzc-detail summary:focus-visible {
	outline: 2px solid var(--mzc-ember);
	outline-offset: 3px;
}

.mzc .mzc-services {
	display: grid;
	gap: 0.85rem;
	margin: 0.9rem 0 0;
	padding: 0;
	list-style: none;
}

.mzc .mzc-service {
	padding: 1rem 1.1rem;
	border: 1px solid rgba(23, 18, 14, 0.14);
	background: var(--mzc-cream);
}

.mzc .mzc-service__name {
	margin: 0;
	font-family: var(--mzc-display);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.25;
	color: var(--mzc-ink);
}

.mzc .mzc-service__provider {
	margin: 0.2rem 0 0;
	font: 500 0.6875rem / 1.5 var(--mzc-mono);
	letter-spacing: 0.04em;
	color: var(--mzc-ember-deep);
}

.mzc .mzc-service__addr {
	color: var(--mzc-muted);
}

.mzc .mzc-facts {
	display: grid;
	gap: 0.6rem;
	margin: 0.85rem 0 0;
	padding: 0;
}

.mzc .mzc-facts > div {
	display: grid;
	grid-template-columns: 6.25rem minmax(0, 1fr);
	gap: 0.15rem 1rem;
	margin: 0;
	padding: 0;
}

.mzc .mzc-facts dt {
	margin: 0;
	padding: 0.2rem 0 0;
	font: 500 0.625rem / 1.4 var(--mzc-mono);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--mzc-muted);
}

.mzc .mzc-facts dd {
	margin: 0;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--mzc-ink);
}

@media (max-width: 36rem) {
	.mzc .mzc-facts > div {
		grid-template-columns: minmax(0, 1fr);
	}

	.mzc .mzc-facts dt {
		padding: 0;
	}
}

.mzc .mzc-cookies {
	display: grid;
	gap: 0.3rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mzc .mzc-cookies li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem 0.75rem;
}

.mzc .mzc-cookies code {
	padding: 0.05rem 0.35rem;
	background: rgba(23, 18, 14, 0.07);
	font: 400 0.75rem / 1.5 var(--mzc-mono);
	overflow-wrap: anywhere;
}

.mzc .mzc-cookies span {
	color: var(--mzc-muted);
}

.mzc .mzc-service__more {
	margin: 0.8rem 0 0;
}

.mzc .mzc-modal__panel .mzc-link,
.mzc .mzc-modal__panel .mzc-modal__links a {
	font: 500 0.6875rem / 1.4 var(--mzc-mono);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mzc-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.mzc .mzc-modal__panel .mzc-link:hover,
.mzc .mzc-modal__panel .mzc-modal__links a:hover {
	color: var(--mzc-ember-deep);
}

.mzc .mzc-companies {
	margin-top: 1.5rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid rgba(23, 18, 14, 0.14);
}

.mzc .mzc-companies h3 {
	margin: 0 0 0.4rem;
	font-family: var(--mzc-display);
	font-size: 1.15rem;
	font-weight: 380;
	color: var(--mzc-ink);
}

.mzc .mzc-companies p {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	color: var(--mzc-muted);
}

.mzc .mzc-companies ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
}

.mzc .mzc-companies li {
	position: relative;
	padding-left: 0.9rem;
}

.mzc .mzc-companies li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 0.35rem;
	height: 0.35rem;
	background: var(--mzc-ember);
	transform: rotate(45deg);
}

.mzc .mzc-modal__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.5rem;
	margin: 1.25rem 0 0;
}

.mzc .mzc-modal__foot {
	display: grid;
	grid-template-columns: 1fr 1.35fr 1fr;
	gap: 0.6rem;
	padding: 1rem 1.75rem calc(1.15rem + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid rgba(23, 18, 14, 0.14);
	background: var(--mzc-paper);
}

/* refuser | enregistrer | accepter : « refuser » et « accepter » aux extrémités, au même format */
.mzc .mzc-modal__foot [data-mzc-action="refuse"] {
	order: 1;
}

.mzc .mzc-modal__foot [data-mzc-action="save"] {
	order: 2;
}

.mzc .mzc-modal__foot [data-mzc-action="accept"] {
	order: 3;
}

@media (max-width: 36rem) {
	.mzc .mzc-modal {
		padding: 0;
		place-items: end center;
	}

	.mzc .mzc-modal__panel {
		width: 100%;
		max-height: 94dvh;
		clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%);
	}

	.mzc .mzc-modal__head,
	.mzc .mzc-modal__scroll,
	.mzc .mzc-modal__foot {
		padding-right: 1.25rem;
		padding-left: 1.25rem;
	}

	.mzc .mzc-modal__foot {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mzc .mzc-modal__foot [data-mzc-action="save"] {
		order: 3;
		grid-column: 1 / -1;
	}

	.mzc .mzc-modal__foot [data-mzc-action="accept"] {
		order: 2;
	}

	.mzc .mzc-cat__head {
		align-items: flex-start;
	}

	.mzc .mzc-switch__state {
		display: none;
	}
}

/* --------------------------------------------------------------------------
 * Fenêtre contextuelle (vidéo, carte) : même carte noyer que le bandeau
 * ----------------------------------------------------------------------- */
.mzc .mzc-modal--ctx .mzc-modal__panel {
	width: min(30rem, 100%);
	max-height: 92dvh;
	overflow: auto;
	padding: 1.75rem 1.75rem 1.5rem;
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(99, 56, 24, 0.5), transparent 70%),
		var(--mzc-walnut);
	color: var(--mzc-cream);

	--btn-bd: var(--mzc-cream);
	--btn-bg: var(--mzc-cream);
	--btn-fg: var(--mzc-ink);
	--btn-hover-bg: var(--mzc-ember);
	--btn-hover-fg: var(--mzc-ink);
}

.mzc .mzc-modal--ctx .mzc-modal__panel > * {
	position: relative;
	z-index: 1;
}

.mzc .mzc-modal--ctx .mzc-text {
	margin-top: 0.9rem;
	color: color-mix(in srgb, var(--mzc-cream) 88%, transparent);
}

/* --------------------------------------------------------------------------
 * Encart d'un contenu externe masqué (iframe, vidéo) tant que le visiteur n'a rien autorisé
 * ----------------------------------------------------------------------- */
.mzc-embed {
	--btn-bd: #f4ede1;
	--btn-bg: #f4ede1;
	--btn-fg: #17120e;
	--btn-hover-bg: #f86000;
	--btn-hover-fg: #17120e;

	position: relative;
	display: grid;
	align-content: center;
	justify-items: start;
	gap: 0.6rem;
	width: 100%;
	min-height: 12rem;
	padding: clamp(1.25rem, 4vw, 2rem);
	background:
		radial-gradient(90% 70% at 100% 0%, rgba(99, 56, 24, 0.5), transparent 70%),
		var(--mz-walnut, #241a13);
	color: var(--mz-cream, #f4ede1);
	font-family: var(--mz-sans, system-ui, sans-serif);
	clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}

.mzc-embed__title {
	margin: 0;
	font-family: var(--mz-display, Georgia, serif);
	font-size: 1.35rem;
	font-weight: 340;
	line-height: 1.15;
}

.mzc-embed__text {
	max-width: 34rem;
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--mz-muted-light, #b9a995);
}

.mzc-embed .mzc-btn {
	--c: 10px;

	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	min-height: 2.9rem;
	margin-top: 0.4rem;
	padding: 0.75rem 1.25rem;
	border: 1px solid var(--btn-bd);
	border-radius: 0;
	background: var(--btn-bg);
	color: var(--btn-fg);
	font: 500 0.75rem / 1.25 var(--mz-mono, ui-monospace, monospace);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%);
	transition: color 0.35s, background 0.35s;
}

.mzc-embed .mzc-btn:hover,
.mzc-embed .mzc-btn:focus-visible {
	background: var(--btn-hover-bg);
	color: var(--btn-hover-fg);
}

.mzc-embed .mzc-btn:focus-visible {
	outline: 2px solid #f86000;
	outline-offset: -6px;
}

/* --------------------------------------------------------------------------
 * Bouton flottant de repli (pages sans lien « Gérer mes cookies » dans le pied de page)
 * ----------------------------------------------------------------------- */
.mzc .mzc-fab {
	--c: 10px;

	position: fixed;
	bottom: max(0.875rem, env(safe-area-inset-bottom));
	left: max(0.875rem, env(safe-area-inset-left));
	z-index: 2147482990;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(244, 237, 225, 0.28);
	border-radius: 0;
	background: var(--mzc-walnut);
	color: var(--mzc-cream);
	cursor: pointer;
	clip-path: polygon(0 0, calc(100% - var(--c)) 0, 100% var(--c), 100% 100%, 0 100%);
	transition: background 0.3s var(--mzc-ease), color 0.3s var(--mzc-ease), transform 0.3s var(--mzc-ease);
	-webkit-appearance: none;
	appearance: none;
}

.mzc .mzc-fab:hover {
	background: var(--mzc-ember);
	color: var(--mzc-ink);
	transform: translateY(-2px);
}

.mzc .mzc-fab:focus-visible {
	outline: 2px solid var(--mzc-ember);
	outline-offset: -5px;
}

@media (max-width: 599px) {
	.mzc .mzc-fab {
		bottom: max(0.5rem, env(safe-area-inset-bottom));
		left: max(0.5rem, env(safe-area-inset-left));
		width: 2.5rem;
		height: 2.5rem;
	}
}

html.mzc-ask .mzc .mzc-fab,
html.mzc-locked .mzc .mzc-fab {
	display: none;
}

/* Le choix peut être modifié depuis n'importe quel lien « Gérer mes cookies » */
[data-mzc-open] {
	cursor: pointer;
}

html.mzc-locked {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.mzc *,
	.mzc *::before,
	.mzc *::after {
		animation-duration: 0.01ms !important;
		animation-delay: 0s !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	.mzc .mzc-btn,
	.mzc .mzc-switch__track,
	.mzc .mzc-x {
		border: 1px solid ButtonText;
	}

	.mzc .mzc-banner__body,
	.mzc .mzc-modal__panel {
		border: 1px solid CanvasText;
	}
}
