/* ==================================================
	PAGE CONTENT - Mobile First
	Typography for editor content: policies, terms,
	shipping, and any other text-led page.
================================================== */

.page-content {
	padding-block: 2.5rem 3.5rem;
}

/* Full-width pages: no container, no vertical padding —
	the sections inside handle their own spacing. */
.page-content--full {
	padding-block: 0;
}

.page-content--full .page-content-inner {
	max-width: none;
}

/* ==================================================
	PAGE OVERRIDES
	Slug-based tweaks for individual pages.
================================================== */

.newsletter-page .page-content,
.about-us-page .page-content,
.faqs-page .page-content {
	padding-block: 0;
}

/* ==================================================
	HEADINGS
================================================== */

.page-content-inner h1,
.page-content-inner h2,
.page-content-inner h3,
.page-content-inner h4,
.page-content-inner h5,
.page-content-inner h6 {
	font-family: var(--serif);
	font-weight: 400;
	line-height: 1.25;
	color: var(--black);
	margin-top: 2.25rem;
	margin-bottom: 0.75rem;
}

.page-content-inner > *:first-child {
	margin-top: 0;
}

.page-content-inner h1 {
	font-size: clamp(1.75rem, 6vw, 2.5rem);
}

.page-content-inner h2 {
	font-size: clamp(1.375rem, 5vw, 1.875rem);
}

.page-content-inner h3 {
	font-size: clamp(1.1875rem, 4vw, 1.4375rem);
}

.page-content-inner h4 {
	font-size: 1.125rem;
}

.page-content-inner h5,
.page-content-inner h6 {
	font-family: var(--sans);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--mid);
}

/* ==================================================
	BODY TEXT
================================================== */

.page-content-inner p,
.page-content-inner li {
	font-family: var(--sans);
	font-size: 0.9375rem;
	font-weight: 300;
	line-height: 1.85;
	color: var(--mid);
}

.page-content-inner p {
	margin-bottom: 1.125rem;
}

.page-content-inner strong,
.page-content-inner b {
	font-weight: 500;
	color: var(--dark);
}

.page-content-inner em,
.page-content-inner i {
	font-style: italic;
}

.page-content-inner a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 0.1875rem;
	transition: color 0.2s;
}

.page-content-inner a:focus-visible {
	outline: 0.125rem solid var(--accent);
	outline-offset: 0.25rem;
}

/* ==================================================
	LISTS
================================================== */

.page-content-inner ul,
.page-content-inner ol {
	margin-bottom: 1.25rem;
	padding-left: 1.25rem;
}

.page-content-inner ul {
	list-style: disc;
}

.page-content-inner ol {
	list-style: decimal;
}

.page-content-inner li {
	margin-bottom: 0.5rem;
}

.page-content-inner li::marker {
	color: var(--gold);
}

.page-content-inner ul ul,
.page-content-inner ol ol {
	margin-block: 0.5rem;
}

/* ==================================================
	OTHER BLOCKS
================================================== */

.page-content-inner blockquote {
	margin: 1.75rem 0;
	padding-left: 1.25rem;
	border-left: 0.125rem solid var(--gold);
}

.page-content-inner blockquote p {
	font-family: var(--serif);
	font-size: 1.0625rem;
	font-style: italic;
	color: var(--dark);
	margin-bottom: 0;
}

.page-content-inner hr {
	height: 0;
	border: 0;
	border-top: 0.0625rem solid var(--border);
	margin-block: 2.25rem;
}

.page-content-inner img,
.page-content-inner figure {
	max-width: 100%;
	height: auto;
	margin-block: 1.5rem;
}

.page-content-inner figcaption {
	font-family: var(--sans);
	font-size: 0.8125rem;
	color: var(--muted);
	margin-top: 0.5rem;
}

/* Wrapper keeps wide tables scrollable on small screens */
.page-content-inner table {
	width: 100%;
	border-collapse: collapse;
	margin-block: 1.5rem;
	font-family: var(--sans);
	font-size: 0.875rem;
}

.page-content-inner th,
.page-content-inner td {
	padding: 0.75rem 1rem;
	border: 0.0625rem solid var(--border);
	text-align: left;
	color: var(--mid);
}

.page-content-inner th {
	background: var(--bg);
	font-weight: 600;
	color: var(--black);
}

.page-content-inner code {
	padding: 0.125rem 0.375rem;
	background: var(--bg);
	border-radius: 0.1875rem;
	font-size: 0.875em;
}

.page-content-inner > *:last-child {
	margin-bottom: 0;
}

/* ==================================================
	TABLET (min-width: 641px)
================================================== */

@media (min-width: 641px) {

	.page-content {
		padding-block: 3rem 4.5rem;
	}

	.page-content-inner h1,
	.page-content-inner h2,
	.page-content-inner h3,
	.page-content-inner h4 {
		margin-top: 2.75rem;
	}

}

/* ==================================================
	DESKTOP (min-width: 901px)
================================================== */

@media (min-width: 901px) {

	.page-content {
		padding-block: 4rem 6rem;
	}

	.page-content-inner p,
	.page-content-inner li {
		font-size: 0.96875rem;
		line-height: 1.9;
	}

	.page-content-inner h1,
	.page-content-inner h2,
	.page-content-inner h3,
	.page-content-inner h4 {
		margin-top: 3rem;
		margin-bottom: 0.875rem;
	}

}