/* Customer review bar — sits above the footer on every page.
   Scroll-snap strip (no autoplay: nothing moves unless the visitor asks). */

.reviews {
  background: var(--paper);
  border-top: 2px solid var(--green);
  padding-top: clamp(34px, 4vw, 56px);
  padding-bottom: clamp(34px, 4vw, 56px);
}
.reviews__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: clamp(18px, 2.4vw, 28px);
}
.reviews__head .kicker { margin: 0 0 6px 0; }
.reviews__title { font-size: clamp(24px, 2.6vw, 38px); color: var(--green); }

.reviews__arrows { display: none; flex: 0 0 auto; gap: 10px; }
@media (min-width: 800px) { .reviews__arrows { display: flex; } }
.reviews__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 2px solid var(--green);
  border-radius: 999px;
  background: var(--cream);
  color: var(--green);
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease, transform 0.12s ease;
}
.reviews__arrow:hover { transform: translateY(-2px); }
.reviews__arrow--gold { background: var(--gold); border-color: var(--gold); color: var(--ink); }

.reviews__strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 86%;
  gap: clamp(14px, 1.8vw, 26px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
  scrollbar-width: thin;
  scrollbar-color: var(--green) rgba(20, 68, 43, 0.12);
  overscroll-behavior-x: contain;
}
.reviews__strip::-webkit-scrollbar { height: 8px; }
.reviews__strip::-webkit-scrollbar-track { background: rgba(20, 68, 43, 0.1); border-radius: 999px; }
.reviews__strip::-webkit-scrollbar-thumb { background: var(--green); border-radius: 999px; }
.reviews__strip:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
@media (min-width: 700px) { .reviews__strip { grid-auto-columns: 46%; } }
@media (min-width: 1200px) { .reviews__strip { grid-auto-columns: 31.5%; } }
@media (min-width: 1800px) { .reviews__strip { grid-auto-columns: 23.8%; } }

.review {
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: clamp(18px, 2vw, 26px);
  background: var(--cream);
  border: 2px solid var(--green);
  border-radius: 12px;
}
.review__mark { color: var(--gold); flex: 0 0 auto; }
.review__title {
  font-family: var(--display);
  font-size: clamp(17px, 1.4vw, 20px);
  color: var(--green);
  line-height: 1.2;
}
.review__body { margin: 0; }
.review__body p { margin: 0; font-size: 15px; line-height: 1.65; }
.review__who {
  margin: auto 0 0 0;
  padding-top: 6px;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--red);
}

@media (prefers-reduced-motion: reduce) {
  .reviews__strip { scroll-behavior: auto; }
  .reviews__arrow:hover { transform: none; }
}

.reviews__arrows[hidden] { display: none !important; }
