/* ══════════════════════════════════════
   Reviews Carousel — Light Theme
   ══════════════════════════════════════ */
.reviews-carousel {
  position: relative;
  max-width: 700px;
  min-height: 220px;
}

.review {
  position: absolute;
  top: 0; left: 0; width: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .6s ease, transform .6s ease, visibility .6s;
}

.review--active {
  position: relative;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.review__quote {
  font-weight: 300;
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  line-height: 1.8;
  font-style: italic;
  color: #111;
  border: none;
  margin: 0;
  padding: 0;
}

.review__author {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: .7rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #999;
  margin-top: 1.5rem;
}

/* Nav buttons */
.reviews-nav {
  display: flex;
  gap: .75rem;
  margin-top: 2.5rem;
}

.reviews-nav__btn {
  width: 44px; height: 44px;
  border: 1px solid #eee;
  border-radius: 50%;
  background: transparent;
  color: #555;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
}

.reviews-nav__btn:hover {
  border-color: #3141A3;
  background: #3141A3;
  color: #fff;
}

.reviews-nav__btn svg {
  width: 16px; height: 16px;
  fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}

.reviews-zone { display: none; }

@media (max-width: 767px) {
  .reviews-carousel { min-height: 280px; }
  .review__quote { font-size: .9rem; }
}
