/* Eat Anywhere Tools – review slider. Card styling comes from Flatsome's testimonial classes. */
.grs-slider { --grs-gap: 30px; --grs-per-view: 3; position: relative; }
.grs-viewport { position: relative; }

.grs-track {
  display: flex;
  gap: var(--grs-gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  padding: 10px 2px 20px; /* room for the card shadow */
  outline: none;
}
.grs-track::-webkit-scrollbar { display: none; }

.grs-slide {
  flex: 0 0 calc((100% - (var(--grs-per-view) - 1) * var(--grs-gap)) / var(--grs-per-view));
  scroll-snap-align: start;
  display: flex;
}
.grs-slide.grs-new { animation: grs-fade .4s ease both; }
@keyframes grs-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.grs-card {
  background-color: #fff;
  border-radius: var(--grs-radius, 20px);
  width: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
}
.grs-card .testimonial-box,
.grs-card .icon-box-text { height: 100%; display: flex; flex-direction: column; }
.grs-card .testimonial-text { flex: 1; }
.grs-card .testimonial-meta { margin-top: auto; }

.grs-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-style: normal; }
.grs-head a { line-height: 0; }
.grs-logo { width: 48px; height: 48px; }
.grs-stars { font-size: 120%; font-style: normal; color: var(--grs-star, #fdc10b); letter-spacing: 1px; }
.grs-star-off { color: #ddd; }

.grs-text { font-size: 80%; }
.grs-text p { margin-bottom: 0; }
.grs-text.is-clamped {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.grs-more {
  background: none; border: 0; padding: 0; margin: 2px 0 0 !important;
  min-height: 0; line-height: 1.4;
  font-size: 80%; font-style: normal; text-transform: none;
  color: var(--fs-experimental-link-color, #2a1d17);
  text-decoration: underline; cursor: pointer;
}

.grs-card .testimonial-meta a { color: inherit; }
.grs-card .testimonial-meta a.testimonial-company:hover { text-decoration: underline; }
.grs-date { display: block; font-size: 75%; opacity: .6; margin-top: 2px; }

.grs-nav {
  position: absolute; top: 50%; z-index: 2;
  transform: translateY(-50%);
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; min-height: 0;
  margin: 0 !important; padding: 0;
  border: 0; border-radius: 50% !important;
  background: #fff; color: #333;
  box-shadow: 0 3px 12px rgba(0,0,0,.18);
  cursor: pointer;
  transition: opacity .2s, transform .2s;
}
.grs-nav:hover { transform: translateY(-50%) scale(1.06); }
.grs-nav svg { width: 24px; height: 24px; }
.grs-prev { left: -26px; }
.grs-next { right: -26px; }
.grs-nav:disabled { opacity: 0; pointer-events: none; }

.grs-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-top: 10px; }
.grs-slider .grs-btn {
  display: inline-block;
  margin: 0; padding: 0 1.2em;
  min-height: 2.3em; line-height: 2.3em;
  font-size: .9em; font-weight: 700; font-style: normal;
  letter-spacing: .02em; text-transform: none;
  background: var(--grs-btn-bg, #fdc10b);
  color: var(--grs-btn-color, #fff);
  border: 0;
  border-radius: var(--grs-btn-radius, 50px) !important; /* themes often force a radius on buttons */
  box-shadow: none;
  cursor: pointer;
  transition: filter .2s, opacity .2s;
}
.grs-slider .grs-btn:hover { filter: brightness(.93); }
.grs-load.is-loading { opacity: .6; pointer-events: none; }
.grs-all { font-size: .9em; font-weight: 700; text-decoration: none; }
.grs-all:hover { text-decoration: underline; }
.grs-all-star { color: var(--grs-star, #fdc10b); margin-right: 2px; }

@media (max-width: 849px) {
  .grs-slider { --grs-per-view: 2; --grs-gap: 20px; }
  .grs-nav { width: 44px; height: 44px; }
  .grs-prev { left: -10px; }
  .grs-next { right: -10px; }
}
@media (max-width: 549px) {
  .grs-slider { --grs-gap: 15px; }
  /* show a peek of the next card so it's obvious you can swipe */
  .grs-slide { flex-basis: 85%; }
  .grs-nav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .grs-track { scroll-behavior: auto; }
  .grs-slide.grs-new { animation: none; }
}
