.ast-municipal{margin-top:32px;border:0;border-radius:0;overflow:visible;background:transparent}.ast-municipal-toolbar{padding:20px 24px;border-bottom:0;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.ast-municipal-legend{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}.ast-municipal-legend span{display:flex;align-items:center;gap:8px}.ast-municipal-legend i{width:11px;height:11px;border-radius:3px;background:var(--zone)}.ast-municipal-controls{display:flex;flex-wrap:wrap;gap:8px}.ast-municipal button:not(.ast-municipal-label){border:1px solid #ffffff24;background:#ffffff08;color:#fff;border-radius:8px;min-width:42px;min-height:42px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}.ast-municipal button:hover,.ast-municipal button[aria-pressed=true]{border-color:#E59E2E;background:#e59e2e18}.ast-municipal button:focus-visible,.ast-municipal select:focus-visible{outline:2px solid #E59E2E;outline-offset:3px}.ast-municipal-canvas{position:relative;height:590px;overflow:hidden;background:transparent}.ast-municipal-canvas canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.ast-municipal-canvas canvas:active{cursor:grabbing}.ast-municipal-label{position:absolute;top:0;left:0;border:1px solid #ffffff50;background:#171829d9;color:#fff;font-size:11px;font-weight:600;padding:4px 7px;border-radius:5px;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #0003}.ast-municipal-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,320px);gap:24px;align-items:center;padding:22px 24px;border-top:0}.ast-municipal-info{display:flex;flex-direction:column;gap:8px}.ast-municipal-info strong{font-size:23px}.ast-municipal-info span{font-size:14px}.ast-municipal-selection label{font-size:12px;display:block;color:#ffffff90;margin-bottom:8px}.ast-municipal-selection select{width:100%;border:1px solid #ffffff30;border-radius:8px;padding:11px;background:#1D1E32;color:#fff;font:inherit;font-size:14px}.ast-local-section .ast-municipal-note{padding:0 24px 24px;font-size:13px;line-height:1.65;margin:0}.ast-municipal-source{font-size:12px!important;margin-top:16px!important}.ast-municipal-list{margin-top:24px;border-top:1px solid #ffffff18;padding-top:20px}.ast-municipal-list summary{cursor:pointer;color:#E59E2E;font-weight:600}.ast-municipal-list ul{columns:3;column-gap:28px;list-style:none;margin:20px 0;padding:0;font-size:13px;line-height:2}.ast-municipal-list li{break-inside:avoid}.ast-municipal-list li span{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--zone)}.ast-model-failed:after{content:'Gemeinden und Entfernungen stehen in der Liste unterhalb des Modells bereit.';position:absolute;inset:30%;color:#fff;font-size:18px}@media(max-width:700px){.ast-municipal-canvas{height:440px}.ast-municipal-toolbar{padding:16px;gap:18px}.ast-municipal-legend{gap:12px;font-size:12px}.ast-municipal-selection{grid-template-columns:1fr;gap:18px;padding:20px 16px}.ast-municipal-controls{gap:6px}.ast-municipal button:not(.ast-municipal-label){font-size:12px;padding:8px 10px}.ast-municipal-label{font-size:9px;padding:3px 5px}.ast-municipal-list ul{columns:2}.ast-local-section .ast-municipal-note{padding:0 16px 20px}}

/* Full municipality labels, with leader lines when moved for readability. */
.ast-municipal-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.ast-municipal-leaders line{stroke:#c6c8d5;stroke-width:.8}.ast-municipal-label{font-size:10px;padding:2px 4px;border:0;background:#171829db;font-weight:500;line-height:1.25;box-shadow:none;z-index:1}.ast-municipal-label.is-selected{color:#E59E2E;outline:1px solid #E59E2E;z-index:2}.ast-municipal-credit{display:block;text-align:right;font-size:11px!important;margin:8px 24px 0!important;color:#ffffff65!important}.ast-municipal-credit a{color:inherit!important;text-decoration:none!important}@media(max-width:700px){.ast-municipal-canvas{height:680px}.ast-municipal-label{font-size:9px;padding:2px 3px}}

/* The renderer grows with the model instead of cropping at a fixed rectangle. */
.ast-municipal-canvas{overflow:visible;max-width:none}.ast-municipal-leaders{overflow:visible}.ast-municipal-label{font-size:11px;padding:4px 7px}@media(max-width:700px){.ast-municipal-canvas{height:440px}.ast-municipal-label{font-size:10px;padding:3px 5px}}
