/* V74 approved desktop 60/40 + compact mobile map. Scoped to homepage. */
html.sa-v74{--ink:#17483d;--toolbar-height:190px;scroll-padding-top:210px}
.sa-v74 body.saSearchPage{background:#faf7ef;color:var(--ink)}
.sa-v74 .topbar.cleanTopbar{position:relative!important;top:auto!important;display:flex!important;justify-content:space-between;align-items:center;width:min(1380px,calc(100% - 48px))!important;margin:12px auto 20px!important;padding:12px 20px!important;min-height:76px;border-radius:40px!important;background:#fffdf7!important;box-shadow:0 3px 12px #26312d13;border:1px solid #e7e3da;z-index:40}
.sa-v74 .brand.logoBrand{flex:0 0 210px!important;width:210px!important;max-width:210px!important;min-width:0!important}
.sa-v74 .brandLogo{width:210px!important;height:auto!important;max-height:60px!important;object-fit:contain;padding:0!important;background:transparent!important}
.sa-v74 .topActions{display:flex!important;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sa-v74 .topActions .navLink{font-size:14px!important;display:inline-flex!important}
.sa-v74 .topActions .navCta{font-size:14px!important;max-width:none!important;min-height:40px;padding:8px 16px!important}
.sa-v74 .langSwitch{order:9;padding:2px;gap:0}
.sa-v74 .langSwitch button{font-size:11px!important;padding:6px 7px!important;min-height:32px}
.sa-v74 .mobileMenu{display:none}
.sa-v74 .searchToolbar{position:sticky;top:0;z-index:30;background:#faf7eff5;padding:10px 0 14px;backdrop-filter:blur(16px);width:100%;margin:0}
.sa-v74 #mainSearch{display:flex!important;flex-direction:column!important;gap:12px!important;width:min(1480px,calc(100% - 48px))!important;max-width:none!important;margin:auto!important;padding:16px 20px!important;border:1px solid #e5e0d6!important;border-radius:24px!important;background:#fffdf7!important;box-shadow:0 4px 12px #26312d0d!important}
.sa-v74 .searchIntro,.sa-v74 .searchActions,.sa-v74 #siteCityChips,.sa-v74 #nearbyToggle,.sa-v74 .saAiBox>label,.sa-v74 .saAiDates>small,.sa-v74 #selectedCriteriaBar{display:none!important}
.sa-v74 .saAiBox{padding:0!important;margin:0!important;border:0!important;background:none!important;width:100%}
.sa-v74 .queryLine{display:grid;grid-template-columns:48px minmax(0,1fr) 160px;gap:12px;align-items:center}
.sa-v74 #aiOneMessage{display:block!important;width:100%!important;min-height:50px!important;height:50px!important;max-height:120px;resize:vertical;padding:13px 16px!important;border:1px solid #cbd0c9!important;border-radius:14px!important;background:white;font:inherit;font-size:16px!important;line-height:22px!important;box-shadow:none!important}
.sa-v74 #aiVoiceButton{position:static!important;inset:auto!important;transform:none!important;display:flex!important;align-items:center;justify-content:center;width:48px!important;min-width:48px!important;height:50px!important;min-height:44px!important;padding:0!important;border:1px solid #d1d5ce!important;border-radius:14px!important;background:white!important;color:var(--ink)!important;box-shadow:none!important}
.sa-v74 #aiVoiceButton[aria-pressed=true]{background:#9b302a!important;color:#fff!important}
.sa-v74 #aiParseButton{min-height:50px;border:0;border-radius:14px;background:#21614f;color:white;font-size:20px;font-weight:750;padding:10px 18px;cursor:pointer}
.sa-v74 #aiSearchStatus,.sa-v74 #aiReview{font-size:13px;line-height:1.4;margin:6px 0 0}
.sa-v74 .basicFilters{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1.05fr) minmax(0,.7fr) minmax(0,1fr) auto;gap:16px;align-items:end}
.sa-v74 .basicFilters>.searchField{display:flex!important;flex-direction:column;gap:4px!important;min-width:0!important;grid-column:auto!important;padding:0!important;margin:0!important}
.sa-v74 .basicFilters .label-row{display:block!important}
.sa-v74 .basicFilters label>span,.sa-v74 .basicFilters .label-row>span{font-size:12px!important;font-weight:650;color:#557365}
.sa-v74 .input-voice-wrapper{display:block;width:100%}
.sa-v74 #mainSearch .basicFilters input,.sa-v74 #mainSearch .basicFilters select{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;font-size:14px!important;border:1px solid #cfd4cc!important;border-radius:12px!important;background:#fff!important;padding:8px 10px!important;margin:0!important;box-shadow:none!important;color:#243b30}
.sa-v74 .moreFilters{position:relative;align-self:end}
.sa-v74 .moreFilters>summary{list-style:none;min-height:42px;display:flex;align-items:center;justify-content:center;padding:8px 18px;border:1px solid #bac9bd;border-radius:12px;cursor:pointer;font-size:14px;font-weight:650}
.sa-v74 summary::-webkit-details-marker{display:none}
.sa-v74 .moreFilterContent{display:none}
.sa-v74 .moreFilters[open] .moreFilterContent{display:grid;gap:14px;position:absolute;right:0;top:calc(100% + 12px);z-index:60;width:min(360px,calc(100vw - 36px));padding:18px;border:1px solid #dce1d6;border-radius:18px;background:#fffdf7;box-shadow:0 10px 30px #243b3028}
.sa-v74 .moreFilterContent .searchField,.sa-v74 .amenitiesCompactField{display:grid!important;gap:6px}
.sa-v74 .moreFilterContent input,.sa-v74 .moreFilterContent select{width:100%;min-height:44px;padding:8px;font-size:16px;border:1px solid #ccd4ca;border-radius:10px}
.sa-v74 .amenitiesCompactChips{display:flex;flex-wrap:wrap;gap:6px}
.sa-v74 .amenitiesCompactChips button{border:1px solid #ccd4ca;background:#fff;padding:8px;border-radius:10px;color:var(--ink)}
.sa-v74 .amenitiesCompactChips button.isActive{background:#21614f;color:#fff}
.sa-v74 .dateNote{font-size:12px;margin:0;color:#627166}
.sa-v74 .searchWorkspace{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;align-items:start;width:min(1480px,calc(100% - 48px));margin:8px auto 40px;padding:0!important;overflow:visible!important}
.sa-v74 .resultsColumn{min-width:0}
.sa-v74 .catalogMeta{display:flex!important;padding:0!important;margin:0 0 16px!important;background:transparent!important;border:0!important}
.sa-v74 #resultCount{margin:0;font-size:24px;line-height:1.3;font-weight:750;color:var(--ink)}
.sa-v74 #propertyGrid{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
.sa-v74 .searchCard{display:grid!important;grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);gap:16px!important;padding:10px!important;border:1px solid #dfdfd3!important;border-radius:20px!important;background:#fffdf7!important;box-shadow:0 3px 9px #243b300a!important;overflow:hidden;opacity:1!important;transform:none!important}
.sa-v74 .searchCard .cardImage{display:block!important;height:100%!important;min-height:235px!important;aspect-ratio:auto!important;border-radius:14px!important;overflow:hidden}
.sa-v74 .searchCard .cardImage img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
.sa-v74 .searchCard .cardBody{display:flex!important;flex-direction:column;align-items:flex-start;padding:6px 2px!important;gap:10px!important;min-width:0}
.sa-v74 .searchCard h3{font-size:20px!important;line-height:1.2!important;letter-spacing:-.025em;margin:0!important;color:var(--ink)}
.sa-v74 .searchFacts{font-size:14px!important;line-height:1.4;margin:0!important;color:#4d6255!important}
.sa-v74 .searchPrice{font-size:23px;font-weight:800;line-height:1.15;color:var(--ink)}
.sa-v74 .searchPrice small{font-size:14px;font-weight:650}
.sa-v74 .searchMatch{font-size:12px;background:#ecf3df;border-radius:10px;padding:7px 10px;line-height:1.25;font-weight:650}
.sa-v74 .searchCardActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;width:100%}
.sa-v74 .searchCardActions .smallBtn,.sa-v74 .searchCardActions .leadBtn{width:auto!important;min-height:38px!important;padding:8px 10px!important;margin:0!important;border-radius:10px!important;font-size:12px!important;line-height:1.25!important;flex:1 1 auto;box-shadow:none!important}
.sa-v74 .searchCardActions .smallBtn{background:#21614f!important;color:#fff!important}
.sa-v74 .searchCardActions .leadBtn{background:transparent!important;border:1px solid #b9c8bc!important;color:var(--ink)!important}
.sa-v74 #mapSearchModal{display:block!important;position:sticky!important;top:calc(var(--toolbar-height) + 8px)!important;inset-inline:auto!important;width:100%!important;height:calc(100dvh - var(--toolbar-height) - 22px)!important;max-height:720px;min-height:320px;padding:0!important;margin:0!important;z-index:10!important;background:#e6ecdc!important;border:1px solid #d9e0d0!important;border-radius:20px!important;overflow:clip;align-self:start}
.sa-v74 .mapSearchSheet{position:relative;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;overflow:hidden}
.sa-v74 .mapSearchHeader{position:absolute;right:12px;top:12px;z-index:500;padding:0!important;border:0!important;background:none!important}
.sa-v74 .mapSearchTitleWrap{display:none!important}
.sa-v74 .mapExpand{width:40px;height:40px;border:1px solid #b4c5b7;border-radius:10px;background:#fffdf7;font-size:25px;color:var(--ink);cursor:pointer;box-shadow:0 2px 6px #243b3014}
.sa-v74 .mapSettings{position:absolute;top:12px;left:58px;right:62px;z-index:500;max-width:300px}
.sa-v74 .mapSettings>summary{font-size:12px;font-weight:650;list-style:none;padding:10px;background:#fffdf7;border:1px solid #c6d2c3;border-radius:10px;cursor:pointer;width:fit-content}
.sa-v74 .mapSearchControls{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:12px!important;background:#fffdf7;border-radius:14px;border:1px solid #c6d2c3;box-shadow:0 3px 10px #243b3020}
.sa-v74 .mapSearchControls>label{display:grid;gap:4px;font-size:12px;flex:1 1 40%;min-width:0}
.sa-v74 .mapSearchControls select{min-height:38px;width:100%;font-size:14px}
.sa-v74 #nearbyPanel{position:static!important;display:block!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;border:0!important;background:none!important;opacity:1!important}
.sa-v74 #nearbyMap{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:0!important;z-index:1}
.sa-v74 #nearbyStatus{position:absolute;bottom:18px;left:8px;right:8px;z-index:450;background:#fffdf7ec;padding:6px 8px!important;font-size:10px!important;line-height:1.3!important;margin:0!important;border-radius:8px;pointer-events:none}
.sa-v74 #mapFallback{position:absolute;inset:0;z-index:440;padding:65px 24px;background:#edf1e4;font-size:14px;pointer-events:none}
.saPriceMarker{background:transparent;border:0}
.saPriceMarker span{display:block;width:max-content;max-width:150px;background:#21614f;color:#fff;border:2px solid #fff;border-radius:12px;padding:7px 10px;font:700 12px/1.2 system-ui;white-space:nowrap;box-shadow:0 2px 6px #173a3a40}
.saPriceMarker span:after{content:'';position:absolute;left:47px;bottom:-5px;border:6px solid transparent;border-top-color:#21614f;border-bottom:0}
.sa-v74 #mapSearchModal.isExpanded{position:fixed!important;inset:16px!important;top:16px!important;width:auto!important;height:auto!important;max-height:none!important;z-index:1000!important;border:5px solid #fffdf7!important;box-shadow:0 0 0 50vmax #102d2666}
.sa-v74 body.mapExpanded{overflow:hidden}
.sa-v74 .ownerSection{width:min(1100px,calc(100% - 48px));margin:40px auto!important}
.sa-v74 :focus-visible{outline:3px solid #b28a34!important;outline-offset:3px}
@media(max-width:1100px) and (min-width:721px){
 .sa-v74 .topActions{gap:8px}.sa-v74 .topActions .navLink{font-size:12px!important}.sa-v74 .topActions .navCta{font-size:12px!important}.sa-v74 .brand.logoBrand,.sa-v74 .brandLogo{width:170px!important;flex-basis:170px!important;max-width:170px!important}
 .sa-v74 .searchCard{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:10px!important}.sa-v74 .searchCard h3{font-size:17px!important}.sa-v74 .searchPrice{font-size:20px}.sa-v74 .searchCard .cardImage{min-height:230px!important}
}
@media(max-width:720px){
 html.sa-v74{scroll-padding-top:190px}
 .sa-v74 .topbar.cleanTopbar{width:100%!important;margin:0 auto!important;min-height:68px!important;padding:10px 14px!important;border:0!important;border-radius:0!important;box-shadow:none;gap:10px;background:#faf7ef!important}
 .sa-v74 .brand.logoBrand{flex:0 1 180px!important;width:180px!important;max-width:calc(100% - 60px)!important}.sa-v74 .brandLogo{width:180px!important;max-width:100%!important;max-height:45px!important}
 .sa-v74 .mobileMenu{display:block;width:42px;height:42px;min-width:42px;border:1px solid #d5dacf;border-radius:12px;color:var(--ink);background:#fffdf7;font-size:23px}
 .sa-v74 .topActions{display:none!important;position:absolute;right:12px;top:60px;left:12px;padding:14px;border-radius:18px;border:1px solid #d5dacf;background:#fffdf7;box-shadow:0 6px 25px #243b3030;z-index:60}
 .sa-v74 .topActions.isOpen{display:flex!important;flex-direction:column;align-items:stretch}.sa-v74 .topActions .navLink{min-height:40px;font-size:14px!important;padding:8px}.sa-v74 .langSwitch{order:0;align-self:start}.sa-v74 .langSwitch button{min-height:40px;font-size:12px!important;padding:8px 12px!important}
 .sa-v74 .searchToolbar{padding:4px 0 8px}
 .sa-v74 #mainSearch{width:100%!important;padding:6px 12px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;gap:10px!important}
 .sa-v74 .queryLine{grid-template-columns:44px minmax(0,1fr) 62px;gap:6px}
 .sa-v74 #aiVoiceButton{width:44px!important;min-width:44px!important;height:46px!important;border-radius:12px!important}
 .sa-v74 #aiOneMessage{height:46px!important;min-height:46px!important;padding:11px 10px!important;font-size:16px!important;line-height:22px!important;border-radius:12px!important;resize:none}
 .sa-v74 #aiParseButton{font-size:12px;min-height:46px;padding:7px 4px;border-radius:12px}
 .sa-v74 .basicFilters{grid-template-columns: minmax(0,1.12fr) minmax(0,1fr) minmax(0,.65fr) minmax(0,1fr) 36px;gap:5px!important}
 .sa-v74 .basicFilters label>span,.sa-v74 .basicFilters .label-row>span{font-size:10px!important;line-height:1.2;white-space:nowrap}
 .sa-v74 #mainSearch .basicFilters input,.sa-v74 #mainSearch .basicFilters select{height:38px!important;min-height:38px!important;border-radius:10px!important;padding:7px 5px!important;font-size:16px!important}
 .sa-v74 .moreFilters>summary{font-size:0;min-height:38px;padding:5px;min-width:36px;border-radius:10px}.sa-v74 .moreFilters>summary:after{content:'☷';font-size:23px}
 .sa-v74 .searchWorkspace{display:flex;flex-direction:column;gap:0;width:100%;margin:0 auto 20px}
 .sa-v74 #mapSearchModal{order:0;top:var(--toolbar-height)!important;position:sticky!important;border-radius:16px!important;width:calc(100% - 24px)!important;margin:0 12px!important;min-height:0!important;height:30dvh!important;max-height:300px!important;flex:none;z-index:20!important;box-shadow:0 4px 0 5px #faf7ef}
 .sa-v74 .resultsColumn{order:1;width:100%;padding:14px 12px 0}
 .sa-v74 .catalogMeta{margin:0 0 12px!important}.sa-v74 #resultCount{font-size:20px}
 .sa-v74 #propertyGrid{gap:12px!important}
 .sa-v74 .searchCard{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px!important;border-radius:16px!important;padding:7px!important;min-height:180px}
 .sa-v74 .searchCard .cardImage{min-height:175px!important;border-radius:11px!important}
 .sa-v74 .searchCard .cardBody{gap:7px!important;padding:3px 0!important}
 .sa-v74 .searchCard h3{font-size:15px!important;line-height:1.18!important}
 .sa-v74 .searchFacts{font-size:11px!important;line-height:1.3!important}
 .sa-v74 .searchPrice{font-size:17px;overflow-wrap:anywhere}.sa-v74 .searchPrice small{font-size:11px}
 .sa-v74 .searchMatch{font-size:10px;padding:5px 7px}
 .sa-v74 .searchCardActions{gap:5px}.sa-v74 .searchCardActions .smallBtn,.sa-v74 .searchCardActions .leadBtn{min-height:34px!important;padding:6px 5px!important;font-size:10px!important;flex:1 1 100%}
 .sa-v74 #nearbyStatus{font-size:9px!important;line-height:1.2!important;padding:4px 6px!important;bottom:15px;max-height:34px;overflow:auto}
 .sa-v74 .mapSettings{top:9px;left:50px;right:52px}.sa-v74 .mapSettings>summary{padding:8px;font-size:10px}.sa-v74 .mapSearchHeader{top:9px;right:9px}.sa-v74 .mapExpand{width:34px;height:34px;font-size:23px}
 .sa-v74 .mapSearchControls{padding:8px!important;gap:6px}.sa-v74 .mapSearchControls select{height:34px;min-height:34px;font-size:13px}.sa-v74 #mapLocateButton{min-height:34px;padding:6px;font-size:12px}.sa-v74 .saRadiusControl{font-size:11px!important}
 .sa-v74 .ownerSection{width:calc(100% - 24px);margin:24px 12px!important}
 .sa-v74 #mapSearchModal.isExpanded{inset:8px!important;top:8px!important;width:auto!important;height:auto!important;max-height:none!important;margin:0!important}
 .sa-v74 #aiSearchStatus,.sa-v74 #aiReview{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html.sa-v74{scroll-behavior:auto}.sa-v74 *{transition:none!important}}
/* Neutralize inherited ordering and full-width card buttons from older layouts. */
.sa-v74 .basicFilters>*{order:0!important}
.sa-v74 .searchCardActions .smallBtn,.sa-v74 .searchCardActions .leadBtn{flex:0 1 auto;max-width:100%}
.sa-v74 .searchCard .cardImage{max-height:300px}
.sa-v74 .searchCard .cardBody{justify-content:flex-start}
.sa-v74 .moreFilters{margin:0!important}
@media(max-width:720px){.sa-v74 .searchCardActions .smallBtn,.sa-v74 .searchCardActions .leadBtn{flex:1 1 100%}}
.sa-v74 #mobileLocale{display:none}
.sa-v74 #resultCount{font-size:24px!important;line-height:1.3!important}
.sa-v74 .searchCard .cardImage{height:235px!important;max-height:none!important}
.sa-v74 .searchCard .cardBody{height:auto!important;min-height:0!important}
@media(max-width:720px){
 .sa-v74 #mobileLocale{display:block;margin-left:auto;width:58px;min-width:58px;height:40px;padding:5px;border:1px solid #d2d8cd;border-radius:12px;background:#fffdf7;color:var(--ink);font-size:13px}
 .sa-v74 .brand.logoBrand{max-width:calc(100% - 120px)!important;flex:0 1 180px!important}
 .sa-v74 #resultCount{font-size:20px!important}
 .sa-v74 .searchCard .cardImage{height:190px!important;min-height:190px!important;max-height:none!important}
}
/* overflow-x:hidden from legacy CSS creates a non-scrolling ancestor and breaks sticky. */
html.sa-v74{overflow-x:clip!important;overflow-y:visible!important}
.sa-v74 body.saSearchPage{overflow:visible!important}
.sa-v74 body.mapExpanded{overflow:hidden!important}
