/* Public reviews only. No global layout/admin inline styles. */
.sc-review-track, body.sc-home-v4 .sc-reviews-grid.sc-review-track {
  display: grid; grid-template-columns: none; grid-auto-flow: column;
  --sc-review-gap: 1.25rem;
  grid-auto-columns: calc((100% - 2 * var(--sc-review-gap)) / 2.15); gap: var(--sc-review-gap);
  overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
  position: relative; box-sizing: border-box; scroll-padding-inline: 2px;
  padding: .25rem 2px 1rem; scrollbar-width: thin; scrollbar-color: #a8d5e9 transparent;
}
.sc-review-track > figure { scroll-snap-align: start; min-width: 0; margin: 0; }
.sc-review-track.is-draggable { cursor: grab; }
.sc-review-track.is-pointer-down { user-select: none; -webkit-user-select: none; }
.sc-review-track.is-dragging,
body.sc-home-v4 .sc-reviews-grid.sc-review-track.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.sc-review-track.is-dragging * { cursor: grabbing; }
.sc-review-track:has(> :only-child),
body.sc-home-v4 .sc-reviews-grid.sc-review-track:has(> :only-child) { grid-auto-columns: 100%; }
@media(min-width:601px) {
  .sc-review-track:has(> :nth-child(2):last-child),
  body.sc-home-v4 .sc-reviews-grid.sc-review-track:has(> :nth-child(2):last-child) { grid-auto-columns: calc((100% - var(--sc-review-gap)) / 2); }
}
.sc-review-controls { display: flex; justify-content: flex-end; align-items: center; gap: .75rem; margin-top: 1rem; }
.sc-review-controls button { display: inline-flex; align-items: center; justify-content: center; width: 2.875rem; height: 2.875rem; padding: 0; border: 1px solid #b5d7e7; border-radius: 50%; background: #fff; color: #133f57; font: inherit; font-size: 1.4rem; cursor: pointer; }
.sc-review-controls button[hidden] { display: none; }
.sc-review-controls button:disabled { opacity: .4; cursor: default; }
.sc-review-controls button:not(:disabled):hover { color: #fff; background: #133f57; }
.sc-review-controls [data-review-position] { min-width: 3.25rem; font-size: .875rem; color: #55778a; text-align: center; }
.sc-review-track:focus-visible,.sc-review-controls button:focus-visible { outline: 3px solid #00a9e0; outline-offset: 3px; }
.sc-google-reviews { min-width: 0; }
.sc-google-review-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem; background: #edf8fd; border: 1px solid #cde7f3; border-radius: 1.5rem; }
.sc-google-review-summary p { margin: .25rem 0; }
.sc-google-review-summary strong { font-size: 2rem; color: #133f57; }
.sc-google-review-summary a { color: #007eac; }
.sc-review-selection { color: #55778a; font-size: .9375rem; }
.sc-google-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.sc-google-review-card { display: flex; flex-direction: column; padding: 1.75rem; margin: 0; border: 1px solid #dfeaf2; border-radius: 1.25rem; background: #f8fcff; overflow-wrap: anywhere; }
.sc-google-review-stars { color: #a86b00; letter-spacing: .12em; margin-bottom: 1rem; }
.sc-google-review-card blockquote { margin: 0 0 1.5rem; color: #284658; font-size: 1rem; line-height: 1.75; }
.sc-google-review-card figcaption { display: flex; flex-direction: column; gap: .25rem; margin-top: auto; color: #55778a; font-size: .875rem; }
.sc-google-review-card figcaption strong { color: #133f57; font-size: 1rem; }
@media(max-width:900px) { .sc-google-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .sc-review-track,body.sc-home-v4 .sc-reviews-grid.sc-review-track { --sc-review-gap: 1rem; grid-auto-columns: calc((100% - var(--sc-review-gap)) / 1.15); }
  .sc-review-track:has(> :only-child),body.sc-home-v4 .sc-reviews-grid.sc-review-track:has(> :only-child) { grid-auto-columns: 100%; }
  .sc-google-review-grid { grid-template-columns: minmax(0,1fr); }
  .sc-google-review-card { padding: 1.25rem; }
}
