.google-reviews { padding: 48px 0; background: #f3eee6; border-block: 1px solid #d8d0c5; }
.review-link-panel { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.google-reviews h2 { font-size: 2rem; line-height: 1.25; margin: 0 0 12px; }
.google-reviews p { margin: 0; color: #625c55; max-width: 620px; }
.google-reviews .btn { flex-shrink: 0; }
.review-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.review-card { margin: 0; padding: 24px; background: #f8f5ef; border: 1px solid #d8d0c5; display: flex; flex-direction: column; }
.review-stars { color: #926b35; font-size: 1.125rem; letter-spacing: .12em; }
.review-card blockquote { margin: 16px 0 24px; font-size: 1rem; line-height: 1.65; }
.review-card figcaption { margin-top: auto; }
.review-card figcaption strong, .review-card figcaption span { display: block; }
.review-card figcaption span { font-size: .8125rem; color: #746d65; margin-top: 4px; }
.review-original { border-top: 1px solid #d8d0c5; margin-top: 16px; padding-top: 12px; }
.review-original summary { font-size: .875rem; cursor: pointer; }
.google-reviews .review-original p { margin-top: 12px; font-size: .9375rem; }
.review-scroll-hint { display: none; }
.review-cards:focus-visible { outline: 2px solid #926b35; outline-offset: 4px; }
@media (max-width: 620px) {
  .google-reviews { padding: 32px 0; }
  .review-link-panel { flex-direction: column; align-items: flex-start; gap: 20px; }
  .google-reviews h2 { font-size: 1.625rem; }
  .google-reviews .btn { width: 100%; }
  .google-reviews .review-scroll-hint { display: block; margin-top: 20px; font-size: .875rem; }
  .review-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-top: 14px; padding-bottom: 12px; }
  .review-card { flex: 0 0 88%; scroll-snap-align: start; padding: 20px; }
}
