.directory-map-block{margin:32px 0}
.directory-map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.directory-map-heading .eyebrow{margin-bottom:9px}
.directory-map-heading h3{font-size:27px;line-height:1.4;letter-spacing:-.045em}
.directory-map-heading>p{font-size:14px;color:var(--muted);text-align:right;line-height:1.8}
.store-map-shell{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;position:relative;isolation:isolate}
.store-map-intro{padding:24px 24px 0;color:var(--muted);font-size:15px;line-height:1.85;word-break:keep-all}
.store-map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 24px 24px}
.map-load-button{min-height:46px;padding:12px 22px;background:var(--ink);color:var(--white);border-radius:10px;font-size:14px;font-weight:550;flex:none}
.map-load-button:hover{background:var(--accent-dark)}
.map-load-button:disabled{opacity:.55;cursor:wait}
.map-load-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.map-status{color:var(--muted);font-size:14px;line-height:1.8;margin:0;flex:1;min-width:180px;word-break:keep-all}
.map-canvas{width:100%;height:440px;background:var(--sage);z-index:0;border-top:1px solid var(--line)}
.map-canvas.leaflet-container{font-family:var(--font);letter-spacing:0}
.map-canvas .leaflet-control-attribution{font-size:11px;line-height:1.5;color:var(--ink);background:#fffffff0;padding:4px 7px;max-width:100%;overflow-wrap:anywhere}
.map-canvas .leaflet-control-attribution a{color:#465775;text-decoration:underline}
.map-canvas .leaflet-control-zoom{border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 3px 12px #24242b14}
.map-canvas .leaflet-control-zoom a{color:var(--ink);background:var(--white);min-width:40px;min-height:40px;line-height:40px}
.map-canvas .leaflet-control a:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.map-canvas img.leaflet-tile,.map-canvas img.leaflet-marker-icon,.map-canvas img.leaflet-marker-shadow{max-width:none}
.map-canvas .leaflet-popup-content-wrapper{border-radius:14px;border:1px solid var(--line);box-shadow:0 6px 24px #24242b1c}
.map-attribution{margin:0;padding:12px 24px 14px;font-size:12px;color:var(--muted);line-height:1.7}
.map-attribution a{text-decoration:underline;text-underline-offset:3px}
.map-popup{min-width:190px;max-width:270px;color:var(--ink);letter-spacing:-.025em}
.map-popup-name{display:block;font-size:18px;line-height:1.5;font-weight:650;margin:0 0 9px!important;padding-right:12px;word-break:keep-all}
.map-popup-address{font-size:14px;line-height:1.8;margin:9px 0!important;word-break:keep-all}
.map-popup-detail{font-size:13px;line-height:1.8;color:var(--muted);margin:6px 0!important}
.map-popup-ad{display:inline-block;padding:3px 7px;border:1px solid #c9bdc9;font-size:12px;border-radius:5px;margin-bottom:8px;color:var(--muted)}
.map-popup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.map-popup-select,.map-popup-directions{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;padding:10px 12px;font-size:14px;text-decoration:none!important;line-height:1.5}
.map-popup-select{background:var(--ink);color:var(--white)}
.map-popup-directions{background:var(--sage);color:var(--ink)!important}
.store-location-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.store-location-actions>a,.store-location-actions>button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:11px 16px;font-size:14px;background:var(--white);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.store-location-actions>a:hover,.store-location-actions>button:hover{background:var(--lime);border-color:#ecafc0}
.store-location-pending{font-size:14px!important;color:var(--muted);line-height:1.8}
.store-card.map-selected{outline:2px solid var(--accent);outline-offset:3px}
.store-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.map-status.is-error{color:#a63e2b}
body[data-region-id] [data-store-map]{margin:0 0 32px}
@media(max-width:760px){
  .directory-map-block{margin:28px 0}
  .directory-map-heading{align-items:flex-start;flex-direction:column;gap:10px}
  .directory-map-heading h3{font-size:24px}
  .directory-map-heading>p{text-align:left;font-size:14px}
  .directory-map-heading>p br{display:none}
  .store-map-intro{padding:22px 20px 0;font-size:14px}
  .store-map-toolbar{padding:18px 20px 22px;gap:13px}
  .map-status{font-size:14px;min-width:150px;flex-basis:100%}
  .map-canvas{height:370px}
  .map-attribution{padding:12px 20px;font-size:11px}
  .store-map-shell{border-radius:16px}
  .store-location-actions>a,.store-location-actions>button{flex:1;white-space:nowrap;gap:8px;padding-inline:12px}
  .map-popup{max-width:230px}
}
