/* Honeypod: Impressum, Datenschutz und Nutzungsbedingungen.
   Kopf, Fuß, Farben und Schrift kommen aus /css/seite.css. Hier steht nur,
   wie ein Rechtstext gesetzt ist. Alles hängt an .recht, damit nichts davon
   in Kopf oder Fuß der Seite hineinwirkt.

   Rechts klebt die Lesenavigation (css/lesenavigation.css), ab 1100 Pixeln
   und sobald js/lesenavigation.js sie gebaut hat. Darunter steht sie als
   Leiste unter dem Kopf. Verweise und Listen des Texts hängen deshalb an
   .recht-text, sonst trügen die Listen der Navigation ihre Punkte. */

.recht { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1100px) {
  .ln-bereit .recht { grid-template-columns: minmax(0, 1fr) 300px; column-gap: clamp(48px, 11.765vw - 81.41px, 88px); }
}
.recht-text { max-width: 720px; min-width: 0; line-height: 1.7; text-wrap: pretty; }

.recht-text a { color: var(--verweis); text-decoration: none; border-bottom: 1px solid color-mix(in srgb, var(--verweis) 32%, transparent); }
.recht-text a:hover { color: var(--verweis-zeiger); border-bottom-color: var(--verweis-zeiger); }
.recht ::selection { background: rgba(234, 180, 74, 0.28); }

.recht h1 { font-size: var(--h2); line-height: 1.1; font-weight: 600; letter-spacing: -0.022em; text-wrap: balance; }
.recht .stand {
  display: inline-block; margin-top: 16px; margin-bottom: 8px;
  font-size: 12.5px; font-weight: 600; color: var(--text-2); line-height: 1.4;
  background: var(--glas); box-shadow: inset 0 0 0 1px var(--linie); border-radius: 999px; padding: 5px 13px;
}

.recht-text > p { font-size: 15.5px; color: var(--text-2); margin-top: 18px; }
.recht-text > p strong { color: var(--text); font-weight: 600; }

.recht h2 {
  font-size: 20px; font-weight: 600; letter-spacing: -0.015em; color: var(--text);
  margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--linie);
  scroll-margin-top: 96px;
}
.recht h3 { font-size: 15.5px; font-weight: 600; color: var(--text); margin-top: 30px; scroll-margin-top: 96px; }
.recht h2 + h3 { margin-top: 20px; }
.recht h2 + p, .recht h3 + p { margin-top: 12px; }

.recht-text ul { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.recht-text ul li { position: relative; padding-left: 20px; font-size: 15px; color: var(--text-2); line-height: 1.65; }
.recht-text ul li::before {
  content: ""; position: absolute; left: 2px; top: 0.68em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--honig); opacity: 0.7;
}
.recht-text ul li strong { color: var(--text); font-weight: 600; }

/* Tabellen im Impressum */
.recht table {
  width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 18px;
  background: var(--flaeche); box-shadow: 0 0 0 1px var(--linie); border-radius: 16px; overflow: hidden;
}
.recht table tr + tr th, .recht table tr + tr td { border-top: 1px solid var(--linie); }
.recht th, .recht td { padding: 14px 18px; text-align: left; vertical-align: top; font-size: 14.5px; }
.recht th { width: 34%; font-weight: 600; color: var(--text-3); background: rgba(255, 255, 255, 0.015); white-space: nowrap; }
.recht td { color: var(--text); }
.recht .luecke { font-variant-numeric: tabular-nums; }

@media (max-width: 620px) {
  .recht th { width: auto; white-space: normal; }
  .recht th, .recht td { padding: 12px 14px; }
}
