/**
 * Variant CSS: process--photo-step-rows
 * Layer 2 — Path B process role (2026-06-06).
 * Each step is a row: a small 4:3 photo on one side, number + title + desc on the
 * other. Adjacent rows mirror (photo left, then photo right) via row-reverse so the
 * eye zig-zags down. Hairlines separate rows. Photo-driven proof of process —
 * distinct from the text-only alternating-rows variant.
 * Every selector scoped to .universal-process--photo-step-rows (no global leak).
 */

body.aibt-universal .universal-process--photo-step-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--photo-step-rows .has-text-align-center {
	margin-inline: auto !important;
}

body.aibt-universal .universal-process--photo-step-rows .universal-process__intro {
	margin-bottom: var(--space-2xl);
	text-align: center;
}
body.aibt-universal .universal-process--photo-step-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--photo-step-rows .universal-process__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 auto !important;
}
body.aibt-universal .universal-process--photo-step-rows .universal-process__headline em {
	color: var(--accent) !important;
	font-style: italic;
}
body.aibt-universal .universal-process--photo-step-rows .universal-process__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: var(--space-sm) auto 0 auto !important;
	max-width: 56ch;
}

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

body.aibt-universal .universal-process--photo-step-rows .universal-process__row {
	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--photo-step-rows .universal-process__row:first-child {
	border-top: 0;
}

/* Even rows flip the columns → photo jumps to the right side. */
body.aibt-universal .universal-process--photo-step-rows .universal-process__row:nth-child(even) {
	flex-direction: row-reverse !important;
}

/* Photo: framed, soft corners, fixed ratio so it never collapses. */
body.aibt-universal .universal-process--photo-step-rows .universal-process__media {
	align-self: stretch;
}
body.aibt-universal .universal-process--photo-step-rows .universal-process__photo {
	margin: 0 !important;
}
body.aibt-universal .universal-process--photo-step-rows .universal-process__photo img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--decor-radius);
	display: block;
}

/* Ghost step number sits above the title. */
body.aibt-universal .universal-process--photo-step-rows .universal-process__num {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: clamp(2.25rem, 5vw, 3.25rem) !important;
	line-height: 0.9 !important;
	letter-spacing: -0.03em !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-xs) 0 !important;
}

body.aibt-universal .universal-process--photo-step-rows h3.universal-process__step-title,
body.aibt-universal .universal-process--photo-step-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--photo-step-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;
}

@media (max-width: 781px) {
	/* Stack every row uniformly (photo above text, left-aligned). */
	body.aibt-universal .universal-process--photo-step-rows .universal-process__row,
	body.aibt-universal .universal-process--photo-step-rows .universal-process__row:nth-child(even) {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: var(--space-md) !important;
		padding-block: var(--space-lg);
	}
	body.aibt-universal .universal-process--photo-step-rows .universal-process__media,
	body.aibt-universal .universal-process--photo-step-rows .universal-process__body {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-process--photo-step-rows .universal-process__num {
		font-size: clamp(2rem, 11vw, 3rem) !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--photo-step-rows .universal-process__kicker {
		letter-spacing: 0 !important;
	}
}
