/**
 * Nash Fit — Prijslijst
 *
 * Hoort bij nf-pricelist.php. Kleuren en spacing komen uit Automatic.css,
 * zodat de lijst automatisch meebeweegt met het globale designsysteem.
 */

.nf-pricelist {
	--nf-pricelist-ink: var(--action-dark);
	--nf-pricelist-rule: color-mix(in oklab, var(--nf-pricelist-ink) 25%, transparent);
	--nf-pricelist-muted: color-mix(in oklab, var(--nf-pricelist-ink) 68%, transparent);
	--nf-pricelist-columns: 2;

	display: grid;
	grid-template-columns: repeat(var(--nf-pricelist-columns), minmax(0, 1fr));
	align-items: start;
	gap: var(--section-space-s) clamp(2rem, 4vw, 4rem);
	color: var(--nf-pricelist-ink);
}

.nf-pricelist--cols-1 {
	--nf-pricelist-columns: 1;
	max-width: var(--width-l);
	margin-inline: auto;
}

.nf-pricelist--cols-3 {
	--nf-pricelist-columns: 3;
}

/* -- Categorie -- */

.nf-pricelist__group {
	display: grid;
	gap: var(--space-s);
	min-width: 0;
	break-inside: avoid;
}

.nf-pricelist__header {
	display: grid;
	gap: var(--space-xs);
	padding-bottom: var(--space-xs);
	border-bottom: 2px solid var(--nf-pricelist-ink);
	min-width: 0;
}

.nf-pricelist__title {
	margin: 0;
	font-size: var(--text-l);
	line-height: 1.15;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: inherit;
	overflow-wrap: break-word;
}

.nf-pricelist__note {
	margin: 0;
	max-width: 48ch;
	font-size: var(--text-s);
	line-height: 1.45;
	color: var(--nf-pricelist-muted);
	overflow-wrap: break-word;
}

/* -- Uitgelichte categorie: donkere balk -- */

.nf-pricelist__group--accent .nf-pricelist__header {
	background-color: var(--nf-pricelist-ink);
	color: var(--white);
	border-bottom: 0;
	border-radius: var(--radius-s);
	padding: var(--space-xs) var(--space-s);
}

.nf-pricelist__group--accent .nf-pricelist__note {
	color: color-mix(in oklab, var(--white) 76%, transparent);
}

/* -- Regels -- */

.nf-pricelist__items {
	display: grid;
	gap: var(--space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.nf-pricelist__item {
	display: flex;
	align-items: baseline;
	gap: 0.75ch;
	min-width: 0;
}

/* Stippellijn tussen behandeling en prijs. */
.nf-pricelist__item::after {
	content: "";
	order: 1;
	flex: 1 1 1.5rem;
	min-width: 1.5rem;
	border-bottom: 1px dotted var(--nf-pricelist-rule);
	translate: 0 -0.3em;
}

.nf-pricelist__label {
	order: 0;
	flex: 0 1 auto;
	min-width: 0;
	overflow-wrap: break-word;
}

.nf-pricelist__name {
	font-weight: 600;
	line-height: 1.3;
}

.nf-pricelist__detail {
	display: block;
	font-size: var(--text-s);
	line-height: 1.35;
	color: var(--nf-pricelist-muted);
}

.nf-pricelist__price {
	order: 2;
	flex: 0 0 auto;
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* -- Responsief -- */

@media (max-width: 900px) {
	.nf-pricelist {
		--nf-pricelist-columns: 1;
		gap: var(--section-space-xs);
	}
}

/* -- Print: de lijst wordt aan de balie afgedrukt -- */

@media print {
	.nf-pricelist {
		--nf-pricelist-columns: 2;
		gap: 1.5rem 2.5rem;
		color: #000;
	}

	.nf-pricelist__group--accent .nf-pricelist__header {
		background-color: transparent;
		color: #000;
		border-bottom: 2px solid #000;
		padding-inline: 0;
	}
}
