/* Google Reviews Importer - clean card look: [google_reviews_cards] + [google_rating_box] */
.gri-cw{
  --gri-c-accent:#0f7a6e;
  --gri-c-tint:#e3f3f0;
  --gri-c-star:#b87708;
  --gri-c-card:#fff;
  --gri-c-border:#dfe5e3;
  --gri-c-bg:transparent;
  --gri-c-text:#2a2623;
  --gri-c-muted:#6f7673;
  box-sizing:border-box;width:100%;padding:0;
  background:var(--gri-c-bg);color:var(--gri-c-text);
  font-family:inherit;line-height:1.5;text-align:left;
}
.gri-cw *,.gri-cw *::before,.gri-cw *::after{box-sizing:border-box}
.gri-cw-inner{display:flex;align-items:center;gap:28px;max-width:none;margin:0;padding:0}
.gri-cw-solo{width:auto;display:inline-block}

/* ---------- Rating box ---------- */
.gri-cw .gri-cbox{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding:26px 28px;min-width:200px;
  background:var(--gri-c-card);border:1px solid var(--gri-c-border);border-radius:16px;
  color:inherit;text-decoration:none;
}
.gri-cw a.gri-cbox:hover{border-color:var(--gri-c-accent)}
.gri-cw .gri-cbox-brand{display:block;font-size:28px;line-height:1.1;font-weight:700;letter-spacing:-.01em}
.gri-cw .gri-cbox-brand .gri-gword{font-weight:700}
.gri-cw .gri-cbox-score{display:flex;align-items:baseline;gap:6px;line-height:1}
.gri-cw .gri-cbox-num{font-size:52px;line-height:1;font-weight:800;color:var(--gri-c-text)}
.gri-cw .gri-cbox-max{font-size:18px;line-height:1;color:var(--gri-c-muted)}
.gri-cw .gri-cbox-stars{display:block;line-height:0}
.gri-cw .gri-cbox-based{display:block;margin-top:4px;font-size:13.5px;line-height:1.4;color:var(--gri-c-muted)}

/* ---------- Stars ---------- */
.gri-cw .gri-gstars{display:inline-flex;gap:2px;line-height:0;vertical-align:middle}
.gri-cw .gri-gs{position:relative;display:block;flex:none;width:18px;height:18px}
.gri-cw .gri-gs svg{display:block;flex:none;width:18px;height:18px;max-width:none;fill:#dcdfde}
.gri-cw .gri-gsfill{position:absolute;left:0;top:0;height:100%;overflow:hidden}
.gri-cw .gri-gsfill svg{fill:var(--gri-c-star)}

/* ---------- Slider: [arrow] [cards] [arrow] - arrows live in their own gutters ---------- */
.gri-cw .gri-cslider{
  --gri-gap:22px;
  --gri-pv:var(--gri-pv-d,3);
  flex:1 1 0;min-width:0;
}
.gri-cw .gri-cview{position:relative;display:block}
.gri-cw .gri-viewport{display:block;width:100%;min-width:0;overflow:hidden;touch-action:pan-y}
.gri-cw .gri-track{
  display:flex;align-items:stretch;gap:var(--gri-gap);
  transform:translateX(calc(var(--gri-pos,0) * -1 * ((100% - (var(--gri-pv) - 1) * var(--gri-gap)) / var(--gri-pv) + var(--gri-gap))));
  transition:transform var(--gri-speed,600ms) ease;
}
.gri-cw .gri-track.is-instant{transition:none}
.gri-cw .gri-slide{
  flex:0 0 calc((100% - (var(--gri-pv) - 1) * var(--gri-gap)) / var(--gri-pv));
  min-width:0;display:flex;
}

/* ---------- Review card ---------- */
.gri-cw .gri-ccard{
  position:relative;display:flex;flex-direction:column;flex:1 1 auto;width:100%;
  padding:26px 26px 22px;
  background:var(--gri-c-card);border:1px solid var(--gri-c-border);border-radius:16px;
}
.gri-cw .gri-cg{
  position:absolute;top:24px;right:24px;display:block;
  font-size:26px;line-height:1;font-weight:800;color:#4285f4;
}
.gri-cw .gri-chead{display:flex;align-items:center;gap:14px;padding-right:36px}
.gri-cw .gri-cavatar{
  position:relative;flex:none;display:block;width:42px;height:42px;border-radius:50%;overflow:hidden;
  background:var(--gri-c-tint);color:var(--gri-c-accent);
  font-size:17px;line-height:42px;font-weight:700;text-align:center;text-transform:uppercase;
}
.gri-cw .gri-cavatar img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}
.gri-cw .gri-cwho{min-width:0}
.gri-cw .gri-cname{display:block;font-size:15px;line-height:1.3;font-weight:700;color:var(--gri-c-text);overflow-wrap:anywhere}
.gri-cw .gri-clabel{display:block;margin-top:3px;font-size:12px;line-height:1.3;color:var(--gri-c-muted)}
.gri-cw .gri-cstars{margin:22px 0 20px;line-height:0}
.gri-cw .gri-cstars .gri-gs,.gri-cw .gri-cstars .gri-gs svg{width:17px;height:17px}
.gri-cw .gri-cquote{
  flex:1 1 auto;margin:0 0 24px;padding:0;border:0;
  font-size:15.5px;line-height:1.75;font-style:normal;color:var(--gri-c-text);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--gri-lines,4);overflow:hidden;
}
.gri-cw .gri-cquote-empty{min-height:3.5em}
.gri-cw .gri-cslider[style*="--gri-lines:0"] .gri-cquote{display:block;overflow:visible;-webkit-line-clamp:unset}
.gri-cw a.gri-clink{
  align-self:flex-start;margin-top:auto;display:inline-flex;align-items:center;gap:4px;
  font-size:12.5px;line-height:1.3;font-weight:700;color:var(--gri-c-accent);
  text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;
}
.gri-cw a.gri-clink:hover{filter:brightness(.85)}
.gri-cw .gri-cext{display:block;flex:none;width:8px;height:8px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Arrows (outside the cards) + dots ---------- */
.gri-cw button.gri-arrow{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);flex:none;
  display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin:0;padding:0;
  background:var(--gri-c-card);color:var(--gri-c-accent);
  border:1px solid var(--gri-c-border);border-radius:50%;box-shadow:none;line-height:0;cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.gri-cw button.gri-prev{right:100%;margin-right:var(--gri-c-arrow-gap,14px)}
.gri-cw button.gri-next{left:100%;margin-left:var(--gri-c-arrow-gap,14px)}
.gri-cw button.gri-arrow svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gri-cw button.gri-arrow:hover,.gri-cw button.gri-arrow:focus-visible{background:var(--gri-c-accent);color:#fff;border-color:var(--gri-c-accent)}
.gri-cw .gri-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:20px}
.gri-cw button.gri-dot{
  position:relative;display:block;flex:none;width:8px;height:8px;margin:0;padding:0;
  background:var(--gri-c-border);border:0;border-radius:50%;box-shadow:none;cursor:pointer;
  transition:background .2s ease,width .25s ease;
}
.gri-cw button.gri-dot::after{content:"";position:absolute;inset:-6px}
.gri-cw button.gri-dot.is-active{width:22px;border-radius:8px;background:var(--gri-c-accent)}
.gri-cw button.gri-arrow:focus-visible,.gri-cw button.gri-dot:focus-visible,.gri-cw a:focus-visible{outline:2px solid var(--gri-c-accent);outline-offset:2px}
.gri-cw .gri-cslider.is-static .gri-arrow,.gri-cw .gri-cslider.is-static .gri-dots{display:none}

/* room for the outside arrow between the rating box and the cards */
.gri-cw-hasbox .gri-cw-inner{gap:84px}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .gri-cw .gri-cslider{--gri-pv:2}
}
@media (max-width:1100px){
  .gri-cw .gri-cview{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}
  .gri-cw .gri-viewport{order:1;flex:0 0 100%;width:100%}
  .gri-cw button.gri-arrow{position:static;transform:none;margin:0}
  .gri-cw button.gri-prev{order:2}
  .gri-cw button.gri-next{order:3}
}
@media (max-width:900px){
  .gri-cw-hasbox .gri-cw-inner{flex-direction:column;align-items:stretch;gap:22px}
  .gri-cw-hasbox .gri-cbox{align-self:flex-start}
}
@media (max-width:640px){
  .gri-cw .gri-cslider{--gri-pv:1;--gri-gap:16px}
  .gri-cw .gri-cview{gap:12px}
  .gri-cw button.gri-arrow{width:34px;height:34px}
  .gri-cw button.gri-arrow svg{width:15px;height:15px}
  .gri-cw .gri-ccard{padding:22px 20px 20px}
}
@media (prefers-reduced-motion:reduce){.gri-cw .gri-track{transition:none}}
