.sanctuary-map{margin:0 0 24px;color:#294c3e}.map-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.map-controls .map-control{min-width:48px;min-height:48px;padding:10px 14px;border:1px solid #8b9c8370;border-radius:24px;background:#fcf8ef;color:#294c3e;font-size:14px;line-height:1.3}.map-controls .map-control:first-child,.map-controls .map-control:nth-child(2){font-size:24px;padding:4px}.map-controls button:disabled{opacity:.4}.map-viewport{width:100%;aspect-ratio:1;position:relative;isolation:isolate;overflow:hidden;border-radius:18px;border:1px solid #8b9c8350;background:#dce3d4;touch-action:none;cursor:grab}.map-viewport:active{cursor:grabbing}.map-viewport>svg,.map-markers{position:absolute;inset:0;width:100%;height:100%}.map-markers{pointer-events:none}.map-markers .map-place{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;border:3px solid #fcf8ef;background:var(--marker-color,#315946);color:#173e31;box-shadow:0 2px 8px #183c2925;font:600 12px/1 sans-serif;text-align:center;cursor:pointer}.map-markers .map-cluster{background:#315946;color:#fcf8ef}.map-you{position:absolute;width:15px;height:15px;border:3px solid #fffdf3;border-radius:50%;background:#a34b2f;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 0 3px #a34b2f40;pointer-events:none}.map-caption{font-size:12px;line-height:1.6;color:#52654f;margin:10px 2px 0}.map-viewport:focus-visible,.map-control:focus-visible,.map-place:focus-visible{outline:3px solid #ab5b31;outline-offset:3px}
.sanctuary-map,.sanctuary-map *{box-sizing:border-box}.map-place .map-you-badge{position:absolute;right:-4px;top:-5px;width:20px;height:20px;display:grid;place-items:center;border:2px solid #fffdf3;border-radius:50%;background:#a34b2f;color:#fffdf3;font-size:10px;font-weight:600}.map-markers .map-place{z-index:1}
