.location-picker { --map-ink:#123440; --map-green:#008b60; width:100%; min-width:0; margin:16px 0; color:var(--map-ink); font:inherit; }
.location-picker-stage { border:1px solid #d7e2e6; border-radius:10px; overflow:hidden; background:#fff; }
.location-picker-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding:12px; border-bottom:1px solid #e2eaed; }
.location-picker-toolbar strong { font-size:13px; }
.location-picker-toolbar > div { display:flex; flex-wrap:wrap; gap:7px; }
.location-picker .location-picker-toolbar button { appearance:none; box-sizing:border-box; min-height:36px; margin:0; padding:7px 10px; border:1px solid #c9dcdb; border-radius:6px; background:#fff; color:#08684d; cursor:pointer; font:inherit; font-size:12px; font-weight:600; line-height:1.4; }
.location-picker .location-picker-toolbar button:hover { background:#eaf7f1; }
.location-picker .location-picker-toolbar button:focus-visible { outline:3px solid #69bba5; outline-offset:2px; }
.location-picker button:disabled { cursor:wait; opacity:.55; }
.location-picker-canvas { height:300px; min-height:220px; background:#edf3f4; }
.location-picker-caption { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 12px 0; }
.location-picker [data-map-status] { margin:0; color:#526b7a; font:inherit; font-size:12px; line-height:1.5; }
.location-picker [data-map-link] { color:#087754; font-size:12px; text-decoration:underline; }
.location-picker .location-picker-hint { margin:7px 12px 12px; font-size:12px; line-height:1.5; color:#617582; }
.location-picker [hidden] { display:none !important; }
.location-picker-dialog { box-sizing:border-box; width:min(1100px,96vw); max-width:96vw; max-height:94dvh; padding:0; border:0; border-radius:12px; color:inherit; background:#fff; }
.location-picker-dialog::backdrop { background:rgb(7 28 39 / .6); backdrop-filter:blur(3px); }
.location-picker-dialog .location-picker-canvas { height:min(72dvh,780px); }
.location-picker-dialog .location-picker-stage { border:0; }
.professional-section .location-picker { box-sizing:border-box; width:calc(100% - 32px); margin:auto 16px 16px; }
.professional-section .location-picker-canvas { height:260px; }
.professional-section .location-picker-dialog .location-picker-canvas { height:min(72dvh,780px); }
@media(max-width:600px) {
  .location-picker-dialog { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; border-radius:0; }
  .location-picker-dialog .location-picker-stage { min-height:100%; }
  .location-picker-dialog .location-picker-canvas,.professional-section .location-picker-dialog .location-picker-canvas { height:calc(100dvh - 180px); }
  .location-picker .location-picker-toolbar button { min-height:42px; }
}
