/* =========================================================
   Review Manager for Divi — Front-End Styles v2
   ========================================================= */

.grd-wrap,.grd-wrap *,.grd-wrap *::before,.grd-wrap *::after{box-sizing:border-box}
.grd-wrap{font-family:inherit;max-width:100%}

/* Header */
.grd-header{text-align:center;margin-bottom:2rem}
.grd-business-name{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem;line-height:1.3}
.grd-overall{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}
.grd-overall-score{font-size:2.2rem;font-weight:800;color:#222;line-height:1}
.grd-total-count{font-size:.875rem;color:#777}
.grd-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:#555;text-decoration:none;border:1px solid #e0e0e0;border-radius:20px;padding:4px 12px;transition:background .2s}
.grd-badge:hover{background:#f8f8f8;color:#333}

/* Stars */
.grd-stars{display:flex;align-items:center;gap:1px;line-height:1;margin-bottom:.65rem}
.grd-star{font-style:normal;font-size:1rem;line-height:1}
.grd-star--full,.grd-star--half{color:#f5a623}
.grd-star--empty{color:#d8d8d8}
.grd-stars--large .grd-star{font-size:1.4rem}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* Grid / List */
.grd-grid{display:grid;gap:1.25rem}
.grd-layout-grid .grd-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.grd-layout-list .grd-grid{grid-template-columns:1fr}

/* Card */
.grd-card{background:#fff;border-radius:12px;padding:1.35rem 1.5rem;box-shadow:0 2px 14px rgba(0,0,0,.07);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}
.grd-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.11)}

/* Reviewer */
.grd-reviewer{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.grd-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#e9e9e9}
.grd-reviewer-meta{flex:1;min-width:0}
.grd-reviewer-name{font-weight:600;font-size:.95rem;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grd-review-date{font-size:.78rem;color:#aaa;margin-top:2px}
.grd-card-source{flex-shrink:0;opacity:.7}

/* Source badges */
.grd-source-manual{color:#888}

/* Review text */
.grd-review-text{font-size:.9rem;color:#555;line-height:1.65;margin-top:.4rem}

/* Empty / error */
.grd-no-reviews{text-align:center;color:#888;padding:2rem;font-style:italic}
.grd-error{background:#fff5f5;border-left:4px solid #e53e3e;color:#c53030;padding:.85rem 1rem;border-radius:4px;font-size:.9rem}

/* Responsive */
@media(max-width:600px){
    .grd-layout-grid .grd-grid{grid-template-columns:1fr}
    .grd-overall-score{font-size:1.8rem}
}
