/* Searchable city picker, progressively enhanced from a native select. */
body.viewer-open{overflow:hidden}
.listing-views{display:flex;align-items:center;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--muted)}
.listing-views svg{width:16px;height:16px;flex-shrink:0;opacity:.8}
.listing-views strong{font-weight:500;font-variant-numeric:tabular-nums}
.card-media{position:relative}
.card-media>.favorite-form,.card-media>.favorite-control{position:absolute;right:12px;top:12px;z-index:3}
.favorite-form{margin:0;display:inline-flex;flex-shrink:0}
.favorite-control{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;padding:8px;background:var(--surface);color:var(--muted);box-shadow:0 2px 8px #00000008;flex-shrink:0;transition:color .15s,background .15s}
.favorite-control svg,.header-favorites svg{width:19px;height:19px;flex-shrink:0}
.favorite-control:hover{color:#d54e76;background:var(--lime)}
.favorite-control.is-saved{color:#dc527d}
.favorite-control.is-saved svg{fill:currentColor}
.favorite-control:disabled{opacity:.55;cursor:wait}
.header-favorites{display:inline-flex;align-items:center;justify-content:center;width:31px;height:35px;color:var(--muted);flex-shrink:0}
.header-favorites:hover,.header-favorites.selected{color:var(--accent)}
.phone-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:550;color:var(--accent);white-space:nowrap}
.phone-button svg{width:16px;height:16px}
.card-bottom>.phone-button{font-size:11px;padding:0;line-height:1.5;color:var(--accent)}
.card-bottom>.phone-button svg{width:14px;height:14px}
.contact-actions{display:flex;gap:10px;margin-top:22px;align-items:center}
.contact-actions>.phone-button{flex:1;background:#3864ed;color:#fff;border-radius:9px;padding:13px 16px;font-size:14px}
.contact-actions .favorite-control{height:46px;width:46px;border-radius:9px}
.contact-number{margin:10px 0 0;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}
.contact-hint{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.6}
.favorite-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:13px 20px;background:var(--ink);color:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 32px #0002;font-size:13px;z-index:40;text-align:center}
.favorites-page{min-height:70vh;padding-bottom:55px}
.favorites-count{font-size:18px;letter-spacing:0;color:var(--muted);font-weight:400;margin-left:10px}
@media(max-width:480px){.header-inner{gap:6px}.header-actions{gap:6px}.header-favorites{width:27px}.header-inner .brand{font-size:24px}.header-inner .brand-icon{width:27px;height:30px;margin-right:6px}.header-actions .button-small{padding-left:10px;padding-right:10px}}
.price-main>span{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}
.price-main>small{font-size:16px;font-weight:400;color:var(--muted)}
.price-secondary{font-size:13px;font-weight:450;letter-spacing:0;color:var(--muted);margin-top:4px}
.detail-price .price-secondary{font-size:16px;margin-top:7px}
.rate-note{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);line-height:1.6;margin:10px 0 20px}
.rate-note a{text-decoration:underline;text-underline-offset:3px}
.detail-sidebar .rate-note{font-size:10px;display:grid;gap:3px;margin-top:16px;margin-bottom:0;padding-top:14px;border-top:1px solid var(--line)}
.rate-warning{color:#a16a35}
[data-theme=dark] .rate-warning{color:#d7b785}
.gallery a{cursor:zoom-in}
.photo-viewer{border:0;padding:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:transparent;color:#fff;overflow:hidden}
.photo-viewer::backdrop{background:#080c15ed;backdrop-filter:blur(8px)}
.photo-viewer[open]{display:flex;align-items:center;justify-content:center}
.viewer-stage{position:absolute;inset:72px 82px 90px;display:flex;align-items:center;justify-content:center}
.viewer-photo{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 60px #0004;user-select:none;-webkit-user-drag:none}
.viewer-loading,.viewer-error{color:#d4dced;text-align:center;font-size:14px}
.viewer-control{position:absolute;z-index:1;display:grid;place-items:center;width:44px;height:44px;background:#ffffff12;border:1px solid #ffffff25;color:#fff;border-radius:50%;padding:10px}
.viewer-control:hover{background:#ffffff25}
.viewer-control svg{width:24px;height:24px}
.viewer-close{top:max(20px,env(safe-area-inset-top));right:24px}
.viewer-previous{top:calc(50% - 22px);left:22px}
.viewer-next{top:calc(50% - 22px);right:22px}
.viewer-caption{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:25%;right:25%;text-align:center;color:#d4dced;font-size:12px;pointer-events:none}
.viewer-caption p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px}
.viewer-counter{font-variant-numeric:tabular-nums;color:#fff;font-size:13px}
@media(max-width:760px){.viewer-stage{inset:75px 12px 110px}.viewer-previous,.viewer-next{top:auto;bottom:max(26px,env(safe-area-inset-bottom))}.viewer-previous{left:18px}.viewer-next{right:18px}.viewer-close{right:18px}.viewer-caption{left:78px;right:78px;bottom:max(29px,env(safe-area-inset-bottom))}}
[hidden]{display:none!important}
.city-field{position:relative;min-width:0}
.city-field>label{display:block;font-size:12px;font-weight:550;color:#677080}
.city-trigger{margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:45px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:13px;text-align:left}
.city-trigger svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}
.city-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 3px #3864ed12}
.city-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-popup{position:absolute;top:calc(100% + 8px);left:0;width:320px;max-width:calc(100vw - 78px);background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 48px #18244024;z-index:20;padding:10px}
.city-search-wrap{position:relative}
.city-search-wrap svg{position:absolute;left:12px;top:13px;width:17px;height:17px;color:var(--muted);pointer-events:none}
.city-search-wrap input{padding-left:37px;font-size:13px;background:var(--bg);height:42px}
.city-options{max-height:285px;overflow:auto;overscroll-behavior:contain;padding-top:7px;scrollbar-width:thin}
.city-options h3{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 10px 5px;margin:0}
.city-option{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:7px;background:transparent;color:var(--ink);padding:10px;font-size:13px;text-align:left}
.city-option:hover,.city-option:focus-visible{background:var(--bg)}
.city-option span{visibility:hidden;color:var(--accent)}
.city-option[aria-pressed=true]{background:var(--lime);color:var(--accent);font-weight:600}
.city-option[aria-pressed=true] span{visibility:visible}
.city-no-results{padding:20px 10px;margin:0;color:var(--muted);font-size:12px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:9px;width:35px;height:35px;padding:7px;flex-shrink:0}
.theme-toggle:hover{background:var(--bg);color:var(--ink)}
.theme-toggle svg{width:19px;height:19px}
.theme-sun{display:none}
html{color-scheme:light}
html[data-theme=dark]{color-scheme:dark;--bg:#10141e;--surface:#191f2c;--ink:#e8edf8;--muted:#98a4ba;--accent:#8ba8ff;--line:#2d3547;--lime:#263556}
[data-theme=dark] .theme-moon{display:none}
[data-theme=dark] .theme-sun{display:block}
[data-theme=dark] :is(.site-header,.filter-panel,.property-card,.panel,.empty-state,.pagination a,.button-light,input,select,textarea,.city-trigger){background:var(--surface)}
[data-theme=dark] .brand-icon{background:#3864ed}
[data-theme=dark] :is(.button-primary,.button-dark){background:#4771ee;color:#fff}
[data-theme=dark] :is(.button-primary,.button-dark):hover{background:#5a80f4}
[data-theme=dark] :is(.filter-grid>label,.price-filter legend,.city-field>label,.check-label,.check-options label,.edit-grid label,.description p,.card-facts,.card-price>span,.card-location,.sort-form select,.source-badge,.footer-brand){color:#a6b1c7}
[data-theme=dark] .deal-tabs{background:#101622}
[data-theme=dark] .deal-tabs span{color:#98a4ba}
[data-theme=dark] .deal-tabs input:checked+span{background:#2a354d;color:#b9cbff}
[data-theme=dark] :is(.filter-bottom,.card-bottom,.detail-sidebar dl>div){border-color:var(--line)}
[data-theme=dark] .price-filter input{background:transparent}
[data-theme=dark] .price-filter select{background:transparent}
[data-theme=dark] :is(.results-heading h2 span,.status-badge){background:#273147;color:#a6b6d5}
[data-theme=dark] .status-badge.published{background:#273d46;color:#acd4d5}
[data-theme=dark] .image-fallback{background:linear-gradient(135deg,#242f44,#1c2537);color:#536481}
[data-theme=dark] .image-tags span{background:#182133ed;color:#d9e3fa}
[data-theme=dark] .image-tags span+span{background:#29406ced;color:#c7d7ff}
[data-theme=dark] :is(.card-image,.gallery>a,.photo-placeholder){background:#242e42;color:#98a4ba}
[data-theme=dark] .property-card:hover{border-color:#4b5f83;box-shadow:0 10px 30px #0002}
[data-theme=dark] th{background:#151b27}
[data-theme=dark] .error{background:#3b242d;color:#ffb5b0}
[data-theme=dark] .messages p{background:#23354a;color:#c0d6ff}
[data-theme=dark] .live-dot{background:#8ba8ff;box-shadow:0 0 0 4px #25314b}
[data-theme=dark] .building{background:#1c2638;border-color:#50617d}
[data-theme=dark] .building i{background:#32435e;border-color:#556789}
[data-theme=dark] .art-sun{background:#2a3854}
[data-theme=dark] .import-panel input[type=file]{background:#141b28}
[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#8794aa;opacity:1}
@media(max-width:760px){.city-field>label{font-size:12px}.header-actions{gap:12px}}
@media(max-width:480px){.header-inner{gap:10px}.header-actions{gap:10px}.theme-toggle{width:31px;height:31px;padding:6px}.languages{gap:5px}.city-field>label{font-size:11px}.city-trigger{font-size:12px;padding-left:9px}.city-popup{left:auto;right:0;width:310px}}
.account-link{display:inline-flex;align-items:center;gap:8px;color:var(--ink);border-radius:8px;padding:7px 5px;max-width:160px}.account-link svg{width:20px;height:20px;flex-shrink:0}.account-link .user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-link:hover,.account-link.selected{color:var(--accent)}.account-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.account-page{max-width:960px;min-height:calc(100vh - 210px);padding-top:52px;padding-bottom:56px}.account-heading{margin-bottom:30px}.account-heading h1{font-size:36px;letter-spacing:-1px;margin:12px 0}.account-heading p{font-size:15px}.account-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.account-profile,.account-saved{padding:32px;min-width:0}.account-identity{display:flex;align-items:center;gap:18px;min-width:0}.account-identity>div:last-child{min-width:0}.account-identity h2{font-size:24px;margin:8px 0 0;overflow-wrap:anywhere}.account-identity .eyebrow{margin:0;font-size:10px}.account-avatar{width:64px;height:64px;display:grid;place-items:center;flex-shrink:0;background:var(--accent);color:var(--surface);font-size:28px;border-radius:20px}.account-details{margin:28px 0}.account-details>div{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.account-details dt{color:var(--muted);font-size:13px}.account-details dd{margin:0;font-size:14px;font-weight:600;white-space:nowrap}.account-saved{display:flex;flex-direction:column;align-items:flex-start}.account-saved-heading{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:22px}.account-heart{display:grid;place-items:center;width:46px;height:46px;background:var(--bg);border:1px solid var(--line);border-radius:14px;color:var(--accent)}.account-heart svg{width:24px;height:24px}.account-total{font-size:36px;font-weight:600;letter-spacing:-1px}.account-saved h2{font-size:22px;margin:0 0 10px}.account-saved p{font-size:14px;line-height:1.65;margin:0 0 25px}.account-saved .button{margin-top:auto}.account-back{display:inline-block;margin-top:28px;color:var(--muted);font-size:13px}
@media(max-width:700px){.account-page{padding-top:30px}.account-heading h1{font-size:29px}.account-grid{grid-template-columns:1fr;gap:16px}.account-profile,.account-saved{padding:24px}.account-details>div{flex-wrap:wrap;gap:8px}.account-link{max-width:110px}}
.account-listings{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:26px 32px}.account-listings .account-heart{flex-shrink:0}.account-listings h2{font-size:20px;margin:0}.account-coming-soon{margin-left:auto;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--bg);font-size:12px;line-height:1.5}@media(max-width:700px){.account-listings{padding:24px;flex-wrap:wrap;gap:14px}.account-listings h2{font-size:18px}.account-coming-soon{margin-left:0}}
.catalog-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.hero-copy{min-width:0}.exchange-rate{display:inline-flex;align-items:center;gap:12px;padding:10px 15px 10px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);white-space:nowrap;text-decoration:none;flex-shrink:0;line-height:1.3}.catalog-hero>.exchange-rate{margin-top:5px}.exchange-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--bg);color:var(--accent);font-size:20px;font-weight:600}.exchange-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.exchange-value small{font-size:12px;font-weight:400;color:var(--muted);margin-left:3px;letter-spacing:0}.exchange-rate:hover{border-color:var(--accent)}.exchange-rate:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.exchange-stale{width:6px;height:6px;background:#d4a455;border-radius:50%}.detail-sidebar>.exchange-rate{margin-top:20px}@media(max-width:900px){.catalog-hero{gap:20px;flex-wrap:wrap}.catalog-hero>.exchange-rate{margin:0}.exchange-rate{padding:8px 12px 8px 8px;gap:10px}.exchange-symbol{width:28px;height:28px;font-size:18px}.exchange-value{font-size:14px}}
.detail-aside{min-width:0}.detail-aside>.detail-sidebar{position:static}.listing-map{margin-top:20px;padding:20px;overflow:hidden}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-heading h2{font-size:17px;margin:0}.map-heading a{font-size:11px;color:var(--accent);white-space:nowrap}.map-location{font-size:12px;color:var(--muted);margin:12px 0}.listing-map iframe{display:block;width:100%;height:190px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.map-hint{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0 0}.infinite-controls{text-align:center;padding:28px 0 12px}.infinite-controls[hidden]{display:none}.infinite-controls p{color:var(--muted);font-size:13px;min-height:20px;margin:0 0 12px}.infinite-controls p:empty{display:none}.infinite-controls button:disabled{opacity:.55;cursor:wait}[data-infinite-sentinel]{height:1px}[data-pagination-fallback][hidden]{display:none}.results-heading{margin-bottom:24px}@media(max-width:760px){.detail-aside{grid-row:1}.listing-map iframe{height:180px}}
.market-page{padding-top:44px;padding-bottom:48px;min-height:calc(100vh - 200px)}.market-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.market-heading h1{font-size:36px;letter-spacing:-1px;margin:12px 0}.market-heading p{font-size:14px;max-width:620px;line-height:1.7}.market-count{white-space:nowrap;color:var(--muted);font-size:13px;border:1px solid var(--line);border-radius:10px;padding:10px 14px}.map-filters{display:flex;align-items:flex-end;gap:16px;padding:20px;margin-bottom:24px}.map-filters label{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0;font-size:12px;color:var(--muted)}.map-filters select{width:100%;margin:0}.market-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;align-items:start}.market-map-panel{overflow:hidden;padding:0}.market-map-panel iframe{display:block;border:0;width:100%;height:530px;background:var(--bg)}.market-map-caption{display:flex;justify-content:space-between;padding:16px 20px;font-size:13px;gap:16px}.market-map-caption a{color:var(--accent)}.market-areas{padding:22px;max-height:585px;display:flex;flex-direction:column}.market-area-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:12px}.market-area-heading h2{font-size:18px;margin:0}.market-area-heading>span{font-size:12px;color:var(--muted)}.market-area-list{overflow:auto}.market-area{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 3px;border-top:1px solid var(--line);font-size:14px;color:var(--ink)}.market-area strong{font-size:13px;font-weight:500;display:block;line-height:1.6}.market-area small{font-size:11px;color:var(--muted)}.market-area>div small{display:block;margin-top:4px}.market-area>span{white-space:nowrap;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.market-area>span>span{color:var(--muted);margin-left:6px}.market-area:hover strong,.market-area:hover>span>span{color:var(--accent)}.market-empty{padding:30px 0}.market-empty h3{font-size:17px}.market-empty p{font-size:13px;line-height:1.6}.about-page{min-height:calc(100vh - 200px);display:grid;place-items:center;padding-top:50px;padding-bottom:50px}.about-card{max-width:560px;width:100%;padding:48px;text-align:center}.about-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--accent);color:var(--surface);font-size:36px;font-weight:600;margin:0 auto 26px;position:relative}.about-mark>span{position:absolute;right:12px;top:3px;font-size:20px}.about-card h1{font-size:36px;letter-spacing:-1px;margin:14px 0 24px}.about-card .account-coming-soon{display:inline-block;margin:0}.about-card p{font-size:14px;line-height:1.8;margin:24px 0 30px}@media(max-width:900px){.market-layout{grid-template-columns:1fr}.market-map-panel iframe{height:360px}.market-areas{max-height:none}.map-filters{flex-wrap:wrap}.map-filters label{flex-basis:25%}.market-heading h1{font-size:30px}}@media(max-width:600px){.market-page{padding-top:28px}.market-heading{align-items:flex-start;flex-direction:column;gap:6px}.market-heading h1{font-size:27px}.map-filters{padding:16px;gap:14px}.map-filters label{flex-basis:100%}.map-filters .button{width:100%}.market-map-panel iframe{height:300px}.about-card{padding:32px 24px}}@media(max-width:480px){.site-header{height:auto}.header-inner{flex-wrap:wrap;min-height:76px;padding-top:10px;row-gap:0}.main-nav{display:flex;order:3;width:100%;height:42px;gap:24px;overflow-x:auto}.main-nav a{flex-shrink:0}.header-actions{margin-left:auto}}
.market-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--surface)}.market-map-toolbar label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.market-map-toolbar input{width:14px;height:14px;margin:0;accent-color:var(--accent)}.market-map-toolbar label>span{font-variant-numeric:tabular-nums}.map-reset{font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink);cursor:pointer}.interactive-market-map{height:520px;width:100%;z-index:0;background:#e5eaf0}.market-map-panel [hidden]{display:none!important}.interactive-market-map .leaflet-tile-pane{filter:grayscale(.5) saturate(.7)}.interactive-market-map .leaflet-control-zoom{border:1px solid #d7dfed;box-shadow:0 4px 18px #24365b18;overflow:hidden;border-radius:10px}.interactive-market-map .leaflet-control-attribution{font-size:10px}.area-price-icon{background:none;border:0}.area-price-bubble{padding:7px 9px;background:#fff;color:#234db6;box-shadow:0 2px 12px #20345c2b;border:1px solid #c5d4ef;border-radius:20px;font-size:10px;line-height:1.3;font-weight:650;white-space:nowrap;text-align:center;transition:transform .15s}.area-price-bubble:hover{transform:translateY(-2px);border-color:#416ed5}.map-selection{padding:20px;border-top:1px solid var(--line);background:var(--surface)}.map-selection>strong{font-size:18px;display:block}.map-selection>p{font-size:14px;line-height:1.6;margin:10px 0}.map-selection>small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.map-selection>a{margin-top:16px}.map-usage-hint,.map-coverage-note,.map-data-source{padding:0 20px;font-size:11px;line-height:1.7;color:var(--muted)}.map-usage-hint{margin:0 0 12px}.map-coverage-note:empty{display:none}.map-data-source{font-size:10px;margin:12px 0 16px}.map-data-source a{color:var(--muted);text-decoration:underline}.market-area.selected{background:var(--bg);border-radius:9px;padding-left:10px;padding-right:10px}.market-area.selected strong{color:var(--accent)}.map-points-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:22px}.map-object-popup>strong{display:block;max-width:220px;font-size:13px;line-height:1.5}.map-object-popup>p{margin:10px 0}.map-object-popup>a{font-size:12px}[data-theme=dark] .interactive-market-map .leaflet-tile-pane{filter:brightness(.78) grayscale(.55) saturate(.65)}@media(max-width:600px){.interactive-market-map{height:380px}.market-map-toolbar{flex-wrap:wrap;padding:12px}.market-map-toolbar label{font-size:11px}.area-price-bubble{font-size:9px;padding:6px}.map-selection{padding:16px}}
