/* EstateHub discovery system: one rhythm, quiet surfaces, generous controls. */
:root { --ink:#182638; --muted:#56657a; --accent:#2563eb; --accent-2:#2563eb; --line:#dce3ed; --soft:#f5f7fb; --focus:#2563eb; --shadow:0 10px 36px #18263812; --page-gutter:clamp(24px,4.2vw,80px); }
body { background:#fff; color:var(--ink); }
button,input,select,textarea { font-family:var(--font-ui); }
button { transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 180ms ease; }
button:focus-visible,summary:focus-visible,a:focus-visible { outline:3px solid #2563eb;outline-offset:3px; }
[hidden] { display:none !important; }
.topbar { min-height:84px;padding:16px var(--page-gutter); background:#fff; border-bottom:1px solid #e9edf2;box-shadow:none;gap:28px; }
.brand-word {color:var(--accent);font-size:25px;letter-spacing:-1px;}
.brand-mark {box-shadow:none;background:#eef4ff;color:var(--accent);flex-shrink:0;}
.brand:hover .brand-mark,.brand:focus-visible .brand-mark {background:#e2ecff;color:var(--accent);}
.brand-mark .brand-roof {stroke:currentColor;}
.main-nav {gap:22px;}
.main-nav summary {font-size:14px;color:var(--ink);font-weight:600;}
.main-nav summary::before {display:none;}
.account {gap:10px;}
.account .header-post-button {background:#f5f7fb;color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:12px 18px;box-shadow:none;}
.account select {background:transparent;border:0;font-size:13px;min-width:48px;}
.market-hero {min-height:0; padding:38px var(--page-gutter) 26px;background:#fff;color:var(--ink);}
.market-hero-content {max-width:none;position:relative;display:flex;flex-direction:column;gap:12px;}
.market-hero h1 {font-size:clamp(30px,3.1vw,48px);line-height:1.14;letter-spacing:-1.65px;font-weight:700;max-width:1000px;}
.hero-eyebrow {margin:0;color:var(--accent);font-size:11px;letter-spacing:2px;font-weight:750;}
.hero-subtitle {margin:0;font-size:16px;color:var(--muted);line-height:1.55;}
.market-hero-cities {position:absolute;right:0;top:0;gap:12px;}
.market-hero-cities button {border:0;background:transparent;color:var(--muted);padding:2px 0;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:4px;}
.market-hero-cities button:hover {color:var(--accent);background:transparent;}
.search-band {position:relative;z-index:20;padding:0 var(--page-gutter);border:0;background:transparent;box-shadow:none;}
.search-section-head {display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.deal-tabs {display:flex;gap:8px;}
.deal-tabs button {min-height:40px;padding:9px 20px;border-radius:22px;border:1px solid transparent;background:#fff;color:var(--muted);font-size:14px;font-weight:650;}
.deal-tabs button.active {color:#fff;background:var(--ink);}
.mobile-filter-close {display:none;}
.search-form.search-form-compact {display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(160px,1.1fr) minmax(155px,1fr) minmax(170px,1.1fr) 95px 115px;grid-template-areas:"location type price rooms more search";align-items:center;gap:0;border:1px solid var(--line);border-radius:18px;padding:9px;background:#fff;box-shadow:0 5px 22px #18263809;}
.search-form > .filter-menu {position:static;border:0;border-right:1px solid #e8edf3;border-radius:0;min-width:0;box-shadow:none;background:transparent;}
.search-form > .filter-menu > summary {height:76px;min-height:76px;padding:8px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border:0;background:transparent;}
.search-form > .filter-menu > summary::before,.search-form > .filter-menu > summary::after {display:none;}
.search-form > .filter-menu > summary > span {font-size:12px;font-weight:650;color:var(--ink);line-height:1.3;}
.search-form > .filter-menu > summary > strong {max-width:100%;font-size:14px;font-weight:450;color:var(--muted);white-space:normal;line-height:18px;max-height:36px;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.search-form > .filter-menu[open] > summary {border-radius:12px;background:#f5f7fb;}
.search-form .filter-count {position:absolute;right:8px;top:6px;}
.search-form > .more-filter {border:0;}
.search-form > .more-filter summary {padding:8px 13px;}
.search-form > .more-filter summary > span {display:none;}
.search-form > .more-filter summary > strong {color:var(--ink);font-weight:600;font-size:13px;}
.search-form .search-submit {height:58px;min-width:0;width:100%;margin:0;padding:12px 16px;border-radius:12px;background:var(--accent);font-size:15px;white-space:nowrap;box-shadow:none;border:0;}
.search-form .search-submit::before {display:none;}
.search-form > .filter-clear-all {grid-column:1/-1;justify-self:end;padding:8px 12px;margin-top:8px;border:0;background:transparent;color:var(--muted);height:auto;min-height:0;width:auto;font-size:12px;display:none;}
.search-band:has(.active-filter-chip) .filter-clear-all {display:block;}
.search-form .mobile-filter-toggle {display:none;}
.search-form .filter-popover {position:fixed !important;inset:50% auto auto 50% !important;transform:translate(-50%,-50%) !important;width:min(620px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:min(780px,calc(100dvh - 80px));overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 22px 100px #18263840;z-index:1100;background:#fff;gap:18px;}
.search-form .advanced-popover {width:min(900px,calc(100vw - 48px));padding:0 24px 0;}
.search-form .advanced-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px;}
.search-form .filter-popover label > span,.search-form .field-label {font-size:13px;color:var(--ink);line-height:1.4;}
.search-form .filter-popover input:not([type=checkbox]),.search-form .filter-popover select {height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;}
.search-form .filter-popover .check-row {display:flex;align-items:center;gap:10px;min-height:36px;}
.search-form .filter-actions {position:sticky;bottom:-24px;grid-column:1/-1;background:#fff;z-index:2;padding:18px 0 8px;margin-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;}
.search-form .advanced-popover .filter-actions {bottom:0;padding:18px 0;}
.search-form .filter-actions button {min-height:46px;width:auto;padding:10px 20px;border-radius:10px;font-size:14px;}
.search-form .filter-apply {background:var(--accent);color:#fff;}
.filter-panel-heading {display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;padding:22px 0;z-index:3;grid-column:1/-1;border-bottom:1px solid var(--line);}
.filter-panel-heading h2 {margin:0;font-size:22px;}
.filter-panel-heading button {width:36px;height:36px;border:0;border-radius:50%;background:var(--soft);font-size:24px;}
body.search-panel-open::after {content:"";position:fixed;inset:0;background:#18263835;z-index:19;pointer-events:none;}
body.search-panel-open .search-band {z-index:1001;}
.active-search-filters {display:flex;flex-wrap:nowrap;align-items:center;gap:8px;height:48px;min-height:48px;padding:6px 0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;}
.active-search-filters.is-empty {visibility:hidden;}
.active-filter-chip {flex:none;max-width:min(360px,85vw);height:32px;min-height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--line);border-radius:18px;padding:7px 12px;background:#f5f7fb;color:var(--ink);font-size:12px;line-height:16px;}
.promo-carousel {padding:26px var(--page-gutter) 0;gap:14px;}
.promo-carousel-head {display:flex;align-items:center;justify-content:space-between;}
.promo-carousel-head > strong {font-size:15px;font-weight:600;}
.collection-arrows {display:flex;gap:8px;}
.collection-arrows button {width:28px;height:28px;min-height:0;border:1px solid var(--line);border-radius:50%;background:white;font-size:20px;line-height:1;}
.promo-track {gap:14px;padding:0;scrollbar-width:none;}
.promo-track::-webkit-scrollbar {display:none;}
.promo-banner {min-height:102px;flex:0 0 calc((100% - 70px)/6);min-width:168px;padding:16px;border-radius:14px;box-shadow:none;}
.promo-banner span {font-size:12px;font-weight:500;color:#fff;line-height:1.4;}
.promo-banner strong {font-size:16px;line-height:1.25;letter-spacing:0;}
.promo-banner::before {background:linear-gradient(180deg,#1826380d,#182638b8);}
.results-toolbar {padding:30px var(--page-gutter) 20px;display:flex;gap:20px;align-items:center;border:0;background:#fff;}
.results-heading {margin-right:auto;}
.results-heading h2 {margin:0 0 8px;font-size:23px;letter-spacing:-.5px;font-weight:650;}
.results-toolbar .status-line {margin:0;font-size:13px;color:var(--muted);}
.results-toolbar .search-sort {display:flex;flex-direction:column;gap:4px;min-width:150px;}
.results-toolbar .sort-filter span {display:block;font-size:11px;color:var(--muted);}
.results-toolbar .sort-filter select {font-size:13px;border:0;background:transparent;height:28px;padding:0;color:var(--ink);}
.results-toolbar .mobile-results-sort,.results-toolbar .mobile-results-view-switch {display:none;}
.results-mode-switch {display:flex;align-items:center;border:1px solid var(--line);border-radius:25px;padding:4px;gap:2px;}
.results-mode-switch > button {min-height:38px;height:auto;width:auto;display:flex;gap:6px;align-items:center;justify-content:center;padding:9px 16px;border:0;border-radius:22px;background:#fff;color:var(--ink);font-size:13px;white-space:nowrap;}
.results-mode-switch > button[aria-pressed=true] {background:var(--ink);color:#fff;box-shadow:none;}
.results-mode-switch .map-toggle-icon {width:17px;height:17px;}
.content-grid {padding:0 var(--page-gutter) 48px;gap:24px;}
.results {gap:24px;}
.site-footer {background:var(--soft);border-top:1px solid var(--line);margin-top:24px;padding:40px var(--page-gutter);}
.site-footer .store-badge {box-shadow:none;}
@media(min-width:761px) and (max-width:1150px) {
 .topbar {gap:16px;flex-wrap:wrap;}.main-nav {gap:14px;}.account .header-post-button {font-size:12px;padding:10px 12px;}
 .search-form.search-form-compact {grid-template-columns:1.25fr 1fr 1fr 1fr 85px 100px;}
 .search-form > .filter-menu > summary {padding:8px 12px;}.search-form > .filter-menu > summary > strong {font-size:12px;}
 .market-hero-cities {position:static;order:3;margin-top:4px;}
}
@media(max-width:760px) {
 :root {--page-gutter:20px;}
 .topbar {padding:12px 18px;min-height:66px;gap:8px;box-shadow:none;}
 .brand-word {font-size:21px;}.brand-mark {width:29px;height:32px;}
 .mobile-location-picker {display:none;}.mobile-top-controls {margin-left:auto;}.account {margin-left:0;}
 .market-hero {display:block;padding:25px var(--page-gutter) 18px;}
 .market-hero-content {gap:10px;}.hero-eyebrow {font-size:9px;letter-spacing:1.5px;}
 .market-hero h1 {font-size:32px;letter-spacing:-1px;max-width:390px;line-height:1.12;}
 .hero-subtitle {font-size:13px;max-width:340px;line-height:1.55;}
 .market-hero-cities {position:static;order:3;margin-top:4px;gap:18px;}
 body:where([data-view=home]):not(.mobile-filters-open):not(.map-fullscreen-active) .search-band:where(:not([hidden])) {display:block !important;position:relative;inset:auto;padding:0 var(--page-gutter);border:0;background:#fff;box-shadow:none;max-height:none;overflow:visible;}
 .search-section-head {margin-bottom:12px;}.deal-tabs {gap:3px;width:100%;justify-content:space-between;}
 .deal-tabs button {padding:8px 12px;font-size:13px;min-height:37px;}
 .search-form.search-form-compact {display:grid !important;grid-template-columns:1fr 1fr;padding:5px;border-radius:16px;gap:0;box-shadow:0 3px 14px #18263808;}
 .search-form > .filter-menu {display:block !important;border:0;}
 .search-form > .filter-menu > summary {min-height:58px;padding:9px 12px;gap:5px;}
 .search-form > .filter-menu > summary > strong {font-size:13px;}
 .search-form > .filter-menu > summary > span {font-size:11px;}
 .search-form > .more-filter {grid-column:1;}.search-form > .more-filter summary {min-height:46px;}
 .search-form .search-submit {display:flex;align-items:center;justify-content:center;grid-column:2;height:44px;min-height:44px;width:auto;margin:4px;font-size:14px;}
 .search-form .filter-count {display:none;}
 .search-form .filter-popover {inset:12px 12px auto !important;transform:none !important;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:18px;border-radius:16px;display:none;}
 .search-form .filter-menu[open] > .filter-popover {display:grid !important;}
 .search-form .advanced-popover {padding:0 18px;}
 .search-form .advanced-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;}
 .search-form .filter-actions {bottom:-18px;gap:10px;padding:15px 0 4px;}.search-form .filter-actions button {font-size:13px;padding:10px 14px;}
 .filter-panel-heading h2 {font-size:20px;}
 body:where([data-view=home]).mobile-filters-open .search-band:where(:not([hidden])) {display:block !important;position:fixed !important;inset:0 !important;z-index:1200;padding:20px 20px 80px;max-height:100dvh;height:100dvh;overflow:auto;border-radius:0;background:#fff;}
 body.mobile-filters-open .mobile-filter-close {display:block;flex-shrink:0;width:34px;height:34px;margin-left:8px;background:var(--soft);border:0;border-radius:50%;font-size:24px;}
 body.mobile-filters-open #searchAssistantHost {display:none;}
 body.mobile-filters-open .search-form .search-submit {position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;z-index:2;width:calc(100% - 40px);margin:0;box-shadow:0 0 0 16px white;}
 body.mobile-filters-open .search-form > .filter-menu > summary {min-height:76px;}
 .promo-carousel {padding-top:22px;gap:12px;}.promo-carousel-head > strong {font-size:14px;}.promo-banner {flex-basis:160px;min-width:160px;min-height:100px;padding:14px;}.promo-banner strong {font-size:15px;}
 .results-toolbar {padding:24px var(--page-gutter) 16px;flex-wrap:wrap;gap:14px;}
 .results-heading {flex:1 1 100%;}.results-heading h2 {font-size:21px;}.results-toolbar .status-line {font-size:12px;}
 .results-toolbar .search-sort {display:flex;min-width:0;flex:1;}.results-mode-switch > button {padding:8px 12px;font-size:12px;min-height:36px;}
 .content-grid {padding:0 var(--page-gutter) 30px;}.results {gap:25px;}
 .site-footer {padding:30px 20px 95px;}.mobile-bottom-nav {background:#fff;box-shadow:0 -1px 0 var(--line);border:0;}
 body:not([data-view=home]) #searchAssistantHost {display:none;}
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after {animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;} }
#searchAssistantHost { margin-top:18px; }
body .results-toolbar[hidden],body .search-band[hidden] { display:none !important; }
body[data-view=home] .results-toolbar {display:flex;}
.search-form.search-form-compact .search-submit {background:#2563eb;}
.search-form > .filter-menu {align-self:stretch;}
.search-form > .filter-menu > summary {position:relative;}
.promo-banner-house {background-image:url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=520&q=80');}
.promo-banner-commercial {background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=520&q=80');}
.promo-banner-dacha {background-image:url('https://images.unsplash.com/photo-1449158743715-0a90ebb6d2d8?auto=format&fit=crop&w=520&q=80');}

html {scrollbar-gutter:stable;}
body.search-panel-open {overflow:hidden;}
