/*
 * Legal / default page (Terms, Privacy).
 * Figma: design-refs/figma/default-page/ (node 2583:6588).
 *
 * Content col 1025 + 51 gap + rail 300 ≈ 1376 max. Title is the SMALL
 * Playfair 32px (not the About-page 60px). Page bg #FBFBFB.
 */

.nge-legal-page {
	display: block;
	width: 100%;
	background: #FBFBFB;
	color: #1A1A1A;
}

.nge-legal-page .nge-legal-page__inner {
	max-width: 1376px;
	margin: 0 auto;
	padding: 16px 16px 80px; /* mobile frame: 16px above title; desktop block overrides to 64/0/120 */
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.nge-legal-page .nge-legal-page__main {
	display: flex;
	flex-direction: column;
	gap: 26px;
	min-width: 0;
}

.nge-legal-page .nge-legal-page__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nge-legal-page .nge-legal-page__title {
	margin: 0;
	font-family: 'Open Sans', Georgia, serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.33;       /* 42.656/32 per Figma */
	color: #0A0A0A;
}

.nge-legal-page .nge-legal-page__subhead {
	margin: 8px 0 0;
	font-family: Open Sans, system-ui, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.6;
	color: #1A1A1A;
}

.nge-legal-page .nge-legal-page__updated {
	margin: 0;
	font-family: Open Sans, system-ui, sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.66;
	color: #6b6b6b; /* contrast: was #808080 (3.82:1 on #FBFBFB); #6b6b6b = 5.15:1 (AA) */
}

.nge-legal-page .nge-legal-page__body {
	font-family: Open Sans, system-ui, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;        /* 25.6/16 per Figma */
	color: #1A1A1A;
}

.nge-legal-page .nge-legal-page__body p {
	margin: 0 0 1.5em;
}

.nge-legal-page .nge-legal-page__body p:last-child {
	margin-bottom: 0;
}

/* Long legal docs use h2/h3 section heads - keep them Open Sans and modest,
   matching the body-text-led design (the doc reads as one text flow).
   !important needed: the child theme forces `body h1..h6 { Playfair !important }`. */
.nge-legal-page .nge-legal-page__body h2,
.nge-legal-page .nge-legal-page__body h3 {
	margin: 1.75em 0 .75em;
	font-family: Open Sans, system-ui, sans-serif !important;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.6;
	color: #1A1A1A;
}

.nge-legal-page .nge-legal-page__body a {
	color: #C4A45D;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.nge-legal-page .nge-legal-page__body a:hover {
	color: #E7B040;
}

.nge-legal-page .nge-legal-page__body ul,
.nge-legal-page .nge-legal-page__body ol {
	padding-left: 1.25em;
	margin: 0 0 1.5em;
}

.nge-legal-page .nge-legal-page__body li + li {
	margin-top: .25em;
}

@media (min-width: 900px) {
	.nge-legal-page .nge-legal-page__inner {
		/* Consistent 32px side gutter at every desktop width without insetting the
		   content (plain side padding pushed the text off the page's 32px content
		   edge). The max-width auto-margin alone left content edge-to-edge <=1376px. */
		width: min(100% - 64px, 1376px);
		padding: 64px 0 120px;
	}

	.nge-legal-page .nge-legal-page__inner.has-sidebar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 350px;
		gap: 64px 51px;
		align-items: start;
	}
}
