/* Rechtstexte (Datenschutz, Nutzungsbedingungen, Impressum).

   Kleine Beschriftungen (Stand-Zeile, Tabellenkoepfe) tragen den festen Wert
   #8b8778 statt var(--text-dim): --text-dim (#7a7668) erreicht auf dem
   dunklen Grund #0e0d0c nur 4.27:1 und bleibt damit unter den 4,5:1, die
   WCAG AA fuer normal grosse Schrift fordert. #8b8778 erreicht 5.39:1.

   Lange Fliesstexte brauchen andere Regeln als die Startseite: schmales Mass,
   ruhige Abstaende, klare Gliederung. Farben, Schriften, Kopf- und Fusszeile
   kommen aus style/site.css — hier wird nur der Textkoerper gesetzt.

   NICHT style/design.css einbinden: Die Datei ist ein Ueberrest, wird von
   keiner Seite geladen und benutzt andere Klassennamen (.main-nav) und andere
   Variablennamen. Wer sie verwendet, bekommt eine unlesbare Seite. */

.rechtstext {
    max-width: 74ch;
    margin: 0 auto;
    padding: 9rem 1.5rem 6rem;
    font-family: var(--body);
    color: var(--text);
    font-size: 1.0rem;
    line-height: 1.75;
}

.rechtstext-kopf { margin-bottom: 3rem; }

.rechtstext h1 {
    font-family: var(--head);
    font-weight: 700;
    font-size: clamp(1.9rem, 5vw, 2.8rem);
    line-height: 1.15;
    color: var(--text-bright);
    margin: 0 0 .6rem;
    letter-spacing: -0.01em;
}

.rechtstext-stand {
    font-family: var(--mono);
    font-size: .8rem;
    color: #8b8778;
    margin: 0;
}

.rechtstext h2 {
    font-family: var(--head);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--text-bright);
    margin: 3.2rem 0 .9rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(235,235,222,.10);
}
.rechtstext h2:first-of-type { border-top: none; padding-top: 0; }

.rechtstext h3 {
    font-family: var(--head);
    font-weight: 700;
    font-size: 1rem;
    color: var(--text-bright);
    margin: 2rem 0 .5rem;
}

.rechtstext p { margin: 0 0 1.1rem; }
.rechtstext strong { color: var(--text-bright); font-weight: 600; }

.rechtstext a {
    color: var(--teal);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.rechtstext a:hover { color: var(--amber); }

.rechtstext ul, .rechtstext ol { margin: 0 0 1.3rem; padding-left: 1.3rem; }
.rechtstext li { margin-bottom: .5rem; }

/* Hervorgehobener Kasten — fuer die Kernzusage zur Datennutzung. */
.rechtstext-kasten {
    border: 1px solid rgba(235,235,222,.16);
    border-left: 3px solid var(--amber);
    background: rgba(235,235,222,.04);
    border-radius: 10px;
    padding: 1.3rem 1.4rem;
    margin: 1.8rem 0 2rem;
}
.rechtstext-kasten p:last-child { margin-bottom: 0; }
.rechtstext-kasten h3 { margin-top: 0; }

/* Tabellen: auf schmalen Anzeigen waagerecht scrollbar, damit die Seite
   selbst nie seitlich wandert. */
.rechtstext-tabelle { overflow-x: auto; margin: 1.5rem 0 2rem; }
.rechtstext table {
    width: 100%;
    min-width: 34rem;
    border-collapse: collapse;
    font-size: .9rem;
}
.rechtstext th, .rechtstext td {
    text-align: left;
    padding: .7rem .8rem;
    border-bottom: 1px solid rgba(235,235,222,.10);
    vertical-align: top;
}
.rechtstext th {
    font-family: var(--head);
    font-weight: 700;
    font-size: .8rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8b8778;
    border-bottom: 1px solid rgba(235,235,222,.16);
}
.rechtstext td code {
    font-family: var(--mono);
    font-size: .82rem;
    color: var(--teal);
    word-break: break-all;
}

.rechtstext-hinweis {
    font-size: .88rem;
    color: #8b8778;
    border-top: 1px solid rgba(235,235,222,.10);
    margin-top: 3rem;
    padding-top: 1.3rem;
}

@media (max-width: 640px) {
    .rechtstext { padding: 7rem 1.15rem 4rem; font-size: .97rem; }
    .rechtstext h2 { margin-top: 2.6rem; }
}
