/* =========================================================
   OPINIE GOOGLE — karuzela + badge oceny (jasny, czytelny)
   ========================================================= */
.revgrid{ display:grid; grid-template-columns:330px 1fr; gap:34px; align-items:center; }
@media(max-width:900px){ .revgrid{ grid-template-columns:1fr; gap:26px; } }

/* --- Badge oceny Google --- */
.gbadge{
  background:#ffffff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-lg); padding:30px 26px; text-align:center;
}
.gbadge .glogo{ width:46px; height:46px; margin:0 auto 12px; display:block; }
.gbadge .gword{ font-weight:700; color:var(--ink-soft); font-size:1.02rem; margin-bottom:6px; }
.gbadge .grate{ font-family:'Fraunces',serif; font-size:3.6rem; font-weight:700; color:var(--green-deep); line-height:1; }
.gbadge .gstars{ color:#fbbc04; font-size:1.5rem; letter-spacing:3px; margin:8px 0 4px; }
.gbadge .gcount{ color:var(--ink-soft); font-size:1rem; margin-bottom:18px; }
.gbadge .btn{ width:100%; justify-content:center; }
.gbadge .gsmall{ display:block; margin-top:10px; font-size:.92rem; color:var(--green-soft); font-weight:600; }

/* --- Karuzela --- */
.grev{ position:relative; }
.grev-track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:6px 2px 16px; scrollbar-width:thin; scroll-behavior:smooth;
}
.grev-track::-webkit-scrollbar{ height:7px; }
.grev-track::-webkit-scrollbar-thumb{ background:var(--gold-soft); border-radius:6px; }
.grev-card{
  flex:0 0 clamp(268px,84%,348px); scroll-snap-align:start;
  background:#ffffff; border:1px solid var(--line); border-radius:16px;
  box-shadow:var(--shadow); padding:24px 24px 22px; display:flex; flex-direction:column;
}
.grev-card .top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.grev-card .av{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  background:radial-gradient(circle at 35% 30%,var(--green-soft),var(--green-deep));
  color:#fff; display:grid; place-items:center; font-weight:700; font-family:'Fraunces',serif; font-size:1.2rem;
  background-size:cover; background-position:center;
}
.grev-card .who{ flex:1; min-width:0; }
.grev-card .nm{ font-weight:700; color:var(--green-deep); font-size:1.05rem; line-height:1.2; }
.grev-card .gtag{ font-size:.82rem; color:var(--ink-soft); display:flex; align-items:center; gap:5px; margin-top:2px; }
.grev-card .gtag svg{ width:14px; height:14px; }
.grev-card .gstars{ color:#fbbc04; letter-spacing:2px; font-size:1.05rem; margin-bottom:9px; }
.grev-card p{ color:var(--ink); font-size:1.02rem; line-height:1.6; margin:0; }
.grev-card .when{ margin-top:12px; font-size:.85rem; color:var(--ink-soft); }

.grev-nav{ display:flex; gap:10px; justify-content:center; align-items:center; margin-top:6px; }
.grev-nav button{
  width:48px; height:48px; border-radius:50%; border:1px solid var(--line);
  background:#fff; cursor:pointer; font-size:1.5rem; line-height:1; color:var(--green-deep);
  box-shadow:var(--shadow); transition:.18s; display:grid; place-items:center;
}
.grev-nav button:hover{ background:var(--cream-2); border-color:var(--gold-soft); }
.grev-hint{ text-align:center; font-size:.9rem; color:var(--ink-soft); margin-top:6px; }
