/* Map screen redesign (31 Oct 2026). Loaded after app.css; overrides the old circular radar map. */
#view-map{display:flex;flex-direction:column;height:var(--ld-map-h,calc(100dvh - var(--header-h) - var(--tab-h)));overflow:hidden;padding:0!important}
#view-map[hidden]{display:none}
#view-map .chips-bar--map{position:relative;top:auto;flex:0 0 auto}
#view-map .map-container{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;margin:0!important;padding:0!important;max-width:none!important}
#view-map .map-wrap{position:relative;flex:1 1 auto;min-height:0;width:100%!important;aspect-ratio:auto!important;border-radius:0!important;box-shadow:none!important;margin:0!important;max-width:none!important;overflow:hidden}
#view-map .map-wrap::before,#view-map .map-wrap::after{display:none!important}
#view-map .map-wrap #map{position:absolute;inset:0;width:100%;height:100%;border-radius:0!important;filter:none!important}
#view-map .radar-grid,#view-map .map-radar,#view-map #streetViewPanel,#view-map .streetview-btn,#view-map #mapBadgeOutside,#view-map #nearbyDropsList{display:none!important}
#view-map .map-badge{position:absolute;top:10px;left:10px;right:auto;bottom:auto;z-index:500;transform:none;max-width:calc(100% - 76px);
  background:var(--surface,#1b1530);color:var(--text,#fff);border:1px solid var(--border,rgba(255,255,255,.12));border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.25);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leaflet-container{background:var(--surface-2,#e5e7eb);font-family:inherit}
.leaflet-top.leaflet-right{top:4px;right:4px}
.leaflet-control-zoom a,.ldmap-btn{width:40px!important;height:40px!important;line-height:40px!important;font-size:20px!important}
.ldmap-btn{display:flex;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,.2);border-radius:8px;background:#fff;color:#111;cursor:pointer;padding:0;clear:both;background-clip:padding-box}
.ldmap-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
[data-theme="dark"] .leaflet-control-zoom a,[data-theme="dark"] .ldmap-btn{background:#1f1b2e;color:#f4f4f5;border-color:rgba(255,255,255,.18)}
[data-theme="dark"] .leaflet-bar{border-color:rgba(255,255,255,.18)}
.leaflet-control-attribution{font-size:10px;max-width:calc(100vw - 16px);white-space:normal}
[data-theme="dark"] .leaflet-control-attribution{background:rgba(20,18,30,.75)!important;color:#cbd5e1}
[data-theme="dark"] .leaflet-control-attribution a{color:#93c5fd}
/* pins */
.ldpin{background:none;border:0}
.ldpin__b{position:absolute;left:3px;top:0;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}
.ldpin__i{transform:rotate(45deg);font-size:14px;line-height:1}
/* clusters */
.ldcl{background:none}
.ldcl span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;border-radius:50%;background:#7c3aed;color:#fff;font-weight:800;font-size:13px;border:3px solid rgba(255,255,255,.9);box-shadow:0 0 0 5px rgba(124,58,237,.28),0 2px 8px rgba(0,0,0,.3)}
/* legend */
.ldlegend{position:absolute;left:10px;bottom:22px;z-index:600;max-width:min(300px,calc(100% - 20px));background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:14px;box-shadow:0 4px 18px rgba(0,0,0,.25);font-size:13px;overflow:hidden}
.ldlegend__head{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;background:none;border:0;color:inherit;font:inherit;font-weight:700;cursor:pointer;min-height:40px}
.ldlegend.is-open .ldlegend__chev{transform:rotate(180deg)}
.ldlegend__list{max-height:min(46vh,340px);overflow-y:auto;padding:0 6px 8px;display:flex;flex-direction:column;gap:2px}
.ldlegend__item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border-radius:9px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;min-height:36px}
.ldlegend__item small{margin-left:auto;opacity:.65;font-weight:600}
.ldlegend__item.is-on{background:rgba(251,191,36,.22);font-weight:700}
.ldlegend__dot{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--c);display:flex;align-items:center;justify-content:center;font-size:13px;color:#fff;border:2px solid #fff}
/* bottom card */
.ldcard{position:absolute;left:8px;right:8px;bottom:8px;z-index:700;display:flex;gap:12px;background:var(--surface,#fff);color:var(--text,#111);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.35);padding:10px;max-width:520px;margin:0 auto}
.ldcard[hidden]{display:none}
.ldcard__img{flex:0 0 96px;width:96px;height:96px;object-fit:cover;border-radius:12px}
.ldcard__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:26px}
.ldcard--text .ldcard__body{padding-left:4px}
.ldcard__cat{align-self:flex-start;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 22%,transparent);border:1px solid var(--c)}
.ldcard__title{margin:0;font-size:15.5px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ldcard__meta{margin:0;font-size:12.5px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ldcard__deal{margin:0;font-size:13px;color:var(--accent,#d97706)}
.ldcard__go{align-self:flex-start;margin-top:2px}
.ldcard__x{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(127,127,127,.18);color:inherit;font-size:14px;cursor:pointer}
.ldmap-toast{position:absolute;left:10px;right:60px;top:48px;z-index:800;background:#111827;color:#fff;border-radius:10px;padding:8px 12px;font-size:13px}
.ldmap-toast[hidden]{display:none}
/* clean dark tiles: invert + hue-rotate the OSM tile layer only (pins, card and controls untouched) */
[data-theme="dark"] #view-map .ld-osm-fb .leaflet-tile-pane,[data-theme="dark"] #view-map .leaflet-container:not(.ld-carto) .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.55)}
[data-theme="dark"] #view-map .leaflet-container{background:#1b1d22}
#view-map{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:0!important}
