/* ============================================================
   RECHTSSEITEN — Impressum und Datenschutz
   ------------------------------------------------------------
   Bewusst nuechtern und gut lesbar. Diese Seiten liest niemand
   zum Spass, sie muessen schnell auffindbar und verstaendlich
   sein. Gleiche Farben und Schrift wie die Startseite, damit
   klar bleibt wo man ist.
   ============================================================ */

body{ min-height: 100vh; display: flex; flex-direction: column; }

.recht{
  flex: 1;
  position: relative;
  padding: 128px 0 72px;
}
.recht .shell{ max-width: 780px; }

.recht h1{
  font-size: clamp(30px, 6vw, 46px);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.1;
  margin: 0 0 10px;
}
.recht .stand{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin: 0 0 42px;
}

.recht h2{
  font-size: clamp(18px, 3.4vw, 23px);
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 40px 0 12px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.recht h2:first-of-type{ border-top: 0; padding-top: 0; }

.recht h3{
  font-size: 15px;
  font-weight: 800;
  margin: 22px 0 8px;
  color: var(--ink);
}

.recht p,
.recht li{
  font-size: 15.5px;
  line-height: 1.72;
  color: var(--ink-dim);
  margin: 0 0 14px;
}
.recht ul{ margin: 0 0 16px; padding-left: 20px; }
.recht li{ margin-bottom: 7px; }

.recht strong{ color: var(--ink); font-weight: 800; }
.recht a{ color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.recht a:hover{ color: var(--red); }

/* Anschrift und Kontakt als abgesetzter Block */
.recht .block{
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 12px;
  padding: 22px 24px;
  margin: 0 0 18px;
}
.recht .block p{ margin: 0 0 4px; color: var(--ink); }
.recht .block p:last-child{ margin-bottom: 0; }

/* Hinweiskasten fuer offene Punkte */
.recht .offen{
  border-left: 3px solid var(--red);
  background: rgba(227, 6, 19, .07);
  border-radius: 0 10px 10px 0;
  padding: 18px 20px;
  margin: 26px 0;
}
.recht .offen p{ margin: 0; color: var(--ink); font-size: 14.5px; }

.recht .zurueck{
  display: inline-flex;
  align-items: center;
  margin-top: 46px;
  padding: 13px 24px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line-2);
  border-radius: 999px;
  transition: border-color var(--med), background var(--med);
}
.recht .zurueck:hover{ border-color: var(--red); background: rgba(227,6,19,.12); }

@media (max-width: 700px){
  .recht{ padding: 96px 0 54px; }
  .recht p, .recht li{ font-size: 14.5px; line-height: 1.68; }
  .recht .block{ padding: 17px 18px; }
  .recht h2{ margin: 32px 0 10px; padding-top: 18px; }
}
