/* Pricing page — tier cards + feature matrix.
   Cards compose with `dt-grid-4`; the matrix lays out as its own grid below. */

/* ============================================================
   Pricing matrix — feature × tier table.
   Same horizontal-divider style as the comparison table.
   ============================================================ */

.dt-pricing-matrix {
	--dt-pricing-cols: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);

	display: flex;
	flex-direction: column;
	background: var(--dt-surface);
	border: 1px solid var(--dt-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 24px rgba(0, 0, 0, 0.04);
}

/* ---------- Head ---------- */

.dt-pricing-matrix__head {
	display: grid;
	grid-template-columns: var(--dt-pricing-cols);
	border-bottom: 1px solid var(--dt-border);
}

.dt-pricing-matrix__head-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--space-1);
	padding: var(--space-7) var(--space-4);
	text-align: center;
	background: var(--dt-bg-alt);
}

.dt-pricing-matrix__head-cell--feature {
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--dt-ink-soft);
}

.dt-pricing-matrix__head-cell--featured {
	background: var(--dt-primary-soft);
	position: relative;
}

.dt-pricing-matrix__head-name {
	font-size: var(--fs-md);
	font-weight: var(--fw-bold);
	color: var(--dt-ink);
	letter-spacing: var(--ls-snug);
}

.dt-pricing-matrix__head-cell--featured .dt-pricing-matrix__head-name { color: var(--dt-primary); }

.dt-pricing-matrix__head-price {
	font-size: var(--fs-2xl);
	font-weight: var(--fw-bold);
	color: var(--dt-ink);
	line-height: 1;
	font-feature-settings: "tnum";
	margin-top: var(--space-1);
}

.dt-pricing-matrix__head-cell--featured .dt-pricing-matrix__head-price { color: var(--dt-primary); }

.dt-pricing-matrix__head-period {
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--dt-ink-soft);
	margin-left: var(--space-1);
}

.dt-pricing-matrix__head-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px var(--space-2);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	background: var(--dt-primary);
	color: var(--dt-on-primary);
	border-radius: var(--radius-pill);
	margin-top: var(--space-2);
}

/* ---------- Section sub-header ---------- */

.dt-pricing-matrix__section {
	padding: var(--space-3) var(--space-5);
	background: var(--dt-bg-alt);
	border-top: 1px solid var(--dt-border);
	border-bottom: 1px solid var(--dt-border);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
	letter-spacing: var(--ls-eyebrow);
	text-transform: uppercase;
	color: var(--dt-ink-soft);
}

/* ---------- Body rows ---------- */

.dt-pricing-matrix__row {
	display: grid;
	grid-template-columns: var(--dt-pricing-cols);
	border-top: 1px solid var(--dt-border);
}

.dt-pricing-matrix__row:first-of-type { border-top: 0; }

.dt-pricing-matrix__cell {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-4);
	text-align: center;
	min-height: 60px;
}

.dt-pricing-matrix__cell--feature {
	justify-content: flex-start;
	text-align: left;
	font-size: var(--fs-sm);
	font-weight: var(--fw-medium);
	color: var(--dt-ink);
	background: var(--dt-bg-alt);
}

.dt-pricing-matrix__cell--featured {
	background: color-mix(in srgb, var(--dt-primary) 5%, transparent);
}

/* The matrix uses the same `.dt-compare__check` / `.dt-compare__cross` /
   `.dt-compare__text` / `.dt-compare__note` cell-value primitives as the
   comparison table — those rules already exist in comparison-table.css,
   so cells render consistently. */

/* ---------- Responsive ---------- */

@media (max-width: 768px) {
	.dt-pricing-matrix__head {
		grid-template-columns: repeat(3, 1fr);
	}

	.dt-pricing-matrix__head-cell--feature { display: none; }

	.dt-pricing-matrix__row {
		display: block;
		padding: var(--space-3) var(--space-4);
	}

	.dt-pricing-matrix__cell {
		justify-content: space-between;
		text-align: left;
		min-height: 0;
		padding: var(--space-2) 0;
		background: transparent !important;
	}

	.dt-pricing-matrix__cell--feature {
		font-size: var(--fs-md);
		font-weight: var(--fw-bold);
		padding-bottom: var(--space-2);
		margin-bottom: var(--space-2);
		border-bottom: 1px solid var(--dt-border);
	}

	/* Mobile: prefix each value with the tier label */
	.dt-pricing-matrix__cell:not(.dt-pricing-matrix__cell--feature)::before {
		font-size: var(--fs-xs);
		color: var(--dt-ink-soft);
	}

	.dt-pricing-matrix__row > .dt-pricing-matrix__cell:nth-child(2)::before { content: "Free"; }
	.dt-pricing-matrix__row > .dt-pricing-matrix__cell:nth-child(3)::before { content: "Unlimited"; }
	.dt-pricing-matrix__row > .dt-pricing-matrix__cell:nth-child(4)::before { content: "Lifetime"; }
}
