/*
 * Newsletter prefooter band and site footer.
 *
 * Shared by the site footer (parts/footer.php) and the homepage footer (templates/front-page.html),
 * so both show the same full-width band. Gradients interpolate in Oklab where supported; the
 * plain sRGB gradient before it is the fallback for older browsers.
 */
:root {
	--kuku-prefooter-from: #c2414f;
	--kuku-prefooter-mid: #9b3a6e;
	--kuku-prefooter-to: #55296a;
	--kuku-footer-from: #2e1c37;
	--kuku-footer-to: #150e1c;
	--kuku-footer-glow: rgb(130 83 165 / .28);
}

/* Newsletter band. */
.kuku-prefooter {
	color: #fff;
	background: linear-gradient(110deg, var(--kuku-prefooter-from), var(--kuku-prefooter-mid) 48%, var(--kuku-prefooter-to));
}
@supports (background: linear-gradient(in oklab, white, black)) {
	.kuku-prefooter { background: linear-gradient(110deg in oklab, var(--kuku-prefooter-from), var(--kuku-prefooter-mid) 48%, var(--kuku-prefooter-to)); }
}
.kuku-prefooter__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 30rem);
	align-items: center;
	gap: 24px 56px;
	max-width: 1180px;
	margin-inline: auto;
	padding: 48px 24px;
}
.kuku-prefooter__copy h2 {
	margin: 0 0 8px;
	color: #fff;
	font: 800 clamp(1.4rem, 1.1rem + 1.2vw, 2rem) / 1.15 var(--wp--preset--font-family--manrope, inherit);
	letter-spacing: -.01em;
}
.kuku-prefooter__copy p {
	margin: 0;
	max-width: 34rem;
	color: rgb(255 255 255 / .9);
	font-size: 1rem;
	line-height: 1.55;
}
.kuku-prefooter .newsletter-form { margin: 0; }
.kuku-prefooter .newsletter-field {
	display: flex;
	min-height: 52px;
	padding: 5px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 28px rgb(30 10 35 / .25);
}
.kuku-prefooter .newsletter-field:focus-within { outline: 3px solid #fff; outline-offset: 3px; }
.kuku-prefooter .newsletter-field input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	color: #2a1f33;
	padding: 0 14px;
	font-size: 1rem;
	outline: 0;
}
.kuku-prefooter .newsletter-field input::placeholder { color: #7a6b80; opacity: 1; }
.kuku-prefooter .newsletter-field button {
	flex: none;
	padding: 0 22px;
	border: 0;
	border-radius: 12px;
	background: #2a1630;
	color: #fff;
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
	transition: background-color 160ms;
}
.kuku-prefooter .newsletter-field button:hover { background: #3d2245; }
.kuku-prefooter .newsletter-field button:focus-visible { outline: 2px solid #2a1630; outline-offset: 2px; }
.kuku-prefooter .newsletter-field button:disabled { opacity: .65; cursor: progress; }
.kuku-prefooter .newsletter-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 14px;
	color: rgb(255 255 255 / .92);
	font-size: .85rem;
	line-height: 1.5;
	cursor: pointer;
}
.kuku-prefooter .newsletter-consent input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #2a1630; }
.kuku-prefooter .newsletter-consent input:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.kuku-prefooter .newsletter-consent a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.kuku-prefooter .newsletter-message { margin: 10px 0 0; color: #fff; font-size: .85rem; line-height: 1.5; font-weight: 600; }
.kuku-prefooter .newsletter-message[data-state="success"] { color: #d9ffe9; }
.kuku-prefooter .newsletter-message[data-state="error"] { color: #ffe0dc; }
.kuku-prefooter .screen-reader-text,
.kuku-prefooter .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.kuku-prefooter [hidden] { display: none !important; }
/* The homepage wraps the form in its template-part element. */
.kuku-prefooter__inner > .wp-block-template-part { min-width: 0; }

@media (max-width: 760px) {
	.kuku-prefooter__inner { grid-template-columns: minmax(0, 1fr); padding-block: 40px; }
	.kuku-prefooter .newsletter-field button { padding: 0 16px; }
}

/* The band and the footer read as one block: drop the theme block gap between them. */
.kuku-prefooter + .kuku-site-footer { margin-block-start: 0; }

/* Site footer: dark plum gradient instead of the flat brand purple. */
.kuku-site-footer {
	color: #fff;
	background:
		radial-gradient(60rem 22rem at 88% 0%, var(--kuku-footer-glow), transparent 70%),
		linear-gradient(165deg, var(--kuku-footer-from), var(--kuku-footer-to));
}
@supports (background: linear-gradient(in oklab, white, black)) {
	.kuku-site-footer {
		background:
			radial-gradient(60rem 22rem at 88% 0%, var(--kuku-footer-glow), transparent 70%),
			linear-gradient(165deg in oklab, var(--kuku-footer-from), var(--kuku-footer-to));
	}
}
.kuku-site-footer .footer-title {
	color: #fff;
	opacity: 1;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.kuku-site-footer a { color: rgb(255 255 255 / .78); }
.kuku-site-footer a:hover { color: #fff; }
.kuku-site-footer a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 4px; }
.kuku-site-footer .border-t { border-color: rgb(255 255 255 / .1); }
