/* Rechtsseiten — ruhige Text-Typografie, mobile-first. */

.recht-titel { background: var(--creme); padding-block: 36px; }
@media (min-width: 1100px) { .recht-titel { padding-block: 56px; } }
.recht-koerper { padding-top: 36px; }

.rechtstext { max-width: 820px; font-size: 16px; line-height: 1.75; color: var(--text-neben); overflow-wrap: break-word; }
.rechtstext h2 { font-family: var(--font-display); font-size: clamp(21px, 2.4vw, 26px); font-weight: 700; color: var(--text-standard); margin: 36px 0 12px; }
.rechtstext h3, .rechtstext h4 { font-family: var(--font-display); font-size: 19px; font-weight: 700; color: var(--text-standard); margin: 26px 0 10px; }
.rechtstext p { margin: 0 0 14px; }
.rechtstext ul, .rechtstext ol { margin: 0 0 14px; padding-left: 22px; }
.rechtstext li { margin-bottom: 6px; }
.rechtstext strong { color: var(--text-standard); }
.rechtstext a { color: var(--rot); font-weight: 700; }
.rechtstext table { border-collapse: collapse; width: 100%; }
.rechtstext td, .rechtstext th { vertical-align: top; padding: 0 18px 10px 0; }
@media (max-width: 759px) { .rechtstext td, .rechtstext th { display: block; padding-right: 0; } }

/* Aufklappbare Bereiche (Datenschutz — Kunden-Zwischenruf 4): natives <details>,
   Titel in Vollkorn, roter Indikator, erster Bereich offen. */
.recht-intro { max-width: 820px; }
.klapp-liste { max-width: 820px; margin-top: 24px; }
.klapp { border-top: 1px solid var(--linie-trenn); }
.klapp:last-child { border-bottom: 1px solid var(--linie-trenn); }
.klapp-titel {
    font-family: var(--font-display);
    font-size: clamp(18px, 2.2vw, 21px);
    font-weight: 700;
    color: var(--text-standard);
    padding: 18px 36px 18px 0;
    cursor: pointer;
    position: relative;
    list-style: none;
}
.klapp-titel::-webkit-details-marker { display: none; }
.klapp-titel::after {
    content: '+';
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-ui);
    font-size: 24px;
    font-weight: 700;
    color: var(--rot);
    line-height: 1;
}
.klapp[open] > .klapp-titel::after { content: '–'; }
.klapp-titel:hover { color: var(--rot); }
.klapp-titel:focus-visible { outline: 2px solid var(--rot); outline-offset: 2px; }
.klapp-inhalt { padding: 4px 0 22px; }

/* AGB: verlinktes §-Inhaltsverzeichnis + Sprunganker (Kunden-Zwischenruf 6) */
.rechtstext h2[id] { scroll-margin-top: 84px; } /* sticky Header nicht drüber */
@media (min-width: 1100px) { .rechtstext h2[id] { scroll-margin-top: 104px; } } /* Kopf ist dort 84px hoch */
.agb-index { list-style: none; margin: 0 0 28px; padding: 18px 22px; background: var(--creme); border-radius: var(--radius-card); columns: 1; column-gap: 40px; }
.agb-index li { margin: 0 0 8px; break-inside: avoid; }
.agb-index a { color: var(--rot); font-weight: 700; font-size: 15px; text-decoration: none; }
.agb-index a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 760px) { .agb-index { columns: 2; padding: 24px 28px; } }

/* Copy-Buttons (Impressum — assets/js/kopier.js): dezent, bei Maus-Geräten
   erst beim Drüberfahren über den Absatz sichtbar; Touch zeigt sie immer. */
.kopier { display: inline-flex; align-items: center; margin-left: 7px; padding: 2px 5px; border: 0; border-radius: 6px; background: none; color: var(--text-gedaempft); cursor: pointer; vertical-align: -2px; }
.kopier:hover, .kopier:focus-visible { color: var(--rot); }
.kopier-ok { display: none; font-weight: 800; color: var(--rot); font-size: 13px; line-height: 1; }
.kopier.ist-kopiert svg { display: none; }
.kopier.ist-kopiert .kopier-ok { display: inline; }
@media (hover: hover) {
    .rechtstext .kopier { opacity: 0; transition: opacity 0.15s; }
    .rechtstext p:hover .kopier, .rechtstext .kopier:focus-visible, .rechtstext .kopier.ist-kopiert { opacity: 1; }
}
