/* ==== GEAS-Referenz – Equal Rights Beyond Borders Branding ==== */
:root{
  --brand:#1B1F29;        /* Mirage – Struktur/Headings/Navigation */
  --accent:#E2121A;       /* Crimson – Marke/Akzent/aktiv */
  --brand-2:#C2151C;      /* Links */
  --garnet:#63282A;       /* Garnet – H2/Leads */
  --muted:#7F8595;        /* Manatee */
  --line:#ECE3DF; --line-2:#BEC1D0;
  --bg:#FFF9F6;           /* Seashell */
  --card:#FFFFFF; --chip:#FBF1EE;
  --ink:#1B1F29;
  --serif:'Crimson Pro',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55;font-size:15px}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
a{color:var(--brand-2);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3,.b1{font-family:var(--serif)}

header.top{background:#fff;border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;min-height:70px}
.brand{display:flex;align-items:center;gap:14px}
.brand:hover{text-decoration:none}
.logo{height:42px;width:auto;display:block}
.brandtxt{display:flex;flex-direction:column;line-height:1.15;border-left:1px solid var(--line-2);padding-left:14px}
.b1{font-weight:600;color:var(--brand);font-size:20px;letter-spacing:-.01em}
.b2{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;margin-top:2px}

nav.tabs{background:var(--brand)}
nav.tabs .wrap{display:flex;gap:2px;flex-wrap:wrap}
nav.tabs a{color:#d8dae0;padding:12px 16px;font-size:14.5px;font-weight:500}
nav.tabs a:hover{background:rgba(255,255,255,.07);text-decoration:none}
nav.tabs a.on{color:#fff;box-shadow:inset 0 -3px 0 var(--accent)}

.layout{display:flex;gap:26px;align-items:flex-start;margin:22px auto}
.side{flex:0 0 258px;position:sticky;top:14px}
.sidebox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;max-height:calc(100vh - 40px);overflow:auto}
.navgrp{margin-bottom:8px}
.navh{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:700;margin:8px 0 4px}
.navh.sub{border-top:1px dashed var(--line);padding-top:8px}
.sidebox ul{list-style:none;margin:0;padding:0}
.sidebox li a{display:block;padding:5px 8px;border-radius:7px;font-size:13.3px;color:#2b2f3a}
.sidebox li a:hover{background:var(--chip);text-decoration:none}
.sidebox li a.on{background:var(--accent);color:#fff}

.main{flex:1 1 auto;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 28px}
.main h1{color:var(--brand);margin:.1rem 0 16px;font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.crumb{font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:700}
.lead{color:var(--garnet);font-size:16px}
.sec{color:var(--garnet);font-size:20px;margin:26px 0 10px;font-weight:600}

.artgrid{display:grid;grid-template-columns:1fr 300px;gap:28px}
@media(max-width:860px){.artgrid{grid-template-columns:1fr}.layout{flex-direction:column}.side{position:static;flex:auto;width:100%}}
.normtext p{margin:.55rem 0} .anr{font-weight:600;color:var(--brand)}
.normtext p.lit{margin:.25rem 0 .25rem 1.5rem;text-indent:-1.5rem}
.lit-nr{font-weight:600;color:var(--accent);margin-right:.15rem}
.normtext a.ext::after{content:"↗";font-size:.7em;vertical-align:super;opacity:.55;margin-left:1px}
.normtext a.vo{border-bottom:1px dotted var(--brand-2);cursor:help}
.kontext{align-self:start}
.kb{margin-bottom:16px}
.kb h4{margin:0 0 6px;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--brand);border-bottom:2px solid var(--accent);display:inline-block;padding-bottom:2px;line-height:1.3}
.kb ul{margin:6px 0 0;padding-left:18px} .kb li{margin:5px 0;font-size:.9rem}
.kb.national{border-top:1px dashed var(--line);padding-top:10px}
.egt{color:var(--muted);font-weight:400;font-size:.9em;font-family:inherit}
.back{font-size:.92rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px;margin-top:16px}

.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{background:var(--chip);color:var(--brand);text-align:left;padding:9px 12px;border-bottom:2px solid var(--line-2)}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:14px 0}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;color:inherit}
a.card:hover{border-color:var(--accent);text-decoration:none;box-shadow:0 2px 12px rgba(226,18,26,.07)}
.card h3{margin:0 0 6px;color:var(--brand);font-size:19px;font-weight:600} .card p{margin:0;color:#48505f;font-size:13.6px}
.card.static{background:#fffaf8}
.linklist{padding-left:18px} .linklist li{margin:6px 0}

.acthead{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.6px;color:var(--brand);font-weight:800;margin:10px 0 4px;padding:4px 6px;border-radius:6px}
.acthead:hover{background:var(--chip);text-decoration:none}
.acthead.collapsed{color:var(--muted)}
.aktsec{margin:18px 0 22px;scroll-margin-top:70px}
.aktsec h2{color:var(--garnet);font-size:22px;margin:0 0 4px;font-weight:600}
.aktsec .meta{color:var(--muted);font-size:13px;margin:0 0 10px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.chip{background:#fff;border:1px solid var(--line-2);border-radius:7px;padding:4px 9px;font-size:12.5px;color:#2b2f3a}
.chip:hover{border-color:var(--accent);text-decoration:none;background:var(--chip)}
.chip.eg{background:var(--chip);border-color:#ecd7d3}
.chiplabel{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:8px 0 2px;font-weight:700}
.nat-note{font-size:12px;color:var(--muted);font-style:italic;margin-top:8px}

.hero{background:linear-gradient(135deg,#2a2f3c,var(--brand));color:#fff;border-radius:14px;padding:32px 32px 28px;margin-bottom:8px}
.hero h1{color:#fff;font-size:38px;margin:0 0 8px;font-weight:600}
.hero .lead{color:#efe6e2;max-width:760px}
.quick{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.btn{background:var(--accent);color:#fff;font-weight:600;padding:10px 18px;border-radius:9px;font-size:14px}
.btn:hover{text-decoration:none;filter:brightness(1.06)}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.stats{display:flex;gap:26px;margin-top:20px}
.stats div{display:flex;flex-direction:column;font-size:12.5px;color:#d8c9c5;text-transform:uppercase;letter-spacing:.5px}
.stats b{font-size:26px;color:#fff;font-family:var(--serif)}

footer{border-top:1px solid var(--line);margin-top:24px;padding:18px 0;color:var(--muted);font-size:12.5px}

/* ---- Ebenen-Gruppen in Navigation/Übersicht ---- */
.ebene-head{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-weight:800;margin:16px 0 4px;padding-bottom:3px;border-bottom:1px solid var(--line)}
.ebene-block:first-child .ebene-head{margin-top:4px}
.act-pdf{font-size:12.5px}
.act-pdf a{color:var(--brand-2)}
.crumb .pdflink{margin-left:8px;font-weight:600}

/* ---- Spenden-Widget ---- */
.donate{position:fixed;right:18px;bottom:18px;z-index:50}
.donate-btn{background:var(--brand);color:#fff;border:none;border-radius:24px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.donate-btn:hover{filter:brightness(1.1)}
.donate-btn .h{color:var(--accent);margin-right:5px}
.donate-card{position:absolute;right:0;bottom:48px;width:300px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 10px 30px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}
.donate:hover .donate-card,.donate:focus-within .donate-card{opacity:1;visibility:visible;transform:none}
.donate-card h4{margin:0 0 6px;color:var(--brand);font-family:var(--serif);font-size:17px}
.donate-card p{margin:0 0 12px;font-size:12.8px;color:#454b57;line-height:1.5}
.donate-modal{position:fixed;inset:0;background:rgba(20,20,25,.5);z-index:60;display:none;align-items:center;justify-content:center;padding:20px}
.donate-modal.on{display:flex}
.dm-box{background:#fff;max-width:440px;border-radius:16px;padding:26px 30px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.dm-box h3{font-family:var(--serif);color:var(--brand);margin:0 0 10px;font-size:23px;font-weight:600}
.dm-box p{font-size:14.5px;color:#3a4048;line-height:1.6;margin:0 0 16px}
.dm-close{position:absolute;top:12px;right:16px;border:none;background:none;font-size:24px;cursor:pointer;color:var(--muted);line-height:1}
.dm-close:hover{color:var(--brand)}

/* ---- rechte Zusatz-Boxen ---- */
.kb.rspr h4{border-bottom-color:#7f8595}
.kb.lit h4{border-bottom-color:#1B1F29}

/* ---- Nutzerwünsche: Markierung, Pfeil-Aufzählung, Footer, Ausklappen ---- */
::selection{background:#e2121a;color:#fff}
::-moz-selection{background:#e2121a;color:#fff}
.kb ul{list-style:none;padding-left:2px;margin:6px 0 0}
.kb li{position:relative;padding-left:15px}
.kb li::before{content:"\2192";position:absolute;left:0;top:0;color:var(--muted);font-size:.82em}
.kb.national li::before{content:"\2192"}

footer .foot-inner{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
footer .erbb{display:flex;align-items:center;gap:10px}
footer .erbb img{height:32px;width:auto}
footer .erbb span{font-size:11.5px;color:var(--muted);max-width:180px;line-height:1.3}
footer .foot-links{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
footer .foot-links a{color:var(--brand-2);font-size:12.5px}

/* Ausklappbare Rechtsakte (details/summary) */
.actcard{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:#fff;overflow:hidden}
.actcard>summary{cursor:pointer;list-style:none;padding:11px 14px;font-weight:600;color:var(--brand);display:flex;align-items:center;gap:8px}
.actcard>summary::-webkit-details-marker{display:none}
.actcard>summary::before{content:"\25B8";color:var(--accent);font-size:.9em;transition:.15s}
.actcard[open]>summary::before{content:"\25BE"}
.actcard>summary .fund{color:var(--muted);font-weight:400;font-size:.85em;margin-left:auto}
.actcard .actbody{padding:2px 14px 14px}
.sidebox .actcard{margin:6px 0}
.sidebox .actcard>summary{padding:8px 10px;font-size:13.5px}
.sidebox .actcard .actbody{padding:0 8px 8px}

/* Vor/Zurück-Navigation */
.pnbar{display:flex;align-items:center;gap:8px;margin:8px 0 14px}
.pn{font-size:13px;padding:6px 11px;border:1px solid var(--line);border-radius:8px;color:var(--brand-2);background:#fff;white-space:nowrap}
.pn:hover{border-color:var(--accent);text-decoration:none;background:var(--chip)}
.pn.up{margin:0 auto;color:var(--muted)}
.pn.dis{color:var(--line-2);border-color:var(--line);cursor:default}
.pn.next{margin-left:0}
/* EG-Vorschlagsbox dezent abheben */
.kb.auto h4{border-bottom-color:var(--muted)}
.kb.auto{opacity:.95}
.kb.euref h4{border-bottom-color:var(--accent)}
.kb.defs h4{border-bottom-color:#2e5496}
.defref{color:var(--muted);font-size:.85em;white-space:nowrap}
.b1 .dot{color:var(--accent)}

/* Startseite: .de-Punkt, Typewriter-Cursor, lesbare Markierung im Hero */
.hero h1 .dot{color:var(--accent)}
.tw-cur{display:inline-block;width:.05em;min-width:3px;height:.82em;background:#fff;margin-left:.06em;vertical-align:-.02em;border-radius:1px;animation:twblink 1s step-end infinite}
@keyframes twblink{50%{opacity:0}}
.tw-cur.done{animation:none;opacity:0}
.hero ::selection{background:rgba(226,18,26,.55);color:#fff}
.hero ::-moz-selection{background:rgba(226,18,26,.55);color:#fff}
footer .erbb{text-decoration:none;color:inherit}footer .erbb:hover span{color:var(--brand-2)}

/* Unterakt (verschachtelt) */
.actcard.sub{margin:8px 0 8px 16px;border-left:3px solid var(--line-2)}
.actcard.sub>summary{font-size:.94em}
/* Kontaktformular */
.kform{max-width:560px;display:flex;flex-direction:column;gap:14px;margin-top:10px}
.kform label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;color:var(--brand)}
.kform input,.kform textarea{font:inherit;font-weight:400;padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;background:#fff}
.kform input:focus,.kform textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.kform button{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:11px 20px;font-weight:600;cursor:pointer}

.dot{color:var(--accent)}
.donate-card .btn{display:block;margin:6px auto 0;width:max-content}
.dm-box .btn{display:block;margin:10px auto 0;width:max-content}

/* Zwei-Knopf-Widget (Newsletter + Unterstützen) */
.donate{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.donate .pill{position:relative}
.donate:hover .donate-card{opacity:0;visibility:hidden;transform:translateY(8px)}
.donate .pill:hover .donate-card,.donate .pill:focus-within .donate-card{opacity:1;visibility:visible;transform:none}
.donate-btn.nl{background:#fff;color:var(--brand);border:1px solid var(--line-2)}
.donate-btn.nl:hover{border-color:var(--accent);filter:none}
/* Anhang / Anlagen */
.anhang-list{margin:.4rem 0 .4rem 1.1rem}.anhang-list li{margin:3px 0}
.anhang-row{margin:.3rem 0}
/* Begriffe-Suche */
.gsearch{width:100%;max-width:520px;padding:11px 14px;border:1px solid var(--line-2);border-radius:9px;font:inherit;margin:6px 0 14px}
.gsearch:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.glist{list-style:none;padding:0;margin:0;columns:2;column-gap:30px}
.glist li{margin:6px 0;break-inside:avoid;font-size:14px}
@media(max-width:700px){.glist{columns:1}}

/* Kapitel-Kicker über der Vorschrift */
.kapitel{text-align:center;text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;color:var(--muted);font-weight:700;margin:4px 0 2px}
/* Newsletter neben Unterstützen */
.donate{flex-direction:row;align-items:flex-end}
/* Volltext-Suchergebnisse */
.glist.srch{columns:1}
.glist.srch li{margin:11px 0}
.glist.srch .defref{white-space:normal;color:#5a616e}
/* Kapitel-/Abschnitts-Gliederung (Sidebar + Rechtsakte-Übersicht) */
.navh.kap{border-top:1px solid var(--line);padding-top:8px;color:var(--brand);font-weight:800}
.navh.abs{text-transform:none;letter-spacing:0;font-weight:600;color:var(--muted);font-size:.72rem;margin:4px 0 2px}
.kaphead{font-size:.82rem;font-weight:800;color:var(--brand);margin:14px 0 4px;letter-spacing:.2px}
.kaphead:first-of-type{margin-top:6px}
.abshead{font-size:.75rem;font-weight:600;color:var(--muted);margin:6px 0 2px;padding-left:2px}
/* Berichtigungs-/Änderungshinweis pro Vorschrift */
.hinweis{background:#fff8e6;border:1px solid #e9cf8a;border-left:4px solid #d9a531;border-radius:6px;padding:8px 12px;margin:10px 0;font-size:13px;color:#6b5316}
.hinweis::before{content:"Hinweis: ";font-weight:700}

/* ---- Verweis-Vorschau (Popover + Andocken) ---- */
.refpop{position:absolute;z-index:1000;width:min(420px,92vw);max-height:60vh;overflow:auto;
  background:#fff;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 10px 34px rgba(20,24,40,.22)}
.refpop.sheet{position:fixed;inset:auto 0 0 0;top:auto;width:100%;max-height:78vh;border-radius:14px 14px 0 0;
  display:flex;justify-content:center;background:rgba(20,24,40,.28)}
.refpop.sheet>.refcard{width:100%;max-width:640px;max-height:78vh;overflow:auto;border:0;border-radius:14px 14px 0 0}
.refcard{background:#fff}
.refcard-head{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.refcard-title{font-weight:700;font-size:.92rem;color:var(--brand);line-height:1.25;flex:1;text-decoration:none}
.refcard-title:hover{text-decoration:underline}
.refcard-acts{display:flex;align-items:center;gap:6px;flex-shrink:0}
.refcard-btn{font-size:11.5px;padding:3px 8px;border:1px solid var(--line-2);border-radius:6px;background:var(--chip);color:#2b2f3a;cursor:pointer;text-decoration:none;white-space:nowrap}
.refcard-btn:hover{border-color:var(--accent);text-decoration:none}
.refcard-x{border:0;background:none;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;padding:0 2px}
.refcard-x:hover{color:#2b2f3a}
.refcard-body{padding:10px 12px;font-size:14px}
.refcard-body p{margin:0 0 7px}
/* Andock-Panel */
.refdock{position:fixed;top:0;right:0;width:390px;max-width:96vw;height:100vh;z-index:999;overflow:auto;
  background:#faf9f7;border-left:1px solid var(--line-2);box-shadow:-8px 0 26px rgba(20,24,40,.14)}
.refdock-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 12px;background:#fff;border-bottom:1px solid var(--line);font-weight:700}
.refdock-list{padding:10px}
.refcard.docked{border:1px solid var(--line);border-radius:9px;margin-bottom:10px;background:#fff;overflow:hidden}
body.has-dock{margin-right:390px}
@media(max-width:820px){ body.has-dock{margin-right:0} .refdock{display:none} }
/* Vorschau-fähige Verweise erkennbar machen */
.normtext a.reflink,.kontext a.reflink{text-decoration:underline dotted;text-underline-offset:2px;text-decoration-thickness:1px}
.normtext a.reflink:hover,.kontext a.reflink:hover{text-decoration:underline}

/* Startseite: Rechtsakte-Überblick + Themen */
.ov{margin:6px 0 4px}
.ov-row{display:flex;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line)}
.ov-label{flex:0 0 210px;font-size:.82rem;font-weight:700;color:var(--brand)}
.akt-chips,.thema-chips{display:flex;flex-wrap:wrap;gap:6px}
.akt-chip,.thema-chip{background:var(--chip);border:1px solid var(--line-2);border-radius:7px;padding:4px 10px;font-size:13px;color:#2b2f3a}
.akt-chip:hover,.thema-chip:hover{border-color:var(--accent);text-decoration:none;background:#fff}
.thema-chips{margin:8px 0 2px}
@media(max-width:640px){.ov-row{flex-direction:column;gap:4px}.ov-label{flex:auto}}
/* Erwägungsgründe-Liste in der Sidebar mehrspaltig */
.sidebox .eglist{column-width:56px;column-gap:8px}
.sidebox .eglist li{break-inside:avoid}
/* Nebeneinander: rechte Kontext-Spalte der Ausgangsnorm ausblenden */
body.has-dock .artgrid{grid-template-columns:1fr}
body.has-dock .artgrid .kontext{display:none}
