/*
 * Generic pages: page.php (content pages + the WooCommerce cart/checkout/account wrapper),
 * index.php (blog/archive fallback), 404.php, and page content typography (.sl-prose).
 */

/* ---------- Content page ---------- */
.sl-page { padding-block: 4rem; }
.sl-page__title {
	margin-bottom: 2.5rem;
	font-family: var(--sl-font-display);
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	letter-spacing: -.025em;
}
@media (min-width: 768px) {
	.sl-page__title { font-size: 3rem; line-height: 1; }
}

/* Page content typography (the_content()). */
.sl-prose h2 {
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	font-family: var(--sl-font-display);
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 600;
}
.sl-prose p {
	margin-bottom: 1rem;
	color: var(--sl-slate);
	line-height: 1.625;
}
.sl-prose ul,
.sl-prose ol {
	margin-bottom: 1rem;
	padding-left: 1.5rem;
	color: var(--sl-slate);
	line-height: 1.625;
}
.sl-prose ul { list-style: disc; }
.sl-prose ol { list-style: decimal; }
.sl-prose li { margin-bottom: .375rem; }
.sl-prose a:not(.sl-btn):not(.button) {
	color: var(--sl-accent);
	text-decoration-line: underline;
}

/* ---------- WooCommerce pages (cart / checkout / account) wrapper ---------- */
.sl-wc-page-header { padding-top: 2.5rem; }
.sl-wc-page-header__title {
	margin-bottom: 1.5rem;
	color: var(--sl-black);
	font-family: var(--sl-font-display);
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: 700;
	letter-spacing: .04em;
}
@media (min-width: 640px) {
	.sl-wc-page-header__title { font-size: 1.875rem; line-height: 2.25rem; }
}
.sl-wc-page { padding-bottom: 5rem; }

/* ---------- Blog / archive fallback (index.php) ---------- */
.sl-post-grid {
	display: grid;
	gap: 2.5rem;
}
@media (min-width: 768px) {
	.sl-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.sl-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.sl-post-card {
	padding: 1.5rem;
	border: 1px solid var(--sl-border);
	border-radius: var(--sl-r-card);
}
.sl-post-card__title {
	margin-bottom: .75rem;
	font-family: var(--sl-font-display);
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 600;
}
.sl-post-card__title a:hover { color: var(--sl-accent); }
.sl-post-card__excerpt {
	color: var(--sl-muted);
	font-size: .875rem;
	line-height: 1.25rem;
}
.sl-post-grid__pagination { margin-top: 3rem; }
.sl-muted { color: var(--sl-muted); }

/* ---------- 404 ---------- */
.sl-404 {
	padding-block: 7rem;
	text-align: center;
}
.sl-404__code {
	margin-bottom: 1rem;
	color: var(--sl-accent);
	font-family: var(--sl-font-mono);
	font-size: .875rem;
	line-height: 1.25rem;
}
.sl-404__title {
	margin-bottom: 1.5rem;
	font-family: var(--sl-font-display);
	font-size: 2.25rem;
	line-height: 2.5rem;
	font-weight: 700;
	letter-spacing: -.025em;
}
@media (min-width: 768px) {
	.sl-404__title { font-size: 3rem; line-height: 1; }
}
.sl-404__text {
	margin-bottom: 2.5rem;
	color: var(--sl-muted);
}
