.map-layout{flex:1;grid-template-columns:380px 1fr;height:calc(100vh - 80px);margin-top:80px;display:grid;overflow:hidden}.map-sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow:hidden}.map-sidebar-header{border-bottom:1px solid var(--border);padding:20px 24px}.map-sidebar-filters{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.map-filter-pill{border:1px solid var(--border);color:var(--muted);cursor:pointer;font-size:11px;font-family:var(--sans);background:0 0;padding:6px 14px;transition:all .2s}.map-filter-pill.on{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}.map-filter-pill:hover:not(.on){border-color:var(--border-h)}.map-results{flex:1;padding:0;overflow-y:auto}.map-result-card{border-bottom:1px solid var(--border);cursor:pointer;gap:14px;padding:16px 24px;transition:background .2s;display:flex}.map-result-card:hover,.map-result-card.active{background:var(--gold-soft)}.map-result-img{background:var(--bg-elevated);opacity:.6;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:90px;font-size:24px;display:flex}.map-result-brand{color:var(--gold);letter-spacing:.05em;text-transform:uppercase;font-size:10px}.map-result-name{color:var(--white);margin:2px 0;font-size:13px;font-weight:600}.map-result-price{font-family:var(--serif);color:var(--gold);font-size:15px;font-weight:600}.map-result-price span{color:var(--muted);font-size:10px;font-family:var(--sans);font-weight:400}.map-result-dist{color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:10px;display:inline-flex}.map-count{color:var(--muted);border-bottom:1px solid var(--border);padding:12px 24px;font-size:12px}.map-area{background:var(--bg-primary);position:relative;overflow:hidden}.map-canvas{width:100%;height:100%;position:relative}.map-grid-bg{opacity:.04;background-image:linear-gradient(var(--gold) 1px, transparent 1px), linear-gradient(90deg, var(--gold) 1px, transparent 1px);background-size:60px 60px;position:absolute;inset:0}.map-roads{position:absolute;inset:0}.map-road{background:#c8a96e0f;position:absolute}.map-road.h{height:2px;left:0;right:0}.map-road.v{width:2px;top:0;bottom:0}.map-label{color:#c8a96e26;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:600;position:absolute}.map-pin{cursor:pointer;z-index:5;transition:all .2s;position:absolute;transform:translate(-50%,-100%)}.map-pin:hover{z-index:10;transform:translate(-50%,-100%)scale(1.2)}.map-pin.highlighted{z-index:10;transform:translate(-50%,-100%)scale(1.3)}.map-pin-dot{background:var(--gold);border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;transform:rotate(-45deg);box-shadow:0 4px 16px #c8a96e4d}.map-pin-dot span{color:var(--bg);font-size:11px;font-weight:700;transform:rotate(45deg)}.map-pin-label{color:var(--gold);text-align:center;white-space:nowrap;text-shadow:0 1px 4px #000c;margin-top:6px;font-size:10px;font-weight:600}.map-pin.you .map-pin-dot{background:var(--white);box-shadow:0 0 20px #fff3}.map-pin.you .map-pin-dot span{color:var(--bg)}.map-radius{border:1px dashed #c8a96e26;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.map-controls{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:20px;right:20px}.map-ctrl{background:var(--card);border:1px solid var(--border);width:36px;height:36px;color:var(--ivory);cursor:pointer;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.map-ctrl:hover{border-color:var(--gold);color:var(--gold)}.map-popup{background:var(--card);border:1px solid var(--gold);z-index:20;width:240px;margin-top:-50px;padding:16px;display:none;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 32px #00000080}.map-popup.show{display:block}.map-popup-name{color:var(--white);margin-bottom:2px;font-size:14px;font-weight:600}.map-popup-brand{color:var(--gold);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:10px}.map-popup-price{font-family:var(--serif);color:var(--gold);margin-bottom:8px;font-size:18px;font-weight:600}.map-toggle{background:var(--card);border:1px solid var(--border);display:flex;position:absolute;top:20px;right:20px}.map-toggle-btn{color:var(--muted);cursor:pointer;font-size:11px;font-family:var(--sans);padding:8px 16px;font-weight:500;transition:all .2s}.map-toggle-btn.on{background:var(--gold);color:var(--bg)}
