/* ===== TESTIMONIALS — Google reviews ===== */
.tst { --h: 572; background: transparent; }   /* inherit global body grey (#F6F6F6) */
.tst__track { display: contents; }             /* desktop: cards stay absolutely positioned in the stage */
.tst__car { display: contents; }               /* desktop: wrapper is transparent — children resolve to .stage */
.rev-slide { display: contents; }              /* desktop: slide wrapper transparent — .rev stays absolutely positioned */
.tst__title {
  position: absolute; top: 24px; left: 50%; transform: translateX(-50%);
  width: 633px; text-align: center; font-size: 42px; line-height: 48px; font-weight: 400; color: #000;
  transform: translate(-50%, -50%);
}
/* review cards */
.rev { position: absolute; top: 82px; width: 288.59px; height: 397px; background: #fff; }
.rev__quote { position: absolute; top: 20px; left: 24px; width: 23px; height: 23px; opacity: .5; }
.rev__g { position: absolute; top: 18px; right: 24px; width: 28px; height: 28px; }
.rev__stars { position: absolute; top: 54px; right: 24px; display: flex; gap: 3px; }
.rev__stars img { width: 21px; height: 21px; }
.rev__text {
  position: absolute; top: 98px; right: 24px; left: 24px;
  font-size: 20px; line-height: 28px; text-align: right; color: #161616;
}
.rev__name { position: absolute; bottom: 30px; right: 24px; font-weight: 700; font-size: 20px; color: #161616; }

/* google summary card */
.tsum {
  position: absolute; top: 82px; left: 1306.95px; width: 302px; height: 397.5px; background: #fff;
  display: flex; flex-direction: column; align-items: center;
}
.tsum__h { font-size: 30px; color: #071c37; margin-top: 22px; }
.tsum__logo { width: 123px; height: auto; margin-top: 14px; }
.tsum__score { font-size: 50px; font-weight: 700; color: #00132c; line-height: 1; margin-top: 18px; }
.tsum__stars { display: flex; gap: 5px; margin-top: 16px; }
.tsum__stars img { width: 28px; height: 28px; }
.tsum__based { font-size: 17px; color: #071c37; margin-top: 14px; }
.tsum__btn {
  margin-top: 16px; width: 184px; height: 48px; display: flex; direction: ltr; align-items: center;
  border: 1px solid var(--gold-btn); border-radius: 0; color: var(--green-900);
}
.tsum__btn .circ { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 0; border: 0; border-right: 1px solid var(--gold-btn); display: flex; align-items: center; justify-content: center; }
.tsum__btn .circ img { width: 24px; height: 24px; }
.tsum__btn .lbl { flex: 1; text-align: center; font-weight: 700; font-size: 20px; padding-left: 6px; }

.tst__chev { position: absolute; top: 252px; width: 50px; height: 50px; background: none; border: 0; padding: 0; }
.tst__chev img { width: 100%; height: 100%; }
.tst__chev--right { left: 1259px; }
.tst__chev--left { left: 290px; transform: scaleX(-1); }

@media (max-width: 1024px) {
  .tst { --h: auto; height: auto; }
  .tst .stage {
    position: relative; width: 100%; height: auto; transform: none;
    padding: 36px 0; display: flex; flex-direction: column; align-items: center;
  }
  .tst__title {
    position: relative; top: 0; left: 0; transform: none;
    width: auto; font-size: 26px; padding: 0 16px; margin-bottom: 22px; order: 0;
  }

  /* ── Figma mobile (5321-7339): summary card on TOP, centered ── */
  .tsum {
    position: relative; top: 0 !important; left: auto !important; right: auto !important;
    order: 1; width: calc(100% - 32px); max-width: 340px; height: auto;
    margin: 0 auto; padding: 22px 22px 26px;
    background: #fff; box-shadow: 0 4px 30px rgba(7,28,55,.1);
  }
  .tsum__h { font-size: 26px; margin-top: 0; }
  .tsum__logo { width: 123px; margin-top: 12px; }
  .tsum__score { font-size: 40px; margin-top: 16px; }
  .tsum__stars { margin-top: 14px; gap: 6px; }
  .tsum__stars img { width: 27px; height: 27px; }
  .tsum__based { font-size: 16px; margin-top: 12px; }
  .tsum__btn { margin-top: 18px; }

  /* ── testimonial carousel BELOW, one card at a time, arrows on the sides ── */
  .tst__car { display: block; position: relative; order: 2; width: 100%; margin-top: 30px; }
  .tst__track {
    display: flex; gap: 0; padding: 0;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .tst__track::-webkit-scrollbar { display: none; }
  /* each slide is a FULL viewport-width column → only one review is ever visible */
  .rev-slide {
    display: flex; justify-content: center; box-sizing: border-box;
    flex: 0 0 100%; width: 100%; padding: 0 40px; scroll-snap-align: center;
  }
  .rev {
    position: relative; top: 0 !important; left: auto !important; right: auto !important;
    flex: 0 0 100%; width: 100%; max-width: 302px; height: auto; min-height: 340px;
    margin: 0; padding: 72px 24px 30px;
    box-shadow: 0 4px 30px rgba(7,28,55,.1);
  }
  .rev__quote { top: 22px; right: auto; left: 24px; }
  .rev__g { top: 20px; right: 24px; }
  .rev__stars { top: 52px; right: 24px; }
  .rev__text { position: relative; top: 0; right: 0; left: 0; font-size: 18px; line-height: 27px; }
  .rev__name { position: relative; bottom: 0; right: 0; margin-top: 18px; font-size: 19px; }

  /* plain chevrons in the side gutters, centered on the testimonial card */
  .tst__chev {
    display: block; width: 30px; height: 30px; padding: 0;
    background: none; box-shadow: none; border-radius: 0; border: 0;
    z-index: 6; top: 50%; transform: translateY(-50%);
  }
  .tst__chev img { width: 100%; height: 100%; }
  .tst__chev--right { right: 2px; left: auto; }
  .tst__chev--left { left: 2px; right: auto; transform: translateY(-50%) scaleX(-1); }
}
