.locality-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-top:28px}
.locality-map-card{min-width:0;padding:18px!important;background:rgba(255,255,255,.32);border:1px solid #b8ac94}
.clean-map-heading{display:flex;align-items:center;gap:12px;min-height:58px;margin-bottom:14px}
.clean-map-heading h3{font-size:24px;line-height:1.1;margin:0!important}
.clean-map-number{display:inline-flex;align-items:center;justify-content:center;min-width:70px;min-height:38px;padding:4px 8px;background:#24241f;color:#f7efdd;font:600 16px/1.2 monospace;white-space:nowrap}
.clean-map{min-width:0;width:100%}
.clean-map .clean-map-surface{position:relative;isolation:isolate;width:100%;height:380px;min-height:300px;overflow:hidden;background:#e9e6dc;border:1px solid #c2baa7;font-family:Arial,sans-serif;z-index:0}
.clean-map-loading{padding:20px;font-size:14px}
.clean-map .leaflet-tile{max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.clean-map .leaflet-control-zoom a{width:42px;height:42px;line-height:42px;color:#24241f;font-size:26px;background:#fffef9}
.clean-map .leaflet-control-attribution{max-width:100%;padding:3px 5px;font:10px/1.4 Arial,sans-serif;background:rgba(255,255,255,.94);color:#555}
.clean-map .leaflet-control-attribution a{color:#314b55;text-decoration:underline;padding:0;display:inline;font:inherit}
.clean-map-pin{border:0;background:none}
.clean-map-pin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#24241f;color:white;border:2px solid white;box-shadow:0 2px 4px #0005;font:bold 15px Arial}
.clean-map-pin span::first-letter{transform:rotate(45deg)}
.clean-map-pin-destination span{background:#a23f2b}
.clean-map-pin span{border-radius:50%;transform:none}
.clean-map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.clean-map-toolbar[hidden]{display:none}
.clean-map-toolbar button{min-height:44px;flex:1 1 auto;padding:8px 12px;border:1px solid #9e967f;border-radius:2px;background:#fffaf0;color:#292923;font:600 13px/1.3 Arial,sans-serif;cursor:pointer}
.clean-map-toolbar button:hover,.clean-map-toolbar button[aria-pressed=true]{background:#292923;color:#fffaf0}
.clean-map-toolbar button:focus-visible,.clean-map .leaflet-control a:focus-visible{outline:3px solid #1976a0;outline-offset:2px}
.clean-map-status:empty{display:none}
.clean-map-status{font:13px/1.5 Arial,sans-serif;margin:10px 0}
.clean-map-legend{display:flex;gap:24px;flex-wrap:wrap;margin:14px 0 8px;font:13px/1.4 Arial,sans-serif}
.clean-map-legend span{display:flex;gap:7px;align-items:center}
.clean-map-legend i{width:26px;border-top:4px solid #1976a0}
.clean-map-legend .map-line-back{border-top:4px dashed #a23f2b}
.locality-map-card .clean-map-caption{font:13px/1.55 Arial,sans-serif;margin:12px 0}
.locality-map-card a.clean-map-link{display:block;margin:14px 0 0;padding:12px 0 0;border-top:1px solid #c4baa5;font:600 14px/1.5 Arial,sans-serif;color:inherit}
.contacts-map-frame{padding:14px;background:rgba(255,255,255,.3);border:1px solid #b8ac94;overflow:visible!important}
.contacts-map-frame .clean-map-surface{height:490px}
@media(min-width:768px){.clean-map-toolbar [data-map-drag]{display:none}}
@media(max-width:767px){
.locality-map-grid{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:22px}
.locality-map-card{padding:12px!important}
.clean-map-heading{gap:10px;min-height:52px;margin-bottom:12px}
.clean-map-heading h3{font-size:23px}
.clean-map-number{min-width:64px;font-size:14px}
.clean-map .clean-map-surface,.contacts-map-frame .clean-map-surface{height:350px;min-height:350px}
.clean-map .leaflet-control-zoom{margin:10px 10px 0 0}
.clean-map-toolbar{gap:8px}
.clean-map-toolbar button{flex:1 1 110px;padding:9px 7px;font-size:12px}
.contacts-map-frame{padding:10px}
}
@media(prefers-reduced-motion:reduce){.clean-map *{transition:none!important}}
