/* mapa zasięgu: Polska, Europa, Świat (szablon/mapa-zasieg.js animuje viewBox; --px = jednostki SVG na 1 px ekranu) */
.zas{--zas-akcent:#fea601;--zas-tekst:#c3cce0;--zas-halo:#040915;position:relative}
.zas-zakladki{display:flex;gap:0;margin:0 0 14px;border:1px solid rgba(140,170,230,.22);width:max-content;max-width:100%}
.zas-zakladki button{position:relative;appearance:none;background:transparent;color:#8e9ab5;border:0;border-radius:0;margin:0;cursor:pointer;
  font:600 12px/1 var(--naglowki,"Michroma",sans-serif);letter-spacing:.08em;text-transform:uppercase;padding:13px 18px 12px;display:flex;gap:10px;align-items:baseline;transition:color .25s,background .25s}
.zas-zakladki button+button{border-left:1px solid rgba(140,170,230,.22)}
.zas-zakladki button i{font-style:normal;font-size:9px;color:#5d6984;letter-spacing:.04em;transition:color .25s}
.zas-zakladki button:hover{color:#e6ebf5;background:rgba(140,170,230,.06)}
.zas-zakladki button[aria-selected="true"]{color:#05080f;background:var(--zas-akcent)}
.zas-zakladki button[aria-selected="true"] i{color:rgba(5,8,15,.6)}
.zas-zakladki button:focus-visible{outline:2px solid var(--zas-akcent);outline-offset:2px}
.zas-zakladki button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--zas-akcent);transform:scaleX(0);transform-origin:left}
.zas-zakladki button.zas-nastepna::after{animation:zas-postep var(--zas-czas,3s) linear forwards}
@keyframes zas-postep{to{transform:scaleX(1)}}

.zas:not(.zas-js) .zas-zakladki{display:none}
.zas-mapa{position:relative;aspect-ratio:5/4;width:100%}
.zas-svg{display:block;width:100%;height:100%;overflow:hidden}
.zas-podpis{margin:12px 0 0;font:600 12px/1.4 var(--naglowki,"Michroma",sans-serif);letter-spacing:.06em;text-transform:uppercase;color:#9aa6bf;min-height:1.4em}
.zas-podpis b{color:var(--zas-akcent);font-weight:600}

/* warstwy */
.zas-siatka{fill:none;stroke:rgba(140,170,230,.07);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;transition:opacity .6s}
.zas-kraje path{fill:rgba(17,32,70,.55);stroke:rgba(140,170,230,.28);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .5s,stroke .5s}
.zas-kraje{transition:opacity .6s}
.zas-pl path{fill:rgba(26,48,100,.72);stroke:rgba(160,190,245,.42);stroke-width:.8;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .5s,stroke .5s}
.zas-pl path:hover{fill:rgba(254,166,1,.14)}

/* łuki: pathLength=1, rysowanie przez stroke-dashoffset; bez JS widoczne od razu */
.zas-luki path{fill:none;stroke:var(--zas-akcent);stroke-width:calc(var(--px,2) * 1.3px);stroke-linecap:round;opacity:.75;stroke-dasharray:1 1}
.zas-js .zas-luki path{stroke-dashoffset:1}
.zas-luki.rysuj path{animation:zas-rysuj 1.4s cubic-bezier(.3,.6,.2,1) forwards;animation-delay:calc(var(--i) * 70ms)}
.zas-luki.gotowe path{stroke-dashoffset:0}
@keyframes zas-rysuj{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.zas-luki-za path{stroke-width:calc(var(--px,2) * 1.7px);opacity:.9}

/* podpisy w stałym rozmiarze ekranowym */
.zas-etyk,.zas-luki{transition:opacity .45s}
.zas-svg text{font-family:var(--font,"Geist",system-ui,sans-serif);font-size:calc(var(--px,2) * 12px);fill:var(--zas-tekst);paint-order:stroke;stroke:var(--zas-halo);stroke-width:calc(var(--px,2) * 3px);stroke-linejoin:round}
.zas-miasto circle{fill:#c9d3e8}
.zas-miasto text{fill:#a3afc7;font-size:calc(var(--px,2) * 11px)}
.zas-kraj rect,.zas-et-swiat rect{fill:var(--zas-akcent)}
.zas-kn{font-family:var(--naglowki,"Michroma",sans-serif);font-weight:600;font-size:calc(var(--px,2) * 12px);letter-spacing:.06em;text-transform:uppercase;fill:#fff}
.zas-kd{font-size:calc(var(--px,2) * 11px);fill:#a3afc7}
.zas-svg .zas-polska-nap{font-family:var(--naglowki,"Michroma",sans-serif);font-weight:600;letter-spacing:.12em;text-transform:uppercase;fill:rgba(220,230,250,.8)}
.zas-svg .zas-sw-nap{font-family:var(--naglowki,"Michroma",sans-serif);font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--zas-akcent);font-size:calc(var(--px,2) * 12px)}
.zas-biuro circle{fill:var(--zas-akcent)}
.zas-biuro .zas-puls{fill:none;stroke:var(--zas-akcent);stroke-width:calc(var(--px,2) * 1.5px);transform-origin:center;transform-box:fill-box;animation:zas-puls 2.2s ease-out infinite}
@keyframes zas-puls{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
.zas-biuro text{fill:var(--zas-akcent);font-weight:700;font-size:calc(var(--px,2) * 13px);transition:opacity .45s}
.zas-px rect{fill:var(--zas-akcent)}
.zas-wodzik{fill:none;stroke:var(--zas-akcent);stroke-width:calc(var(--px,2) * 1px);opacity:.7}

/* stany skali (atrybut data-skala na .zas) */
.zas-et-europa,.zas-et-swiat,.zas-luki-za{opacity:0}
.zas[data-skala="polska"] .zas-kraje{opacity:.35}
.zas[data-skala="europa"] .zas-et-polska,.zas[data-skala="swiat"] .zas-et-polska,
.zas[data-skala="europa"] .zas-luki-pl,.zas[data-skala="swiat"] .zas-luki-pl{opacity:0}
.zas[data-skala="europa"] .zas-et-europa,.zas[data-skala="europa"] .zas-luki-za,
.zas[data-skala="swiat"] .zas-et-swiat,.zas[data-skala="swiat"] .zas-luki-za{opacity:1}
.zas[data-skala="europa"] .zas-cel,.zas[data-skala="swiat"] .zas-cel{fill:url(#zas-wzor);stroke:rgba(254,166,1,.75)}
.zas[data-skala="europa"] .zas-pl path{fill:rgba(56,92,170,.78);stroke:rgba(160,190,245,.16)}
.zas[data-skala="swiat"] .zas-pl path{fill:var(--zas-akcent);stroke:transparent}
.zas[data-skala="swiat"] .zas-siatka{opacity:1}
.zas[data-skala="swiat"] .zas-biuro text{opacity:0}

@media (max-width:600px){
  .zas-zakladki{width:100%}
  .zas-zakladki button{flex:1;justify-content:center;padding:14px 8px 13px;font-size:11px}
  .zas-mapa{aspect-ratio:1/1}
}
@media (prefers-reduced-motion:reduce){
  .zas-luki.rysuj path{animation:none;stroke-dashoffset:0}
  .zas-biuro .zas-puls{animation:none;opacity:0}
  .zas-zakladki button.zas-nastepna::after{animation:none}
  .zas-etyk,.zas-luki,.zas-kraje,.zas-siatka,.zas-pl path,.zas-kraje path{transition:none}
}
/* sprawy poza Europą (USA, Kanada, Moskwa): tylko w skali Świat */
.zas-luki-sw{opacity:0}
.zas-luki-sw path{stroke-width:calc(var(--px,2) * 1.5px);opacity:.85}
.zas[data-skala="swiat"] .zas-luki-sw{opacity:1}
.zas[data-skala="swiat"] .zas-cel-sw{fill:url(#zas-wzor);stroke:rgba(254,166,1,.65)}
