/* Generic page template (legal pages, Cart, Checkout, Account) */

.page {
	padding-block: var(--space-2xl) var(--space-3xl);
	background-color: var(--color-bg-light);
}

.page__inner {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
	width: 100%;
	max-width: 52rem;
	margin-inline: auto;
}

.page__header {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}

.page__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: var(--fw-bold);
	letter-spacing: -0.045em;
	line-height: 1.05;
	color: var(--color-text-dark);
}

.page__content {
	color: var(--color-text-dark);
	font-size: var(--fs-body);
	line-height: 1.75;
}

.page__content > * + * {
	margin-top: var(--space-lg);
}

.page__content h2,
.page__content h3 {
	margin-top: var(--space-2xl);
	font-weight: var(--fw-bold);
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.page__content a:not(.button) {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Commerce pages need the full grid width for the summary sidebar. */
.page--commerce .page__inner {
	max-width: 78rem;
	gap: var(--space-2xl);
}

@media (min-width: 768px) {
	.page {
		padding-block: var(--space-3xl) 5rem;
	}
}
