/* ================================
   Google Reviews Widget – FULL CSS
   ================================ */

/* ---- Base / tokens ---- */
.gr-widget {
  --card-w: 340px;
  --gap: 18px;
  --radius: 16px;
  margin-bottom: 40px;
}

/* ---- Header ---- */
.gr-header {
  display:flex; align-items:center; gap:6px; margin-bottom:16px;
  flex-wrap:wrap;
  background:#f8f9fa; border-radius:var(--radius); padding:14px 16px;
}
.gr-brand {
  display:inline-grid;
  grid-template-rows:auto auto;
  justify-items:center;
  row-gap:2px;
  width:var(--logo-w,auto);
  line-height:0;
}
.gr-badge {
  display:block;
  vertical-align:middle;
  width:var(--logo-w,auto);
  height:auto;
}
.gr-brand__txt {
  margin:0;
  line-height:1;
  font:500 12px/1 "Roboto","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:.12px;
  color:#5f6368;
  text-align:center;
  transform:translateY(-1px);
}
.gr-metrics {
  display:flex; align-items:baseline; gap:12px; flex:1 1 auto; min-width:220px;
  color:#111827;
}
.gr-score__num { font-size:28px; font-weight:800; line-height:1; }
.gr-score__of  { color:#667085; margin-left:4px; font-weight:600; }
.gr-count      { color:#667085; }
.gr-sep        { width:1px; height:18px; background:#e5e7eb; display:inline-block; align-self:center; }

/* CTA button */
.gr-linkbtn {
  margin-left:auto; padding:8px 14px;
  border-radius:999px;
  background:rgba(26,115,232,.08); color:#1a73e8; text-decoration:none;
  font-weight:600; transition:background .15s ease, transform .15s ease;
  white-space:nowrap;
}
.gr-linkbtn:hover  { background:rgba(26,115,232,.14); transform:translateY(-1px); }
.gr-linkbtn:active { transform:none; }

/* ---- Slider area ---- */
.gr-viewport { overflow:hidden; padding-bottom:2px; }
.gr-track    { display:flex; gap:var(--gap); will-change:transform; transition:transform .35s ease; }

/* ---- Review card ---- */
.gr-card {
  flex:0 0 var(--card-w);
  background:#f9f9f9;
  border:1px solid #c2c2c2;
  border-radius:var(--radius);
  padding:16px 18px;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.gr-text   { margin:10px 0 12px; line-height:1.55; font-size:15px; color:#111827; }
.gr-author {
  display:flex; align-items:center; gap:10px;
  margin-top:10px; padding-top:10px; border-top:1px solid #ebebeb;
}
.gr-author img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.gr-name   { font-weight:700; }
.gr-src    { font-size:12px; color:#6b7280; }

/* ---- Stars ---- */
.gr-stars  { color:#f6b400; font-size:18px; letter-spacing:1px; }
.gr-star   { opacity:.25; }
.gr-star.is-full { opacity:1; }

/* ---- Bottom controls ---- */
/* ---- Bottom controls ---- */
.gr-controls {
  display:flex; justify-content:center; align-items:center;
  gap:10px; margin-top:16px;
}
.gr-nav {
  position:static;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:14px;
  border:1px solid #e0e4ea;
  background:#fff; color:#111; cursor:pointer;
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, color .15s ease;
}
.gr-nav svg     { width:20px; height:20px; fill:currentColor; }
.gr-nav:hover   { border-color:#b8cef5; box-shadow:0 0 0 4px rgba(26,115,232,.10), 0 4px 14px rgba(26,115,232,.14); }
.gr-nav:active  { box-shadow:none; }
.gr-nav:disabled{ opacity:.35; cursor:not-allowed; box-shadow:none; border-color:#e0e4ea; }
/* ---- Responsive ---- */
@media (max-width:640px) {
  .gr-brand         { flex-direction:column; gap:4px; }
  .gr-brand__txt    { font-size:12px; line-height:1.2; }
  .gr-widget        { --card-w:86vw; padding:0 12px; }
  .gr-header        { justify-content:center; text-align:center; gap:10px; }
  .gr-linkbtn       { margin-left:0; }
  .gr-metrics       { justify-content:center; }
  .gr-controls      { display:none; }
}