/* ==========================================================================
   Legal page (page-legal.php)
   Clean long-form typography for Privacy Policy, Terms, etc.
   Uses global tokens from assets/css/global.css.
   ========================================================================== */

.bublr-legal {
	background: var(--cream, #F5F2EB);
	color: var(--black, #0A0A0A);
}

.bublr-legal .container {
	width: min(900px, 92vw);
	margin-inline: auto;
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.bublr-legal-hero {
	padding: clamp(96px, 13vw, 156px) 0 clamp(28px, 4vw, 48px);
	border-bottom: 1px solid rgba(10, 10, 10, 0.08);
}

.bublr-legal-hero__title {
	font-family: var(--font-head, "Poppins", sans-serif);
	font-weight: 700;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	line-height: 1.05;
	letter-spacing: -0.025em;
	margin: 0.3em 0 0;
}

.bublr-legal-hero__updated {
	font-family: var(--font-mono, "JetBrains Mono", monospace);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--grey-4, #667085);
	margin: 1.1em 0 0;
}

/* --------------------------------------------------------------------------
   Prose body — ~68ch measure for comfortable reading
   -------------------------------------------------------------------------- */
.bublr-legal-body {
	padding: clamp(40px, 6vw, 72px) 0 clamp(88px, 12vw, 140px);
}

.bublr-legal-prose {
	max-width: 68ch;
	font-family: var(--font-body, "Poppins", sans-serif);
	font-size: 1.05rem;
	line-height: 1.72;
	color: #2b2b2b;
}

.bublr-legal-prose > * + * {
	margin-top: 1.1em;
}

.bublr-legal-prose h2 {
	font-family: var(--font-head, "Poppins", sans-serif);
	font-weight: 650;
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--black, #0A0A0A);
	margin-top: 2.2em;
	padding-top: 0.4em;
}

.bublr-legal-prose h3 {
	font-family: var(--font-head, "Poppins", sans-serif);
	font-weight: 600;
	font-size: clamp(1.12rem, 1.8vw, 1.32rem);
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--black, #0A0A0A);
	margin-top: 1.8em;
}

.bublr-legal-prose h2 + p,
.bublr-legal-prose h3 + p,
.bublr-legal-prose h2 + ul,
.bublr-legal-prose h3 + ul {
	margin-top: 0.6em;
}

.bublr-legal-prose a {
	color: var(--mint-deep, #1B9E66);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	transition: color 0.2s ease;
}
.bublr-legal-prose a:hover {
	color: var(--mint, #2BC47E);
}

.bublr-legal-prose ul,
.bublr-legal-prose ol {
	padding-left: 1.4em;
	margin-top: 0.8em;
}

.bublr-legal-prose li {
	margin-top: 0.5em;
	padding-left: 0.2em;
}

.bublr-legal-prose ul li::marker {
	color: var(--mint, #2BC47E);
}

.bublr-legal-prose strong {
	font-weight: 600;
	color: var(--black, #0A0A0A);
}

.bublr-legal-prose blockquote {
	margin: 1.6em 0;
	padding: 0.4em 0 0.4em 1.2em;
	border-left: 3px solid var(--mint-green, #7FE5A8);
	color: var(--grey-4, #667085);
	font-style: italic;
}

.bublr-legal-prose hr {
	border: 0;
	border-top: 1px solid rgba(10, 10, 10, 0.1);
	margin: 2.4em 0;
}

.bublr-legal-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.6em 0;
	font-size: 0.96rem;
}
.bublr-legal-prose th,
.bublr-legal-prose td {
	text-align: left;
	padding: 0.7em 0.9em;
	border-bottom: 1px solid rgba(10, 10, 10, 0.1);
	vertical-align: top;
}
.bublr-legal-prose th {
	font-weight: 600;
	color: var(--black, #0A0A0A);
}

.bublr-legal-prose code {
	font-family: var(--font-mono, "JetBrains Mono", monospace);
	font-size: 0.88em;
	background: rgba(10, 10, 10, 0.06);
	padding: 0.12em 0.4em;
	border-radius: 5px;
}
