
/* Design tokens (Precision) */
.reviews-v2 {
  /* Mapped to the theme palette (children/sharp_neighborly/_variables-color-config.scss).
     In the SCSS conversion these become colorGet('primary') etc. — not hardcoded hex. */
  --pg-green: #134C3E;    /* theme 'primary' (dark green) */
  --pg-red: #ba1835;      /* site CTA red (Book-Now); theme has no red token */
  --pg-grey: #333333;     /* theme body text color */
  --pg-black: #161616;    /* near-black for body copy */
  --pg-muted: #737373;    /* neutral muted */
  --pg-bg: #f9faf5;       /* subtle off-white hero bg (neutral, not a brand color) */
  --pg-card-border: #e8e8e8;

  /* Content width — single source of truth. Matches the shared site container
     (bootstrap .container = 1164px / 12px gutters). Change here to reflow every section. */
  --rv2-cw: 1320px; /* TEMP just testing out */
  --rv2-gutter: 12px;

  font-family: Roboto, sans-serif; /* use the theme's already-loaded font (no new dependency) */
  color: var(--pg-black);
}

/* Smooth-scroll to the review list from the hero "N Reviews" link.
   Scoped to v2 pages since this stylesheet only loads there. */


header a, header a:visited { text-decoration: none !important; }

/* ------------------------------- HERO ------------------------------- */
.reviews-v2 .rv2-hero {
  background: var(--pg-bg);
  width: 100%;
}
.reviews-v2 .rv2-hero__inner {
  padding-top: 14px;
  padding-bottom: 14px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

/* Left column — text */
.reviews-v2 .rv2-hero__text {
  flex: 0 0 548px;
  max-width: 548px;
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding: 10px 0;
}

/* Breadcrumb pill */
.reviews-v2 .rv2-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 7px 0;
  line-height: 1.4;
}
/* Size set on each child explicitly so theme link/nav rules can't override via inheritance. */
.reviews-v2 .rv2-breadcrumb,
.reviews-v2 .rv2-breadcrumb a,
.reviews-v2 .rv2-breadcrumb span { font-size: 13px; line-height: 1.4; }
.reviews-v2 .rv2-breadcrumb a { color: var(--pg-muted); text-decoration: none; }
.reviews-v2 .rv2-breadcrumb a:hover { text-decoration: underline; }
.reviews-v2 .rv2-breadcrumb .rv2-breadcrumb__current { color: #0a0a0a; }
.reviews-v2 .rv2-breadcrumb__sep { color: var(--pg-muted); }

/* Review stat card */
.reviews-v2 .rv2-statcard {
  background: #fff;
  border: 1px solid var(--pg-card-border);
  border-radius: 8px;
  box-shadow: 10px 4px 20px rgba(0,0,0,0.16);
  padding: 16px 20px;
  display: inline-flex;
  flex-direction: column;
  gap: 10px;
  align-self: flex-start;
}
.reviews-v2 .rv2-statcard__row { display: flex; align-items: center; gap: 12px; }
.reviews-v2 .rv2-statcard__avg { color: var(--pg-green); font-weight: 800; font-size: 20px; line-height: 20px; }
.reviews-v2 .rv2-statcard__stars { display: inline-flex; align-items: center; }
.reviews-v2 .rv2-statcard__stars img { width: 20px; height: 20px; }
.reviews-v2 .rv2-statcard__count { color: var(--pg-green); font-size: 16px; }
.reviews-v2 .rv2-statcard__from { margin: 0; color: var(--pg-green); font-size: 16px; line-height: 20px; }
.reviews-v2 .rv2-statcard__from strong { font-weight: 700; }

/* Headline block */
.reviews-v2 .rv2-hero__headline { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.reviews-v2 .rv2-hero__h1 {
  margin: 0;
  font-weight: 700;
  font-size: 38px;
  line-height: 1.15;
  color: var(--pg-grey);
}
.reviews-v2 .rv2-hero__h1 .rv2-hero__h1-loc { color: var(--pg-green); display: block; }
.reviews-v2 .rv2-hero__subtitle {
  margin: 0;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  color: var(--pg-green);
  text-transform: capitalize;
}
.reviews-v2 .rv2-hero__body {
  margin: 0;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  color: var(--pg-black);
}
.reviews-v2 .rv2-hero__address {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--pg-green);
}

/* Actions */
.reviews-v2 .rv2-actions { display: flex; gap: 16px; flex-wrap: wrap; }
.reviews-v2 .rv2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 54px;
  padding: 10px 24px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.5;
  text-decoration: none;
  border: 1px solid transparent;
}
.reviews-v2 .rv2-btn svg { width: 24px; height: 24px; flex: 0 0 24px; }
.reviews-v2 .rv2-btn { transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease; }
.reviews-v2 .rv2-btn--primary { background: var(--pg-red); color: #fff; }
.reviews-v2 .rv2-btn--primary svg { fill: #fff; }
.reviews-v2 .rv2-btn--primary:hover { background: #971428; box-shadow: 0 4px 12px rgba(186,24,53,0.3); }
.reviews-v2 .rv2-btn--secondary { background: transparent; color: var(--pg-red); border-color: var(--pg-red); }
.reviews-v2 .rv2-btn--secondary svg { fill: var(--pg-red); }
.reviews-v2 .rv2-btn--secondary:hover { background: transparent; color: var(--pg-green); border-color: var(--pg-green); }
.reviews-v2 .rv2-btn--secondary:hover svg { fill: var(--pg-green); }
/* ghost = white outline on dark backgrounds (bottom CTA) */
.reviews-v2 .rv2-btn--ghost { background: transparent; color: #ffffff; border-color: #ffffff; }
.reviews-v2 .rv2-btn--ghost svg { fill: #ffffff; }
/* underline the label on hover (hero + CTA buttons) */
.reviews-v2 .rv2-btn:hover { text-decoration: underline; }
/* ghost (CTA tollfree): no bg change on hover, just the underline above */

/* Right column — image area */
.reviews-v2 .rv2-hero__media {
  position: relative;
  flex: 1 1 739px;
  min-height: 480px;
}
.reviews-v2 .rv2-hero__img {
  position: absolute;
  top: 36px;
  right: 0;
  width: 580px;
  max-width: 88%;
  aspect-ratio: 649 / 469; 
  object-fit: cover;
  border-radius: 20px;
}

/* Coupon badge (seal) */
.reviews-v2 .rv2-badge {
  position: absolute;
  top: 4px;
  left: 16px;
  width: 192px;
  height: 192px;
  transform: rotate(7.59deg);
  z-index: 3;
  transition: transform 0.25s ease;
}
.reviews-v2 .rv2-badge:hover { transform: rotate(7.59deg) scale(1.06); }
.reviews-v2 .rv2-badge__seal {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 6px 14px rgba(0,0,0,0.28));
  transition: filter 0.25s ease;
}
.reviews-v2 .rv2-badge:hover .rv2-badge__seal { filter: drop-shadow(0 12px 24px rgba(0,0,0,0.4)); }
.reviews-v2 .rv2-badge__content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px 30px;
  color: #fff;
}
.reviews-v2 .rv2-badge__price {
  position: relative;
  display: inline-block;
  color: #FFB900;
  font-style: italic;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
}
.reviews-v2 .rv2-badge__strike {
  position: absolute;
  left: -8%;
  top: 50%;
  width: 116%;
  height: 4px;
  background: var(--pg-red);
  border-radius: 2px;
  box-shadow: 0 3px 3px rgba(0,0,0,0.25);
  transform: rotate(-5deg);
  transform-origin: center;
}
.reviews-v2 .rv2-badge__free { font-size: 26px; font-weight: 800; line-height: 1; letter-spacing: 0.5px; }
.reviews-v2 .rv2-badge__service { font-size: 14px; font-weight: 600; color: #FFB900; line-height: 1.1; margin-top: 2px; }
.reviews-v2 .rv2-badge__with { font-size: 10px; font-weight: 700; line-height: 1.2; margin-top: 5px; }
.reviews-v2 .rv2-badge__terms { font-size: 7px; line-height: 1.25; margin-top: 4px; opacity: 0.9; max-width: 115px; }

/* Serving card overlay */
.reviews-v2 .rv2-serving {
  position: absolute;
  left: 14px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(50px);
  border-radius: 20px;
  padding: 10px 22px 10px 12px;
  box-shadow: 10px 4px 40px rgba(0,0,0,0.16), 0 9px 25px rgba(191,185,202,0.2);
  z-index: 2;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.reviews-v2 .rv2-serving:hover {
  transform: translateY(-3px);
  box-shadow: 10px 10px 44px rgba(0,0,0,0.22), 0 12px 28px rgba(191,185,202,0.28);
}
.reviews-v2 .rv2-serving__icon {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid #dce2fc;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(#ffffff, #f8f8f8);
  box-shadow: inset 0 -3px 5.6px rgba(215,214,214,0.6);
}
.reviews-v2 .rv2-serving__icon svg { width: 28px; height: 28px; fill: var(--pg-green); }
.reviews-v2 .rv2-serving__text { width: 210px; }
.reviews-v2 .rv2-serving__heading { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--pg-green); }
.reviews-v2 .rv2-serving__sub { margin: 8px 0 0; font-size: 12px; line-height: 1.5; color: var(--pg-green); }

/* Truck */
.reviews-v2 .rv2-truck {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 322px;
  max-width: 45%;
  height: auto;
  z-index: 1;
}

/* ------------------------------- INTRO + MAP ----------------------- */
.reviews-v2 .rv2-intro { background: #ffffff; padding: 44px 0 40px; }
/* No-map variant: the trust items fill the right column (where the map would be) */
.reviews-v2 .rv2-intro__features-col { flex: 1 1 663px; display: flex; align-items: center; }
.reviews-v2 .rv2-intro__features-col .rv2-features { width: 100%; margin-top: 0; }
.reviews-v2 .rv2-intro__inner {
  display: flex;
  gap: 48px;
  align-items: center;
}
.reviews-v2 .rv2-intro__text { flex: 1 1 591px; }
.reviews-v2 .rv2-intro__h2 {
  margin: 0 0 16px;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  color: var(--pg-green);
}
.reviews-v2 .rv2-intro__p,
.reviews-v2 .rv2-intro__body p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.7;
  color: var(--pg-black);
}
.reviews-v2 .rv2-features {
  display: flex;
  margin-top: 24px;
}
.reviews-v2 .rv2-feature {
  flex: 1 1 0;
  text-align: center;
  padding: 0 12px;
}
.reviews-v2 .rv2-feature + .rv2-feature { border-left: 1px solid var(--pg-card-border); }
.reviews-v2 .rv2-feature__icon { width: 30px; height: 30px; fill: var(--pg-green); }
.reviews-v2 .rv2-feature__title { margin: 8px 0 2px; font-weight: 700; font-size: 16px; color: var(--pg-green); }
.reviews-v2 .rv2-feature__sub { margin: 0; font-size: 13px; line-height: 1.4; color: var(--pg-muted); }

.reviews-v2 .rv2-intro__map {
  flex: 1 1 663px;
  position: relative;
  min-height: 427px;
}
.reviews-v2 .rv2-intro__map-frame {
  width: 100%;
  height: 427px;
  border: 0;
  border-radius: 16px;
  display: block;
}
/* serving-card variant used on the map (adds the "View all Service Areas" link) */
.reviews-v2 .rv2-serving--map { left: 24px; bottom: 16px; }
.reviews-v2 .rv2-serving--map .rv2-serving__text { width: auto; min-width: 210px; max-width: 320px; }
.reviews-v2 .rv2-serving__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--pg-green);
  text-decoration: underline;
}
.reviews-v2 .rv2-serving__link svg { width: 14px; height: 14px; fill: none; stroke: var(--pg-green); stroke-width: 2; }

@media (max-width: 992px) {
  .reviews-v2 .rv2-intro__inner { flex-direction: column; align-items: stretch; }
  .reviews-v2 .rv2-intro__text { flex: none; }
  .reviews-v2 .rv2-intro__map { flex: none; min-height: 0; }
  .reviews-v2 .rv2-intro__features-col { flex: none; }
}
@media (max-width: 600px) {
  .reviews-v2 .rv2-intro__h2 { font-size: 24px; }
  .reviews-v2 .rv2-features { flex-direction: column; gap: 16px; }
  .reviews-v2 .rv2-feature + .rv2-feature { border-left: 0; border-top: 1px solid var(--pg-card-border); padding-top: 16px; }
}

/* ------------------------------- BACK TO TOP ---------------------- */
.reviews-v2 .rv2-to-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 50;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  background: var(--pg-green);
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.reviews-v2 .rv2-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.reviews-v2 .rv2-to-top:hover { background: #0d3a2f; }
.reviews-v2 .rv2-to-top svg { width: 22px; height: 22px; }

/* ------------------------------- BOTTOM CTA ----------------------- */
.reviews-v2 .rv2-cta { background: #ffffff; padding: 8px 0 54px; }
.reviews-v2 .rv2-cta__banner {
  background: var(--pg-green);
  border-radius: 20px;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.reviews-v2 .rv2-cta__left { display: flex; align-items: center; gap: 24px; }
.reviews-v2 .rv2-cta__icon { flex: 0 0 auto; width: 64px; height: 64px; color: #ffffff; }
.reviews-v2 .rv2-cta__copy { color: #ffffff; }
.reviews-v2 .rv2-cta__title { margin: 0; font-weight: 700; font-size: 24px; line-height: 1.25; }
.reviews-v2 .rv2-cta__sub { margin: 4px 0 0; font-weight: 400; font-size: 18px; line-height: 1.4; }
.reviews-v2 .rv2-cta__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

@media (max-width: 768px) {
  .reviews-v2 .rv2-cta__banner { flex-direction: column; align-items: flex-start; }
  .reviews-v2 .rv2-cta__icon { width: 44px; height: 44px; }
  .reviews-v2 .rv2-cta__actions { width: 100%; flex-direction: column; }
  .reviews-v2 .rv2-cta__actions .rv2-btn { width: 100%; }
}

/* ------------------------------- REVIEW MASONRY ------------------- */
.reviews-v2 .rv2-masonry { background: #ffffff; padding: 40px 0 48px; }
.reviews-v2 .rv2-masonry__title { margin: 0 0 24px; font-weight: 700; font-size: 24px; line-height: 1.2; color: var(--pg-green); }
.reviews-v2 .rv2-masonry__grid { columns: 2; column-gap: 24px; }

.reviews-v2 .rv2-card {
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 24px;
  background: #ffffff;
  border: 2px solid #eaeff3;
  border-radius: 20px;
  overflow: hidden;
}
.reviews-v2 .rv2-card__body { padding: 22px 24px; }
.reviews-v2 .rv2-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reviews-v2 .rv2-card__name { margin: 0; font-weight: 700; font-size: 18px; color: #333333; }
.reviews-v2 .rv2-card__stars { display: inline-flex; align-items: center; flex: 0 0 auto; }
.reviews-v2 .rv2-card__stars img { width: 16px; height: 16px; }
.reviews-v2 .rv2-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.reviews-v2 .rv2-card__loc, .reviews-v2 .rv2-card__date { display: inline-flex; align-items: center; gap: 5px; font-size: 14px; color: #62748e; }
.reviews-v2 .rv2-card__loc svg, .reviews-v2 .rv2-card__date svg { width: 14px; height: 14px; fill: currentColor; flex: 0 0 auto; }
.reviews-v2 .rv2-card__text { margin: 14px 0 0; font-size: 15px; line-height: 1.6; color: #333333; white-space: pre-wrap; }

.reviews-v2 .rv2-card__response { margin-top: 16px; background: #fefaf4; border: 1px solid #c0a278; border-radius: 16px; padding: 12px 14px; }
.reviews-v2 .rv2-card__response-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.reviews-v2 .rv2-card__response-from { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; color: var(--pg-green); }
.reviews-v2 .rv2-card__response-from svg { width: 18px; height: 18px; fill: currentColor; flex: 0 0 auto; }
.reviews-v2 .rv2-card__owner-badge { background: #f3fff0; color: #0c7460; font-size: 12px; font-weight: 500; padding: 1px 8px; border-radius: 18px; white-space: nowrap; }
.reviews-v2 .rv2-card__response-text { margin: 8px 0 0; font-size: 14px; line-height: 1.55; color: #393939; white-space: pre-wrap; }

/* Source slot before the stars: external-platform logo, or a "?" transparency badge */
.reviews-v2 .rv2-card__source { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; margin-right: 6px; }
.reviews-v2 .rv2-card__source--platform img { width: 18px; height: 18px; display: block; }
.reviews-v2 .rv2-card__source--info { position: relative; width: 16px; height: 16px; border-radius: 50%; background: #e2e8f0; color: #62748e; font-size: 11px; font-weight: 700; line-height: 1; cursor: help; }
.reviews-v2 .rv2-card__source-tip { position: absolute; top: calc(100% + 8px); right: 0; left: auto; width: 240px; max-width: 80vw; background: #1f2937; color: #fff; font-size: 12px; font-weight: 400; line-height: 1.45; text-align: left; padding: 8px 10px; border-radius: 8px; opacity: 0; visibility: hidden; transition: opacity .15s ease; z-index: 5; pointer-events: none; }
.reviews-v2 .rv2-card__source--info:hover .rv2-card__source-tip,
.reviews-v2 .rv2-card__source--info:focus .rv2-card__source-tip { opacity: 1; visibility: visible; }

/* Location is a link to the city reviews page (keeps the muted text colour, underline on hover) */
.reviews-v2 .rv2-card__loc { text-decoration: none; }
.reviews-v2 .rv2-card__loc:hover { text-decoration: underline; }

/* Threaded review comments (rare) */
.reviews-v2 .rv2-card__comment { margin-top: 12px; background: #f6f8fa; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 14px; }
.reviews-v2 .rv2-card__comment--response { background: #fefaf4; border-color: #c0a278; }
.reviews-v2 .rv2-card__comment-from { margin: 0; font-weight: 600; font-size: 14px; color: var(--pg-green); }
.reviews-v2 .rv2-card__comment-text { margin: 6px 0 0; font-size: 14px; line-height: 1.55; color: #393939; white-space: pre-wrap; }

.reviews-v2 .rv2-card__tech { display: flex; align-items: center; gap: 16px; padding: 16px 24px; background: #fafafa; border-top: 1px solid #f0f0f0; }
.reviews-v2 .rv2-card__tech-avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: #fff; flex: 0 0 auto; }
.reviews-v2 .rv2-card__tech-info p { margin: 0; font-size: 14px; line-height: 1.5; color: #333333; }
.reviews-v2 .rv2-card__tech-label { color: #666666; }
.reviews-v2 .rv2-card__tech-avatar-link { display: inline-flex; flex: 0 0 auto; }
.reviews-v2 .rv2-card__tech-link,
.reviews-v2 .rv2-card__tech-link strong { font-size: 14px; }
.reviews-v2 .rv2-card__tech-link { color: var(--pg-green); text-decoration: none; }
.reviews-v2 .rv2-card__tech-link:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .reviews-v2 .rv2-masonry__grid { columns: 1; }
}

/* Pagination row (above the bottom CTA) */
.reviews-v2 .rv2-pagination {
  padding-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.reviews-v2 .rv2-pagination__prev { margin-right: auto; }
.reviews-v2 .rv2-pagination__next { margin-left: auto; }

/* --------------------- WHAT CUSTOMERS ARE SAYING ------------------- */
.reviews-v2 .rv2-cs { background: #ffffff; padding: 16px 0 48px; }
.reviews-v2 .rv2-cs__card {
  background: #f0f4f3;
  border: 1px solid var(--pg-green);
  border-radius: 20px;
  padding: 32px 28px;
  display: flex;
  gap: 28px;
  align-items: stretch;
}
.reviews-v2 .rv2-cs__summary { flex: 0 0 40%; max-width: 501px; }
.reviews-v2 .rv2-cs__title { margin: 0 0 8px; font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--pg-green); }
.reviews-v2 .rv2-cs__meta { margin: 0 0 12px; display: flex; align-items: center; gap: 6px; font-size: 15px; color: var(--pg-black); }
.reviews-v2 .rv2-cs__ai {
  flex: 0 0 auto;
  width: 30px;
  height: 26px;
  background: url("img/ai_icon.png") no-repeat center / contain;
}
.reviews-v2 .rv2-cs__count { color: var(--pg-green); font-weight: 600; }
.reviews-v2 .rv2-cs__text { margin: 0; font-size: 14px; line-height: 1.7; color: var(--pg-black); }

.reviews-v2 .rv2-cs__divider { flex: 0 0 1px; background: rgba(5,67,55,0.18); align-self: stretch; }

.reviews-v2 .rv2-cs__themes { flex: 1 1 auto; }
.reviews-v2 .rv2-cs__themes-title { margin: 0 0 16px; font-weight: 700; font-size: 18px; line-height: 1.3; color: var(--pg-green); }
.reviews-v2 .rv2-cs__chips { display: flex; flex-wrap: wrap; gap: 12px; }
.reviews-v2 .rv2-cs__chip {
  display: inline-flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(5,67,55,0.14);
  border-radius: 6px;
  padding: 6px 12px 6px 6px;
  box-shadow: 0 9px 25px rgba(191,185,202,0.2);
  cursor: default;
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.reviews-v2 .rv2-cs__chip:hover {
  background: #ffffff;
  border-color: var(--pg-green);
  box-shadow: 0 8px 18px rgba(5,67,55,0.18);
  transform: translateY(-2px);
}
.reviews-v2 .rv2-cs__chip-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 28px;
  background: rgba(255,255,255,0.6);
  border: 0.5px solid #a0a3bd;
  border-radius: 6px;
  color: var(--pg-green);
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.reviews-v2 .rv2-cs__chip:hover .rv2-cs__chip-icon {
  background: var(--pg-green);
  border-color: var(--pg-green);
  color: #ffffff;
}
.reviews-v2 .rv2-cs__chip-icon svg { width: 18px; height: 18px; }
.reviews-v2 .rv2-cs__chip-label { font-size: 16px; font-weight: 600; color: var(--pg-green); white-space: nowrap; }
.reviews-v2 .rv2-cs__chip-count { font-weight: 400; }

@media (max-width: 992px) {
  .reviews-v2 .rv2-cs__card { flex-direction: column; }
  .reviews-v2 .rv2-cs__summary { flex-basis: auto; max-width: none; }
  .reviews-v2 .rv2-cs__divider { flex-basis: 1px; width: 100%; height: 1px; }
}
@media (max-width: 600px) {
  /* Stack the review count under "Summary generated from" instead of beside it. */
  .reviews-v2 .rv2-cs__meta { flex-wrap: wrap; }
  .reviews-v2 .rv2-cs__count { flex-basis: 100%; }
}

/* ------------------------------- LOGOS (auto-scroll marquee) -------- */
.reviews-v2 .rv2-logos {
  background: #ffffff;
  padding: 20px 0 8px;
}
.reviews-v2 .rv2-logos__viewport {
  /* Centered horizontally by the shared container rule below; this just clips the marquee. */
  overflow: hidden;
  /* soft fade on both edges */
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}
.reviews-v2 .rv2-logos__track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: rv2-logos-scroll 35s linear infinite;
}
.reviews-v2 .rv2-logos__track:hover { animation-play-state: paused; }
.reviews-v2 .rv2-logos__item {
  display: flex;
  align-items: center;
  margin-right: 56px; /* trailing margin on every item → -50% loop is seamless */
  flex: 0 0 auto;
}
.reviews-v2 .rv2-logos__item img {
  max-height: 58px;
  width: auto;
  filter: grayscale(1);
  opacity: 0.7;
  transition: filter 0.2s ease, opacity 0.2s ease;
}
.reviews-v2 .rv2-logos__item:hover img { filter: grayscale(0); opacity: 1; }

@keyframes rv2-logos-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); } /* exactly one copy width (two identical halves) */
}
@media (prefers-reduced-motion: reduce) {
  .reviews-v2 .rv2-logos__track { animation: none; flex-wrap: wrap; justify-content: center; width: 100%; }
}
@media (max-width: 600px) {
  .reviews-v2 .rv2-logos__item { margin-right: 36px; }
  .reviews-v2 .rv2-logos__item img { max-height: 44px; }
}

/* ---------------------------- RESPONSIVE ---------------------------- */
@media (max-width: 992px) {
  .reviews-v2 .rv2-hero__inner { flex-direction: column; align-items: stretch; }
  .reviews-v2 .rv2-hero__text { flex: none; max-width: none; }
  .reviews-v2 .rv2-hero__media { flex: none; min-height: 0; }
  .reviews-v2 .rv2-hero__img { position: relative; top: 0; width: 100%; max-width: 100%; }
  .reviews-v2 .rv2-badge { top: 8px; left: 8px; transform: rotate(7.59deg) scale(0.6); transform-origin: top left; }
  .reviews-v2 .rv2-serving { position: static; margin-top: 12px; }
  .reviews-v2 .rv2-truck { display: none; }
}
@media (max-width: 600px) {
  .reviews-v2 .rv2-hero__h1 { font-size: 34px; line-height: 1.15; }
  .reviews-v2 .rv2-hero__subtitle { font-size: 24px; }
  .reviews-v2 .rv2-hero__body { font-size: 18px; line-height: 1.6; }
  .reviews-v2 .rv2-badge { transform: rotate(7.59deg) scale(0.46); transform-origin: top left; }
  .reviews-v2 .rv2-actions { flex-direction: column; }
  .reviews-v2 .rv2-actions .rv2-btn { width: 100%; }
}

.reviews-v2 .rv2-hero__inner,
.reviews-v2 .rv2-intro__inner,
.reviews-v2 .rv2-cs__inner,
.reviews-v2 .rv2-masonry__inner,
.reviews-v2 .rv2-cta__inner,
.reviews-v2 .rv2-logos__viewport,
.reviews-v2 .rv2-pagination {
  max-width: var(--rv2-cw);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--rv2-gutter);
  padding-right: var(--rv2-gutter);
}
