.property-map-page { overflow:hidden; background:#eef0ed; }
.property-map-shell { display:grid; height:calc(100vh - 82px); grid-template-columns:400px 1fr; }
.map-list-panel { position:relative; z-index:5; display:flex; min-width:0; overflow:hidden; border-right:1px solid #dfe1df; background:#fff; box-shadow:9px 0 30px rgba(24,34,46,.08); flex-direction:column; }
.map-list-header { padding:27px 25px 18px; border-bottom:1px solid #e6e6e3; }
.map-list-header>p { margin:0; color:#b48a48; font-size:8px; font-weight:800; letter-spacing:.17em; }
.map-list-header h1 { margin:7px 0 17px; color:#13213b; font-size:25px; letter-spacing:-.045em; }
#property-map-search { display:grid; height:47px; overflow:hidden; border:1px solid #dadbdd; border-radius:9px; grid-template-columns:1fr 48px; }
#property-map-search input { min-width:0; padding:0 14px; border:0; outline:0; font-size:11px; }
#property-map-search button { color:#fff; border:0; background:#13213b; font-size:20px; }
.map-filter-row { display:flex; gap:6px; margin-top:12px; overflow:auto; scrollbar-width:none; }
.map-filter-row button { flex:none; min-height:30px; padding:0 10px; color:#737a84; border:1px solid #dedfdf; border-radius:999px; background:#fff; font-size:8px; font-weight:700; }
.map-filter-row button.active { color:#fff; border-color:#b48a48; background:#b48a48; }
.map-result-title { display:flex; padding:15px 22px 11px; align-items:center; justify-content:space-between; }
.map-result-title strong { color:#13213b; font-size:12px; }.map-result-title small { color:#9a9fa5; font-size:8px; }
.map-mini-list { padding:0 12px 90px; overflow-y:auto; }
.map-mini-list article { position:relative; display:grid; min-height:108px; margin-bottom:7px; padding:8px; border:1px solid #e2e3e4; border-radius:11px; background:#fff; grid-template-columns:1fr 30px; align-items:center; transition:.2s ease; }
.map-mini-list article:hover { border-color:#c6ad83; box-shadow:0 7px 18px rgba(29,38,51,.08); }
.map-mini-list article[hidden] { display:none; }
.map-mini-list article>button { display:grid; min-width:0; padding:0; border:0; background:transparent; grid-template-columns:107px 1fr; align-items:center; gap:12px; text-align:left; }
.map-mini-list img { height:88px; border-radius:8px; object-fit:cover; }
.map-mini-list article span { display:flex; min-width:0; flex-direction:column; }
.map-mini-list small { color:#90959c; font-size:7px; }.map-mini-list strong { margin:5px 0 4px; overflow:hidden; color:#18243a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.map-mini-list b { color:#13213b; font-size:12px; }.map-mini-list em { margin-top:3px; color:#737a84; font-size:8px; font-style:normal; }
.map-mini-list article>a { display:grid; width:27px; height:27px; color:#fff; border-radius:50%; background:#13213b; place-items:center; font-size:10px; }
.map-canvas-wrap { position:relative; min-width:0; height:100%; }
#cs-property-map { position:absolute; inset:0; background:#dfe3df; }
.map-district-chips { position:absolute; z-index:10; top:19px; left:20px; display:flex; max-width:calc(100% - 40px); gap:7px; overflow:auto; scrollbar-width:none; }
.map-district-chips button { flex:none; min-height:35px; padding:0 12px; color:#5e6671; border:1px solid #dcdfdc; border-radius:999px; background:rgba(255,255,255,.96); box-shadow:0 5px 14px rgba(26,39,49,.1); font-size:9px; font-weight:800; backdrop-filter:blur(8px); }
.map-district-chips button b { margin-left:3px; color:#a0a4aa; font-size:8px; }.map-district-chips button.active { color:#fff; border-color:#13213b; background:#13213b; }.map-district-chips button.active b { color:#d4b980; }
.custom-price-marker { position:relative; display:flex; min-width:72px; min-height:45px; padding:6px 10px 7px; color:#fff; border:2px solid #fff; border-radius:11px; background:#13213b; box-shadow:0 7px 18px rgba(17,30,47,.28); align-items:center; flex-direction:column; }
.custom-price-marker::after { position:absolute; bottom:-7px; width:11px; height:11px; border-right:2px solid #fff; border-bottom:2px solid #fff; background:#13213b; content:""; transform:rotate(45deg); }
.custom-price-marker small { position:relative; z-index:1; color:#d8bd8a; font-size:7px; }.custom-price-marker strong { position:relative; z-index:1; margin-top:1px; font-size:9px; white-space:nowrap; }
.map-loading { position:absolute; z-index:12; inset:0; display:flex; color:#6e7680; background:rgba(232,234,231,.92); align-items:center; justify-content:center; flex-direction:column; gap:12px; backdrop-filter:blur(2px); }
.map-loading[hidden] { display:none; }
.map-loading__mark { position:relative; width:64px; height:64px; display:grid; place-items:center; }
.map-loading__mark img { width:48px; height:48px; object-fit:contain; border-radius:14px; }
.map-loading__ring { position:absolute; inset:0; border-radius:50%; border:2px solid rgba(197,160,89,.22); border-top-color:#c5a059; animation:map-loading-spin .9s linear infinite; }
.map-loading__bar { width:120px; height:3px; border-radius:999px; background:rgba(19,33,59,.08); overflow:hidden; }
.map-loading__bar span { display:block; height:100%; width:40%; border-radius:inherit; background:linear-gradient(90deg,#9a7a3a,#e0c078,#c5a059); animation:map-loading-bar 1.1s ease-in-out infinite; }
.map-loading p { margin:0; font-size:11px; letter-spacing:.02em; }
@keyframes map-loading-spin { to { transform:rotate(360deg); } }
@keyframes map-loading-bar { 0% { transform:translateX(-120%); } 100% { transform:translateX(280%); } }
.map-selected-card { position:absolute; z-index:11; right:22px; bottom:22px; display:grid; width:min(420px,calc(100% - 44px)); min-height:116px; padding:11px; border-radius:15px; background:rgba(255,255,255,.97); box-shadow:0 17px 38px rgba(21,32,45,.2); grid-template-columns:124px 1fr auto; align-items:center; gap:13px; backdrop-filter:blur(12px); }
.map-selected-card[hidden] { display:none; }.map-selected-card img { height:94px; border-radius:10px; object-fit:cover; }.map-selected-card>div { display:flex; min-width:0; flex-direction:column; }.map-selected-card small { color:#8d939b; font-size:7px; }.map-selected-card strong { margin:5px 0 3px; overflow:hidden; color:#13213b; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.map-selected-card b { color:#13213b; font-size:13px; }.map-selected-card span { margin-top:3px; color:#727985; font-size:8px; }.map-selected-card>a { display:grid; min-height:39px; padding:0 11px; color:#fff; border-radius:8px; background:#b48a48; place-items:center; font-size:8px; font-weight:800; }

@media (max-width:760px) {
  .property-map-page { overflow:auto; padding-bottom:70px; }.property-map-shell { display:block; height:calc(100vh - 136px); }.map-list-panel { position:absolute; z-index:20; right:0; bottom:0; left:0; height:38%; overflow:visible; border:0; border-radius:20px 20px 0 0; box-shadow:0 -12px 30px rgba(24,34,46,.13); }.map-list-panel::before { position:absolute; top:8px; left:50%; width:42px; height:4px; border-radius:999px; background:#d4d5d6; content:""; transform:translateX(-50%); }.map-list-header { padding:20px 16px 10px; }.map-list-header>p,.map-list-header h1 { display:none; }#property-map-search { height:42px; }.map-filter-row { margin-top:8px; }.map-result-title { padding:9px 16px 7px; }.map-mini-list { display:flex; padding:0 12px 16px; overflow-x:auto; overflow-y:hidden; }.map-mini-list article { flex:0 0 310px; margin:0 8px 0 0; min-height:94px; }.map-mini-list article>button { grid-template-columns:94px 1fr; }.map-mini-list img { height:76px; }.map-canvas-wrap { height:64%; }.map-district-chips { top:12px; left:12px; max-width:calc(100% - 24px); }.map-selected-card { display:none!important; }
}
