/* =========================
   GOOGLE REVIEWS (MANUAL) — SEM API
   ========================= */

.g-reviews{ margin-top: 10px; }

.g-reviews__card{
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 40px rgba(0,0,0,.10);
  overflow: hidden;
}

.g-reviews__top{
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  padding:16px;
  border-bottom: 1px solid rgba(0,0,0,.07);
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,0));
}

.g-reviews__brand{
  display:flex;
  gap:12px;
  align-items:center;
  min-width: 220px;
}

.g-reviews__logo{
  width:42px;
  height:42px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  background: rgba(0,0,0,.08);
  color:#111;
}

.g-reviews__title{
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.1;
}

.g-reviews__subtitle{
  font-size: .92rem;
  opacity: .75;
}

.g-reviews__score{
  text-align:right;
  flex: 1;
}

.g-reviews__rating{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:10px;
}

.g-reviews__ratingNum{
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.g-reviews__stars{
  font-size: 1.2rem;
  letter-spacing: 1px;
  user-select:none;
}

.g-reviews__count{
  margin-top:2px;
  font-size:.92rem;
  opacity:.8;
}

.g-reviews__actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap: wrap;
}

.g-reviews__list{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  padding: 14px 16px 16px;
}

.g-rev{
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.9);
  padding: 12px 12px 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

.g-rev__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom: 8px;
}

.g-rev__name{
  font-weight: 800;
  font-size: .98rem;
}

.g-rev__text{
  margin: 0 0 8px 0;
  font-size: .95rem;
  line-height: 1.35;
  opacity: .9;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}

.g-rev__text.is-open{
  -webkit-line-clamp: unset;
}

.g-rev__more{
  display:inline-block;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  opacity: .85;
}

.g-rev__more:hover{ opacity: 1; text-decoration: underline; }

.g-rev__link{
  display:inline-block;
  margin-top: 6px;
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  opacity: .85;
}

.g-rev__link:hover{ opacity: 1; text-decoration: underline; }

@media (max-width: 992px){
  .g-reviews__top{
    flex-direction: column;
    text-align:left;
  }
  .g-reviews__score{ text-align:left; }
  .g-reviews__rating{ justify-content:flex-start; }
  .g-reviews__actions{ justify-content:flex-start; }
  .g-reviews__list{ grid-template-columns: 1fr; }
}
/* =========================
   FIX / OVERRIDE — MINI WIDGET (na caixa antiga de Atendimento)
   Cole no FINAL do google-reviews.css
   ========================= */

.g-reviews.g-reviews--mini{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* garante que não use layout do card grande */
.g-reviews--mini .g-reviews__card,
.g-reviews--mini .g-reviews__top,
.g-reviews--mini .g-reviews__list,
.g-reviews--mini .g-rev{
  display: none !important;
}

/* mini row */
.g-reviews--mini .g-reviews__miniRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.g-reviews--mini .g-reviews__miniTitle{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight: 800;
  font-size: .95rem;
}

.g-reviews--mini .g-reviews__miniG{
  width:28px;
  height:28px;
  border-radius: 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  background: rgba(0,0,0,.08);
  color:#111;
}

/* nota + estrelas */
.g-reviews--mini .g-reviews__miniScore{
  margin-top: 4px;
  display:flex;
  align-items:center;
  gap:8px;
  font-size: .95rem;
}

.g-reviews--mini #grAvg{
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: -0.3px;
  line-height: 1;
}

.g-reviews--mini .g-reviews__stars{
  font-size: 1.05rem;     /* menor que o grande */
  letter-spacing: 1px;
}

.g-reviews--mini .g-reviews__miniCount{
  opacity: .75;
  font-size: .9rem;
}

/* botões */
.g-reviews--mini .g-reviews__miniActions{
  display:flex;
  gap:8px;
  flex-wrap: wrap;
}

.g-reviews--mini .g-reviews__miniActions .btn{
  padding: .35rem .6rem;
  font-size: .9rem;
  line-height: 1.1;
}

/* frase opcional */
.g-reviews--mini .g-reviews__miniQuote{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  font-size: .92rem;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.g-reviews--mini .g-reviews__miniQuoteStars{
  letter-spacing: 1px;
  white-space: nowrap;
}

.g-reviews--mini .g-reviews__miniQuoteText{
  opacity: .9;
  line-height: 1.25;
}

/* mobile */
@media (max-width: 576px){
  .g-reviews--mini .g-reviews__miniRow{
    flex-direction: column;
    align-items:flex-start;
  }
  .g-reviews--mini .g-reviews__miniActions{
    width:100%;
  }
  .g-reviews--mini .g-reviews__miniActions .btn{
    flex: 1;
  }
}
// js/google-reviews.js
document.addEventListener('DOMContentLoaded', () => {
  // 1) Estrelas da média (4.9 vira ★★★★☆ visualmente)
  const avgEl = document.getElementById('grAvg');
  const starsEl = document.getElementById('grStars');

  if (avgEl && starsEl) {
    const avg = parseFloat(String(avgEl.textContent).replace(',', '.')) || 0;
    const full = Math.floor(avg);
    const hasHalf = (avg - full) >= 0.5;

    let out = '';
    for (let i = 1; i <= 5; i++) {
      if (i <= full) out += '★';
      else if (i === full + 1 && hasHalf) out += '☆'; // simples (sem meia estrela)
      else out += '☆';
    }
    starsEl.textContent = out;
    starsEl.setAttribute('aria-label', `${avg.toFixed(1)} de 5`);
  }

  // 2) “Ler mais” quando o texto for grande
  document.querySelectorAll('.g-rev__text').forEach((p) => {
    const text = (p.textContent || '').trim();
    if (text.length < 180) return;

    const a = document.createElement('a');
    a.href = '#';
    a.className = 'g-rev__more';
    a.textContent = 'Ler mais';
    a.addEventListener('click', (e) => {
      e.preventDefault();
      const open = p.classList.toggle('is-open');
      a.textContent = open ? 'Mostrar menos' : 'Ler mais';
    });

    p.insertAdjacentElement('afterend', a);
  });
});
/* =========================
   MINI PREMIUM STYLE
   ========================= */

.gr-mini{
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
}

.gr-mini__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.gr-mini__brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.gr-mini__g{
  width:34px;
  height:34px;
  border-radius: 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 16px;
  background: linear-gradient(135deg,#4285F4,#34A853,#FBBC05,#EA4335);
  color:#fff;
}

.gr-mini__brandTitle{
  font-weight: 900;
  font-size: 1rem;
}

.gr-mini__brandSub{
  font-size: .85rem;
  opacity: .6;
}

.gr-mini__primary{
  padding: .4rem .7rem;
  font-size: .9rem;
  border-radius: 8px;
}

/* SCORE */

.gr-mini__score{
  margin-top: 14px;
  display:flex;
  align-items:center;
  gap:14px;
}

.gr-mini__num{
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1;
}

.gr-mini__stars{
  font-size: 1.2rem;
  color: #fbbc05; /* dourado Google */
  letter-spacing: 2px;
}

.gr-mini__count{
  display:block;
  margin-top: 4px;
  font-size: .9rem;
  opacity: .7;
  text-decoration: none;
}

.gr-mini__count:hover{
  text-decoration: underline;
  opacity: 1;
}

/* QUOTE */

.gr-mini__quote{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.gr-mini__quoteStars{
  color:#fbbc05;
  letter-spacing: 2px;
}

.gr-mini__quoteText{
  font-size: .95rem;
  line-height: 1.3;
  opacity:.9;
}

/* LINK FINAL */

.gr-mini__links{
  margin-top: 10px;
}

.gr-mini__link{
  font-weight: 700;
  font-size: .9rem;
  text-decoration: none;
  opacity:.8;
}

.gr-mini__link:hover{
  opacity:1;
  text-decoration: underline;
}

/* MOBILE */

@media (max-width: 576px){
  .gr-mini__top{
    flex-direction: column;
    align-items:flex-start;
  }

  .gr-mini__primary{
    width:100%;
  }

  .gr-mini__score{
    flex-direction: column;
    align-items:flex-start;
  }
}
