.listing-map-page{background:#f8f4f0;color:var(--ink)}
.listing-map-page .masthead{position:relative}
.listing-map-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr);align-items:end;gap:72px;padding-top:44px;padding-bottom:36px}
.listing-map-intro .breadcrumb{display:flex;align-items:center;gap:9px;margin-bottom:30px;color:var(--muted);font-size:.8125rem}
.listing-map-intro .breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.listing-map-intro h1{font-size:clamp(2.7rem,4.1vw,4.3rem);line-height:1.28}
.listing-map-intro h1 span{color:var(--crimson)}
.listing-map-copy>p{color:var(--muted);font-size:1rem;line-height:1.9}
.listing-language{display:flex;gap:7px;margin-top:22px}
.listing-language button{min-height:40px;padding:8px 15px;border:1px solid #d7cbc4;border-radius:999px;background:#fff;color:var(--muted);font-size:.875rem;font-weight:650}
.listing-language button[aria-pressed=true]{border-color:var(--crimson);background:var(--crimson);color:#fff}
.listing-filter-bar{position:sticky;top:0;z-index:25;border-block:1px solid #dbd1ca;background:rgba(255,253,251,.98);box-shadow:0 10px 22px rgba(65,35,31,.05)}
.listing-filters{display:flex;align-items:end;gap:12px;min-height:84px;padding-block:12px;overflow-x:auto}
.listing-filters>label{display:grid;gap:5px;min-width:145px;color:#675c57;font-size:.75rem;font-weight:700;white-space:nowrap}
.listing-filters select{min-width:145px;height:42px;padding:0 34px 0 12px;border:1px solid #d9cdc5;border-radius:7px;background:#fff;color:#2c2522;font-size:.875rem}
.listing-filters .listing-check{display:flex;align-items:center;gap:8px;min-width:max-content;height:42px;padding:0 12px;border:1px solid #d9cdc5;border-radius:7px;background:#fff;font-size:.8125rem}
.listing-check input{accent-color:var(--crimson);width:17px;height:17px}
.filter-reset{min-width:max-content;height:42px;padding:0 14px;border:0;background:transparent;color:var(--crimson);font-size:.8125rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.listing-workspace{display:grid;grid-template-columns:minmax(360px,38%) minmax(0,62%);height:min(760px,calc(100vh - 84px));min-height:610px;border-bottom:1px solid #d8cec7;background:#fff}
.listing-list-pane{min-width:0;display:flex;flex-direction:column;border-right:1px solid #d8cec7;background:#fbf8f5}
.listing-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px;padding:13px 22px;border-bottom:1px solid #e3dad4;background:#fff}
.listing-list-heading>div{display:grid;gap:2px}.listing-list-heading strong{font-size:1rem}.listing-list-heading span{color:var(--muted);font-size:.75rem}
.listing-list-heading button{display:none;padding:8px 12px;border:1px solid #d2c4bb;border-radius:999px;background:#fff;color:var(--crimson);font-size:.8125rem;font-weight:750}
.listing-list{display:grid;align-content:start;gap:12px;padding:18px;overflow-y:auto;overscroll-behavior:contain}
.listing-loading,.listing-empty{display:grid;place-items:center;min-height:360px;padding:40px 28px;border:1px dashed #d7cac2;border-radius:12px;background:#fff;text-align:center;color:var(--muted);line-height:1.8}
.listing-empty div{max-width:330px}.listing-empty strong{display:block;color:var(--ink);font-size:1.25rem;margin-bottom:9px}.listing-empty a{display:inline-flex;margin-top:20px;padding:11px 18px;border-radius:4px;background:var(--crimson);color:#fff;font-weight:750}
.listing-card{display:grid;grid-template-columns:148px minmax(0,1fr);gap:17px;width:100%;padding:0;border:1px solid #ddd2cb;border-radius:11px;background:#fff;text-align:left;overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}
.listing-card:hover,.listing-card:focus-visible,.listing-card.is-selected{border-color:#a4445b;box-shadow:0 12px 28px rgba(72,17,35,.1);transform:translateY(-2px)}
.listing-card-media{position:relative;min-height:156px;background:linear-gradient(145deg,#eee2da,#d9c5b9)}
.listing-card-media img{width:100%;height:100%;object-fit:cover}
.listing-card-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#715f55;font-size:.8125rem;font-weight:750;text-align:center}
.listing-card-badges{position:absolute;left:8px;top:8px;display:flex;flex-wrap:wrap;gap:5px}
.listing-media-badge{padding:4px 7px;border-radius:999px;background:rgba(39,30,27,.84);color:#fff;font-size:.6875rem;font-weight:750;backdrop-filter:blur(6px)}
.listing-card-copy{min-width:0;padding:15px 15px 14px 0}
.listing-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.75rem}
.listing-status{display:inline-flex;align-items:center;gap:6px;font-weight:750}.listing-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#25805f}.listing-status[data-status=upcoming]::before{background:#c67828}.listing-status[data-status=reserved]::before{background:#746a65}
.listing-card h2{margin-top:7px;font-family:inherit;font-size:1rem;line-height:1.5;font-weight:800;letter-spacing:-.025em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.listing-price{display:flex;align-items:baseline;gap:7px;margin-top:9px}.listing-price strong{color:var(--crimson);font-size:1.08rem}.listing-price span{color:var(--muted);font-size:.75rem}
.listing-card-meta{display:flex;flex-wrap:wrap;gap:5px 11px;margin-top:8px;color:#756963;font-size:.75rem;line-height:1.55}
.listing-map-pane{position:relative;min-width:0;background:#e6e0db}
#sora-listing-map{position:absolute;inset:0;z-index:1}
.listing-map-legend{position:absolute;z-index:4;left:18px;bottom:18px;display:flex;flex-wrap:wrap;gap:10px 15px;padding:9px 12px;border:1px solid rgba(87,68,57,.15);border-radius:7px;background:rgba(255,255,255,.93);box-shadow:0 7px 20px rgba(38,28,23,.14);color:#625650;font-size:.75rem}
.listing-map-legend span{display:flex;align-items:center;gap:6px}.legend-pin{width:8px;height:8px;border-radius:50%;background:#25805f}.legend-pin.is-upcoming{background:#c67828}.legend-pin.is-reserved{background:#746a65}
.leaflet-container{font-family:inherit;background:#e7e2de}
.sora-price-marker{position:relative;transform:translate(-50%,-50%)}
.sora-price-marker button{display:block;min-width:72px;min-height:38px;padding:8px 12px;border:2px solid #fff;border-radius:999px;background:#831d36;color:#fff;box-shadow:0 6px 18px rgba(50,20,26,.28);font-size:.8125rem;font-weight:850;white-space:nowrap}
.sora-price-marker button[data-status=upcoming]{background:#b86722}.sora-price-marker button[data-status=reserved]{background:#665e59}
.sora-price-marker button:hover,.sora-price-marker button:focus-visible{transform:scale(1.07);outline:3px solid #fff;outline-offset:2px}
.leaflet-control-zoom a{color:var(--crimson)!important}.leaflet-control-attribution{font-size:10px!important}
.listing-legal{display:grid;grid-template-columns:170px minmax(0,1fr);gap:35px;padding-top:28px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.listing-legal strong{color:var(--crimson)}.listing-legal p{color:var(--muted);font-size:.875rem;line-height:1.8}
.listing-sheet-backdrop{position:fixed;z-index:69;inset:0;background:rgba(22,15,14,.5);backdrop-filter:blur(3px)}
.listing-detail-sheet{position:fixed;z-index:70;top:0;right:0;width:min(620px,100%);height:100dvh;padding:0;border:0;background:#fff;box-shadow:-25px 0 60px rgba(31,16,13,.23);overflow-y:auto;overscroll-behavior:contain}
.listing-detail-close{position:sticky;z-index:4;top:14px;float:right;width:46px;height:46px;margin:14px;border:1px solid #d7cac3;border-radius:50%;background:rgba(255,255,255,.94);color:#3d312d;font-size:1.7rem;line-height:1;box-shadow:0 7px 20px rgba(0,0,0,.1)}
.listing-detail-hero{position:relative;aspect-ratio:16/10;clear:both;background:linear-gradient(145deg,#eee2da,#d7c1b4);overflow:hidden}
.listing-detail-hero img{width:100%;height:100%;object-fit:cover}.listing-detail-hero .listing-card-placeholder{font-size:1rem}
.listing-detail-gallery{position:relative;clear:both;background:#251f1d;overflow:hidden}
.listing-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.listing-gallery-track::-webkit-scrollbar{display:none}
.listing-gallery-slide{position:relative;flex:0 0 100%;aspect-ratio:16/10;margin:0;scroll-snap-align:start;background:#251f1d}
.listing-gallery-slide img{display:block;width:100%;height:100%;object-fit:cover}
.listing-gallery-slide figcaption{position:absolute;right:14px;bottom:14px;padding:5px 9px;border-radius:999px;background:rgba(28,22,20,.78);color:#fff;font-size:.75rem;font-weight:750}
.listing-gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(29,23,21,.72);color:#fff;font-size:1.85rem;line-height:1;transform:translateY(-50%);box-shadow:0 5px 18px rgba(0,0,0,.25)}
.listing-gallery-arrow.is-previous{left:13px}.listing-gallery-arrow.is-next{right:13px}.listing-gallery-arrow:hover,.listing-gallery-arrow:focus-visible{background:var(--crimson);outline:2px solid #fff;outline-offset:2px}
.listing-detail-body{padding:28px clamp(22px,5vw,42px) 48px}
.listing-detail-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}
.listing-detail-heading h2{font-family:inherit;font-size:clamp(1.45rem,3vw,2rem);font-weight:850;line-height:1.45;letter-spacing:-.035em}
.listing-detail-heading .listing-status{flex-shrink:0;margin-top:7px}
.listing-detail-price{display:flex;align-items:end;flex-wrap:wrap;gap:9px 15px;margin-top:18px;padding-bottom:22px;border-bottom:1px solid #e3dad4}.listing-detail-price strong{color:var(--crimson);font-size:1.55rem}.listing-detail-price span{color:var(--muted);font-size:.875rem}
.listing-detail-summary{margin-top:22px;color:#675b55;line-height:1.85;white-space:pre-line}
.listing-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:26px 0;border-block:1px solid #e4dbd5}
.listing-fact{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid #eee6e1;font-size:.875rem}.listing-fact:nth-last-child(-n+2){border-bottom:0}.listing-fact span{color:var(--muted)}.listing-fact strong{font-weight:700;overflow-wrap:anywhere}
.listing-section-title{margin:30px 0 13px;font-size:1.05rem;font-weight:850}
.listing-options{display:flex;flex-wrap:wrap;gap:8px}.listing-options span{padding:8px 11px;border:1px solid #dccfc7;border-radius:6px;background:#fbf7f3;font-size:.8125rem;font-weight:650}
.listing-media-block{margin-top:28px}.listing-media-block iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#171616}.listing-media-block.is-short iframe{aspect-ratio:9/16;max-height:680px}
.listing-panorama{position:relative;height:360px;border-radius:12px;overflow:hidden;background:#111;touch-action:none}.listing-panorama canvas,.listing-panorama .panorama-fallback{display:block;width:100%;height:100%;object-fit:cover}.listing-panorama .viewer-message{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:3;padding:10px 13px;border-radius:8px;background:rgba(0,0,0,.7);color:#fff;font-size:.8125rem}.listing-panorama .viewer-controls{position:absolute;z-index:4;right:10px;bottom:10px;display:flex;gap:6px}.listing-panorama .viewer-controls button{min-height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(20,20,20,.72);color:#fff;font-size:.75rem;font-weight:750}
.listing-verification{margin-top:28px;padding:17px;border-left:4px solid var(--crimson);background:#f6efeb;color:#655852;font-size:.8125rem;line-height:1.8}.listing-verification strong{display:block;color:var(--ink);font-size:.9rem}
.listing-contact-bar{position:sticky;z-index:3;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:34px -42px -48px;padding:13px 42px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #e0d5ce;background:rgba(255,255,255,.96)}
.listing-contact-bar a{display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--crimson);border-radius:5px;color:var(--crimson);font-weight:800}.listing-contact-bar a:first-child{background:var(--crimson);color:#fff}
body.has-listing-sheet{overflow:hidden}
@media(max-width:980px){
 .listing-map-intro{grid-template-columns:1fr;gap:20px;padding-top:32px}.listing-map-intro .breadcrumb{margin-bottom:20px}.listing-map-copy{max-width:680px}
 .listing-workspace{grid-template-columns:1fr;height:auto;min-height:0}.listing-map-pane{grid-row:1;height:52vh;min-height:410px}.listing-list-pane{grid-row:2;border-right:0}.listing-list-heading button{display:block}.listing-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.listing-card{grid-template-columns:128px minmax(0,1fr)}
 .listing-workspace.is-map-expanded .listing-map-pane{height:72vh}.listing-workspace.is-map-expanded .listing-list-pane{display:none}
}
@media(max-width:720px){
 .listing-map-page .topline{display:none}.listing-map-intro{width:calc(100% - 36px);padding-top:24px;padding-bottom:24px}.listing-map-intro h1{font-size:2.45rem}.listing-map-copy>p{font-size:.9375rem}
 .listing-filter-bar{top:0}.listing-filters{width:100%;padding-inline:18px}.listing-workspace{border-top:0}.listing-map-pane{height:46vh;min-height:340px}.listing-list{display:flex;gap:12px;padding:14px;overflow-x:auto;scroll-snap-type:x mandatory}.listing-card{grid-template-columns:118px minmax(0,1fr);min-width:min(88vw,430px);scroll-snap-align:start}.listing-card-media{min-height:150px}.listing-list-heading{padding-inline:16px}
 .listing-map-legend{right:12px;left:12px;bottom:10px;gap:7px 12px}.listing-legal{grid-template-columns:1fr;gap:7px;width:calc(100% - 36px);padding-block:24px}
 .listing-facts{grid-template-columns:1fr}.listing-fact:nth-last-child(2){border-bottom:1px solid #eee6e1}.listing-detail-body{padding-inline:20px}.listing-contact-bar{margin-right:-20px;margin-left:-20px;padding-right:20px;padding-left:20px}
}
@media(max-width:420px){.listing-card{grid-template-columns:108px minmax(0,1fr);min-width:92vw}.listing-card-copy{padding-right:11px}.listing-card h2{font-size:.9375rem}.listing-card-meta{gap:4px 8px}.listing-detail-heading{display:grid}.listing-contact-bar{grid-template-columns:1fr}.listing-media-block.is-short iframe{max-height:600px}.listing-panorama{height:310px}}
@media(prefers-reduced-motion:reduce){.listing-card,.sora-price-marker button{transition:none!important}}
