/* PROMISE MAPS v1.0 — dark intelligence layer, NOT Google Maps pasted in.
   Gold parcel outline · transparent-gold buildable envelope · muted overlays.
   Map must occupy meaningful space, never decorative. */
.p-map{ position:relative; border:1px solid var(--p-border); border-radius:var(--p-radius);
  overflow:hidden; min-height:380px; background:var(--p-bg-2); }
/* dark map style — desaturate + darken any base imagery/tiles */
.p-map .base,.p-map img.base,.p-map canvas{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; filter:saturate(.65) brightness(.8) contrast(1.02); }
.p-map .svgwrap{ position:absolute; inset:0; display:grid; place-items:center; }

/* layer toggles */
.p-map .toggles{ position:absolute; top:12px; left:12px; z-index:3; display:flex; flex-direction:column; gap:6px; }
.p-map .tg{ display:flex; align-items:center; gap:7px; cursor:pointer;
  font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--p-text-2);
  background:rgba(7,17,31,.82); border:1px solid var(--p-border); border-radius:6px; padding:5px 9px; }
.p-map .tg.on{ border-color:var(--p-gold); color:var(--p-text); }
.p-map .tg .sw{ width:11px; height:11px; border-radius:2px; border:1px solid var(--p-border); }

/* overlay swatches + vector strokes (SVG/canvas layers) */
.sw-parcel{ background:transparent; border-color:var(--p-gold); }
.sw-envelope{ background:rgba(212,175,55,.30); border-color:var(--p-gold); }
.sw-structure{ background:rgba(58,123,213,.30); border-color:var(--p-info); }
.sw-setback{ background:repeating-linear-gradient(45deg,transparent,transparent 2px,var(--p-muted) 2px,var(--p-muted) 3px); }
.sw-flood{ background:rgba(201,76,76,.28); border-color:var(--p-blocked); }

.p-ov-parcel{ stroke:var(--p-gold); fill:none; stroke-width:2; }
.p-ov-envelope{ stroke:var(--p-gold); fill:rgba(212,175,55,.16); stroke-width:1.5; }
.p-ov-structure{ stroke:var(--p-info); fill:rgba(58,123,213,.16); stroke-width:1; }  /* existing structure, muted blue */
.p-ov-setback{ stroke:var(--p-muted); fill:none; stroke-width:1; stroke-dasharray:4 3; }
.p-ov-flood{ stroke:var(--p-blocked); fill:rgba(201,76,76,.10); stroke-width:1; }

.p-map .credit{ position:absolute; right:10px; bottom:8px; z-index:3; font-size:8px; color:var(--p-muted); }
