/**
 * Variant CSS: pricing--scalable-grouped-sections
 * Layer 2 — Path B pricing role (brief-bound, Element Count 6 / 5+ bucket, 2026-06-10).
 *
 * A longer price list split into TWO labeled groups ("Podstawowe" + "Rozszerzone").
 * Each group opens with a small uppercase section subhead carrying a hairline rule;
 * inside a group every priced service is one stacked row — name + one-line tagline
 * on the left (body flex:1), price on the right (flex:none) — with a hairline rule
 * between rows. The grouping into named sections is the distinguishing structure:
 * unlike rate-sheet-leaders (one flat dotted-leader column), this organises a dense
 * list into two readable buckets.
 *
 * Rows are stacked wp:group flex rows (NOT wp:columns), so the internal body|price
 * split is a single flex row of two that collapses to a stack on the narrowest
 * screens. The two group labels are decorative paragraphs sitting between the row
 * groups; the six tier rows stay direct repeatable siblings (consistent tier-N
 * bindings) so the count-adaptive loader can keep the brief's actual item count.
 * Scoped to the variant class.
 */

body.aibt-universal .universal-pricing--scalable-grouped-sections {
	background: var(--background);
	color: var(--text-primary);
}

/* ── Intro ─────────────────────────────────────────────────────── */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__intro {
	margin-bottom: var(--space-6);
}

body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	/* Explicit wide tracking for the uppercase eyebrow (the --tracking-wide token
	   is tuned tighter, ~0.04em, for button labels — too tight for small caps). */
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-3) 0 !important;
}

body.aibt-universal .universal-pricing--scalable-grouped-sections h2.universal-pricing__headline,
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	/* A8/A9: centered intro child in an alignfull constrained section must keep
	   horizontal auto margins so it never sticks to the left edge. */
	margin: 0 auto !important;
	max-width: 22ch;
}

body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__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) auto 0 auto !important;
	max-width: 58ch;
}

/* ── Tiers container — a single stacked column of groups + rows ──── */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tiers {
	display: flex;
	flex-direction: column;
}

/* ── Group label — small uppercase subhead with a hairline under it ─ */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__group-label {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 700 !important;
	/* Explicit wide tracking for the small-caps section label (see kicker note). */
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 !important;
	padding-bottom: var(--space-2);
	border-block-end: 1px solid color-mix(in srgb, var(--accent) 40%, transparent);
}

/* The SECOND group label gets breathing room above it so the two buckets read
   as distinct sections (the first label sits flush under the intro). */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__group-label ~ .universal-pricing__group-label,
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier + .universal-pricing__group-label {
	margin-top: var(--space-6) !important;
}

/* ── Tier row — body (name + tagline) | price ───────────────────── */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) 0;
	/* Hairline between rows. */
	border-block-end: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);
	transition: background var(--duration-fast, 0.18s) var(--ease-standard, ease);
}

/* Subtle row hover (well under 250ms). */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier:hover {
	background: color-mix(in srgb, var(--accent) 5%, transparent);
}

body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier:focus-within {
	background: color-mix(in srgb, var(--accent) 6%, transparent);
}

/* Keyboard focus ring on any link that may sit inside a row. */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier a:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

/* Left side grows; min-width:0 lets long names wrap instead of pushing the price. */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-body {
	flex: 1 1 auto;
	min-width: 0;
}

body.aibt-universal .universal-pricing--scalable-grouped-sections h3.universal-pricing__tier-name,
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-name {
	font-family: var(--font-display) !important;
	font-size: var(--text-lg) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
}

body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-tagline {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: 1.5 !important;
	color: var(--text-secondary) !important;
	margin: var(--space-1) 0 0 0 !important;
	max-width: 52ch;
}

/* Price — right column, never wraps mid-word; a long text price
   ("wycena indywidualna") breaks at the space, not against the base.css floor. */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-price {
	flex: 0 0 auto;
	font-family: var(--font-display) !important;
	font-size: var(--text-xl) !important;
	font-weight: 700 !important;
	line-height: var(--leading-tight, 1.1) !important;
	letter-spacing: -0.01em !important;
	color: var(--accent) !important;
	margin: 0 !important;
	text-align: right;
	font-variant-numeric: tabular-nums;
	overflow-wrap: normal;
	word-break: keep-all;
}

/* Optional cadence note ("/ mies.") rides quieter inside the price. */
body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-price span {
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 400;
	letter-spacing: 0;
	color: var(--text-muted);
}

/* ── Mobile: collapse the body|price row to a stack ─────────────── */
@media (max-width: 520px) {
	body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}
	body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier-price {
		text-align: left;
	}
	/* A5: drop the wide tracking on uppercase labels at narrow widths. */
	body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__kicker,
	body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__group-label {
		letter-spacing: 0.04em !important;
	}
}

/* Respect reduced-motion. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-pricing--scalable-grouped-sections .universal-pricing__tier {
		transition: none;
	}
}
