@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 700;font-display:swap;src:url(https://regio.link/wp-content/plugins/regio-link/assets/fonts/exo2-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-weight:400 700;font-display:swap;src:url(https://regio.link/wp-content/plugins/regio-link/assets/fonts/exo2-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}/* regio.link – gemeinsames Grund-CSS (Kopf, Footer, Karten, Knöpfe, Tooltips). Stil: edel-zurückhaltend. */
[data-tip]{position:relative}
:root{
  --navy:#163B4C;--navy-deep:#0F2B38;--orange:#DB5840;--orange-ui:#C44A33;--orange-text:#B8432D;
  --mint:#5EDBC0;--sprung:#1FA88B;--mint-ink:#0B6B59;--mint-bg:#E3F6F1;
  --bvg:#FFF3B0;--bvg-ink:#5A4A00;--bvg-h:#FFE98A;--bg:#FFFFFF;--seite:#F3F7F9;--mist:#EEF3F5;--mist-2:#E1E9EC;--line:#D3DEE3;--fg:#163B4C;--muted:#4A6270;--card:#FFFFFF;--solid:#163B4C;--zebra:#F3F7F9;
  --font-d:"Exo 2","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;--font-b:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#21374A;--seite:#21374A;--mist:#2A4256;--mist-2:#31506A;--line:#3A566C;--fg:#F2F6F8;--muted:#A9BCC6;--card:#2A4256;--solid:#3A566C;--zebra:#253D51; /* Stand 133: Hintergrund wie die Visitenkarte (#21374A), Flächen darauf abgestimmt */
  --orange-text:#F2F6F8;--sprung:#5EDBC0;--mint-ink:#5EDBC0;--mint-bg:#2A4256;--bvg:transparent;--bvg-ink:#FFE98A;--bvg-h:#3A3300;--bvg-rand:#E3C84A;color-scheme:dark;
}
*{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%}
html.fs1{font-size:112.5%}html.fs2{font-size:125%}html.fs3{font-size:150%}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--seite,var(--bg));color:var(--fg);font-family:var(--font-b);font-size:.9375rem;line-height:1.5;overflow-x:clip;min-width:0}
@media (min-width:641px){body{font-size:1rem}}
h1,h2,h3{font-family:var(--font-d);line-height:1.15;margin:0;text-wrap:balance}
p{margin:0}
img{max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:0;top:0;transform:translateY(-130%);background:#fff;color:#000;padding:10px 14px;z-index:200;border-radius:0 0 6px 0}.skip:focus{transform:none}
.wrap{max-width:1320px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.muted{color:var(--muted);font-size:.875rem}
main:focus{outline:none}

/* Tooltips der Website (data-tip), per Skript im Bild gehalten */
[data-tip]::after{content:attr(data-tip);position:fixed;z-index:90;left:var(--fx,0);top:var(--fy,0);transform:none;box-sizing:border-box;width:max-content;max-width:min(260px,calc(100vw - 32px));padding:7px 11px;border-radius:8px;background:#EAF3F6;border:1px solid #BCD0D8;color:#163B4C;box-shadow:0 6px 18px rgba(22,59,76,.14);font:400 .8125rem/1.35 var(--font-b);text-align:left;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:0;white-space:normal;display:none;pointer-events:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}
[data-tip]::after{pointer-events:none}
[data-tip]:hover::after,html.kb [data-tip]:focus-visible::after{display:block} /* Stand 110: Tooltip nur beim Überfahren oder bei Tastatur-Fokus – nach einem Mausklick bleibt kein Tooltip stehen */
[data-tip][data-up]::after{top:auto;bottom:var(--fb,0)}

/* Vorschau-Hinweis */
.vorschau{background:#B8432D;color:#fff;text-align:center;padding:6px 12px;font-size:.875rem}

/* Kopfzeile */
.hdr{position:sticky;top:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--line)}
.hdr>.wrap{display:flex;align-items:center;gap:12px;min-height:60px;position:relative}
.hdr .logo-a{display:block;flex:none;min-height:40px}
.logo{height:30px;width:auto;display:block}
:root[data-theme="dark"] .logo-l,:root:not([data-theme="dark"]) .logo-d{display:none}
.hsearch{flex:1;min-width:0;max-width:420px;display:flex;align-items:center;gap:8px;background:var(--mist);border-radius:6px;padding:8px 12px;color:var(--muted);position:relative}
.hsearch>svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.hsearch input{border:0;background:transparent;font:inherit;color:var(--fg);flex:1;min-width:0;outline:none}
.hsearch input::placeholder{color:var(--muted)}
.hsearch input::-webkit-search-cancel-button{display:none}
.hsearch:focus-within{box-shadow:inset 0 0 0 2px var(--orange)}
.hdr.nosearch .hsearch{visibility:hidden}
.hmenu{display:flex;align-items:center;gap:2px;margin-left:auto}
.hmenu a,.hmenu span.off{text-decoration:none;color:var(--fg);font-family:var(--font-d);font-weight:600;font-size:.875rem;padding:8px 10px;border-radius:6px;min-height:40px;display:inline-flex;align-items:center}
.hmenu a:hover{background:var(--mist)}
.hmenu a[aria-current]:not(.btn){position:relative}
.hmenu a[aria-current]:not(.btn)::before{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;background:var(--orange)}
.hmenu a.btn{margin-left:4px}
.tools{display:flex;gap:6px;align-items:center}
.icobtn{width:40px;height:40px;border-radius:6px;background:var(--mist);display:grid;place-items:center;color:var(--fg)}
.icobtn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icobtn[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
:root[data-theme="dark"] .ico-sun,:root:not([data-theme="dark"]) .ico-moon{display:none}
.hs-open{display:none}
@media (max-width:900px){.hmenu a:not(.keep){display:none}}
@media (max-width:640px){.tools .opt-x{display:none}} /* Stand 159: Vorlesen und Textgröße ab Tablet-Breite im Kopf, am Handy im Menü */
/* Stand 112: zweite Kopfzeile mit Direktzugriffen (Verwaltung › Kopfzeile) */
.hzeile{border-top:1px solid var(--line);background:var(--bg)}
.hzeile>.wrap{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:none;padding-top:2px;padding-bottom:2px;min-height:40px}
.hzeile>.wrap::-webkit-scrollbar{display:none}
.hzeile a{flex:none;text-decoration:none;color:var(--fg);font-family:var(--font-d);font-weight:600;font-size:.875rem;padding:6px 12px;border-radius:6px;min-height:36px;display:inline-flex;align-items:center;position:relative}
.hzeile a:hover{background:var(--mist)}
.hzeile a.hz-ab{margin-left:14px}
.hzeile a[aria-current]::before{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--orange)}
@media (max-width:640px){.hzeile>.wrap{padding-left:8px}.hzeile a.hz-ab{margin-left:8px}}
@media (max-width:640px){
  /* Stand 110: Suchzeile am Handy immer sichtbar als zweite Zeile der Kopfzeile (statt hinter dem Lupen-Zeichen) */
  .hdr>.wrap{flex-wrap:wrap}
  .hdr .hsearch{display:flex;order:10;flex:1 1 100%;max-width:none;margin:0 0 8px}.hs-open{display:none}.hmenu .keep{display:none}
  .hdr.nosearch .hsearch{display:none}
  [id]{scroll-margin-top:164px!important}
  .hmenu span.off.keep{display:none}
  .icobtn{width:44px;height:44px}
  .hdr.suche .hs-open::after{display:none!important}
}
@media (max-width:389px){
  .hdr>.wrap{gap:8px}
  .tools{gap:4px}
  .logo{height:26px}
}
@media (max-width:340px){
  .hdr>.wrap{gap:4px}
  .tools{gap:2px}
  .logo{height:22px}
  .icobtn{width:36px;height:36px}
}

/* Suchvorschläge */
.sres[hidden]{display:none}
.sres{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);color:var(--fg);border-radius:6px;box-shadow:0 12px 32px rgba(22,59,76,.22),0 0 0 1px var(--line);padding:8px;display:grid;gap:2px;max-height:min(340px,60vh);overflow:auto;z-index:70;text-align:left}
.sres .hd{font-size:.75rem;color:var(--muted);padding:6px 8px 2px}
.sres .hit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border-radius:4px;text-decoration:none;color:inherit;min-height:44px}
.sres .hit:hover,.sres .hit:focus-visible{background:var(--mist)}
.sres .hit b{font-family:var(--font-d);font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sres .hit small{color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sres .why{font-size:.75rem;color:var(--muted);font-family:var(--font-d);font-weight:600;white-space:nowrap}
.sres button.why{padding:3px 8px;box-shadow:inset 0 0 0 1px var(--muted);border-radius:4px;color:var(--fg);margin:2px 4px 2px 0;min-height:32px}

/* Knöpfe */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:6px;font-family:var(--font-d);font-weight:600;font-size:.9375rem;text-decoration:none;color:inherit;white-space:nowrap;min-height:44px}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn.p{background:var(--orange-ui);color:#fff}
.btn.s{background:var(--fg);color:var(--bg)}
/* Rückmeldung beim Darüberfahren: Knopf färbt sich leicht ein */
.btn{transition:background-color .15s,filter .15s}
.btn.p:hover:not(:disabled):not([aria-disabled="true"]){filter:brightness(.9)}
.btn.s:hover:not(:disabled):not([aria-disabled="true"]){filter:brightness(1.25)}
/* Knöpfe (Stand 106, aus Firmenkarten-Entwurf 4): Mint-Knopf .m, Rahmen-Knopf .o; Farbrückmeldung beim Überfahren, hell und dunkel – zentral für alle Seiten */
.btn{transition:background-color .15s,color .15s,box-shadow .15s,filter .15s}
.btn.m{background:#E3F6F1;color:#0B4F42;box-shadow:inset 0 0 0 1.5px #5EDBC0}
.btn.m:hover:not(:disabled):not([aria-disabled="true"]){background:#CFF2E8;box-shadow:inset 0 0 0 1.5px #3FCBAA}
.btn.o,.hilfe-b main .btn.o,.hilfe-b main .btn.s{background:var(--bg);color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--sprung)}
.btn.o:hover:not(:disabled):not([aria-disabled="true"]),.hilfe-b main .btn.o:hover,.hilfe-b main .btn.s:hover{background:#E3F6F1;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--sprung)}
:root[data-theme="dark"] .btn.m{background:#31506A;color:#EAFBF6;box-shadow:inset 0 0 0 1.5px #5EDBC0}
:root[data-theme="dark"] .btn.m:hover:not(:disabled):not([aria-disabled="true"]){background:#3A566C;box-shadow:inset 0 0 0 1.5px #8AEBD6}
:root[data-theme="dark"] .btn.o,:root[data-theme="dark"] .hilfe-b main .btn.o,:root[data-theme="dark"] .hilfe-b main .btn.s{background:var(--bg);color:#F2F6F8;box-shadow:inset 0 0 0 1.5px var(--mint)}
:root[data-theme="dark"] .btn.o:hover:not(:disabled):not([aria-disabled="true"]),:root[data-theme="dark"] .hilfe-b main .btn.o:hover,:root[data-theme="dark"]  .hilfe-b main .btn.s:hover{background:var(--mist);color:#F2F6F8;box-shadow:inset 0 0 0 1.5px var(--mint)}
.btn.y{background:var(--bvg);color:var(--bvg-ink);box-shadow:inset 0 0 0 1px var(--bvg-rand,rgba(0,0,0,.08))}
:root[data-theme="dark"] .btn.y{box-shadow:inset 0 0 0 1.5px var(--bvg-rand)} /* Variante C (21.10.2026): dunkel nur Gelb-Rand, helle Schrift */
.btn.y:hover:not(:disabled):not([aria-disabled="true"]){background:var(--bvg-h)}
.btn.dim{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.btn.dim:hover:not(:disabled):not([aria-disabled="true"]){box-shadow:inset 0 0 0 1.5px var(--mint)}
.btn.w{background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.btn.w:hover:not(:disabled):not([aria-disabled="true"]){box-shadow:inset 0 0 0 1.5px var(--mint)}
.btn.sm{padding:8px 14px;font-size:.875rem;min-height:40px}
.btn.lg{padding:15px 26px;font-size:1.0625rem;white-space:normal;text-align:center}
.lnk.smarke{text-decoration-style:dotted;text-decoration-color:var(--sprung);text-decoration-thickness:2px}
.lnk{color:var(--fg);font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;display:inline-flex;align-items:center;min-height:40px}

/* Typografie und Abschnitte */
h1{font-weight:600;letter-spacing:-.01em}
.kick{font-family:var(--font-d);font-weight:600;letter-spacing:.2em;font-size:.75rem;color:var(--orange-text);text-transform:uppercase}
.crumbs{font-size:.8125rem;color:var(--muted);padding-block:14px 0;letter-spacing:.02em}
.crumbs a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:32px;padding:0 2px}
.crumbs b,.crumbs span[aria-current]{color:var(--fg);font-weight:600}
.page-h{display:grid;gap:12px;padding-block:14px 26px;max-width:none} /* Stand 133: Überschrift über die volle Breite, Text darunter lesbar schmal */
.page-h>:not(h1){max-width:760px}.page-h>.ein-knopf{justify-self:start}.page-ein{display:grid;gap:12px}
.page-h h1{font-size:clamp(1.75rem,4.2vw,2.75rem);line-height:1.08;overflow-wrap:anywhere}
.page-h p{color:var(--muted);max-width:60ch}
.sh{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;margin-bottom:16px}
.sh h2{font-size:1.0625rem;font-weight:600;color:var(--fg)}
.sh p{color:var(--muted);font-size:.875rem;width:100%;margin-top:-2px}
.sh a,.sh span.off{font-family:var(--font-d);font-weight:600;font-size:.875rem;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;display:inline-flex;align-items:center;min-height:40px}
.blk{padding-block:40px;border-top:1px solid var(--line)}.blk.first{border-top:0}
.text{max-width:70ch}.text p+p{margin-top:.8em}
section.text{margin-bottom:25px;max-width:none}.text>*{max-width:70ch}.text>.eine{max-width:none}
.datenhinweis{background:var(--mist);border-radius:6px;padding:12px 16px;margin:0 0 24px;color:var(--fg);font-size:.9375rem;max-width:70ch}
.datenhinweis a{color:var(--fg)}
.leer{color:var(--muted)}

/* Auf einen Blick */
.blick{padding-block:6px 30px}
.blick h2{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.zahlen{display:flex;flex-wrap:wrap;gap:22px 48px}.zahlen>div{min-width:150px;flex:0 1 240px}
.gross{display:block;font-family:var(--font-d);font-size:clamp(2rem,5vw,3rem);font-weight:600;color:var(--fg);line-height:1.05}
.klein{display:block;font-size:.9375rem;color:var(--muted);margin-top:4px}
.quelle{font-size:.8125rem;color:var(--muted);margin:16px 0 0}
/* Sternchen an IHK-Zahlen und Fußnote am Seitenende (RL_Seiten::stern / fussnote) */
.stern{font-size:.7em;line-height:0;font-weight:400}.gross .stern{font-size:.4em;vertical-align:super}
.fussnote{margin:40px 0 0;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:6px;font-size:.75rem;line-height:1.5;color:var(--muted);scroll-margin-top:136px;overflow-wrap:anywhere}
.fussnote a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Bezirke / Zeilenlisten */
.bez{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:0 36px}
.bz{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2px 12px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit;min-height:48px}
.bz b{font-family:var(--font-d);font-weight:600;font-size:.9375rem;overflow-wrap:break-word;min-width:0;}
.bz span{font-size:.8125rem;color:var(--muted);text-align:right;min-width:0;max-width:100%}
a.bz b{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
div.bz b,span.bz b{color:var(--muted);font-weight:500}
.ob{margin:0 0 16px;font-size:1.0625rem;font-weight:600}

/* Karten mit Bild */
.vcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:28px 24px;list-style:none;margin:0;padding:0}
.vc{display:grid;gap:10px;text-decoration:none;color:inherit;align-content:start;min-width:0}
.vc .ph{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--mist)}
.vc .ph img{width:100%;height:100%;object-fit:cover;display:block}
.vc b{font-family:var(--font-d);font-weight:700;font-size:1.0625rem;display:block;line-height:1.25;overflow-wrap:anywhere}
.vc small{display:block;color:var(--muted);font-size:.8125rem}
.vc .st{font-size:.8125rem;display:flex;gap:7px;align-items:center;color:var(--fg);font-weight:600;font-family:var(--font-d)}
.vc:hover b{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--sprung);display:inline-block;flex:none}
.ini{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-d);font-weight:600;font-size:1.5rem;color:var(--muted);background:var(--mist-2)}
/* Stand 129: KI-Hinweis zart, direkt auf dem Bild unten rechts (Vorbild kunden.agentin.de), keine Pille */
.ki,.hki{position:absolute;right:10px;bottom:8px;top:auto;z-index:3;font-size:.625rem;line-height:1.2;color:rgba(255,255,255,.92);background:none;padding:0;border-radius:0;box-shadow:none;letter-spacing:.01em;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;font-family:var(--font-b);font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 6px rgba(0,0,0,.35)}
.leerkarte{border-radius:6px;background:var(--mist);padding:22px 20px;color:var(--muted);max-width:70ch}
.leerkarte b{color:var(--fg);font-family:var(--font-d);display:block;margin-bottom:4px}

/* Zeilen (Firmenlisten) */
.list{display:grid}
.row{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:6px 18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.row:last-child{border-bottom:1px solid var(--line)}
.row{padding-left:14px;padding-right:14px}.row:nth-child(odd){background:var(--zebra)}
a.th,.th{display:block;width:112px;height:84px;border-radius:4px;overflow:hidden;background:var(--mist)}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.row>div{min-width:0}
.row b{font-family:var(--font-d);font-weight:600;font-size:1rem;display:block;overflow-wrap:anywhere}
.row small{display:block;color:var(--muted);font-size:.8125rem;margin-top:2px}
.row .st{font-size:.8125rem;display:flex;gap:7px;align-items:center;font-weight:600;font-family:var(--font-d);margin-top:4px}
.row .act{display:flex;gap:8px;flex-wrap:wrap}
a.tl{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;color:inherit}
@media (max-width:640px){.row{grid-template-columns:76px minmax(0,1fr)}a.th,.th{width:76px;height:76px}.row .act{grid-column:1/-1}.row .act .btn{flex:1}}

/* Nutzenzeilen, Aufruf */
.vals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:30px 36px}
.val{display:grid;gap:6px;align-content:start;min-width:0}
.val .ic{width:34px;height:34px;border-radius:6px;box-shadow:inset 0 0 0 1px var(--muted);display:grid;place-items:center;margin-bottom:6px}
.val .ic svg{width:18px;height:18px;stroke:var(--fg);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.val h3{font-size:1.0625rem;font-weight:600;overflow-wrap:anywhere}.val p{color:var(--muted);font-size:.875rem}
.val h2{font-size:1.0625rem;font-weight:600}
.cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;padding-block:34px;border-top:1px solid var(--line)}
.cta h2{font-size:1.0625rem;font-weight:600}.cta p{color:var(--muted);margin-top:4px}
@media (max-width:640px){.cta{grid-template-columns:minmax(0,1fr)}}
.cta .btn{white-space:normal}

/* Filter-Zeilen (Stand 110): Auswahlzeilen überall als Startseiten-Pille – abgerundet, Mint-Rand, Zahl klein, gewählt = Mint-Fläche, Überfahren Mint; am Handy umbrechend */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fchip{padding:5px 14px;border-radius:999px;font-family:var(--font-d);font-weight:600;font-size:.8125rem;line-height:1.1;color:var(--fg);background:transparent;box-shadow:inset 0 0 0 1px var(--mint);min-height:36px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background-color .15s,color .15s}
.fchip small{font-weight:400;font-size:.75rem;color:var(--muted)}
.fchip:hover,.fchip:focus-visible{background:var(--mint);color:#163B4C;outline:none}.fchip:hover small,.fchip:focus-visible small{color:#163B4C}
.fchip[aria-pressed="true"],.fchip[aria-current]{background:var(--mint-bg);color:var(--mint-ink);box-shadow:inset 0 0 0 1px var(--mint)}
.fchip[aria-pressed="true"] small,.fchip[aria-current] small{color:var(--mint-ink)}
:root[data-theme="dark"] .fchip[aria-pressed="true"],:root[data-theme="dark"] .fchip[aria-current]{color:#EAFBF6}:root[data-theme="dark"] .fchip[aria-pressed="true"] small,:root[data-theme="dark"] .fchip[aria-current] small{color:#EAFBF6}
@media (max-width:640px){.fchip{min-height:40px;padding:6px 14px}}
.flab{font-size:.75rem;color:var(--muted);font-family:var(--font-d);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}

/* Footer */
.fuss{margin-top:248px;background:#132e43;color:#EDF3F6;font-size:.875rem}
.fuss a{color:#EDF3F6}
.fuss .wrap{padding-block:26px 28px;display:grid;gap:14px}
.fuss .fl{display:flex;flex-wrap:wrap;gap:4px 22px}
.fuss .fl a,.fuss .fl span.off{font-family:var(--font-d);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:40px}
.fuss .fl a:hover{text-decoration:underline;text-underline-offset:3px}
.fuss .fnote{display:grid;gap:8px;max-width:90ch;color:#C9D6DD;font-size:.8125rem}
.fuss .fnote p{overflow-wrap:anywhere}.fuss .fnote a{text-decoration:underline;text-underline-offset:3px}
.fuss .legal{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;padding:14px 0 0;margin-top:6px;border-top:1px solid rgba(255,255,255,.14)} /* Stand 111: Rechtstexte in derselben Farbe, nur durch Abstand und feine Linie getrennt */
.fuss .legal a{text-decoration:none;font-weight:600;min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center}
.fuss .lg-c{margin-left:auto;color:#C9D6DD;font-size:.75rem}
.fuss .stand{color:#9FB6C3;font-size:.75rem}
@media (max-width:640px){.fuss .lg-c{margin-left:0;flex-basis:100%}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.hdr,.lang,.fuss .legal{display:none}}

/* Branchenübersicht */
.bfilter{margin-bottom:14px}.bsuche{max-width:460px;max-width:min(460px,100%)}
.sprung{margin-bottom:8px}
.bgruppe{scroll-margin-top:120px}.bgruppe[hidden],.bz[hidden]{display:none}
html{scroll-behavior:smooth}
.bgruppe+.bgruppe{margin-top:48px}
.bez.stapel .bz{grid-template-columns:minmax(0,1fr);min-height:76px;align-content:start;gap:3px}
.bez.stapel .bz span{text-align:left}

/* Ziel ohne Seite: nicht aktiv, Hinweis per Tooltip */
span.off{cursor:default}
span.off:not(.btn){color:var(--muted);text-decoration:none}
.sh span.off{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;color:var(--fg)} /* gleiche Darstellung wie ein Link; bis die Zielseite da ist, ohne Klick (Hinweis „Diese Seite folgt.“) */
.btn.off{box-shadow:inset 0 0 0 1px var(--muted);background:transparent;color:var(--muted)}
main{flex:1 0 auto}
.btn.p.off{box-shadow:none;background:var(--orange-ui);color:#fff} /* orange Knöpfe bleiben orange, auch solange die Zielseite noch folgt */
[data-tipoff]::after,[data-tipoff]:hover::after,[data-tipoff]:focus-visible::after{display:none!important}
.fuss .fl span.off{color:#A9BBC6}
:root[data-theme="dark"] [data-tip]::after,[data-theme="dark"] [data-tip]::after{background:#DCE9EE;border-color:#A8BAC2;color:#163B4C;box-shadow:0 6px 18px rgba(0,0,0,.45)}

/* Menü auf kleinen Bildschirmen */
.mn-open{display:none}.mnav{display:none}
@media (max-width:900px){
  .mn-open{display:grid;order:-1}
  .hdr{position:sticky}
  .hdr .mnav:not([hidden]){display:flex;flex-direction:column;position:absolute;left:0;right:0;top:100%;background:var(--card,var(--bg));border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(22,59,76,.15);padding:8px 16px 12px;z-index:9}
  .mnav a{color:var(--fg);text-decoration:none;font-family:var(--font-d);font-weight:600;font-size:1.0625rem;padding:14px 4px;border-bottom:1px solid var(--line);min-height:44px}
  .mnav a:last-child{border-bottom:0}
  .mnav a[aria-current]{color:var(--orange-text,var(--fg));box-shadow:inset 3px 0 0 var(--orange);padding-left:12px}
  .mnav a.btn{margin-top:10px;border-bottom:0;justify-content:center;background:var(--mint-bg);color:var(--mint-ink);box-shadow:inset 0 0 0 1.5px var(--mint);border-radius:8px;padding:12px 14px;font-size:1rem}
  :root[data-theme="dark"] .mnav a.btn{color:#EAFBF6}
  .hdr.mn .mn-open{background:var(--fg);color:var(--bg)}
}
.hdr.mn .mn-open::after,.hdr.mn .mn-open::before{display:none!important}

/* Smartphone und Touch: keine Tooltips im öffentlichen Teil (Verwaltung bleibt) */
@media (hover:none),(pointer:coarse),(max-width:700px){[data-tip]::after,[data-tip]:hover::after,[data-tip]:focus-visible::after{display:none!important}}

/* ---- Ämter & Hilfe ---- */
.hkopf{position:relative;width:100%;border-radius:10px;overflow:hidden;background:var(--fg);aspect-ratio:3/1;min-height:170px;max-height:360px;margin:6px 0 18px}
.hkopf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hkopf::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,30,40,.78) 0%,rgba(10,30,40,.35) 42%,rgba(10,30,40,0) 70%)}
.hkt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px clamp(16px,3vw,32px) 40px}
.hkt h1{color:#fff;font-size:clamp(1.5rem,4.2vw,2.5rem);line-height:1.1;overflow-wrap:break-word;hyphens:auto;text-shadow:0 1px 8px rgba(0,0,0,.35)}

.hintro{max-width:68ch;color:var(--muted);margin:0 0 8px;font-size:1.0625rem;line-height:1.55}
.hblock{padding-block:26px;border-top:1px solid var(--line)}
.hkacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:12px}
.hk{display:grid;gap:4px;padding:16px 18px;border-radius:8px;background:var(--mist);text-decoration:none;color:inherit;min-height:84px;align-content:start;border:1px solid transparent}
.hk:hover{border-color:var(--line)}
.hk b{font-family:var(--font-d);font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
.hk span{font-size:.8125rem;color:var(--muted)}
.hnotruf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px}
.hnr{display:grid;gap:2px;padding:16px 18px;border-radius:8px;background:var(--mint-bg);text-decoration:none;color:inherit;min-height:96px;align-content:start}
.hnr b{font-family:var(--font-d);font-size:1.75rem;line-height:1.1}
.hnr span{font-size:.875rem}
.hnr small{font-size:.75rem;color:var(--muted);margin-top:2px}
.hnote{font-size:.8125rem;color:var(--muted);margin-top:12px;max-width:80ch}
.hquelle{font-size:.8125rem;color:var(--muted);margin:30px 0 40px;padding-top:14px;border-top:1px solid var(--line);text-wrap:pretty}
.hquelle .lnk{min-height:0;font-size:inherit;font-weight:600}
.hbanner{display:grid;gap:6px;padding:16px 18px;border-radius:8px;background:var(--mint-bg);margin:0 0 6px}
.hbanner b{font-family:var(--font-d);font-weight:600}
.hvor{color:var(--muted)}
.hliste{list-style:none;margin:0;padding:0;display:grid}
.hz{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.hz[hidden]{display:none}
.hz{padding-left:14px;padding-right:14px}.hz:nth-child(odd){background:var(--zebra)}.hz.zb{background:transparent}.hz.za{background:var(--zebra)}
.hz-t{display:grid;gap:2px;min-width:0}
.hz-t span{font-size:.8125rem;color:var(--muted);overflow-wrap:anywhere}
.hz-t .hz-fehlt{font-style:italic;opacity:.85}
.hz-a{display:flex;flex-wrap:wrap;gap:8px}
.hkompakt .hz{padding:8px 0}
.hfilter{display:grid;gap:12px;margin-bottom:12px}
.hfilter .fchip{border:0;font-family:var(--font-d);font-weight:600;font-size:.8125rem;line-height:1.1}
.hnav{margin-top:18px}
.hs-h .hart{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.hkarte{display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:center;padding:18px 20px;border-radius:8px;background:var(--mist);margin-bottom:14px}
.hk-ad{display:grid;gap:4px;min-width:0}
.hk-ad span{color:var(--muted);font-size:.9375rem}
.hk-ak{display:flex;flex-wrap:wrap;gap:8px}
.hzeiten{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.hinfo{max-width:70ch}
.hnd{list-style:none;margin:0;padding:0;display:grid}
.hnd li{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.hnd-t{display:grid;gap:2px;min-width:0}
.hnd-t span{font-size:.8125rem;color:var(--muted)}
.hnd-t .hnd-z{color:var(--fg);font-weight:600}
.bvg-l{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.bvg-l li{display:flex;gap:12px;align-items:flex-start}
.bvg-l li>div{display:grid;gap:1px;min-width:0}
.bvg-l span:not(.vz){font-size:.8125rem;color:var(--muted)}
.vz{flex:none;min-width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-family:var(--font-d);font-weight:700;font-size:.75rem;color:#fff;background:#163B4C;padding:0 6px}
.vz-U{background:#1f5fa8}.vz-S{background:#247a33}.vz-Tram{background:#b4252a}.vz-Bus{background:#7a2a82}
.bvg-a{display:flex;flex-wrap:wrap;gap:8px}
.bvg-h{margin-top:10px}
body.vorschau-v [data-vn]{position:relative;outline:2px dashed rgba(218,85,70,.55);outline-offset:3px}
body.vorschau-v [data-vn]::before{content:attr(data-vn);position:absolute;left:-10px;top:-10px;z-index:60;width:24px;height:24px;border-radius:50%;background:#da5546;color:#fff;font:700 13px/24px system-ui,sans-serif;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.3)}
body.vorschau-v .vorschau,body.vorschau-v .hdr,body.vorschau-v .fuss{display:none}
@media (max-width:700px){.hkopf{aspect-ratio:4/3;max-height:300px}.hz{grid-template-columns:minmax(0,1fr)}}

/* Hinweisfenster beim Verlassen der Seite */
.ext-offen{overflow:hidden}
.ext-fond{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(22,59,76,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.ext-box{box-sizing:border-box;width:100%;max-width:420px;padding:24px 24px 22px;border-radius:16px;background:var(--bg);color:var(--fg);box-shadow:0 20px 60px rgba(0,0,0,.28);text-align:center}
.ext-logo{display:flex;justify-content:center;margin:0 0 14px}
.ext-box h2{margin:0 0 8px;font:700 1.125rem/1.3 var(--font-b);color:inherit}
.ext-box p{margin:0 0 20px;font:400 .9375rem/1.5 var(--font-b);color:var(--muted)}
.ext-knoepfe{display:flex;gap:10px}
.ext-b{flex:1 1 0;min-width:0;min-height:44px;padding:10px 12px;overflow-wrap:anywhere;border-radius:10px;font:600 .9375rem/1.2 var(--font-b);cursor:pointer}
.ext-b:focus-visible{outline:3px solid #5EDBC0;outline-offset:2px}
@media (max-width:420px){.ext-knoepfe{flex-direction:column-reverse}}
.ext-knoepfe.ext-lang{flex-direction:column-reverse}/* Stand 117: lange Zieladresse (z. B. denkmaldatenbank.berlin.de) */

/* Knöpfe im Bereich Ämter & Hilfe und im Hinweisfenster: hell und freundlich (Muster C) */
.hilfe-b main .btn.p,.ext-weiter{background:#E3F6F1;color:#0B4F42;border:0;box-shadow:inset 0 0 0 1.5px #5EDBC0}
.hilfe-b main .btn.p:hover,.ext-weiter:hover{background:#CFF2E8;box-shadow:inset 0 0 0 1.5px #3FCBAA}
.ext-bleiben{background:#fff;color:var(--fg);border:0;box-shadow:inset 0 0 0 1.5px #BCD0D8}
.ext-bleiben:hover{background:#F3F8FA}
:root[data-theme="dark"] .hilfe-b main .btn.p,:root[data-theme="dark"] .ext-weiter{background:var(--mint-bg);color:#EAFBF6;box-shadow:inset 0 0 0 1.5px #5EDBC0}
:root[data-theme="dark"] .hilfe-b main .btn.p:hover,:root[data-theme="dark"] .ext-weiter:hover{background:#31506A;/* Stand 117: Kontrast beim Überfahren ≥ 4,5:1 */box-shadow:inset 0 0 0 1.5px #8AEBD6}
:root[data-theme="dark"] .ext-bleiben{background:var(--mist);color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line)}
:root[data-theme="dark"] .ext-bleiben:hover{background:var(--mist-2)}
/* Einleitungstexte mit Links (Ämter & Hilfe) */
.hintro p{margin:0 0 .75em}.hintro p:last-child{margin-bottom:0}
.hintro .lnk{display:inline;min-height:0;font-size:inherit;font-weight:600}
.fchip[href^="#"]{text-decoration:none}

/* Firmenkarten (Stand 106, Entwurf 4): dünner Mint-Rahmen, Basis mit Branchenbild, Plus mit Mint-Fläche, Logo-Kachel, Chips, Knöpfen und Hover-Fläche */
.vc .vi{display:grid;gap:3px;margin-top:-4px;font-size:.875rem}
.vc .vi .kz{color:var(--fg);line-height:1.4}
.vc .vi .an{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}
.vc .vi .st{font-family:var(--font-b);font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:6px;margin-top:2px}
.vc .vi .st .dot{background:#5EDBC0}
.vc .vi .st.zu{color:var(--muted);font-weight:400}
.vc .vi .st.zu .dot{background:#9AAAB4}
.vcards>li{border:1px solid rgba(94,219,192,.55);border-radius:8px;padding:12px;background:var(--bg);display:grid;gap:10px;min-width:0;transition:border-color .15s}
.vcards>li[hidden]{display:none}.vcards>li:hover{border-color:var(--mint)}
.vcards>li.plus{border:1.5px solid var(--mint);background:var(--mint-bg);box-shadow:0 2px 14px rgba(94,219,192,.3);transition:transform .2s,box-shadow .2s}
.vcards>li.plus:hover{position:relative;top:-2px;box-shadow:0 8px 22px rgba(94,219,192,.4)}
.vc .ph>img:first-child{transition:transform .4s}
.vc .ph.bb>img:first-child{filter:saturate(.85)}
.vc .ph.bb::after{content:"";position:absolute;inset:0;background:rgba(94,219,192,.12);z-index:1}
:root[data-theme="dark"] .vc .ph.bb>img:first-child{filter:saturate(.75)}
:root[data-theme="dark"] .vc .ph.bb::after{background:rgba(33,55,74,.18)} /* Stand 134: blauer statt grüner Schleier */
.vc .pl{position:absolute;left:8px;top:8px;z-index:3;background:var(--navy);color:#fff;font:700 .6875rem var(--font-d);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.vc .ph img.lg{position:absolute;left:10px;bottom:10px;z-index:3;width:auto;max-width:46%;height:48px;object-fit:contain;background:var(--lg-bg,#fff);border-radius:10px;padding:6px 9px;box-shadow:0 2px 10px rgba(10,30,40,.35)}
.vc .ph img.lg.rund{border-radius:50%;width:48px;padding:7px;object-fit:contain}
:root[data-theme="dark"] .vc .ph img.lg{background:var(--lg-bg-d,var(--lg-bg,#fff))}
.bbk,.bbk[data-tip]{position:absolute;right:10px;bottom:8px;z-index:3;font-size:.625rem;line-height:1.2;color:rgba(255,255,255,.92);background:none;padding:0;border-radius:0;box-shadow:none;letter-spacing:.01em;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;font-family:var(--font-b);font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 6px rgba(0,0,0,.35)}

.vc .vi .kap{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0}
.vc .vi .kap span{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--sprung);color:var(--fg)}
.vact{display:flex;gap:6px;flex-wrap:wrap;align-self:end}
.vact .btn{flex:1 1 auto;justify-content:center;padding:8px 10px;font-size:.8125rem;min-height:40px}
.vcards>li>.vc{align-content:start}
.mnav span.off{display:block;color:var(--muted);font-family:var(--font-d);font-weight:600;font-size:1.0625rem;padding:14px 4px;border-bottom:1px solid var(--line);min-height:44px}
/* Hover-Fläche der Plus-Karte */
.ov{position:absolute;inset:0;z-index:4;background:rgba(15,43,56,.86);color:#fff;padding:12px;display:grid;align-content:start;gap:5px;font-size:.8125rem;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.ov b{text-decoration:none!important;font-family:var(--font-d);font-size:.9375rem;color:var(--mint)}
.ov .ak{color:#fff;font-weight:700}.ov .ak::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ED564F;margin-right:6px;vertical-align:1px} /* Stand 134: Aktion weiß mit rotem Punkt (liegt immer auf Navy) */
.ov .szs{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ov .szs span{background:var(--mint);color:#0B4F42;font-weight:700;padding:4px 10px;border-radius:999px;font-size:.75rem}
.ov em{font-style:normal;margin-top:auto;opacity:.85;font-size:.75rem}
.vcards>li.plus:hover .ov,.vcards>li.plus:focus-within .ov{opacity:1;transform:none}
.vcards>li.plus:hover .ph>img:first-child{transform:scale(1.02)}
.mob{display:none;font-size:.8125rem;color:var(--orange-text);font-weight:600}
@media(hover:none){.ov{display:none}.vcards>li.plus .mob{display:block}}
@media (max-width:640px){.recht-t a[href^="http"],.recht-t a[href^="mailto"]{display:inline-block;padding:9px 0;line-height:1.35;overflow-wrap:anywhere}} /* Rechtstexte mobil: lange Links luftiger, besser zu treffen */

/* Dunkle Ansicht: auf der Mint-Fläche („Mint auf Blau“) etwas hellere Nebentexte, damit sie gut lesbar bleiben */
:root[data-theme="dark"] .oj-z.plus,:root[data-theme="dark"] .vcards>li.plus,:root[data-theme="dark"] .hnr,:root[data-theme="dark"] .hbanner,:root[data-theme="dark"] .oj-r{--muted:#C6D6DE}
/* Kopfbild: Kennzeichnung auf dem Handy oben rechts, damit sie die Überschrift nicht überdeckt */
@media (max-width:700px){.hkt{padding-bottom:40px}}
@media (max-width:480px){.hkt h1{font-size:clamp(1.0625rem,5.4vw,1.5rem)}} /* lange Wörter im Kopfbild-Titel passen auf schmalen Handys ohne Bruch */
.blk h2,.sh h2{overflow-wrap:break-word}

.verweis{background:var(--mist);border-radius:6px;padding:20px;max-width:70ch}.verweis p{margin:0 0 12px}.verweis p:last-child{margin:0}.verweis b{font-family:var(--font-d)}
.vliste{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:0}.vliste li{display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}.vliste li:last-child{border-bottom:0}.vliste a{font-weight:600;color:var(--fg);text-decoration-color:var(--orange-text);text-underline-offset:3px}.vliste span{color:var(--muted)}
.verweis .btn.p{background:#E3F6F1;color:#0B4F42;border:0;box-shadow:inset 0 0 0 1.5px #5EDBC0}.verweis .btn.p:hover{background:#CFF2E8;box-shadow:inset 0 0 0 1.5px #3FCBAA}
:root[data-theme="dark"] .verweis .btn.p{background:var(--mint-bg);color:#EAFBF6;box-shadow:inset 0 0 0 1.5px #5EDBC0}:root[data-theme="dark"] .verweis .btn.p:hover{background:#31506A}
.sres .nw{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px 8px}.sres .nw a{font-size:.8125rem;font-weight:600;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange-text);text-underline-offset:3px}
/* Stand 90: Brotkrumen zart orange unterstrichen; Schaltflächen mit Rahmen einheitlich mint; Ortsteil-Geschichte */
.crumbs a{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:1px;text-underline-offset:4px}
.crumbs a:is(:hover,:focus-visible){text-decoration-thickness:2px;color:var(--fg)}
.btn.o.off{box-shadow:inset 0 0 0 1.5px var(--sprung)}
.og{padding-bottom:48px}
.ogvor{background:var(--mint-bg);border:1px solid var(--sprung);border-radius:8px;padding:10px 14px;margin:12px 0}
.ogkurz{margin:20px 0;padding:18px 20px;background:var(--mint-bg);border-radius:8px}
.ogkurz h2{font-size:1rem;margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-text)}.ogkurz p{margin:0;max-width:none;font-size:1.125rem}
.ogband{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 28px}
@media (max-width:820px){.ogband{grid-template-columns:1fr}}
.ogbox{border:1px solid var(--line);border-radius:8px;padding:16px 18px;background:var(--card,transparent);min-width:0}
.ogbox h2,.ogbox h3{font-size:1rem;margin:0 0 8px}
.ogtoc-k{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:0 0 8px;font:inherit;font-family:var(--font-d);font-weight:700;font-size:1rem;color:var(--fg);cursor:pointer;min-height:44px}
.ogtoc-k svg{transition:transform .15s;flex:none;width:20px;height:20px;overflow:visible}.ogtoc-k[aria-expanded="false"] svg{transform:rotate(-90deg)}
.ogtoc ol{margin:0;padding-left:1.4em;columns:2;column-gap:28px}.ogtoc ol[hidden]{display:none}.ogtoc li{margin:5px 0;break-inside:avoid}
@media (max-width:560px){.ogtoc ol{columns:1}}.ogtoc a{color:var(--fg);text-decoration:underline dotted var(--sprung) 2px;text-underline-offset:3px}
.ogdaten{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0}.ogdaten dt{color:var(--muted)}.ogdaten dd{margin:0;min-width:0}
.ogtext,.ogrest{max-width:none;margin:0}.ogtext h2,.ogrest h2{margin:36px 0 12px;scroll-margin-top:120px;text-wrap:balance}.ogtext p{line-height:1.7;margin:0 0 1em;text-wrap:pretty}
.ogtext{columns:2;column-gap:56px;column-rule:1px solid var(--line);hyphens:auto;-webkit-hyphens:auto}
.ogtext h2{break-after:avoid;break-inside:avoid}.ogtext h2:first-child{margin-top:0}.ogtext p{orphans:3;widows:3}
.ogtext .verz{column-span:all;margin:32px 0}.ogtext .ogfoto,.ogtext .ogeinw{break-inside:avoid}
@media (max-width:900px){.ogtext{columns:1;column-rule:0}}
.ogext,.ogmehr a,.ogquellen a{color:inherit;text-decoration:underline solid var(--orange) 2px;text-underline-offset:3px}.ogext:hover{background:var(--mint-bg)}
.ogkachel{position:relative;transition:background-color .2s,border-color .2s}.ogkachel:hover,.ogkachel:focus-within{background-color:rgba(94,219,192,.16);border-color:var(--sprung,#5EDBC0)}
.ogorte .ogmehr a[data-tip]{position:static}.ogorte .ogmehr a::before{content:"";position:absolute;inset:0;border-radius:8px}
.verz{margin:28px 0;padding:18px 20px;border:1px solid var(--sprung);border-radius:8px;background:var(--mint-bg)}.verz h2{margin-top:0}
.ochips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ochip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:5px 14px;box-shadow:inset 0 0 0 1px var(--mint);border-radius:999px;color:var(--fg);text-decoration:none;font-family:var(--font-d);font-weight:600;font-size:.8125rem;line-height:1.1;background:transparent;transition:background-color .15s,color .15s}
@media (max-width:640px){.ochip{min-height:40px;padding:6px 14px}}
.ochip i{font-style:normal;font-weight:400;color:var(--muted)}
a.ochip:hover,a.ochip:focus-visible{background:var(--mint);color:#163B4C;outline:none}a.ochip:hover i{color:inherit}
.ochip.aus{color:var(--muted);font-weight:400;box-shadow:inset 0 0 0 1px var(--line)}
.ogbtn{margin:14px 0 0}.ogbtn .btn{white-space:normal;max-width:100%}
.ogzeit{list-style:none;margin:0 0 0 9px;padding:0;border-left:3px solid var(--sprung,#5EDBC0)}.ogzeit li{padding:0 0 14px 18px;position:relative;line-height:1.55}.ogzeit li::before{content:"";position:absolute;left:-10px;top:.35em;width:15px;height:15px;border-radius:50%;background:var(--bg);border:3px solid var(--orange)}.ogzeit b{font-family:var(--font-d);margin-right:6px}
.vz2{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.vz2>div{min-width:0}@media (max-width:820px){.vz2{grid-template-columns:1fr}}
.ogeinw{max-width:420px;margin:18px 0}.ogeinw h3{margin:0 0 8px}.ogtab{border-collapse:collapse;width:100%;min-width:260px;font-size:.9375rem}.ogtab th,.ogtab td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--line)}.ogtab td:last-child,.ogtab th:last-child{text-align:right}.ogtab tbody tr:nth-child(even) td{background:var(--zebra)}
.ogmehr{margin-top:8px!important;font-size:.875rem}
.ogorte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:900px){.ogorte{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.ogorte{grid-template-columns:minmax(0,1fr)}}.ogorte p{margin:0}
.ogfoto{margin:24px 0}.ogbild{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/9}.ogbild img{width:100%;height:100%;object-fit:cover;display:block}

.ogph{border:2px dashed var(--sprung);border-radius:8px;padding:40px 16px;text-align:center;color:var(--muted)}
.ogfoto figcaption{font-size:.875rem;color:var(--muted);margin-top:8px}
.ogquellen{margin-top:40px;padding-top:14px;border-top:1px solid var(--line);font-size:.875rem;color:var(--muted)}.ogquellen ul{margin:8px 0;padding-left:1.2em}
/* Sprungmarken (Links innerhalb derselben Seite): überall grün gepunktet unterstrichen, nie orange */
.wrap a[href^="#"]:not(.btn):not(.fchip):not(.skip):not(.hleiste):not(.stempel){text-decoration:underline dotted var(--sprung) 2px;text-underline-offset:3px}
/* Anrufen, Route und weitere Hauptknöpfe (außer „Firmenprofil anlegen“): hell und weich in Mint, überall gleich wie in Ämter & Hilfe */
.acts .btn.m small{color:inherit;opacity:.8}
.leerbtn{margin:14px 0 22px}.leerh{font-family:var(--font-d);font-size:1.05rem;margin:22px 0 10px}
.ogkopf{margin:6px 0 22px}.ogkopf h1{font-family:var(--font-d);margin:0 0 8px}.ogkopf p{color:var(--muted);margin:0;max-width:70ch}

/* Block „Für Berliner Firmen“: drei Schritte, Tarife, Beispielkarte */
.fm-kopf{text-align:center;margin-bottom:36px}.fm-kopf h2{font-size:1.75rem;font-weight:600;line-height:1.2}.fm-kopf p{color:var(--muted);margin-top:8px}
.fm-st{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;position:relative;max-width:1000px}
.fm-st:before{content:"";position:absolute;left:17%;right:17%;top:22px;border-top:1px dashed var(--sprung)}
.fm-st li{display:grid;gap:8px;justify-items:center;text-align:center;position:relative;min-width:0}
.fm-n{width:46px;height:46px;border-radius:50%;background:var(--bg);border:1.5px solid var(--sprung);display:grid;place-items:center;font-family:var(--font-d);font-weight:600;color:var(--mint-ink);font-size:1.125rem}
.fm-st h3{font-size:1.0625rem;font-weight:600;margin-top:6px}.fm-st p{color:var(--muted);font-size:.875rem;max-width:30ch}
.fm-unten{display:grid;grid-template-columns:7fr 5fr;gap:36px;align-items:stretch;margin-top:52px;padding-top:44px;border-top:1px solid var(--line)}
.fm-tar{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}
.fm-t{border:1px solid var(--line);border-radius:18px;padding:26px 24px 24px;display:grid;gap:14px;grid-template-rows:auto 1fr auto;min-width:0}
.fm-t.pl{border:1.5px solid var(--sprung);background:var(--mint-bg)}
.fm-t h3{font-size:1.125rem;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.fm-t h3 small{font-weight:500;color:var(--muted);font-size:.8125rem}
.fm-t ul{list-style:none;display:grid;gap:10px;font-size:.9375rem;padding:0;margin:0}
.fm-t li{display:grid;grid-template-columns:20px 1fr;gap:8px}
.fm-t li svg{width:18px;height:18px;stroke:var(--mint-ink);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.fm-t .btn{justify-self:start;margin-top:6px;align-self:end}.fm-t .btn:not(.p){border:0;box-shadow:inset 0 0 0 1px var(--muted)}
.fm-bsp{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--mint-bg);display:grid;align-content:center;gap:12px;min-width:0}
.fm-bsp p{text-align:center;color:var(--muted);font-size:.8125rem}
.fm-mc{background:var(--bg);border-radius:14px;box-shadow:0 8px 28px rgba(15,43,56,.12);overflow:hidden}
.fm-im{height:130px;background:linear-gradient(135deg,#163B4C,#2c6a80);position:relative}
.fm-im em{position:absolute;left:12px;bottom:12px;background:#fff;color:#163B4C;font-style:normal;font-weight:600;border-radius:9px;padding:8px 12px;font-size:.875rem}
.fm-im b{position:absolute;left:12px;top:12px;background:rgba(15,43,56,.8);color:#fff;border-radius:6px;padding:3px 9px;font-size:.75rem;letter-spacing:.08em}
.fm-tx{padding:14px 16px;display:grid;gap:3px;font-size:.875rem}.fm-tx b{font-size:1rem}.fm-tx span{color:var(--muted)}
.fm-fuss{text-align:center;color:var(--muted);font-size:.875rem;margin-top:30px}
.fm-mehr{text-align:center;margin-top:10px}
.fm-mehr a,.fm-mehr span.off{font-family:var(--font-d);font-weight:600;font-size:.9375rem;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.fm-mehr span.off{text-decoration:none;color:var(--muted)}
@media (max-width:900px){.fm-st{grid-template-columns:1fr;gap:28px}.fm-st:before{display:none}.fm-unten{grid-template-columns:1fr;gap:24px}}
@media (max-width:560px){.fm-tar{grid-template-columns:1fr}.fm-kopf h2{font-size:1.5rem}}
/* Knopf in der Plus-Karte bleibt auch ohne Zielseite (und im dunklen Design) orange */
.fm-t .btn.p.off,:root[data-theme="dark"] .fm-t .btn.p,:root[data-theme="dark"] .fm-t .btn.p.off{background:var(--orange-ui);color:#fff;box-shadow:none}

.blk.fm{padding-block:40px 24px}
.leerhinweis{color:var(--muted);max-width:70ch;margin:0 0 18px}.leerhinweis .lnk{display:inline;min-height:0}

/* BVG-Knopf überall in den Farben der BVG (Gelb), abgeschwächt – Firmenprofile und Ämter & Hilfe gleich */
.bvg-a .btn.m[href*="bvg.de"]{background:var(--bvg);color:var(--bvg-ink);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.bvg-a .btn.m[href*="bvg.de"]:hover:not(:disabled):not([aria-disabled="true"]){background:var(--bvg-h);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
:root[data-theme="dark"] .bvg-a .btn.m[href*="bvg.de"]{box-shadow:inset 0 0 0 1.5px var(--bvg-rand)} /* Stand 113: Variante C (Gelb-Rand, helle Schrift) auch im Block „Mit Bus und Bahn“ – galt bisher nur für .btn.y */
:root[data-theme="dark"] .bvg-a .btn.m[href*="bvg.de"]:hover:not(:disabled):not([aria-disabled="true"]){box-shadow:inset 0 0 0 1.5px var(--bvg-rand)}

/* Plus-Leiste in der Kopfzeile (wandert mit, weil sie Teil der mitlaufenden Kopfzeile ist) */
.ple{background:#E3F6F1;color:#0B4F42;padding:8px 16px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:center;font-size:.9375rem;border-top:1px solid var(--line)}
:root[data-theme="dark"] .ple{background:var(--mint-bg);color:#EAFBF6}
@media (max-width:600px){.ple{gap:6px 10px;padding:6px 12px;flex-wrap:nowrap}.ple>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ple .btn{flex:1 1 0;justify-content:center;text-align:center;padding-inline:8px}}

/* Plus-Knopf am Seitenende des Firmenprofils */
.pla{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px}
.pla small{color:var(--muted);font-size:.875rem}
/* mit Plus-Leiste ist die mitlaufende Kopfzeile höher: Sprungziele nicht verdecken */
html:has(.ple) [id],html:has(.ple) [data-rr]{scroll-margin-top:176px}
.row .st.zu{color:var(--muted);font-weight:400}.row .st.zu .dot{background:#9AAAB4}

/* Ergebniszeile unter Listen-Suchfeldern (Stand 110) */
.erg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 4px;padding:10px 12px;border-radius:8px;background:var(--mist);max-width:100%}
.erg[hidden]{display:none}
.erg-n{font-family:var(--font-d);font-weight:600;font-size:.875rem;color:var(--fg);flex:none}
.erg-p{flex:1 1 100%}
.erg-mehr{font-size:.8125rem;color:var(--muted);align-self:center}
.erg-x{border:0;background:none;font:inherit;font-family:var(--font-d);font-weight:600;font-size:.8125rem;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange-text);text-underline-offset:3px;cursor:pointer;padding:6px 0;min-height:36px;margin-left:auto}
.erg-x:hover{color:var(--orange-text)}
.erg-hit{outline:2px solid var(--mint);outline-offset:3px;border-radius:6px;transition:outline-color .6s}

/* Kurzform „Fehlt Ihre Firma?“ (Stand 110) */
.fehlt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 28px;align-items:center;padding:18px 20px;border-radius:10px;background:var(--mint-bg);margin:4px 0 22px}
.fehlt h2{font-size:1.0625rem;font-weight:600;color:var(--mint-ink)}.fehlt p{color:var(--fg);margin-top:4px;max-width:62ch}
.fehlt-a{display:flex;flex-wrap:wrap;gap:10px}.fehlt .btn{white-space:normal}
:root[data-theme="dark"] .fehlt h2{color:#EAFBF6}
@media (max-width:700px){.fehlt{grid-template-columns:minmax(0,1fr)}}

/* Stufenweise Firmenliste (Stand 110) */
html.js .vcards[data-stufe] li[data-mehr]{display:none}
.mehrzeile{margin:18px 0 8px;text-align:center}.mehr-firmen small{font-weight:400;margin-left:4px}
/* Sprungleiste unter dem Seitenkopf (Stand 110) */
.sprungleiste{margin:0 0 18px}.sprungleiste .flab{width:auto}
/* Ortsteil-Seite (Stand 110): Geschichte als Klappe */
.oggesch{margin-top:28px}.ogvoll{margin-top:18px}.ogkurz .ogbtn{margin-top:12px}
/* Ämter & Hilfe (Stand 110): Kennzeichen „Firmenprofil“ in der Zeile, Übernahme-Kasten, Firmen in der Nähe */
.hz-fp{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:999px;font-family:var(--font-d);font-weight:600;font-size:.75rem;color:var(--mint-ink);background:var(--mint-bg);box-shadow:inset 0 0 0 1px var(--mint);text-decoration:none;justify-self:start;margin-top:2px}
.hz-fp:hover{background:var(--mint);color:#163B4C}:root[data-theme="dark"] .hz-fp{color:#EAFBF6}
.hueber{margin:0 0 18px}.hnahe{margin-top:28px}
/* Links im Einleitungssatz unter dem Kopfbild (Stand 110): im Fließtext, ohne Mindesthöhe */
.page-h p .lnk{display:inline;min-height:0;font-weight:600;font-size:inherit}

/* Firmen-Leiste am unteren Bildrand (Stand 110, Variante 8) */
.fleiste{position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--card);border-top:1px solid var(--mint);box-shadow:0 -8px 24px rgba(22,59,76,.15);padding-bottom:env(safe-area-inset-bottom,0px);transform:translateY(110%);transition:transform .35s ease}
.fleiste.an{transform:none}html.fl-zu .fleiste{display:none}
.fl-in{max-width:1320px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;padding:10px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.fl-t{font-size:.9375rem}.fl-t b{font-family:var(--font-d);color:var(--mint-ink)}:root[data-theme="dark"] .fl-t b{color:#EAFBF6}
.fl-x{border:0;background:none;color:var(--muted);font:600 1.25rem/1 system-ui;cursor:pointer;padding:6px 8px;min-height:36px;min-width:36px;border-radius:999px}.fl-x[data-tip]{position:relative}.fl-x:hover{background:var(--mist);color:var(--fg)}
/* Stand 113: Platz für die Leiste entsteht in der Fußzeile (gleiche Farbe), nicht als weißer Streifen unter ihr – und nur, solange die Leiste sichtbar ist */
body.fl-da .fuss{padding-bottom:70px}
/* Handy (Stand 111, Variante 5 „Mitdenkende Leiste“): Griff-Zeile immer sichtbar, Inhalt klappt je nach Scrollrichtung; Knöpfe nebeneinander */
.fl-g{display:none}
@media (max-width:700px){
  .fl-g{display:flex;width:100%;justify-content:space-between;align-items:center;border:0;background:var(--mint-bg);color:var(--mint-ink);font-family:var(--font-d);font-weight:600;font-size:.9375rem;padding:9px 16px;min-height:40px;cursor:pointer}
  :root[data-theme="dark"] .fl-g{color:#EAFBF6}
  .fl-g i{font-style:normal;transition:transform .25s}.fleiste.auf .fl-g i{transform:rotate(180deg)}
  .fl-in{display:block;padding:0 16px;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
  .fleiste.auf .fl-in{max-height:220px;padding:12px 16px 14px}
  .fl-t{display:block;font-size:.9375rem;margin-bottom:10px}
  .fl-k{display:flex;gap:8px}.fl-k .btn{flex:1 1 0;justify-content:center;padding:9px 8px;font-size:.875rem;white-space:normal;line-height:1.15;text-align:center}
  .fl-x{display:none}
  body.fl-da .fuss{padding-bottom:64px}
}
@media (min-width:701px){.fl-k{display:contents}}
/* Firmen-Knopf immer orange, auch in Ämter & Hilfe (Stand 110: Knöpfe für Firmen überall identisch) */
.hilfe-b .btn.p.btn-firma,.hilfe .btn.p.btn-firma,.btn.p.btn-firma{background:var(--orange-ui)!important;color:#fff!important;box-shadow:none!important}
/* Stand 112: Foto auf Einzelseiten (Wikimedia Commons) */
.hfoto{margin:18px 0 0;border-radius:12px;overflow:hidden;background:var(--mist)}
.hfoto img{display:block;width:auto;max-width:100%;max-height:420px;margin:0 auto;object-fit:contain}/* Stand 117: Foto immer vollständig sichtbar, Höhe begrenzt, mittig */
.hfoto figcaption{font-size:.8rem;color:var(--muted);padding:8px 12px}
#hl-voll,#otl,#hf{scroll-margin-top:136px}
/* Stand 113: Blätterleiste unter langen Listen (zuerst Toiletten) – Pillen wie die Filter, aktueller Punkt gefüllt */
.blaettern{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 4px}
.blaettern .fchip{min-width:40px;justify-content:center}
.blaettern .fchip[disabled]{opacity:.4;cursor:default}
.bl-p{color:var(--muted);padding:0 2px}
.bl-st{margin-left:auto;color:var(--muted);font-size:.875rem}
.hfilter.mit-bl{position:relative}
.blaettern-oben{margin:0}
@media (min-width:901px){.blaettern-oben{position:absolute;right:0;top:0;justify-content:flex-end}.hfilter.mit-bl .hsearch{max-width:420px}}
@media (max-width:900px){.blaettern-oben{order:-1}}
@media (max-width:640px){.bl-st{flex-basis:100%;margin-left:0;margin-top:4px}}

/* Stand 115: Straßen-/PLZ-/Suchseiten */
.sh-n{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:6px}
.sprung{margin:0 0 8px}.sprung .fchip small{opacity:.75;margin-left:4px;font-weight:400}
.h1-sub{display:block;font-size:1rem;font-weight:400;color:var(--muted);margin-top:4px}
.sblock .leerkarte{margin-top:8px}

/* Stand 115: während der Eingabe im Suchfeld (Vorschlagsliste offen) verdeckt die Firmen-Leiste nichts */
html.such-aktiv .fleiste{transform:translateY(110%)}

/* Stand 116: Denkmale */
.steck{margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:8px 24px}.steck>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px;padding:6px 0;border-top:1px solid var(--line)}.steck dt{color:var(--muted);font-size:.9rem}.steck dd{margin:0}
.zitat{margin:10px 0 14px;padding:12px 16px;border-left:3px solid var(--mint);background:var(--mist);border-radius:0 8px 8px 0}.zitat p{margin:0 0 6px}.zitat footer{font-size:.85rem;color:var(--muted)}

/* Stand 116: Inhaltsübersicht der Ortsgeschichte als Pillen (keine Punktlinie) */
.ogtoc ol{list-style:none;padding:0;margin:0;columns:auto;display:flex;flex-wrap:wrap;gap:8px}.ogtoc li{margin:0}.ogtoc a.fchip{text-decoration:none}

/* Nach-oben-Button (Stand 120): erscheint nur beim Hochscrollen, Ring = Lesefortschritt */
.nachoben{--nb-b:16px;position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(var(--nb-b) + env(safe-area-inset-bottom,0px));z-index:26;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:var(--navy);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 0 0 2px #fff,0 3px 10px rgba(22,59,76,.3);opacity:0;transform:translateY(10px) scale(.92);pointer-events:none;transition:opacity .25s,transform .25s,bottom .3s}
.nachoben[hidden]{display:none}.nachoben.an{opacity:1;transform:none;pointer-events:auto}
.nachoben .nb-r{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.nachoben circle{fill:none;stroke-width:2.5}.nachoben .nb-h{stroke:rgba(255,255,255,.25)}.nachoben .nb-v{stroke:var(--orange);stroke-linecap:round;stroke-dasharray:106.8;stroke-dashoffset:106.8}
.nachoben .nb-p{position:relative;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.nachoben:hover{background:var(--navy-deep)}.nachoben:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
:root[data-theme="dark"] .nachoben{background:#31506A;box-shadow:0 0 0 2px #CFE9EE,0 3px 10px rgba(0,0,0,.5)}:root[data-theme="dark"] .nachoben:hover{background:#3A566C}:root[data-theme="dark"] .nachoben:focus-visible{outline-color:var(--mint)}:root[data-theme="dark"] .nachoben .nb-v{stroke:var(--mint)}
html.such-aktiv .nachoben,html.ext-offen .nachoben{opacity:0;pointer-events:none}
@media (max-width:700px){.nachoben{width:38px;height:38px}}
@media (prefers-reduced-motion:reduce){.nachoben{transition:none}}
@media print{.nachoben{display:none}}

/* Stand 128: Listenseiten – fette Zahl, Bezirks-Fläche, Sortieren */
.bz .z,.hk .z{font-weight:800;color:var(--fg);font-size:.9375rem}
.flaeche{background:var(--mist);border-radius:8px;padding:10px 14px;margin:6px 0 4px}.flaeche h2{margin:0;font-size:1rem;font-weight:800;color:var(--fg)}.flaeche h2 a{font-weight:800}
.bgruppe+.bgruppe{margin-top:20px}
.sortz{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
.sw{font:inherit;cursor:pointer;padding:6px 14px;border-radius:8px;border:0;background:var(--mist);color:var(--fg);font-family:var(--font-d);font-weight:600;font-size:.8125rem;min-height:36px}
.sw:hover{box-shadow:inset 0 0 0 1.5px var(--fg)}.sw[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.sw:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media (max-width:640px){.sw{min-height:40px}}
.bz small{font-size:.75rem}
[data-lsprung][hidden]{display:none}
[data-lsprung]{margin-bottom:14px}
[data-lsprung] a[hidden]{display:none}

/* Stand 129: Zusatzmenü „Diese Liste eingrenzen“ (Vorschlag 1 „Fläche“) */
.zm{background:var(--mist);border-radius:14px;padding:16px 20px 6px;margin:0 0 18px;scroll-margin-top:136px}
.zm[hidden]{display:none}
.zm-kopf{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding-bottom:12px}
.zm-t{font-family:var(--font-d);font-weight:600;font-size:1.0625rem;margin:0}
.zm-kz{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap}
.zm-zahl{font-size:.9375rem;color:var(--muted)}.zm-zahl strong{color:var(--fg)}
.zm-ein{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--fg);font:600 .875rem var(--font-b);padding:6px 4px;cursor:pointer}
.zm-ein svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s;transform:rotate(180deg)}
.zm-ein[aria-expanded="false"] svg{transform:none}
.zm-ein:hover{color:var(--orange-text)}
.zm-z{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.zm-lab{font:600 .75rem var(--font-d);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.zm-inh{min-width:0}
.zm-such{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.zm-plz{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:6px;padding:4px 4px 4px 12px;min-height:44px;color:var(--muted)}
.zm-plz svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.zm-plz input{border:0;background:transparent;font:inherit;color:var(--fg);width:11em;min-width:0;outline:none;flex:1}
.zm-plz:focus-within{box-shadow:inset 0 0 0 2px var(--orange)}
.zm-plz .btn{min-height:36px;white-space:nowrap}
.zm-q{position:relative;min-width:0}
.zm .hsearch{max-width:none;background:var(--bg);min-height:44px}
.zm-vs{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;list-style:none;margin:0;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px rgba(22,59,76,.16);max-height:320px;overflow:auto}
.zm-vs[hidden]{display:none}
.zm-vs li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 10px;border-radius:7px;cursor:pointer}
.zm-vs li:hover,.zm-vs li[aria-selected="true"]{background:var(--mint-bg)}
.zm-vs li small{color:var(--muted);font-size:.75rem;flex:none}
.zm-vs li b{font-weight:700}
.zm-vs .zm-vs-leer{cursor:default;color:var(--muted)}.zm-vs .zm-vs-leer:hover{background:none}
.zm-hin{font-size:.875rem;color:var(--orange-text);font-weight:600;margin:6px 0 0}
.zm .sortz{margin:0}
.zm .sw,.zm .fchip{min-height:38px;background:var(--bg)}
.zm .fchip[aria-pressed="true"]{background:var(--mint-bg)}
.zm .sw[aria-pressed="true"]{background:var(--fg)}
.zm-klapp{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:var(--bg);border-radius:8px;padding:10px 14px;min-height:46px;margin:2px 0 10px;font:600 .9375rem var(--font-d);color:var(--fg);cursor:pointer}
.zm-klapp svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .2s}
.zm-klapp[aria-expanded="true"] svg{transform:rotate(180deg)}
.zm-an{background:var(--orange-ui);color:#fff;border-radius:99px;font-size:.75rem;padding:1px 8px;margin-left:8px}
.zm-nd{grid-template-columns:1fr;gap:8px}
.zm-nd{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px 12px}
.zm-ndk{display:flex;align-items:center;gap:12px;flex:1 1 320px;text-decoration:none;color:var(--orange);background:var(--bg);border-radius:10px;padding:8px 14px;min-height:44px}
:root[data-theme="dark"] .zm-ndk{color:var(--orange)}
.zm-ndk svg,.zm-nr svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.zm-ndk b{font-family:var(--font-d);font-weight:600}
.zm-ndk small{font-size:.8125rem;margin-left:8px}
.zm-ndk .zm-pf{margin-left:auto;display:inline-flex}
.zm-ndk:hover{box-shadow:inset 0 0 0 1.5px currentColor}
.zm-ndk.hart{background:#B8432D;color:#fff}
.zm-nr{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);background:var(--bg);border-radius:10px;padding:8px 14px;min-height:44px;font-size:.9375rem}
.zm-nr b{font-family:var(--font-d)}
.zm-nr:hover{box-shadow:inset 0 0 0 1.5px var(--mint)}
.zm-nach .blaettern{margin-top:14px}
.zm-leer{margin-top:12px}
.oz{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--muted)}
.oz i{width:8px;height:8px;border-radius:50%;background:#9AAAB4;flex:none}
.oz.auf{color:#176B47}.oz.auf i{background:var(--mint)}
:root[data-theme="dark"] .oz.auf{color:#5EDBC0}
.zm-zl{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.zm-zl:empty{display:none}
.km{font-size:.8125rem;font-weight:700;color:var(--fg);background:var(--mist);border-radius:5px;padding:1px 7px}
.vi .zm-zl{margin-top:2px}
@media (max-width:640px){
 .zm{padding:14px 14px 4px;border-radius:12px}
 .zm-z{grid-template-columns:1fr;gap:6px;padding:10px 0}
 .zm-z-such .zm-lab{display:none}
 .zm-such{grid-template-columns:minmax(0,1fr)}
 .zm-ein{display:none}
 .zm-roll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-14px;padding-right:14px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
 .zm-roll::-webkit-scrollbar{display:none}
 .zm-roll .fchip{flex:none}
 .zm-ndk small{display:block;margin-left:0}
}
/* Stand 129: Einleitung am Handy eingeklappt */
.ein-zu{position:relative;max-height:4.9em;overflow:hidden}
.ein-zu::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2em;background:linear-gradient(to bottom,transparent,var(--bg))}
.ein-knopf{display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:4px 0;margin:2px 0 12px;color:var(--fg);font:600 .9375rem var(--font-b);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;cursor:pointer}

/* Stand 129: Zurücksetzen-Knopf im Zusatzmenü, Abstand unter dem Handy-Kopf */
.zm .zur,.zm-leer .zur{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;background:none;border:0;border-radius:6px;color:var(--fg);font:600 .875rem var(--font-b);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;cursor:pointer}
.zm .zur:hover,.zm-leer .zur:hover{color:var(--orange-text)}
@media(max-width:640px){.zm{scroll-margin-top:156px}}

/* Stand 130: Liegt ein Element mit Tooltip in einem anderen, zeigt nur das innere seinen Tooltip – nie zwei auf einmal */
[data-tip]:has([data-tip]:hover)::after,html.kb [data-tip]:has([data-tip]:focus-visible)::after{display:none!important}
/* Stand 130: Pillen im Zusatzmenü beim Überfahren wie überall Mint – vorher blieb der Grund dunkel und die Schrift im dunklen Modus unsichtbar */
.zm .fchip:hover,.zm .fchip:focus-visible{background:var(--mint);color:#163B4C}.zm .fchip:hover small,.zm .fchip:focus-visible small{color:#163B4C}

/* Stand 130: „Sortieren und filtern“ auf- und zuklappbar, am Rechner wie am Handy */
.zm-mehr:not(.offen){display:none}
.zm-klapp{margin:10px 0 12px}
/* Stand 130: „Alles zurücksetzen“ am Rechner direkt unter der Postleitzahl, am Handy oben im Kopf */
.zm-zur-z{display:grid;grid-template-columns:118px minmax(0,1fr);gap:0 16px;margin-top:-8px}
.zm-zur-z .zur{min-height:36px}
.zm .zm-zur-k{display:none}
@media (max-width:640px){.zm .zm-zur-z{display:none}.zm .zm-zur-k{display:inline-flex}}
/* Stand 130: Zusatzmenü als zartgrüner Glasbaustein */
.zm{--gl-a:rgba(227,246,241,.92);--gl-b:rgba(206,240,231,.78);--gl-rand:rgba(255,255,255,.85);--gl-licht:rgba(255,255,255,.95);--gl-schatten:0 10px 30px rgba(22,59,76,.10),0 1px 2px rgba(22,59,76,.06);--gl-feld:rgba(255,255,255,.82);--gl-linie:rgba(11,107,89,.14)}
:root[data-theme="dark"] .zm{--gl-a:rgba(49,80,106,.72);--gl-b:rgba(42,66,86,.62);--gl-rand:rgba(94,219,192,.22);--gl-licht:rgba(255,255,255,.10);--gl-schatten:0 12px 32px rgba(0,0,0,.40);--gl-feld:rgba(33,55,74,.78);--gl-linie:rgba(94,219,192,.16)}
.zm{position:relative;background:linear-gradient(160deg,var(--gl-a) 0%,var(--gl-b) 100%);border:1px solid var(--gl-rand);box-shadow:inset 0 1px 0 var(--gl-licht),var(--gl-schatten);border-radius:16px}
.zm::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(120% 60% at 0% 0%,var(--gl-licht) 0%,transparent 55%);opacity:.55}
.zm>*:not(.sr){position:relative}
.zm-z{border-top-color:var(--gl-linie)}
.zm-plz,.zm .hsearch,.zm .sw,.zm .fchip,.zm-ndk,.zm-nr,.zm-klapp{background:var(--gl-feld)}
.zm .fchip[aria-pressed="true"]{background:#fff}
:root[data-theme="dark"] .zm .fchip[aria-pressed="true"]{background:var(--bg)}
.zm .sw[aria-pressed="true"]{background:var(--fg)}
/* Stand 130: Hinweis „Postleitzahl liegt in einem anderen Bezirk/Ortsteil“ */
.zm-anders{margin:8px 0 0;font-size:.9375rem;color:var(--fg)}
.zm-anders .lnk{min-height:36px}
.zm-z-such{align-items:start}.zm-z-such .zm-lab{padding-top:15px}
:root[data-theme="dark"] .zm-hin{color:#F2F6F8}
.zm-plz input::placeholder{color:var(--muted);opacity:1}
.zm.zm-zu .zm-zur-k{display:inline-flex}
/* Stand 130: Hinweis „Liste aktualisiert“ */
.zm-akt,.li-akt{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--mint-ink)}
.zm-akt svg,.li-akt svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;flex:none}
.li-akt{display:flex;margin:0 0 10px}
/* Stand 130: Knöpfe sind keine Links – keine Unterstreichung, Zeichen zeigt die Wirkung */
.ein-knopf,.zm .zur,.zm-leer .zur{text-decoration:none;gap:6px}
.ein-knopf svg,.zm .zur svg,.zm-leer .zur svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;flex:none}
.ein-knopf:hover,.zm .zur:hover,.zm-leer .zur:hover{color:var(--orange-text)}
/* Stand 131: „Apotheke in Ihrer Nähe finden“ (Apotheken in Berlin) */
.bs .bs-n{list-style:none;margin:10px 0 4px;padding:0;display:grid;gap:6px}
.bs .bs-n a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;text-decoration:none;color:var(--fg);background:var(--gl-feld,var(--bg));border-radius:8px;padding:9px 12px;min-height:44px}
.bs .bs-n a:hover{box-shadow:inset 0 0 0 1.5px var(--mint)}
.bs .bs-n b{font-family:var(--font-d);font-weight:600}.bs .bs-n small{color:var(--muted);display:block;font-size:.8125rem}
.bs .bs-n .km{flex:none}
@media(max-width:640px){.zm-vs li{flex-direction:column;align-items:flex-start;gap:2px}.zm-vs li small{white-space:normal}}
:root[data-theme="dark"] .zm{--muted:#BCCDD6}
/* Stand 132: „Notdienst-Apotheke finden“ – Schrift im tieferen Orange (gut lesbar), Zeichen und Pfeil im Markenorange */
.zm-ndk{color:#B8432D}.zm-ndk svg{color:var(--orange)}
:root[data-theme="dark"] .zm-ndk{color:#F2F6F8}:root[data-theme="dark"] .zm-ndk svg,:root[data-theme="dark"] .zm-ndk .zm-pf{color:var(--rot)}
.zm-ndk.hart,.zm-ndk.hart svg{color:#fff}
/* Stand 132: Offenlegung der Reihenfolge bei Firmenlisten */
.zm-mh{margin:6px 0 0;font-size:.8125rem;color:var(--muted)}.zm-plus{margin:8px 0 0;font-size:.8125rem;color:var(--muted)}.zm-plus .lnk{min-height:0;display:inline;font-size:inherit}
:root[data-theme="dark"] .ogkurz,:root[data-theme="dark"] .fm-bsp,:root[data-theme="dark"] .ochips{--muted:#C6D6DE}
/* Stand 133: Fußzeile im dunklen Modus passend zum Hintergrund #21374A */
:root[data-theme="dark"] .fuss{background:#1A2C3C}

/* Stand 133: dunkel Blau statt Petrol – Beispielbild „So erscheint Ihre Firma mit Plus“ */
:root[data-theme="dark"] .fm-im{background:linear-gradient(135deg,#2A4256,#3A566C)}
:root[data-theme="dark"] .ogext:hover{background:#31506A}
:root[data-theme="dark"] .hkopf{background:var(--mist)} /* Stand 133: solange das Kopfbild lädt, bleibt die weiße Überschrift lesbar */
:root[data-theme="dark"] .fm-im b{background:rgba(26,44,60,.8)}

/* Stand 134: dunkler Modus ohne hellorange Schrift – Schrift weiß, Akzent im regio.link-Rot #ED564F (Zeichen, Punkt, Unterstreichung, Kontur). #ED564F erreicht als Zeichen 3 : 1 auf Grund und Karten. */
:root{--rot:var(--orange)}
:root[data-theme="dark"]{--orange-text:#F2F6F8;--rot:#ED564F}
:root[data-theme="dark"] .vliste a,:root[data-theme="dark"] .sres .nw a,:root[data-theme="dark"] .erg-x,:root[data-theme="dark"] .chk a,:root[data-theme="dark"] .recht-t a{text-decoration-color:var(--rot)}
:root[data-theme="dark"] .erg-x:hover,:root[data-theme="dark"] .zm-ein:hover,:root[data-theme="dark"] .zm .zur:hover,:root[data-theme="dark"] .zm-leer .zur:hover,:root[data-theme="dark"] .ein-knopf:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--rot);text-decoration-thickness:2px;text-underline-offset:4px}
:root[data-theme="dark"] .zm-ndk b{text-decoration:underline;text-decoration-color:var(--rot);text-decoration-thickness:2px;text-underline-offset:4px}
:root[data-theme="dark"] .zm-ndk small{color:#C6D6DE}
:root[data-theme="dark"] .zm-ndk:hover{box-shadow:inset 0 0 0 1.5px var(--rot)}
:root[data-theme="dark"] .ogkurz h2::before,:root[data-theme="dark"] .zm-hin::before,:root[data-theme="dark"] .akt .k::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--rot);margin-right:8px;vertical-align:1px}

/* Stand 134: × im Suchfeld statt Text-Knopf „Eingabe löschen“ */
.hs-x{flex:none;width:26px;height:26px;margin:-4px -4px -4px 0;border:0;border-radius:50%;padding:0;display:grid;place-items:center;background:var(--line);color:var(--fg);cursor:pointer}
.hs-x svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round}
.hs-x:hover{background:var(--mint);color:#163B4C}
.hs-x:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.hs-x[hidden]{display:none}
:root[data-theme="dark"] .zm-ndk.hart,:root[data-theme="dark"] .zm-ndk.hart svg,:root[data-theme="dark"] .zm-ndk.hart .zm-pf,:root[data-theme="dark"] .zm-ndk.hart small{color:#fff!important}:root[data-theme="dark"] .zm-ndk.hart b{text-decoration-color:#fff}:root[data-theme="dark"] .zm-ndk.hart:hover{box-shadow:inset 0 0 0 1.5px #fff}
:root[data-theme="dark"] .oj-fehler::before,:root[data-theme="dark"] .oj-st.bald::before,:root[data-theme="dark"] .hint.warn::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ED564F;margin-right:8px;vertical-align:1px}
:root[data-theme="dark"] .vc .pl{background:#21374A}
.ov{padding-top:40px} /* Stand 134: Überfahr-Fläche beginnt unter dem Zeichen „PLUS“ */
:root[data-theme="dark"] .ov{background:rgba(33,55,74,.94)}
.vc .pl{z-index:5}

/* Stand 135: Google-Karte nach Zustimmung (Firmenprofil „Anfahrt“, Einzelseiten) */
.gk{position:relative;overflow:hidden;background:var(--mist);border-radius:14px}
.hkarte.gk{aspect-ratio:16/7;min-height:240px;max-height:420px;margin-top:4px}
.gk .gk-z{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:16px}
.gk .gk-z[hidden]{display:none}
.gk .gk-z b{font-family:var(--font-d);font-size:1rem}
.gk .gk-z p{margin:0;max-width:42ch;font-size:.875rem;color:var(--muted)}
.gk .gk-z a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--rot,var(--orange));text-underline-offset:3px}
.gk iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gk .gk-aus{position:absolute;right:10px;bottom:10px;z-index:2;border:0;border-radius:8px;background:var(--card);color:var(--fg);font:600 .8125rem var(--font-b);padding:6px 10px;min-height:34px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.gk .gk-aus:hover{box-shadow:inset 0 0 0 1.5px var(--fg),0 2px 8px rgba(0,0,0,.18)}

/* Stand 135: Google-Sterne auf der Firmenkarte */
.vc .vgb{display:flex;gap:4px;align-items:center;flex-wrap:wrap;font-size:.8125rem;color:var(--muted)}
.vc .vgb b{display:inline-flex;align-items:center;gap:3px;color:var(--fg);font-weight:700}
.vc .vgb .gb-st{width:14px;height:14px;fill:#F2B33D;stroke:none}
/* Stand 135: Notdienst-Knopf – Rot einheitlich #DB5840 (Zeichen, Pfeil, Unterstreichung, Rahmen); Schrift hell bleibt #B8432D wegen Lesbarkeit */
.zm-ndk svg,.zm-ndk .zm-pf{color:#DB5840}.zm-ndk:hover{box-shadow:inset 0 0 0 1.5px #DB5840}
:root[data-theme="dark"] .zm-ndk svg,:root[data-theme="dark"] .zm-ndk .zm-pf{color:#DB5840}:root[data-theme="dark"] .zm-ndk b{text-decoration-color:#DB5840}:root[data-theme="dark"] .zm-ndk:hover{box-shadow:inset 0 0 0 1.5px #DB5840}
.zm-ndk.hart svg,.zm-ndk.hart .zm-pf,:root[data-theme="dark"] .zm-ndk.hart svg,:root[data-theme="dark"] .zm-ndk.hart .zm-pf{color:#fff}
/* Stand 135: Vorschlagslisten – Adresszeile gut lesbar; zu lang → eigene Zeile mit kleinem Punkt, etwas kleiner */
.zm-vs li small{font-size:.875rem;line-height:1.35;min-width:0;text-align:right}
.zm-vs li.vs-lang{flex-direction:column;align-items:flex-start;gap:3px}
.zm-vs li.vs-lang small{font-size:.8125rem;text-align:left;white-space:normal;flex:1 1 auto}
.zm-vs li.vs-lang small::before{content:"·";display:inline-block;margin-right:6px;font-weight:700;color:var(--muted)}
@media(max-width:640px){.zm-vs li small{text-align:left}.zm-vs li small::before{content:"·";display:inline-block;margin-right:6px;font-weight:700}}
/* Stand 136: Kopfzeile Zeile 2 – „Mehr“ und Fläche mit Kacheln */
.hzeile{position:relative}
.hzeile a.hz-weg{display:none}
.hz-mk{flex:none;display:inline-flex;align-items:center;gap:4px;margin-left:auto;font:600 .875rem var(--font-d);color:var(--fg);background:none;border:0;padding:6px 10px 6px 12px;border-radius:6px;min-height:36px;cursor:pointer}
.hz-mk[hidden]{display:none}
.hz-mk svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .15s}
.hz-mk[aria-expanded="true"] svg{transform:rotate(180deg)}
.hz-mk:hover,.hz-mk[aria-expanded="true"]{background:var(--mist)}
.hz-fl{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(22,59,76,.16)}
.hz-fl[hidden]{display:none}
.hz-fl>.wrap{padding-top:16px;padding-bottom:18px}
.hz-kach{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.hz-k{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:var(--bg);text-decoration:none;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.hz-k:hover{box-shadow:inset 0 0 0 1.5px var(--mint)}
.hz-k[hidden]{display:none}
.hz-z{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--mint-bg);color:var(--navy)}
:root[data-theme="dark"] .hz-z{color:#fff;background:rgba(255,255,255,.08)}
.hz-z svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hz-t{display:grid;gap:2px;min-width:0}.hz-t b{font:700 .9375rem var(--font-d)}.hz-t small{color:var(--muted);font-size:.8125rem;line-height:1.35}
@media (max-width:640px){.hz-mk,.hz-fl{display:none!important}.hzeile a.hz-weg{display:inline-flex}}
.hz-str{columns:3 13em;column-gap:24px;list-style:none;padding:0;margin:10px 0 4px}.hz-str li{break-inside:avoid;padding:3px 0} /* Stand 138: Straßen im Einschulbereich */
.fuss .legal a,.fuss .legal a:hover,.fuss .legal a:focus-visible{text-decoration:none!important;border-bottom:0;box-shadow:none}.fuss .legal a:hover{opacity:.8} /* Stand 138, Grundsatz: Verweise auf Rechtstexte (Impressum, Datenschutz, AGB …) nie unterstrichen */
a[href$="/impressum/"],a[href$="/datenschutz/"],a[href$="/agb/"],a[href*="/datenschutz/#"],a[href*="/agb/#"]{text-decoration:none!important;border-bottom:0!important;background-image:none!important} /* Stand 138, Grundsatz: Verweise auf Rechtstexte nie unterstrichen */
.gk .gk-z{grid-template-columns:minmax(0,1fr)}.gk .gk-z p{max-width:min(42ch,100%)} /* Stand 138: Platzhalter der Karte auf dem Handy nicht breiter als die Fläche */
.gk{max-width:100%;box-sizing:border-box} /* Stand 138: Kartenfläche nie breiter als die Spalte (Seitenverhältnis plus feste Höhe ergab 549 px am Handy) */

/* Stand 139: Tagesangebot auf Firmenkarten, Zeichen zum Gericht, „Heute bei uns“ im Profil */
.et-az{display:block;margin-top:2px;font-size:.8125rem;color:var(--fg)}
.et-az b{font-family:var(--font-d)}
.zz2{display:inline-flex;gap:5px;margin-left:8px;vertical-align:middle}
.zz2 i{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--mist);color:var(--fg);font-style:normal}
.zz2 i:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.hbu{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.hbu-k{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:4px;align-content:start}
.hbu-k .pr{font:700 1.125rem var(--font-d)}
.hbu-k .zt{font:700 .6875rem var(--font-b);letter-spacing:.04em;text-transform:uppercase;color:var(--mint-ink);background:var(--mint-bg);border-radius:4px;padding:2px 6px;justify-self:start}
.et-bild{position:relative;display:block;aspect-ratio:4/3;max-width:100%;border-radius:8px;overflow:hidden;margin:-4px -4px 6px}
.et-bild img{width:100%;height:100%;object-fit:cover;display:block}
.et-bild .ki{position:absolute;right:8px;bottom:5px;font:400 10px/1.2 var(--font-b);color:rgba(255,255,255,.92);text-shadow:0 1px 2px rgba(0,0,0,.6)}

.zk-blase{position:absolute;z-index:9999;max-width:min(280px,calc(100vw - 16px));padding:10px 12px;border-radius:10px;background:#21374A;color:#F2F6F8;font:500 .875rem/1.35 var(--font-b);box-shadow:0 6px 20px rgba(0,0,0,.28);pointer-events:none}
@media (hover:none),(pointer:coarse){.zz2 i,.vcards .et-mk i{min-width:34px;min-height:34px;width:34px;height:34px}}

/* Stand 140: Merkmal-Zeichen auf der Firmenkarte (alle Listen) */
.vcards .et-mk{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.vcards .et-mk i{width:34px;height:34px;border-radius:8px;background:var(--mist);display:inline-grid;place-items:center;color:var(--fg);font-style:normal}.vcards .et-mk i svg{width:22px;height:22px}.vcards .et-mk i:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* Stand 146: Profil-Abschnitt „Am Abend“ (Clubs) */
.cl-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0 0 10px}
.cl-dl dt{font-weight:600;color:var(--muted)}.cl-dl dd{margin:0}
#am-abend .cl-hint{margin:8px 0;color:var(--muted);font-size:.9375rem}
#am-abend .cl-q{margin:6px 0;font-size:.8125rem;color:var(--muted)}
#am-abend .cl-lk{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0 0}
.cl-mu{display:block;margin-top:6px;font-size:.8125rem;color:var(--muted)}
.et-clubs{margin:12px 0 0}
@media (max-width:480px){.cl-dl{grid-template-columns:minmax(0,1fr)}.cl-dl dd{margin-bottom:6px}}

.cl-18{display:flex;gap:12px;align-items:center;margin:14px 0;padding:12px 16px;border-radius:12px;background:var(--mist);color:var(--fg);font-size:1rem}
.cl-18 b{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:transparent;color:var(--fg);box-shadow:inset 0 0 0 3px var(--orange);font:700 1rem var(--font-d)}
.cl-18 span{min-width:0}
.cl-18k{display:inline-block;margin-top:6px;margin-right:8px;padding:2px 10px;border-radius:999px;background:transparent;color:var(--fg);box-shadow:inset 0 0 0 2px var(--orange);font:700 .75rem var(--font-d)}

/* Stand 146: gedrückter Filterknopf zeigt den Tastaturfokus sichtbar */
.fchip[aria-pressed="true"]:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* Stand 159: Textgröße in vier Stufen (Kopf-Auswahl und Handy-Menü) */
.fsw{position:relative}
.fs-open b{display:inline-flex;align-items:flex-start;font-size:1rem;line-height:1}
.fs-pl{font-size:.7em;margin-left:1px}
.fs-pan{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;max-width:calc(100vw - 16px);background:var(--card,var(--bg));border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(22,59,76,.18);padding:12px;display:grid;gap:6px}
.fs-pan[hidden]{display:none}
.fs-h{margin:0 0 2px;font-family:var(--font-d);font-weight:700;font-size:.8125rem;color:var(--muted);text-transform:none}
.fs-opt{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;min-height:44px;padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--fg);font-family:inherit;cursor:pointer;text-align:left;box-shadow:inset 0 0 0 1px var(--line)}
.fs-opt .fsa{font-family:var(--font-d);font-weight:700;line-height:1;width:2rem;text-align:center;display:inline-block} /* Stand 165: Zeichen und Beschriftung in festen Spalten, mittig im Rahmen */
.fs-opt .fst{font-weight:600;font-size:.9375rem;width:6.5rem;text-align:left}
.fs-opt:hover{box-shadow:inset 0 0 0 2px var(--orange)}
.fs-opt[aria-pressed="true"],.fs-opt[aria-pressed="true"]:hover{background:var(--mint-bg);color:var(--mint-ink);box-shadow:inset 0 0 0 2px var(--mint)}
:root[data-theme="dark"] .fs-opt[aria-pressed="true"]{color:#EAFBF6}
.mn-opt{display:none}
@media (max-width:640px){
  .hdr .mnav:not([hidden]) .mn-opt{display:grid;gap:8px;padding:14px 0 6px;border-top:1px solid var(--line);margin-top:6px}
  .mn-opt .fsg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mn-vor{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:transparent;color:var(--fg);font-family:var(--font-d);font-weight:600;font-size:1rem;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}
  .mn-vor svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
  .mn-vor:hover{box-shadow:inset 0 0 0 2px var(--orange)}
  .mn-vor[aria-pressed="true"]{background:var(--mint-bg);color:var(--mint-ink);box-shadow:inset 0 0 0 2px var(--mint)}
}
@media (max-width:900px){.hdr .mnav:not([hidden]){max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto}}

/* Stand 159: Kopfbild wächst bei größerer Schrift mit, Titel wird nie oben abgeschnitten */
html.fs1 .hkopf,html.fs2 .hkopf,html.fs3 .hkopf{aspect-ratio:auto;max-height:none;display:flex;align-items:flex-end}
html.fs1 .hkopf .hkt,html.fs2 .hkopf .hkt,html.fs3 .hkopf .hkt{position:relative;left:auto;right:auto;bottom:auto;width:100%}

/* Stand 163: gemeinsamer Standort – Statuszeile und Hinweis */
.rl-pos-s{margin:8px 0 0;font-size:.9375rem;color:var(--muted)}
.rl-pos-s[hidden]{display:none}
.rl-pos-aus{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:auto;text-underline-offset:3px;cursor:pointer}
.rl-pos-h{margin:8px 0 0;font-size:.9375rem;color:var(--muted)}
.zm-gps,.rl-gps{margin-left:8px}
@media (pointer:coarse){.rl-pos-aus{min-height:44px;padding:0 8px}}
@media (max-width:560px){.zm-gps,.rl-gps{margin-left:0;margin-top:8px}}
.rl-gps,.zm-gps{max-width:100%;white-space:normal;text-align:center;box-sizing:border-box}
html.fs3 .rl-gps,html.fs2 .rl-gps{display:block;width:100%;margin-left:0;margin-top:8px}

/* Stand 165: Google-Karten (eingebettet) im Dunkelmodus abdunkeln – folgt dem Schalter Hell/Dunkel */
:root[data-theme="dark"] .gk iframe,:root[data-theme="dark"] .et-karte iframe{filter:invert(.92) hue-rotate(180deg) contrast(.9)}
/* Stand 165: Entfernung „Von Ihnen“ */
.rl-entf-b{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--fg);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rl-entf-b:focus-visible{outline:3px solid var(--orange,#DB5840);outline-offset:2px;border-radius:3px}
.rl-entf-f{display:block;font-size:.875rem;color:var(--muted)}
.rl-entf-f:empty{display:none}
@media (pointer:coarse){.rl-entf-b{min-height:44px;padding:0 4px}}

/* Stand 166: Textgröße-Menü mobil – Beschriftung folgt der Breite statt fester 6,5 rem, alle Knöpfe gleich hoch */
.mn-opt .fs-opt{min-height:46px;height:100%}.mn-opt .fs-opt .fst{width:auto;min-width:0;flex:1 1 auto}.mn-opt .fs-opt .fsa{width:auto;min-width:1.6rem;flex:none}

/* Stand 168: Google-Karte im Firmenprofil (Anfahrt) – groß genug, kein flacher Streifen; Zustimmungsbox mittig */
.map.gk{display:block;height:auto;aspect-ratio:4/3;min-height:280px;max-height:420px}
.map.gk .gk-z{padding:20px}
@media (max-width:700px){.map.gk{aspect-ratio:1/1;min-height:300px;max-height:380px}}
/* Stand 168: „Karte ausblenden“ oben rechts – verdeckte unten die Google-Hinweise (Kartendaten, Nutzungsbedingungen) und die Zoom-Zeichen */
.gk .gk-aus{top:10px;bottom:auto;right:10px}
@media (max-width:700px){.hkarte.gk{aspect-ratio:4/3;min-height:280px}}
.fs-open b{white-space:nowrap;font-size:16px}.fs-pl{font-size:9px;margin-left:1px;letter-spacing:-.05em}
@media(max-width:480px){.mn-opt .fs-opt .fst{white-space:nowrap;font-size:.8125rem}.mn-opt .fs-opt{padding-left:8px;padding-right:8px;min-width:0}}
@media(max-width:640px){.zm-plz{flex-wrap:wrap;height:auto}.zm-plz .btn{white-space:normal;max-width:100%}.zm-q,.zm-plz-adr{min-width:0;max-width:100%}}
@media(max-width:480px){.mn-opt .fs-opt .fst{font-size:13px}.mn-opt .fs-opt .fsa{min-width:1.2rem;font-size:15px}.mn-opt .fs-opt{gap:4px}}

/* Stand 178: Fotos von Besuchern auf Ortsseiten */
.vfotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:18px 0 0}
.vfoto{margin:0;border-radius:12px;overflow:hidden;background:var(--mist)}
.vfoto img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain}
.vfoto figcaption{font-size:.8rem;color:var(--muted);padding:8px 12px}
.vf-danke{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--mist)}
.vf-d>summary{display:inline-flex;cursor:pointer;list-style:none}.vf-d>summary::-webkit-details-marker{display:none}
.vf-f{display:grid;gap:12px;margin-top:12px;max-width:520px}
.vf-l{display:grid;gap:6px;font-size:.9rem}
.vf-l input[type=text],.vf-l input[type=email],.vf-l input[type=file]{font:inherit;padding:10px 12px;border:1px solid var(--line,#c8cdd2);border-radius:8px;background:var(--bg,#fff);color:inherit;max-width:100%}
.vf-ok{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;cursor:pointer}.vf-ok{position:relative}.vf-ok input{position:absolute;opacity:0;width:24px;height:24px;margin:0}.vf-box{flex:none;width:24px;height:24px;border-radius:6px;border:2px solid var(--muted);background:var(--bg);display:inline-block;position:relative}.vf-ok input:checked+.vf-box{background:var(--solid);border-color:var(--solid)}.vf-ok input:checked+.vf-box::after{content:'';position:absolute;left:7px;top:2px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}.vf-ok input:focus-visible+.vf-box{outline:3px solid var(--fg);outline-offset:2px}
.vf-fehler{margin:0;padding:10px 14px;border-radius:10px;background:var(--mist);font-weight:600}
.vf-kst{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.vf-l input[type=file]::file-selector-button{font:inherit;font-weight:600;margin-right:12px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--mist);color:inherit;cursor:pointer}
.vf-fehler{color:var(--fg);font-weight:600;background:var(--mist-2)}
.vfoto figcaption{overflow-wrap:anywhere}

/* Stand 195: Schließen-Kreuz der Firmen-Leiste als Zeichnung, exakt mittig */
.fl-x svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Stand 201: eigene Google-Karte (nur unsere Einträge) */
.gk .gk-map{position:absolute;inset:0}
/* Stand 203: Karten edel – zarte Umrandung, Namensschild, Hinweisfenster im eigenen Design */
.gk,.et-karte,.oj-map,.ub-karte{border:1px solid var(--mint,#5EDBC0);box-shadow:0 1px 2px rgba(22,59,76,.06)}
.gk .gk-map,.et-karte .et-gmap{border-radius:inherit}
.gm-style .gk-schild{background:var(--card,#fff);border:1px solid var(--mint,#5EDBC0);border-radius:999px;padding:3px 10px;box-shadow:0 2px 8px rgba(22,59,76,.14);white-space:nowrap;font-family:var(--font-b);line-height:1.3}
.gm-style .gm-style-iw-c{border-radius:12px!important;border:1px solid var(--mint,#5EDBC0);box-shadow:0 8px 24px rgba(22,59,76,.18)!important;padding:14px!important;background:var(--card,#fff)!important;max-width:300px!important}
.gm-style .gm-style-iw-d{overflow:auto!important;padding:0!important;max-height:none!important}
.gm-style .gm-style-iw-tc{display:none!important}
.gm-style .gm-ui-hover-effect{top:4px!important;right:4px!important;opacity:1!important}
.gm-style .gm-ui-hover-effect>span{background-color:var(--fg,#163B4C)!important}
.gm-style .gm-style-iw-c .gk-iw,.gm-style .gm-style-iw-c .oj-iw,.gm-style .gm-style-iw-c .ub-kinfo{color:var(--fg,#163B4C)}
.gk-iw{font:500 .875rem/1.35 var(--font-b);display:grid;gap:6px;min-width:150px;padding-right:18px}.gk-iw b{font-size:.9375rem;font-family:var(--font-d)}.gk-iw a{color:var(--fg,#163B4C);text-decoration:underline;text-decoration-color:var(--orange,#DB5840);text-decoration-thickness:1px;text-underline-offset:3px;font-weight:600}
.gk-iw a:hover{text-decoration-thickness:2px}
:root[data-theme="dark"] .gm-style .gm-style-iw-c{background:#2A4256!important}
:root[data-theme="dark"] .gm-style .gk-schild{background:#2A4256}
:root[data-theme="dark"] .gm-style .gm-ui-hover-effect>span{background-color:#F2F6F8!important}

/* Stand 206: Block „Für Berliner Firmen“ – kompakter Zwilling des Landingpage-Kopfes (/fuer-firmen/) */
.fm3{padding:0}
.fm3-hero{position:relative;border-radius:16px;overflow:hidden;background:#0F2B38;color:#fff;isolation:isolate}
.fm3-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 40%;z-index:-2}
.fm3-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(15,43,56,.92) 0%,rgba(15,43,56,.8) 45%,rgba(15,43,56,.5) 100%)}
.fm3-ki{position:absolute;right:12px;top:8px;font-size:10px;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.fm3-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center;padding:40px 40px 44px}
.fm3-kick{font:600 .75rem var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin:0 0 10px}
.fm3 h2{font-family:var(--font-d);font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.12;margin:0 0 14px;color:#fff;text-wrap:balance}
.fm3-lead{font-size:1.0625rem;line-height:1.5;color:rgba(255,255,255,.92);max-width:52ch;margin:0 0 20px}
.fm3-kn{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.fm3-kn .btn.or{background:var(--orange-ui,#C44A33);color:#fff;border:0}.fm3-kn .btn.or:hover{filter:brightness(1.08)}
.fm3-kn .btn.w{background:#fff;color:#163B4C;border:0}.fm3-kn .btn.w:hover{background:#E3F6F1}
.fm3-kn .off{opacity:.6;cursor:default}
.fm3-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 22px;font-size:.875rem;color:rgba(255,255,255,.9)}
.fm3-trust span{display:inline-flex;align-items:center;gap:6px}
.fm3-trust svg{width:16px;height:16px;stroke:var(--mint);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fm3-st{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fm3-st li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:start}
.fm3-st b{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--mint);color:var(--mint);display:grid;place-items:center;font:600 .8125rem var(--font-d)}
.fm3-st strong{display:block;font-size:.875rem;font-weight:600;color:#fff}
.fm3-st small{display:block;font-size:.75rem;line-height:1.35;color:rgba(255,255,255,.78);margin-top:2px}
.fm3-r{min-width:0}
.fm3-probe{position:relative;background:var(--bg);color:var(--fg);border-radius:14px;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.28)}
.fm3-akt{position:absolute;top:-12px;right:14px;margin:0;display:inline-flex;align-items:baseline;gap:8px;padding:6px 12px;border-radius:999px;background:var(--orange-ui,#C44A33);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18);line-height:1.2}
.fm3-akt b{font:700 .8125rem var(--font-d);letter-spacing:.02em}.fm3-akt span{font-size:.6875rem;opacity:.95}
.fm3-pl{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.fm3-chip,.fm3-chip2{display:inline-flex;align-items:baseline;gap:6px;min-height:34px;padding:0 14px;border-radius:999px;font:600 .875rem var(--font-d);align-items:center}
.fm3-chip{background:var(--mint-bg);color:var(--mint-ink);box-shadow:inset 0 0 0 1px var(--mint)}
.fm3-chip2{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line)}
.fm3-chip small,.fm3-chip2 small{font-size:.75rem;font-weight:500}
.fm3-k{margin:0;padding:0;transition:opacity .25s}
.fm3-k>li{margin:0}
.fm3-hin{margin:12px 0 0;font-size:.8125rem;color:var(--fg)}
.fm3-hin2{margin:4px 0 0;font-size:.75rem;color:var(--muted)}
.fm3-z{list-style:none;margin:-18px 16px 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:14px;background:var(--bg);border:1px solid rgba(94,219,192,.55);box-shadow:0 6px 20px rgba(15,43,56,.08);overflow:hidden}
.fm3-z li{padding:20px 18px 18px;display:grid;gap:4px;align-content:start;border-left:1px solid var(--line);min-width:0}
.fm3-z li:first-child{border-left:0}
.fm3-z b{font:300 2rem/1.05 var(--font-d);color:var(--fg);letter-spacing:-.01em}
.fm3-z span{font:600 .6875rem var(--font-d);letter-spacing:.12em;text-transform:uppercase;color:var(--mint-ink)}
.fm3-z small{font-size:.75rem;color:var(--muted);line-height:1.35}
.fm3-fuss{text-align:center;color:var(--muted);font-size:.8125rem;margin:18px 0 0}
.fm3-mehr{font-family:var(--font-d);font-weight:600;color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;text-decoration-thickness:1px}
.fm3-mehr:hover{text-decoration-thickness:2px}
:root[data-theme="dark"] .fm3-probe{background:var(--card)}
:root[data-theme="dark"] .fm3-z{background:var(--card)}
:root[data-theme="dark"] .fm3-z span{color:var(--mint)}
:root[data-theme="dark"] .fm3-chip{color:#EAFBF6}
@media (max-width:1000px){.fm3-in{grid-template-columns:1fr;gap:26px;padding:28px 22px 30px}.fm3-z{grid-template-columns:repeat(2,minmax(0,1fr))}.fm3-z li:nth-child(3){border-left:0}.fm3-z li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:640px){.fm3-in{padding:22px 16px 26px}.fm3-st{grid-template-columns:1fr}.fm3-z{margin:-14px 10px 0;grid-template-columns:1fr}.fm3-z li{border-left:0;border-top:1px solid var(--line)}.fm3-z li:first-child{border-top:0}.fm3-kn .btn{flex:1 1 100%;justify-content:center}.fm3-akt{right:10px}}

/* Stand 207: Hinweisfenster der Karten – überall einheitlich, im Dunkelmodus lesbar (Jetzt geöffnet, Essen, Clubs, Unterwegs, Profil) */
.gm-style .gm-style-iw-c{padding:12px 14px!important;min-width:180px}
.gm-style .gm-style-iw-ch{display:none!important;padding:0!important}
.gm-style button.gm-ui-hover-effect{width:28px!important;height:28px!important;top:2px!important;right:2px!important}
.gm-style button.gm-ui-hover-effect>span{width:14px!important;height:14px!important;margin:7px!important}
.gm-style .gm-style-iw-c .oj-iwk a,.gm-style .gm-style-iw-c .ub-kinfo b,.gm-style .gm-style-iw-c .ub-kinfo a{color:var(--fg,#163B4C)}
.gm-style .gm-style-iw-c .oj-iws{color:var(--muted,#4A6270)}
.gm-style .gm-style-iw-c .oj-iwst{color:#0B6B59}
.gm-style .gm-style-iw-c .oj-iwst.bald{color:#B8432D}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-iw,:root[data-theme="dark"] .gm-style .gm-style-iw-c .ub-kinfo,:root[data-theme="dark"] .gm-style .gm-style-iw-c .gk-iw{color:#F2F6F8}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-iwk a,:root[data-theme="dark"] .gm-style .gm-style-iw-c .ub-kinfo b,:root[data-theme="dark"] .gm-style .gm-style-iw-c .ub-kinfo a,:root[data-theme="dark"] .gm-style .gm-style-iw-c .gk-iw a{color:#F2F6F8}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-iws{color:#C5D3DC}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-iwst{color:#5EDBC0}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-iwst.bald{color:#FF9D8A}
:root[data-theme="dark"] .gm-style .gm-style-iw-c .oj-nr:not(.plus){background:#2A4256;color:#F2F6F8;border-color:#5EDBC0}

/* Stand 208: Schließen-Kreuz der Hinweisfenster oben rechts (Googles Kopfzeile .gm-style-iw-chr wird frei schwebend, kein eigener Zeilenplatz mehr) */
.gm-style .gm-style-iw-chr{position:absolute!important;top:6px!important;right:6px!important;left:auto!important;width:auto!important;height:auto!important;display:block!important;z-index:3;margin:0!important;padding:0!important}
.gm-style .gm-style-iw-chr button.gm-ui-hover-effect{position:relative!important;top:0!important;right:0!important;margin:0!important;float:none!important}
.gm-style .gm-style-iw-c .oj-iw,.gm-style .gm-style-iw-c .ub-kinfo{padding-right:22px}

/* Stand 209: Anzeigekachel (Hinweisfenster) der Karten plastisch – zarter Verlauf, Lichtkante oben, mehrstufiger Schatten */
.gm-style .gm-style-iw-c{border:1px solid var(--mint,#5EDBC0)!important;border-radius:14px!important;background:linear-gradient(150deg,#FFFFFF 0%,#F3F9FB 55%,#E2EFF2 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -2px 4px rgba(22,59,76,.07),0 1px 2px rgba(22,59,76,.14),0 6px 14px rgba(22,59,76,.16),0 18px 36px rgba(22,59,76,.18)!important}
.gm-style .gm-style-iw-c::before{content:"";position:absolute;left:0;right:0;top:0;height:42%;border-radius:13px 13px 0 0;background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));pointer-events:none}
.gm-style .gm-style-iw-c .gm-style-iw-d{position:relative}
:root[data-theme="dark"] .gm-style .gm-style-iw-c{background:linear-gradient(150deg,#3A586F 0%,#2C465B 55%,#223A4D 100%)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -2px 4px rgba(0,0,0,.25),0 1px 2px rgba(0,0,0,.4),0 8px 16px rgba(4,14,22,.45),0 20px 40px rgba(4,14,22,.4)!important}
:root[data-theme="dark"] .gm-style .gm-style-iw-c::before{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0))}
/* Stand 319: Listenbereiche Plus · bestätigt · unbestätigt (Kopfzeilen über die volle Breite, ohne farbige Randlinien) */
.vcards>li.grp{grid-column:1/-1;border:0;background:none;padding:6px 0 0;gap:4px;box-shadow:none;display:block}
.vcards>li.grp:hover{border:0}
.vcards>li.grp>b{font:700 1.05rem/1.3 var(--font-d);color:var(--fg)}
.vcards>li.grp .grp-n{color:var(--muted);font-weight:400;font-size:.95rem}
.vcards>li.grp small{display:block;color:var(--muted);font-size:.9rem;margin-top:2px;max-width:70ch}
.vcards>li.grp-plus+li,.vcards>li.grp-best+li,.vcards>li.grp-unb+li{margin-top:0}
.grp-k{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--mist);border:0;border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--fg)}
.grp-k:hover{background:var(--mint-bg)}
.grp-k:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.grp-k>b{font:700 1.05rem/1.3 var(--font-d)}
.grp-k .grp-a{margin-left:auto;font-weight:600;color:var(--mint-ink);white-space:nowrap}
.grp-k .grp-z{width:22px;height:22px;border-radius:50%;background:var(--navy);flex:none;position:relative}
.grp-k .grp-z::before,.grp-k .grp-z::after{content:"";position:absolute;left:6px;top:10px;width:10px;height:2px;background:#fff;border-radius:1px}
.grp-k[aria-expanded="true"] .grp-z::after{display:none}
.grp-k .grp-z::after{transform:rotate(90deg)}
.vcards>li.grp-unb small{padding:0 14px}
:root[data-theme="dark"] .grp-k{background:#2A4256}
:root[data-theme="dark"] .grp-k:hover{background:#33506a}
:root[data-theme="dark"] .grp-k .grp-z{background:var(--mint)}
:root[data-theme="dark"] .grp-k .grp-z::before,:root[data-theme="dark"] .grp-k .grp-z::after{background:#0F2B38}

/* Stand 325: Suchfeld im Tabletbereich – beim Anklicken wird es groß und rutscht in eine eigene Zeile unter die Kopfzeile; Logo, Menü, Knöpfe und Schnellzeile bleiben sichtbar und bedienbar. Rest der Seite abgedunkelt */
.hs-ab{display:none}
.hs-x{display:flex;align-items:center;justify-content:center;line-height:0}.hs-x svg{display:block;flex:none}
@media (min-width:641px){ /* Stand 358: großes Suchfeld auch am Desktop (vorher nur Tablet); Ränder folgen der Seitenbreite 1320 px */
  .hdr.sf>.wrap{position:static}
  .hdr.sf .hsearch{position:absolute;left:max(16px,calc(50% - 644px));right:max(142px,calc(50% - 518px));top:calc(100% + 10px);max-width:none;min-height:48px;z-index:3;box-shadow:inset 0 0 0 2px var(--orange),0 6px 20px rgba(22,59,76,.25)}
  .hdr.sf .hsearch input{font-size:1rem}
  .hdr.sf .hs-ab{display:inline-flex;align-items:center;justify-content:center;position:absolute;right:max(16px,calc(50% - 644px));top:calc(100% + 10px);height:48px;padding:0 16px;z-index:3;border:0;border-radius:6px;background:var(--bg);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);font:600 .9375rem var(--font-d);cursor:pointer}
  .hdr.sf .hs-ab:hover{background:var(--mist)}
  .hdr.sf .hs-ab:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
  .hdr.sf::after{content:"";position:absolute;left:0;right:0;top:100%;height:100vh;background:rgba(22,59,76,.5);z-index:1}
  :root[data-theme="dark"] .hdr.sf::after{background:rgba(2,8,14,.62)}
  .hdr.sf .sres{max-height:min(60vh,520px)}
  .hdr.sf .sres .hit b,.hdr.sf .sres .hit small{white-space:normal}
}

/* Stand 344: Verweis-Block (Branche → Ämter & Hilfe): Knopf rechts neben der Liste, mittig; am Handy über der Liste; Knopftext darf umbrechen */
.verweis.mit-liste{max-width:none;display:grid;grid-template-columns:minmax(0,70ch) minmax(240px,1fr);gap:8px 28px;align-items:start}
.verweis.mit-liste .vliste{grid-column:1;grid-row:1;margin:0;min-width:0}
.verweis.mit-liste .vk{grid-column:2;grid-row:1;margin:0;align-self:start;justify-self:center;max-width:300px;padding-top:58px} /* Mitte der ersten drei Einträge (3 × 66 px) */
.verweis .btn{white-space:normal;text-align:center;line-height:1.3;max-width:100%}
@media(max-width:700px){.verweis.mit-liste{grid-template-columns:1fr}.verweis.mit-liste .vk{grid-column:1;grid-row:1;justify-self:stretch;max-width:none;margin-bottom:12px}.verweis.mit-liste .vliste{grid-row:2}.verweis .btn{width:100%}}
/* Stand 344: Unterzeile (Ortsteil) im Kopfbild der Straßenseiten */
.hkt .h1-sub{color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.35)}

/* ===== Stand 344: Kampagne für unbestätigte Profile (Knopf und Spruch Entwurfsstand 46) – gemeinsame Teile für Profilkopf und Firmenkarte ===== */
.ksp{position:absolute;z-index:2;font-family:var(--font-d);font-weight:700;line-height:1.08;letter-spacing:-.01em;color:#163B4C;pointer-events:none}
.ksp span{display:block;opacity:1;transform:none;transition:opacity .5s,transform .5s}
.js-kamp .ksp span{opacity:0;transform:translateY(.25em)}.js-kamp .ksp span.on{opacity:1;transform:none}
.ksp .b2{color:#5EDBC0;text-shadow:0 .03em .06em rgba(15,43,56,.55),0 0 .2em rgba(15,43,56,.28)}
.kkn{position:absolute;z-index:4;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;font-family:var(--font-d);font-weight:600;letter-spacing:.01em;border-radius:999px;background:#DA5546;color:#fff;box-shadow:0 2px 10px rgba(15,43,56,.22),inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .18s ease,filter .18s ease;text-shadow:none}
.kkn:hover{transform:translateY(-1px);filter:brightness(1.06);color:#fff}.kkn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.kkn::before{content:"";position:absolute;inset:-2px;border-radius:999px;border:2px solid #DA5546;opacity:0;animation:rl-puls 2.5s ease-out infinite;pointer-events:none}
@keyframes rl-puls{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}
.kbar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.1);pointer-events:none;z-index:3}
.kbar i{display:block;height:100%;width:100%;background:rgba(94,219,192,.5);transform-origin:left;transform:scaleX(0);will-change:transform}
.kamp-pause .kbar{opacity:.35}
.kov{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 95% 80% at 100% 0%,rgba(15,43,56,.72) 0%,rgba(15,43,56,.6) 18%,rgba(15,43,56,.42) 38%,rgba(15,43,56,.24) 58%,rgba(15,43,56,.1) 78%,rgba(15,43,56,0) 100%)}
.kb{position:absolute;inset:0;opacity:0}.kamp-go .kb{transition:opacity .8s}.kb.on{opacity:1}
@media (prefers-reduced-motion:reduce){.kkn::before{animation:none}.kb,.ksp span{transition:none}}
/* Firmenkarte: Bilder 4:3, Spruch oben rechts auf der freien Fläche, Knopf unten rechts über dem Label */
.vcards li.kamp,.vcards>li.kamp{position:relative;container-type:inline-size}
.ph.kamp img.kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.kamp .ksp{right:8px;top:10px;width:68%;font-size:1rem;text-align:right;line-height:1.1}
.ph.kamp .ksp{right:3cqw;top:4cqw;width:68cqw;font-size:6.2cqw}
.ph.kamp .ksp span{text-wrap:balance}
.ph.kamp .ksp .a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.ph.kamp .bbk{z-index:3}
li.kamp>.kkn{right:8px;top:50%;height:26px;padding:0 10px;font-size:10px}
li.kamp>.kkn{right:3cqw;top:50cqw;height:9.7cqw;padding:0 3.73cqw;font-size:max(10px,3.73cqw)}
.ph.kamp .kbar{bottom:0}
/* Stand 344: „Lage und Weg dorthin“ – Eingabe des Starts über der Karte, Weg als Google-Einbettung in derselben Fläche */
.w3{display:flex;gap:8px 10px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.w3 label{font-weight:600}
.w3 input{flex:1 1 220px;min-width:0;min-height:40px;border:1.5px solid var(--line);border-radius:8px;padding:0 12px;font:inherit;background:var(--card);color:var(--fg)}
.w3 input:focus-visible{outline:2px solid var(--mint);outline-offset:1px;border-color:var(--mint)}
.w3 .btn{min-height:40px}
.w3 .hnote{flex-basis:100%;margin:0}
.w3 .hnote:empty{display:none}
.gk iframe.gk-weg{z-index:1}
.w3[hidden],.w3 [hidden]{display:none!important}
/* Stand 344: Überlauf-Prüfung 320–414 px – Foto-Formular (Datei-Feld zwang die Spalte breiter als den Bildschirm), Fußknopf „Ist das Ihre Firma?“ darf umbrechen */
.vf-f{grid-template-columns:minmax(0,1fr)}
.vf-f input,.vf-f label{min-width:0;max-width:100%}
.vf-f input[type="file"]{width:100%}
.pla .btn{white-space:normal;text-align:center;max-width:100%;line-height:1.3}
/* Stand 344, Prüfbefunde: Eingabezeile so breit wie die Karte (16:7 bei 420 px Höhe = 960 px); Hinweis in eigener Zeile; Verweis-Knopf am Smartphone ohne Leerraum oben */
.w3{max-width:960px}
.w3 .hnote{flex:1 0 100%;max-width:none;width:100%}
@media(max-width:700px){.verweis.mit-liste .vk{padding-top:0}}
/* Stand 349: eingeklappter Bereich „Weitere Firmen aus öffentlichen Quellen“ – erste Kartenzeile als halbe Vorschau, nach unten weich ausgeblendet; Klick klappt auf */
.vcards>li[data-vs]{max-height:150px;overflow:hidden;cursor:pointer;-webkit-mask-image:linear-gradient(#000 30%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(#000 30%,rgba(0,0,0,0) 100%);border-color:transparent;box-shadow:none}
.vcards>li[data-vs]:hover{border-color:transparent}
.vcards>li[data-vs] a.vc,.vcards>li[data-vs] .kkn,.vcards>li[data-vs] .vact{pointer-events:none}
.vcards>li[data-vs] .ph{border-radius:4px}
@media(max-width:700px){.vcards>li[data-vs]{max-height:170px}}
/* Stand 350: halbe Vorschau auch für „Mehr … zeigen“ (nächste Zeile) und für Klapp-Flächen (Alle Einträge anzeigen, Alle Branchen zeigen) */
html.js .vcards[data-stufe] li[data-mehr][data-vs]{display:grid}
.vsbox[data-vs]{display:block;max-height:170px;overflow:hidden;cursor:pointer;-webkit-mask-image:linear-gradient(#000 30%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(#000 30%,rgba(0,0,0,0) 100%)}
.vsbox[data-vs] *{pointer-events:none}
#hl-voll[data-vs] .zm,#hl-voll[data-vs] script{display:none}
/* Stand 353: Verweis auf den Google-Eintrag von regio.link – klein neben der Lizenz */
.fuss .fnote a.fgm{font-size:.6875rem;color:#9FB3BE;text-decoration:none}
.fuss .fnote a.fgm:hover{color:#EDF3F6;text-decoration:underline;text-underline-offset:2px}
/* Stand 357: unter der halben Vorschau der Firmenkarten überall genau 70 px bis zum nächsten Block (Start, Bezirke, Branchen, Listen). Auf der Startseite hat der Block schon 40 px Innenabstand unten, daher dort 30 px. */
.vcards:has(>li[data-vs]){margin-bottom:70px}
body.start .blk>.vcards:has(>li[data-vs]):last-child{margin-bottom:30px}
.blk:has(>.zm-nach:empty)>.vcards:has(>li[data-vs]){margin-bottom:30px} /* Branchenseite: Block hat 40 px Innenabstand unten, davor ein leeres Element */
/* Stand 357: Hinweis unter „Weitere Firmen aus öffentlichen Quellen“ ist nur Randinformation: eine Zeile, deutlich kleiner (auf schmalen Bildschirmen darf er umbrechen) */
.vcards>li.grp-unb small{font-size:.75rem;line-height:1.35;max-width:none;white-space:nowrap}
@media(max-width:860px){.vcards>li.grp-unb small{white-space:normal;font-size:.6875rem;text-wrap:balance}}
/* Stand 357: Plus-Leiste bei sehr schmalen Smartphones (320–360 px): Knöpfe dürfen schrumpfen, kein Überlauf */
@media (max-width:380px){.ple .btn{min-width:0;padding-inline:6px;font-size:.8125rem}}
/* Stand 358: Zugang „Mein Profil“ in der Kopfzeile – Zeichen in den Werkzeugen, kleines Fenster darunter; am Handy in voller Breite unter der Kopfzeile */
.lg-w{position:relative;flex:none}
.lg-k{position:relative}
.lg-k[aria-expanded="true"]{background:var(--fg);color:var(--bg)}
.lg-k.an{background:var(--mint);color:var(--navy)}.lg-k.an svg{display:none}.lg-k .lg-kz{font:700 12px/1 var(--font-d);letter-spacing:.02em}
.lg-p{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 24px);background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(15,43,56,.18);padding:16px 18px 18px;text-align:left;z-index:60;font-family:var(--font-b);font-size:.9375rem;line-height:1.45}
.lg-p .lg-t{display:block;font:700 1.05rem/1.3 var(--font-d);margin:0 0 4px}
.lg-p p{margin:0 0 12px;color:var(--muted)}
.lg-in{display:flex;gap:6px;align-items:stretch}
.lg-in input{flex:1;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--mist);color:var(--fg);font:inherit;font-size:.9375rem}
.lg-in input:focus-visible{outline:2px solid var(--mint);outline-offset:-2px} /* Stand 363: Rahmen nach innen, Feld und Knopf wirken gleich groß */
.lg-p .btn.lg-go{background:var(--mint);color:var(--navy);padding:9px 14px;min-height:40px;font-size:.9rem}
.lg-in .btn.lg-go{align-self:stretch;height:auto;box-sizing:border-box}
.lg-p .btn.lg-go:hover{filter:brightness(.95)}
.lg-hint{margin:20px 0 0!important;text-align:center;font-size:.875rem}
.lg-hint a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.lg-hint a:hover{color:var(--orange-text)}
.lg-row{display:flex;gap:8px}.lg-row .btn{flex:1;min-height:40px;padding:9px 12px;font-size:.9rem}
.lg-row .btn.w{border:1px solid var(--line);background:transparent;color:var(--fg)}
@media (max-width:640px){.lg-w{position:static}.lg-p{left:12px;right:12px;width:auto;max-width:none;top:calc(100% + 2px)}}
/* Stand 358: Kreuz der Leiste „Weitere Firmen aus öffentlichen Quellen“ rechts neben „Anzeigen“, in Mint mit zartem Ring (hell wie dunkel) */
.grp-k .grp-z{order:3;width:30px;height:30px;background:#A8E6D2;box-shadow:0 0 0 3px var(--card),0 0 0 4px #4FBFA2}
/* Stand 362: Kreuz zarter – 2 px statt 3 px stark, 12 px statt 14 px lang */
.grp-k .grp-z::before,.grp-k .grp-z::after{left:9px;top:14px;width:12px;height:2px;background:#0B4F42}
.grp-k .grp-a{margin-left:auto}
:root[data-theme="dark"] .grp-k .grp-z{background:var(--mint);box-shadow:0 0 0 3px var(--mist),0 0 0 4px var(--mint)}
:root[data-theme="dark"] .grp-k .grp-z::before,:root[data-theme="dark"] .grp-k .grp-z::after{background:var(--navy)}
/* Stand 358: halbe Vorschau im hellen Modus ohne Verlauf („Sprühnebel“) – Bild und Spruch bleiben klar, die Karte endet mit klarer Kante; dunkel bleibt der Verlauf */
:root:not([data-theme="dark"]) .vcards>li[data-vs],:root:not([data-theme="dark"]) .vsbox[data-vs]{-webkit-mask-image:none;mask-image:none}
/* Stand 358: Desktop 901–1180 px – Suchfeld der Kopfzeile als Lupe (Klick öffnet die große Suchzeile), damit Menüpunkte nicht umbrechen */
@media (min-width:901px) and (max-width:1180px){
  .hdr:not(.sf) .hsearch{flex:none;width:40px;height:40px;padding:0;justify-content:center}
  .hdr:not(.sf) .hsearch input{position:absolute;inset:0;width:100%;padding:0 0 0 40px;opacity:0;cursor:pointer}
  .hdr:not(.sf) .hsearch>svg{width:18px;height:18px}
  .hmenu a{white-space:nowrap;padding:8px 7px}
}
@media (min-width:901px) and (max-width:1010px){.hmenu a{font-size:.8125rem;padding:8px 4px}.hdr .tools{gap:4px}}
@media (min-width:901px) and (max-width:945px){.hdr .lang-b .lang-n{display:none}}

/* Stand 374: Windows-Hochkontrast / erzwungene Farben (z. B. Edge). Knöpfe und Eingabefelder behalten einen Rand in Systemfarbe (als Umriss: verschiebt nichts), das Logo steht auf eigener heller Fläche in der dunklen Schrift. Gilt nur in diesem Modus, sonst keine Wirkung. */
@media (forced-colors:active){
button,.btn,[role="button"],summary,input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{outline:1px solid ButtonText;outline-offset:-1px}
.hdr .logo-a{forced-color-adjust:none;background:#fff;border-radius:6px;padding:4px 8px}
.logo-d{display:none!important}.logo-l{display:block!important}
.ext-logo .logo-l{forced-color-adjust:none;background:#fff;border-radius:6px;padding:4px 8px;box-sizing:content-box}
}
/* Stand 378: Berliner Umland – Straßenlisten und Tabellen */
.um-strassen{list-style:none;margin:0;padding:0;columns:260px;column-gap:36px}.um-strassen li{break-inside:avoid;padding:6px 0;border-top:1px solid var(--line)}.um-strassen a{display:block;min-height:32px;padding-block:2px}
.um-tab{width:100%;border-collapse:collapse}.um-tab th,.um-tab td{text-align:left;padding:10px 12px 10px 0;border-top:1px solid var(--line);vertical-align:top}.um-tab th{font-weight:600}
@media (max-width:640px){.um-tab thead{display:none}.um-tab,.um-tab tbody,.um-tab tr,.um-tab td{display:block;width:100%}.um-tab td{border-top:0;padding:2px 0}.um-tab tr{border-top:1px solid var(--line);padding:10px 0}.um-tab td::before{content:attr(data-l) ": ";font-weight:600}}
/* Stand 380: Angaben der Gemeinde (Rathaus, Telefon, Öffnungszeiten, Hinweis) */
.um-info{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.um-info dt{font-weight:700}.um-info dd{margin:0;overflow-wrap:anywhere}
.um-hinw{margin:12px 0 0;max-width:68ch}
@media (max-width:520px){.um-info{grid-template-columns:1fr;gap:2px}.um-info dd{margin:0 0 8px}}
/* Stand 288: Cookie-Banner (Einwilligung). Erster Besuch: Banner mittig, Seite abgedunkelt und gesperrt; danach Kreis unten links. Tooltips liefert das System der Website (data-tip). */
.rlcb[hidden],.rlcb [hidden]{display:none!important}
.rlcb{position:fixed;inset:0;z-index:9000;pointer-events:none;--rlcb-b:0px;color:var(--fg);font-family:var(--font-b)}
.rlcb>*{pointer-events:auto}
html.rlcb-lock{overflow:hidden}
.rlcb-bd{position:fixed;inset:0;background:rgba(15,43,56,.6);pointer-events:auto}
/* Karte mittig (sperrend) oder unten links (auf Impressum und Datenschutz) – ohne transform, damit die Tooltips der Knöpfe im Bild bleiben */
.rlcb-k{position:fixed;inset:0;margin:auto;width:min(460px,calc(100% - 24px));height:max-content;max-height:calc(100% - 24px);overflow:auto;background:var(--card);color:var(--fg);border-radius:18px;padding:26px;display:grid;gap:16px;box-shadow:0 24px 60px rgba(8,20,28,.4),0 0 0 1px var(--line)}
.rlcb:not(.leicht){display:grid;place-items:center;padding:12px}
.rlcb:not(.leicht) .rlcb-k{position:relative;inset:auto;margin:0;height:auto;z-index:1}
.rlcb.leicht .rlcb-k{inset:auto auto calc(var(--rlcb-b) + 16px) max(16px,env(safe-area-inset-left,0px));margin:0;width:min(400px,calc(100% - 32px));padding:22px;gap:14px;transition:bottom .3s}
.rlcb.leicht .rlcb-bd{display:none}
.rlcb-k h2,.rlcb-mod h2{font-family:var(--font-d);font-size:1.1rem;line-height:1.2;margin:0 0 4px}
.rlcb-k p,.rlcb-ein{margin:0;font-size:.9rem;line-height:1.5;color:var(--muted)}
.rlcb-lgz{display:flex;justify-content:center;padding:2px 0 6px}
.rlcb-lg{height:30px;width:auto;display:block}.rlcb-lg.d{display:none}
:root[data-theme="dark"] .rlcb-lg.l{display:none}:root[data-theme="dark"] .rlcb-lg.d{display:block}
.rlcb-l,.rlcb-einz,.rlcb-b.t{color:inherit;text-decoration:underline;text-underline-offset:3px}
.rlcb-l{font-size:.85rem}
.rlcb-bt{display:grid;gap:8px}
.rlcb-bt3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
/* Knöpfe: gleiche Größe; nur „Alle akzeptieren“ ist farbig hinterlegt */
.rlcb-b{min-height:46px;padding:0 16px;border-radius:10px;border:0;font:600 .95rem/1.2 var(--font-d);display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;cursor:pointer;color:var(--fg);background:transparent;position:relative}
.rlcb-b.f{background:var(--solid);color:#fff}
:root[data-theme="dark"] .rlcb-b.f{background:var(--mint);color:#0F2B38}
.rlcb-b.f:hover{filter:brightness(1.12)}
.rlcb-b.o{background:none;box-shadow:none}.rlcb-b.o:hover{background:var(--mist)}
.rlcb-b.t{min-height:36px;font-size:.9rem;font-weight:600;background:none}.rlcb-b.t:hover{background:var(--mist)}
.rlcb :focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.rlcb .rlcb-k:focus,.rlcb .rlcb-k:focus-visible,.rlcb .rlcb-mod:focus,.rlcb .rlcb-mod:focus-visible{outline:none}
/* Einstellungsfenster */
.rlcb-dim{position:fixed;inset:0;background:rgba(15,43,56,.6);display:grid;place-items:center;padding:12px;pointer-events:auto;z-index:2}
.rlcb-mod{grid-template-columns:minmax(0,1fr);width:min(560px,100%);max-height:100%;overflow:auto;background:var(--card);color:var(--fg);border-radius:18px;box-shadow:0 24px 60px rgba(8,20,28,.4);padding:22px;display:grid;gap:14px}
.rlcb-kopf{display:flex;align-items:center;gap:12px}.rlcb-kopf h2{font-size:1.2rem;margin:0}
.rlcb-x{margin-left:auto;width:40px;height:40px;border-radius:10px;border:0;background:none;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;flex:none;cursor:pointer;color:inherit;position:relative}
.rlcb-x svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.rlcb-gr{padding:12px 14px;border-radius:12px;background:var(--mist);display:grid;gap:6px}
.rlcb-zl{display:flex;align-items:center;gap:12px}.rlcb-zl b{min-width:0;font:700 1rem var(--font-d)}.rlcb-zl>:last-child{margin-left:auto}
.rlcb-gr p{margin:0;font-size:.85rem;color:var(--muted)}
.rlcb-pille{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font:600 .78rem var(--font-d);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--mint-ink);color:var(--mint-ink);white-space:nowrap}
.rlcb-sw{width:54px;height:32px;border-radius:999px;border:0;background:var(--card);box-shadow:inset 0 0 0 2px var(--fg);position:relative;flex:none;cursor:pointer;padding:0}
.rlcb-sw i{position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:var(--fg);transition:transform .15s}
.rlcb-sw[aria-checked="true"]{background:color-mix(in srgb,var(--mint) 55%,var(--card))}
.rlcb-sw[aria-checked="true"] i{transform:translateX(22px)}
:root[data-theme="dark"] .rlcb-sw[aria-checked="true"]{background:color-mix(in srgb,var(--mint) 60%,var(--card))}
.rlcb-einz{justify-self:start;font-size:.85rem;min-height:32px;border:0;background:none;cursor:pointer;font-family:inherit;position:relative}
.rlcb-tab{display:grid;gap:6px;margin:2px 0 0}
.rlcb-tab div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4px 12px;padding:8px 10px;border-radius:8px;background:var(--card);font-size:.8rem}
.rlcb-tab dt{font-weight:600;word-break:break-word}.rlcb-tab dd{margin:0;color:var(--muted)}
.rlcb-fz{display:flex;gap:16px;flex-wrap:wrap}
/* Kreis unten links, immer über der Akquiseleiste (Abstand misst consent.js) */
.rlcb-z{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(var(--rlcb-b) + 16px);width:46px;height:46px;border-radius:50%;border:0;background:var(--card);box-shadow:0 8px 22px rgba(15,43,56,.28),0 0 0 1px var(--line);display:grid;place-items:center;cursor:pointer;color:var(--fg);padding:0;transition:bottom .3s;pointer-events:auto}
.rlcb-z:hover{background:var(--mist)}
.rlcb-z svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rlcb-z svg .pk{fill:currentColor;stroke:none}
.rlcb-z.neu{animation:rlcb-ein .35s ease both}
@keyframes rlcb-ein{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
.rlcb-ok{position:fixed;left:50%;bottom:calc(var(--rlcb-b) + 76px);transform:translateX(-50%);max-width:calc(100% - 32px);padding:11px 16px;border-radius:12px;background:var(--navy-deep);color:#F2F6F8;font-size:.9rem;box-shadow:0 10px 28px rgba(8,20,28,.35);pointer-events:none}
.rlcb-k.weg{transition:transform .35s ease,opacity .3s;opacity:0;pointer-events:none}
.rlcb.leicht .rlcb-z{z-index:1}
@media (max-width:560px){
  .rlcb-k{padding:18px 16px;gap:12px}
  .rlcb-lg{height:24px}
  .rlcb-bt3{grid-template-columns:1fr}.rlcb-mod{padding:16px}
  .rlcb-tab div{grid-template-columns:1fr}
  .rlcb.leicht .rlcb-k{inset:auto 8px calc(var(--rlcb-b) + 8px) 8px;width:auto;margin:0}
  .rlcb-z{left:max(8px,env(safe-area-inset-left,0px));bottom:calc(var(--rlcb-b) + 8px)}
  .rlcb-ok{bottom:calc(var(--rlcb-b) + 64px)}
}
@media (prefers-reduced-motion:reduce){.rlcb *{transition:none!important;animation:none!important}}
/* Fußzeilenlink und Platzhalter gesperrter Karten */
.fuss .legal .cbl{background:none;border:0;padding:0;color:inherit;font:inherit;font-weight:600;text-decoration:none;min-height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fuss .legal .cbl:hover{opacity:.8}
.rlk-z{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center;padding:12px;background:var(--mist);color:var(--fg);font-size:.875rem}
.rlk-z[hidden]{display:none}
.rlk-z p{margin:0;max-width:34ch;color:var(--muted)}
.rlk-z button{border:0;border-radius:8px;min-height:40px;padding:0 14px;background:var(--solid);color:#fff;font:600 .875rem var(--font-d);cursor:pointer;position:relative}
:root[data-theme="dark"] .rlk-z button{background:var(--mint);color:#0F2B38}
/* Platz am Seitenende, damit der Kreis die letzte Zeile der Fußzeile nie verdeckt */
html.rlcb-zz .fuss::after{content:"";display:block;height:calc(var(--rlcb-b,0px) + 62px)}
@media print{.rlcb{display:none!important}}
/* Stand 344: Edge/Windows zeigte im Cookie-Hinweis Rollbalken (Rundung bei Seitenzoom): Hinweis ohne Rollbereich, nur bei sehr niedrigen Fenstern senkrecht rollbar; Einstellungen nie waagerecht */
.rlcb-k{overflow:hidden;scrollbar-width:thin}
@media (max-height:600px){.rlcb-k{overflow:hidden auto}}
.rlcb-mod{overflow:hidden auto;scrollbar-width:thin}

/* Stand 374: Windows-Hochkontrast / erzwungene Farben (z. B. Edge): Schalter und Fenster behalten sichtbare Ränder in Systemfarben. Gilt nur in diesem Modus, sonst keine Wirkung. */
@media (forced-colors:active){
.rlcb-sw{forced-color-adjust:none;background:Canvas;border:2px solid ButtonText;box-shadow:none}
.rlcb-sw i{background:ButtonText}
.rlcb-sw[aria-checked="true"]{background:Highlight;border-color:Highlight}
.rlcb-sw[aria-checked="true"] i{background:HighlightText}
.rlcb-sw:focus-visible{outline:2px solid CanvasText;outline-offset:2px}
.rlcb-k,.rlcb-mod{outline:2px solid CanvasText;outline-offset:-2px}
.rlcb-lgz{forced-color-adjust:none;background:#fff;border-radius:6px;padding:4px 8px;margin:0 auto;width:max-content}
.rlcb-lg.d{display:none!important}.rlcb-lg.l{display:block!important}
}
/* Sprachmenü im Kopf (Auswahlliste im Website-Design) */
.lang{position:relative}
.lang-b{width:auto;min-width:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-d);font-weight:600;font-size:.8125rem}
.lang-b svg{width:18px;height:18px}
.lang-b .lang-p{width:14px;height:14px;transition:transform .15s}
.lang-b[aria-expanded="true"]{background:var(--fg);color:var(--bg)}
.lang-b[aria-expanded="true"] .lang-p{transform:rotate(180deg)}
.lang-b[aria-expanded="true"]::after{display:none!important}
.lang-n{display:none;white-space:nowrap}
@media (min-width:901px){.lang-n{display:inline}.lang-c{display:none}}
.lang-m[hidden]{display:none}
.lang-m{position:absolute;inset-inline-end:0;top:calc(100% + 8px);z-index:80;width:260px;max-width:calc(100vw - 24px);max-height:min(460px,calc(100vh - 90px));overflow:auto;overscroll-behavior:contain;background:var(--card);color:var(--fg);border-radius:8px;box-shadow:0 12px 32px rgba(22,59,76,.22),0 0 0 1px var(--line);padding:6px;display:grid;gap:2px;text-align:start}
.lang-o{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:6px;cursor:pointer;font-family:var(--font-d);font-weight:600;font-size:.9375rem;outline:none}
.lang-o:hover,.lang-o:focus-visible{background:var(--mist)}
.lang-o:focus-visible{box-shadow:inset 0 0 0 2px var(--orange)}
.lang-o[aria-selected="true"]{background:var(--mist-2)}
.lang-o[aria-disabled="true"]{color:var(--muted);cursor:default}
.lang-h svg{width:18px;height:18px;stroke:var(--fg);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;visibility:hidden;display:block}
.lang-o[aria-selected="true"] .lang-h svg{visibility:visible}
.lang-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}
.lang-t[dir="rtl"]{text-align:end}
.lang-k{font-size:.75rem;color:var(--muted);letter-spacing:.06em}
:root[dir="rtl"] .lang-p{transform:none}
@media (max-width:640px){
  .lang-b{width:auto;min-width:44px;padding:0 8px;gap:4px}
  .lang-b .lang-p{display:none}
  .lang{position:static}
  .lang-m{position:absolute;inset-inline:12px;top:calc(100% - 2px);width:auto;max-width:none;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px)}
}
@media (max-width:389px){.lang-b{padding:0 6px;min-width:42px}}

/* Stand 281: Schriften von rechts nach links (ar, fa, ur) – nur die Schreibrichtung im Text, das Layout bleibt unverändert (nie gespiegelt) */
html[lang="ar"] :where(p,li,h1,h2,h3,h4,h5,h6,span,a,b,i,small,label,button,summary,td,th,figcaption,legend,option),
html[lang="fa"] :where(p,li,h1,h2,h3,h4,h5,h6,span,a,b,i,small,label,button,summary,td,th,figcaption,legend,option),
html[lang="ur"] :where(p,li,h1,h2,h3,h4,h5,h6,span,a,b,i,small,label,button,summary,td,th,figcaption,legend,option){unicode-bidi:plaintext}
/* Stand 281: längere Texte in anderen Sprachen dürfen Knöpfe und Kästen nie über den Rand schieben */
html:not([lang="de"]) :where(.ple,.pla) .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.25;min-width:0}
html:not([lang="de"]) :where(.ple,.pla){min-width:0}
html:not([lang="de"]) .ff-box,html:not([lang="de"]) .ff-box *{overflow-wrap:anywhere;min-width:0}

/* Stand 281 (Nachtrag aus der zweiten Prüfrunde): Umbruchschutz für längere Übersetzungen */
html:not([lang="de"]) .btn{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
html:not([lang="de"]) .btn small{white-space:normal}
html:not([lang="de"]) .zm-such{grid-template-columns:repeat(auto-fit,minmax(min(100%,15em),1fr))}
html:not([lang="de"]) .zm-plz{min-width:0}
html:not([lang="de"]) .zm-plz .btn{white-space:normal}
html:not([lang="de"]) .hf a.sp,html:not([lang="de"]) .hf-sprung{white-space:normal;max-width:100%}
html:not([lang="de"]) .hf a.sp{text-align:center}
html:not([lang="de"]) .hkacheln .hk,html:not([lang="de"]) .hkacheln .hk *{overflow-wrap:anywhere;min-width:0}
html:not([lang="de"]) .slogan{flex-wrap:wrap;max-width:100%;overflow-wrap:anywhere}
/* Kopfzeile: bei längeren Menütexten zweizeilig (Suche in der zweiten Zeile) statt Knöpfe über den Rand zu schieben */
html:not([lang="de"]) .hmenu a,html:not([lang="de"]) .hmenu span.off{white-space:nowrap}
@media (min-width:641px) and (max-width:1180px){
  html:not([lang="de"]) .hdr>.wrap{flex-wrap:wrap}
  html:not([lang="de"]) .hdr .hsearch{display:flex;order:10;flex:1 1 100%;max-width:none;margin:0 0 8px}
  html:not([lang="de"]) .hdr.nosearch .hsearch{display:none}
}
/* Arabisch, Persisch, Urdu: Das Layout läuft immer von links nach rechts – Überschrift, Einleitung und Suche der Kopfbereiche stehen daher alle am linken Rand (die Schrift selbst läuft rechts nach links) */
html:is([lang="ar"],[lang="fa"],[lang="ur"]) .hf-in :where(.kick,h1,.lead),html:is([lang="ar"],[lang="fa"],[lang="ur"]) .hkt :where(h1,p,small){text-align:left}
html:not([lang="de"]) .tiles button{white-space:normal;max-width:100%;min-width:0;overflow-wrap:anywhere}

/* Stand 282: Hinweis beim Sprachwechsel (Entwurf 5 „Deutsch → Sprache“) – Layout immer links nach rechts, nur der Satz läuft je Schrift */
.uebz{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(243,247,249,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);direction:ltr;cursor:progress;animation:uebz-ein .25s ease-out}
:root[data-theme="dark"] .uebz{background:rgba(22,59,76,.72)}
.uebz-k{background:var(--card,#fff);color:var(--fg,#163B4C);border:1px solid var(--line,#D3DEE3);border-radius:16px;box-shadow:0 18px 50px rgba(22,59,76,.22);padding:22px 26px;width:min(420px,100%);display:grid;gap:14px;text-align:center;min-width:0}
:root[data-theme="dark"] .uebz-k{box-shadow:0 18px 50px rgba(0,0,0,.45)}
.uebz-f{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font:700 1.25rem/1.2 var(--font-d,system-ui,sans-serif);min-width:0}
.uebz-f>span{min-width:0;overflow-wrap:anywhere}
.uebz-pf{color:var(--orange,#DB5840);font-size:1.4rem;animation:uebz-atem 1.4s ease-in-out infinite}
.uebz-z{background:var(--mint-bg,#E3F6F1);color:var(--mint-ink,#0B6B59);border-radius:10px;padding:6px 12px}
.uebz-t{margin:0;font:600 1rem/1.4 var(--font-d,system-ui,sans-serif);text-wrap:balance;overflow-wrap:anywhere}
.uebz-s{height:4px;border-radius:4px;background:var(--line,#D3DEE3);overflow:hidden;position:relative}
.uebz-s::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:var(--orange,#DB5840);border-radius:4px;animation:uebz-lauf 1.4s ease-in-out infinite}
@keyframes uebz-ein{from{opacity:0}to{opacity:1}}
@keyframes uebz-lauf{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
@keyframes uebz-atem{50%{transform:scale(1.08);opacity:.7}}
@media (prefers-reduced-motion:reduce){.uebz,.uebz-pf,.uebz-s::after{animation:none}}

/* Stand 284: Kopfzeile übersetzt, Seite selbst deutsch (Basis-Profile, Plus ohne Freigabe): dieselben Umbruch- und Schriftregeln wie auf ganz übersetzten Seiten */
header.hdr[data-kopf] .btn{white-space:normal;max-width:100%;text-align:center;overflow-wrap:anywhere}
header.hdr[data-kopf] .btn small{white-space:normal}
header.hdr[data-kopf] .hmenu a,header.hdr[data-kopf] .hmenu span.off{white-space:nowrap}
header.hdr:is([data-kopf="ar"],[data-kopf="fa"],[data-kopf="ur"]) :where(a,b,span,button,label,small,div,p,li){unicode-bidi:plaintext}
@media (min-width:641px) and (max-width:1180px){
  header.hdr[data-kopf]>.wrap{flex-wrap:wrap}
  header.hdr[data-kopf] .hsearch{display:flex;order:10;flex:1 1 100%;max-width:none;margin:0 0 8px}
  header.hdr.nosearch[data-kopf] .hsearch{display:none}
}
/* Stand 180: Rufnummern-Hörer (Pille in Kopfzeile 2 + Panel). Hell = Variante C: Marine, Felder 112/110 auf Mint-Fläche. */
.rn-slot{flex:none;position:relative;width:30px;height:30px;margin-left:auto;order:2}
.rn-pille{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3;display:inline-flex;align-items:center;height:28px;max-width:28px;overflow:hidden;padding:0 0 0 6px;border-radius:999px;color:var(--fg);background:var(--mist);border:1px solid var(--line);cursor:pointer;font:600 .6875rem var(--font-d);letter-spacing:.03em;white-space:nowrap;transition:max-width .45s cubic-bezier(.2,.7,.2,1),padding .45s,background .2s}
.rn-pille svg{flex:none;width:14px;height:14px}
.rn-pille b{font-weight:600;opacity:0;padding-left:8px;transition:opacity .3s .1s}
.rn-pille:hover,.rn-pille:focus-visible,.rn-pille[aria-expanded="true"]{max-width:min(260px,70vw);padding-right:12px;background:#5EDBC0;border-color:#5EDBC0;color:#163B4C}
.rn-pille:hover b,.rn-pille:focus-visible b,.rn-pille[aria-expanded="true"] b{opacity:1}
.rn-pille:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
:root[data-theme="dark"] .rn-pille{background:#2B4352;border-color:rgba(255,255,255,.3)}
:root[data-theme="dark"] .rn-pille:hover,:root[data-theme="dark"] .rn-pille:focus-visible,:root[data-theme="dark"] .rn-pille[aria-expanded="true"]{background:#5EDBC0;border-color:#5EDBC0;color:#163B4C}
:root[data-theme="dark"] .rn-pille:focus-visible{outline-color:#5EDBC0}
/* Handy: erster Eintrag der wischbaren Zeile, fest am linken Rand */
@media (max-width:640px){
 .rn-slot{order:-1;margin-left:0;margin-right:6px;position:sticky;left:0;z-index:4;background:var(--bg);width:34px;height:36px;display:grid;place-items:center}
 .rn-pille,.rn-pille:hover,.rn-pille:focus-visible,.rn-pille[aria-expanded="true"]{position:static;transform:none;width:28px;max-width:28px;padding:0;justify-content:center}
 .rn-pille b{display:none}
}
/* Panel */
.rn-panel{--rn-bg:var(--card);--rn-fg:var(--fg);--rn-mut:var(--muted);--rn-line:var(--line);--rn-acc:#163B4C;--rn-chip:var(--mist);--rn-tile:#E3F6F1;--rn-tile-l:#BFE5DB;--rn-on:#fff;
 position:absolute;z-index:70;right:max(16px,calc((100% - 1320px)/2 + 16px));top:100%;width:min(440px,calc(100vw - 32px));max-height:min(70vh,640px);display:none;flex-direction:column;background:var(--rn-bg);color:var(--rn-fg);border:1px solid var(--rn-line);border-radius:16px;box-shadow:0 22px 50px rgba(22,59,76,.22);overflow:hidden;font-family:var(--font-b);outline:none}
:root[data-theme="dark"] .rn-panel{--rn-bg:#1B2E3F;--rn-acc:#5EDBC0;--rn-tile:rgba(255,255,255,.08);--rn-tile-l:var(--line);--rn-on:#0F1A23;box-shadow:0 22px 50px rgba(0,0,0,.5)}
.rn-panel.on{display:flex}
.rn-schleier{position:fixed;inset:0;z-index:68;background:rgba(22,59,76,.35)}
.rn-schleier[hidden]{display:none}
@media (max-width:640px){
 .rn-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:82vh;max-height:82dvh;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
}
.rn-k{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px 6px}
.rn-k h2{font:600 1.0625rem/1.2 var(--font-d);margin:0}
.rn-k p{font-size:.78rem;color:var(--rn-mut);margin-top:2px}
.rn-x{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--rn-line);background:var(--rn-chip);color:var(--rn-fg);display:grid;place-items:center;font-size:1rem;line-height:1;cursor:pointer}
.rn-x:focus-visible,.rn-cb:focus-visible,.rn-chip:focus-visible,.rn-nr:focus-visible,.rn-dl:focus-visible,.rn-ak:focus-visible,.rn-tile:focus-visible{outline:2px solid var(--rn-acc);outline-offset:2px}
.rn-s{margin:6px 18px 8px;width:calc(100% - 36px);flex:none;height:38px;border-radius:10px;border:1px solid var(--rn-line);background:var(--rn-chip);color:var(--rn-fg);font:400 .8125rem var(--font-b);padding:0 12px;-webkit-appearance:none;appearance:none;outline:none}
.rn-s::placeholder{color:var(--rn-mut)}.rn-s:focus{border-color:var(--rn-acc)}
.rn-chips{display:flex;gap:6px;padding:0 18px 10px;overflow-x:auto;flex:none;scrollbar-width:none}.rn-chips::-webkit-scrollbar{display:none}
.rn-chip{flex:none;font:600 .6875rem var(--font-d);color:var(--rn-fg);background:var(--rn-chip);border:1px solid var(--rn-line);border-radius:999px;height:30px;padding:0 12px;cursor:pointer;white-space:nowrap}
.rn-chip[aria-pressed="true"]{background:var(--rn-acc);color:var(--rn-on);border-color:var(--rn-acc)}
.rn-sc{overflow-y:auto;padding:0 18px 12px;flex:1;min-height:0;overscroll-behavior:contain}
.rn-g h3{position:sticky;top:0;margin:0;padding:10px 0 6px;font:600 .625rem var(--font-d);letter-spacing:.16em;text-transform:uppercase;color:var(--rn-mut);background:var(--rn-bg)}
:root[data-theme="dark"] .rn-g h3{color:#5EDBC0}
.rn-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:2px 0 6px}
.rn-tile{background:var(--rn-tile);border:1px solid var(--rn-tile-l);border-radius:12px;padding:10px 12px;display:grid;gap:1px;color:var(--rn-fg);text-decoration:none}
.rn-tile .tn{font:700 1.75rem/1.1 var(--font-d);letter-spacing:.02em;color:var(--rn-acc)}.rn-tile .tl{font-size:.72rem;font-weight:600}.rn-tile small{font-size:.66rem;color:var(--rn-mut)}
.rn-sc ul{list-style:none;margin:0;padding:0}
.rn-rw{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--rn-line)}
.rn-rw:first-child{border-top:0}
.rn-tx{min-width:0;display:grid}.rn-nm{font:600 .8125rem/1.3 var(--font-d)}.rn-nt{font-size:.6875rem;color:var(--rn-mut);overflow-wrap:anywhere}
.rn-nu{display:flex;align-items:center;gap:6px;flex:none;text-align:right}
.rn-nw{display:grid;justify-items:end}.rn-nr{font:600 .8125rem var(--font-d);color:var(--rn-acc);text-decoration:none;white-space:nowrap;min-height:28px;display:inline-flex;align-items:center}.rn-nr:hover{text-decoration:underline}.rn-n2{font-size:.66rem;color:var(--rn-mut);white-space:nowrap}
.rn-cb{width:30px;height:30px;border-radius:8px;border:1px solid var(--rn-line);background:var(--rn-chip);color:var(--rn-fg);cursor:pointer;display:grid;place-items:center;padding:0}
.rn-cb svg{width:14px;height:14px}.rn-cb.ok{background:var(--rn-acc);color:var(--rn-on)}
.rn-leer{padding:18px 0;color:var(--rn-mut);font-size:.8125rem}
.rn-f{flex:none;border-top:1px solid var(--rn-line);padding:10px 18px;font-size:.6875rem;color:var(--rn-mut);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.rn-fk{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rn-dl,.rn-ak{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;font:600 .75rem var(--font-d);color:var(--rn-fg);background:var(--rn-chip);border:1px solid var(--rn-line);border-radius:999px;min-height:32px;padding:0 13px;cursor:pointer;text-decoration:none}
.rn-dl:hover,.rn-ak:hover{border-color:var(--rn-acc)}
.rn-dl svg{width:14px;height:14px}
.rn-st{font-size:.625rem;color:var(--rn-mut);padding:0 18px 8px;flex:none}
@media (prefers-reduced-motion:reduce){.rn-pille,.rn-pille b{transition:none}}
/* Stand 185: zarter Mint-Ring um den Hörer-Knopf (Hell und Dunkel), damit er besser auffällt */
.rn-pille,:root[data-theme="dark"] .rn-pille{border-color:#5EDBC0;box-shadow:0 0 0 3px rgba(94,219,192,.3)}
.rn-pille:hover,.rn-pille:focus-visible,.rn-pille[aria-expanded="true"],:root[data-theme="dark"] .rn-pille:hover,:root[data-theme="dark"] .rn-pille:focus-visible,:root[data-theme="dark"] .rn-pille[aria-expanded="true"]{box-shadow:0 0 0 3px rgba(94,219,192,.45)}

/* Stand 195: Schließen-Kreuz als Zeichnung, exakt mittig (ein Textzeichen sitzt je nach Schrift zu hoch oder zu tief) */
.rn-x svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Stand 211: „Als PDF herunterladen“ in Mint abgehoben (Hell und Dunkel) */
.rn-panel .rn-dl{background:#5EDBC0;border-color:#5EDBC0;color:#0F2B38;box-shadow:0 1px 6px rgba(94,219,192,.35)}
.rn-panel .rn-dl:hover{background:#7AE6CF;border-color:#7AE6CF;box-shadow:0 2px 10px rgba(94,219,192,.5)}
.rn-panel .rn-dl:focus-visible{outline-color:#5EDBC0}
