.testimonial-title {
  font-size: 2rem;
  margin: 50px 0px 0px;
  color: #171f32;
  text-align: center;
}
.testimonial-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  padding: 0 60px; /* space for arrows so they don't overlap cards */
}

.testimonial-viewport {
  overflow: hidden;
}

.testimonial-container {
  display: flex;
  gap: 20px;
  transition: transform 0.45s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
  padding: 20px 0;
}

.testimonial-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  padding: 22px;
  text-align: center;
  flex: 0 0 calc(33.333% - 13.333px); /* default 3 items */
}

.testimonial-card img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
}

.testimonial-card h3 { margin: 8px 0; font-size: 1.5rem; color: #222; }
.testimonial-card p { margin: 0; color: #555; line-height: 1.5; }

/* arrows */
.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  box-shadow: 0 6px 14px rgba(0,0,0,0.12);
  cursor: pointer;
  font-size: 22px;
  line-height: 0;
  display: grid;
  place-items: center;
  transition: transform .18s, background .18s, color .18s;
}
.arrow:active { transform: translateY(-50%) scale(.97); }
.arrow[disabled] { opacity: .45; cursor: not-allowed; transform: translateY(-50%) scale(1); }

.arrow.left { left: 0px; background: #ff5421; color: #fff; z-index: 2; }
.arrow.right { right: 0px; background: #ff5421; color: #fff; z-index: 2; }

/* Responsive breakpoints */
@media (max-width: 1300px) {
  .testimonial-card { flex: 0 0 calc(50% - 10px); } /* 2 per view */
  .testimonial-wrapper { padding: 0 48px; }
}

@media (max-width: 768px) {
  .testimonial-card { flex: 0 0 100%; } /* 1 per view */
  .arrow { width: 40px; height: 40px; font-size: 20px; }
  .testimonial-wrapper { padding: 0 28px; }
}