.grn-reviews,
.grn-reviews *{box-sizing:border-box}

.grn-reviews{
  --grn-ink:#0f172a;
  --grn-text:#334155;
  --grn-muted:#64748b;
  --grn-border:#e2e8f0;
  --grn-blue:#2563eb;
  --grn-star:#f6b500;
  position:relative;
  width:100%;
  padding:32px;
  overflow:hidden;
  border:1px solid var(--grn-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 45px rgba(15,23,42,.07);
  font-family:inherit;
  color:var(--grn-text);
}

.grn-reviews button,
.grn-reviews a{font-family:inherit}

.grn-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  margin:0 0 26px;
}

.grn-heading-copy{min-width:0}

.grn-eyebrow{
  display:block;
  margin:0 0 5px;
  color:var(--grn-blue);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.grn-heading h2{
  margin:0!important;
  padding:0!important;
  color:var(--grn-ink)!important;
  font-size:clamp(25px,2.4vw,34px)!important;
  font-weight:800!important;
  line-height:1.12!important;
  letter-spacing:-.025em;
}

.grn-heading p{
  margin:5px 0 0!important;
  padding:0!important;
  color:var(--grn-muted)!important;
  font-size:14px!important;
  line-height:1.4!important;
}

.grn-rating-summary{
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  gap:11px;
  min-width:184px;
  padding:13px 16px;
  border:1px solid var(--grn-border);
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 20px rgba(15,23,42,.05);
}

.grn-rating-number{
  color:var(--grn-ink)!important;
  font-size:31px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:-.04em;
}

.grn-rating-meta{min-width:0}

.grn-summary-stars,
.grn-card-stars{
  display:block;
  color:var(--grn-star)!important;
  font-family:Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:1px!important;
  white-space:nowrap;
}

.grn-summary-stars{font-size:13px!important;line-height:1.15!important}

.grn-rating-total{
  margin-top:4px;
  color:var(--grn-muted)!important;
  font-size:11px!important;
  line-height:1.2!important;
  white-space:nowrap;
}

.grn-slider-shell{position:relative;padding:0 18px}
.grn-swiper{overflow:hidden!important;padding:2px 2px 42px!important}
.grn-swiper .swiper-wrapper{align-items:stretch}
.grn-swiper .swiper-slide{height:auto!important}

.grn-review-card{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:260px;
  margin:0;
  padding:21px;
  overflow:hidden;
  border:1px solid var(--grn-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.055);
}

.grn-review-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.grn-author{display:flex;align-items:center;gap:11px;min-width:0}

.grn-avatar{
  display:block;
  flex:0 0 44px;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  border:1px solid var(--grn-border);
  border-radius:50%!important;
  object-fit:cover;
}

.grn-avatar-fallback{
  display:grid;
  place-items:center;
  background:#eef2ff;
  color:#3730a3;
  font-size:18px;
  font-weight:800;
}

.grn-author-info{display:flex;flex-direction:column;min-width:0}

.grn-author-info strong,
.grn-author-info a{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:var(--grn-ink)!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.3!important;
  text-decoration:none!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.grn-author-info span{
  display:block;
  margin-top:3px;
  color:var(--grn-muted)!important;
  font-size:11px!important;
  line-height:1.2!important;
}

.grn-google-mark{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  padding:6px;
  border:1px solid var(--grn-border);
  border-radius:50%;
  background:#fff;
}

.grn-google-mark svg{display:block;width:100%;height:100%}

.grn-card-stars{
  margin:16px 0 9px;
  font-size:16px!important;
  line-height:1!important;
}

.grn-review-text{
  display:-webkit-box;
  margin:0!important;
  padding:0!important;
  overflow:hidden;
  color:var(--grn-text)!important;
  font-size:13.5px!important;
  font-weight:400!important;
  line-height:1.7!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
}

.grn-review-text-empty{color:#94a3b8!important;font-style:italic}

.grn-nav{
  position:absolute;
  top:calc(50% - 22px);
  z-index:8;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  margin:0;
  padding:0 0 2px!important;
  border:1px solid var(--grn-border)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--grn-ink)!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(15,23,42,.12);
  transform:translateY(-50%);
}

.grn-nav:hover{background:#f8fafc!important}
.grn-prev{left:0}
.grn-next{right:0}
.grn-nav.swiper-button-disabled{opacity:.35;cursor:default}

.grn-reviews .swiper-pagination{bottom:5px!important}
.grn-reviews .swiper-pagination-bullet{width:8px;height:8px;margin:0 4px!important;background:#94a3b8;opacity:.4}
.grn-reviews .swiper-pagination-bullet-active{width:22px;border-radius:999px;background:var(--grn-blue);opacity:1}

.grn-footer-action{display:flex;justify-content:center;margin-top:8px}
.grn-footer-action a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 21px;
  border-radius:999px;
  background:var(--grn-ink);
  color:#fff!important;
  font-size:13px!important;
  font-weight:750!important;
  line-height:1!important;
  text-decoration:none!important;
}
.grn-footer-action a:hover{background:#1e293b;color:#fff!important}

.grn-message{padding:16px 18px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e}
.grn-message-error{border-color:#fecaca;background:#fef2f2;color:#991b1b}

@media(max-width:767px){
  .grn-reviews{padding:22px 16px;border-radius:18px}
  .grn-heading{grid-template-columns:1fr;gap:16px;margin-bottom:20px}
  .grn-heading h2{font-size:27px!important}
  .grn-rating-summary{width:100%;min-width:0;justify-content:center}
  .grn-slider-shell{padding:0}
  .grn-nav{display:none}
  .grn-review-card{min-height:245px;padding:19px}
}
