/* Rotator (Swiper) – style wyglądu slidera:
   - kontener i slajdy (responsywne obrazy)
   - strzałki nawigacyjne (pozycja, wygląd, hover/focus)
   - paginacja (bullets)
   - media queries dla mobile
   - obsługa prefers-reduced-motion */

/* ===== ROTATOR CSS: START ===== */
:root {
  --ps-rotator-radius: 6px;
  --ps-rotator-shadow: 0 3px 5px rgba(0,0,0,.16);
  --ps-rotator-arrow-bg: #fff;
  --ps-rotator-bullet: #d7d7d7;
}

/* Kontener */
.ps-rotator { position: relative; }
.ps-rotator__swiper { overflow: hidden; border-radius: var(--ps-rotator-radius); }

/* Zachowaj proporcje i zapobiegaj CLS */
.ps-rotator .swiper-slide picture,
.ps-rotator .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--ps-rotator-radius);
}
.ps-rotator .swiper-slide img {
  object-fit: cover;
}

/* Strzałki */
.ps-rotator__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  padding: 0;
  background: var(--ps-rotator-arrow-bg);
  border: 0;
  border-radius: 8px;
  box-shadow: var(--ps-rotator-shadow);
  cursor: pointer;
  user-select: none;
  z-index: 10;
  display: grid;
  place-items: center;
}
.ps-rotator__arrow--prev { left: 10px; }
.ps-rotator__arrow--next { right: 10px; }
.ps-rotator__arrow:hover { background-color: rgba(255,255,255,.9); }
.ps-rotator__arrow:focus-visible {
  outline: 2px solid var(--ps-rotator-bullet-active);
  outline-offset: 2px;
}

/* Ikony strzałek – maski SVG, lekkie i kontrastowe */
.ps-rotator__icon {
  inline-size: 30px;
  block-size: 30px;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background: currentColor;
  color: #333;
}
.ps-rotator__icon--prev { -webkit-mask-image: var(--url--arrow-left); mask-image: var(--url--arrow-left); }
.ps-rotator__icon--next { -webkit-mask-image: var(--url--arrow-right); mask-image: var(--url--arrow-right); }

/* Paginacja */
.ps-rotator__swiper-pagination {
  position: absolute;
  inset-inline: 0;
  display: flex;
  justify-content: center;
  z-index: 1;
}
.ps-rotator .swiper-pagination-bullet {
  width: 15px; height: 15px; opacity: 1; background: var(--ps-rotator-bullet);
}
.ps-rotator .swiper-pagination-bullet-active { background: var(--tkcolor); }

/* Mobile tuning */
@media (max-width: 700px) {
  .ps-rotator__arrow { width: 30px; height: 30px; }
  .ps-rotator__icon { width: 25px; height: 25px; }
  .ps-rotator .swiper-pagination-bullet { width: 10px; height: 10px; }
}

/* Preferencje użytkownika: ogranicz animacje/autoplay */
@media (prefers-reduced-motion: reduce) {
  .ps-rotator * { animation: none !important; transition: none !important; }
}
/* ===== ROTATOR CSS: END ===== */