#customer-reviews[hidden],
#customer-reviews [hidden] { display: none; }
main > .home-reviews.section {
  --review-paper: #fff8ef;
  --review-ink: #35251f;
  --review-accent: #993f2d;
  --review-line: #dfc8ba;
  --review-soft: #f1dfd1;
  padding-block: 20px 12px;
  background: var(--review-paper);
  color: var(--review-ink);
}
.review-gallery { max-width: 440px; margin: 0 auto; }
.review-kicker { margin: 0 0 5px; color: var(--review-accent); font-size: 11px; font-weight: 700; letter-spacing: .15em; }
.review-gallery h2 { margin: 0 0 13px; font: 700 clamp(23px, 7vw, 29px)/1.12 var(--sans); letter-spacing: -.02em; }
.review-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 68%;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.review-track::-webkit-scrollbar { display: none; }
.review-track > li {
  position: relative;
  min-width: 0;
  aspect-ratio: 3 / 4;
  scroll-snap-align: start;
  overflow: hidden;
  border: 1px solid var(--review-line);
  border-radius: 7px;
  background: var(--review-soft);
}
.review-track[data-single] { overflow: hidden; }
.review-track a { position: absolute; inset: 0; display: block; cursor: zoom-in; }
.review-track a:focus-visible { outline: 2px solid var(--review-accent); outline-offset: -3px; z-index: 1; }
.review-track img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.review-controls { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 6px; }
.review-arrows { display: flex; gap: 6px; }
.review-controls button, .review-lightbox-close { width: 44px; height: 44px; border: 1px solid var(--review-line); border-radius: 50%; color: var(--review-accent); font-size: 23px; line-height: 1; }
.review-controls button:disabled { opacity: .4; cursor: default; }
.review-controls output { font-size: 12px; color: var(--review-accent); font-variant-numeric: tabular-nums; }
.review-lightbox { inset: 0; margin: auto; width: min(94vw, 540px); max-height: 94dvh; padding: 10px; border: 1px solid var(--review-line); border-radius: 12px; background: var(--review-paper); color: var(--review-ink); }
.review-lightbox::backdrop { background: #251913b8; }
.review-lightbox-close { display: grid; place-items: center; margin: 0 0 6px auto; }
.review-lightbox img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(94dvh - 70px); object-fit: contain; margin: auto; }
body:has(.review-lightbox[open]) { overflow: hidden; }
