/* Scoped storefront Google Reviews styling. No global theme rules. */
#nsg-app .nsg-google-reviews { margin:clamp(24px,5vw,72px) auto; padding:clamp(20px,4vw,44px); background:#fff; border:1px solid #e4e3ed; border-radius:24px; color:#191550; overflow:hidden; }
#nsg-app .nsg-google-reviews-top { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:16px; }
#nsg-app .nsg-google-reviews-top h2 { color:#191550!important; font-size:clamp(25px,3.6vw,45px); line-height:1.15; margin:7px 0 12px; font-weight:750; }
#nsg-app .nsg-google-reviews-top p { color:#4a5067!important; max-width:580px; margin:0 0 10px; }
#nsg-app .nsg-google-brand { display:flex; align-items:center; gap:9px; font-size:13px; color:#606476; flex-shrink:0; }
#nsg-app .nsg-google-brand img { display:block; width:78px; height:auto; background:transparent; }
#nsg-app .nsg-google-summary { min-height:40px; display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:14px; color:#394259; margin:24px 0; }
#nsg-app .nsg-google-rating { font-size:30px; font-weight:800; color:#191550!important; font-variant-numeric:tabular-nums; }
#nsg-app .nsg-review-stars { color:#d88916!important; font-size:21px; letter-spacing:.08em; white-space:nowrap; }
#nsg-app .nsg-google-review-count { font-size:14px; color:#545b6a!important; }
#nsg-app .nsg-google-review-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
#nsg-app .nsg-google-review-card { min-width:0; background:#faf9f5; border:1px solid #ece8e2; padding:19px; border-radius:18px; display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
#nsg-app .nsg-google-review-card .nsg-review-stars { font-size:16px; }
#nsg-app .nsg-google-review-author { display:flex; align-items:center; gap:10px; width:100%; }
#nsg-app .nsg-google-review-avatar { width:42px; height:42px; object-fit:cover; border-radius:50%; flex-shrink:0; }
#nsg-app .nsg-google-review-avatar-fallback { display:flex; align-items:center; justify-content:center; color:#fff; background:#191550; font-weight:700; }
#nsg-app .nsg-google-review-author-text { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:3px; }
#nsg-app .nsg-google-review-author-text strong { font-size:14px; color:#121731!important; }
#nsg-app .nsg-google-review-author-text small { font-size:11px; color:#60677c!important; }
#nsg-app a.nsg-google-review-author-link, #nsg-app a.nsg-google-review-source, #nsg-app a.nsg-google-attribution { color:#191550!important; text-decoration:underline!important; text-underline-offset:3px; }
#nsg-app .nsg-google-review-text { margin:0; color:#273042!important; font-size:14px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
#nsg-app a.nsg-google-review-source { font-size:12px; font-weight:700; margin-top:auto; }
#nsg-app .nsg-google-reviews-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:22px; }
#nsg-app .nsg-google-reviews-actions .nsg-button { text-decoration:none!important; }
#nsg-app .nsg-google-reviews-note { color:#626977!important; font-size:11px; line-height:1.6; margin:18px 0 0; }
@media(max-width:890px){#nsg-app .nsg-google-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:610px){
#nsg-app .nsg-google-reviews{padding:20px 16px;border-radius:17px;margin:24px auto;}
#nsg-app .nsg-google-review-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;overscroll-behavior-x:contain;padding-bottom:8px;scrollbar-width:thin}
#nsg-app .nsg-google-review-card{min-width:82%;max-width:82%;scroll-snap-align:start;}
#nsg-app .nsg-google-reviews-actions{flex-direction:column;align-items:stretch}
#nsg-app .nsg-google-reviews-actions .nsg-button{width:100%;min-height:48px;text-align:center;justify-content:center}
#nsg-app .nsg-google-summary{gap:8px;}
}
@media(prefers-reduced-motion:reduce){#nsg-app .nsg-google-review-list{scroll-behavior:auto}}

/* Visible only to authenticated WooCommerce admins. Not customer-facing. */
#nsg-app .nsg-google-admin-hint{background:#fff9ea;border:1px solid #dcc584;padding:12px 14px;border-radius:10px;color:#40371e!important;font-size:13px;line-height:1.5;margin:10px 0 18px;}
#nsg-app .nsg-google-admin-hint a{color:#191550!important;text-decoration:underline!important;font-weight:700;margin-left:6px;}
