/*
Theme Name: Betriebe
Description: Werkstattplan-Design für betriebeonline.de
Version: 1.0.0
Text Domain: betriebe
*/
@font-face{font-family:"Barlow Semi Condensed";font-weight:600;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}
@font-face{font-family:"Barlow Semi Condensed";font-weight:600;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"Barlow Semi Condensed";font-weight:700;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}
@font-face{font-family:"Barlow Semi Condensed";font-weight:700;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-ext-500.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(assets/fonts/ibm-plex-sans-latin-ext-600.woff2) format("woff2");unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC}

:root{--papier:#F3F5F7;--tinte:#13294B;--raster:#D5DEE9;--rot:#B3261E;--messing:#7A5D0E;--weiss:#fff;--tinte-2:#3A4D6B;--kopf-h:72px;
 --kond:"Barlow Semi Condensed","Arial Narrow",sans-serif;--text:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--papier);color:var(--tinte);font:400 17px/1.62 var(--text);
 background-image:linear-gradient(var(--raster) 1px,transparent 1px),linear-gradient(90deg,var(--raster) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;background-attachment:scroll}
body::before{content:"";position:fixed;inset:0;background:var(--papier);opacity:.82;pointer-events:none;z-index:-1}
img,svg{max-width:100%}
a{color:var(--tinte);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--rot)}
:focus-visible{outline:3px solid var(--rot);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--kond);font-weight:700;line-height:1.08;letter-spacing:.005em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.6vw,3.7rem)}
h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-top:1.4em}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.mono{font-family:var(--mono);font-weight:500;font-size:.82em;letter-spacing:.02em}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--tinte);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
.rahmen{max-width:1200px;margin:0 auto;padding:0 24px}
.lede{font-size:1.2rem;line-height:1.5;color:var(--tinte-2);max-width:62ch}
.mt{margin-top:1.6rem}

/* Kopf */
.kopf{position:sticky;top:0;z-index:50;background:var(--papier);border-bottom:2px solid var(--tinte)}
.kopf-in{max-width:1200px;margin:0 auto;padding:0 24px;height:var(--kopf-h);display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinte)}
.logo-t{font-family:var(--kond);font-size:1.7rem;line-height:1;display:flex;align-items:baseline;gap:1px}
.logo-t b{font-weight:700}.logo-t i{font-style:normal;font-weight:600;color:var(--rot)}
.hauptnav{margin-left:auto;display:flex;align-items:center;gap:6px}
.hauptnav a{font-family:var(--kond);font-weight:600;font-size:1.12rem;text-decoration:none;padding:8px 14px;position:relative;color:var(--tinte)}
.hauptnav a:not(.aktion)::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:6px;background:repeating-linear-gradient(90deg,var(--tinte) 0 1.5px,transparent 1.5px 6px);opacity:0;transition:opacity .15s}
.hauptnav a:not(.aktion):hover::after,.hauptnav a[aria-current="page"]::after{opacity:1}
.hauptnav a[aria-current="page"]::after{background:var(--rot);height:3px;bottom:3px}
.aktion{display:inline-block;background:var(--rot);color:#fff!important;font-family:var(--kond);font-weight:700;font-size:1.12rem;padding:10px 20px!important;margin-left:10px;text-decoration:none;border-radius:2px;border:0;cursor:pointer;line-height:1.2}
.aktion:hover{background:#8f1d17;color:#fff!important}
.aktion-voll{padding:13px 26px!important;margin:0}
.massband{height:9px;background:repeating-linear-gradient(90deg,var(--tinte) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,var(--tinte) 0 1px,transparent 1px 40px);background-size:100% 5px,100% 9px;background-repeat:no-repeat;opacity:.55}
.nav-tog{display:none;margin-left:auto;background:none;border:2px solid var(--tinte);color:var(--tinte);width:46px;height:46px;border-radius:2px;cursor:pointer;align-items:center;justify-content:center}

/* Held */
.held{min-height:calc(100svh - var(--kopf-h) - 12px);display:flex;align-items:center;padding:28px 0 32px;position:relative}
.held-in{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center;width:100%}
.held-kicker{color:var(--rot);margin:0 0 14px}
.held h1{font-size:clamp(2.4rem,calc(3.2vw + 3.2vh),4.5rem);margin-bottom:.35em}
.held-lede{font-size:1.2rem;color:var(--tinte-2);max-width:54ch;margin-bottom:26px}
.held-hinweis{margin-top:16px;font-size:.95rem;color:var(--tinte-2)}
.held-karte{position:relative;display:flex;justify-content:center}
.held-stempel{position:absolute;left:0;top:7%;margin:0;background:#fff;border:1.5px solid var(--tinte);padding:10px 14px;box-shadow:4px 4px 0 var(--raster);line-height:1.5}
.held-stempel b{font-size:1.3em;color:var(--rot)}
.suchfeld{display:grid;grid-template-columns:1fr 1fr auto;background:#fff;border:2px solid var(--tinte);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5.5px var(--tinte);padding:7px;max-width:640px}
.suchfeld label{display:flex;flex-direction:column;padding:8px 14px;border-right:1px solid var(--raster);min-width:0}
.suchfeld label span{font-family:var(--mono);font-size:.7rem;color:var(--tinte-2);text-transform:none;letter-spacing:.04em}
.suchfeld input{border:0;background:transparent;font:500 1.05rem var(--text);color:var(--tinte);padding:3px 0;width:100%;min-width:0}
.suchfeld input:focus{outline:0}.suchfeld label:focus-within{background:var(--papier)}
.suchfeld button{display:flex;align-items:center;gap:8px;background:var(--tinte);color:#fff;border:0;font:700 1.1rem var(--kond);padding:0 22px;cursor:pointer}
.suchfeld button:hover{background:var(--rot)}
.suchfeld-klein{grid-template-columns:1fr;max-width:420px;box-shadow:none;border-width:1.5px}
.suchfeld-klein label{border-right:0;border-bottom:1px solid var(--raster)}.suchfeld-klein button{padding:12px;justify-content:center}

/* Karte (SVG) */
.demap{width:100%;height:auto;max-height:calc(100svh - var(--kopf-h) - 90px);display:block;overflow:visible}
.demap .st{stroke:var(--tinte);stroke-width:1;stroke-opacity:.35;transition:fill .2s}
.demap a:hover .st{fill:rgba(179,38,30,.35)!important}
.demap .st.is-on{fill:rgba(179,38,30,.28)!important;stroke-opacity:1;stroke-width:2}
.demap .umriss{fill:none;stroke:var(--tinte);stroke-width:2.6;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.demap .pt{fill:rgba(179,38,30,.18);stroke:var(--rot);stroke-width:1.5}
.demap .pt-i{fill:var(--rot)}
.demap .pt-t{font:600 22px var(--kond);fill:var(--tinte);paint-order:stroke;stroke:var(--papier);stroke-width:5px}
.demap .dims{stroke:var(--rot);stroke-width:2;fill:none}.demap .dims text{fill:var(--rot);stroke:none;font:500 24px var(--mono)}
.demap-held .umriss{animation:zeichne 3.4s cubic-bezier(.5,0,.2,1) .2s both}
.demap-held .st{animation:fuell 1.2s ease 2.4s both}
.demap-held .pt,.demap-held .pt-i{opacity:0;animation:pop .55s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(2.4s + var(--d,0s))}
.demap-held .pt-i{animation-delay:calc(2.4s + var(--d,0s))}
.demap-held .dims{opacity:0;animation:ein .8s ease 3.2s both}
@keyframes zeichne{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes fuell{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
@keyframes ein{to{opacity:1}}
.demap .pt{transform-box:fill-box;transform-origin:center}.demap .pt-i{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:reduce){.demap-held *{animation:none!important;opacity:1!important}.demap-held .umriss{stroke-dashoffset:0}html{scroll-behavior:auto}}

.zahlen{background:var(--tinte);color:#fff}
.zahlen-in{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.zahlen p{margin:0;padding:22px 18px;border-left:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column}
.zahlen p:first-child{border-left:0}
.zahlen b{font:700 2.3rem/1 var(--kond)}.zahlen span{font-size:.95rem;opacity:.9}

.block{padding:56px 0}.block-karte{background:rgba(255,255,255,.55);border-block:1.5px solid var(--tinte)}
.block-k{margin-top:36px}
.gewerke{list-style:none;margin:24px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gewerke-dicht{grid-template-columns:repeat(3,1fr)}
.gewerke a{display:flex;align-items:center;gap:14px;padding:16px 16px;background:#fff;border:1.5px solid var(--tinte);text-decoration:none;height:100%;transition:transform .12s,box-shadow .12s}
.gewerke a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--tinte);color:var(--tinte)}
.gew-ico{flex:none;width:44px;height:44px;border:1.5px solid var(--tinte);display:grid;place-items:center;background:var(--papier)}
.gew-n{display:flex;flex-direction:column;min-width:0}.gew-n b{font:700 1.2rem/1.1 var(--kond)}.gew-n small{color:var(--tinte-2);font-size:.9rem}
.knopf-l{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--tinte);padding:10px 18px;font:700 1.1rem var(--kond);text-decoration:none;color:var(--tinte);background:#fff}
.knopf-l:hover{background:var(--tinte);color:#fff}
.karte-zwei{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:center}
.karte-bild .demap{max-height:640px}
.land-top{list-style:none;margin:0 0 18px;padding:0;counter-reset:l}
.land-top li{border-bottom:1px dashed var(--tinte-2)}
.land-top a{display:flex;justify-content:space-between;align-items:baseline;padding:9px 2px;text-decoration:none}
.land-top a b{font-family:var(--mono);font-weight:500;font-size:.95rem}
.land-top a:hover{background:#fff}
.orte-chips{list-style:none;margin:14px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.orte-chips a{display:inline-block;padding:7px 14px;background:#fff;border:1.5px solid var(--tinte);text-decoration:none;font-weight:500}
.orte-chips a:hover,.orte-chips a.hi{background:var(--tinte);color:#fff}
.orte-chips small{font-family:var(--mono);color:var(--rot);margin-left:4px}.orte-chips a:hover small,.orte-chips a.hi small{color:#fff}
.orte-chips-k a{padding:5px 11px;font-size:.95rem}
.orte-liste{list-style:none;margin:0 0 16px;padding:0;background:#fff;border:1.5px solid var(--tinte)}
.orte-liste li+li{border-top:1px solid var(--raster)}
.orte-liste a{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;text-decoration:none}
.orte-liste a:hover{background:var(--papier)}.orte-liste b{font-family:var(--mono);font-weight:500;color:var(--rot);font-size:.95rem}
.schnitt{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:44px;align-items:start}

/* Schriftfeld */
.schriftfeld{border-collapse:collapse;background:#fff;border:2px solid var(--tinte);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4.5px var(--tinte);width:100%;font-size:.95rem}
.schriftfeld th,.schriftfeld td{padding:8px 14px;border-top:1px solid var(--tinte-2);text-align:left;vertical-align:top;overflow-wrap:anywhere}
.schriftfeld tr:first-child th,.schriftfeld tr:first-child td{border-top:0;padding-top:12px}
.schriftfeld tr:last-child th,.schriftfeld tr:last-child td{padding-bottom:12px}
.schriftfeld th{width:34%;font:600 .98rem var(--kond);color:var(--tinte-2);border-right:1px solid var(--tinte-2)}
.schriftfeld td.mono{color:var(--rot)}

/* Seiten */
.seite{padding:28px 0 64px}.seite-schmal .rahmen{max-width:880px}
.krumen ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;margin:0 0 18px;padding:0;font-size:.92rem}
.krumen li+li::before{content:"/";margin:0 9px;color:var(--rot);font-family:var(--mono)}
.krumen a{color:var(--tinte-2)}
.kopfblock{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:36px;align-items:start;margin-bottom:30px}
.zwei{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:start}
.zwei-karte{grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center}
.karte-bild-eins .demap{max-height:520px}
.karte-kasten{filter:drop-shadow(1.5px 0 0 var(--tinte)) drop-shadow(-1.5px 0 0 var(--tinte)) drop-shadow(0 1.5px 0 var(--tinte)) drop-shadow(0 -1.5px 0 var(--tinte));margin-bottom:20px}
.karte-plan .beo-karte{clip-path:polygon(0 22px,22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.beo-karte{height:100%;min-height:380px;background:#E9EEF3;z-index:1}
.liste-karte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}
.liste{display:flex;flex-direction:column;gap:12px;min-width:0}
.karte-spalte{position:sticky;top:calc(var(--kopf-h) + 18px)}
.karte-spalte .beo-karte{height:min(560px,calc(100svh - 230px))}
.kart{background:#fff;border:1.5px solid var(--tinte);padding:0;position:relative}
.kart::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:repeating-linear-gradient(0deg,var(--tinte) 0 1.5px,transparent 1.5px 7px)}
.kart-l{display:block;text-decoration:none;padding:14px 16px 4px 22px}
.kart h3{margin:0;font-size:1.35rem}
.kart-d{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:0;padding:6px 16px 14px 22px;font-size:.95rem}
.kart-d dt{font:600 .92rem var(--kond);color:var(--tinte-2)}.kart-d dd{margin:0}
.kart:hover{box-shadow:4px 4px 0 var(--tinte)}
.seiten{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}
.seiten a,.seiten span,.seiten .page-numbers{padding:7px 14px;border:1.5px solid var(--tinte);background:#fff;text-decoration:none;font-family:var(--mono);font-size:.92rem}
.seiten span[aria-current],.seiten .current{background:var(--tinte);color:#fff}
.nav-links{display:flex;gap:6px;flex-wrap:wrap}
.prosa-kurz{max-width:74ch;margin-top:40px}
.prosa{max-width:74ch}.prosa p,.prosa li{line-height:1.7}
.prosa h2{margin-top:1.8em}.prosa h3{margin-top:1.4em}
.prosa ul,.prosa ol{padding-left:1.3em}
.prosa a{color:var(--tinte)}
.leer{background:#fff;border:2px solid var(--tinte);padding:24px 28px}
.fehler-nr{color:var(--rot)}

/* Fiche */
.fiche-kopf{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px;margin-bottom:34px;align-items:start}
.fiche-akt{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.anfrage-kasten{background:#fff;border:2px solid var(--rot);padding:20px 22px;margin-bottom:24px}
.anfrage-kasten h2{margin-top:0;font-size:1.5rem}

/* Hub + Artikel */
.hub-kat{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.hub-kat a{padding:7px 14px;border:1.5px solid var(--tinte);background:#fff;text-decoration:none;font-weight:500}
.hub-kat a[aria-current="page"],.hub-kat a:hover{background:var(--tinte);color:#fff}
.hub-kat small{font-family:var(--mono);margin-left:4px}
.art-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0}
.art-kart{background:#fff;border:1.5px solid var(--tinte);display:flex;flex-direction:column}
.art-bild{display:block;aspect-ratio:16/10;overflow:hidden;border-bottom:1.5px solid var(--tinte);background:var(--raster)}
.art-bild img{width:100%;height:100%;object-fit:cover;display:block}
.art-txt{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.art-rubrik{margin:0 0 6px;font:600 .98rem var(--kond);color:var(--rot)}.art-rubrik a{color:var(--rot);text-decoration:none}
.art-txt h2,.art-txt h3{font-size:1.4rem;margin:0 0 8px}.art-txt h2 a,.art-txt h3 a{text-decoration:none}
.art-txt p{font-size:.97rem}.art-meta{color:var(--tinte-2);font-size:.9rem;margin-top:auto}
.art-kopf{padding:28px 0 10px}.art-kopf h1{max-width:20ch}
.art-held{margin:0 0 10px}.art-held img{width:100%;max-height:480px;object-fit:cover;border:1.5px solid var(--tinte);display:block}
.art-held figcaption{font-size:.85rem;color:var(--tinte-2);margin-top:6px}
.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start;padding-top:20px;padding-bottom:40px}
.art-seite{position:static;min-width:0}
@media (min-width:981px){.art-seite{position:sticky;top:calc(var(--kopf-h) + 20px)}}
.toc{background:#fff;border:1.5px solid var(--tinte);padding:14px 16px;margin-bottom:16px}
.toc-t{font:700 1.15rem var(--kond);margin:0 0 8px}
.toc ol{list-style:none;margin:0;padding:0}.toc li+li{border-top:1px dashed var(--raster)}
.toc a{display:block;padding:6px 0;text-decoration:none;font-size:.93rem;line-height:1.3}
.toc a span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seite-karte{background:#fff;border:1.5px solid var(--tinte);padding:14px 16px}
.seite-karte .suchfeld{border:0;box-shadow:none;padding:0}
.formblock{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--tinte);color:#fff;padding:30px 36px;margin-bottom:56px}
.formblock h2{margin:0 0 6px;color:#fff;font-size:1.8rem}.formblock p{margin:0;max-width:52ch}
.wusste{background:#fff;border:1.5px solid var(--tinte);border-left:8px solid var(--rot);padding:16px 20px;margin:28px 0}
.wusste h3{margin:0 0 6px;font-size:1.25rem;color:var(--rot)}.wusste p{margin:0}
.fakten{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.fakten div{background:#fff;border:1.5px solid var(--tinte);padding:14px 16px}
.fakten b{display:block;font:700 2rem/1 var(--kond);color:var(--rot)}.fakten span{font-size:.93rem}
.infografik{margin:30px 0;background:#fff;border:1.5px solid var(--tinte);padding:20px 22px}
.infografik h3{margin-top:0}
.balken{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.balken li{display:grid;grid-template-columns:minmax(120px,170px) 1fr auto;gap:12px;align-items:center;font-size:.95rem}
.balken i{display:block;height:20px;background:var(--tinte);transform-origin:left}
.balken li:nth-child(even) i{background:var(--rot)}
.balken b{font-family:var(--mono);font-weight:500;font-size:.9rem}
.quellen{list-style:none;padding:0;margin:20px 0;display:grid;gap:10px;counter-reset:q}
.quellen li{background:#fff;border:1.5px solid var(--tinte);padding:10px 14px;counter-increment:q;display:flex;gap:12px;align-items:baseline}
.quellen li::before{content:counter(q);font:700 1rem var(--mono);color:var(--rot)}
.quellen a{font-weight:500}.quellen small{color:var(--tinte-2);display:block}
.faq{margin:30px 0}.faq details{background:#fff;border:1.5px solid var(--tinte);margin-bottom:8px}
.faq summary{cursor:pointer;padding:13px 18px;font:700 1.15rem var(--kond);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--rot)}.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 18px 14px;margin:0}

/* Fuß */
.fuss{background:var(--tinte);color:#fff;margin-top:20px;padding:22px 0 14px}
.fuss a{color:#fff}.fuss a:hover{color:#fff;text-decoration:underline}
.fuss-in{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:28px;align-items:center;flex-wrap:wrap}
.fuss-marke{display:flex;gap:14px;align-items:center;max-width:520px}.fuss-marke p{margin:0;font-size:.95rem;line-height:1.45}
.fuss-marke svg path[stroke="#13294B"]{stroke:#fff}
.fuss-nav{display:flex;gap:6px 22px;flex-wrap:wrap}.fuss-nav a{font:600 1.05rem var(--kond)}
.fuss-z{max-width:1200px;margin:14px auto 0;padding:12px 24px 0;border-top:1px solid rgba(255,255,255,.25);font-size:.8rem;line-height:1.45;opacity:.92}

/* Tunnel */
body.beo-tunnel .fuss{display:none}
.tunnel{min-height:calc(100svh - var(--kopf-h) - 12px);display:flex;align-items:stretch;padding:0}
.tunnel-in{max-width:1200px;margin:0 auto;padding:22px 24px;width:100%;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:30px;align-items:stretch}
.tunnel-form{background:#fff;border:2px solid var(--tinte);box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6.5px var(--tinte);padding:26px 32px;display:flex;flex-direction:column;gap:0}
.schritte{list-style:none;display:flex;gap:0;margin:0 0 18px;padding:0}
.schritte li{flex:1;display:flex;align-items:center;gap:8px;font:600 1rem var(--kond);color:var(--tinte-2);padding-bottom:8px;border-bottom:3px solid var(--raster)}
.schritte b{display:grid;place-items:center;width:26px;height:26px;border:1.5px solid currentColor;font-family:var(--mono);font-size:.82rem}
.schritte li.on{color:var(--tinte);border-bottom-color:var(--rot)}.schritte li.on b{background:var(--tinte);color:#fff;border-color:var(--tinte)}
.schritte li.fertig{color:var(--tinte);border-bottom-color:var(--tinte)}
.blatt{display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:16px}.blatt[hidden]{display:none}
.blatt h1,.blatt h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex:1;align-content:center}
.tiles-4{grid-template-columns:repeat(4,1fr)}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:96px;padding:12px 8px;background:var(--papier);border:1.5px solid var(--tinte);font:700 1.1rem var(--kond);color:var(--tinte);cursor:pointer;text-align:center;line-height:1.15}
.tile .ico{width:34px;height:34px}
.tile:hover,.tile:focus-visible{background:var(--tinte);color:#fff}
.tile.on{background:var(--tinte);color:#fff;box-shadow:inset 0 0 0 3px #fff}
.fld{display:flex;flex-direction:column;gap:5px;font:600 1rem var(--kond);color:var(--tinte-2)}
.fld input{font:400 1.05rem var(--text);padding:11px 12px;border:1.5px solid var(--tinte);background:#fff;color:var(--tinte);border-radius:0}
.fld-reihe{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.einw{display:flex;gap:10px;font-size:.92rem;line-height:1.45;align-items:flex-start}
.einw input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--tinte)}
.falle{position:absolute;left:-5000px}
.weiter{align-self:flex-start;background:var(--tinte);color:#fff;border:0;padding:13px 30px;font:700 1.2rem var(--kond);cursor:pointer}
.weiter:hover{background:var(--rot)}.weiter-send{background:var(--rot)}.weiter-send:hover{background:#8f1d17}
.fehl{color:var(--rot);font-weight:600;margin:0}
.tunnel-seite{display:flex;flex-direction:column;gap:18px;justify-content:center}
.zusage{list-style:none;margin:0;padding:0;display:grid;gap:10px}.zusage li{display:flex;gap:10px;align-items:flex-start;font-size:.97rem}.zusage .ico{color:var(--rot);flex:none}
.vorab{background:#fff;border:1.5px dashed var(--tinte);padding:10px 14px;margin:0;font-size:.95rem}

/* Leaflet */
.mk{background:none!important;border:0!important}
.pin{display:grid;place-items:center;width:100%;height:100%}
.pin i{display:block;width:18px;height:18px;background:var(--rot);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 1.5px var(--tinte)}
.pin-n{width:30px;height:30px;border:2px solid var(--tinte);background:#fff;color:var(--tinte);font:700 .85rem var(--kond);border-radius:0}
.mk.hi .pin-n{background:var(--rot);color:#fff;border-color:var(--rot)}
.leaflet-container{font-family:var(--text);background:#E9EEF3}
.leaflet-popup-content-wrapper{border-radius:0;border:1.5px solid var(--tinte)}.leaflet-popup-content a{color:var(--tinte);font-weight:600}
.leaflet-control-zoom a{border-radius:0!important;color:var(--tinte)!important}

/* Mobil */
@media (max-width:980px){
  .held-in,.karte-zwei,.schnitt,.kopfblock,.zwei,.zwei-karte,.fiche-kopf,.liste-karte,.art-grid,.tunnel-in{grid-template-columns:minmax(0,1fr)}
  .held-karte{display:none}
  .held{min-height:0;padding:24px 0}
  .held h1{font-size:clamp(2.1rem,9vw,3rem)}
  .karte-spalte{position:static}.karte-spalte .beo-karte{height:360px}
  .gewerke,.gewerke-dicht{grid-template-columns:repeat(2,1fr)}
  .art-raster{grid-template-columns:1fr 1fr}
  .zahlen-in{grid-template-columns:1fr 1fr}.zahlen p:nth-child(3){border-left:0}
  .nav-tog{display:flex}
  .hauptnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--papier);border-bottom:2px solid var(--tinte);flex-direction:column;align-items:stretch;padding:10px 24px 18px;gap:0}
  .hauptnav.offen{display:flex}.hauptnav a{padding:12px 0;font-size:1.25rem}.hauptnav .aktion{text-align:center;margin:10px 0 0;padding:13px 20px!important}
  .formblock{flex-direction:column;align-items:flex-start;padding:24px}
  .fld-reihe{grid-template-columns:1fr}
  .tunnel-seite{display:none}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .suchfeld{grid-template-columns:1fr}.suchfeld label{border-right:0;border-bottom:1px solid var(--raster)}.suchfeld button{padding:13px;justify-content:center}
  .gewerke,.gewerke-dicht,.art-raster,.fakten{grid-template-columns:1fr}
  .tiles,.tiles-4{grid-template-columns:repeat(2,1fr)}
  .tile{min-height:76px;font-size:1rem}.tile .ico{width:26px;height:26px}
  .tunnel-form{padding:16px 14px}.schritte span{display:none}
  .balken li{grid-template-columns:100px 1fr auto}
  .fuss-in{flex-direction:column;align-items:flex-start}
  .rahmen{padding:0 18px}.kopf-in{padding:0 18px}
}

.kform{display:grid;gap:14px;background:#fff;border:2px solid var(--tinte);box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5.5px var(--tinte);padding:28px 30px;margin:26px 0}
.kform select,.kform textarea{font:400 1.05rem var(--text);padding:11px 12px;border:1.5px solid var(--tinte);background:#fff;color:var(--tinte);border-radius:0}
.kform .fld-reihe{grid-template-columns:repeat(2,1fr)}
.ok{color:#14532d;font-weight:600;margin:0}
@media (max-width:980px){.kform .fld-reihe{grid-template-columns:1fr}}

/* 26/10 — pied collé en bas, média d'actu, tunnel court */
body{display:flex;flex-direction:column;min-height:100vh}
main#inhalt{flex:1 0 auto}.fuss{margin-top:auto}
.laufband{display:flex;align-items:stretch;border:1.5px solid var(--tinte);background:#fff;margin:22px 0 0;overflow:hidden}
.laufband-k{flex:none;background:var(--rot);color:#fff;font:700 1rem var(--kond);letter-spacing:.05em;text-transform:uppercase;padding:10px 16px;display:flex;align-items:center}
.laufband-fenster{overflow:hidden;flex:1;min-width:0}
.laufband-spur{display:flex;gap:44px;width:max-content;padding:10px 0 10px 22px;animation:lauf 70s linear infinite}
.laufband:hover .laufband-spur{animation-play-state:paused}
.laufband-spur a{white-space:nowrap;text-decoration:none;font:600 1.02rem var(--kond);color:var(--tinte)}.laufband-spur a:hover{color:var(--rot);text-decoration:underline}
@keyframes lauf{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.laufband-spur{animation:none}.laufband-fenster{overflow-x:auto}}
.art-une{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);border:2px solid var(--tinte);background:#fff;margin:24px 0 0;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 6.5px var(--tinte)}
.art-une-bild{display:block;min-height:300px;background:var(--raster);border-right:2px solid var(--tinte)}
.art-une-bild img{width:100%;height:100%;object-fit:cover;display:block}
.art-une-txt{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.art-une-txt h2{font-size:clamp(1.8rem,2.6vw,2.4rem);margin:0 0 8px}.art-une-txt h2 a{text-decoration:none}
.art-une-txt p{margin:0 0 10px}.art-une-txt .art-meta{margin-top:6px}
@media (max-width:980px){.art-une{grid-template-columns:minmax(0,1fr)}.art-une-bild{min-height:200px;border-right:0;border-bottom:2px solid var(--tinte)}.art-une-txt{padding:22px 20px}}
@media (max-width:640px) and (max-height:800px){
  .tunnel-in{padding:10px 12px}.tunnel-form{padding:12px 12px}.schritte{margin-bottom:8px}.blatt{gap:10px}
  .blatt h1,.blatt h2{font-size:1.5rem}.tile{min-height:58px;padding:6px 4px;gap:4px}.tile .ico{width:22px;height:22px}.tiles{gap:8px}
  .weiter{padding:10px 24px}.fld input{padding:9px 10px}
}
.kat-text{max-width:74ch;margin:34px 0 10px;padding-top:6px;border-top:1.5px solid var(--tinte)}.kat-text h2{font-size:1.55rem;margin:22px 0 8px}.kat-text p{margin:0 0 12px}
