/**
 * Variant CSS: comparison--us-vs-them-table
 * Layer 2 — Path B comparison role (2026-06-06).
 *
 * "Us vs them" comparison built from native wp:columns rows (no wp:table) so
 * every cell stays Gutenberg-editable and the layout stacks cleanly on mobile.
 * Desktop: 3-col grid (feature | Z nami | Gdzie indziej). The "Z nami" column is
 * the favoured side — accent-tinted cells, "Polecane" badge, green ✓ marks. The
 * "Gdzie indziej" column is muted with grey ✕ marks. On mobile the rows stack and
 * each value keeps its column context via the always-present mark text.
 *
 * All selectors scoped to .universal-comparison--us-vs-them-table — no global leak.
 */

body.aibt-universal .universal-comparison--us-vs-them-table {
	background: var(--background);
	color: var(--text-primary);
	text-align: center;
	/* House section rhythm — generous vertical breathing room (was missing). */
	padding-block: calc(clamp(3rem, 7vw, 5rem) * var(--density, 1));
}

body.aibt-universal .universal-comparison.universal-comparison--us-vs-them-table .has-text-align-center {
	margin-inline: auto !important;
}

/* ── Intro ─────────────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__intro {
	margin-bottom: var(--space-7, 48px);
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest, 0.16em) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 auto var(--space-3, 12px) auto !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table h2.universal-comparison__headline,
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 auto !important;
	max-width: 20ch;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__headline em {
	font-style: italic;
	color: var(--italic-color, var(--accent));
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed, 1.6) !important;
	color: var(--text-secondary) !important;
	margin: var(--space-4, 16px) auto 0 auto !important;
	max-width: 52ch;
}

/* ── Table ─────────────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__table {
	border: 1px solid var(--divider-primary);
	border-radius: var(--decor-radius);
	overflow: hidden;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row {
	gap: 0 !important;
	margin: 0 !important;
	align-items: stretch;
	border-top: 1px solid var(--divider-primary);
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head {
	border-top: 0;
}

/* Feature column wider than the two answer columns. */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell {
	flex-basis: 0;
	flex-grow: 1;
	margin: 0 !important;
	padding: var(--space-4, 16px) var(--space-5, 24px) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.25rem;
	text-align: left;
	border-left: 1px solid var(--divider-primary);
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell--label {
	flex-grow: 1.5;
	border-left: 0;
	background: var(--background-alt);
}

/* Favoured ("Z nami") column — accent tint top to bottom. */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell--us {
	background: var(--accent-fade, color-mix(in srgb, var(--accent) 10%, transparent));
	box-shadow: inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent);
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head .universal-comparison__cell--us {
	box-shadow: inset 2px 2px 0 var(--accent), inset -2px 0 0 var(--accent);
}

/* ── Header cells ──────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell--label,
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head .universal-comparison__cell--them {
	background: var(--background-alt);
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head .universal-comparison__cell {
	padding-block: var(--space-5, 24px) !important;
	align-items: flex-start;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-label {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-wider, 0.08em) !important;
	text-transform: uppercase !important;
	color: var(--text-muted) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table h3.universal-comparison__head-name,
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-name {
	font-family: var(--font-display) !important;
	font-size: var(--text-xl) !important;
	font-weight: 600 !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-name--muted {
	color: var(--text-muted) !important;
	font-family: var(--font-body) !important;
	font-weight: 500 !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-badge {
	font-family: var(--font-body) !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: var(--tracking-wider, 0.08em) !important;
	text-transform: uppercase !important;
	color: var(--cta-text-primary) !important;
	background: var(--accent);
	padding: 0.25em 0.9em !important;
	margin: 0 0 0.4rem 0 !important;
	border-radius: var(--decor-radius-pill, 999px);
	align-self: flex-start;
}

/* ── Feature / mark cells ──────────────────────────────────────── */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__feature {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 500 !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	margin: 0 !important;
	line-height: 1.4;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1;
}

/* Green ✓ — derived from a success hue blended toward accent so it adapts. */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark--yes {
	color: var(--text-primary) !important;
	font-weight: 600 !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark--yes .universal-comparison__mark-icon {
	background: var(--accent);
	color: var(--cta-text-primary);
}

/* Muted ✕ — neutral grey, recedes against the favoured column. */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark--no {
	color: var(--text-muted) !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark--no .universal-comparison__mark-icon {
	background: color-mix(in srgb, var(--text-muted) 18%, transparent);
	color: var(--text-muted);
}

/* ── CTA row ───────────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cta-row {
	margin-top: var(--space-7, 48px) !important;
}

body.aibt-universal .universal-comparison--us-vs-them-table .wp-block-button.universal-comparison__cta .wp-block-button__link {
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.98rem;
	letter-spacing: var(--tracking-wide, 0.02em);
	padding: 0.9rem 2.2rem;
	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, 44px);
	display: inline-flex;
	align-items: center;
	transition: background var(--duration-fast) var(--ease-standard),
		border-color var(--duration-fast) var(--ease-standard);
}

body.aibt-universal .universal-comparison--us-vs-them-table .wp-block-button.universal-comparison__cta .wp-block-button__link:hover,
body.aibt-universal .universal-comparison--us-vs-them-table .wp-block-button.universal-comparison__cta .wp-block-button__link:focus-visible {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	color: var(--cta-text-primary);
}

/* Keyboard focus ring distinct from the hover bg-swap (a11y). */
body.aibt-universal .universal-comparison--us-vs-them-table .wp-block-button.universal-comparison__cta .wp-block-button__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

/* ── Mobile: stack each side under its feature, keep mark text inline ── */
@media (max-width: 781px) {
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row {
		flex-wrap: wrap;
		flex-direction: column;
	}
	/* Feature name becomes a row heading spanning full width. */
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell--label {
		flex-basis: 100% !important;
		border-bottom: 1px solid var(--divider-primary);
	}
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell {
		flex-basis: 100% !important;
		border-left: 0;
		text-align: left;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		padding-block: var(--space-3, 12px) !important;
	}
	/* Header row becomes a compact legend (badge + names) at the top. */
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head .universal-comparison__cell--label {
		display: none;
	}
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__row--head .universal-comparison__cell {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.4em var(--space-3, 12px);
		border-bottom: 1px solid var(--divider-primary);
		padding-block: var(--space-4, 16px) !important;
	}
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-badge {
		margin: 0 !important;
	}
	/* Keep accent tint as a left bar only (full tint too heavy stacked). */
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__cell--us {
		box-shadow: inset 3px 0 0 var(--accent);
	}
	/* The mark text already carries column context, so each stacked answer is clear. */
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__mark {
		font-size: var(--text-base) !important;
	}
}

/* A5 — cap letter-spacing on uppercase labels at small widths to avoid clipping. */
@media (max-width: 640px) {
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__kicker,
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-label,
	body.aibt-universal .universal-comparison--us-vs-them-table .universal-comparison__head-badge {
		letter-spacing: 0 !important;
	}
}

/* Respect reduced-motion: drop the CTA transition. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-comparison--us-vs-them-table .wp-block-button.universal-comparison__cta .wp-block-button__link {
		transition: none;
	}
}
