/* Customer reviews slider.
   Every quote is reproduced as the reviewer published it on Google Play or the
   App Store, including their own spelling. Cards are divider-separated rather
   than boxed, and the track is a native scroll-snap strip. */

.revs{background:#fff}

/* ------------------------------------------------------------- star marks */
/* A grey row sits underneath and a gold row is clipped to --pct on top, so a
   fractional rating cuts a star part way instead of rounding it. */
.rvw-stars{position:relative;display:inline-flex;gap:3px;flex:none;vertical-align:middle}
.rvw-stars svg{width:16px;height:16px;flex:none;display:block}
.rvw-stars .base{display:flex;gap:3px}
.rvw-stars .base svg{fill:var(--n-200)}
.rvw-fill{position:absolute;top:0;left:0;bottom:0;width:var(--pct,0%);
  overflow:hidden;display:flex;gap:3px}
.rvw-fill svg{fill:#F5A623}

/* ================================================================= slider */
.rvw-slider{position:relative;margin-top:36px}

/* Native overflow scrolling with snap points: touch swipe, trackpad and
   keyboard all work without a library, and the script only has to set
   scrollLeft. */
.rvw-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  border-top:1px solid var(--n-150);border-bottom:1px solid var(--n-150)}
.rvw-track::-webkit-scrollbar{display:none}

.rvw-q{flex:0 0 33.3333%;scroll-snap-align:start;margin:0;
  display:flex;flex-direction:column;padding:34px 32px 30px;
  border-left:1px solid var(--n-150)}
.rvw-q:first-child{border-left:none}

.rvw-mk{width:30px;height:14px;flex:none;margin-bottom:22px;fill:var(--n-200)}

.rvw-q blockquote{margin:0 0 26px;font-size:15px;line-height:1.72;color:var(--n-600)}

.rvw-q figcaption{margin-top:auto}
.rvw-name{display:block;font-family:var(--f-header);font-weight:700;font-size:20px;
  line-height:1.2;letter-spacing:-.01em;color:var(--navy-900);margin-bottom:6px}
.rvw-line{display:flex;align-items:center;justify-content:space-between;gap:14px}
.rvw-plat{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--n-500)}
.rvw-plat svg{width:14px;height:14px;flex:none;display:block}

/* ------------------------------------------------------------- slider nav */
.rvw-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}

.rvw-arrow{width:38px;height:38px;flex:none;display:grid;place-items:center;
  background:#fff;border:1px solid var(--n-200);border-radius:50%;cursor:pointer;
  color:var(--navy-900);transition:border-color .2s ease,background .2s ease,color .2s ease}
.rvw-arrow:hover{border-color:var(--brand-600);color:var(--brand-700);background:var(--n-50)}
.rvw-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}

.rvw-dots{display:flex;align-items:center;gap:8px}
.rvw-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:var(--n-200);transition:background .2s ease,width .2s ease}
.rvw-dot[aria-current="true"]{width:24px;border-radius:9999px;background:var(--brand-600)}

.rvw-foot{margin-top:20px;text-align:center;font-size:13px;color:var(--n-500)}
.rvw-foot a{color:var(--brand-700);font-weight:600}

@media(max-width:980px){
  .rvw-q{flex-basis:50%;padding:30px 26px 26px}
}
@media(max-width:640px){
  .rvw-q{flex-basis:100%;padding:28px 22px 24px}
  .rvw-name{font-size:18px}
}

/* Someone who has asked for less motion gets a static, scrollable strip: the
   script skips the timer, and smooth scrolling is dropped here too. */
@media(prefers-reduced-motion:reduce){
  .rvw-track{scroll-behavior:auto}
}
