/* Datenschutzerklärungen (Entwurf 24.10.2026)
   .hdb-dse – HDB Recycling GmbH, /datenschutz/ (Pattern hdb-2026/seite-datenschutz, nutzt Variablen aus hdb.css)
   .rp-dse  – Grundstück Hünxe GmbH, /r-port/datenschutz/ (page-r-port-datenschutz.php, nutzt Variablen aus r-port.css)
   Eigene Datei, damit hdb.css / r-port.css unverändert bleiben. Keine Drittanbieter. */

/* ---------- HDB ---------- */
.hdb-dse-page { padding-top: 0; padding-bottom: clamp(3rem, 7vw, 5.5rem); }
.hdb-dse { max-width: 72ch; font-size: 1.05rem; line-height: 1.65; }
.hdb-dse p, .hdb-dse ul, .hdb-dse ol { margin: 0 0 1rem; }
.hdb-dse ul, .hdb-dse ol { padding-left: 1.3rem; }
.hdb-dse li { margin-bottom: .35rem; }
.hdb-dse a { color: var(--hdb-accent-ink); text-underline-offset: .18em; }
.hdb-dse__lead { padding: clamp(1.1rem, 3vw, 1.6rem); margin-bottom: clamp(1.8rem, 4vw, 2.6rem); border-radius: var(--hdb-radius); background: var(--hdb-surface-2); border-left: 6px solid var(--hdb-accent); }
.hdb-dse__lead p:last-child { margin-bottom: 0; }
.hdb-dse__toc { margin-bottom: clamp(2rem, 5vw, 3rem); padding-bottom: 1.4rem; border-bottom: 2px solid var(--hdb-line); }
.hdb-dse__toc .hdb-eyebrow { margin: 0 0 .6rem; color: var(--hdb-accent-ink); }
.hdb-dse__toc ol { columns: 2 16rem; column-gap: 2rem; margin: 0; }
.hdb-dse__toc li { break-inside: avoid; }
.hdb-dse__sec { padding-top: clamp(1.4rem, 3vw, 2rem); scroll-margin-top: calc(var(--hdb-head) + 1rem); }
.hdb-dse__h { font-size: clamp(1.3rem, 2.2vw, 1.65rem); font-weight: 760; font-stretch: 90%; line-height: 1.15; margin: 0 0 .8rem; text-wrap: balance; }
.hdb-dse__h3 { font-size: 1.08rem; font-weight: 720; margin: 1.4rem 0 .45rem; }
.hdb-dse__adr { padding-left: 1rem; border-left: 3px solid var(--hdb-line); }
.hdb-dse__box { padding: 1rem 1.2rem; margin-top: 1.2rem; border: 2px solid var(--hdb-accent); border-radius: calc(var(--hdb-radius) * .6); }
.hdb-dse__box .hdb-dse__h3 { margin-top: 0; }
.hdb-dse__box p:last-child { margin-bottom: 0; }
.hdb-dse .hdb-dse__stand { margin-top: 2.4rem; font-family: var(--hdb-mono); font-size: .88rem; color: var(--hdb-muted); }
.hdb-dse .hdb-mail { overflow-wrap: anywhere; }

/* ---------- R-Port (Grundstück Hünxe GmbH) – Selektoren mit .rp, weil r-port.css Abstände per „.rp p/.rp h2 { margin: 0 }“ zurücksetzt ---------- */
.rp-dse-root .rp-header__tools { margin-left: auto; }
.rp-dse-main { padding-block: clamp(1.6rem, 4vw, 3rem) clamp(3rem, 7vw, 5.5rem); }
.rp .rp-dse { max-width: 72ch; }
.rp .rp-dse p, .rp .rp-dse ul { margin: 0 0 1rem; }
.rp .rp-dse ul { padding-left: 1.3rem; }
.rp .rp-dse li { margin-bottom: .4rem; }
.rp .rp-dse__crumbs { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .9rem; color: var(--rp-ink-2); margin-bottom: clamp(1.2rem, 3vw, 2rem); }
.rp .rp-dse__title { margin: .6rem 0 1.4rem; }
.rp .rp-dse__lead { padding: clamp(1.1rem, 3vw, 1.5rem); margin-bottom: clamp(1.6rem, 4vw, 2.4rem); border-left: 4px solid var(--rp-accent); }
.rp .rp-dse__lead p:last-child { margin-bottom: 0; }
.rp .rp-dse__sec { padding-top: clamp(1.2rem, 3vw, 1.8rem); }
.rp .rp-dse__h { font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); line-height: 1.2; font-weight: 800; letter-spacing: -.015em; margin: 0 0 .7rem; text-wrap: balance; }
.rp .rp-dse__h3 { font-size: 1.05rem; font-weight: 750; margin: 1.3rem 0 .4rem; }
.rp .rp-dse__adr { padding-left: 1rem; border-left: 3px solid var(--rp-line); }
.rp .rp-dse__box { padding: 1rem 1.2rem; margin-top: 1.2rem; border: 2px solid var(--rp-accent); border-radius: var(--rp-r); background: var(--rp-surface); }
.rp .rp-dse__box .rp-dse__h3 { margin-top: 0; }
.rp .rp-dse__box p:last-child { margin-bottom: 0; }
.rp .rp-dse .rp-dse__stand { margin-top: 2.2rem; font-family: var(--rp-mono); font-size: .88rem; color: var(--rp-ink-2); }
.rp .rp-dse__footnav { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .95rem; }

/* v0.4.27 Charme (Martin, 25.10.2026): Lead-Zeile vor dem Rechtstext */
.hdb-dse .hdb-dse__motto { margin: 0 0 1.1rem; font-size: clamp(1.15rem, 2vw, 1.35rem); font-weight: 700; font-stretch: 92%; line-height: 1.3; text-wrap: balance; }
