.reviews-carousel{
  position:relative;
  margin-top:40px;
}

.reviews-carousel .reference-grid{
  display:flex;
  justify-content:flex-start;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  margin-top:0;
  padding:4px 4px 10px;
  scrollbar-width:none;
}

.reviews-carousel .reference-grid::-webkit-scrollbar{
  display:none;
}

.reviews-carousel .reference-card{
  scroll-snap-align:start;
  flex:0 0 min(340px,85vw);
}

.reviews-carousel:not(.has-scroll) .reference-grid{
  justify-content:center;
}

.reviews-nav{
  display:none;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #dbe3d6;
  background:#fff;
  color:#233e31;
  font-size:20px;
  line-height:1;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:2;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
}

.reviews-carousel.has-scroll .reviews-nav{
  display:flex;
}

.reviews-nav:hover{
  background:#f2f5ed;
}

.reviews-prev{ left:4px; }
.reviews-next{ right:4px; }

@media (max-width:640px){
  .reviews-nav{
    width:32px;
    height:32px;
    font-size:16px;
  }
}
