/* Google Reviews Widget – Front-end */
.grw-widget { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:1100px;margin:0 auto;padding:10px 0 30px;box-sizing:border-box; }
.grw-title  { text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:28px; }

.grw-card { padding:20px 22px 24px;box-sizing:border-box;transition:transform .2s,box-shadow .2s; }
.grw-style-white .grw-card   { box-shadow:0 2px 14px rgba(0,0,0,.10); }
.grw-style-minimal .grw-card { border:1px solid rgba(0,0,0,.1)!important;background:transparent!important; }
.grw-style-dark .grw-card    { box-shadow:0 4px 20px rgba(0,0,0,.3); }
.grw-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.12); }

.grw-card-top { display:flex;align-items:center;gap:11px;margin-bottom:12px; }
.grw-avatar { width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0; }
.grw-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.grw-initials { width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff; }
.grw-meta { flex:1;min-width:0; }
.grw-author { font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.grw-ago    { font-size:.75rem;color:#999;margin-top:2px; }
.grw-stars  { display:flex;align-items:center;gap:2px;margin-bottom:10px; }
.grw-review-text { font-size:.875rem;line-height:1.65;margin:0; }

/* Carousel */
.grw-carousel-wrap { display:flex;align-items:center;gap:8px; }
.grw-track-outer { flex:1;overflow:hidden; }
.grw-track { display:flex;gap:16px;transition:transform .45s cubic-bezier(.25,.46,.45,.94); }
.grw-layout-carousel .grw-card { flex:0 0 calc((100% - 32px)/3);min-width:0; }
@media(max-width:768px){ .grw-layout-carousel .grw-card { flex:0 0 calc((100% - 16px)/2); } }
@media(max-width:520px){ .grw-layout-carousel .grw-card { flex:0 0 100%; } .grw-arrow { display:none!important; } }

.grw-arrow { background:#fff;border:1px solid #e0e0e0;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer;color:#555;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:background .15s,box-shadow .15s;line-height:1; }
.grw-arrow:hover { background:#f5f5f5;box-shadow:0 2px 8px rgba(0,0,0,.13); }
.grw-arrow:disabled { opacity:.3;cursor:default;pointer-events:none; }

.grw-dots { display:flex;justify-content:center;gap:8px;margin-top:18px; }
.grw-dot { width:8px;height:8px;border-radius:50%;background:#d0d0d0;border:none;padding:0;cursor:pointer;transition:background .2s,transform .2s; }
.grw-dot.on { background:var(--grw-accent,#4285F4);transform:scale(1.35); }

/* Grid */
.grw-layout-grid .grw-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
@media(max-width:768px){ .grw-layout-grid .grw-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:480px){ .grw-layout-grid .grw-grid { grid-template-columns:1fr; } }

/* List */
.grw-layout-list .grw-list { display:flex;flex-direction:column;gap:14px; }
.grw-layout-list .grw-card { max-width:680px; }
