/* ============================================================
   LEGAL PAGES — legal.css
   Covers: /privacy-policy/, /cookie-policy/, /terms/
   Applied via body class .is-legal-page
   ============================================================ */

/* ── Prevent horizontal scrollbar from 100vw breakout ────── */

body.is-legal-page {
	overflow-x: hidden;
}

/* ── Page title hero ──────────────────────────────────────── */

.is-legal-page .wp-block-post-title {
	background-color: var(--color-primary-900);
	color: var(--color-neutral-white);
	font-size: clamp(28px, 5vw, 48px);
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	/* Break out of Gutenberg's constrained layout max-width */
	max-width: none !important;
	width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: 0 !important;
	box-sizing: border-box;
	/* Mobile: header is top:16px + ~66px tall ≈ 82px; add breathing room */
	padding: 116px 24px 64px;
	text-align: left;
}

@media (min-width: 961px) {
	.is-legal-page .wp-block-post-title {
		/* Desktop: header is top:24px + ~72px tall ≈ 96px; add breathing room */
		padding: 140px 48px 80px 80px;
	}
}

/* ── Content column ──────────────────────────────────────── */

.is-legal-page .wp-block-post-content {
	max-width: 780px;
	margin: 0 auto;
	padding: 56px 24px 80px;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.is-legal-page .wp-block-post-content {
		padding: 72px 40px 96px;
	}
}

/* Gutenberg alignwide override — keep content in the readable column */
.is-legal-page .wp-block-post-content.alignwide {
	max-width: 780px;
}

/* ── "Last updated" date ──────────────────────────────────── */

.is-legal-page .wp-block-post-content > .wp-block-paragraph:first-child em {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	display: block;
	margin-bottom: 40px;
}

/* ── Section headings (h2) ────────────────────────────────── */

.is-legal-page .wp-block-post-content .wp-block-heading:where(h2) {
	font-size: clamp(18px, 2.5vw, 22px);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-900);
	margin-top: 48px;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-border-light);
	line-height: 1.3;
}

.is-legal-page .wp-block-post-content .wp-block-heading:where(h2):first-of-type {
	margin-top: 0;
}

/* ── Sub-headings (h3) ────────────────────────────────────── */

.is-legal-page .wp-block-post-content .wp-block-heading:where(h3) {
	font-size: clamp(15px, 2vw, 17px);
	font-weight: var(--font-weight-bold);
	color: var(--color-primary-700);
	margin-top: 32px;
	margin-bottom: 10px;
	line-height: 1.4;
}

/* ── Body text ────────────────────────────────────────────── */

.is-legal-page .wp-block-post-content p {
	color: var(--color-text-secondary);
	line-height: var(--line-height-relaxed);
	font-size: 15px;
	margin-bottom: 16px;
}

@media (min-width: 640px) {
	.is-legal-page .wp-block-post-content p {
		font-size: 16px;
	}
}

/* ── Lists ────────────────────────────────────────────────── */

.is-legal-page .wp-block-post-content ul,
.is-legal-page .wp-block-post-content ol {
	padding-left: 24px;
	margin-bottom: 20px;
}

.is-legal-page .wp-block-post-content li {
	color: var(--color-text-secondary);
	font-size: 15px;
	line-height: var(--line-height-relaxed);
	margin-bottom: 10px;
}

@media (min-width: 640px) {
	.is-legal-page .wp-block-post-content li {
		font-size: 16px;
	}
}

.is-legal-page .wp-block-post-content ul li::marker {
	color: var(--color-primary-700);
}

/* ── Cookie names table ────────────────────────────────────── */

.is-legal-page .wp-block-post-content .wp-block-table {
	margin: 24px 0 32px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border-light);
}

.is-legal-page .wp-block-post-content .wp-block-table table {
	margin: 0;
	border-collapse: collapse;
	min-width: 520px;
}

.is-legal-page .wp-block-post-content .wp-block-table th {
	background-color: var(--color-primary-900);
	color: var(--color-neutral-white);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-medium);
	padding: 12px 16px;
	border-color: var(--color-primary-800);
	white-space: nowrap;
}

.is-legal-page .wp-block-post-content .wp-block-table td {
	font-size: var(--font-size-sm);
	color: var(--color-text-secondary);
	padding: 12px 16px;
	border-color: var(--color-border-light);
	vertical-align: top;
}

.is-legal-page .wp-block-post-content .wp-block-table tr:nth-child(even) td {
	background-color: var(--color-neutral-100);
}

/* ── Inline code (cookie names) ────────────────────────────── */

.is-legal-page .wp-block-post-content code {
	font-family: var(--font-family-mono);
	font-size: 0.85em;
	background-color: var(--color-neutral-200);
	color: var(--color-neutral-1000);
	padding: 2px 6px;
	border-radius: 4px;
	white-space: nowrap;
}

/* ── Links ────────────────────────────────────────────────── */

.is-legal-page .wp-block-post-content a {
	color: var(--color-primary-600);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.is-legal-page .wp-block-post-content a:hover {
	color: var(--color-primary-800);
}
