/* ── Footer ── */
.marqueblanche-footer {
	background:
		radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--marqueblanche-theme-warm) 12%, transparent), transparent 26rem),
		radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--marqueblanche-theme-cool) 20%, transparent), transparent 28rem),
		linear-gradient(180deg, var(--marqueblanche-theme-surface) 0%, color-mix(in srgb, var(--marqueblanche-theme-surface) 92%, var(--marqueblanche-theme-bg)) 100%);
	color: var(--marqueblanche-theme-text);
	padding: clamp(2rem, 5vw, 4rem) 0 calc(7rem + env(safe-area-inset-bottom));
}

.marqueblanche-footer a {
	color: color-mix(in srgb, var(--marqueblanche-theme-text) 78%, transparent);
	text-decoration: none;
	transition: color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.marqueblanche-footer a:hover {
	color: var(--marqueblanche-theme-accent);
}

.marqueblanche-footer__shell {
	width: var(--marqueblanche-layout-width);
	max-width: none;
	margin: 0 auto;
	padding: var(--marqueblanche-layout-inline-padding);
	box-sizing: border-box;
	background:
		linear-gradient(135deg, color-mix(in srgb, var(--marqueblanche-theme-bg) 78%, transparent), color-mix(in srgb, var(--marqueblanche-theme-bg) 46%, transparent));
	border: 1px solid color-mix(in srgb, var(--marqueblanche-theme-bg) 86%, transparent);
	border-radius: clamp(24px, 3vw, 42px);
	box-shadow:
		0 28px 80px color-mix(in srgb, var(--marqueblanche-theme-text) 12%, transparent),
		0 1px 0 color-mix(in srgb, var(--marqueblanche-theme-bg) 90%, transparent) inset;
	backdrop-filter: blur(20px) saturate(1.25);
	-webkit-backdrop-filter: blur(20px) saturate(1.25);
}

@media (max-width: 640px) {
	.marqueblanche-footer {
		padding-inline: 0;
	}

	.marqueblanche-footer__shell {
		padding: var(--marqueblanche-layout-inline-padding);
		border-radius: 28px;
	}
}
