/* =========================================================
   05 – Opinie (ss-testimonials) i pionowe przewijanie (ss-vscroll)
   ========================================================= */

/* ---------- Opinie: blok Testimonials z klasą ss-testimonials ---------- */

/* Karuzela: bez bocznych odstępów, strzałki pod kartami, równa wysokość kart */
.ss-testimonials .kt-blocks-carousel-init {
  display: flex !important;
  flex-direction: column;
  padding: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ss-testimonials .splide__track {
  order: 1;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.ss-testimonials .splide__list {
  align-items: stretch !important;
}
.ss-testimonials .splide__slide {
  display: flex !important;
  height: auto !important;
  container-type: inline-size; /* układ karty zależy od jej szerokości, nie ekranu */
}
.ss-testimonials .splide__slide > * {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
}

/* Karta: zdjęcie po lewej na całą wysokość, tekst po prawej */
.ss-testimonials .kt-testimonial-item-wrap {
  display: grid !important;
  grid-template-columns: 200px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
}
.ss-testimonials .kt-testimonial-item-wrap,
.ss-testimonials .kt-testimonial-item-wrap * {
  text-align: left !important;
}
.ss-testimonials .kt-testimonial-text-wrap {
  display: contents;
}
.ss-testimonials .kt-testimonial-media-wrap {
  position: relative;
  grid-column: 1;
  grid-row: 1 / 3;
  width: 100% !important;
  max-width: none !important;
  min-height: 220px;
  margin: 0 !important;
}
.ss-testimonials .kt-testimonial-media-inner-wrap,
.ss-testimonials .kadence-testimonial-image-intrisic {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.ss-testimonials .kt-testimonial-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0 !important;
}
.ss-testimonials .kt-testimonial-text-wrap > :not(.kt-testimonial-media-wrap) {
  grid-column: 2;
  margin: 0;
  padding: 24px 24px 12px;
}
.ss-testimonials .kt-testimonial-meta-wrap {
  grid-column: 2;
  justify-content: flex-start !important;
  margin: 0;
  padding: 0 24px 24px;
}

/* Strzałki w granatowej pigułce z licznikiem 1 / N (kropki ukryte) */
.ss-testimonials .splide__arrows {
  order: 2;
  position: static !important;
  transform: none !important;
  display: flex;
  align-self: center;
  gap: 4px;
  margin-top: 32px;
  padding: 4px;
  border-radius: 999px;
  background: var(--ss-navy);
}
.ss-testimonials .splide__arrow {
  position: static !important;
  transform: none !important;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent !important;
  color: #fff;
  opacity: 1;
}
.ss-testimonials .splide__arrow:hover {
  background: rgba(255, 255, 255, .14) !important;
}
.ss-testimonials .splide__arrow:disabled {
  opacity: .4;
}
.ss-testimonials .splide__arrow:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}
.ss-testimonials .splide__arrow:focus-visible {
  outline: 2px solid var(--ss-on-dark-accent);
  outline-offset: 2px;
}
.ss-testimonials .splide__arrow svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
/* Licznik 1 / N między strzałkami – wyśrodkowany w pionie ze strzałkami.
   Licznik wstawia skrypt (poza motywem). */
.ss-testimonials .ss-counter {
  display: flex;
  align-items: center;
  height: 44px;                       /* wysokość przycisków strzałek */
  margin: 0;                          /* zeruje margines akapitu z motywu */
  padding: 0 6px;
  line-height: 1;
  font-size: 15px;
  font-weight: 500;
  font-variant-numeric: tabular-nums; /* stała szerokość cyfr – pigułka nie skacze */
  color: var(--ss-on-dark-text);
  opacity: 1;
}
.ss-testimonials .splide__pagination {
  display: none !important;
}

/* Wąska karta (telefon): cytat na górze, pod nim okrągłe zdjęcie z podpisem */
@container (max-width: 520px) {
  .ss-testimonials .kt-testimonial-item-wrap {
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 14px;
    padding: 24px !important;
  }
  .ss-testimonials .kt-testimonial-text-wrap > :not(.kt-testimonial-media-wrap) {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 0 20px !important;
  }
  .ss-testimonials .kt-testimonial-media-wrap {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    width: 56px !important;
    height: 56px;
    min-height: 0;
    border-radius: 50%;
    overflow: hidden;
  }
  .ss-testimonials .kt-testimonial-meta-wrap {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    padding: 0 !important;
  }
}

/* ---------- Pionowe przewijanie kart (Grupa: ss-vscroll, w niej ss-vscroll__track) ----------
   Ścieżka zawiera karty dwa razy; druga kopia ma aria-hidden="true". */
.ss-vscroll {
  position: relative;
  height: 456px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
          mask-image: linear-gradient(to bottom, transparent 0, #000 48px, #000 calc(100% - 48px), transparent 100%);
}
.ss-vscroll__track,
.ss-vscroll__track > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ss-vscroll__track {
  animation: ss-vscroll 30s linear infinite;
}
.ss-vscroll__track > *,
.ss-vscroll__track .wp-block-group__inner-container > * {
  margin: 0 !important;
}
.ss-vscroll:hover .ss-vscroll__track,
.ss-vscroll:focus-within .ss-vscroll__track {
  animation-play-state: paused;
}
@keyframes ss-vscroll {
  to { transform: translateY(calc(-50% - 6px)); }
}

/* Bez animacji: telefon i ustawienie „ogranicz ruch” – statyczna lista bez kopii */
@media (max-width: 767px), (prefers-reduced-motion: reduce) {
  .ss-vscroll {
    height: auto !important;
    overflow: visible;
    -webkit-mask-image: none;
            mask-image: none;
  }
  .ss-vscroll__track {
    animation: none !important;
  }
  .ss-vscroll__track [aria-hidden="true"] {
    display: none !important;
  }
}

/* Telefon: logo obok tytułu, opis pod spodem */
@media (max-width: 767px) {
  .ss-vscroll .kt-blocks-info-box-link-wrap {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px 14px;
    padding: 20px !important;
    text-align: left;
  }
  .ss-vscroll .kt-blocks-info-box-media-container {
    grid-column: 1;
    grid-row: 1;
    width: 44px !important;
    margin: 0 !important;
  }
  .ss-vscroll .kt-blocks-info-box-media-container img {
    width: 44px !important;
    height: auto;
  }
  .ss-vscroll .kt-infobox-textcontent {
    display: contents;
  }
  .ss-vscroll .kt-blocks-info-box-title {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    font-size: 17px !important;
  }
  .ss-vscroll .kt-blocks-info-box-text {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0 !important;
    font-size: 14px !important;
  }
}
