/* ── Reviews banner ── */
#reviews-banner {
  background: #f8faff; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  padding: 12px 20px; width: 100%;
}
.reviews-banner-inner {
  max-width: 1300px; margin: 0 auto; display: flex; align-items: center; gap: 8px;
}
.reviews-nav-btn {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
  border: 1.5px solid var(--border); background: #fff; color: var(--navy);
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  font-size: .85rem; transition: border-color .15s, background .15s; line-height: 1;
}
.reviews-nav-btn:hover { border-color: var(--amber); background: #fffbeb; color: var(--amber-dark); }
.reviews-viewport { flex: 1; overflow: hidden; }
.reviews-track { display: flex; gap: 12px; transition: transform .35s ease; }
.review-card {
  background: #fff; border: 1px solid var(--border); border-radius: 9px;
  padding: 9px 13px; flex-shrink: 0; display: flex; flex-direction: column; gap: 3px;
  box-shadow: 0 1px 4px rgba(30,46,92,.05);
}
.review-card-stars { color: #f5b942; font-size: .75rem; letter-spacing: 1px; }
.review-card-stars .star-half { display: inline-block; position: relative; color: #e2e8f0; }
.review-card-stars .star-half::before { content: '★'; position: absolute; left: 0; top: 0; color: #f5b942; clip-path: inset(0 50% 0 0); }
.review-card-text  { font-size: .68rem; color: var(--text-muted); font-style: italic; line-height: 1.45; }
.review-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 1px; }
.review-card-author { font-size: .63rem; font-weight: 600; color: var(--navy); }
.review-card-date   { font-size: .6rem; color: #94a3b8; white-space: nowrap; }
