/**
 * Variant CSS: process--alternating-rows
 * Layer 2 — Path B process role (2026-05-29).
 * Steps as alternating left/right rows: a large ghost number on one side, title +
 * desc on the other, zig-zagging down. Even rows flip side via row-reverse.
 * Every selector scoped to .universal-process--alternating-rows (no global leak).
 */

body.aibt-universal .universal-process--alternating-rows {
	background: var(--background-alt);
	color: var(--text-primary);
}

/* Restore WP constrained-layout centering for centered intro elements. */
body.aibt-universal .universal-process.universal-process--alternating-rows .has-text-align-center {
	margin-inline: auto !important;
}

body.aibt-universal .universal-process--alternating-rows .universal-process__intro {
	margin-bottom: var(--space-2xl);
	text-align: center;
}
body.aibt-universal .universal-process--alternating-rows .universal-process__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-process--alternating-rows .universal-process__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 auto !important;
}
body.aibt-universal .universal-process--alternating-rows .universal-process__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

/* Rows stack vertically with rhythm + hairlines between. */
body.aibt-universal .universal-process--alternating-rows .universal-process__steps {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	max-width: 1000px;
	margin-inline: auto;
}

body.aibt-universal .universal-process--alternating-rows .universal-process__milestone {
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
	align-items: center !important;
	margin: 0 !important;
	padding-block: var(--space-xl);
	border-top: 1px solid var(--divider-primary);
}
body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:first-child {
	border-top: 0;
}

/* Even rows flip the columns → number jumps to the right side. */
body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) {
	flex-direction: row-reverse !important;
}
body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) .universal-process__textcol {
	text-align: right;
}

/* Big ghost number. */
body.aibt-universal .universal-process--alternating-rows .universal-process__numcol {
	display: flex;
	justify-content: center;
}
body.aibt-universal .universal-process--alternating-rows .universal-process__num {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: clamp(3.5rem, 8vw, 6rem) !important;
	line-height: 0.9 !important;
	letter-spacing: -0.04em !important;
	color: var(--accent) !important;
	opacity: 0.85;
	margin: 0 !important;
}

body.aibt-universal .universal-process--alternating-rows h3.universal-process__step-title,
body.aibt-universal .universal-process--alternating-rows .universal-process__step-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: var(--text-2xl) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: var(--text-primary) !important;
	margin: 0 0 var(--space-xs) 0 !important;
}

body.aibt-universal .universal-process--alternating-rows .universal-process__step-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: 0 !important;
	max-width: 52ch;
}
/* Keep right-aligned desc text hugging the right edge on even rows. */
body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) .universal-process__step-desc {
	margin-left: auto !important;
}

@media (max-width: 781px) {
	/* Stack every row uniformly (number above text, left-aligned). */
	body.aibt-universal .universal-process--alternating-rows .universal-process__milestone,
	body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: var(--space-sm) !important;
		padding-block: var(--space-lg);
	}
	body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) .universal-process__textcol {
		text-align: left;
	}
	body.aibt-universal .universal-process--alternating-rows .universal-process__numcol,
	body.aibt-universal .universal-process--alternating-rows .universal-process__textcol {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-process--alternating-rows .universal-process__numcol {
		justify-content: flex-start;
	}
	body.aibt-universal .universal-process--alternating-rows .universal-process__num {
		font-size: clamp(3rem, 14vw, 4.5rem) !important;
	}
	body.aibt-universal .universal-process--alternating-rows .universal-process__milestone:nth-child(even) .universal-process__step-desc {
		margin-left: 0 !important;
	}
}

/* Drop the wide kicker tracking on narrow phones so the uppercase label never
   strains or wraps in the constrained intro column. */
@media (max-width: 640px) {
	body.aibt-universal .universal-process--alternating-rows .universal-process__kicker {
		letter-spacing: 0 !important;
	}
}
