/* Google Reviews Showcase — Frontend Styles v2 */

.grs-wrapper { font-family: inherit; max-width: 1200px; margin: 0 auto; padding: 8px 0; }

/* Header */
.grs-header { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; flex-wrap: wrap; }
.grs-business-name { font-size: 1.2rem; font-weight: 700; color: #111827; }
.grs-overall-rating { display: flex; align-items: center; gap: 6px; }
.grs-rating-text { font-size: 0.85rem; color: #6b7280; font-weight: 600; }
.grs-review-count { font-size: 0.82rem; color: #9ca3af; }
.grs-google-badge { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 5px 12px; border: 1px solid #dadce0; border-radius: 20px; font-size: 0.8rem; font-weight: 600; color: #3c4043; text-decoration: none; }
.grs-google-badge:hover { background: #f1f3f4; color: #3c4043; text-decoration: none; }

/* Grid */
.grs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; margin-bottom: 28px; }

/* Card */
.grs-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 20px; display: flex; flex-direction: column; gap: 12px; transition: box-shadow .2s ease, transform .2s ease; }
.grs-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); transform: translateY(-2px); }

/* Avatar + author */
.grs-card-top { display: flex; align-items: center; gap: 12px; }
.grs-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 700; color: #fff; flex-shrink: 0; }
.grs-author-block { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.grs-author-name { font-weight: 600; font-size: 0.92rem; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.grs-time { font-size: 0.76rem; color: #9ca3af; }

/* Stars */
.grs-stars { display: flex; gap: 2px; }
.grs-star { font-size: 1.1rem; }
.grs-star-full { color: #f59e0b; }
.grs-star-half { color: #f59e0b; opacity: .6; }
.grs-star-empty { color: #d1d5db; }

/* Text + link */
.grs-review-text { font-size: 0.87rem; line-height: 1.65; color: #374151; flex-grow: 1; margin: 0; word-break: break-word; }
.grs-review-link { font-size: 0.79rem; color: #4285f4; text-decoration: none; font-weight: 500; margin-top: auto; align-self: flex-start; }
.grs-review-link:hover { text-decoration: underline; color: #1a73e8; }

/* Footer */
.grs-footer { text-align: center; margin-top: 4px; }
.grs-all-reviews-btn { display: inline-block; padding: 10px 28px; background: #4285f4; color: #fff; border-radius: 8px; text-decoration: none; font-size: 0.88rem; font-weight: 600; }
.grs-all-reviews-btn:hover { background: #3367d6; color: #fff; text-decoration: none; }

/* States */
.grs-error { color: #dc2626; font-size: .88rem; padding: 10px 14px; background: #fef2f2; border: 1px solid #fecaca; border-radius: 6px; }
.grs-no-reviews { color: #6b7280; font-size: .9rem; }

@media (max-width: 640px) {
    .grs-grid { grid-template-columns: 1fr; }
    .grs-header { flex-direction: column; align-items: flex-start; }
    .grs-google-badge { margin-left: 0; }
}
