/* ============================================================
   AVALIAÇÕES — carrossel infinito de avaliações do Google, em
   blocos de vidro fosco (liquid glass) flutuando sobre um fundo
   escuro com resplandor. Mesmo vocabulário de premium.css:
   backdrop-filter + gradiente translúcido + sombra em camadas.
   ============================================================ */

.reviews { position: relative; padding: 128px 0 118px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 14% 18%, rgba(207, 154, 74, .17) 0, transparent 42%), radial-gradient(circle at 87% 82%, rgba(94, 112, 178, .18) 0, transparent 45%), linear-gradient(165deg, #0a0e28 0%, #12173a 55%, #0b0f2c 100%); }
.reviews h2 { color: #f7f9fb; }
.reviews-heading { margin-bottom: 46px; }
.reviews-heading .kicker { margin-bottom: 3px; }

@media (min-width: 700px) {
  .reviews-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
}

/* --- cartão-resumo: nota média + link para o perfil no Google --- */
.reviews-score { flex: none; width: 100%; max-width: 280px; padding: 22px 24px; border-radius: 24px; background: linear-gradient(150deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .04)); border: 1px solid rgba(255, 255, 255, .18); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 18px 38px rgba(4, 6, 20, .32); backdrop-filter: blur(18px) saturate(150%); }
.reviews-score-top { display: flex; align-items: center; gap: 14px; }
.reviews-score-g { width: 30px; height: 30px; flex: none; }
.reviews-score-num strong { display: block; font: 600 38px var(--serif); letter-spacing: -1.5px; line-height: 1; color: #fffaf0; }
.reviews-score-num .review-stars { margin: 7px 0 0; }
.reviews-score > p { margin: 14px 0 0; color: #c7cbd6; font-size: 12.5px; line-height: 1.5; }
.reviews-score > p strong { color: #f0dfc4; font-weight: 700; }
.reviews-score > a { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; color: var(--goldpale); font: 700 11px var(--mono); letter-spacing: .3px; text-decoration: none; padding-bottom: 2px; border-bottom: 1px solid rgba(236, 201, 140, .4); transition: border-color .2s, color .2s; }
.reviews-score > a:hover { border-color: var(--goldpale); color: #fff; }

/* --- estrelas: componente compartilhado (cartão-resumo + cada avaliação) --- */
.review-stars { display: flex; gap: 3px; margin: 0 0 12px; }
.review-stars span { width: 13px; height: 13px; background: var(--gold); clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.review-stars.is-4 span:last-child { background: rgba(207, 154, 74, .28); }

/* --- trilho infinito: dois conjuntos idênticos lado a lado, deslocados -50% --- */
.reviews-carousel { position: relative; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.reviews-track { display: flex; width: max-content; animation: reviews-scroll 46s linear infinite; }
.reviews-carousel:hover .reviews-track { animation-play-state: paused; }
.reviews-set { display: flex; gap: 20px; padding-right: 20px; }
@keyframes reviews-scroll { to { transform: translateX(-50%); } }

/* --- cartão de avaliação individual --- */
.review-card { flex: 0 0 84vw; max-width: 340px; padding: 22px 22px 24px; border-radius: 22px; background: linear-gradient(155deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .03)); border: 1px solid rgba(255, 255, 255, .14); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 20px 40px rgba(4, 6, 20, .35); backdrop-filter: blur(18px) saturate(150%); }
.review-top { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.review-id { flex: 1; min-width: 0; }
.review-id strong { display: block; font: 600 13.5px var(--sans); letter-spacing: -.1px; color: #f3f5f9; }
.review-id span { display: block; margin-top: 2px; font: 10px var(--mono); color: #8791ab; letter-spacing: .3px; }
.review-g { flex: none; width: 18px; height: 18px; }
.review-card > p { margin: 0; color: #cdd1dc; font-size: 13.5px; line-height: 1.65; }

.review-avatar { flex: none; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff; font: 700 13px var(--sans); letter-spacing: .2px; }
.review-avatar--gold { background: linear-gradient(135deg, #e6bd74, #a9722c); }
.review-avatar--navy { background: linear-gradient(135deg, #3c4568, #161b38); }
.review-avatar--blue { background: linear-gradient(135deg, #5a6690, #2a3155); }
.review-avatar--amber { background: linear-gradient(135deg, #d9a45c, #8a5a26); }

@media (min-width: 620px) { .review-card { flex-basis: 340px; } }

@media (max-width: 700px) {
  .reviews-score { max-width: 100%; }
}

@media (max-width: 480px) {
  .reviews { padding: 92px 0 84px; }
  .reviews-heading { margin-bottom: 34px; }
  .reviews-score-num strong { font-size: 32px; }
  .review-card { padding: 20px 20px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .reviews-track { animation: none; }
}
