/* Legal pages (Datenschutz, Impressum) — readable long-form prose.
   Uses the site's design tokens from styles.css (--paper, --on-paper, --muted,
   --rule, --lime, --display, --mono); this file only lays out the article. */

.legal { padding: clamp(24px, 4vw, 56px) 0 clamp(48px, 7vw, 96px); }

.legal-body {
  max-width: 760px;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.7;
  color: var(--on-paper, #e6edf3);
}

.legal-body h1 {
  font-family: var(--display, inherit);
  font-size: clamp(28px, 4.5vw, 44px);
  line-height: 1.1;
  margin: 0 0 clamp(20px, 3vw, 32px);
  letter-spacing: -0.01em;
}
.legal-body h2 {
  font-family: var(--display, inherit);
  font-size: clamp(20px, 2.4vw, 26px);
  line-height: 1.2;
  margin: clamp(32px, 4vw, 48px) 0 12px;
  padding-top: clamp(16px, 2vw, 22px);
  border-top: 1px solid var(--rule, #21262d);
}
.legal-body h3 { font-size: 1.15em; margin: 26px 0 8px; font-weight: 650; }
.legal-body h4 { font-size: 1em; margin: 20px 0 6px; font-weight: 650; color: var(--muted, #9aa4b2); }

.legal-body p { margin: 0 0 14px; }
.legal-body ul, .legal-body ol { margin: 0 0 16px; padding-left: 1.4em; }
.legal-body li { margin: 4px 0; }
.legal-body li > ul, .legal-body li > ol { margin: 6px 0; }

.legal-body a { color: var(--lime, #b7c400); text-underline-offset: 3px; }
.legal-body a:hover { text-decoration: underline; }

.legal-body strong { font-weight: 680; color: var(--on-paper, #fff); }

.legal-body code {
  font-family: var(--mono, ui-monospace, monospace);
  font-size: 0.9em;
  background: color-mix(in srgb, var(--on-paper, #888) 12%, transparent);
  padding: 0.1em 0.4em;
  border-radius: 4px;
  word-break: break-word;
}
/* Fenced blocks: the fill-in address / placeholder blocks the operator edits. */
.legal-body pre {
  margin: 0 0 16px;
  padding: 14px 16px;
  overflow-x: auto;
  background: color-mix(in srgb, var(--on-paper, #888) 8%, transparent);
  border: 1px solid var(--rule, #21262d);
  border-radius: 8px;
  line-height: 1.5;
}
.legal-body pre code {
  font-size: 0.9em;
  background: none;
  padding: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.legal-body blockquote {
  margin: 0 0 18px;
  padding: 12px 18px;
  border-left: 3px solid var(--lime, #b7c400);
  background: color-mix(in srgb, var(--on-paper, #888) 6%, transparent);
  border-radius: 0 8px 8px 0;
}
.legal-body blockquote p { margin: 0; color: var(--muted, #9aa4b2); }

.legal-body hr { border: 0; border-top: 1px solid var(--rule, #21262d); margin: 28px 0; }

/* Tables scroll on narrow screens instead of forcing the page to. */
.legal-table { overflow-x: auto; margin: 0 0 18px; }
.legal-body table { border-collapse: collapse; width: 100%; font-size: 0.95em; }
.legal-body th, .legal-body td {
  text-align: left; padding: 8px 12px; border: 1px solid var(--rule, #21262d); vertical-align: top;
}
.legal-body thead th { background: color-mix(in srgb, var(--on-paper, #888) 8%, transparent); font-weight: 650; }
