/* Grid overlay approach: container height equals tallest slide automatically */
.testimonialSlider {
  position: relative;
  width: 100%;
  display: grid;
}

.testimonialSlider > .ts-slide {
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity 400ms ease;
  pointer-events: none;
}

.testimonialSlider > .ts-slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* Dots */
.ts-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 1rem;
}

.ts-dots button {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  border: none;
  background: var(--ts-dot-inactive, #cfcfcf);
  cursor: pointer;
  padding: 0;
  display: inline-block;
}

.ts-dots button[aria-current="true"] {
  background: var(--ts-dot-active, #333333);
}

.ts-dots button:focus-visible {
  outline: 1px solid var(--ts-dot-active, #333333);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .testimonialSlider > .ts-slide { transition: none; }
}
