/**
 * Variant CSS: cta-banner--app-download-band
 * Layer 2 — Path B cta-banner role (2026-06-06).
 *
 * A two-column conversion band for installing the mobile app: copy + two store
 * badges (App Store + Google Play, real logos as inline-SVG) on the left, a small
 * CSS-drawn phone mockup on the right. The conversion is an app install, not a
 * form or a phone call — structurally distinct from every centred single-CTA
 * sibling and from phone-prominent.
 *
 * Band colour logic mirrors full-width-accent: band bg = --conversion-band-bg
 * (falls back to --accent), every text token = --conversion-band-text (the theme's
 * contrast pair FOR the accent — paper-on-wine, dark-on-lime), so legibility holds
 * across every theme and we never use --bg-main as foreground (KI-020-safe). The
 * store badges invert: badge plate = currentColor = band-text, badge ink (text +
 * Apple logo) = --app-badge-ink = band-bg, so the chip is always high-contrast
 * regardless of theme. The phone mockup is built from the band-text colour at low
 * opacity (no image dependency, no broken-photo risk).
 *
 * All selectors scoped to .universal-cta-banner--app-download-band — no leak.
 */

body.aibt-universal .universal-cta-banner--app-download-band {
	/* Badge ink = the band background, so the inverted store chips stay legible. */
	--app-badge-ink: var(--conversion-band-bg, var(--accent, #1a1a1a));
	background: var(--conversion-band-bg, var(--accent, #1a1a1a));
	color: var(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff)));
	position: relative;
	overflow: hidden;
	border-bottom: none;
}

/* Decorative depth glow (non-layout). */
body.aibt-universal .universal-cta-banner--app-download-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient( ellipse 70% 80% at 88% 50%, rgba(255,255,255,0.10), transparent 70% );
	pointer-events: none;
}

body.aibt-universal .universal-cta-banner--app-download-band > * {
	position: relative;
	z-index: 1;
}

/* ── Two-column layout ─────────────────────────────────────────── */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__cols {
	gap: clamp(var(--space-lg), 5vw, var(--space-2xl)) !important;
	align-items: center;
}

/* ── Copy column ───────────────────────────────────────────────── */
body.aibt-universal .universal-cta-banner--app-download-band .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(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff))) !important;
	/* 0.82 keeps the kicker reading AA on the lower-contrast white-text bands. */
	opacity: 0.82;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-cta-banner--app-download-band h2.universal-cta-banner__headline,
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__headline {
	font-family: var(--font-display) !important;
	color: var(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff))) !important;
	margin: 0 0 var(--space-md) 0 !important;
	max-width: 18ch;
}

/* On the band, an accent <em> would clash with the bg — neutralise it. */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__headline em {
	color: inherit !important;
	font-style: italic;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff))) !important;
	opacity: 0.9;
	margin: 0 0 var(--space-xl) 0 !important;
	max-width: 44ch;
}

/* ── Store badges ──────────────────────────────────────────────── */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badges {
	gap: var(--space-sm) !important;
	align-items: center;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge {
	display: inline-flex;
	/* currentColor drives the SVG plate (the rounded rect) = band-text colour. */
	color: var(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff)));
	border-radius: 10px;
	line-height: 0;
	text-decoration: none;
	transition: transform var(--duration-fast) var(--ease-default),
		opacity var(--duration-fast) var(--ease-default);
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge-svg {
	display: block;
	width: clamp(150px, 16vw, 180px);
	height: auto;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge:hover,
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge:focus-visible {
	transform: translateY(-2px);
	opacity: 0.92;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge:focus-visible {
	outline: 2px solid var(--conversion-band-text, var(--cta-text-primary, var(--text-on-dark, #ffffff)));
	outline-offset: 3px;
}

/* ── Phone mockup (CSS-drawn, no image) ────────────────────────── */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-col {
	display: flex;
	justify-content: center;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-mock {
	position: relative;
	display: block;
	width: clamp(150px, 18vw, 210px);
	aspect-ratio: 210 / 420;
	border-radius: 30px;
	padding: 12px;
	/* Phone shell drawn from the band-text colour so it never clashes per theme. */
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 14%, transparent);
	border: 2px solid color-mix(in srgb, var(--conversion-band-text, #ffffff) 30%, transparent);
	box-shadow: 0 24px 60px -28px rgba(0,0,0,0.55);
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-notch {
	position: absolute;
	top: 12px;
	left: 50%;
	transform: translateX(-50%);
	width: 38%;
	height: 14px;
	border-radius: 0 0 10px 10px;
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 30%, transparent);
	z-index: 2;
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-screen {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	padding: 24px 16px 18px 16px;
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 7%, transparent);
}

/* App-header bar at the top of the screen. */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-bar {
	width: 52%;
	height: 12px;
	border-radius: var(--decor-radius-pill, 999px);
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 55%, transparent);
	margin-bottom: 6px;
}

/* Skeleton content lines. */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-line {
	width: 100%;
	height: 9px;
	border-radius: var(--decor-radius-pill, 999px);
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 24%, transparent);
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-line--lg {
	height: 40px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 18%, transparent);
}

body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-line--sm {
	width: 64%;
}

/* Faux in-app CTA button — uses the accent lift so it pops against the screen. */
body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-cta {
	margin-top: auto;
	width: 100%;
	height: 30px;
	border-radius: var(--decor-radius-pill, 999px);
	background: color-mix(in srgb, var(--conversion-band-text, #ffffff) 80%, transparent);
}

/* ── Tablet / mobile: stack copy over phone, centre everything ──── */
@media (max-width: 781px) {
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__cols {
		flex-direction: column;
		text-align: center;
	}
	/* WP renders columns as flex items below the stack breakpoint — force full width. */
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__copy-col,
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-col {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__headline,
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__deck {
		margin-inline: auto !important;
	}
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badges {
		justify-content: center;
	}
	/* Phone goes first visually so the copy lands directly above the badges. */
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__phone-col {
		order: -1;
		margin-bottom: var(--space-lg);
	}
}

/* ── Small mobile: drop uppercase tracking so it never overflows (A5) ── */
@media (max-width: 540px) {
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__kicker {
		letter-spacing: 0 !important;
	}
	/* Two badges stack to avoid horizontal overflow at 375px. */
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badges {
		flex-direction: column;
		align-items: center;
	}
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge-svg {
		width: clamp(160px, 60vw, 200px);
	}
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge {
		transition: none;
	}
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge:hover,
	body.aibt-universal .universal-cta-banner--app-download-band .universal-cta-banner__badge:focus-visible {
		transform: none;
	}
}
