/**
 * classic-page.css — make a NON-Elementor page readable on this site.
 *
 * ⛔ WHY THIS EXISTS. Every page here is built in Elementor, and an Elementor page brings its own
 * section padding — so nothing ever needed to say where ordinary WordPress content should sit. The
 * moment one existed (the Privacy Policy draft, 2026-08-08) it rendered with its <h1> UNDERNEATH
 * the site logo: the Theme Builder header overlays the content area, and `.site-main` had no top
 * spacing to clear it. Screenshotted before this file was written; it was not a subtle overlap.
 *
 * ⚠️ SCOPED TO `:not(.elementor-page)` DELIBERATELY. Elementor adds `elementor-page` to <body> on
 * any page it renders; a classic page has only `page`. Without that guard these paddings would
 * stack on top of every built page's own section padding and move the entire site.
 *
 * ⚠️ The horizontal value is the SITE GUTTER, `clamp(24px,5vw,96px)` — the same expression the
 * header, the footer and every page use (DESIGN-SYSTEM-EXPORT §5). A legal page that sits on a
 * different edge to the footer directly beneath it looks like a mistake, because it is one.
 *
 * The reading measure is capped in `ch` rather than `px`: this is body copy to be read, not a
 * layout to be composed, and a 1400px-wide line of 16px text is unreadable.
 */

body.page:not(.elementor-page) .site-main,
body.page:not(.elementor-page) .page-content {
	/* Belt and braces: hello-elementor has moved which of these wraps the content between
	   versions, and a rule that matches nothing fails silently (CONVENTIONS §6f). */
	box-sizing: border-box;
}

body.page:not(.elementor-page) .site-main {
	/* ⛔ UNDO THE THEME'S OWN CENTRING FIRST, or everything below is measured inside a box that is
	 * already centred and capped. hello-elementor ships
	 *     body:not([class*=elementor-page-]) .site-main { margin-inline:auto; max-width:<bp> }
	 * with the cap stepping up per breakpoint. With it in place the padding below produced a left
	 * edge of 199px at 1400 while the footer beneath sat on 70 — measured, not guessed. This
	 * selector is (0,3,1) against the theme's (0,2,1), so it wins without !important (§6a). */
	max-width: none;
	margin-inline: 0;

	/* Top clears the overlaying header with room to breathe; bottom keeps the last line off the
	   footer. Both scale with the viewport so the phone does not get desktop spacing. */
	padding-top: clamp(132px, 15vh, 190px);
	padding-bottom: clamp(96px, 12vh, 160px);
	padding-left: clamp(24px, 5vw, 96px);
	padding-right: clamp(24px, 5vw, 96px);
}

/* ⚠️ LEFT-ALIGNED, NOT CENTRED, AND THE FIRST VERSION GOT THIS WRONG. Capping the measure and
 * centring it read fine on its own and put the text at x≈332 while the footer directly beneath it
 * sat at x≈70 — a brand-new misaligned edge on a site that is left-aligned throughout. Screenshot
 * caught it; the measurement everyone forgets is the one against the thing NEXT to it. The cap
 * stays (a 1400px line of 16px text is unreadable); only the centring goes. */
body.page:not(.elementor-page) .site-main > * {
	max-width: 72ch;
	margin-left: 0;
	margin-right: auto;
}

/* The theme prints the page title as an <h1> inside .page-header. Give it the site's display face
   rather than the theme's default, so a legal page still reads as part of this site. */
body.page:not(.elementor-page) .page-header .entry-title {
	font-family: var(--tw-font-display, 'Cormorant Garamond', serif);
	font-weight: 500;
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	line-height: 1.1;
	margin: 0 0 clamp(28px, 4vh, 48px);
}

body.page:not(.elementor-page) .page-content h2 {
	font-family: var(--tw-font-display, 'Cormorant Garamond', serif);
	font-weight: 500;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.25;
	margin: clamp(36px, 5vh, 56px) 0 clamp(10px, 1.4vh, 16px);
}

body.page:not(.elementor-page) .page-content p,
body.page:not(.elementor-page) .page-content li {
	line-height: 1.75;
}

body.page:not(.elementor-page) .page-content ul {
	padding-left: 1.25em;
	margin: 0 0 1.2em;
}

body.page:not(.elementor-page) .page-content li {
	margin: 0 0 0.5em;
}

body.page:not(.elementor-page) .page-content a {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
