/* Amtsbrief – Website (Beta), kompakte Fassung v4. Tokens aus dem Design-System. Kontrast ≥ 4,5:1, Tippflächen ≥ 40–44 px. */
@font-face{font-family:"Manrope";src:url("/assets/fonts/Manrope-var.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Noto Sans";src:url("/assets/fonts/NotoSans-var.woff2") format("woff2");font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}

:root{
  --flaeche:#ffffff;--flaeche-2:#f4f6f9;--flaeche-3:#e8ecf1;--linie:#76849b;--linie-leicht:#e1e5eb;
  --text:#0f1f3d;--text-2:#4b5a74;--primaer:#0f1f3d;--auf-primaer:#ffffff;--rot:#c8102e;--rot-text:#c8102e;
  --link:#1f4fd8;--verlauf-rot:#c8102e;--verlauf-violett:#6b3fa0;--verlauf-blau:#1f4fd8;
  --hinweis-flaeche:#fff3c4;--hinweis-text:#0f1f3d;
  --schatten:0 1px 2px rgba(15,31,61,.06),0 4px 14px rgba(15,31,61,.06);
  --r-m:12px;--r-l:16px;--pill:999px;
  --font-h:"Manrope","Noto Sans",system-ui,sans-serif;--font-t:"Noto Sans","Noto Sans Arabic",system-ui,sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --flaeche:#0b1730;--flaeche-2:#13254a;--flaeche-3:#1c3157;--linie:#7b93bd;--linie-leicht:#24395f;
  --text:#f5f7fa;--text-2:#b7c3d8;--primaer:#ffffff;--auf-primaer:#0f1f3d;--rot:#ff3b55;--rot-text:#ff8a9b;
  --link:#8ab4ff;--verlauf-rot:#ff3b55;--verlauf-violett:#9b7bd0;--verlauf-blau:#5b8cff;
  --hinweis-flaeche:#3a3208;--hinweis-text:#ffe58a;--schatten:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.3);color-scheme:dark;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --flaeche:#0b1730;--flaeche-2:#13254a;--flaeche-3:#1c3157;--linie:#7b93bd;--linie-leicht:#24395f;
  --text:#f5f7fa;--text-2:#b7c3d8;--primaer:#ffffff;--auf-primaer:#0f1f3d;--rot:#ff3b55;--rot-text:#ff8a9b;
  --link:#8ab4ff;--verlauf-rot:#ff3b55;--verlauf-violett:#9b7bd0;--verlauf-blau:#5b8cff;
  --hinweis-flaeche:#3a3208;--hinweis-text:#ffe58a;--schatten:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.3);color-scheme:dark;
}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--flaeche);color:var(--text);font-family:var(--font-t);font-size:17px;line-height:1.55;overflow-x:hidden}
h1,h2,h3{font-family:var(--font-h);line-height:1.15;margin:0 0 12px;letter-spacing:-.015em}
h1{font-size:clamp(28px,4.6vw,44px);font-weight:800}
h2{font-size:clamp(22px,3vw,30px);font-weight:800}
h3{font-size:18px;font-weight:700;margin-bottom:6px}
p{margin:0 0 14px}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:6px}
svg{flex:none}
ul{margin:0;padding:0;list-style:none}
.wrap{width:min(100% - 32px,1080px);margin:0 auto}
.text{max-width:680px}
.muted{color:var(--text-2)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--primaer);color:var(--auf-primaer);padding:10px 18px;border-radius:var(--pill);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.balken{height:4px;background:linear-gradient(90deg,var(--verlauf-rot),var(--verlauf-violett),var(--verlauf-blau))}

/* ---------- Kopf ---------- */
header.top{position:sticky;top:0;z-index:50;background:var(--flaeche);border-bottom:1px solid var(--linie-leicht)}
.top .wrap{display:flex;align-items:center;gap:12px;height:60px}
.top .logo{display:inline-flex;align-items:center;height:44px;margin-right:auto}
.top .logo svg{height:30px;width:auto}
nav.haupt ul{display:flex;gap:2px}
nav.haupt a{display:inline-flex;align-items:center;height:40px;padding:0 12px;border-radius:var(--pill);color:var(--text);text-decoration:none;font-family:var(--font-h);font-weight:700;font-size:15px}
nav.haupt a:hover{background:var(--flaeche-2)}
nav.haupt .menue-extra{display:none}
.werkzeuge{display:flex;gap:6px;align-items:center}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:40px;min-width:40px;padding:0 10px;border-radius:var(--pill);border:1.5px solid var(--linie-leicht);background:transparent;color:var(--text);font:800 13px/1 var(--font-h);letter-spacing:.04em;text-decoration:none;cursor:pointer}
.iconbtn:hover{background:var(--flaeche-2);border-color:var(--linie)}
.iconbtn svg{width:18px;height:18px}
#theme-toggle{padding:0}
#theme-toggle .ic-moon{display:none}
:root[data-theme="dark"] #theme-toggle .ic-sun{display:none}
:root[data-theme="dark"] #theme-toggle .ic-moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #theme-toggle .ic-sun{display:none}:root:not([data-theme="light"]) #theme-toggle .ic-moon{display:block}}
.menue-btn{display:none;padding:0}
.menue-btn .ic-close{display:none}
.menue-btn[aria-expanded="true"] .ic-menu{display:none}
.menue-btn[aria-expanded="true"] .ic-close{display:block}
.pillbtn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:var(--pill);border:1.5px solid var(--linie-leicht);background:var(--flaeche);color:var(--text);font:700 14px/1 var(--font-h);text-decoration:none;white-space:nowrap}
.pillbtn svg{width:16px;height:16px}
@media (max-width:860px){
  .menue-btn{display:inline-flex}
  .iconbtn.lang{display:none}
  nav.haupt{display:none;position:absolute;left:0;right:0;top:100%;background:var(--flaeche);border-bottom:1px solid var(--linie-leicht);box-shadow:var(--schatten);padding:6px 16px 16px}
  nav.haupt.offen{display:block}
  nav.haupt ul{flex-direction:column;gap:0}
  nav.haupt li+li{border-top:1px solid var(--linie-leicht)}
  nav.haupt a{height:48px;width:100%;border-radius:0;padding:0 4px;font-size:16px}
  nav.haupt .menue-extra{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
}

/* ---------- Knöpfe ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:var(--pill);border:1.5px solid transparent;font:700 16px/1.2 var(--font-h);text-decoration:none;cursor:pointer;text-align:center;transition:transform .08s ease}
.btn:active{transform:scale(.985)}
.btn-primaer{background:var(--primaer);color:var(--auf-primaer);border-color:var(--primaer)}
.btn-sekundaer{background:transparent;color:var(--text);border-color:var(--linie)}
.btn-sekundaer:hover{background:var(--flaeche-2)}
.btn svg{width:20px;height:20px}
.btn-reihe{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Hero ---------- */
.hero{padding:clamp(28px,5vw,64px) 0 clamp(24px,4vw,48px)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.hero .lead{font-size:clamp(17px,1.8vw,19px);color:var(--text-2);max-width:560px}
.hero-bild{display:flex;justify-content:center}
.hero-bild .anim{width:min(100%,300px);aspect-ratio:1/1}
.hero-bild svg{width:100%;height:auto}
.unterzeile{display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--text-2)}
.unterzeile span{display:inline-flex;align-items:center;gap:6px}
.unterzeile svg{width:16px;height:16px}
@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;gap:16px}
  .hero-bild{order:-1;justify-content:flex-start}
  .hero-bild .anim{width:120px}
  .btn-reihe .btn{flex:1 1 100%}
}

/* ---------- Abschnitte ---------- */
section{padding:clamp(32px,5vw,60px) 0}
section.band{background:var(--flaeche-2)}
.eyebrow{font:800 12px/1 var(--font-h);letter-spacing:.12em;text-transform:uppercase;color:var(--rot-text);margin-bottom:10px}
.karten{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:20px}
.karte{background:var(--flaeche);border:1px solid var(--linie-leicht);border-radius:var(--r-l);padding:18px}
section.band .karte{border-color:transparent;box-shadow:var(--schatten)}
.karte .nr{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primaer);color:var(--auf-primaer);font:800 15px/1 var(--font-h);margin-bottom:10px}
.karte .icon{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--flaeche-2);color:var(--rot-text);margin-bottom:10px}
.karte .icon svg{width:20px;height:20px}
.karte p{margin:0;font-size:15.5px;color:var(--text-2)}

/* Hinweis */
.hinweis{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-m);background:var(--hinweis-flaeche);color:var(--hinweis-text);margin-top:16px;font-size:15.5px}
.hinweis .sym{flex:none;width:24px;height:24px;border-radius:50%;background:var(--hinweis-text);color:var(--hinweis-flaeche);display:grid;place-items:center;font:800 14px/1 var(--font-h)}
.hinweis p{margin:0}

/* Brieftypen */
.briefe{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin-top:18px}
.briefe li{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:var(--r-m);background:var(--flaeche-2);font:700 14.5px/1.25 var(--font-h)}
.briefe .bi{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:var(--flaeche);color:var(--rot-text)}
.briefe .bi svg{width:17px;height:17px}

/* Sprachen */
.vorschau{margin-top:18px;padding:14px 18px;border-radius:var(--r-l);background:var(--flaeche);border-left:4px solid var(--rot)}
.vorschau-hinweis{margin:0 0 4px;font-size:13px;color:var(--text-2)}
.vorschau-satz{margin:0;font:800 clamp(18px,2.4vw,22px)/1.3 var(--font-h)}
.vorschau-satz.folgt{font:400 16px/1.4 var(--font-t);color:var(--text-2)}
.vorschau-name{margin:4px 0 0;font-size:13px;color:var(--text-2)}
.sprachen{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));margin-top:12px}
.sprachen li.breit{grid-column:span 2}
.sprache{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:6px 10px;border-radius:var(--r-m);background:var(--flaeche);border:1.5px solid transparent;color:var(--text);cursor:pointer;text-align:left;font-family:var(--font-t)}
.sprache:hover{border-color:var(--linie-leicht)}
.sprache[aria-pressed="true"]{border-color:var(--primaer)}
.flaggen{display:flex;gap:2px;flex:none}
.flaggen img{display:block;width:24px;height:18px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(15,31,61,.12)}
.kuerzel{display:inline-grid;place-items:center;width:24px;height:18px;border-radius:3px;background:var(--flaeche-3);font:800 9px/1 var(--font-h);color:var(--text-2)}
.namen{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sprache .nativ{font-size:15px;font-weight:700}
.sprache .de{font-size:12.5px;color:var(--text-2)}
@media (max-width:520px){.sprachen{grid-template-columns:1fr 1fr}.briefe{grid-template-columns:1fr 1fr}}

/* FAQ */
details{border-bottom:1px solid var(--linie-leicht)}
details:first-of-type{border-top:1px solid var(--linie-leicht)}
summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 2px;font:700 16.5px/1.3 var(--font-h)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--linie-leicht);display:grid;place-items:center;font-size:18px;line-height:1;color:var(--text-2)}
details[open] summary::after{content:"–"}
details .inhalt{padding:0 2px 14px;color:var(--text-2)}
details .inhalt p:last-child{margin-bottom:0}

/* Rechtstexte */
.recht h1{font-size:clamp(28px,4vw,38px)}
.recht h2{font-size:21px;margin-top:28px}
.recht table{border-collapse:collapse;width:100%;max-width:680px;margin:0 0 20px;font-size:15.5px}
.recht th,.recht td{text-align:left;vertical-align:top;padding:9px 10px;border-bottom:1px solid var(--linie-leicht)}
.recht th{font-family:var(--font-h);width:36%}
.recht ul{list-style:disc;padding-left:1.3em}
.recht li{margin-bottom:6px}
.stand{color:var(--text-2);font-size:14.5px}
@media (max-width:600px){.recht table,.recht tbody,.recht tr,.recht th,.recht td{display:block;width:100%}.recht th{padding-bottom:0;border-bottom:0}.recht td{padding-top:2px}}

/* ---------- Footer ---------- */
footer.fuss{background:var(--flaeche-2);margin-top:24px;font-size:15px}
.fuss-oben{display:grid;gap:28px;grid-template-columns:1.5fr 1fr 1fr;padding:36px 0 24px}
@media (max-width:760px){.fuss-oben{grid-template-columns:1fr;gap:20px;padding-top:28px}nav.fuss-spalte ul{display:flex;flex-wrap:wrap;gap:0 18px}}
.fuss-marke .logo{display:inline-flex}
.fuss-marke .logo svg{height:26px;width:auto}
.fuss-marke p{margin:10px 0 0;max-width:380px;color:var(--text-2)}
.fuss-marke .absender{margin-top:6px;font:700 14px/1.3 var(--font-h);color:var(--text)}
.fuss-spalte h2{font:800 11.5px/1 var(--font-h);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin:4px 0 10px}
.fuss-spalte li a{display:inline-flex;align-items:center;gap:8px;min-height:34px;color:var(--text);text-decoration:none}
.fuss-spalte li a:hover{text-decoration:underline}
.fuss-spalte li a svg{width:15px;height:15px;color:var(--text-2)}
.fuss-unten{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;justify-content:space-between;padding:14px 0 22px;border-top:1px solid var(--linie-leicht);font-size:13px;color:var(--text-2)}
.fuss-unten a{color:var(--text);font-weight:700}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:600px){
  .karten{gap:10px;margin-top:16px}
  .karte{padding:14px 16px}
  .karte:has(.icon),.karte:has(.nr){display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:start}
  .karte .icon,.karte .nr{grid-row:span 2;margin:2px 0 0}
  .karte h3{font-size:17px;margin:4px 0 2px}
  .karte p{font-size:15px}
}
