.shop-map-section{border-top:1px solid var(--line)}.map-intro{font-size:14px;color:#53645c;max-width:760px;margin:-12px 0 25px}.shop-map-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.shop-map-canvas{position:relative;min-width:0;background:#fcfcf8}#tsf-map-drawing{width:100%;min-height:260px}#tsf-map-drawing svg{display:block;width:100%;height:auto;touch-action:pan-y}.map-state{fill:#dce3d8;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke;transition:fill .15s}.map-state.has-shops{fill:#6f9d83}.map-state:hover,.map-state:focus,svg a:focus .map-state{fill:#185b49}.map-marker{cursor:pointer}.map-marker circle{fill:#ed744b;stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2px #173b2950)}.map-marker:hover circle,.map-marker:focus circle{fill:#ba4523;stroke:#172b29;stroke-width:3}.map-marker text{fill:#fff;font:700 13px Arial;pointer-events:none}.map-controls{position:absolute;right:15px;bottom:42px;display:flex;gap:6px}.map-controls[hidden]{display:none}.map-controls button{padding:7px 12px;min-width:35px;font-size:13px;border-radius:5px;box-shadow:0 2px 6px #0002}.map-credit{font-size:9px;padding:4px 15px;margin:0!important;color:#53645c}.shop-map-sidebar{background:#edf0e7;padding:24px;border-left:1px solid var(--line)}.map-state-form{display:flex;flex-direction:column;gap:12px}.map-state-form label{font-size:13px;font-weight:700}.map-state-form select{width:100%;font-size:13px;padding:10px}.map-state-form button{font-size:13px;padding:11px 15px}#tsf-map-selection{border-top:1px solid #cbd4c6;margin-top:25px;padding-top:20px}#tsf-map-selection h3{font-size:21px;letter-spacing:-.5px;margin:0 0 12px}#tsf-map-selection p{font-size:12px;color:#53645c}.map-shop-result{padding:10px 0;border-bottom:1px solid #d3dccd}.map-shop-result a{font-size:14px;font-weight:700;line-height:1.3;display:block}.map-shop-result p{margin:7px 0}.map-add-shop{display:block;margin-top:25px;font-size:12px;font-weight:700}.map-loading{padding:60px 25px;color:#53645c;text-align:center}.shop-map-canvas svg:focus{outline-offset:-3px}
@media(max-width:740px){.shop-map-layout{grid-template-columns:1fr}.shop-map-sidebar{border-left:0;border-top:1px solid var(--line);padding:20px}.map-intro{font-size:13px}.map-controls{bottom:38px;right:10px}.map-controls button{font-size:12px;padding:6px 10px}#tsf-map-drawing{min-height:210px}.map-credit{font-size:8px}}

.map-marker circle.map-marker-hit{fill:transparent;stroke:none;filter:none;pointer-events:all}@media(max-width:740px){.map-controls{position:static;justify-content:flex-end;padding:0 10px 8px}}
