/* Legal pages (privacy / terms) — themed by each edition's tokens.
   Loaded after the edition styles.css so it inherits --cream/--ink/etc. */

.legal-nav {
  position: sticky; top: 0; z-index: 50;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 16px var(--gutter, 24px);
  background: color-mix(in srgb, var(--cream) 88%, transparent);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--hairline, rgba(0,0,0,0.12));
}
.legal-nav .legal-brand {
  font-family: var(--font-display, var(--serif, Georgia));
  font-size: 1.4rem; letter-spacing: 0.04em; color: var(--ink); text-decoration: none;
}
.legal-nav .legal-brand .accent { color: var(--bronze); }
.legal-nav-right { display: flex; align-items: center; gap: 14px; }
.legal-back {
  font-size: 0.78rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--ink-soft); text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
}
.legal-back:hover { color: var(--bronze); }

.legal-wrap {
  max-width: 760px; margin: 0 auto;
  padding: clamp(2.5rem, 7vw, 5.5rem) var(--gutter, 24px) clamp(3rem, 8vw, 6rem);
}
.legal-kicker {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--bronze); margin-bottom: 14px;
}
.legal-wrap h1 {
  font-family: var(--font-display, var(--serif, Georgia));
  font-size: clamp(2.2rem, 6vw, 3.4rem); line-height: 1.05; color: var(--ink);
  letter-spacing: -0.01em;
}
.legal-updated { color: var(--ink-faint, var(--ink-mute)); font-size: 0.9rem; margin-top: 14px; }
.legal-lead {
  font-size: clamp(1.05rem, 2vw, 1.2rem); line-height: 1.7; color: var(--ink-soft);
  margin-top: 1.6rem; padding-bottom: 1.8rem; border-bottom: 1px solid var(--hairline, rgba(0,0,0,0.12));
}
.legal-body h2 {
  font-family: var(--font-display, var(--serif, Georgia));
  font-size: clamp(1.3rem, 3vw, 1.8rem); line-height: 1.15; color: var(--ink);
  margin: 2.6rem 0 0.9rem;
}
.legal-body p { color: var(--ink-soft); line-height: 1.75; margin-top: 0.8rem; }
.legal-body ul { margin: 0.8rem 0 0; padding-left: 1.2rem; }
.legal-body li { color: var(--ink-soft); line-height: 1.7; margin-top: 0.4rem; }
.legal-body a { color: var(--bronze); text-decoration: underline; text-underline-offset: 3px; }
.legal-body strong { color: var(--ink); font-weight: 600; }

.legal-foot {
  margin-top: 3rem; padding-top: 1.6rem; border-top: 1px solid var(--hairline, rgba(0,0,0,0.12));
  font-size: 0.85rem; color: var(--ink-faint, var(--ink-mute));
}

.lang-toggle { display: flex; }

:focus-visible { outline: 2px solid var(--bronze); outline-offset: 3px; }

.lang-switch {
  background: none; border: none; cursor: pointer; font-family: var(--font-ui);
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--coral-text, var(--bronze)); line-height: 1; border-bottom: 1.5px solid var(--coral-text, var(--bronze));
  padding: 4px 0; min-height: 40px; transition: letter-spacing 0.3s var(--ease-lux);
}
.lang-switch:hover { letter-spacing: 0.22em; }
