/* Google reviews widget — Stanley & Son Roofing Ltd
   One stylesheet for the homepage (static markup in index.html) and every
   landing page (markup injected by js/lp.js, which also appends this file).
   Display only: no AggregateRating / Review JSON-LD anywhere on the site.
   Source listing: Google Business Profile "Stanley & Son Roofing Ltd",
   place_id ChIJoTgOzw2ac4MRX4CvcEWmMeU. Update the quotes in BOTH
   index.html and lp.js when new reviews land. */

.grw{background:#fff;padding:clamp(2.4rem,5vw,3.6rem) 0;border-top:1px solid var(--line,#E4ECF2);border-bottom:1px solid var(--line,#E4ECF2)}
.grw .container{max-width:1160px}
.grw-head{display:flex;align-items:center;justify-content:center;gap:1.1rem 1.6rem;flex-wrap:wrap;margin-bottom:1.6rem;text-align:left}
.grw-score{display:flex;align-items:center;gap:.7rem}
.grw-num{font-family:'Poppins',var(--ff-display,sans-serif);font-weight:800;font-size:clamp(2.6rem,6vw,3.4rem);line-height:1;color:var(--ink,#0B2742);letter-spacing:-.03em}
.grw-stars{color:#FFB400;font-size:clamp(1.25rem,3vw,1.6rem);letter-spacing:2px;line-height:1;white-space:nowrap}
.grw-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.grw-g{display:inline-flex;align-items:center;gap:.4rem;font-family:'Poppins',var(--ff-display,sans-serif);font-weight:700;font-size:1.02rem;color:var(--ink,#0B2742)}
.grw-g svg{width:20px;height:20px;flex:none}
.grw-count{font-size:.95rem;color:var(--text,#374151);font-weight:500}
.grw-sub{font-size:.8rem;color:var(--muted,#6B7280)}
.grw-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:.25rem .25rem 1rem;margin:0 -.25rem;scrollbar-width:thin;scrollbar-color:var(--line,#E4ECF2) transparent;-webkit-overflow-scrolling:touch}
.grw-track::-webkit-scrollbar{height:6px}
.grw-track::-webkit-scrollbar-thumb{background:var(--line,#E4ECF2);border-radius:999px}
.grw-card{scroll-snap-align:start;background:#fff;border:1px solid var(--line,#E4ECF2);border-radius:14px;padding:1.25rem 1.3rem 1.15rem;display:flex;flex-direction:column;box-shadow:0 6px 18px rgba(10,37,64,.05);position:relative}
.grw-card::before{content:"\201C";position:absolute;top:.35rem;right:1rem;font-family:Georgia,serif;font-size:3.4rem;line-height:1;color:var(--brand,#00A8E0);opacity:.18;pointer-events:none}
.grw-card .rs{color:#FFB400;letter-spacing:1.5px;font-size:1rem;line-height:1}
.grw-card p{font-size:.95rem;line-height:1.55;color:var(--text,#374151);margin:.7rem 0 1rem}
.grw-who{margin-top:auto;display:flex;align-items:center;gap:.7rem}
.grw-av{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:'Poppins',var(--ff-display,sans-serif);font-weight:700;font-size:.95rem;color:#fff;background:var(--brand,#00A8E0)}
.grw-card:nth-child(2n) .grw-av{background:var(--navy,#0A2540)}
.grw-card:nth-child(3n) .grw-av{background:#1FA463}
.grw-nm{font-family:'Poppins',var(--ff-display,sans-serif);font-weight:600;font-size:.92rem;color:var(--ink,#0B2742);line-height:1.2}
.grw-dt{font-size:.76rem;color:var(--muted,#6B7280);display:inline-flex;align-items:center;gap:.3rem;margin-top:.1rem}
.grw-dt svg{width:12px;height:12px;flex:none}
.grw-more{text-align:center;margin-top:.6rem}
.grw-more a{display:inline-flex;align-items:center;gap:.4rem;font-family:'Poppins',var(--ff-display,sans-serif);font-weight:600;font-size:.92rem;color:var(--ink,#0B2742);text-decoration:none;border:1.5px solid var(--line,#E4ECF2);border-radius:999px;padding:.55rem 1.1rem;transition:border-color .2s,color .2s}
.grw-more a:hover{border-color:var(--brand,#00A8E0);color:var(--brand,#00A8E0)}
.grw-more svg{width:14px;height:14px}
@media(min-width:1024px){.grw-track{grid-auto-columns:calc((100% - 2rem)/3)}}
@media(max-width:600px){.grw-track{grid-auto-columns:86%}.grw-head{gap:.6rem 1.2rem}.grw-card p{font-size:.92rem}}
