/* Price-first map uses the shared Cobalt controls and mobile sheet. */
.price-map .map-summary { display:none; }
.price-map [hidden] { display:none!important; }
.price-map .map-sidebar { top:144px; left:24px; width:376px; bottom:24px; height:auto; max-height:none; }
.price-map .map-panel { display:flex; flex-direction:column; height:100%; max-height:none; }
.price-map .map-panel__body { flex:1; min-height:0; overflow:auto; }
.price-map .map-panel__label { text-transform:none; letter-spacing:normal; font:600 14px var(--font-sans); }
.price-map .map-panel__header { flex-wrap:wrap; gap:8px; }
.price-map .map-panel__hint { font:12px var(--font-sans); white-space:normal; }
.price-map-toolbar { position:absolute; z-index:5; top:16px; left:24px; width:376px; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.price-map-toolbar > * { pointer-events:auto; }
.price-map-toolbar__search { display:flex; gap:8px; }
#map-search { display:flex; align-items:center; flex:1; min-width:0; height:44px; background:var(--bg-solid); border:1px solid var(--line); border-radius:4px; }
#map-query { width:100%; min-width:0; height:100%; padding:0 12px; border:0; background:transparent; outline:0; box-shadow:none; font:14px var(--font-sans); color:var(--ink); }
#map-search:focus-within { outline:2px solid var(--accent); outline-offset:-2px; }
#map-search button { flex:0 0 44px; min-height:44px; padding:10px; border:0; background:transparent; color:var(--ink); }
#map-search svg { width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.6; }
.price-map-toolbar .toolbar-button { min-height:44px; padding:0 14px; white-space:nowrap; }
.price-map-toolbar__options { display:flex; align-items:center; gap:8px; }
.price-map-toolbar__options .map-segmented { display:flex; padding:0; height:44px; gap:0; }
.price-map-toolbar__options .map-segmented__button { min-height:42px; padding:0 16px; }
.price-map-toolbar .price-map-precision { font-size:11px; color:var(--ink-soft); text-shadow:0 0 3px var(--bg-solid); pointer-events:none; }
.map-price-pin { width:max-content; max-width:240px; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:4px; box-shadow:0 1px 4px #0002; background:var(--bg-solid); color:var(--ink); font:600 12px var(--font-sans); cursor:pointer; white-space:nowrap; }
.map-price-pin.is-selected { background:var(--accent); color:var(--on-accent); border-color:var(--accent); z-index:2; }
.map-price-pin:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.map-price-preview { position:absolute; z-index:6; left:16px; right:16px; bottom:96px; padding:12px; background:var(--bg-solid); border:1px solid var(--line); border-radius:4px; }
.map-price-preview__heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.map-price-preview__heading strong { font-size:18px; }
#map-preview-close { min-width:44px; height:44px; background:transparent; border:1px solid var(--line); color:var(--ink); border-radius:4px; }
#map-preview-content { display:flex; gap:12px; padding:8px 0; min-height:60px; }
#map-preview-content img { width:80px; height:70px; object-fit:cover; border-radius:3px; }
#map-preview-content div { min-width:0; }
#map-preview-content p { margin:6px 0; font-size:12px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#map-preview-content small { color:var(--ink-soft); font-size:11px; }
#map-preview-action { width:100%; min-height:44px; background:var(--accent); color:var(--on-accent); }
.map-pagination { display:flex; gap:8px; align-items:center; justify-content:space-between; padding:16px 0; }
.map-pagination button,#map-retry { min-height:44px; padding:8px; border:1px solid var(--line); border-radius:4px; background:var(--bg-solid); color:var(--ink); }
.map-all-results { margin:12px 0; }
.map-unmapped { display:block; padding:12px 0; color:var(--ink-soft); font-size:12px; }
.price-map .maplibregl-ctrl-top-right { top:16px; right:12px; }
.price-map .maplibregl-ctrl-bottom-right { display:block; top:auto; bottom:0; transform:none; }
.price-map .maplibregl-ctrl-attrib { margin:0!important; font-size:10px; }
.price-map .maplibregl-ctrl-group button { width:44px; height:44px; }
@media (max-width:1024px) {
  .price-map .map-sidebar.is-mobile-sheet { top:0; left:0; right:0; bottom:0; width:auto; height:auto; max-height:none; }
  .price-map .map-sidebar.is-mobile-collapsed { top:auto; height:64px; }
  .price-map-toolbar { top:12px; left:12px; width:calc(100% - 24px); }
  .price-map-toolbar__options { padding-right:0; }
  .price-map-toolbar .price-map-precision { max-width:calc(100% - 48px); }
  .price-map .maplibregl-ctrl-top-right { top:150px; right:2px; }
  .price-map .maplibregl-ctrl-bottom-right { bottom:64px; }
  .price-map .map-panel__header { flex-wrap:nowrap; }
  #map-retry:not([hidden]) { position:absolute; right:100px; bottom:10px; }
}
@media (max-height:600px) and (max-width:1024px) {
  .map-price-preview { bottom:86px; padding:8px; }
  #map-preview-content { padding:2px 0; min-height:0; }
  #map-preview-content img { height:44px; width:58px; }
  #map-preview-content p { display:none; }
}
