/**
 * Variant CSS: coverage--radius-promise-band
 *
 * Service area as a "radius + promise" band — a soft accent-tinted, rounded band
 * carrying a centred kicker + headline + one line, a trio of large stats (radius
 * / response time / fee) split by hairline dividers, a primary "check coverage"
 * CTA button, and a closing note. Pairs the concrete reach figure with a speed
 * promise and a call to action — distinct from the map, chips, catalog and zone
 * variants. Text stays --ink (polarity-aware); the stat figures, emphasis and the
 * CTA take --accent / --cta-*. Centred children keep horizontal-auto margins so
 * they never left-pin inside the full-width section (A8/A9). Part of the
 * `coverage` role.
 */

body.aibt-universal .universal-coverage--radius-promise-band {
	padding-block: calc(clamp(3rem, 7vw, 5rem) * var(--density, 1));
}

/* The band itself is the constrained section's single visual surface. */
body.aibt-universal .universal-coverage--radius-promise-band > .wp-block-group__inner-container,
body.aibt-universal .universal-coverage--radius-promise-band {
	text-align: center;
}

body.aibt-universal .universal-coverage--radius-promise-band {
	border-radius: var(--decor-radius, 18px);
	border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent);
	background: color-mix(in srgb, var(--accent) 6%, transparent);
	padding-inline: clamp(1.4rem, 5vw, 3.4rem);
}

/* Intro. */
body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__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;
	margin: 0 auto var(--space-sm) auto !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 auto var(--space-md) auto !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.78;
	margin: 0 auto clamp(1.8rem, 4vw, 2.6rem) auto !important;
	max-width: 56ch;
}

/* ---- Stat trio ---- */
body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stats {
	gap: 0 !important;
	align-items: stretch !important;
	max-width: 760px;
	margin-inline: auto !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stat {
	flex: 1 1 200px;
	padding: clamp(0.6rem, 2vw, 1.1rem) clamp(1rem, 3vw, 1.6rem);
}

/* Hairline divider between stats (not before the first). */
body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stat + .universal-coverage__stat {
	border-left: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stat-figure {
	font-family: var(--font-display) !important;
	font-size: clamp(2rem, 5vw, 3rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--accent) !important;
	margin: 0 auto 0.35rem auto !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stat-label {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.72;
	margin: 0 auto !important;
	max-width: 22ch;
}

/* ---- CTA ---- */
body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__cta-wrap {
	margin: clamp(1.8rem, 4vw, 2.6rem) auto 0 auto !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__cta .wp-block-button__link {
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	font-size: var(--text-base) !important;
	color: var(--cta-text-primary, #ffffff) !important;
	background-color: var(--cta-bg-primary, var(--accent)) !important;
	border: none !important;
	border-radius: var(--decor-radius-pill, 999px) !important;
	padding: 0.85rem 1.8rem !important;
	transition: background-color var(--duration-fast, 0.18s) var(--ease-default, ease),
		transform var(--duration-fast, 0.18s) var(--ease-default, ease) !important;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__cta .wp-block-button__link:hover {
	background-color: var(--accent-hover, var(--accent)) !important;
	transform: translateY(-2px);
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__note {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.62;
	margin: clamp(1.6rem, 3.5vw, 2.2rem) auto 0 auto !important;
	max-width: 54ch;
}

/* Tablet + mobile: stack stats, swap the vertical divider for a horizontal rule. */
@media (max-width: 781px) {
	body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stats {
		flex-direction: column;
		max-width: 360px;
	}
	body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__stat + .universal-coverage__stat {
		border-left: none;
		border-top: 1px solid color-mix(in srgb, var(--ink) 14%, transparent);
	}
}

/* Mobile: drop wide uppercase tracking so the kicker never overflows (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__kicker {
		letter-spacing: 0 !important;
	}
}

/* Respect reduced-motion: kill the CTA hover lift. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-coverage--radius-promise-band .universal-coverage__cta .wp-block-button__link:hover {
		transform: none;
	}
}
