#map{ position:absolute; top: calc(120px + 60px); left:0; right:0; bottom:0; }

.maps-toolbar{
  position:fixed; top:120px; left:0; right:0; z-index:1100;
  background:var(--panel);
  box-shadow:0 2px 12px rgba(0,0,0,0.18);
  padding:8px 12px;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  justify-content:space-between; min-height:60px;
}
.maps_left-row { display:flex; align-items:center; gap:8px; min-width:0; }
.maps_search-wrap { flex:1; min-width:110px; display:flex; align-items:center; gap:8px; position:relative; }
#searchBox { flex:1; width:100%; }
#searchInput {
  width:100%; padding:8px 12px; border-radius:12px; border:1px solid rgba(255,255,255,0.12); font-size:14px; box-sizing:border-box; background:var(--bg); color:#dbe9ee;
}
#autoList {
  position:absolute; top:44px; left:0; right:0; max-height:260px; overflow:auto; background:var(--panel); color:#dbe9ee; border-radius:8px;
  border:1px solid rgba(255,255,255,0.08); display:none; z-index:15000; box-shadow:0 8px 24px rgba(15,20,30,0.24);
}
.maps_acItem { padding:8px 10px; border-bottom:1px solid rgba(255,255,255,0.06); cursor:pointer; font-size:14px; }
.maps_acItem:hover{ background:rgba(255,255,255,0.03); }

.maps_controls { display:flex; align-items:center; gap:12px; flex:0 0 auto; min-width:0; }
#banner { background:var(--accent); color:#052026; padding:8px 12px; font-weight:700; border-radius:12px; font-size:13px; white-space:nowrap; }
#radiusContainer { display:flex; align-items:center; gap:8px; font-size:13px; color:#dbe9ee; }
#radiusSlider{ width:140px; }

.maps_greeting-bubble {
  background:var(--accent); color:#052026; padding:6px 12px; border-radius:14px; font-weight:700; font-size:13px;
  box-shadow:0 8px 20px rgba(25,35,55,0.24); white-space:nowrap;
  transform-origin:center;
}

#listButtonWrap { position:fixed; right:12px; bottom:12px; z-index:1400; }
#listToggleBtn { width:56px; height:56px; border-radius:50%; background:var(--accent); color:#052026; border:0; display:flex; align-items:center; justify-content:center; font-weight:800; box-shadow:0 6px 18px rgba(0,0,0,0.6); cursor:pointer; }

#listPanel { position:fixed; left:0; right:0; bottom:0; z-index:1200; pointer-events:none; }
#listCard {
  width:100%; max-width:760px; margin:0 auto; pointer-events:auto;
  background:var(--panel); border-top-left-radius:16px; border-top-right-radius:16px;
  box-shadow:0 -12px 30px rgba(12,18,30,0.24); padding:12px; transform:translateY(96%); transition:transform .35s ease;
  border:1px solid rgba(255,255,255,0.06);
}
#listCard.maps_open { transform:translateY(0%); }

#listHead { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#dbe9ee; }
#listContent { margin-top:10px; max-height:220px; overflow:auto; display:flex; flex-direction:column; gap:8px; }
.maps_card { display:flex; gap:12px; align-items:center; padding:10px; border-radius:16px; background:#0a1b21; min-height:84px; border:1px solid rgba(255,255,255,0.04); }
.maps_thumb { width:120px; height:88px; border-radius:16px; overflow:hidden; flex:0 0 auto; }
.maps_thumb img { width:100%; height:100%; object-fit:cover; border-radius:16px; display:block; }

.maps_card .maps_meta { flex:1; font-size:13px; color:#dbe9ee; }
.maps_card .maps_meta .maps_title { font-weight:700; margin-bottom:6px; color:#fff; }
.maps_card .maps_meta .maps_price { color:var(--accent); font-weight:700; margin-bottom:4px; }
.maps_card .maps_meta .maps_distance { color:var(--muted); font-size:12px; }

@media (max-width:640px){
  .maps-toolbar{ top:100px; padding:6px 8px; min-height:56px; }
  #radiusSlider{ width:96px; }
  #map{ top: calc(100px + 56px); }
  .maps_thumb{ width:84px; height:64px; }
  #listCard{ max-width:100%; padding:10px; border-radius:12px; }
  #listToggleBtn{ width:52px; height:52px; }
}

@media (max-width:640px){
  body.has-salutation .maps-toolbar{ top:136px; }
  body.has-salutation #map{ top: calc(136px + 56px); }
}

.leaflet-top.leaflet-left { top: 12px !important; }
@media(max-width:640px){ .leaflet-top.leaflet-left { top: 12px !important; } }

.maps_greeting-label {}