.vmap{--pin-color:#185c78;--map-ink:#173b4c;margin:1.5rem 0;color:var(--map-ink)}
.chatsworth .vmap,.vmap[data-area=chatsworth]{--pin-color:#792a41;--map-ink:#492032}
.vmap .vmap-help{margin:0 0 .8rem;font-size:1rem;line-height:1.5}
.vmap .vmap-canvas{height:clamp(340px,58vh,620px);width:100%;background:#e6ecea;border:1px solid #829296;border-radius:2px;z-index:0;isolation:isolate}
.vmap .vmap-canvas[hidden]{display:none}
.vmap .vmap-toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid #cdd4d3}
.vmap button{font:600 .9rem/1.3 system-ui,sans-serif;cursor:pointer;padding:.7rem 1rem;border:1px solid var(--pin-color);color:var(--pin-color);background:white;border-radius:3px;min-height:44px}
.vmap button:disabled{opacity:.45;cursor:default}
.vmap button:hover:not(:disabled){background:var(--pin-color);color:white}
.vmap button:focus-visible,.vmap input:focus-visible,.vmap summary:focus-visible{outline:3px solid #d59224;outline-offset:3px}
.vmap .vmap-status{font:500 .85rem/1.5 system-ui,sans-serif;margin-left:auto;font-variant-numeric:tabular-nums}
.vmap .vmap-coordinates{margin:1rem 0}.vmap summary{cursor:pointer;font-weight:600}
.vmap .vmap-fields{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin:1rem 0}
.vmap label{display:grid;gap:.4rem;font:600 .9rem/1.5 system-ui,sans-serif;flex:1 1 170px}
.vmap input{width:100%;box-sizing:border-box;padding:.7rem;border:1px solid #829296;font:400 1rem/1.4 system-ui,sans-serif;min-height:44px;border-radius:2px;background:white;color:#183442}
.vmap .vmap-error{font:500 .9rem/1.5 system-ui,sans-serif;color:#7c351c}
.vmap-marker{background:none;border:none}.vmap-marker span{display:block;width:30px;height:30px;background:var(--pin-color);border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 7px #0007;position:relative}
.vmap-marker span:after{content:'';position:absolute;inset:9px;border-radius:50%;background:white}
.vmap .leaflet-control-attribution{font:11px/1.5 Arial,sans-serif;background:#fffffff2;color:#222;padding:2px 5px;max-width:calc(100vw - 70px);white-space:normal}
.vmap .leaflet-control-attribution a{color:#07537e;text-decoration:underline}
.vmap .leaflet-control-zoom a{color:#222;background:white}
@media(max-width:600px){.vmap .vmap-status{margin:0;width:100%}.vmap .vmap-canvas{height:420px;max-height:66vh;min-height:300px}.vmap .vmap-fields{gap:.75rem}.vmap label{flex-basis:100%}.vmap .vmap-fields button{width:100%}}
