/* Müşteri yorumları carousel — hizmet + bölge sayfalarında ortak kullanılır.
   Tema değişkenlerine dayanır; fallback değerlerle her iki sayfada uyumludur. */
.reviews-section {
  --rv-accent: var(--accent, #ff7d32);
  --rv-dark: var(--heading-color, #0f172a);
  --rv-soft: var(--muted-color, #64748b);
  --rv-border: var(--border, #e2e8f0);
  --rv-surface: var(--surface, #f8fafc);
  padding: 72px 0;
  background: #fff;
}
.reviews-section__inner {
  width: min(calc(var(--max-w, 1400px) - (var(--site-gutter, 24px) * 2)), 92vw);
  max-width: var(--seo-content-w, calc(var(--max-w, 1400px) - (var(--site-gutter, 24px) * 2)));
  margin: 0 auto;
}
.reviews-section__head {
  text-align: center;
  margin-bottom: 36px;
}
.reviews-section__kicker {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--rv-accent);
  margin-bottom: 10px;
}
.reviews-section__title {
  margin: 0;
  font-family: var(--font-heading, 'TT Hoves Medium', sans-serif);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  font-weight: 600;
  color: var(--rv-dark);
}

.reviews-carousel {
  display: flex;
  align-items: center;
  gap: 12px;
}
.reviews-carousel__nav {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid var(--rv-border);
  background: #fff;
  color: var(--rv-dark);
  font-size: 1.1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease;
  box-shadow: 0 8px 24px -16px rgba(15, 23, 42, .35);
}
.reviews-carousel__nav:hover {
  background: var(--rv-accent);
  border-color: var(--rv-accent);
  color: #fff;
}
.reviews-carousel__nav:disabled {
  opacity: .35;
  cursor: default;
}
.reviews-carousel__nav:disabled:hover {
  background: #fff;
  color: var(--rv-dark);
  border-color: var(--rv-border);
}

.reviews-carousel__viewport {
  flex: 1 1 auto;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
  scroll-behavior: smooth;
}
.reviews-carousel__viewport::-webkit-scrollbar { display: none; }

.reviews-carousel__track {
  display: flex;
  gap: 22px;
  padding: 6px 2px 12px;
}

.review-card {
  flex: 0 0 100%;
  scroll-snap-align: start;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid var(--rv-border);
  box-shadow: 0 18px 50px -34px rgba(15, 23, 42, .3);
}
@media (min-width: 640px) {
  .review-card { flex-basis: calc((100% - 22px) / 2); }
}
@media (min-width: 980px) {
  .review-card { flex-basis: calc((100% - 44px) / 3); }
}

.review-card__stars {
  display: inline-flex;
  gap: 3px;
  font-size: 1rem;
  color: #d1d5db;
}
.review-card__stars .is-on { color: #f59e0b; }

.review-card__quote {
  margin: 0;
  font-size: .98rem;
  line-height: 1.7;
  color: var(--rv-dark);
  flex: 1 1 auto;
}
.review-card__quote::before { content: "\201C"; }
.review-card__quote::after { content: "\201D"; }

.review-card__author {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid var(--rv-border);
}
.review-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.05rem;
  color: #fff;
  background: var(--rv-accent);
}
.review-card__meta { display: flex; flex-direction: column; gap: 2px; }
.review-card__name { font-size: .9rem; font-weight: 700; color: var(--rv-dark); }
.review-card__role { font-size: .76rem; color: var(--rv-soft); }

.reviews-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 22px;
}
.reviews-carousel__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  padding: 0;
  background: var(--rv-border);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}
.reviews-carousel__dot.is-active {
  width: 26px;
  background: var(--rv-accent);
}

@media (max-width: 560px) {
  .reviews-carousel__nav { display: none; }
}
