.reviews-carousel {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 12px;
}

.reviews-viewport {
  overflow: hidden;
}

.reviews-grid.reviews-track {
  display: flex;
  gap: 12px;
  transition: transform .45s ease;
  will-change: transform;
}

.reviews-track .review {
  flex: 0 0 calc((100% - 24px) / 3);
  min-width: 0;
}

.review-control {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #bfe5ed;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  font-size: 20px;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.review-control:hover {
  transform: scale(1.06);
  background: var(--navy);
  color: #fff;
}

.review-control:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .reviews-track .review {
    flex-basis: 100%;
  }
}
