/**
 * Variant CSS: benefits--alternating-media-rows
 * Layer 2 — Path B benefits role (2026-06-06).
 * Zigzag benefit rows: a large accent icon medallion alternates left/right
 * across rows, with title + description on the opposite side. Reversed rows
 * flip the flex direction so the medallion swaps sides. Text stays --ink
 * (polarity-aware); medallion + hairlines use color-mix on --accent / --ink.
 * Every selector scoped to .universal-benefits--alternating-media-rows.
 */

body.aibt-universal .universal-benefits--alternating-media-rows {
	background: var(--background);
	color: var(--ink);
	padding-block: calc(clamp(3rem, 7vw, 5.5rem) * var(--density, 1));
	border-bottom: 1px solid var(--divider-primary);
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__intro {
	margin-bottom: clamp(2.4rem, 5vw, 3.6rem);
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__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 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 !important;
	max-width: 22ch;
}

/* Each row: vertically centered, a hairline separates rows. */
body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row {
	gap: clamp(1.4rem, 4vw, 3rem) !important;
	align-items: center !important;
	padding-block: calc(clamp(1.6rem, 3.4vw, 2.6rem) * var(--density, 1));
	border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
	margin: 0 !important;
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row:last-child {
	border-bottom: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

/* Even rows: swap the medallion to the other side. */
body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row--reverse {
	flex-direction: row-reverse !important;
}

/* Media column hosts the icon medallion. */
body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__media {
	display: flex !important;
	justify-content: center;
	align-items: center;
}

/* Large accent icon medallion. */
body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__icon {
	font-size: clamp(1.9rem, 3vw, 2.6rem) !important;
	line-height: 1 !important;
	width: clamp(5rem, 9vw, 7rem);
	height: clamp(5rem, 9vw, 7rem);
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--accent) 12%, transparent) !important;
	border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
	color: var(--ink) !important;
	margin: 0 !important;
	transition: transform var(--duration-fast, 0.18s) var(--ease-default, ease),
		background var(--duration-fast, 0.18s) var(--ease-default, ease);
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row:hover .universal-benefits__icon {
	transform: scale(1.04);
	background: color-mix(in srgb, var(--accent) 20%, transparent) !important;
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__item-title {
	font-family: var(--font-display) !important;
	font-size: clamp(1.25rem, 2.2vw, 1.65rem) !important;
	font-weight: 600 !important;
	line-height: 1.18 !important;
	letter-spacing: -0.015em !important;
	color: var(--ink) !important;
	margin: 0 0 0.5rem 0 !important;
}

body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__item-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;
	max-width: 56ch;
}

/* Stack on tablet/mobile; force the medallion on top regardless of reverse
   so reading order stays icon -> text and there is no horizontal overflow. */
@media (max-width: 781px) {
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row,
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row--reverse {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: var(--space-md) !important;
		text-align: left;
	}
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__media,
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__text {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__media {
		justify-content: flex-start;
	}
}

/* Cap the kicker's wide uppercase tracking on small screens so the label does
   not over-stretch / risk an awkward wrap (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__kicker {
		letter-spacing: 0 !important;
	}
}

/* Honor reduced-motion: drop the medallion scale on hover, keep the colour cue. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__icon {
		transition: background var(--duration-fast, 0.18s) var(--ease-default, ease);
	}
	body.aibt-universal .universal-benefits--alternating-media-rows .universal-benefits__row:hover .universal-benefits__icon {
		transform: none;
	}
}
