.site-location-picker{display:grid;gap:.7rem;margin:0 0 1rem}
.site-location-search{display:flex;align-items:end;gap:.7rem}
.site-location-search label{display:grid;gap:.4rem;flex:1;color:var(--muted);font-size:.8rem}
.site-location-search input{min-width:0;padding:.7rem;border:1px solid var(--line);border-radius:.55rem;background:var(--surface);color:var(--ink)}
.site-location-map{position:relative;overflow:hidden;height:clamp(16rem,30vw,20rem);border:1px solid var(--line);border-radius:.7rem;background:#dce8ef;touch-action:none}
.site-location-map .map-tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none}
.site-location-map .site-map-marker{position:absolute;z-index:3;width:2rem;height:2rem;transform:translate(-50%,-100%) rotate(-45deg);border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--accent-strong);box-shadow:0 2px 8px #0008;cursor:grab}
.site-location-map .site-map-marker:active{cursor:grabbing}
.site-location-map .site-map-marker:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.site-location-map .site-map-zoom{position:absolute;z-index:4;top:.7rem;right:.7rem;display:grid}
.site-location-map .site-map-zoom button{width:2.4rem;height:2.4rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:1.2rem}
.site-location-picker small{color:var(--muted)}
@media(max-width:520px){.site-location-search{align-items:stretch;flex-direction:column}}
