/* Google Reviews Importer - Google-style reviews widget. */
.gri-gw{
  --gri-g-accent:#fb8c2a;
  --gri-g-btn:#3b7ded;
  --gri-g-bg:#f8f9fb;
  --gri-g-link:#1a47b8;
  --gri-g-text:#222;
  --gri-g-muted:#555;
  --gri-g-card:#f3f3f3;
  box-sizing:border-box;
  width:100%;
  padding:40px;
  background:var(--gri-g-bg);
  color:var(--gri-g-text);
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
  line-height:1.4;
  text-align:left;
}
.gri-gw *,.gri-gw *::before,.gri-gw *::after{box-sizing:border-box}
.gri-gw-inner{display:flex;align-items:center;gap:64px;max-width:1360px;margin:0 auto}

/* ---------- Business box ---------- */
.gri-gw .gri-gprofile{flex:0 0 auto;display:flex;align-items:flex-start;gap:12px}
.gri-gw .gri-glogo{
  position:relative;flex:none;display:block;width:48px;height:48px;border-radius:50%;overflow:hidden;
  background:var(--gri-av,#78909c);color:#fff;font-size:22px;line-height:48px;text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.gri-gw .gri-glogo img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}
.gri-gw .gri-gpinfo{min-width:0}
.gri-gw .gri-gname{margin:0 0 3px;font-size:18px;line-height:1.3;font-weight:700;color:var(--gri-g-text)}
.gri-gw .gri-grate{display:flex;align-items:center;gap:6px;font-size:16px;line-height:1.3}
.gri-gw .gri-grnum{font-weight:700;color:var(--gri-g-accent)}
.gri-gw .gri-gbased{margin-top:4px;font-size:15px;line-height:1.4;color:var(--gri-g-muted)}
.gri-gw .gri-gpowered{margin-top:3px;font-size:15px;line-height:1.4;font-weight:700;color:#757575}
.gri-gw .gri-gword{font-weight:700;letter-spacing:0}
.gri-gw a.gri-gbtn{
  display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:5px 11px 5px 12px;
  background:var(--gri-g-btn);color:#fff;border:0;border-radius:999px;
  font-size:14px;line-height:1.3;font-weight:700;text-decoration:none;
  box-shadow:0 4px 10px rgba(59,125,237,.35);
  transition:filter .2s ease,transform .2s ease;
}
.gri-gw a.gri-gbtn:hover,.gri-gw a.gri-gbtn:focus-visible{color:#fff;filter:brightness(1.08);transform:translateY(-1px)}
.gri-gw .gri-gbtn-g{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#fff}
.gri-gw .gri-gbtn-g .gri-gg{display:block;width:11px;height:11px}

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

/* ---------- Slider ---------- */
.gri-gw .gri-gslider{
  --gri-gap:20px;
  --gri-pv:var(--gri-pv-d,3);
  flex:1 1 0;min-width:0;
}
.gri-gw .gri-gview{position:relative}
.gri-gw .gri-viewport{overflow:hidden;touch-action:pan-y}
.gri-gw .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-gw .gri-track.is-instant{transition:none}
.gri-gw .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-gw .gri-gcard{
  position:relative;display:flex;flex-direction:column;flex:1 1 auto;width:100%;
  padding:16px 18px 18px;background:var(--gri-g-card);border-radius:8px;
}
.gri-gw .gri-gglogo{position:absolute;top:14px;right:14px;display:block;width:16px;height:16px;line-height:0}
.gri-gw .gri-gglogo .gri-gg{display:block;width:16px;height:16px}
.gri-gw .gri-ghead{display:flex;align-items:center;gap:11px;padding-right:26px}
.gri-gw .gri-gavatar{
  position:relative;flex:none;display:block;width:46px;height:46px;border-radius:50%;overflow:hidden;
  background:var(--gri-av,#78909c);color:#fff;font-size:24px;line-height:46px;text-align:center;
}
.gri-gw .gri-gavatar img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover}
.gri-gw .gri-gwho{min-width:0}
.gri-gw .gri-gauthor{display:block;font-size:16px;line-height:1.3;font-weight:700;color:var(--gri-g-link);text-decoration:none;overflow-wrap:anywhere}
.gri-gw a.gri-gauthor:hover{text-decoration:underline}
.gri-gw .gri-gdate{display:block;margin-top:3px;font-size:12.5px;line-height:1.3;color:var(--gri-g-muted)}
.gri-gw .gri-gcstars{margin:12px 0 8px;line-height:0}
.gri-gw .gri-gtext{
  flex:1 1 auto;margin:0;padding:0;border:0;
  font-size:14.5px;line-height:1.7;font-style:normal;color:var(--gri-g-text);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--gri-lines,5);overflow:hidden;
}
.gri-gw .gri-gslider[style*="--gri-lines:0"] .gri-gtext,
.gri-gw .gri-gcard.is-open .gri-gtext{display:block;overflow:visible;-webkit-line-clamp:unset}
.gri-gw button.gri-more{
  display:none;align-self:flex-start;margin:8px 0 0;padding:0;
  background:none;border:0;border-radius:0;box-shadow:none;
  color:#757575;font:inherit;font-size:13.5px;line-height:1.3;text-transform:none;letter-spacing:0;cursor:pointer;
}
.gri-gw button.gri-more:hover{color:var(--gri-g-text);background:none}
.gri-gw .gri-gcard.has-more .gri-more,.gri-gw .gri-gcard.is-open .gri-more{display:block}

/* ---------- Arrows + dots ---------- */
.gri-gw button.gri-arrow{
  position:absolute;top:50%;z-index:2;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;
  background:#fff;color:#777;border:1px solid #cfcfcf;border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.08);line-height:0;cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.gri-gw button.gri-prev{left:-18px}
.gri-gw button.gri-next{right:-18px}
.gri-gw button.gri-arrow svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gri-gw button.gri-arrow:hover,.gri-gw button.gri-arrow:focus-visible{background:#fff;color:#222;border-color:#999}
.gri-gw .gri-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:16px}
.gri-gw button.gri-dot{
  position:relative;display:block;flex:none;width:8px;height:8px;margin:0;padding:0;
  background:#d6d6d6;border:0;border-radius:50%;box-shadow:none;cursor:pointer;transition:background .2s ease;
}
.gri-gw button.gri-dot::after{content:"";position:absolute;inset:-6px}
.gri-gw button.gri-dot.is-active{background:var(--gri-g-accent)}
.gri-gw button.gri-arrow:focus-visible,.gri-gw button.gri-dot:focus-visible,.gri-gw a:focus-visible,.gri-gw button.gri-more:focus-visible{outline:2px solid var(--gri-g-btn);outline-offset:2px}
.gri-gw .gri-gslider.is-static .gri-arrow,.gri-gw .gri-gslider.is-static .gri-dots{display:none}

/* ---------- Layout: cards (dark quote cards) ---------- */
.gri-gw-cards{--gri-g-card:#667080;font-family:inherit}
.gri-gw-cards .gri-gslider{--gri-gap:26px}
.gri-gw-cards .gri-gcard{padding:32px 32px 30px;border-radius:18px;color:#fff}
.gri-gw-cards .gri-gquote{position:absolute;top:24px;right:30px;width:50px;height:50px;color:rgba(0,0,0,.2);line-height:0}
.gri-gw-cards .gri-gquote svg{display:block;width:100%;height:100%;fill:currentColor}
.gri-gw-cards .gri-gcname{padding-right:70px;font-size:18px;line-height:1.3;font-weight:700;color:#fff}
.gri-gw-cards .gri-gcstars{margin:16px 0 14px}
.gri-gw-cards .gri-gs,.gri-gw-cards .gri-gs svg{width:22px;height:22px}
.gri-gw-cards .gri-gcstars .gri-gstars{gap:4px}
.gri-gw-cards .gri-gs svg{fill:rgba(255,255,255,.25)}
.gri-gw-cards .gri-gsfill svg{fill:var(--gri-g-accent)}
.gri-gw-cards .gri-gtext{
  display:block;flex:none;-webkit-line-clamp:unset;
  height:calc(var(--gri-lines,8) * 1.8em);max-height:calc(var(--gri-lines,8) * 1.8em);
  overflow-y:auto;padding-right:14px;color:#fff;font-size:15px;line-height:1.8;
  scrollbar-width:thin;scrollbar-color:#d5d9e0 transparent;
}
.gri-gw-cards .gri-gslider[style*="--gri-lines:0"] .gri-gtext{height:auto;max-height:none;overflow:visible}
.gri-gw-cards .gri-gtext::-webkit-scrollbar{width:6px}
.gri-gw-cards .gri-gtext::-webkit-scrollbar-track{background:transparent}
.gri-gw-cards .gri-gtext::-webkit-scrollbar-thumb{background:#d5d9e0;border-radius:6px}
.gri-gw-cards .gri-gnav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:32px}
.gri-gw-cards button.gri-arrow{
  position:static;transform:none;width:44px;height:44px;color:#1a1a1a;border:1px solid #e3e3e3;
  box-shadow:0 0 16px rgba(110,220,200,.45);
}
.gri-gw-cards button.gri-arrow:hover,.gri-gw-cards button.gri-arrow:focus-visible{color:#000;border-color:#cfcfcf;box-shadow:0 0 20px rgba(110,220,200,.7)}
.gri-gw-cards .gri-dots{margin-top:0;gap:8px}
.gri-gw-cards button.gri-dot{background:#cfd3da;transition:width .25s ease,background .25s ease}
.gri-gw-cards button.gri-dot.is-active{width:26px;border-radius:8px;background:var(--gri-g-accent)}
.gri-gw-cards .gri-gslider.is-static .gri-gnav{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1200px){
  .gri-gw{padding:32px}
  .gri-gw-inner{gap:48px}
  .gri-gw .gri-gslider{--gri-pv:2}
}
@media (max-width:900px){
  .gri-gw-inner{flex-direction:column;align-items:stretch;gap:28px}
  .gri-gw .gri-gprofile{align-self:center}
}
@media (max-width:640px){
  .gri-gw{padding:28px 24px}
  .gri-gw .gri-gslider{--gri-pv:1}
  .gri-gw button.gri-prev{left:-14px}
  .gri-gw button.gri-next{right:-14px}
}
@media (prefers-reduced-motion:reduce){.gri-gw .gri-track{transition:none}}
