.catalog-map {isolation:isolate;margin-bottom:24px;border:1px solid var(--line);border-radius:26px;background:var(--soft);overflow:hidden}
.catalog-map-heading {padding:32px var(--inset-block) 16px}
.catalog-map-heading h3 {font-size:clamp(26px,3vw,38px);line-height:1.15;letter-spacing:-.035em}
.catalog-map-heading p,.catalog-map-note,.catalog-map-footer p {font-size:13px;line-height:1.6;color:var(--muted)}
.catalog-map-heading p {margin-top:12px;max-width:65ch}
.catalog-map-note {padding:0 var(--inset-block) 16px}
.catalog-map-canvas {height:420px;min-height:280px;background:#D9E8E1;z-index:0}
.catalog-map-footer {padding:16px var(--inset-block);display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.catalog-map-links {display:flex;gap:8px;flex-wrap:wrap;padding:0 var(--inset-block) 24px}
.catalog-map-links button {min-height:44px;border:1px solid var(--line);background:transparent;border-radius:24px;padding:8px 16px;font-size:13px}
.catalog-map-marker {display:grid;place-items:center;background:transparent;border:0}
.catalog-map-marker span {display:block;width:12px;height:12px;border-radius:50%;background:#FFC928;border:2px solid #073F47;box-shadow:0 0 0 4px #FFFFFFA0,0 3px 10px #073F4760}
.catalog-map-marker:focus-visible {outline:3px solid #073F47;border-radius:50%;outline-offset:-4px}
.catalog-map .leaflet-control a {min-width:44px;min-height:44px;line-height:44px;color:#073F47;background:#F2FBFA}
.catalog-map .leaflet-control-attribution {background:#F2FBFA;color:#073F47;padding:4px 8px;font-size:11px}
.catalog-map .leaflet-control-attribution a {display:inline;min-width:0;min-height:0;line-height:inherit;color:#073F47;text-decoration:underline}
@media(max-width:600px){.catalog-map-heading{padding-top:24px}.catalog-map-canvas{height:340px}.catalog-map-footer{gap:8px}.catalog-map-links{flex-wrap:nowrap;overflow:auto}.catalog-map-links button{flex-shrink:0}}

.map-store-preview {position:absolute;z-index:650;display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;width:min(288px,calc(100% - 24px));min-height:106px;padding:10px 12px 10px 10px;border:1px solid #4b777c;border-radius:14px;background:#092f37;color:#f2fbfa;box-shadow:0 10px 26px #00171d50;cursor:auto;font:13px/1.4 Figtree,Arial,sans-serif}
.map-store-preview[hidden],.map-store-preview-close[hidden] {display:none}
.map-store-preview[data-docked] {width:min(360px,calc(100% - 24px))}
.map-store-preview-photo,.map-store-preview-photo .store-art {height:100%;min-height:84px;width:100%;aspect-ratio:auto;border-radius:8px;overflow:hidden}
.map-store-preview-photo .store-art {padding:0;background:var(--art-bg,#164e57)}
.map-store-preview-photo img {width:100%;height:100%;object-fit:cover}
.map-store-preview-photo :is(.store-target,.art-line,.art-name) {display:none}
.map-store-preview-name {padding-right:28px;font-weight:700;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.map-store-preview-place,.map-store-preview-offer {color:#b7d6d8;font-size:12px;margin-top:3px}
.map-store-preview-offer {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.map-store-preview button {border:0;background:none;color:inherit;cursor:pointer}
.map-store-preview-open {min-height:44px;padding:0 4px 0 0;font-weight:700;color:#80ebe3!important}
.map-store-preview-open span {margin-left:5px}
.map-store-preview-close {position:absolute;right:3px;top:0;width:44px;height:44px;font-size:21px;line-height:1}
:is(.catalog-map-marker,.atlas-pin)[data-preview] span:is(.atlas-pin-mark,:only-child) {background:#ffc928;box-shadow:0 0 0 3px #073f47,0 0 0 5px #a7f3ec,0 0 0 7px #073f47}
.atlas-pin .atlas-pin-name {display:none!important}
@media (hover:hover) and (pointer:fine) {
 .catalog-map-marker:hover > span {box-shadow:0 0 0 4px #a7f3ec,0 3px 10px #073f4760}
}
@media (prefers-reduced-motion:no-preference) and (hover:hover) {
 .map-store-preview:not([data-keyboard]) {animation:topa-preview-in 130ms cubic-bezier(.23,1,.32,1)}
 @keyframes topa-preview-in {from {opacity:0;transform:translateY(3px)} to {opacity:1;transform:translateY(0)}}
}
