/* Gestaltung für Impressum und Datenschutz; Kopf, Schrift und Erscheinung wie auf der Startseite (stil.css, seite.js) */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(schrift/inter-latin-opsz-normal.woff2) format('woff2-variations'), url(schrift/inter-latin-opsz-normal.woff2) format('woff2'); }
:root { --grund: #fbfbfd; --flaeche: #ffffff; --text: #1d1d1f; --text-2: #3a3a3e; --zweit: #6e6e73; --linie: #e3e3e8; --kopf: rgba(251, 251, 253, 0.72);
  --rot: #d9261e; --rot-text: #d9261e; --schrift: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', sans-serif; color-scheme: light; }
:root[data-erscheinung="dunkel"] { --grund: #0b0c0f; --flaeche: #17181c; --text: #f5f5f7; --text-2: #d2d2d7; --zweit: #a1a1a6; --linie: rgba(255, 255, 255, 0.1); --kopf: rgba(14, 16, 21, 0.62);
  --rot-text: #ff5a4f; color-scheme: dark; }
* { box-sizing: border-box; }
html { overflow-x: clip; }
body { margin: 0; background: var(--grund); color: var(--text); font: 400 17px/1.65 var(--schrift); letter-spacing: -0.003em; font-optical-sizing: auto; -webkit-font-smoothing: antialiased; }
main { max-width: 780px; margin: 0 auto; padding: 56px 24px 80px; }
.ph { width: 1em; height: 1em; flex: none; }
:root[data-erscheinung="dunkel"] .nur-hell, :root:not([data-erscheinung="dunkel"]) .nur-dunkel { display: none; }

.kopf { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; gap: 24px; height: 56px; padding: 0 max(24px, calc((100% - 1200px) / 2)); background: var(--kopf); backdrop-filter: blur(24px) saturate(1.8); -webkit-backdrop-filter: blur(24px) saturate(1.8); border-bottom: 1px solid var(--linie); }
.marke img { display: block; height: 26px; width: auto; }
.menue { display: flex; gap: 30px; margin-left: auto; }
.menue a { text-decoration: none; color: var(--text); opacity: .82; font-size: 13.5px; font-weight: 500; }
.menue a:hover, .menue a[aria-current="page"] { opacity: 1; }
.menue a[aria-current="page"] { font-weight: 600; }
.knopf { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 16px; border-radius: 999px; background: var(--rot); color: #fff; text-decoration: none; font: 600 13.5px var(--schrift); white-space: nowrap; }
.knopf:hover { background: #c21f18; }
.knopf .ph { font-size: 14px; }
.knopf:focus-visible, .menue a:focus-visible { outline: 2px solid var(--text); outline-offset: 3px; }
@media (max-width: 700px) { .menue { display: none; } .kopf { justify-content: space-between; } }
@media (prefers-reduced-motion: no-preference) { .knopf { transition: background .2s; } }

h1, h2, h3 { font-weight: 650; letter-spacing: -0.025em; line-height: 1.15; }
/* Lange Wörter wie „Datenschutzerklärung“ passen auch aufs Telefon */
h1 { font-size: clamp(30px, 8vw, 44px); letter-spacing: -0.035em; margin: 0 0 8px; hyphens: auto; overflow-wrap: break-word; }
h2 { font-size: 23px; margin: 40px 0 8px; padding-top: 24px; border-top: 1px solid var(--linie); }
h3 { font-size: 18px; margin: 22px 0 4px; }
p, li { color: var(--text-2); }
a { color: var(--text); text-decoration-color: var(--rot); text-underline-offset: 3px; }
small, .stand { color: var(--zweit); font-size: 13px; }
ul { padding-left: 20px; }
table { border-collapse: collapse; width: 100%; font-size: 14px; margin: 8px 0; background: var(--flaeche); border-radius: 12px; overflow: hidden; }
td, th { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--linie); vertical-align: top; color: var(--text-2); }
.fehlt { background: #ffd600; color: #1a1600; padding: 0 4px; border-radius: 3px; font-weight: 600; }
