/* Rechtsseiten (Impressum, Datenschutz) – eigenständig, nur Forge-Tokens.
   Bewusst ohne app.css: die Seiten müssen ohne Login und ohne App-JS lesbar sein. */
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg-base);
  color: var(--fg-1);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.6;
}
.legal {
  max-width: 720px;
  margin: 0 auto;
  padding: max(24px, env(safe-area-inset-top)) 16px max(48px, env(safe-area-inset-bottom));
}
.legal h1 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: var(--text-2xl);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 20px 0 4px;
  line-height: 1.1;
}
.legal h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-lg);
  letter-spacing: .02em;
  text-transform: uppercase;
  margin: 32px 0 8px;
  padding-top: 20px;
  border-top: 1px solid var(--hairline);
}
.legal h3 { font-size: var(--text-md); font-weight: 600; margin: 20px 0 6px; }
.legal p, .legal li { color: var(--fg-2); }
.legal strong { color: var(--fg-1); font-weight: 600; }
.legal ul { padding-left: 20px; margin: 8px 0; }
.legal li { margin: 4px 0; }
.legal a { color: var(--accent); text-underline-offset: 2px; }
.legal mark {
  background: var(--warning-muted);
  color: var(--warning);
  border-radius: 4px;
  padding: 0 4px;
}
.legal-meta { font-size: var(--text-sm); color: var(--fg-3) !important; margin: 0; }
.legal-back {
  display: inline-block;
  font-size: var(--text-sm);
  color: var(--fg-2) !important;
  text-decoration: none;
  padding: 8px 0;
}
.legal-links { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--hairline); font-size: var(--text-sm); }
.legal-table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); margin: 8px 0; }
.legal-table th, .legal-table td { text-align: left; vertical-align: top; padding: 8px 8px 8px 0; border-bottom: 1px solid var(--hairline); color: var(--fg-2); }
.legal-table th { color: var(--fg-1); font-weight: 600; }
@media (max-width: 480px) {
  .legal h1 { font-size: var(--text-xl); }
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td, .legal-table th { display: block; width: auto; }
  .legal-table thead { display: none; }
  .legal-table td { border-bottom: 0; padding: 2px 0; }
  .legal-table tr { border-bottom: 1px solid var(--hairline); padding: 8px 0; }
  .legal-table td:first-child { color: var(--fg-1); font-weight: 600; }
}
