
/* Flex-wrapped + centered, not a fixed 3-column grid: the number of
   cards comes from content.js (openspec/changes/archive/2026-10-06-real-google-reviews/), so 1 or
   2 reviews must not leave an empty column. Cards grow to share a row but
   cap at 26rem so a lone review doesn't stretch across the page. */
.reviews-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
}

.review-card {
  flex: 1 1 18rem;
  max-width: 26rem;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl);
  padding: var(--space-md);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-md);
  transition: box-shadow 0.15s ease;
}
.review-card:hover { box-shadow: var(--shadow-md); }

.review-card__stars { display: flex; color: var(--color-gold); gap: 0.1rem; }
.review-card__stars .icon { width: 1.1rem; height: 1.1rem; }
.review-card__stars .is-empty { color: var(--color-border); }

.review-card__text {
  font-size: 0.9375rem;
  line-height: 1.6;
}

.review-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-sm);
  border-top: 1px solid var(--color-border);
  font-size: 0.75rem;
}
.review-card__author {
  font-family: var(--font-headline);
  font-weight: 700;
  color: var(--color-brand-black);
}
.review-card__source { color: var(--color-muted-gray); }
a.review-card__source:hover { text-decoration: underline; }

.reviews-cta {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}
