.grs{--grs-bg:#faf8f4;--grs-card:#fff;--grs-ink:#1e1e1e;--grs-muted:#6f6f6f;--grs-line:#e6e3dc;--grs-star:#f5a623;--grs-link:#0f9d8a;--grs-nav:#1e1e1e;--grs-nav-ink:#fff;--grs-google:#4285f4;--grs-radius:14px;
 background:var(--grs-bg);color:var(--grs-ink);padding:clamp(2em,5vw,3.5em) 0;font-family:inherit;font-size:16px;line-height:1.45;min-width:0;max-width:100%;box-sizing:border-box}
.grs *,.grs *::before,.grs *::after{box-sizing:border-box}
.grs__inner{max-width:1240px;margin:0 auto;padding:0 clamp(1em,3vw,2em);min-width:0}
.grs .grs__title{text-align:center;font-weight:400;letter-spacing:.12em;text-transform:none;font-size:clamp(1.6em,3.6vw,2.4em);line-height:1.15;margin:0 0 .6em;color:var(--grs-ink)}
.grs__pill{display:flex;align-items:center;justify-content:center;gap:.45em;width:max-content;max-width:100%;margin:0 auto 2em;padding:.6em 1.1em;border:1px solid var(--grs-line);border-radius:999px;background:var(--grs-card);color:var(--grs-muted);text-decoration:none;font-size:.95em;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.grs__pill:hover{border-color:#cfcbc2}
.grs__g{width:1.05em;height:1.05em;flex:0 0 auto;font:700 1em/1 Arial,Helvetica,sans-serif;color:var(--grs-google)}
.grs__avg{color:var(--grs-ink);font-weight:700}
.grs__stars{display:inline-flex;gap:1px;color:var(--grs-star);line-height:1;white-space:nowrap}
.grs__stars svg{width:1em;height:1em;fill:currentColor;display:block}
.grs__stars--sm{font-size:.9em}
.grs__carousel{position:relative;min-width:0}
@media (min-width:601px){.grs__carousel{padding:0 3.25em}}
.grs__track{list-style:none;margin:0;padding:.25em 0 .75em;display:flex;gap:1em;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0;max-width:100%}
.grs__track::-webkit-scrollbar{display:none}
.grs .grs__card{flex:0 0 calc((100% - 2em)/3);min-width:0;scroll-snap-align:start;background:var(--grs-card);border:1px solid var(--grs-line);border-radius:var(--grs-radius);padding:1.25em 1.25em 1.1em;display:flex;flex-direction:column;gap:.7em;margin:0;list-style:none}
@media (max-width:900px){.grs .grs__card{flex-basis:calc((100% - 1em)/2)}}
@media (max-width:600px){.grs .grs__card{flex-basis:88%}}
.grs__head{display:flex;align-items:center;gap:.8em;min-width:0}
.grs__avatar{width:44px;height:44px;border-radius:50%;flex:0 0 auto;object-fit:cover;background:var(--grs-av,#5c6bc0);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15em;text-transform:uppercase}
.grs__who{display:flex;flex-direction:column;min-width:0}
.grs__name{font-weight:700;font-size:.98em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grs__date{font-size:.8em;color:var(--grs-muted)}
.grs .grs__text{margin:0;font-size:1.02em;line-height:1.5;color:var(--grs-ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;overflow-wrap:anywhere}
.grs__text.is-open{display:block;-webkit-line-clamp:unset}
.grs button.grs__more{align-self:flex-start;background:none;border:0;border-radius:0;box-shadow:none;min-height:0;width:auto;padding:0;margin:-.3em 0 0;color:var(--grs-link);font:inherit;font-weight:700;font-size:.9em;line-height:1.4;letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer}
.grs button.grs__more:hover{text-decoration:underline;background:none;color:var(--grs-link)}
.grs__photos{list-style:none;margin:.1em 0 0;padding:0;display:flex;gap:.5em;flex-wrap:wrap}
.grs__photos li{width:88px;height:66px;border-radius:8px;overflow:hidden;background:#eef0ee}
.grs__photos img{width:100%;height:100%;object-fit:cover;display:block}
.grs__photos-more{display:flex;align-items:center;justify-content:center;width:44px!important;background:#e6f4f1!important;color:var(--grs-link);font-weight:700}
.grs__src{margin-top:auto;padding-top:.4em;font-size:.78em;color:var(--grs-muted)}
.grs button.grs__nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;min-height:0;padding:0;margin:0;border-radius:50%;border:0;background:var(--grs-nav);color:var(--grs-nav-ink);font:inherit;font-size:1.4em;font-weight:400;line-height:1;letter-spacing:0;cursor:pointer;z-index:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.grs button.grs__nav:hover{background:var(--grs-nav);color:var(--grs-nav-ink)}
.grs__nav--prev{left:0}.grs__nav--next{right:0}
@media (max-width:600px){.grs button.grs__nav{display:none}}
.grs__nav:focus-visible,.grs__more:focus-visible,.grs__pill:focus-visible{outline:2px solid var(--grs-link);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.grs__track{scroll-behavior:auto}}

/* ---- greensolasvegas tokens + placement (2026-10-24) — keep every selector under .grs / .gso-reviews-wrap ---- */
.grs{--grs-link:#4c8c00;--grs-bg:#faf8f4;--grs-star:#f5a623;color:var(--grs-ink)}
/* the hero container sets white text; pin the component's own ink so nothing inherits it */
.grs .grs__count,.grs .grs__src,.grs .grs__date{color:var(--grs-muted)}
.grs .grs__avg,.grs .grs__name,.grs .grs__text,.grs .grs__title{color:var(--grs-ink)}
/* the wrap is its own light panel so the trust + date lines read on the hero photo AND on the white content area */
.gso-reviews-wrap{margin:14px 0 0;min-width:0;max-width:100%;background:#faf8f4;border-radius:14px;padding:12px 0 10px}
.gso-reviews-wrap .grs{margin:0;border-radius:0}
.gso-reviews__trust{margin:0 0 4px;text-align:center;font-size:14px;line-height:1.3;font-weight:600;letter-spacing:.01em;color:#1e1e1e}
.gso-reviews__asof{margin:6px 12px 0;text-align:center;font-size:12px;line-height:1.4;color:#4a4a4a}
