/* /map with real tiles (js/site/ads-map.js). Tile and control styles come from location-view.css (.lv-*). */
.ads-map{position:relative;height:clamp(360px,62vh,640px);border-radius:18px;overflow:hidden;background:#e8eef0}
.ads-map .lv-map{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none}
.ads-map .lv-map.is-dragging{cursor:grabbing}
.ads-map-pins{position:absolute;inset:0;pointer-events:none}
.ads-map-pin{position:absolute;left:0;top:0;width:0;height:0;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer}
.ads-map-pin>span{position:absolute;left:-12px;top:-30px;width:24px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--pin-color,#087bff);border:3px solid #fff;box-shadow:0 3px 8px #1d3a6040}
.ads-map-pin.is-approximate>span{left:calc(var(--area,40px) / -2);top:calc(var(--area,40px) / -2);width:var(--area,40px);height:var(--area,40px);border-radius:50%;transform:none;border:2px solid var(--pin-color,#087bff);background:color-mix(in srgb,var(--pin-color,#087bff) 22%,transparent);box-shadow:none}
.ads-map-pin:focus-visible>span{outline:3px solid var(--accent-strong);outline-offset:2px}
.ads-map-popup{position:absolute;left:0;top:0;z-index:5;pointer-events:auto}
.ads-map-popup>a{position:absolute;bottom:38px;left:-110px;width:220px;display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--surface);color:var(--text-main);box-shadow:0 8px 24px #1d3a6033;text-decoration:none;direction:rtl;text-align:right;font-size:12px}
.ads-map-popup strong{font-size:13px;line-height:1.8}
.ads-map-popup small{color:var(--text-muted)}
.map-result-cards{display:grid;gap:12px;max-height:min(62vh,640px);overflow:auto}
.map-results .empty-state{grid-column:1/-1}
