.testimonial-carousel {
  position: relative;
}

.testimonial-viewport {
  overflow: hidden;
}

.testimonial-grid {
  display: flex;
  gap: 17px;
  padding: 2px 1px 8px;
  overflow-x: auto;
  cursor: grab;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.testimonial-grid::-webkit-scrollbar {
  display: none;
}

.testimonial-grid.is-dragging {
  cursor: grabbing;
  user-select: none;
  scroll-behavior: auto;
  scroll-snap-type: none;
}

.testimonial-grid article {
  flex: 0 0 calc((100% - 51px) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

.testimonial-progress {
  display: flex;
  justify-content: center;
  gap: 8px;
  min-height: 12px;
  margin-top: 24px;
}

.testimonial-page {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d8cdb9;
  cursor: pointer;
  transition:
    background 0.2s,
    transform 0.2s;
}

.testimonial-page:hover {
  background: #ad8a49;
  transform: scale(1.15);
}

.testimonial-page:focus-visible {
  outline: 3px solid rgba(200, 161, 89, 0.32);
  outline-offset: 3px;
}

.testimonial-page.is-active {
  background: var(--gold);
}
