/* ---------- reviews (shop-wide) ---------- */
.reviews-loading { font-size: 0.85rem; color: #9A7A88; }

.stars { color: var(--gold); letter-spacing: 1px; font-size: 1rem; }

.reviews-summary-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.reviews-avg { font-weight: 600; }
.reviews-count { font-size: 0.85rem; color: #7A5A68; }

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}

.review-item {
  background: var(--cream-card);
  border: 1px solid rgba(58,36,48,0.08);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.review-photo { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.review-item-body { padding: 14px; }
.review-item .review-text { margin: 6px 0; font-size: 0.9rem; color: var(--charcoal); }
.review-item .review-author { font-size: 0.8rem; color: #7A5A68; }

.reviews-form-wrap {
  background: var(--cream-card);
  border: 1px solid rgba(58,36,48,0.08);
  border-radius: var(--radius);
  padding: 28px;
  max-width: 640px;
}
.reviews-form-wrap h3 { font-family: var(--serif); font-weight: 500; margin: 0 0 16px; }

.review-form .field { margin-bottom: 14px; }
.review-form label { display: block; font-size: 0.85rem; margin-bottom: 6px; color: #6B4F5A; }
.review-form input, .review-form select, .review-form textarea {
  width: 100%;
  padding: 10px 12px;
  border-radius: var(--radius);
  border: 1px solid rgba(58,36,48,0.2);
  font-family: var(--sans);
  font-size: 0.9rem;
  background: #fff;
}
.review-form textarea { min-height: 90px; resize: vertical; }

@media (max-width: 860px) {
  .reviews-form-wrap { padding: 20px; }
}
