/**
 * Variant CSS: cta-banner--minimal-rule-centered
 * Layer 2 — Path B cta-banner role (2026-06-06).
 *
 * An ultra-minimal, centred page-closer: a thin accent rule, an eyebrow, ONE
 * headline, ONE button, then a second thin accent rule below. NOT a colour band
 * and NOT a box — the twin framing rules + whitespace carry the whole thing.
 * Distinct from editorial-oversized (huge display + deck + 2 CTAs, single top
 * rule) and boxed-centered (bordered island on a band). Text stays --ink
 * (polarity-aware → contrast holds on any section shade; never --bg-main as
 * foreground, KI-020-safe); accent lands on the eyebrow, the headline <em>, and
 * the single CTA.
 *
 * CENTRING (A8/A9): every centred child (kicker, headline, the two rules) keeps
 * horizontal-auto margins — never margin:0 0 X 0 — so WordPress constrained-
 * layout's margin-inline:auto is preserved and nothing left-pins.
 *
 * All selectors scoped to .universal-cta-banner--minimal-rule-centered — no leak.
 */

body.aibt-universal .universal-cta-banner--minimal-rule-centered {
	text-align: center;
	padding-block: calc(clamp(3.5rem, 8vw, 6rem) * var(--density, 1));
	border-bottom: none;
}

/* ── Twin accent rules — thin, short, centred (the signature frame) ── */
body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__rule.wp-block-separator {
	border: 0;
	height: 2px;
	width: 64px;
	max-width: 64px;
	/* Centred element → horizontal-auto margins (A8/A9-safe). */
	margin-left: auto;
	margin-right: auto;
	background: var(--accent);
	opacity: 1;
}

body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__rule--top {
	margin-top: 0;
	margin-bottom: clamp(var(--space-md), 3vw, var(--space-lg));
}

body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__rule--bottom {
	margin-top: clamp(var(--space-md), 3vw, var(--space-lg));
	margin-bottom: 0;
}

/* ── Eyebrow ───────────────────────────────────────────────────── */
body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__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: var(--accent) !important;
	/* Centred → keep horizontal auto. */
	margin: 0 auto var(--space-md) auto !important;
}

/* ── Headline ──────────────────────────────────────────────────── */
body.aibt-universal .universal-cta-banner--minimal-rule-centered h2.universal-cta-banner__headline,
body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	max-width: 18ch;
	/* Centred → keep horizontal auto. */
	margin: 0 auto clamp(var(--space-lg), 4vw, var(--space-xl)) auto !important;
}

body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

/* ── Single CTA — solid accent chip, centred ───────────────────── */
body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__cta-wrap {
	gap: var(--space-sm) !important;
}

body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta--primary .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: var(--text-base);
	letter-spacing: var(--tracking-wide);
	padding: 1.1rem 2.6rem;
	color: var(--cta-text-primary, #ffffff);
	background: var(--cta-bg-primary, var(--accent, #1a1a1a));
	border: var(--decor-border-width, 2px) solid var(--cta-bg-primary, var(--accent, #1a1a1a));
	border-radius: var(--decor-radius);
	min-height: var(--target-min);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background var(--duration-fast) var(--ease-default),
		border-color var(--duration-fast) var(--ease-default),
		transform var(--duration-fast) var(--ease-default);
}

body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta--primary .wp-block-button__link:hover,
body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta--primary .wp-block-button__link:focus-visible {
	background: var(--accent-hover, var(--accent));
	border-color: var(--accent-hover, var(--accent));
	transform: translateY(-2px);
}

/* Keyboard focus ring — accent ring on the clean section. */
body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

/* ── Mobile: full-width CTA; drop uppercase tracking so no overflow (A5) ── */
@media (max-width: 640px) {
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__cta-wrap {
		flex-direction: column;
		align-items: stretch;
	}
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta .wp-block-button__link {
		width: 100%;
	}
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .universal-cta-banner__kicker {
		letter-spacing: 0 !important;
	}
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta .wp-block-button__link {
		transition: none;
	}
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta--primary .wp-block-button__link:hover,
	body.aibt-universal .universal-cta-banner--minimal-rule-centered .wp-block-button.universal-cta-banner__cta--primary .wp-block-button__link:focus-visible {
		transform: none;
	}
}
