.mobile-search-toggle,header.site-header>.mobile-header-search{display:none}
header.site-header>.mobile-header-search[hidden]{display:none!important}
.site-search-form{display:flex;align-items:center;min-width:0;gap:8px;border:1px solid #bdcbd7;border-radius:8px;background:#fffefa;padding:0 4px 0 12px;margin:0;color:#19324d}
.site-search-form input{min-width:0;flex:1;width:100%;height:46px;padding:10px 0;border:0;background:transparent;color:inherit;font:400 16px/1.4 Arial,Helvetica,sans-serif}
.site-search-form>.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.site-search-form button{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer}
.site-search-form button:hover{background:#e5ebef}.site-search-form svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.site-search-form:focus-within{border-color:#19324d}.site-search-form input:focus{outline:0}.site-search-form button:focus-visible{outline:2px solid #19324d;outline-offset:-3px}
.site-search-page{max-width:960px;margin-inline:auto}.site-search-page>h1{font-size:28px;line-height:1.2;margin:0 0 18px}
.search-page-form{margin-bottom:20px}.listing-search.site-search-form{grid-column:1/-1;grid-row:2;padding:0 4px 0 12px}
.listing-search.site-search-form input{font-size:14px}
.search-result-count,.search-empty{font-size:14px;line-height:1.6;margin:16px 0;color:var(--muted)}
.search-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.search-categories button{display:inline-flex;align-items:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 13px;background:var(--paper);color:var(--navy);font-size:13px}
.search-categories button:is(:hover,:focus-visible){background:var(--navy);color:var(--paper)}
.search-categories span,.search-result-group h2 span{font-size:11px;font-weight:400;opacity:.75}
.search-result-group{margin:0 0 28px;scroll-margin-top:calc(var(--site-header-height,72px) + 12px)}
.search-result-group h2{display:flex;align-items:center;gap:10px;font-size:19px;margin:0 0 10px}
.search-results-list{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}
.search-results-list li+li{border-top:1px solid var(--line)}
.search-result{display:flex;align-items:center;gap:14px;padding:14px;text-decoration:none;color:var(--navy);opacity:1!important}
.search-result:is(:hover,:focus-visible){background:var(--surface)}
.search-result:focus-visible{outline:2px solid var(--navy);outline-offset:-3px}
.search-result-photo,.search-result-placeholder{width:72px;height:72px;object-fit:cover;flex:none;border-radius:6px;background:var(--surface)}
.search-agent-photo{border-radius:50%}.search-brokerage-logo{object-fit:contain;padding:5px;background:white}
.search-result-placeholder{display:grid;place-items:center}.search-result-placeholder svg{width:25px;height:25px}
.search-result-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;overflow-wrap:anywhere}
.search-result-copy strong{font-size:16px;line-height:1.3;font-weight:600}.search-result-copy>span{font-size:12px;line-height:1.4}.search-result-copy small{font-size:11px;color:var(--muted);line-height:1.4}
.search-result-price{font-size:17px;font-weight:600;white-space:nowrap;text-align:right}.search-result-price small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
.search-result>svg{width:18px;height:18px;flex:none}
@media(max-width:760px),(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 :is(body,body.portal-body)>header.site-header{height:auto;min-height:58px;grid-template-rows:58px;row-gap:0}
 :is(body,body.portal-body)>header.site-header>:is(.header-actions,.portal-header-actions){gap:2px}
 .mobile-search-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#19324d;cursor:pointer}
 .mobile-search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
 .mobile-search-toggle .search-close-icon{display:none}.mobile-search-toggle[aria-expanded=true]{background:#e5ebef}
 .mobile-search-toggle[aria-expanded=true] .search-open-icon{display:none}.mobile-search-toggle[aria-expanded=true] .search-close-icon{display:block}
 .mobile-search-toggle:focus-visible{outline:2px solid #19324d;outline-offset:-2px}
 header.site-header>.mobile-header-search{grid-column:1/-1;grid-row:2;display:flex;margin:0 0 10px;width:100%;min-width:0}
 header.site-header>.mobile-header-search[hidden]{display:none!important}
 .listings-page .listing-filter-drawer{top:var(--site-header-height,58px);background:#f7f5ef;box-shadow:0 -2px 0 #f7f5ef;isolation:isolate}
 body:has(.has-header-search) .listings-page .listing-search,body:has(.has-header-search) .search-page-form{display:none}
 .site-search-page{padding:20px 12px}.site-search-page>h1{font-size:23px;margin-bottom:12px}
 .search-result{padding:12px;gap:10px;flex-wrap:wrap}.search-result-photo,.search-result-placeholder{width:56px;height:56px}
 .search-result-copy strong{font-size:15px}.search-result-copy>span{font-size:11px}.search-result-price{font-size:15px}.search-result>svg{display:none}
 .search-categories{gap:6px}.search-categories button{padding:8px 10px;font-size:12px}
}

/* Desktop search opens within the header; the header measurement moves filters with it. */
.mobile-search-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#19324d;cursor:pointer}
.mobile-search-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.mobile-search-toggle .search-close-icon{display:none}
.mobile-search-toggle[aria-expanded=true]{background:#e5ebef}
.mobile-search-toggle[aria-expanded=true] .search-open-icon{display:none}
.mobile-search-toggle[aria-expanded=true] .search-close-icon{display:block}
.mobile-search-toggle:focus-visible{outline:2px solid #19324d;outline-offset:-2px}
header.site-header>.mobile-header-search{grid-column:1/-1;grid-row:2;display:flex;margin:0 0 12px;width:100%;min-width:0}
body:has(.has-header-search) .search-page-form{display:none}
@media(min-width:761px){:is(body,body.portal-body)>header.site-header{height:auto;grid-template-rows:72px;row-gap:0}}

/* An anchored panel leaves the page, its scroll and all open controls intact. */
header.site-header>.header-search-panel{position:absolute;top:100%;right:clamp(14px,3vw,56px);width:min(840px,calc(100% - 48px));max-height:calc(100dvh - var(--site-header-height,72px) - var(--beta-banner-height,0px) - 24px);display:flex;flex-direction:column;box-sizing:border-box;padding:20px;border:1px solid #cbd6df;border-radius:0 0 14px 14px;background:#f7f5ef;color:#19324d;box-shadow:0 18px 40px #19324d30;z-index:50;overflow:hidden}
header.site-header>.header-search-panel[hidden]{display:none!important}
.header-search-toolbar{display:flex;align-items:center;gap:10px;flex:none}
.header-search-toolbar>.site-search-form{display:flex;flex:1;min-width:0}
.header-search-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#19324d;font:400 30px/1 Arial,Helvetica,sans-serif;cursor:pointer}
.header-search-close:is(:hover,:focus-visible){background:#e5ebef}
.header-search-results{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 4px 0 0}
.header-search-results .search-result-group:last-child{margin-bottom:0}
.header-search-results .search-result-count{margin:16px 0 20px}
.header-search-results .search-empty{margin:18px 0 4px}
.header-search-results .search-result-group h2{font-weight:600}
.header-search-results .search-result svg{fill:none;stroke:currentColor;stroke-width:1.5}
.search-retry{min-height:44px;padding:8px 16px;border:1px solid #bdcbd7;border-radius:8px;background:#fffefa;color:#19324d;cursor:pointer;margin-top:12px}
/* Legacy shared search URLs keep an editable field of their own. */
body:has(.has-header-search) .search-page-form{display:flex}
@media(max-width:760px){
 header.site-header>.header-search-panel{right:0;width:100%;max-height:calc(100dvh - var(--site-header-height,58px) - var(--beta-banner-height,0px) - 120px);padding:14px;border-radius:0 0 12px 12px}
 .header-search-toolbar{gap:4px}.header-search-close{width:36px}
 .header-search-results .search-result{flex-wrap:nowrap}.header-search-results .search-result-price{font-size:14px}
}
