/* Step 29: real maps (Leaflet) and address suggestions. Plain pins in violet and ink, red only when late. No glows. */
.pnmap{position:relative;z-index:0;isolation:isolate;width:100%;max-width:100%;height:420px;border-radius:var(--r);border:1px solid var(--line);overflow:hidden;background:#F2F2F0}
.pnmap--card{height:260px}
.pnmap--area{height:360px}
.pnmap .leaflet-container,.pnmap.leaflet-container{font-family:inherit;background:#F2F2F0}
.pnmap .leaflet-control-attribution{font-size:var(--fs-sm);line-height:1.4;padding:1px var(--s2);background:rgba(255,255,255,.85);color:#4A4560}
.pnmap .leaflet-control-attribution a{color:#5B21E6}
.pnmap .leaflet-bar{border:1px solid var(--line);box-shadow:none;border-radius:6px}
.pnmap .leaflet-bar a{color:#17142B;width:32px;height:32px;line-height:32px}
.pnmap .leaflet-bar a:hover{background:#EFE9FD}
.pnmap .leaflet-tooltip{border:1px solid #E4E1EE;border-radius:6px;box-shadow:none;color:#17142B;font-size:var(--fs-sm);font-weight:var(--fw-bold);padding:3px var(--s2)}
.pnmap .leaflet-tooltip:before{display:none}
.pnmap--drawing,.pnmap--drawing .leaflet-interactive{cursor:crosshair}
.pnpin{background:none;border:0}
.pnpin span{display:block}
.pnpin--shop span{width:16px;height:16px;margin:1px;border-radius:50%;background:#5B21E6;border:2px solid #FFFFFF;box-shadow:0 0 0 1px #5B21E6}
.pnpin--drop span{width:16px;height:16px;margin:1px;border-radius:50%;background:#FFFFFF;border:4px solid #17142B}
.pnpin--dot span{width:12px;height:12px;margin:3px;border-radius:50%;background:#5B21E6;border:2px solid #FFFFFF}
.pnpin--tag span{display:inline-flex;align-items:center;height:26px;padding:0 var(--s2);border-radius:6px;background:#17142B;color:#FFFFFF;font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;cursor:pointer}
.pnpin--tag.pnpin--late span{background:#B8341A}
.pnpin--district span{background:#FFFFFF;color:#17142B;border:1.5px solid #5B21E6;height:24px;padding:0 var(--s2);cursor:default}
.pnpin--district.pnpin--off span{border:1.5px dashed #A1A1AA;color:#4A4560}
.pnmap__bar{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.pnmap__legend{display:flex;flex-wrap:wrap;gap:var(--s4);font-size:var(--fs-sm);color:#4A4560}
.pnmap__legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:var(--s2);vertical-align:-1px}
.pnmap__legend .l-shop{background:#5B21E6}
.pnmap__legend .l-drop{background:#FFFFFF;border:3px solid #17142B;width:12px;height:12px;box-sizing:border-box}
.pnmap__legend .l-courier{background:#17142B;border-radius:3px}
.pnmap__empty{position:absolute;inset:auto 12px 12px 12px;z-index:500;pointer-events:none}
@media (max-width:640px){.pnmap{height:300px}.pnmap--card{height:220px}.pnmap--area{height:300px}}

