/*
 * Google reviews (Featurable) — first-party styling to match the site.
 * Used on testimonial_<site>.html (wall + summary), contact-us pages (badge),
 * and the homepage reviews section. Classes are prefixed .rv-*.
 */

/* Wall: equal-height cards in the Bootstrap grid */
.rv-wall--loaded { display: flex; flex-wrap: wrap; }
.rv-col { margin-bottom: 30px; display: flex; }

.rv-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  border: 1px solid rgba(11, 15, 26, .08);
  border-radius: 14px;
  padding: 24px 24px 20px;
  box-shadow: 0 6px 22px rgba(11, 15, 26, .05);
  text-align: left;
}
.rv-head { display: flex; align-items: center; margin-bottom: 14px; }
.rv-avatar {
  width: 46px; height: 46px; border-radius: 50%; object-fit: cover;
  margin-right: 12px; flex: 0 0 auto; background: #f0c24b;
}
.rv-avatar--initial {
  display: inline-flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 20px; line-height: 1;
}
.rv-meta { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.rv-name { font-weight: 700; color: #0b0f1a; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rv-date { font-size: 13px; color: rgba(11, 15, 26, .5); margin-top: 2px; }
.rv-source { flex: 0 0 auto; margin-left: 10px; display: inline-flex; }
.rv-g { vertical-align: middle; }

.rv-stars { color: #fbbc04; font-size: 15px; letter-spacing: 1px; margin-bottom: 12px; }
.rv-stars .fa { margin-right: 1px; }

.rv-text {
  color: rgba(11, 15, 26, .8); line-height: 1.6; font-size: 15px; margin: 0 0 14px;
  flex: 1 1 auto;
  display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden;
}
.rv-card-link { margin-top: auto; }
.rv-readmore { font-size: 13px; font-weight: 600; color: #ea7066; }
.rv-card-link:hover .rv-readmore { color: #d4564b; }

/* "See all reviews on Google" card that fills the trailing grid slot */
.rv-cta-card {
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fbf7ef;
  border-style: dashed;
  border-color: rgba(11, 15, 26, .15);
}
.rv-cta-g svg { width: 34px; height: 34px; }
.rv-cta-title { font-weight: 700; font-size: 19px; color: #0b0f1a; margin: 14px 0 2px; }
.rv-cta-sub { color: rgba(11, 15, 26, .55); margin: 0 0 18px; font-size: 15px; }
.rv-cta-btn {
  display: inline-block; background: #ea7066; color: #fff;
  padding: 10px 20px; border-radius: 999px; font-weight: 600; text-decoration: none;
}
.rv-cta-btn:hover, .rv-cta-btn:focus { background: #d4564b; color: #fff; }
.rv-cta-btn .fa { margin-left: 6px; }

/* Summary line (testimonial page header / homepage) */
.rv-summary { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rv-summary-link { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; text-decoration: none; }
.rv-summary-rating { font-size: 32px; font-weight: 800; color: #0b0f1a; line-height: 1; }
.rv-summary .rv-stars, .rv-summary-link .rv-stars { font-size: 20px; margin: 0; }
.rv-summary-count { font-size: 15px; color: rgba(11, 15, 26, .6); display: inline-flex; align-items: center; gap: 6px; }

/* Compact badge for the enquiry pages (reuses .enquire-badge shape) */
.enquire-badge[data-reviews-badge] .rv-g { margin-right: 4px; }
.enquire-badge[data-reviews-badge] a { color: inherit; text-decoration: none; }
.enquire-badge[data-reviews-badge] strong { color: #0b0f1a; }

/* Homepage section */
.reviewsSection { padding: 70px 0; background: #fbf7ef; }
.reviewsSection .sectionTitle { margin-bottom: 26px; }
.reviewsSection .rv-summary { justify-content: center; margin-top: 10px; }

@media (max-width: 767px) {
  .rv-text { -webkit-line-clamp: 10; }
  .rv-summary-rating { font-size: 28px; }
}
