/**
 * Variant CSS: comparison--feature-checkmatrix
 * Layer 2 — Path B comparison role (2026-06-06).
 *
 * Capability matrix built from native wp:columns rows (no wp:table) so every cell
 * stays Gutenberg-editable and stacks cleanly on mobile. Desktop: 4-col grid
 * (capability | Nasz pakiet | Standard | Tańsza opcja). The first option column is
 * the favoured one — accent-tinted cells + "Najlepszy wybór" badge. Each option
 * cell is an icon-only mark: ✓ full / ~ limited / ✕ none, with a visually-hidden
 * text label (.__check-sr) for screen readers. A legend below decodes the marks.
 * On mobile each row stacks; the SR labels become visible so every mark keeps its
 * meaning without the column header.
 *
 * All selectors scoped to .universal-comparison--feature-checkmatrix — no global leak.
 */

body.aibt-universal .universal-comparison--feature-checkmatrix {
	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--feature-checkmatrix .has-text-align-center {
	margin-inline: auto !important;
}

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

body.aibt-universal .universal-comparison--feature-checkmatrix .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--feature-checkmatrix h2.universal-comparison__headline,
body.aibt-universal .universal-comparison--feature-checkmatrix .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--feature-checkmatrix .universal-comparison__headline em {
	font-style: italic;
	color: var(--italic-color, var(--accent));
}

body.aibt-universal .universal-comparison--feature-checkmatrix .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;
}

/* ── Matrix ────────────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__matrix {
	border: 1px solid var(--divider-primary);
	border-radius: var(--decor-radius);
	overflow: hidden;
}

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

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__row--head {
	border-top: 0;
}

/* Capability column wider than the option columns. */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell {
	flex-basis: 0;
	flex-grow: 1;
	margin: 0 !important;
	padding: var(--space-4, 16px) var(--space-4, 16px) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.25rem;
	text-align: center;
	border-left: 1px solid var(--divider-primary);
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell--cap {
	flex-grow: 1.8;
	text-align: left;
	align-items: flex-start;
	border-left: 0;
	background: var(--background-alt);
}

/* Favoured option column — accent tint top to bottom. */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell--featured {
	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--feature-checkmatrix .universal-comparison__row--head .universal-comparison__cell--featured {
	box-shadow: inset 2px 2px 0 var(--accent), inset -2px 0 0 var(--accent);
}

/* ── Header cells ──────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__row--head .universal-comparison__cell--opt {
	background: var(--background-alt);
	padding-block: var(--space-5, 24px) !important;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .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--feature-checkmatrix h3.universal-comparison__col-name,
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__col-name {
	font-family: var(--font-display) !important;
	font-size: var(--text-lg) !important;
	font-weight: 600 !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
	line-height: 1.15 !important;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__col-name--muted {
	color: var(--text-muted) !important;
	font-family: var(--font-body) !important;
	font-weight: 500 !important;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__head-badge {
	font-family: var(--font-body) !important;
	font-size: 0.66rem !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.85em !important;
	margin: 0 auto 0.4rem auto !important;
	border-radius: var(--decor-radius-pill, 999px);
}

/* ── Capability labels ─────────────────────────────────────────── */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cap {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 500 !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
}

/* ── Check marks (icon-only on desktop) ────────────────────────── */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check {
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

/* Full ✓ — accent fill. */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check--yes {
	background: var(--accent);
	color: var(--cta-text-primary) !important;
}

/* Limited ~ — neutral outline, mid emphasis. */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check--part {
	background: color-mix(in srgb, var(--text-muted) 14%, transparent);
	color: var(--text-secondary) !important;
	border: 1px solid color-mix(in srgb, var(--text-muted) 35%, transparent);
}

/* None ✕ — muted, recedes. */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check--no {
	background: transparent;
	color: var(--text-muted) !important;
}

/* Screen-reader-only text label for each mark (visible only when stacked). */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ── Legend ────────────────────────────────────────────────────── */
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__legend {
	gap: var(--space-5, 24px) !important;
	flex-wrap: wrap;
	margin-top: var(--space-5, 24px) !important;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__legend-item {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	color: var(--text-secondary) !important;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__legend-item .universal-comparison__check--yes {
	color: var(--accent) !important;
	font-weight: 700;
}

body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__legend-item .universal-comparison__check--part,
body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__legend-item .universal-comparison__check--no {
	color: var(--text-muted) !important;
	font-weight: 700;
}

/* ── Mobile: stack each option under its capability, reveal SR labels ── */
@media (max-width: 781px) {
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__row {
		flex-wrap: wrap;
		flex-direction: column;
	}
	/* Capability name becomes a row heading spanning full width. */
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell--cap {
		flex-basis: 100% !important;
		border-bottom: 1px solid var(--divider-primary);
	}
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell {
		flex-basis: 100% !important;
		border-left: 0;
		text-align: left;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		gap: 0.7rem;
		padding-block: var(--space-3, 12px) !important;
	}
	/* Header option cells stay as a compact legend of names at the top. */
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__row--head .universal-comparison__cell--cap {
		display: none;
	}
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__row--head .universal-comparison__cell--opt {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		justify-content: flex-start;
		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--feature-checkmatrix .universal-comparison__row--head .universal-comparison__head-badge {
		margin: 0 !important;
	}
	/* Reveal the per-mark text so each stacked answer keeps its meaning. */
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check-sr {
		position: static;
		width: auto;
		height: auto;
		clip: auto;
		margin: 0;
		font-family: var(--font-body);
		font-size: var(--text-sm);
		font-weight: 500;
		color: var(--text-secondary);
	}
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__check {
		width: 1.6rem;
		height: 1.6rem;
		flex-shrink: 0;
		font-size: 0.85rem;
		gap: 0;
	}
	/* Keep accent tint as a left bar only (full tint too heavy stacked). */
	body.aibt-universal .universal-comparison--feature-checkmatrix .universal-comparison__cell--featured {
		box-shadow: inset 3px 0 0 var(--accent);
	}
}

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