/**
 * Variant CSS: newsletter--full-bleed-band
 *
 * Newsletter sign-up as a full-bleed accent/dark band — the whole section fills
 * edge to edge with a saturated background, with a centered kicker, large
 * headline, one line, an inline email field + button and a short note below.
 * Unlike the boxed-card or stacked variants, here the entire section becomes a
 * strong, high-contrast accent that grabs attention before the footer. The email
 * input is a visual placeholder. Because the band is a dark/accent surface, text
 * is forced to --text-on-dark and the kicker uses an accent lift over dark
 * (KI-020: never use --bg-main as foreground). Part of the `newsletter` role.
 */

body.aibt-universal .universal-newsletter--full-bleed-band {
	/* Full-bleed accent band: paint the dark surface edge to edge. */
	background: var(--background-dark, #141414);
	padding-block: calc(clamp(3.2rem, 8vw, 6rem) * var(--density, 1));
}

/* Kicker — accent lift over the dark band (not raw --accent, which can read dark on dark). */
body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: color-mix(in srgb, var(--accent) 60%, var(--on-dark, #fff)) !important;
	margin: 0 auto var(--space-sm) auto !important;
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__headline {
	font-family: var(--font-display) !important;
	color: var(--text-on-dark, #fff) !important;
	margin: 0 auto var(--space-md) auto !important;
	max-width: 16ch;
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__headline em {
	color: color-mix(in srgb, var(--accent) 60%, var(--on-dark, #fff)) !important;
	font-style: italic;
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-on-dark, #fff) !important;
	opacity: 0.82;
	max-width: 48ch;
	margin: 0 auto var(--space-lg) auto !important;
}

/* Form — inline field + button, centered. */
body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__form {
	gap: 0.6rem !important;
	max-width: 480px;
	margin-inline: auto;
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__field {
	flex: 1 1 220px;
	display: block;
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__input {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	color: var(--text-on-dark, #fff);
	padding: 0.78rem 1.1rem;
	border-radius: var(--decor-radius-pill, 999px);
	background: color-mix(in srgb, var(--on-dark, #fff) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--on-dark, #fff) 28%, transparent);
	transition: border-color var(--duration-fast, 0.18s) var(--ease-default, ease),
		background var(--duration-fast, 0.18s) var(--ease-default, ease);
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__input::placeholder {
	color: color-mix(in srgb, var(--on-dark, #fff) 60%, transparent);
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__input:focus-visible {
	/* On the dark band a raw --accent ring can read low-contrast, so lift it
	   toward --on-dark to keep the focus indicator clearly visible. */
	outline: 2px solid color-mix(in srgb, var(--accent) 60%, var(--on-dark, #fff));
	outline-offset: 2px;
	border-color: color-mix(in srgb, var(--accent) 60%, var(--on-dark, #fff));
	background: color-mix(in srgb, var(--on-dark, #fff) 14%, transparent);
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link {
	background: var(--cta-bg-primary, var(--accent)) !important;
	color: var(--cta-text-primary, #ffffff) !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 600 !important;
	padding: 0.78rem 1.6rem !important;
	border-radius: var(--decor-radius-pill, 999px) !important;
	border: none !important;
	white-space: nowrap;
	transition: background var(--duration-fast, 0.18s) var(--ease-default, ease),
		transform var(--duration-fast, 0.18s) var(--ease-default, ease);
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link:hover {
	background: var(--accent-hover, var(--accent)) !important;
	transform: translateY(-1px);
}

/* Keyboard focus ring for the CTA — lifted toward --on-dark so it stays
   visible against the dark band. */
body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--accent) 60%, var(--on-dark, #fff));
	outline-offset: 2px;
	border-radius: var(--decor-radius-pill, 999px);
}

body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__note {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	color: var(--text-on-dark, #fff) !important;
	opacity: 0.62;
	margin: var(--space-md) auto 0 auto !important;
}

/* Mobile: stack the field above the button, full-width, kill letter-spacing on caps (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__kicker {
		letter-spacing: 0 !important;
	}
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__form {
		flex-wrap: wrap !important;
		max-width: 360px;
	}
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__field {
		flex: 1 1 100%;
	}
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta,
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link {
		width: 100%;
	}
}

/* Reduced motion: drop field + CTA transitions/transforms. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__input,
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link {
		transition: none;
	}
	body.aibt-universal .universal-newsletter--full-bleed-band .universal-newsletter__cta .wp-block-button__link:hover {
		transform: none;
	}
}
