/**
 * RF policy pages: the page's own legal text in a comfortable reading column.
 * Headings use the RAMSTI heading role (Oswald); body text the body role.
 */

.rf-policy {
	padding: var(--space-xl) var(--gutter) var(--space-section-tight);
}

.rf-policy__article {
	max-width: var(--layout-text);
	margin-inline: auto;
}

.rf-policy__header {
	margin-bottom: var(--space-l);
	padding-bottom: var(--space-m);
	border-bottom: 1px solid var(--color-hairline);
	text-align: center;
}

.rf-policy__title {
	font-size: var(--type-heading-size);
	font-weight: var(--weight-regular);
}

.rf-policy__content {
	font-size: var(--type-body-size-lg);
	line-height: 1.75;
	overflow-wrap: break-word;
}

.rf-policy__content :where(p, ul, ol, table, blockquote) {
	margin: 0 0 1em;
}

.rf-policy__content :where(h1, h2, h3, h4, h5, h6) {
	margin: 2em 0 0.75em;
	font-family: var(--type-heading-font);
	font-weight: var(--type-heading-weight);
	line-height: var(--type-heading-leading);
	letter-spacing: var(--type-heading-tracking);
	text-transform: var(--type-heading-case);
}

.rf-policy__content :where(h1, h2) {
	font-size: var(--type-heading-size-sm);
}

.rf-policy__content :where(h3, h4, h5, h6) {
	font-size: var(--type-caption-size);
	letter-spacing: 0.08em;
}

.rf-policy__content > :first-child {
	margin-top: 0;
}

.rf-policy__content :where(ul, ol) {
	padding-left: 1.25em;
}

.rf-policy__content :where(li) + :where(li) {
	margin-top: 0.35em;
}

.rf-policy__content :where(a[href]) {
	text-decoration-line: underline;
	text-underline-offset: 0.2em;
}

.rf-policy__content :where(strong, b) {
	font-weight: var(--weight-medium);
}

.rf-policy__content :where(table) {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
	font-size: var(--type-body-size);
}

.rf-policy__content :where(th, td) {
	padding: var(--space-2xs) var(--space-xs);
	border-bottom: 1px solid var(--color-hairline);
	text-align: start;
	vertical-align: top;
}

/* All policy pages (Privacy, Terms, Returns, Shipping): a wider centred column
   and a compact type scale - 12px body text, headings slightly larger. */
.rf-policy .rf-policy__article {
	max-width: 60rem;
}

.rf-policy .rf-policy__content,
.rf-policy .rf-policy__content :is(p, li, td, th, a, strong, em, span, div) {
	font-family: var(--font-body);
	font-size: 12px;
}

.rf-policy .rf-policy__title,
.rf-policy .rf-policy__content :is(h1, h2) {
	font-size: 13px;
}

.rf-policy .rf-policy__content :is(h3, h4, h5, h6) {
	font-size: 12px;
}
