/* Address search control (viz/lib/controls.js addGeocoder) */
/* z-index on the control (not just the list) so the dropdown draws over the zoom buttons below it */
.maplibregl-ctrl.mm-geocoder { position: relative; z-index: 3; width: 260px; max-width: calc(100vw - 20px); font: 13px/1.3 system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
.mm-geocoder-box {
  display: flex; align-items: center;
  background: #fff; border-radius: 4px; box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
  height: 32px; padding: 0 6px 0 8px; color: #333;
}
.mm-geocoder-box:focus-within { box-shadow: 0 0 0 2px rgba(0,0,0,0.1), 0 0 0 3px rgba(65,182,196,0.45); }
.mm-geocoder-icon { width: 16px; height: 16px; flex: none; color: #777; }
.mm-geocoder input {
  flex: 1; min-width: 0; margin: 0 4px; border: 0; outline: 0; background: none;
  font: inherit; color: inherit; height: 100%;
}
.mm-geocoder input::-webkit-search-cancel-button { display: none; }
.mm-geocoder-clear {
  flex: none; border: 0; background: none; color: #888; font-size: 18px; line-height: 1;
  padding: 0 2px; cursor: pointer;
}
.mm-geocoder-clear:hover { color: #333; }
.mm-geocoder-results {
  position: absolute; left: 0; right: 0; top: 100%; margin: 4px 0 0; padding: 4px 0; list-style: none;
  background: #fff; border-radius: 4px; box-shadow: 0 1px 6px rgba(0,0,0,0.3); color: #222; z-index: 5;
}
.mm-geocoder-results li { padding: 6px 10px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mm-geocoder-results li:hover, .mm-geocoder-results li.active { background: #e8f4f8; }
@media (max-width: 480px) { .maplibregl-ctrl.mm-geocoder { width: 200px; } }
