/* Atelier Footer — scoped editorial presentation over the shared Footer contract. */

.site-footer--variant-atelier {
	position: relative;
	isolation: isolate;
	overflow: clip;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--ca-color-primary) 9%, transparent), transparent 42%),
		linear-gradient(325deg, color-mix(in srgb, var(--ca-color-secondary) 7%, transparent), transparent 36%),
		var(--ca-color-surface);
	border-top: 0;
}

.site-footer--variant-atelier::before {
	position: absolute;
	inset: 0 var(--ca-page-gutter) auto;
	height: var(--ca-border-width);
	background: linear-gradient(90deg, transparent, var(--ca-color-primary), transparent);
	content: "";
	opacity: 0.58;
	pointer-events: none;
}

.site-footer--variant-atelier .site-footer__inner {
	--ca-footer-section-gap: clamp(2rem, 4vw, 4rem);
	padding-block-start: clamp(3.5rem, 7vw, 6rem);
}

.site-footer--variant-atelier .site-footer__newsletter {
	position: relative;
	padding: clamp(var(--ca-space-5), 4vw, var(--ca-space-8));
	overflow: hidden;
	background: color-mix(in srgb, var(--ca-color-surface-raised) 88%, var(--ca-color-primary) 12%);
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-color-primary) 22%, var(--ca-color-border));
	border-radius: var(--ca-radius-lg);
	box-shadow: var(--ca-shadow-lg);
}

.site-footer--variant-atelier .site-footer__newsletter::after {
	position: absolute;
	right: calc(var(--ca-space-7) * -1);
	bottom: calc(var(--ca-space-8) * -1);
	width: clamp(8rem, 18vw, 14rem);
	aspect-ratio: 1;
	background: radial-gradient(circle, color-mix(in srgb, var(--ca-color-primary) 18%, transparent), transparent 68%);
	border-radius: var(--ca-radius-pill);
	content: "";
	pointer-events: none;
}

.site-footer--variant-atelier .site-footer__newsletter > * {
	position: relative;
	z-index: 1;
}

.site-footer--variant-atelier .site-footer__newsletter h2 {
	max-width: 34rem;
	font-size: clamp(1.5rem, 3vw, 2.35rem);
	font-weight: var(--ca-weight-bold);
}

.site-footer--variant-atelier .site-footer__newsletter-text {
	max-width: 34rem;
}

.site-footer--variant-atelier .site-footer__newsletter-form {
	background: color-mix(in srgb, var(--ca-field-bg) 92%, transparent);
	border-color: color-mix(in srgb, var(--ca-color-primary) 24%, var(--ca-field-border));
	border-radius: var(--ca-radius-pill);
	box-shadow: var(--ca-shadow-sm);
}

.site-footer--variant-atelier .site-footer__newsletter-form button {
	border-left-color: color-mix(in srgb, var(--ca-color-primary) 26%, var(--ca-input-border));
}

.site-footer--variant-atelier .site-footer__brand {
	position: relative;
	padding-inline-end: var(--ca-space-5);
}

.site-footer--variant-atelier .site-footer__brand-name {
	font-size: clamp(1rem, var(--ca-brand-title-size, 1.5rem), 1.75rem);
	letter-spacing: max(var(--ca-letter-spacing-heading), 0.035em);
}

.site-footer--variant-atelier .site-footer__eyebrow {
	letter-spacing: max(var(--ca-letter-spacing-eyebrow), 0.14em);
}

.site-footer--variant-atelier .site-footer__links-toggle {
	padding-bottom: var(--ca-space-3);
	border-bottom: var(--ca-border-width) solid color-mix(in srgb, var(--ca-color-primary) 18%, var(--ca-color-border));
}

.site-footer--variant-atelier .site-footer__menu {
	gap: var(--ca-space-3);
}

.site-footer--variant-atelier .site-footer__menu a {
	font-weight: var(--ca-weight-medium);
}

.site-footer--variant-atelier .site-footer__menu a:hover,
.site-footer--variant-atelier .site-footer__menu a:focus-visible {
	transform: translateX(var(--ca-space-1));
}

.site-footer--variant-atelier .site-footer__social a {
	border-radius: var(--ca-radius-md);
}

.site-footer--variant-atelier .site-footer__utility {
	padding: var(--ca-space-4) var(--ca-space-5);
	background: color-mix(in srgb, var(--ca-color-surface-raised) 78%, transparent);
	border: var(--ca-border-width) solid color-mix(in srgb, var(--ca-color-primary) 15%, var(--ca-color-border));
	border-radius: var(--ca-radius-lg) var(--ca-radius-lg) 0 0;
}

@media (min-width: 61.251rem) {
	.site-footer--variant-atelier .site-footer__top {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
		gap: clamp(var(--ca-space-5), 3vw, var(--ca-space-8));
	}

	.site-footer--variant-atelier .site-footer__newsletter {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
		column-gap: clamp(var(--ca-space-6), 5vw, var(--ca-space-9));
		align-items: center;
	}

	.site-footer--variant-atelier .site-footer__newsletter .site-footer__eyebrow,
	.site-footer--variant-atelier .site-footer__newsletter h2,
	.site-footer--variant-atelier .site-footer__newsletter-text {
		grid-column: 1;
	}

	.site-footer--variant-atelier .site-footer__newsletter-form {
		grid-column: 2;
		grid-row: 1 / span 3;
		align-self: center;
		justify-self: end;
	}
}

@media (max-width: 61.25rem) {
	.site-footer--variant-atelier .site-footer__newsletter {
		padding: var(--ca-space-5);
		border-radius: var(--ca-radius-lg);
	}

	.site-footer--variant-atelier .site-footer__brand {
		padding-inline-end: 0;
	}

	.site-footer--variant-atelier .site-footer__links-toggle {
		border-bottom-color: color-mix(in srgb, var(--ca-color-primary) 16%, var(--ca-color-border));
	}

	.site-footer--variant-atelier .site-footer__utility {
		padding-inline: var(--ca-space-4);
		border-radius: var(--ca-radius-lg) var(--ca-radius-lg) 0 0;
	}
}

@media (max-width: 40rem) {
	.site-footer--variant-atelier .site-footer__newsletter-form {
		grid-template-columns: minmax(0, 1fr);
		border-radius: var(--ca-radius-md);
	}

	.site-footer--variant-atelier .site-footer__newsletter-form button {
		border-top: var(--ca-border-width) solid color-mix(in srgb, var(--ca-color-primary) 26%, var(--ca-input-border));
		border-left: 0;
	}
}
