.public-page .w-map{isolation:isolate;position:relative;height:360px;margin:8px 0 40px;border:1px solid var(--b-line);border-radius:6px;overflow:hidden;background:var(--b-warm)}
.public-page .w-map-facade{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}
.public-page .w-map-facade[hidden],.public-page .w-map-canvas[hidden],.public-page .w-map-load[hidden],.public-page .w-map-note[hidden]{display:none}
.public-page .w-map-facade h2{margin:0;font-size:24px}
.public-page .w-map-facade p{margin:0;color:var(--b-muted);max-width:52ch}
.public-page .w-map-bean{width:56px;height:56px;border-radius:50%;background:var(--b-paper);padding:8px;border:1px solid var(--b-line)}
.public-page .w-map-load{margin-top:6px}
.public-page .w-map-note{font-size:13px;line-height:1.5}
.public-page .w-map-note.is-error{color:#9b2c1f;font-weight:600}
.public-page .w-map-facade .w-text-link{font-size:14px;font-weight:600;text-decoration:underline}
.public-page .w-map-canvas{position:absolute;inset:0;font-family:Raleway,Arial,sans-serif}
.public-page .w-map-canvas:focus-visible{outline:3px solid var(--b-gold);outline-offset:-3px}
.public-page .w-map-marker{background:none;border:0}
.public-page .w-map-marker:focus{outline:none}
.public-page .w-map-pin{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--b-ink);box-shadow:0 2px 8px rgb(54 36 24 / .3)}
.public-page .w-map-pin.is-office{border-color:var(--b-gold);box-shadow:0 0 0 3px var(--b-ink),0 2px 8px rgb(54 36 24 / .3)}
.public-page .w-map-pin-mark{display:block;position:relative;width:26px;height:26px;overflow:hidden;border-radius:50%}
.public-page .w-map-pin-mark img{position:absolute;left:-55.8px;top:-2px;display:block;width:131px;height:43.66px;max-width:none}
.public-page .w-map-marker:focus-visible .w-map-pin,.public-page .w-map-marker:hover .w-map-pin{outline:3px solid var(--b-gold);outline-offset:3px}
.public-page .leaflet-popup-content-wrapper{border-radius:6px;color:var(--b-ink);background:var(--b-paper)}
.public-page .leaflet-popup-content{margin:14px 16px;font:400 14px/1.5 Raleway,Arial,sans-serif}
.public-page .w-map-popup p{margin:4px 0 0}
.public-page .w-map-popup-name{display:block;font-size:16px;font-weight:800}
.public-page .w-map-popup-link{display:inline-block;margin-top:8px;font-weight:600;text-decoration:underline}
.public-page .leaflet-bar.w-map-reset,.public-page .leaflet-touch .leaflet-bar.w-map-reset{border:0;border-radius:999px;background:none;box-shadow:none}
.public-page .w-map-reset button{box-shadow:0 1px 5px rgb(0 0 0 / .35);font:600 13px/1.2 Raleway,Arial,sans-serif;color:var(--b-ink);background:var(--b-paper);border:0;padding:9px 12px;min-height:44px;cursor:pointer}
.public-page .w-map-reset button:hover{background:var(--b-warm)}
.public-page .w-map-reset button:focus-visible{outline:3px solid var(--b-gold);outline-offset:-3px}
.public-page .w-location-cards{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.public-page .w-location-card{display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--b-line);border-radius:6px;background:var(--b-paper)}
.public-page .w-location-card h3{margin:0;font-size:20px}
.public-page .w-location-card address{font-style:normal}
.public-page .w-location-card p{margin:0}
.public-page .w-location-card a{color:inherit}
.public-page .w-location-products,.public-page .w-location-hours{color:var(--b-muted);font-size:15px;white-space:pre-line}
.public-page .w-location-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:auto;padding-top:14px}
.public-page .w-location-actions .w-text-link{font-weight:600;text-decoration:underline}
.public-page .w-map-facade .w-button:focus-visible,.public-page .w-location-actions :is(.w-button,a):focus-visible{outline:3px solid var(--b-gold);outline-offset:2px}
@media(min-width:760px){.public-page .w-map{height:420px}}
@media(max-width:480px){.public-page .w-map-facade{padding:18px}}
@media(prefers-reduced-motion:reduce){.public-page .w-map *,.public-page .w-map-canvas *{animation:none!important;transition:none!important}}

.public-page .leaflet-control-attribution a{display:inline-block;min-height:24px;line-height:24px;padding-inline:4px}
.public-page .leaflet-touch .leaflet-control-zoom{display:flex;flex-direction:column;gap:8px;border:0;box-shadow:none;background:none}
.public-page .leaflet-touch .leaflet-control-zoom a.leaflet-control-zoom-in,.public-page .leaflet-touch .leaflet-control-zoom a.leaflet-control-zoom-out{width:44px;height:44px;line-height:44px;border:2px solid rgb(0 0 0 / .25);border-radius:6px;background-clip:padding-box;box-shadow:0 1px 5px rgb(0 0 0 / .2)}
.public-page .w-map-hint{position:absolute;inset:auto 12px 12px;z-index:1000;padding:10px 14px;border-radius:6px;background:rgb(54 36 24 / .9);color:#fff;font:600 14px/1.4 Raleway,Arial,sans-serif;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.public-page .w-map-hint.is-visible{opacity:1}
