/* SNIZ – gemeinsames Stylesheet für die Rechtstexte (Datenschutz/Privacy) */

:root {
  --blue: #0B5FE0;
  --blue-dark: #0A3FB0;
  --ink: #0B1220;
  --gray-700: #3A4358;
  --gray-500: #5B6472;
  --gray-200: rgba(11, 18, 32, 0.08);
  --gray-100: #F6F8FC;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a { color: var(--blue); }
a:hover { color: var(--blue-dark); }

/* ---- Rechtstexte (Datenschutz/Privacy) ---- */
.legal .wrap { max-width: 760px; margin: 0 auto; padding: 48px 24px 80px; }
.legal h1 { font: 700 28px 'Sora', sans-serif; color: var(--ink); margin-bottom: 6px; }
.legal .meta { font-size: 14px; color: var(--gray-500); margin-bottom: 36px; }
.legal h2 { font: 700 19px 'Sora', sans-serif; margin: 36px 0 10px; color: var(--ink); }
.legal h3 { font: 600 16px 'Sora', sans-serif; margin: 24px 0 8px; color: var(--ink); }
.legal p { margin: 0 0 14px; color: var(--gray-700); }
.legal ul, .legal ol { margin: 0 0 14px 22px; color: var(--gray-700); }
.legal li { margin-bottom: 4px; }
.legal .table-wrap { overflow-x: auto; margin: 16px 0 20px; -webkit-overflow-scrolling: touch; }
.legal table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: 14px; margin: 0; }
.legal th { background: var(--gray-100); text-align: left; padding: 8px 12px; font-weight: 700; border: 1px solid var(--gray-200); }
.legal td { padding: 8px 12px; border: 1px solid var(--gray-200); vertical-align: top; color: var(--gray-700); }
.legal hr { border: none; border-top: 1px solid var(--gray-200); margin: 32px 0; }
.legal strong { font-weight: 700; color: var(--ink); }
.legal code { background: var(--gray-100); padding: 2px 6px; border-radius: 4px; font-size: 0.9em; }

@media (max-width: 600px) {
  .legal .wrap { padding: 32px 16px 60px; }
  .legal h1 { font-size: 22px; }
}

/* ---- Nav (Datenschutz/Privacy-Header) ---- */
@media (max-width: 640px) {
  .nav { flex-wrap: wrap; row-gap: 10px; padding: 16px 20px !important; }
  .nav .brand-text { font-size: 16px; }
}

@media (max-width: 380px) {
  .nav .brand-text { display: none; }
}
