/* 15-mapa-instalatorow.css: Mapa instalatorów [qs_mapa_instalatorow] (inc/mapa.php, dymki w qs.js).
   Style globalne motywu QS GPS; zasady i spis plików w 01-tokeny.css. */

/* Mapa instalatorów: [qs_mapa_instalatorow] (inc/mapa.php). Kontury województw, punkty (instalator, siedziba), dymek z nazwą miasta (qs.js),
   obok lista miast według województw. Kolory: tokeny --map-*. */
.pl-map{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--gap-lg);align-items:center}
.pl-map__fig{position:relative;margin:0}
.pl-map__svg{display:block;width:100%;height:auto;overflow:visible}
.pl-map__woj{fill:var(--map-land);stroke:var(--map-border);stroke-width:2;stroke-linejoin:round;transition:fill .2s}
.pl-map__woj:hover{fill:var(--map-land-hover)}
.pl-map__pin{cursor:pointer}
.pl-map__pin circle{fill:var(--map-pin);stroke:var(--map-border);stroke-width:3;transform-box:fill-box;transform-origin:center;transition:transform .2s}
.pl-map__pin:hover circle,.pl-map__pin.is-active circle{transform:scale(1.3)}
.pl-map__pin--hq circle{fill:var(--map-hq)}
.pl-map__pin--hq .pl-map__core{fill:var(--map-border);stroke:none}
.pl-map__tip{position:absolute;z-index:2;transform:translate(-50%,calc(-100% - 10px));padding:6px 10px;border-radius:var(--r-2xs);background:var(--map-hq);color:var(--white);font-size:var(--fs-sm);font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-item)}
.pl-map__tip[hidden]{display:none}
.pl-map__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-top:14px;font-size:var(--fs-sm);color:var(--muted)}
.pl-map__key{display:inline-flex;align-items:center;gap:8px}
.pl-map__key::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--map-pin);box-shadow:0 0 0 2px var(--map-border),0 0 0 3px var(--line-strong)}
.pl-map__key--hq::before{width:16px;height:16px;background:radial-gradient(circle,var(--map-border) 0 3px,var(--map-hq) 3.5px)}
.pl-map__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none}
.pl-map__list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm);color:var(--text)}
.pl-map__list strong{display:block;color:var(--ink)}
@media (max-width:900px){.pl-map{grid-template-columns:minmax(0,1fr)}.pl-map__fig{width:100%;max-width:620px;margin-inline:auto}}
@media (max-width:420px){.pl-map__list{grid-template-columns:minmax(0,1fr)}}
