/* Gestaltung der Rechtsseiten (datenschutz.html, privacy.html, impressum.html).

   Diese Seiten liegen bewusst in public/ und sind reines HTML: sie müssen auch dann
   stehen, wenn das Bundle nicht lädt — genau der Fall, in dem jemand die
   Pflichtangaben sucht. Deshalb kein Import aus src/, sondern eine eigene Datei mit
   denselben Farbwerten wie die Startseite (src/Landing.css, src/Theme.css).

   Farbwerte gespiegelt, nicht importiert. Wer die Startseite umfärbt, fasst diese Datei
   mit an; ein Kommentar dort verweist hierher. Die Alternative — die Rechtsseiten an das
   gebaute Stylesheet zu hängen — bindet sie an einen Dateinamen mit Hash, der sich bei
   jedem Build ändert. */

:root {
  --bg: #111512;
  --ink: #eef1e8;
  --muted: #a9b1a5;
  --copy: #c5cbbf;
  --line: #2b352a;
  --flaeche: #1a2118;
  --akzent: #d5f879;
  --axis: clamp(20px, 6vw, 48px);
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #f5f6ee;
  --ink: #172418;
  --muted: #56614e;
  --copy: #44523e;
  --line: #d3dac9;
  --flaeche: #e9eee0;
  --akzent: #43621d;
  color-scheme: light;
}

/* Ohne gespeicherte Wahl folgt die Seite dem Betriebssystem. Das Skript im <head> setzt
   data-theme nur, wenn der Nutzer in der Anwendung eine Wahl getroffen hat. */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --bg: #f5f6ee;
    --ink: #172418;
    --muted: #56614e;
    --copy: #44523e;
    --line: #d3dac9;
    --flaeche: #e9eee0;
    --akzent: #43621d;
    color-scheme: light;
  }
}

@font-face {
  font-family: 'Manrope Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('./vendor/fonts/manrope-latin-wght-normal.woff2') format('woff2');
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--copy);
  font: 16px/1.65 'Manrope Variable', system-ui, 'Segoe UI', Roboto, sans-serif;
  -webkit-text-size-adjust: 100%;
}

.wrap { max-width: 780px; margin: 0 auto; padding: 0 var(--axis) 96px; }

/* Kopf */
.kopf {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  margin-bottom: 48px;
}
.marke { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 700; letter-spacing: .01em; }
.marke img { display: block; height: 24px; width: auto; }
.marke:hover { color: var(--akzent); }
.kopf nav { display: flex; align-items: center; gap: 14px; font-size: 14px; }
.kopf nav a { color: var(--muted); text-decoration: none; border-bottom: 1px solid transparent; }
.kopf nav a:hover { color: var(--ink); border-bottom-color: currentColor; }
.kopf nav a[aria-current="page"] { color: var(--ink); font-weight: 600; }

/* Typografie */
h1 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: clamp(30px, 5vw, 42px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.02em;
}
.stand { margin: 0 0 40px; color: var(--muted); font-size: 14px; }
h2 {
  margin: 48px 0 14px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
  scroll-margin-top: 24px;
}
h2 .nr { color: var(--akzent); font-variant-numeric: tabular-nums; margin-right: 10px; }
h3 { margin: 28px 0 8px; color: var(--ink); font-size: 16px; font-weight: 700; }
p { margin: 0 0 14px; }
strong { color: var(--ink); font-weight: 700; }
a { color: var(--ink); text-decoration-color: var(--akzent); text-underline-offset: 3px; }
a:hover { color: var(--akzent); }
:focus-visible { outline: 2px solid var(--akzent); outline-offset: 3px; border-radius: 2px; }

ul { margin: 0 0 14px; padding-left: 20px; }
li { margin-bottom: 6px; }
li::marker { color: var(--akzent); }

/* Anschrift und andere Blöcke, die gelesen und kopiert werden */
.block {
  margin: 0 0 18px;
  padding: 18px 20px;
  background: var(--flaeche);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.block p:last-child { margin-bottom: 0; }
address { font-style: normal; }

/* Der hervorgehobene Kern: was das Produkt zusagt */
.kern {
  margin: 0 0 32px;
  padding: 20px 22px;
  background: var(--flaeche);
  border: 1px solid var(--line);
  border-left: 3px solid var(--akzent);
  border-radius: 10px;
}
.kern p:last-child { margin-bottom: 0; }

/* Tabellen: auf dem Telefon rollbar statt gequetscht */
.tabelle { overflow-x: auto; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 10px; }
table { width: 100%; min-width: 460px; border-collapse: collapse; font-size: 14px; }
th, td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
th { color: var(--ink); font-weight: 700; background: var(--flaeche); }
tr:last-child td { border-bottom: 0; }
code { font-family: ui-monospace, 'Cascadia Code', Consolas, monospace; font-size: .92em; color: var(--ink); }

/* Fuß */
.fuss {
  margin-top: 64px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}
.fuss a { color: var(--muted); }

@media print {
  :root { --bg: #fff; --ink: #000; --copy: #222; --muted: #555; --line: #bbb; --flaeche: #fff; --akzent: #000; color-scheme: light; }
  .kopf nav { display: none; }
  .wrap { max-width: none; padding: 0; }
  a { text-decoration: none; }
}
