/* Source logo: assets/images/review-google.svg. */
/* Shared source review and action presentation, loaded only on opted-in Pages. */
.bc-source-utility .interior-main p,
.bc-source-utility .interior-main ul,
.bc-source-utility .interior-main ol { font-size: 16px; line-height: 1.8; }
.about-reviews:has(.utility-source-testimonials) { padding: 30px 0; }
section.utility-source-testimonials { margin: 0; }
.utility-source-testimonials > h2 { margin-bottom: 30px; color: var(--bc-ink); font-weight: 700; }
.utility-source-testimonials .testimonials__grid { gap: 70px; }
.utility-source-testimonials blockquote { position: relative; min-height: 280px; padding: 30px 22px; border: 0; background: var(--bc-white); }
.utility-source-testimonials blockquote::before { content: '”'; position: absolute; top: 5px; right: 16px; color: var(--bc-blue); font-family: Georgia, serif; font-size: 70px; font-weight: 800; line-height: 1; }
.utility-source-testimonials .testimonials__stars { min-height: 35px; display: flex; align-items: center; color: var(--bc-yellow); font-size: 19px; letter-spacing: 0; }
.utility-source-testimonials .testimonials__stars::before { content: ''; width: 35px; height: 35px; margin-right: 8px; flex: 0 0 auto; background: url('../../images/review-google.svg') center / contain no-repeat; }
.utility-source-testimonials .testimonials__rating-label { margin-left: 5px; color: var(--bc-ink); font-size: 12px; font-weight: 400; }
.utility-source-testimonials blockquote p { margin: 25px 0 30px; }
.utility-source-testimonials blockquote footer { font-size: 14px; }
.utility-source-testimonials cite { color: var(--bc-ink); font-weight: 400; }
.utility-mobile-actions { display: none; }

@media (max-width: 767px) {
  .utility-source-testimonials .testimonials__grid { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .utility-source-testimonials blockquote { min-width: 0; flex: 0 0 100%; scroll-snap-align: start; }
  .utility-source-testimonials .testimonials__stars { font-size: 18px; }
  .utility-mobile-actions { position: fixed; z-index: 40; bottom: 0; left: 0; right: 0; min-height: 64px; padding: 8px 15px calc(8px + env(safe-area-inset-bottom)); display: flex; gap: 4px; justify-content: center; align-items: center; background: #e5e5e5; }
  .utility-mobile-actions .button { min-width: 0; min-height: 44px; padding-inline: 12px; display: inline-flex; gap: 8px; align-items: center; font-size: 14px; }
  .utility-mobile-actions .bc-icon { width: 17px; height: 17px; }
  .bc-source-utility { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}
