body[data-page="home"] .reviews-section [data-home-review-track] { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 24px) / 3); gap: 12px; align-items: stretch; overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
body[data-page="home"] .reviews-section [data-home-review-track] > article { min-width: 0; scroll-snap-align: start; }
body[data-page="home"] .reviews-section [data-home-review-track][data-empty="true"] { display: block; }
.hh-home-review-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0 0 16px; }
.hh-home-review-controls[hidden] { display: none; }
.hh-home-review-controls button { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--carbon); }
.hh-home-review-controls button:disabled { opacity: .35; cursor: default; }
.hh-home-review-controls span { margin-right: 4px; color: var(--muted); font: 400 12px/1.5 var(--body); }
.hh-home-review-empty { grid-column: 1 / -1; padding: 28px; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: #fff; font: 400 14px/1.6 var(--body); }
.hh-home-review-verified { display: inline-block; margin-top: 6px; color: #277056; font-size: 11px; }
@media (max-width: 991px) { body[data-page="home"] .reviews-section [data-home-review-track] { grid-auto-columns: calc((100% - 12px) / 2); } }
@media (max-width: 575px) { body[data-page="home"] .reviews-section [data-home-review-track] { grid-auto-columns: 100%; } }

/* Google review excerpts are a separate source from the approved product-review feed. */
body[data-page="home"] .reviews-section[hidden] { display: none !important; }
.hh-google-reviews { background: #faf9f7; }
.hh-google-reviews__heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 24px; }
.hh-google-reviews__heading h2 { margin: 0 0 8px; color: var(--carbon, #151719); font: 800 clamp(28px, 3vw, 36px)/1.05 var(--display, sans-serif); text-transform: uppercase; }
.hh-google-reviews__heading p { margin: 0; color: var(--muted, #697077); font: 400 14px/1.6 var(--body, sans-serif); }
.hh-google-reviews__heading .eyebrow { display: block; margin-bottom: 8px; }
.hh-google-reviews__source { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 0; color: var(--carbon, #151719); text-decoration: none; font: 500 13px/1.5 var(--body, sans-serif); }
.hh-google-reviews__source > span:last-child { padding-right: 16px; text-decoration: underline; text-underline-offset: 4px; }
.hh-google-reviews__logo { display: grid; place-items: center; width: 72px; height: 72px; padding: 0; background: #fff; border-radius: 6px; box-sizing: border-box; }
/* The official file includes its own required clear space; its full canvas renders at72px. */
.hh-google-reviews__logo img { display: block; width: 72px; height: 72px; object-fit: contain; opacity: 1; filter: none; }
.hh-google-reviews__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); align-items: stretch; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0; padding: 3px 0 8px; scrollbar-width: none; -ms-overflow-style: none; }
.hh-google-reviews__track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.hh-google-review { display: flex; flex-direction: column; min-width: 0; min-height: 320px; margin: 0; padding: 24px; border: 1px solid var(--line, #e7e8ea); border-radius: 12px; background: #fff; scroll-snap-align: start; box-sizing: border-box; }
.hh-google-review__author { display: flex; align-items: center; gap: 12px; }
.hh-google-review__initials { display: grid; flex: 0 0 40px; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #454b50; background: #f0f1f2; font: 600 12px/1 var(--body, sans-serif); }
.hh-google-review__author h3 { margin: 0; color: var(--carbon, #151719); font: 600 14px/1.5 var(--body, sans-serif); overflow-wrap: anywhere; }
.hh-google-review__stars { margin-top: 18px; color: #e9a008; font-size: 18px; line-height: 1; letter-spacing: 1px; }
.hh-google-review__stars > span { display: inline-flex; gap: 2px; }
.hh-google-review blockquote { margin: 16px 0 24px; padding: 0; border: 0; }
.hh-google-review blockquote p { margin: 0; color: #454b50; font: 400 14px/1.75 var(--body, sans-serif); }
.hh-google-review footer { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: auto; padding-top: 16px; border-top: 1px solid #f0f1f2; font: 400 11px/1.5 var(--body, sans-serif); color: var(--muted, #697077); }
.hh-google-review footer a { display: inline-flex; align-items: center; gap: 6px; min-height: 24px; color: var(--orange-dark, #a8440d); text-decoration: none; font-size: 12px; font-weight: 600; }
.hh-google-review footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.hh-google-reviews__controls { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 16px; }
.hh-google-reviews__controls[hidden], .hh-google-reviews__controls [hidden] { display: none !important; }
.hh-google-reviews__position { margin-right: 8px; color: var(--muted, #697077); font: 400 12px/1.5 var(--body, sans-serif); }
.hh-google-reviews__controls button { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid #d9dcdf; border-radius: 8px; background: #fff; color: var(--carbon, #151719); font: 500 18px/1 var(--body, sans-serif); cursor: pointer; }
.hh-google-reviews__controls button:hover:not(:disabled) { border-color: var(--orange, #ba5011); color: var(--orange-dark, #a8440d); }
.hh-google-reviews__controls button:disabled { opacity: .35; cursor: default; }
.hh-google-reviews a:focus-visible, .hh-google-reviews button:focus-visible, .hh-google-reviews__track:focus-visible { outline: 2px solid var(--orange, #ba5011); outline-offset: 3px; }
.hh-google-reviews__announcement { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 991px) { .hh-google-reviews__track { grid-auto-columns: calc((100% - 16px) / 2); } }
@media (max-width: 575px) {
  .hh-google-reviews__heading { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 18px; }
  .hh-google-reviews__source { margin-left: 0; }
  .hh-google-reviews__track { grid-auto-columns: 100%; }
  .hh-google-review { min-height: 320px; padding: 22px; }
  .hh-google-reviews__controls { justify-content: center; margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) { .hh-google-reviews__track { scroll-behavior: auto; } }
