/* OneHome map + listing-filter modernization v1 (sandbox additive layer). */
:root{--mf-navy:#0a2437;--mf-ink:#263640;--mf-muted:#66757f;--mf-line:#d9e0e4;--mf-surface:#fbfcfc;--mf-gold:#b58c4c}

/* Compact premium Cards / Map segmented control. */
.section-control-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;max-width:100%!important;margin-top:14px!important}
.section-view-controls{display:inline-grid!important;grid-template-columns:repeat(2,minmax(68px,1fr))!important;width:auto!important;min-width:150px!important;gap:3px!important;padding:3px!important;overflow:visible!important;border:1px solid var(--mf-line)!important;border-radius:12px!important;background:rgba(248,250,250,.96)!important;box-shadow:0 5px 16px rgba(10,36,55,.07),inset 0 1px 0 #fff!important;backdrop-filter:blur(12px)!important}
.section-view-controls .tab{width:auto!important;min-width:68px!important;height:34px!important;padding:0 13px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:var(--mf-muted)!important;font-size:12px!important;font-weight:850!important;line-height:1!important;letter-spacing:.01em!important;text-transform:none!important;box-shadow:none!important;transform:none!important;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important}
.section-view-controls .tab:hover{color:var(--mf-navy)!important;background:#fff!important;border-color:#e4e9ec!important}
.section-view-controls .tab.active,.section-view-controls .tab[aria-pressed="true"]{color:var(--mf-navy)!important;background:#fff!important;border-color:#ccd6dc!important;box-shadow:0 3px 9px rgba(10,36,55,.10),inset 0 -2px 0 var(--mf-gold)!important;transform:translateY(-1px)!important}
.section-view-controls .tab:focus-visible,.listingFilterChip:focus-visible{outline:3px solid rgba(181,140,76,.42)!important;outline-offset:2px!important}

/* Four always-visible, non-scrolling status/favourite controls. */
.listingFilters{display:flex!important;align-items:center!important;min-width:0!important;max-width:100%!important;min-height:42px!important;padding:4px 5px 4px 9px!important;overflow:visible!important;border:1px solid var(--mf-line)!important;border-radius:12px!important;background:linear-gradient(180deg,#fff,#f8faf9)!important;box-shadow:0 5px 16px rgba(10,36,55,.06),inset 0 1px 0 #fff!important;backdrop-filter:blur(12px)!important}
.listingFiltersLabel{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;padding:0 9px 0 2px!important;margin:0 4px 0 0!important;border-right:1px solid #dce3e7!important;color:var(--mf-muted)!important;font-size:0!important}
.listingFiltersLabel span{display:none!important}.listingFiltersLabel svg{width:14px!important;height:14px!important;stroke:var(--mf-navy)!important}
.listingFilterOptions{display:grid!important;grid-template-columns:repeat(4,max-content)!important;align-items:center!important;gap:3px!important;width:auto!important;min-width:0!important;padding:0!important;overflow:visible!important}
.listingFilterDivider{display:none!important}
.listingFilterChip{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;height:32px!important;min-height:32px!important;padding:0 9px!important;gap:6px!important;overflow:visible!important;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#596a74!important;font-size:11px!important;font-weight:850!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;box-shadow:none!important;transform:none!important;transition:color .17s ease,background .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease!important}
.listingFilterChip:hover{color:var(--mf-navy)!important;background:#fff!important;border-color:#dce3e7!important}
.listingFilterChip:active{transform:translateY(1px)!important}
.listingFilterChip[aria-pressed="true"]{color:var(--mf-navy)!important;background:#fff!important;border-color:#cbd6dc!important;box-shadow:0 3px 9px rgba(10,36,55,.09)!important;transform:none!important}
.listingFilterDot{width:7px!important;height:7px!important;flex:0 0 7px!important;box-shadow:0 0 0 3px rgba(90,157,104,.11)!important}.listingFilterChip[data-listing-filter="conditional"] .listingFilterDot{box-shadow:0 0 0 3px rgba(210,139,44,.12)!important}.listingFilterChip[data-listing-filter="sold"] .listingFilterDot{background:#d34149!important;box-shadow:0 0 0 3px rgba(211,65,73,.11)!important}
.listingFilterChip[aria-pressed="true"] .listingFilterDot{box-shadow:0 0 0 3px rgba(10,36,55,.08)!important}
.listingFilterHeart{width:13px!important;height:13px!important;flex:0 0 13px!important}.listingFilterChip[data-listing-filter="favourites"][aria-pressed="true"] .listingFilterHeart{fill:#d9475d!important;stroke:#d9475d!important}

/* A map is the sole primary surface; return action stays in its flow. */
.mapbox.sectionMap.active{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:10px!important;width:100%!important;min-width:0!important;min-height:0!important;margin:8px 0 0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.mapbox.sectionMap>.side{display:none!important}
.mapbox.sectionMap .map{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important;height:clamp(500px,66vh,720px)!important;min-height:500px!important;margin:0!important;border:1px solid rgba(10,36,55,.14)!important;border-radius:22px!important;box-shadow:0 16px 42px rgba(10,36,55,.10)!important;overflow:hidden!important}
.mapListingReturnRow{grid-column:1!important;grid-row:2!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;width:100%!important;min-height:48px!important;margin:0!important;padding:0!important}
.mapListingReturnRow[hidden]{display:none!important}
.mapListingReturnButton{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:44px!important;padding:0 16px!important;border:1px solid #ccd6dc!important;border-radius:12px!important;background:#fff!important;color:var(--mf-navy)!important;box-shadow:0 6px 18px rgba(10,36,55,.08)!important;font-size:14px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.01em!important;transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important}
.mapListingReturnButton:hover{color:var(--mf-navy)!important;background:#fff!important;border-color:var(--mf-gold)!important;box-shadow:0 9px 22px rgba(10,36,55,.12)!important;transform:translateY(-1px)!important}.mapListingReturnArrow{font-size:20px!important;font-weight:600!important}
.listingSection>.section-title{min-width:0!important}.listingSection>.section-title>div{min-width:0!important}.listingSection>.section-title h2,.listingSection>.section-title p{max-width:100%!important;overflow:visible!important}.listingSection>.section-title>.pill{flex:0 0 auto!important;white-space:nowrap!important}

@media(max-width:760px){
 .section-control-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
 .section-view-controls{width:max-content!important;min-width:144px!important;justify-self:start!important}
 .listingFilters{display:block!important;width:100%!important;padding:4px!important}
 .listingFiltersLabel{display:none!important}
 .listingFilterOptions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;width:100%!important;overflow:visible!important}
 .listingFilterChip{width:100%!important;height:34px!important;min-height:34px!important;padding:0 4px!important;gap:4px!important;font-size:clamp(9px,2.65vw,11px)!important}
 .listingFilterDot{width:6px!important;height:6px!important;flex-basis:6px!important}.listingFilterHeart{width:12px!important;height:12px!important;flex-basis:12px!important}
 .mapbox.sectionMap.active{width:100%!important;margin:8px 0 0!important;border-radius:0!important}
 .mapbox.sectionMap .map{height:clamp(430px,58svh,610px)!important;min-height:430px!important;border-radius:18px!important}
 .mapListingReturnRow{justify-content:flex-start!important;min-height:46px!important}.mapListingReturnButton{min-height:44px!important;font-size:13px!important;padding:0 14px!important}
 .listingSection>.section-title{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;column-gap:10px!important}
 .listingSection>.section-title>div{grid-column:1!important}.listingSection>.section-title>.pill{grid-column:2!important;grid-row:1!important;align-self:start!important}
}
@media(max-width:390px){.listingFilterChip{font-size:9px!important;gap:3px!important;padding-inline:2px!important}.listingFilterHeart{width:11px!important;height:11px!important;flex-basis:11px!important}.listingSection>.section-title>.pill{padding:8px 9px!important;font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.section-view-controls .tab,.listingFilterChip,.mapListingReturnButton{transition:none!important}}
/* Narrow-phone intrinsic sizing guard: labels fit their grid tracks without scroll area. */
@media(max-width:430px){.listingFilterChip{font-size:9px!important;gap:3px!important;padding-inline:2px!important}.listingFilterOptions{min-width:0!important;max-width:100%!important}.listingFilterDot{width:5px!important;height:5px!important;flex-basis:5px!important}.listingFilterHeart{width:10px!important;height:10px!important;flex-basis:10px!important}}
@media(max-width:430px){.listingFilterOptions{overflow:clip!important}}

/* v2 — wider, cleaner filter selectors with deliberate selected states. */
.listingFilters{width:min(100%,760px)!important;padding:6px!important;border:0!important;border-radius:18px!important;background:#eef2f1!important;box-shadow:inset 0 0 0 1px rgba(10,36,55,.08),0 8px 24px rgba(10,36,55,.07)!important}
.listingFiltersLabel{display:none!important}
.listingFilterOptions{grid-template-columns:repeat(4,minmax(125px,1fr))!important;gap:7px!important;width:100%!important}
.listingFilterChip{width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;padding:0 14px!important;gap:9px!important;border:1px solid rgba(10,36,55,.10)!important;border-radius:13px!important;background:rgba(255,255,255,.84)!important;color:#52636d!important;font-size:12px!important;font-weight:850!important;box-shadow:0 2px 6px rgba(10,36,55,.035)!important}
.listingFilterChip:hover{background:#fff!important;border-color:rgba(10,36,55,.18)!important;box-shadow:0 5px 14px rgba(10,36,55,.08)!important;transform:translateY(-1px)!important}
.listingFilterChip[aria-pressed="true"]{color:var(--mf-navy)!important;background:#fff!important;border-color:rgba(10,36,55,.18)!important;box-shadow:0 7px 18px rgba(10,36,55,.10),inset 0 -3px 0 var(--mf-navy)!important;transform:translateY(-1px)!important}
.listingFilterChip[data-listing-filter="active"][aria-pressed="true"]{background:#edf7ef!important;border-color:#a8d4b1!important;box-shadow:0 7px 18px rgba(48,133,71,.11),inset 0 -3px 0 #4d9d61!important}
.listingFilterChip[data-listing-filter="conditional"][aria-pressed="true"]{background:#fff7e8!important;border-color:#e8c98f!important;box-shadow:0 7px 18px rgba(190,123,24,.11),inset 0 -3px 0 #d28b2c!important}
.listingFilterChip[data-listing-filter="sold"][aria-pressed="true"]{background:#fff0f1!important;border-color:#e4adb1!important;box-shadow:0 7px 18px rgba(193,52,63,.10),inset 0 -3px 0 #d34149!important}
.listingFilterChip[data-listing-filter="favourites"][aria-pressed="true"]{background:#fff0f4!important;border-color:#e5afbc!important;box-shadow:0 7px 18px rgba(191,54,86,.10),inset 0 -3px 0 #d9475d!important}
.listingFilterDot{width:9px!important;height:9px!important;flex:0 0 9px!important}.listingFilterHeart{width:16px!important;height:16px!important;flex:0 0 16px!important}
@media(max-width:760px){
 .listingFilters{width:100%!important;padding:7px!important}
 .listingFilterOptions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
 .listingFilterChip{height:50px!important;min-height:50px!important;padding:0 13px!important;gap:8px!important;font-size:12px!important}
}
@media(max-width:390px){.listingFilterChip{font-size:11.5px!important;padding-inline:10px!important}}

/* v2.1 — add breathing room around and within the filter group. */
.section-control-row{position:relative!important;z-index:8!important;column-gap:16px!important;row-gap:18px!important;pointer-events:auto!important}
.listingFilters,.listingFilterOptions,.listingFilterChip{position:relative!important;z-index:1!important;pointer-events:auto!important;touch-action:manipulation!important}
.listingFilters{width:min(100%,920px)!important;padding:10px!important;border-radius:20px!important}
.listingFilterOptions{gap:12px!important}
.listingFilterChip{height:54px!important;min-height:54px!important;padding-inline:18px!important;gap:10px!important;border-radius:15px!important;font-size:13px!important}
@media(max-width:1000px){
 .listingSection .section-control-row{width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important}
 .listingFilters{width:100%!important}
 .listingFilterOptions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .listingFilterChip{height:54px!important;min-height:54px!important}
}
@media(max-width:430px){
 .listingFilters{padding:9px!important}
 .listingFilterOptions{gap:9px!important}
 .listingFilterChip{padding-inline:12px!important;font-size:12px!important}
}


/* v3 — one compact filter button with an expandable option menu. */
.listingFilters{
  position:relative!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.listingFilterToggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:116px!important;
  height:40px!important;
  padding:0 12px!important;
  border:1px solid rgba(10,36,55,.16)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--mf-navy)!important;
  box-shadow:0 5px 16px rgba(10,36,55,.07)!important;
  cursor:pointer!important;
  font:800 12px/1 Inter,"Helvetica Neue",Arial,sans-serif!important;
  letter-spacing:.01em!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
.listingFilterToggle:hover,.listingFilters.is-open .listingFilterToggle{
  border-color:rgba(181,140,76,.72)!important;
  background:#fffdf8!important;
  box-shadow:0 8px 20px rgba(10,36,55,.11)!important;
  transform:translateY(-1px)!important;
}
.listingFilterToggle:focus-visible{outline:3px solid rgba(181,140,76,.38)!important;outline-offset:3px!important}
.listingFilterToggle>svg:first-child{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;flex:0 0 auto!important}
.listingFilterToggle .listingFilterCount{padding-left:8px!important;border-left:1px solid rgba(10,36,55,.13)!important;color:var(--mf-muted)!important;font-size:11px!important;font-weight:750!important;white-space:nowrap!important}
.listingFilterToggle .listingFilterCount.has-selection{color:var(--mf-navy)!important;font-weight:900!important}
.listingFilterChevron{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:transform .18s ease!important}
.listingFilters.is-open .listingFilterChevron{transform:rotate(180deg)!important}
.listingFilterMenu{
  position:absolute!important;
  z-index:60!important;
  top:calc(100% + 9px)!important;
  left:0!important;
  width:280px!important;
  padding:13px!important;
  border:1px solid rgba(10,36,55,.14)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 18px 42px rgba(10,36,55,.17)!important;
  backdrop-filter:blur(16px)!important;
}
.listingFilterMenu[hidden]{display:none!important}
.listingFilterMenuHeader{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:1px 2px 11px!important;color:var(--mf-navy)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.02em!important}
.listingFilterMenuClose{display:grid!important;place-items:center!important;width:24px!important;height:24px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--mf-muted)!important;font-size:20px!important;line-height:1!important;cursor:pointer!important}
.listingFilterMenuClose:hover{background:#f1f4f4!important;color:var(--mf-navy)!important}
.listingFilterMenuClose:focus-visible{outline:2px solid rgba(181,140,76,.5)!important;outline-offset:2px!important}
.listingFilterMenu .listingFilterOptions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:7px!important;width:100%!important;min-width:0!important;padding:0!important;overflow:visible!important}
.listingFilterMenu .listingFilterDivider{display:none!important}
.listingFilterMenu .listingFilterChip{display:flex!important;width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;padding:0 10px!important;justify-content:flex-start!important;gap:7px!important;border:1px solid rgba(10,36,55,.11)!important;border-radius:10px!important;background:#f8faf9!important;color:#50616c!important;font-size:11px!important;font-weight:850!important;box-shadow:none!important;transform:none!important}
.listingFilterMenu .listingFilterChip:hover{background:#fff!important;border-color:rgba(10,36,55,.22)!important;color:var(--mf-navy)!important;box-shadow:0 4px 12px rgba(10,36,55,.08)!important}
.listingFilterMenu .listingFilterChip[aria-pressed="true"]{background:#edf4f2!important;border-color:rgba(10,36,55,.28)!important;color:var(--mf-navy)!important;box-shadow:inset 0 -2px 0 var(--mf-gold)!important}
.listingFilterMenu .listingFilterDot{width:7px!important;height:7px!important;flex:0 0 7px!important}
.listingFilterMenu .listingFilterHeart{width:14px!important;height:14px!important;flex:0 0 14px!important}
@media(max-width:760px){
  .listingFilterToggle{height:38px!important;min-width:112px!important;padding:0 11px!important}
  .listingFilterMenu{width:min(280px,calc(100vw - 36px))!important}
}
@media(prefers-reduced-motion:reduce){.listingFilterToggle,.listingFilterChevron,.listingFilterMenuClose,.listingFilterMenu .listingFilterChip{transition:none!important}}
