/* Einsatzgebiet: radius map and town list (homepage module and /einsatzgebiet/). */
.mk-area{--paper:#f6f3ee;--ink:#242724;--muted:#595e59;--rule:#d5d2cb;--blue:#0067be;--white:#fff;font-family:Arial,sans-serif;color:var(--ink);overflow-x:clip}
.mk-area .mk-arch-shell{max-width:1360px;margin:0 auto;padding:0 48px}
.mk-area-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:72px;align-items:center;min-width:0}
.mk-area--page{padding:80px 0;background:var(--white);border-bottom:1px solid var(--rule)}
.mk-area--page .mk-area-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.mk-area--home{padding:96px 0;border-top:1px solid var(--rule)}
.mk-area--home .mk-area-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.mk-area .mk-arch-kicker{font:11px/1.7 Arial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin:0 0 18px}
.mk-area h2{font-family:Arial,sans-serif!important;font-weight:400!important;letter-spacing:-.03em;text-transform:none!important;font-size:clamp(32px,3.6vw,50px);line-height:1.08;margin:0 0 24px;color:var(--ink);text-align:left}
.mk-area p{font-size:17px;line-height:1.7;color:var(--muted);text-align:left;margin:0 0 24px}
.mk-area .mk-arch-link{display:inline-flex;align-items:center;gap:14px;color:var(--blue);text-decoration:none;border-bottom:1px solid var(--blue);font-size:16px;line-height:1.5;padding-bottom:2px}
.mk-area .mk-arch-link:hover,.mk-area .mk-arch-link:focus-visible{color:#004d90}

/* Map */
.mk-area-map{margin:0;padding:18px;background:var(--paper);border:1px solid var(--rule);min-width:0}
.mk-area--page .mk-area-map{position:sticky;top:24px}
.mk-area-svg{display:block;width:100%;height:auto;max-width:620px;margin:0 auto;font-family:Arial,sans-serif;overflow:visible}
.mk-area-axis{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 6;fill:none}
.mk-area-river{fill:none;stroke:#0067be33;stroke-width:5;stroke-linecap:round}
.mk-area-river-label{font-size:11px;font-style:italic;fill:#0067be99;letter-spacing:.08em}
.mk-area-ring{fill:none;stroke:var(--ink);stroke-width:1;stroke-opacity:.35;stroke-dasharray:4 5}
.mk-area-ring--outer{fill:#0067be0a;stroke:var(--blue);stroke-opacity:.6;stroke-dasharray:none}
.mk-area-ring-label{font-size:11px;letter-spacing:.12em;fill:var(--muted);paint-order:stroke;stroke:var(--paper);stroke-width:5px}
.mk-area-north{font-size:11px;letter-spacing:.15em;fill:var(--muted)}
.mk-area-dot{fill:var(--ink);fill-opacity:.7}
.mk-area-labels text{font-size:15px;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
.mk-area-home-halo{fill:#0067be26}
.mk-area-home{fill:var(--blue);stroke:var(--white);stroke-width:2}
.mk-area-home-label{font-size:17px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:5px;stroke-linejoin:round}
.mk-area-map figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:10px;text-align:center}

/* Town lists */
.mk-area-groups{display:grid;gap:0;border-top:1px solid var(--rule);margin-top:8px}
.mk-area-group{padding:22px 0;border-bottom:1px solid var(--rule)}
.mk-area .mk-area-group h3{font-family:Arial,sans-serif!important;font-weight:600!important;font-size:13px!important;line-height:1.5;text-transform:uppercase!important;letter-spacing:.12em;color:var(--blue);margin:0 0 10px}
.mk-area-towns{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:16px;line-height:1.6;color:var(--ink)}
.mk-area-towns li{margin:0;padding:0}
.mk-area-towns li:not(:last-child)::after{content:"·";margin:0 10px;color:var(--rule)}
.mk-area-towns li.is-home{font-weight:700}
.mk-area-towns--chips{gap:8px;margin:0 0 28px}
.mk-area-towns--chips li{padding:6px 12px;border:1px solid var(--rule);background:var(--white);font-size:14px;line-height:1.4}
.mk-area-towns--chips li::after{content:none!important}

@media (max-width:1000px){
  .mk-area-grid,.mk-area--page .mk-area-grid,.mk-area--home .mk-area-grid{grid-template-columns:1fr;gap:44px}
  .mk-area--page .mk-area-map{position:static}
  .mk-area--home .mk-area-map{order:2}
}
@media (max-width:767px){
  .mk-area .mk-arch-shell{padding:0 16px}
  .mk-area--page,.mk-area--home{padding:56px 0}
  .mk-area-map{padding:8px}
  .mk-area-labels text{font-size:17px}
  .mk-area-home-label{font-size:19px}
}
