/* RL MARKET 2.0 - REVIEWS */

.rl-reviews-section {
  margin-top: 2rem;
  background: #fff;
  border-radius: 16px;
  padding: 2rem;
  border: 1px solid #E2E8F0;
}
.rl-reviews-title {
  font-size: 1.25rem; font-weight: 800;
  color: #0F172A; margin-bottom: 1.5rem;
  display: flex; align-items: center; gap: 8px;
}
.rl-reviews-title i { color: #FBBF24; }

/* Resumo */
.rl-reviews-summary {
  display: grid;
  grid-template-columns: 200px 1fr auto;
  gap: 2rem; align-items: center;
  padding-bottom: 1.5rem; margin-bottom: 1.5rem;
  border-bottom: 1px solid #E2E8F0;
}
.rl-reviews-avg { text-align: center; }
.rl-reviews-avg-number {
  font-size: 3rem; font-weight: 900;
  color: #1E40AF; line-height: 1;
}
.rl-reviews-avg-stars { color: #FBBF24; font-size: 1.125rem; margin: 4px 0; }
.rl-reviews-avg-stars i { margin: 0 1px; }
.rl-reviews-avg-total { font-size: .8125rem; color: #94A3B8; }

.rl-reviews-dist { display: flex; flex-direction: column; gap: 6px; }
.rl-dist-row { display: flex; align-items: center; gap: 8px; font-size: .8125rem; }
.rl-dist-row span:first-child { width: 30px; color: #475569; font-weight: 700; }
.rl-dist-bar {
  flex: 1; height: 8px;
  background: #F1F5F9; border-radius: 50px;
  overflow: hidden;
}
.rl-dist-bar div { height: 100%; background: linear-gradient(90deg, #FBBF24, #F97316); }
.rl-dist-row span:last-child { width: 30px; color: #94A3B8; font-size: .75rem; text-align: right; }

.rl-btn-new-review {
  padding: 12px 20px;
  background: #1E40AF; color: #fff;
  border: none; border-radius: 10px;
  font-weight: 700; font-size: .875rem;
  cursor: pointer; transition: all .2s;
  display: inline-flex; align-items: center; gap: 6px;
}
.rl-btn-new-review:hover { background: #1D4ED8; transform: translateY(-2px); }

/* Lista */
.rl-reviews-loading {
  text-align: center; padding: 2rem;
  color: #94A3B8; font-size: .875rem;
}
.rl-reviews-list { display: flex; flex-direction: column; gap: 1rem; }

.rl-review-card {
  padding: 1.25rem;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #F8FAFC;
}
.rl-review-head {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 8px; flex-wrap: wrap;
}
.rl-review-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: linear-gradient(135deg, #1E40AF, #3B82F6);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-weight: 800;
}
.rl-review-author { flex: 1; }
.rl-review-author strong { display: block; color: #0F172A; font-size: .9375rem; }
.rl-review-date { font-size: .75rem; color: #94A3B8; }
.rl-review-rating { color: #FBBF24; font-size: .875rem; }
.rl-review-title { font-weight: 800; color: #0F172A; margin-bottom: 4px; }
.rl-review-comment { color: #475569; font-size: .9375rem; line-height: 1.6; }
.rl-review-photo {
  margin-top: 10px;
  max-width: 200px;
  border-radius: 8px;
  cursor: pointer;
}
.rl-review-helpful {
  margin-top: 8px;
  background: transparent;
  border: 1px solid #CBD5E1;
  color: #64748B;
  padding: 4px 12px;
  border-radius: 50px;
  font-size: .75rem;
  cursor: pointer;
  transition: all .2s;
}
.rl-review-helpful:hover { background: #1E40AF; color: #fff; border-color: #1E40AF; }
.rl-review-helpful.voted { background: #10B981; color: #fff; border-color: #10B981; }

/* Formulário */
.rl-review-form {
  margin-top: 1.5rem;
  padding: 1.5rem;
  border: 2px dashed #1E40AF;
  border-radius: 12px;
  background: #EFF6FF;
}
.rl-review-form h3 { margin-bottom: 1rem; color: #0F172A; }

.rl-rating-stars {
  display: flex; gap: 4px; font-size: 2rem;
  cursor: pointer; margin-bottom: 1rem;
}
.rl-rating-stars span {
  color: #CBD5E1;
  transition: color .15s;
  user-select: none;
}
.rl-rating-stars span.active,
.rl-rating-stars span.hover { color: #FBBF24; }

.rl-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
.rl-review-form input[type="text"],
.rl-review-form input[type="email"],
.rl-review-form textarea {
  width: 100%;
  padding: .75rem;
  border: 2px solid #E2E8F0;
  border-radius: 8px;
  font-size: .9375rem;
  outline: none;
  margin-bottom: 10px;
}
.rl-review-form input:focus,
.rl-review-form textarea:focus { border-color: #1E40AF; }

.rl-photo-upload {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: #fff;
  border: 1px dashed #CBD5E1;
  border-radius: 8px;
  cursor: pointer;
  font-size: .8125rem; color: #475569;
}
.rl-photo-upload input[type="file"] { display: none; }
.rl-photo-upload:hover { border-color: #1E40AF; color: #1E40AF; }

.rl-form-buttons {
  display: flex; gap: 8px;
  margin-top: 12px;
}
.rl-btn-cancel {
  padding: 10px 18px;
  background: #F1F5F9; color: #475569;
  border: none; border-radius: 8px;
  font-weight: 600; cursor: pointer;
}
.rl-btn-submit {
  padding: 10px 18px;
  background: linear-gradient(135deg, #10B981, #059669);
  color: #fff; border: none; border-radius: 8px;
  font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
}

.rl-review-feedback {
  margin-top: 10px;
  font-size: .875rem;
  text-align: center;
  font-weight: 600;
}
.rl-review-feedback.success { color: #059669; }
.rl-review-feedback.error { color: #DC2626; }

@media (max-width: 768px) {
  .rl-reviews-summary { grid-template-columns: 1fr; text-align: center; }
  .rl-form-row { grid-template-columns: 1fr; }
}
