.imp-map-viewport {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f1efec;
}
#explorer #district-map {
  height:clamp(440px,64vh,780px);
  height:clamp(420px,calc(100dvh - 322px),780px);
  border:0;
}
#explorer .v12-map-only #district-map { height:clamp(470px,72vh,820px); }
#district-map .leaflet-tile {
  max-width:none!important;
  max-height:none!important;
}
#district-map .leaflet-control-zoom {
  margin:0 14px 24px 0;
  border-radius:16px;
}
#district-map .leaflet-control-zoom a { width:40px;height:40px;line-height:40px; }
#district-map .leaflet-control-attribution { background:#fffffff0;color:#363842; }

.street-price, .street-price.cluster {
  --pin:#d70d23;
  padding:8px 11px;
  border:1px solid #ac1123;
  border-radius:999px;
  box-shadow:0 2px 7px #37202645;
  color:#fff;
  font-size:13px;
  letter-spacing:0;
  white-space:nowrap;
}
.street-price.approximate {
  --pin:#d70d23;
  border:1px solid #ac1123;
}
.street-price.approximate::before {
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:6px;
  border:1.5px solid currentColor;
  border-radius:50%;
  vertical-align:1px;
}
.street-price-icon:is(:hover,:focus-visible,.is-selected) .street-price,
.street-price-icon:is(:hover,:focus-visible,.is-selected) .street-price.approximate {
  --pin:#9e1023;
  outline:2px solid white;
  outline-offset:1px;
}
.street-price-icon.is-selected { z-index:1000!important; }

#explorer .map-view-actions {
  position:static;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:8px 10px;
  gap:6px;
  background:#fff;
  border-top:1px solid #e2e0dd;
  pointer-events:auto;
}
#explorer .map-view-actions .street-map-count {
  position:static;
  margin-right:auto;
  background:none;
  color:#373944;
  font:700 12px/1.25 Manrope,system-ui,sans-serif;
  box-shadow:none;
}
#explorer .map-view-actions button { box-shadow:none; }
#explorer .map-view-actions button[hidden] { display:none; }
#explorer .map-view-actions #district-viewport {
  color:#272833;
  background:white;
  border:1px solid #d7d9de;
}

.imp-float-tools button,.imp-float-tools summary {
  border:1px solid #e5e5e7;
  background:#fff;
  box-shadow:0 2px 8px #28243224;
  font-size:12px;
}
.imp-float-tools #district-quick-prices[aria-pressed=true] {
  color:#a51a29;
  border-color:#d8a4ab;
}
#district-settings-slot details[open] {
  border:1px solid #e0e1e6;
  box-shadow:0 8px 25px #141b3130;
}
#district-map .imp-map-point {
  background:#fff;
  box-shadow:0 1px 1px #23364b33,0 2px 5px #23364b30;
  border-color:#cbd2db;
  border-radius:7px;
}
#district-map .imp-poi-icon:hover .imp-map-point { outline:2px solid var(--key-color); }

.imp-listing-preview {
  position:absolute;
  left:12px;
  bottom:24px;
  z-index:2;
  width:min(376px,calc(100% - 74px));
  background:#fff;
  color:#292b34;
  border:1px solid #e0dde0;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px #27243631;
}
.imp-listing-preview[hidden] { display:none!important; }
.imp-preview-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 10px 7px 13px;
  border-bottom:1px solid #efedf0;
  font-size:12px;
  color:#545465;
}
.imp-preview-head button {
  display:grid;
  place-items:center;
  width:28px;height:28px;
  border:0;
  border-radius:50%;
  background:#f4f3f5;
  color:#2c2d37;
  font:20px/1 system-ui,sans-serif;
  cursor:pointer;
}
.imp-preview-body { max-height:196px; overflow:auto; }
.imp-listing-preview .street-popup-card { display:flex; align-items:stretch; }
.imp-listing-preview .street-popup-card + .street-popup-card { border-top:1px solid #efedf0; }
.imp-listing-preview .street-popup-card > img {
  flex:0 0 84px;
  align-self:stretch;
  width:84px;
  height:auto;
  object-fit:cover;
}
.imp-listing-preview .street-popup-copy { padding:10px 13px; min-width:0; }
.imp-listing-preview .street-popup-copy strong { color:#22232d;font-size:19px; }
.imp-listing-preview .street-popup-copy p {
  margin:3px 0 6px;
  font-size:12px;
  overflow-wrap:anywhere;
}
.imp-listing-preview .imp-preview-links { display:flex; flex-wrap:wrap; gap:5px; margin:7px 0 0; }
.imp-listing-preview .street-popup-copy a { margin:0; min-height:30px; }
.imp-listing-preview .street-popup-copy a:first-child { background:#ad1626;border-color:#ad1626;color:#fff; }
.imp-listing-preview .street-popup-copy button { margin-top:6px; min-height:30px; }
#explorer #listing-grid .property-photo.no-photo { height:46px!important;min-height:46px!important;aspect-ratio:auto!important; }
#explorer #listing-grid .property-card.street-card-selected {
  outline:2px solid #bc2939;
  outline-offset:-2px;
}
@media(min-width:1051px) {
  #explorer #explore-layout:not(.v12-list-only):not(.v12-map-only) #listing-grid {
    grid-template-columns:minmax(0,1fr)!important;
  }
}
@media(max-width:600px) {
  #explorer #district-map,#explorer .v12-map-only #district-map { height:clamp(380px,59svh,560px); }
  .imp-listing-preview { left:8px;bottom:22px;width:calc(100% - 64px); }
  .imp-preview-body { max-height:151px; }
  .imp-listing-preview .street-popup-card > img { flex-basis:54px;width:54px; }
  #explorer .map-view-actions .street-map-count { width:100%; }
  #district-map .leaflet-control-zoom { margin-right:8px; }
  .imp-float-tools button,.imp-float-tools summary { font-size:10px; }
}

#explorer #district-status:empty { display:block; }
#explorer .map-view-actions #district-clear { font-size:12px;min-height:33px; }
