/* NSW – Partners marquee (identycznie mobile/desktop)
   Cel: brak "skakania" logotypów + stabilna animacja
*/

.nsw-partners{background:#fff; border:0; border-radius:22px; padding:18px 18px;}
.nsw-partners__title{font-weight:800; letter-spacing:.02em; font-size:14px; text-transform:uppercase; margin:0 0 12px 0; color:#061726; opacity:.85}

.nsw-marquee{position:relative; overflow:hidden;}

/* delikatne maskowanie krawędzi (opcjonalne, bez psucia na przeglądarkach) */
@supports (mask-image: linear-gradient(#000,#000)) {
  .nsw-marquee{
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  }
}

.nsw-marquee__belt{
  display:flex;
  width:max-content;
  will-change:transform;
  transform:translate3d(0,0,0);
  gap:var(--nsw-marquee-gap, 22px);
}

.nsw-marquee__set{
  display:flex;
  align-items:center;
  gap:var(--nsw-marquee-gap, 22px);
}

.nsw-logo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px 0;
}

/* klucz do braku "skakania": stała wysokość i wyśrodkowanie */
.nsw-logo img{
  display:block;
  height:var(--nsw-logo-h, 44px);
  width:auto;
  max-width:var(--nsw-logo-maxw, 170px);
  object-fit:contain;
}

/* Klikalne logo – nie zmieniaj layoutu przy hover */
.nsw-logo a{display:flex; align-items:center; justify-content:center; text-decoration:none;}

/* Animacja (JS ustawia --nsw-marquee-dur i --nsw-marquee-shift) */
.nsw-marquee__belt.is-animated{
  animation: nswMarquee var(--nsw-marquee-dur, 18s) linear infinite;
}

@keyframes nswMarquee{
  from{ transform: translate3d(0,0,0); }
  to{ transform: translate3d(calc(-1 * var(--nsw-marquee-shift, 0px)), 0, 0); }
}

@media (max-width: 700px){
  .nsw-partners{padding:16px 14px; border-radius:20px;}
  .nsw-marquee__belt, .nsw-marquee__set{gap:var(--nsw-marquee-gap-m, 16px)}
  .nsw-logo img{height:var(--nsw-logo-h-m, 34px); max-width:var(--nsw-logo-maxw-m, 140px)}
}

/* Preferencje dostępności */
@media (prefers-reduced-motion: reduce){
  .nsw-marquee__belt.is-animated{animation:none !important;}
}
