/* Kontrast (06.11.2026): Kleintexte von .35–.55 auf .62 angehoben (≈ 6:1 auf Schwarz, WCAG AA) */
/* Gemeinsames Layout für Impressum, Datenschutz und AGB */
:root { --primary: #E1E0CC; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  background: #000; color: var(--primary);
  font-family: Almarai, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  min-height: 100svh; overflow-x: hidden; line-height: 1.7;
}
::selection { background: rgba(225,224,204,.2); }
.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 1; opacity: .5; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}

/* Kopf */
header { display: flex; justify-content: center; position: relative; z-index: 20; }
.navbar {
  background: #000; border-radius: 0 0 1.25rem 1.25rem; padding: .65rem 1.5rem;
  display: flex; align-items: center; gap: .9rem; flex-wrap: wrap;
}
.navbar img { height: 34px; width: 34px; display: block; }
.navbar .label { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(225,224,204,.62); }
.lang { margin-left: .4rem; font-size: .72rem; letter-spacing: .1em; }
.lang button { background: none; border: 0; color: rgba(225,224,204,.62); font: inherit; cursor: pointer; padding: .2rem .15rem; }
.lang button.on { color: var(--primary); }

/* Inhalt */
main {
  position: relative; z-index: 10; max-width: 46rem; margin: 0 auto;
  padding: 3rem 1.15rem 3rem;
}
@media (min-width: 768px) { main { padding: 4rem 2rem 4rem; } }
.kicker {
  font-size: .7rem; text-transform: uppercase; letter-spacing: .28em;
  color: rgba(225,224,204,.62); margin-bottom: .9rem;
}
h1 {
  font-weight: 500; letter-spacing: -.035em; line-height: 1.02;
  font-size: clamp(2rem, 5.5vw, 3.4rem); margin-bottom: .7rem;
}
.sub { font-size: .85rem; color: rgba(225,224,204,.62); margin-bottom: 2.6rem; }

h2 {
  font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em;
  margin: 2.6rem 0 .7rem; padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,.09);
}
h2:first-of-type { margin-top: 1.6rem; }
h3 { font-size: .92rem; font-weight: 700; margin: 1.5rem 0 .45rem; }
p { font-size: .88rem; color: rgba(225,224,204,.72); margin-bottom: .85rem; }
ul, ol { margin: 0 0 .95rem 1.15rem; }
li { font-size: .88rem; color: rgba(225,224,204,.72); margin-bottom: .35rem; }
a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
a:hover { opacity: .75; }
strong, b { color: var(--primary); font-weight: 700; }

/* numerierte Absätze (1) (2) (3) */
.para { display: flex; gap: .6rem; margin-bottom: .85rem; }
.para > .n { flex-shrink: 0; color: rgba(225,224,204,.62); font-size: .82rem; font-variant-numeric: tabular-nums; padding-top: .05rem; }
.para > .t { font-size: .88rem; color: rgba(225,224,204,.72); }

.box {
  border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03);
  border-radius: .8rem; padding: 1rem 1.15rem; margin: 1.2rem 0;
}
.box p:last-child { margin-bottom: 0; }
.box.warn { border-color: rgba(224,178,106,.35); background: rgba(224,178,106,.06); }
.box.warn p { color: #e0b26a; }
.addr { font-style: normal; font-size: .88rem; color: rgba(225,224,204,.72); margin-bottom: .85rem; }
.meta { font-size: .75rem; color: rgba(225,224,204,.62); margin-top: 2.4rem; }

/* Inhaltsverzeichnis */
.toc { margin: 0 0 2.2rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; }
.toc-title { font-size: .68rem; text-transform: uppercase; letter-spacing: .2em; color: rgba(225,224,204,.62); margin-bottom: .6rem; }
/* Ohne Listenzähler: die Einträge tragen ihre §-Nummer selbst (vorher „1. § 1") */
.toc ol { margin: 0; list-style: none; }
.toc li { font-size: .8rem; margin-bottom: 0; }
/* Ganze Zeile tippbar (vorher ~26 px hohe Ziele) */
.toc a { display: block; padding: .5rem 0; text-decoration: none; color: rgba(225,224,204,.7); }
.toc a:hover { color: var(--primary); text-decoration: underline; }

/* Fuß */
footer {
  position: relative; z-index: 10; max-width: 46rem; margin: 0 auto;
  padding: 2.2rem 1.15rem 2.6rem; border-top: 1px solid rgba(255,255,255,.08);
  display: flex; flex-direction: column; align-items: center; gap: .8rem; text-align: center;
}
@media (min-width: 768px) { footer { padding: 2.2rem 2rem 3rem; } }
.legal-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.2rem; font-size: .78rem; }
.legal-nav a { color: rgba(225,224,204,.6); text-decoration: none; }
.legal-nav a:hover { color: var(--primary); }
.legal-nav a.current { color: var(--primary); }
/* Widerrufsfunktion (§ 356a BGB): dezent, nur heller als die übrigen Links */
.legal-nav a.nav-widerruf { color: var(--primary); }
footer .copy { font-size: .72rem; color: rgba(225,224,204,.62); }

[hidden] { display: none !important; }
[data-lang-block] { display: none; }
[data-lang-block].active { display: block; }

/* Betonung ohne Serif: nicht kursiv, sondern kräftig */
em { font-style: normal; font-weight: 700; }

/* Zeilenumbrüche wie auf der Hauptseite (30.09.2026) */
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
