/* Gemeinsame Gestaltung der Rechtstexte (Impressum, Datenschutz, AGB, Widerruf).
   Vorher trug jede dieser Seiten ihr eigenes Inline-CSS in der alten Palette
   (--navy #011A27, Schriftgewicht 800) und passte damit nicht mehr zur
   überarbeiteten Startseite. Jetzt gibt es eine Quelle. */

:root{
  --ink:#141222;
  --paper:#F8F5F0;
  --sand:#EDE7DE;
  --line:#DCD3C7;
  --line-strong:#C7BCAC;
  --muted:#6B6257;
  --accent:#E9A13C;
  --accent-ink:#8A4E15;
}

*{margin:0;padding:0;box-sizing:border-box}

body{
  font-family:'Rubik',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit}
::selection{background:var(--ink);color:var(--paper)}

:where(a,button):focus-visible{
  outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:3px;
}

.nav{
  background:var(--ink);
  padding:22px 26px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
.nav a{color:#fff;text-decoration:none}
.nav .logo{font-weight:700;font-size:1.3rem;letter-spacing:-.03em}
.nav .back{color:rgba(255,255,255,.62);font-size:.92rem}
.nav .back:hover{color:#fff}
.nav :where(a):focus-visible{outline-color:var(--accent)}

.content{max-width:760px;margin:64px auto;padding:0 26px 96px}

h1{
  font-size:clamp(1.9rem,4vw,2.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;
  margin-bottom:14px;
}
.updated{color:var(--muted);font-size:.9rem;margin-bottom:40px;padding-bottom:22px;border-bottom:1px solid var(--line-strong)}

h2{
  font-size:1.15rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;
  margin:44px 0 12px;padding-top:22px;border-top:1px solid var(--line);
}
h2:first-of-type{border-top:none;padding-top:0}
h3{font-size:1rem;font-weight:600;margin:26px 0 8px}

p,li{font-size:.98rem;color:var(--muted)}
p{margin-bottom:12px;text-wrap:pretty}
strong{color:var(--ink);font-weight:600}

ul,ol{margin:0 0 16px 22px}
li{margin-bottom:8px}

a:not(.logo):not(.back){color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}

/* Hervorgehobener Kasten — z. B. die Widerrufsbelehrung, die gesetzlich
   als abgegrenzter Text erkennbar sein soll. */
.box{
  background:var(--sand);
  border:1px solid var(--line-strong);
  border-radius:10px;
  padding:26px 28px;
  margin:24px 0 32px;
}
.box h2,.box h3{border-top:none;padding-top:0;margin-top:0}
.box p:last-child{margin-bottom:0}

/* Muster-Widerrufsformular: bewusst wie ein Formular, nicht wie Fließtext */
.formular{
  background:#fff;
  border:1px solid var(--line-strong);
  border-radius:10px;
  padding:26px 28px;
  margin:20px 0 32px;
  font-size:.95rem;
}
.formular p{color:var(--ink)}
.formular .hint{color:var(--muted);font-size:.86rem;font-style:italic}
.formular hr{border:none;border-top:1px solid var(--line);margin:18px 0}

.table-scroll{overflow-x:auto;margin:16px 0 28px}
table{border-collapse:collapse;width:100%;min-width:460px;font-size:.95rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{
  font-weight:600;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--muted);border-bottom:2px solid var(--ink);
}
tbody th{font-weight:500;color:var(--ink)}
td{color:var(--muted)}

footer{
  background:var(--ink);
  padding:34px 26px;
  display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;
  font-size:.88rem;color:rgba(255,255,255,.5);
}
footer a{color:rgba(255,255,255,.72);text-decoration:none}
footer a:hover{color:#fff}
footer :where(a):focus-visible{outline-color:var(--accent)}

@media(max-width:560px){
  .content{margin:44px auto}
  .box,.formular{padding:20px}
}
