/**
 * Variant CSS: footer--cta-over-columns
 * Layer 2 — centered closing CTA block stacked above a 3-column sitemap
 * grid + bottom legal row. Dark surface.
 * Scope: every selector starts with body.aibt-universal .universal-footer--cta-over-columns
 */

body.aibt-universal .universal-footer--cta-over-columns {
	background: var(--background-dark, #141414);
	color: var(--text-on-dark, #ffffff);
	padding-block: calc(clamp(3rem, 7vh, 5rem) * var(--density, 1));
}

/* ── Centered CTA block ────────────────────────────────────────── */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta {
	text-align: center;
	margin: 0 auto clamp(2.75rem, 6vh, 4.5rem) auto;
	padding-bottom: calc(clamp(2.5rem, 5vh, 4rem) * var(--density, 1));
	/* On-dark hairline under the CTA: --divider-primary tracks page polarity
	   and would vanish on this always-dark surface. */
	border-bottom: 1px solid color-mix(in srgb, var(--text-on-dark, #ffffff) 12%, transparent);
}

/* Centered kicker — A8/A9: keep horizontal auto margins so the centered
   block is not left-pinned inside the full-width section. */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__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, #ffffff)) !important;
	margin: 0 auto var(--space-sm) auto !important;
}

/* Centered headline — A8/A9: horizontal auto margins. */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__headline {
	font-family: var(--font-display) !important;
	color: var(--text-on-dark, #ffffff) !important;
	margin: 0 auto var(--space-md) auto !important;
	max-width: 16ch;
	text-wrap: balance;
}

/* Emphasised phrase takes the accent, lifted for dark legibility (KI-020). */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__headline em {
	font-style: normal;
	color: color-mix(in srgb, var(--accent) 60%, var(--on-dark, #ffffff));
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btns {
	margin-top: var(--space-sm);
}

/* CTA button */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btn .wp-block-button__link {
	background: var(--cta-bg-primary) !important;
	color: var(--cta-text-primary) !important;
	font-family: var(--font-body);
	font-weight: 600;
	border-radius: var(--decor-radius-pill, 999px);
	padding: 0.85em 2em;
	transition: background var(--duration-fast) var(--ease-default),
		transform var(--duration-fast) var(--ease-default);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btn .wp-block-button__link:hover {
	background: var(--accent-hover, var(--accent)) !important;
	transform: translateY(-2px);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btn .wp-block-button__link:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--accent) 55%, var(--on-dark, #FFFFFF));
	outline-offset: 2px;
}

/* ── 3-column sitemap grid ─────────────────────────────────────── */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cols {
	align-items: flex-start;
}

/* Brand wordmark (compact) */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__masthead {
	font-family: var(--font-display) !important;
	color: var(--text-on-dark, #ffffff) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__detail {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-on-dark, #ffffff) !important;
	opacity: 0.6;
	margin: 0 !important;
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__colhead {
	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, #ffffff)) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

/* Link lists — reset bullets */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links li {
	margin: 0 !important;
	line-height: var(--leading-relaxed);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links a {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	color: var(--text-on-dark, #ffffff);
	text-decoration: none;
	opacity: 0.72;
	transition: color var(--duration-fast) var(--ease-default),
		opacity var(--duration-fast) var(--ease-default);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links a:hover,
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links a:focus-visible {
	opacity: 1;
	color: color-mix(in srgb, var(--accent) 55%, var(--on-dark, #FFFFFF));
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links a:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--accent) 55%, var(--on-dark, #FFFFFF));
	outline-offset: 2px;
	border-radius: var(--decor-radius, 4px);
}

/* ── Legal row ─────────────────────────────────────────────────── */
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal {
	margin-top: clamp(2.5rem, 5vh, 4rem);
	padding-top: var(--space-md);
	border-top: 1px solid color-mix(in srgb, var(--text-on-dark, #ffffff) 14%, transparent);
	gap: var(--space-sm);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__copyright,
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links {
	font-family: var(--font-body) !important;
	font-size: 0.8rem !important;
	color: var(--text-on-dark, #ffffff) !important;
	opacity: 0.5;
	letter-spacing: var(--tracking-wide) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links a {
	color: inherit;
	text-decoration: none;
	transition: opacity var(--duration-fast) var(--ease-default),
		color var(--duration-fast) var(--ease-default);
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links a:hover,
body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links a:focus-visible {
	opacity: 1;
	color: color-mix(in srgb, var(--accent) 55%, var(--on-dark, #FFFFFF));
}

body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links a:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--accent) 55%, var(--on-dark, #FFFFFF));
	outline-offset: 2px;
	border-radius: var(--decor-radius, 4px);
}

/* ── Mobile: columns stack ─────────────────────────────────────── */
@media (max-width: 781px) {
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cols {
		gap: 2rem !important;
	}

	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__brandcol {
		flex-basis: 100% !important;
	}

	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__headline,
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__kicker {
		max-width: none;
	}
}

/* Narrow phones: drop wide tracking so kicker / column heads don't look gappy (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__kicker,
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__colhead {
		letter-spacing: 0.04em !important;
	}
}

/* Respect reduced-motion: no hover transforms / transitions. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btn .wp-block-button__link:hover {
		transform: none;
	}

	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__cta-btn .wp-block-button__link,
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__links a,
	body.aibt-universal .universal-footer--cta-over-columns .universal-footer__legal-links a {
		transition: none;
	}
}
