.grs-section,
.grs-section *{box-sizing:border-box}

.grs-section{
  width:calc(100% - 32px);
  max-width:1500px;
  margin:clamp(22px,4vw,54px) auto;
  scroll-margin-top:110px;
  padding:0;
  display:grid;
  place-items:stretch;
  overflow:hidden;
  border:2px solid rgba(171,105,29,.62);
  border-radius:clamp(18px,2.4vw,30px);
  background:
    radial-gradient(circle at 10% 18%,rgba(214,163,78,.24),transparent 34%),
    radial-gradient(circle at 90% 82%,rgba(91,24,55,.12),transparent 35%),
    linear-gradient(145deg,#fffdf8 0%,#fff1d8 58%,#f7e5e9 100%);
  box-shadow:0 14px 34px rgba(77,45,19,.16),inset 0 0 0 1px rgba(255,255,255,.82);
}

.grs-review-cta{
  width:100%;
  min-width:0;
  padding:clamp(18px,2.8vw,34px) clamp(10px,2.4vw,34px);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap;
  gap:.22em;
  margin:0 auto;
  color:#2e1d13;
  white-space:nowrap;
  text-align:center;
  text-decoration:none;
  font:900 clamp(13px,4.8vw,68px)/1 Montserrat,Arial,sans-serif;
  letter-spacing:-.05em;
  transition:transform .2s ease,filter .2s ease;
}

.grs-review-cta:hover,
.grs-review-cta:focus-visible{
  transform:translateY(-2px);
  filter:drop-shadow(0 10px 18px rgba(72,42,17,.13));
  outline:none;
}

.grs-google-word{display:inline-flex;flex:0 0 auto;letter-spacing:-.08em}
.grs-google-blue{color:#4285f4}
.grs-google-red{color:#ea4335}
.grs-google-yellow{color:#fbbc05}
.grs-google-green{color:#34a853}

.grs-live-panel{
  padding:clamp(18px,3vw,38px);
  border-top:1px solid rgba(130,76,22,.22);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(9px);
}

.grs-live-panel[hidden]{display:none!important}

.grs-live-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

.grs-live-kicker{
  margin:0 0 6px;
  color:#a33b22;
  font:800 12px/1.3 Montserrat,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.grs-live-title{
  margin:0;
  color:#402516;
  font:900 clamp(24px,3vw,42px)/1.08 Montserrat,Arial,sans-serif;
}

.grs-rating-summary{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto auto;
  align-items:center;
  column-gap:10px;
  row-gap:3px;
  padding:12px 16px;
  border:1px solid rgba(170,104,27,.26);
  border-radius:16px;
  background:#fffdf8;
  box-shadow:0 8px 20px rgba(70,38,13,.08);
}

.grs-rating-number{
  grid-row:1 / span 2;
  color:#543019;
  font:900 31px/1 Montserrat,Arial,sans-serif;
}

.grs-summary-stars{display:flex;align-items:center}
.grs-rating-count{color:#755039;font:700 12px/1.2 Montserrat,Arial,sans-serif}

.grs-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.grs-review-card{
  min-width:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(155,94,25,.24);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(73,42,18,.08);
}

.grs-review-header{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin-bottom:12px;
}

.grs-review-avatar{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(145deg,#6c2344,#c0722a);
  color:#fff;
  font:900 14px/1 Montserrat,Arial,sans-serif;
}

.grs-review-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.grs-review-identity{min-width:0;display:grid;gap:3px}

.grs-review-author{
  overflow:hidden;
  color:#3f2718;
  font:800 14px/1.25 Montserrat,Arial,sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-decoration:none;
}

.grs-review-author:hover{text-decoration:underline}
.grs-review-date{color:#8a6b56;font:600 11px/1.2 Montserrat,Arial,sans-serif}

.grs-google-badge{
  display:inline-flex;
  letter-spacing:-.08em;
  font:800 13px/1 Arial,sans-serif;
}

.grs-stars{display:inline-flex;gap:2px;color:#d5c9ba;font-size:16px;line-height:1}
.grs-stars .is-filled{color:#f6aa00}
.grs-stars--summary{font-size:14px}

.grs-review-text{
  margin:13px 0 10px;
  color:#5b402e;
  font:600 13px/1.65 Montserrat,Arial,sans-serif;
  white-space:pre-line;
}

.grs-review-text.is-collapsed{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
}

.grs-review-text--empty{color:#8b735f;font-style:italic}

.grs-review-expand{
  width:max-content;
  margin:0 0 14px;
  padding:0;
  border:0;
  background:transparent;
  color:#9b421f;
  font:800 11px/1.3 Montserrat,Arial,sans-serif;
  cursor:pointer;
}

.grs-review-expand:hover,.grs-review-expand:focus-visible{text-decoration:underline;outline:none}

.grs-owner-reply{
  margin:4px 0 14px;
  padding:12px 13px;
  border-left:3px solid #c88c35;
  border-radius:0 12px 12px 0;
  background:#fff8eb;
}

.grs-owner-reply strong{display:block;margin-bottom:5px;color:#6d371d;font:800 11px/1.3 Montserrat,Arial,sans-serif}
.grs-owner-reply p{margin:0;color:#71513b;font:600 12px/1.55 Montserrat,Arial,sans-serif;white-space:pre-line}

.grs-review-link{
  width:max-content;
  max-width:100%;
  margin-top:auto;
  color:#8e3c20;
  font:800 12px/1.2 Montserrat,Arial,sans-serif;
  text-decoration:none;
}

.grs-review-link:hover{text-decoration:underline}

.grs-load-wrap{
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 16px;
}

.grs-load-wrap[hidden],.grs-load-more[hidden]{display:none!important}
.grs-showing-count{color:#7a5b43;font:700 12px/1.3 Montserrat,Arial,sans-serif}

.grs-load-more{
  min-height:42px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(119,53,25,.35);
  border-radius:999px;
  background:#6b2444;
  color:#fff;
  font:800 12px/1.2 Montserrat,Arial,sans-serif;
  cursor:pointer;
  transition:transform .18s ease,filter .18s ease;
}

.grs-load-more:hover,.grs-load-more:focus-visible{transform:translateY(-1px);filter:brightness(1.06);outline:none}

.grs-live-actions{margin-top:20px;display:flex;justify-content:center}

.grs-view-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:11px 18px;
  border:1px solid rgba(119,53,25,.35);
  border-radius:999px;
  background:#fff8ea;
  color:#6b2f1b;
  font:800 13px/1.2 Montserrat,Arial,sans-serif;
  text-decoration:none;
  transition:transform .18s ease,background .18s ease;
}

.grs-view-all:hover,
.grs-view-all:focus-visible{transform:translateY(-1px);background:#fff;outline:none}

@media(max-width:980px){
  .grs-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .grs-section{
    width:calc(100% - 24px);
    margin:20px auto;
    padding:0;
    border-radius:18px;
  }

  .grs-review-cta{padding:18px 7px;gap:.14em;font-size:clamp(13px,4.65vw,32px);letter-spacing:-.045em}
  .grs-live-panel{padding:18px 14px 20px}
  .grs-live-heading{align-items:flex-start;flex-direction:column;gap:14px}
  .grs-rating-summary{width:100%;grid-template-columns:auto 1fr;justify-content:start}
  .grs-review-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 1px 9px;scrollbar-width:thin}
  .grs-review-card{flex:0 0 min(86vw,340px);scroll-snap-align:start}
}

@media(max-width:360px){
  .grs-section{width:calc(100% - 16px);padding:0}
  .grs-review-cta{padding:16px 5px;gap:.1em;font-size:clamp(12px,4.45vw,15px)}
  .grs-review-card{flex-basis:88vw}
}

@media(prefers-reduced-motion:reduce){
  .grs-review-cta,.grs-view-all,.grs-load-more{transition:none}
  .grs-review-cta:hover,.grs-review-cta:focus-visible,.grs-view-all:hover,.grs-view-all:focus-visible,.grs-load-more:hover,.grs-load-more:focus-visible{transform:none}
}
