/* Deutschlandkarte */
.dem{margin:1.6em 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.dem-wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:640px){.dem-wrap{grid-template-columns:1fr}.dem-svg{max-width:340px;margin:0 auto}}
.dem-svg{display:block;width:100%;height:auto}
.dem-land{stroke:var(--card);stroke-width:1.2;stroke-linejoin:round;cursor:pointer;transition:filter .15s}
.dem-land:hover{filter:brightness(.92)}
.dem-land:focus{outline:none}
.dem-land:focus-visible,.dem-land.is-sel{stroke:var(--ink);stroke-width:2.6}
.dem-angebot{fill:var(--felt)}
.dem-konzession{fill:url(#dem-hatch)}
.dem-sw .dem-konzession{fill:url(#dem-hatch)}
.dem-keins{fill:var(--paper-2)}
.dem-neutral{fill:var(--felt-tint)}
.dem-neutral:hover,.dem-neutral.is-sel{fill:var(--felt)}
.dem-hatch-bg{fill:var(--brass-tint)}
.dem-hatch-ln{stroke:var(--brass);stroke-width:3}
.dem-lbl{font:600 11px var(--font-mono);fill:var(--ink);pointer-events:none}
.dem-lbl-s{font-size:8px}
.dem-lbl-on{fill:#fff}
.dem-legend{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px;font-size:.88rem}
.dem-legend li{display:flex;gap:8px;align-items:center}
.dem-hint{font:500 .76rem/1.45 var(--font-mono);color:var(--ink-3);margin:6px 0 10px}
.dem-info{border-top:1px dashed var(--line);padding-top:10px;min-height:3.5em;font-size:.92rem}
.dem-info strong{display:block;margin-bottom:4px}
.dem-info p{margin:0;color:var(--ink-2)}
.dem-list{margin-top:12px}
.dem-list summary{cursor:pointer;font:600 .72rem/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.dem-list ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 14px;font-size:.88rem}
.dem-list button{all:unset;cursor:pointer;color:var(--ink);font-weight:600;border-bottom:1.5px solid var(--line-strong)}
.dem-list button:focus-visible{outline:2px solid var(--felt);outline-offset:2px}
.dem-list button[aria-pressed="true"]{border-bottom-color:var(--felt);color:var(--felt)}
@media (prefers-reduced-motion:reduce){.dem-land{transition:none}}
.prose .dem ul{padding-left:0;margin:0}
.prose .dem ul > li::before{content:none;display:none}
.prose .dem li{margin:0}
