/* Nodvaro - Rechtstexte. Gleiche Farben und Schrift wie die Website, gebaut zum Lesen und Drucken. */
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:400;font-display:swap;src:url("titillium-web-400.woff2") format("woff2")}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:600;font-display:swap;src:url("titillium-web-600.woff2") format("woff2")}
@font-face{font-family:"Titillium Web";font-style:normal;font-weight:700;font-display:swap;src:url("titillium-web-700.woff2") format("woff2")}

:root{
  color-scheme:dark;
  --bg:#101010; --s1:#1c1c1c; --s2:#262626; --line:#363636;
  --txt:#ffffff; --txt2:#d6d6d6; --mut:#a8a8a8;
  --acc:#ffd23f; --acc-ink:rgba(16,16,16,.86);
  --font:"Titillium Web",-apple-system,system-ui,"Segoe UI",Roboto,Ubuntu,"Noto Sans",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt2);font:400 17px/1.7 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:3px}
h1,h2,p,ul,ol{margin:0}
html[data-l="de"] [data-l="en"],html[data-l="en"] [data-l="de"]{display:none}

.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:32px}
@media (max-width:640px){.wrap{padding-inline:16px}}

/* Kopf */
.top{border-top:4px solid var(--acc);border-bottom:1px solid var(--s1);background:var(--bg)}
.top__bar{display:flex;align-items:center;gap:20px;min-height:56px;flex-wrap:wrap;padding-block:8px}
.brand{display:inline-flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:25px;letter-spacing:.5px;text-transform:uppercase;line-height:1;text-decoration:none}
.brand svg{width:26px;height:26px;display:block}
.top__right{margin-inline-start:auto;display:flex;align-items:center;gap:22px}
.top__home{color:var(--txt2);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;text-decoration:none}
.top__home:hover{color:#fff}
.sw{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.sw a{padding:5px 11px;font-size:13px;font-weight:600;letter-spacing:.8px;color:var(--mut);text-decoration:none;line-height:20px}
.sw a:hover{color:#fff}
html[data-l="de"] .sw a[data-set="de"],html[data-l="en"] .sw a[data-set="en"]{background:var(--acc);color:var(--acc-ink)}

/* Dokument */
.doc{padding-block:56px 80px}
.doc h1{font-size:clamp(34px,5vw,52px);font-weight:400;color:#fff;line-height:1.15;text-wrap:balance}
.doc__meta{margin-top:10px;color:var(--mut);font-size:15px}
.doc__note{margin-top:18px;max-width:46rem;color:var(--mut);font-size:15px;line-height:1.6}
.doc__grid{display:grid;grid-template-columns:minmax(0,46rem);gap:56px;margin-top:40px}
.doc__grid--toc{grid-template-columns:230px minmax(0,46rem)}
@media (max-width:900px){.doc__grid--toc{grid-template-columns:minmax(0,46rem);gap:32px}}

.toc{align-self:start;position:sticky;top:24px;font-size:15px;line-height:1.45}
.toc ol{list-style:none;padding:0;display:grid;gap:9px;border-inline-start:1px solid var(--s2);padding-inline-start:16px}
.toc a{color:var(--mut);text-decoration:none}
.toc a:hover{color:#fff}
@media (max-width:900px){.toc{position:static}}

.text h2{font-size:22px;font-weight:600;color:#fff;line-height:1.3;margin-top:44px;margin-bottom:12px;scroll-margin-top:20px}
.text>h2:first-child,.law>h2:first-child{margin-top:0}
.text p{margin-bottom:14px;overflow-wrap:break-word}
.text ul{list-style:none;padding:0;margin-bottom:14px;display:grid;gap:8px}
.text ul li{position:relative;padding-inline-start:20px;overflow-wrap:break-word}
.text ul li::before{content:"";position:absolute;inset-inline-start:2px;top:.72em;width:7px;height:2px;background:var(--acc)}
.text address{font-style:normal;margin-bottom:14px;color:#fff}
.law{background:#161616;border:1px solid #2b2b2b;border-inline-start:3px solid var(--acc);border-radius:4px;padding:26px 28px 14px;margin-block:22px 30px}
.law h2{font-size:20px;margin-top:26px}
@media (max-width:640px){.law{padding:20px 18px 8px}}

.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-ink);border:0;border-radius:4px;padding:12px 18px;font-weight:600;font-size:16px;line-height:24px;text-transform:uppercase;text-decoration:none;transition:filter .2s}
.btn:hover{filter:brightness(1.1);color:var(--acc-ink)}
.text .act{margin-block:8px 26px}

/* Fuss */
.ft{background:#161616;padding-block:40px;font-size:15px}
.ft__row{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center}
.ft__links{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0}
.ft__links a{color:var(--mut);text-decoration:none}
.ft__links a:hover{color:var(--acc)}
.ft__acts{display:flex;flex-wrap:wrap;gap:10px;margin-inline-start:auto}
.ft__acts a{border:1px solid var(--acc);color:var(--acc);border-radius:4px;padding:7px 13px;font-weight:600;font-size:14px;line-height:20px;text-decoration:none}
.ft__acts a:hover{background:var(--acc);color:var(--acc-ink)}
@media (max-width:760px){.ft__acts{margin-inline-start:0}}
.ft__small{margin-top:24px;padding-top:18px;border-top:1px solid var(--s2);color:#8f8f8f;font-size:13px;line-height:1.6;display:grid;gap:4px}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

@media print{
  :root{color-scheme:light}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.5}
  .top,.ft,.toc,.sw,.act{display:none!important}
  .doc{padding:0}
  .wrap{max-width:none;padding:0}
  .doc h1,.text h2,.text address{color:#000}
  .doc__meta,.doc__note{color:#333}
  .doc__grid,.doc__grid--toc{display:block;margin-top:18pt}
  .law{background:#fff;border:1px solid #999;border-left:3px solid #000}
  a{color:#000;text-decoration:none}
  .text h2{break-after:avoid}
  .text p,.text li{orphans:3;widows:3}
}
