/* =========================================================
   AVALIACOES.CSS — exclusivo do avaliacoes.html
   Precisa de base.css carregado antes.
   ========================================================= */

.reviews-page{padding:24px 16px 48px;max-width:820px}
.reviews-page h1{font-size:26px;margin-bottom:4px}
.reviews-page-sub{font-size:14px;color:var(--gray-600);text-align:left;margin-bottom:22px}
.reviews-page .rating-summary{margin-bottom:20px}
.reviews-page .reviews-subtitle{text-align:left;margin-top:32px}

.reviews-toolbar{
  display:flex;flex-direction:column;gap:10px;margin-bottom:10px;
}
.rating-filters{display:flex;gap:8px;flex-wrap:wrap}
.rf-btn{
  display:inline-flex;align-items:center;gap:5px;
  border:1.5px solid var(--gray-200);border-radius:22px;padding:8px 16px;
  font-size:13.5px;font-weight:700;color:var(--black);background:var(--white);transition:.15s;
}
.rf-btn:hover{border-color:var(--gray-400)}
.rf-btn .rf-star{color:var(--gold)}
.rf-btn.active{background:var(--brand);border-color:var(--brand);color:var(--white)}
.rf-btn.active .rf-star{color:var(--white)}

.review-search{position:relative}
.review-search svg{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--gray-400);
}
.review-search input{
  width:100%;padding:12px 14px 12px 40px;
  border:1.5px solid var(--gray-200);border-radius:10px;
  font-size:14px;font-family:inherit;background:var(--white);
}
.sort-select{
  width:100%;border:1.5px solid var(--gray-200);border-radius:10px;padding:12px 14px;
  font-size:14px;font-family:inherit;color:var(--black);background:var(--white);
}
.reviews-count{font-size:12.5px;color:var(--gray-500);margin-bottom:20px}

.client-photos-card{
  border:1px solid var(--gray-200);border-radius:var(--radius);
  padding:16px;background:var(--white);margin-bottom:20px;
}
.client-photos-card h2{
  font-family:var(--font-body);font-size:13px;font-weight:800;
  text-transform:uppercase;letter-spacing:.4px;margin-bottom:3px;
}
.client-photos-card p{font-size:12.5px;color:var(--gray-500);margin-bottom:12px}
.client-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.client-photos img{border-radius:8px;aspect-ratio:1/1;object-fit:cover}

.review-list{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.review-item{
  display:flex;flex-direction:column;gap:10px;
  border:1px solid var(--gray-200);border-radius:var(--radius);padding:16px;
  background:var(--white);
}
.review-item.is-hidden{display:none}
.ri-head{display:flex;align-items:center;gap:12px}
.ri-avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:var(--brand);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:19px;
}
.ri-name{font-size:14.5px;font-weight:700}
.ri-loc{font-size:12.5px;color:var(--gray-500)}
.ri-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ri-stars{color:#f5a623;letter-spacing:1.5px;font-size:14px}
.ri-verified{
  background:var(--gray-100);color:var(--gray-600);
  font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;
}
.ri-text{font-size:14px;color:var(--gray-600);line-height:1.55}
.ri-photo{width:100%;border-radius:8px;aspect-ratio:4/3;object-fit:cover}
.ri-foot{
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
  font-size:11.5px;color:var(--gray-500);
}
.ri-variant{font-weight:600}

.reviews-empty{font-size:14px;color:var(--gray-500);text-align:center;padding:24px 0}

.reviews-cta{
  text-align:center;background:var(--gray-50);border-radius:var(--radius);
  padding:28px 20px;margin-top:32px;
}
.reviews-cta h3{font-size:20px;margin-bottom:6px}
.reviews-cta p{font-size:13.5px;color:var(--gray-600);margin-bottom:16px}
.reviews-cta .buy-btn{display:inline-block;width:auto;padding:14px 32px}

/* ---- >=768px : tablets / desktop pequeno ---- */
@media (min-width:768px){
  .client-photos{grid-template-columns:repeat(4,1fr)}
  .reviews-toolbar{flex-direction:row;align-items:center;justify-content:space-between}
}
