/**
 * Variant CSS: booking--steps-then-cta
 *
 * How-to-book explainer: centered head (kicker + headline + deck), three
 * numbered step columns with a ghost numeral, then a dark CTA band with a line
 * + a "Rezerwuj" button. Step text stays --ink (polarity-aware); numbers and
 * kicker take --accent. The CTA band is an always-dark surface, so its text
 * uses --text-on-dark and the button lifts the accent over on-dark (KI-020).
 * Columns stack on mobile. Part of the `booking` role.
 */

body.aibt-universal .universal-booking--steps-then-cta {
	padding-block: calc(clamp(3.5rem, 8vw, 6.5rem) * var(--density, 1));
}

/* Head. */
body.aibt-universal .universal-booking--steps-then-cta .universal-booking__head {
	text-align: center;
	margin: 0 auto clamp(2.2rem, 5vw, 3.4rem) auto;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__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-booking--steps-then-cta .universal-booking__headline {
	font-family: var(--font-display) !important;
	font-size: clamp(1.9rem, 4vw, 3rem) !important;
	font-weight: 600 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 auto var(--space-sm) auto !important;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.78;
	max-width: 52ch;
	margin: 0 auto !important;
}

/* Steps. */
body.aibt-universal .universal-booking--steps-then-cta .universal-booking__steps {
	gap: clamp(1.5rem, 4vw, 3rem) !important;
	margin-bottom: clamp(2.4rem, 5vw, 3.6rem);
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__step {
	position: relative;
	padding-top: 1rem;
	border-top: 2px solid color-mix(in srgb, var(--ink) 14%, transparent);
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__step-num {
	font-family: var(--font-display) !important;
	font-size: clamp(1.6rem, 3vw, 2.1rem) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--accent) !important;
	margin: 0 0 0.6rem 0 !important;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__step-title {
	font-family: var(--font-display) !important;
	font-size: clamp(1.15rem, 2vw, 1.4rem) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--ink) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__step-desc {
	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 !important;
}

/* Dark CTA band — always-dark surface (KI-020 safe). */
body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta-band {
	gap: clamp(1rem, 3vw, 2rem) !important;
	padding: clamp(1.6rem, 4vw, 2.4rem) clamp(1.6rem, 5vw, 3rem) !important;
	border-radius: var(--decor-radius, 18px);
	background: var(--background-dark, #141414);
	text-align: center;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta-text {
	font-family: var(--font-display) !important;
	font-size: clamp(1.15rem, 2.4vw, 1.55rem) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--text-on-dark, #ffffff) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta .wp-block-button__link {
	display: inline-block;
	background: color-mix(in srgb, var(--accent) 60%, var(--on-dark, #ffffff)) !important;
	color: var(--background-dark, #141414) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	padding: 0.85rem 1.8rem !important;
	border-radius: var(--decor-radius-pill, 999px) !important;
	border: none !important;
	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-booking--steps-then-cta .universal-booking__cta .wp-block-button__link:hover {
	background: var(--on-dark, #ffffff) !important;
	transform: translateY(-1px);
}

/* Keyboard focus ring — uses on-dark so it stays visible on the dark CTA band. */
body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--on-dark, #ffffff);
	outline-offset: 2px;
	border-radius: inherit;
}

/* Stack on mobile. */
@media (max-width: 781px) {
	body.aibt-universal .universal-booking--steps-then-cta .universal-booking__steps {
		flex-direction: column;
	}

	body.aibt-universal .universal-booking--steps-then-cta .universal-booking__step {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* Respect reduced-motion: drop hover lift + transitions. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta .wp-block-button__link {
		transition: none;
	}
	body.aibt-universal .universal-booking--steps-then-cta .universal-booking__cta .wp-block-button__link:hover {
		transform: none;
	}
}
