/* ==========================================================================
   AIXORA TECH - Google Reviews components
   Shared by index.html, contact.html and political-campaign-management.html.
   Uses css/style.css variables.
   ========================================================================== */

/* Full section (homepage) */
.greviews-section { background: var(--bg-secondary); }

/* Rating summary row */
.greviews-summary { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 38px; }
.greviews-summary .g-logo { width: 42px; height: 42px; flex-shrink: 0; }
.greviews-score { font-size: 2.4rem; font-weight: 800; color: var(--text-primary); line-height: 1; }
.greviews-meta { display: flex; flex-direction: column; gap: 4px; }
.g-stars { color: #fbbc05; font-size: 1rem; letter-spacing: 2px; }
.greviews-meta small { color: var(--text-secondary); font-size: .85rem; }
.greviews-meta small a { color: var(--primary-light); }

/* Review cards */
.greviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; margin-bottom: 34px; }
.greview-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; transition: var(--transition); }
.greview-card:hover { border-color: var(--border-glow); transform: translateY(-4px); box-shadow: var(--shadow-glow); }
.greview-head { display: flex; align-items: center; gap: 12px; }
.greview-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; color: #fff; flex-shrink: 0; }
.greview-head h4 { font-size: .98rem; margin-bottom: 2px; }
.greview-head .g-stars { font-size: .8rem; letter-spacing: 1px; }
.greview-text { color: var(--text-secondary); font-size: .92rem; line-height: 1.7; }
.greview-foot { display: flex; align-items: center; gap: 8px; margin-top: auto; color: var(--text-secondary); font-size: .8rem; }
.greview-foot .g-logo { width: 16px; height: 16px; }
.greviews-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* Compact strip (contact page / service heroes) */
.greviews-strip { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 16px; background: var(--bg-glass); border: 1px solid var(--border-color); border-radius: 999px; padding: 12px 26px; width: max-content; max-width: 100%; margin: 0 auto 44px; }
.greviews-strip .g-logo { width: 22px; height: 22px; flex-shrink: 0; }
.greviews-strip .g-stars { font-size: .9rem; letter-spacing: 1px; }
.greviews-strip span { color: var(--text-secondary); font-size: .92rem; }
.greviews-strip .g-stars { color: #fbbc05; }
.greviews-strip strong { color: var(--text-primary); }
.greviews-strip a { color: var(--primary-light); font-weight: 600; font-size: .9rem; white-space: nowrap; }
.greviews-strip a:hover { text-decoration: underline; }
