/**
 * Variant CSS: features--alternating-media-rows
 * Layer 2 — Path B features role (2026-05-28).
 *
 * Zig-zag feature rows: image one side, text the other, alternating per row via
 * the .universal-features__row--reverse modifier (flex-direction: row-reverse on
 * desktop). On mobile every row collapses to image-on-top, text-below.
 *
 * All selectors scoped to .universal-features--alternating-media-rows — no leak.
 */

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

body.aibt-universal .universal-features.universal-features--alternating-media-rows .has-text-align-center {
	margin-inline: auto !important;
}

/* ── Intro ─────────────────────────────────────────────────────── */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__intro {
	margin-bottom: var(--space-2xl);
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__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-features--alternating-media-rows h2.universal-features__headline,
body.aibt-universal .universal-features--alternating-media-rows .universal-features__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 auto !important;
	max-width: 20ch;
}

/* ── Rows ──────────────────────────────────────────────────────── */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row {
	gap: clamp(2rem, 5vw, 5rem) !important;
	align-items: center;
	margin-bottom: clamp(3rem, 7vh, 6rem);
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__row:last-child {
	margin-bottom: 0;
}

/* Alternate: reverse the column order on desktop. */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row--reverse {
	flex-direction: row-reverse;
}

/* ── Media column ──────────────────────────────────────────────── */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__img {
	margin: 0 !important;
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__img img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--decor-radius-photo, var(--decor-radius));
	display: block;
}

/* ── Text column ───────────────────────────────────────────────── */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-wider) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-features--alternating-media-rows h3.universal-features__row-title,
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-title {
	font-family: var(--font-display) !important;
	font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
	color: var(--text-primary) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: 0 0 var(--space-md) 0 !important;
	max-width: 46ch;
}

/* Benefit list — accent checkmarks. */
body.aibt-universal .universal-features--alternating-media-rows ul.universal-features__row-list,
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-list {
	list-style: none !important;
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-normal) !important;
	color: var(--text-primary) !important;
	margin: 0 0 var(--space-md) 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs);
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-list li {
	position: relative;
	padding-left: 1.75em;
}

body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 1em;
	height: 1em;
	background-color: var(--accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ── Inline text link CTA ──────────────────────────────────────── */
body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-cta-wrap {
	margin: 0 !important;
}

body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.98rem;
	letter-spacing: var(--tracking-wide);
	padding: 0.7rem 1.6rem;
	color: var(--cta-text-primary);
	background: var(--cta-bg-primary);
	border: 1px solid var(--cta-border-primary);
	border-radius: var(--decor-radius);
	min-height: var(--target-min);
	display: inline-flex;
	align-items: center;
	transition: background var(--duration-fast) var(--ease-snappy),
		border-color var(--duration-fast) var(--ease-snappy);
}

body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--text-primary);
	border-color: var(--cta-border-secondary);
	padding-inline: 0;
	border: 0;
	border-bottom: 2px solid var(--accent);
	border-radius: 0;
	min-height: 0;
}

body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta.is-style-outline .wp-block-button__link:hover,
body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta.is-style-outline .wp-block-button__link:focus-visible {
	background: transparent;
	color: var(--accent);
	border-bottom-color: var(--accent-hover);
}

body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta .wp-block-button__link:hover,
body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta .wp-block-button__link:focus-visible {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	color: var(--cta-text-primary);
}

/* Explicit keyboard focus ring — layers on top of the colour cue above so the
   underline-style link also gets a clearly visible outline (a11y). */
body.aibt-universal .universal-features--alternating-media-rows .wp-block-button.universal-features__row-cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* ── Mobile: stack, image always on top ────────────────────────── */
@media (max-width: 781px) {
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__row,
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__row--reverse {
		flex-direction: column;
		gap: var(--space-md) !important;
	}
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__media,
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__text {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-desc {
		max-width: none;
	}
}

/* Drop the wide kicker tracking on narrow phones so the uppercase intro + row
   labels never strain or wrap on small screens (house ≤640 standard). */
@media (max-width: 640px) {
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__kicker,
	body.aibt-universal .universal-features--alternating-media-rows .universal-features__row-kicker {
		letter-spacing: 0 !important;
	}
}
