/* Amtsbrief – Website (Beta), kompakte Fassung v5: 28 Sprachseiten, RTL über logische Eigenschaften.
   Tokens aus dem Design-System. Kontrast ≥ 4,5:1, Tippflächen ≥ 32–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);
  --schatten-panel:0 12px 32px rgba(15,31,61,.16);
  --r-m:12px;--r-l:16px;--pill:999px;
  /* Keine großen Webfonts für Arabisch/Persisch/Urdu/Paschtu, Hindi, Chinesisch: System-Schriften als Fallback.
     Noto Sans (Webfont) deckt Latein + Kyrillisch ab; fehlende Zeichen fallen pro Zeichen auf die nächste Schrift. */
  --fallback:"Noto Sans Arabic","Geeza Pro","Noto Sans Devanagari","Kohinoor Devanagari","Nirmala UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans CJK SC","Segoe UI",Tahoma,system-ui,sans-serif;
  --font-h:"Manrope","Noto Sans",var(--fallback);--font-t:"Noto Sans",var(--fallback);
  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);--schatten-panel:0 12px 32px rgba(0,0,0,.45);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);--schatten-panel:0 12px 32px rgba(0,0,0,.45);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;text-wrap:balance}
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}
[hidden]{display:none!important}
.wrap{width:min(100% - 32px,1080px);margin:0 auto}
.text{max-width:680px}
.muted{color:var(--text-2)}
.skip{position:absolute;inset-inline-start: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))}

/* Schriften ohne Buchstabenabstand: Sperrung zerreißt arabische Schrift und die Devanagari-Kopflinie */
:is(:lang(ar),:lang(fa),:lang(ps),:lang(ur),:lang(hi),:lang(zh)){letter-spacing:0!important}
:is(:lang(ar),:lang(fa),:lang(ps),:lang(ur),:lang(hi)) :is(h1,h2,h3){line-height:1.35}

/* ---------- 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-inline-end:auto}
.top .logo svg{height:34px;width:auto}
nav.haupt > ul{display:flex;gap:2px}
nav.haupt > ul 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 > ul 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}

/* Sprachwahl: Knopf + dezentes Panel */
.sprachwahl{position:relative}
.iconbtn.lang[aria-expanded="true"]{background:var(--flaeche-2);border-color:var(--linie)}
.sprach-panel{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:60;width:min(540px,calc(100vw - 32px));max-height:min(72vh,460px);overflow:auto;overscroll-behavior:contain;padding:10px;background:var(--flaeche);border:1px solid var(--linie-leicht);border-radius:var(--r-l);box-shadow:var(--schatten-panel)}
.sp-titel{margin:2px 8px 8px;font:800 11px/1 var(--font-h);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2)}
.sprachliste{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px}
.sprachliste a{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14.5px;font-weight:600;line-height:1.2}
.sprachliste a:hover{background:var(--flaeche-2)}
.sprachliste a[aria-current]{background:var(--flaeche-2);font-weight:800}
.sprachliste a > svg{width:15px;height:15px;margin-inline-start:auto;color:var(--rot-text)}
.sprachliste img,.flaggen img{display:block;flex:none;width:20px;height:15px;border-radius:3px;object-fit:cover;box-shadow:0 0 0 1px rgba(15,31,61,.12)}
/* neutrales Zeichen statt Flagge (Kurdisch, Tschetschenisch) */
.neutral{display:inline-grid;place-items:center;flex:none;width:20px;height:15px;border-radius:3px;background:var(--flaeche-3);color:var(--text-2)}
.neutral svg{width:11px;height:11px}

/* Hinweis-Balken „Diese Seite gibt es auch auf …“ (nur auf /) */
.sprach-hinweis{background:var(--flaeche-2);border-bottom:1px solid var(--linie-leicht);font-size:14px}
.sprach-hinweis .wrap{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 0}
.sprach-hinweis p{margin:0;flex:1 1 0;min-width:0;line-height:1.35}
.sprach-hinweis .sh-oeffnen{flex:none;display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--pill);background:var(--primaer);color:var(--auf-primaer);font:700 14px/1 var(--font-h);text-decoration:none}
.sprach-hinweis .iconbtn{flex:none;height:32px;min-width:32px;padding:0}
.sprach-hinweis .iconbtn svg{width:16px;height:16px}

@media (max-width:860px){
  .menue-btn{display:inline-flex}
  .sprachwahl{display:none}
  nav.haupt{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 64px);overflow-y:auto;overscroll-behavior:contain;background:var(--flaeche);border-bottom:1px solid var(--linie-leicht);box-shadow:var(--schatten);padding:4px 16px 12px}
  nav.haupt.offen{display:block}
  nav.haupt > ul{flex-direction:column;gap:0}
  nav.haupt > ul > li+li{border-top:1px solid var(--linie-leicht)}
  nav.haupt > ul a{height:44px;width:100%;border-radius:0;padding:0 4px;font-size:16px}
  /* eine kompakte Zeile: Sprachknopf links, kleine Textlinks rechts daneben */
  nav.haupt .menue-extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:4px;padding-top:10px;border-top:1px solid var(--linie-leicht)}
  .sprachknopf{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 10px 0 12px;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;cursor:pointer}
  .sprachknopf svg{width:17px;height:17px}
  .sprachknopf .ic-chevron{width:14px;height:14px;color:var(--text-2);transition:transform .15s ease}
  .sprachknopf[aria-expanded="true"]{background:var(--flaeche-2);border-color:var(--linie)}
  .sprachknopf[aria-expanded="true"] .ic-chevron{transform:rotate(180deg)}
  .menue-links{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2)}
  .menue-links a{color:var(--text-2);text-decoration:none;padding:6px 0}
  .menue-links a:hover{color:var(--text);text-decoration:underline}
  .menue-sprachen{flex:1 1 100%}
  .menue-sprachen .sprachliste{grid-template-columns:1fr 1fr}
}
@media (max-width:370px){.top .logo svg{height:30px}.werkzeuge{gap:4px}}

/* ---------- 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: zwei gegenläufige Laufbänder, randlos mit weicher Ausblendung. Nur eigene Linien-Icons, keine Logos. */
.briefe-abschnitt{overflow:hidden}
.briefe-kopf{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.briefe-kopf .text{margin:0}
.lb-pause{flex:none;height:34px;min-width:34px;padding:0}
.lb-pause svg{width:15px;height:15px}
.lb-pause .ic-play{display:none}
.lb-pause[aria-pressed="true"] .ic-pause{display:none}
.lb-pause[aria-pressed="true"] .ic-play{display:block}
.laufband{display:grid;gap:8px;margin-top:18px;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.lb-reihe{overflow:hidden}
.lb-spur{display:flex;width:max-content;animation:lb-lauf 75s linear infinite}
.lb-reihe.rueck .lb-spur{animation-direction:reverse;animation-duration:64s}
.laufband:hover .lb-spur,.laufband.pausiert .lb-spur{animation-play-state:paused}
.lb-liste{display:flex;gap:8px;padding-right:8px}
.chip{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 5px;border-radius:var(--pill);background:var(--flaeche-2);border:1px solid var(--linie-leicht);font:700 14px/1 var(--font-h);white-space:nowrap}
[dir="rtl"] .chip{direction:rtl;padding:0 5px 0 14px}
.chip .bi{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--flaeche);color:var(--rot-text)}
.chip .bi svg{width:16px;height:16px}
@keyframes lb-lauf{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .laufband{direction:inherit;width:min(100% - 32px,1080px);margin-inline:auto;-webkit-mask-image:none;mask-image:none}
  .lb-spur{animation:none;width:auto}
  .lb-liste{flex-wrap:wrap;padding:0}
  .lb-kopie,.lb-pause{display:none!important}
  [dir="rtl"] .chip{direction:inherit}
}

/* Sprachen */
.vorschau{margin-top:18px;padding:14px 18px;border-radius:var(--r-l);background:var(--flaeche);border-inline-start: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.35 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(174px,1fr));margin-top:12px}
.sprache{display:flex;align-items:center;gap:8px;width:100%;min-height:42px;padding:5px 8px;border-radius:var(--r-m);background:var(--flaeche);border:1.5px solid transparent;color:var(--text);text-decoration:none;text-align:start;font-family:var(--font-t)}
.sprache:hover{border-color:var(--linie-leicht)}
.sprache[aria-current="page"]{border-color:var(--primaer)}
.flaggen{display:flex;gap:2px;flex:none}
.namen{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.sprache .nativ{font-size:14.5px;font-weight:700}
.sprache .de{font-size:12.5px;color:var(--text-2)}
.sprachen-notiz{margin:12px 0 0;font-size:13.5px}
@media (max-width:520px){.sprachen{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 h3{font-size:17px;margin:18px 0 6px}
.recht table{border-collapse:collapse;width:100%;max-width:680px;margin:0 0 20px;font-size:15.5px}
.recht th,.recht td{text-align:start;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-inline-start:1.3em}
.recht li{margin-bottom:6px}
.stand{color:var(--text-2);font-size:14.5px}
.adresse{padding:10px 14px;border-radius:var(--r-m);background:var(--flaeche-2);line-height:1.5}
@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 (kompakt: großes Logo, Links als kleine Chips nebeneinander) ---------- */
footer.fuss{background:var(--flaeche-2);margin-top:24px;font-size:14px}
.fuss-oben{display:grid;gap:18px 40px;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;padding:24px 0 16px}
.fuss-marke .logo{display:inline-flex}
.fuss-marke .logo svg{height:40px;width:auto}
.fuss-marke p{margin:8px 0 0;max-width:380px;color:var(--text-2)}
.fuss-marke .absender{margin-top:4px;font:700 13.5px/1.3 var(--font-h);color:var(--text)}
.fuss-links{display:grid;gap:12px}
.fuss-gruppe h2{font:800 11px/1 var(--font-h);letter-spacing:.12em;text-transform:uppercase;color:var(--text-2);margin:0 0 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--pill);border:1px solid var(--linie-leicht);background:var(--flaeche);color:var(--text);text-decoration:none;font-size:14px;line-height:1.2}
.chips a:hover{border-color:var(--linie)}
.chips a svg{width:14px;height:14px;color:var(--text-2)}
.chips .zusatz{color:var(--text-2);font-size:12.5px}
.fuss-unten{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;justify-content:space-between;padding:10px 0 16px;border-top:1px solid var(--linie-leicht);font-size:12.5px;color:var(--text-2)}
.fuss-unten a{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:700}
.fuss-unten a svg{width:14px;height:14px}
@media (max-width:760px){.fuss-oben{grid-template-columns:1fr;gap:14px;padding-top:20px}}
/* Handy: Links ohne Rahmen als schlanke Textzeile, damit zwei nebeneinander passen */
@media (max-width:600px){.chips{gap:0 14px}.chips a{min-height:30px;padding:0;border:0;background:none}.chips a:hover{text-decoration:underline}}
.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}
}
