/* ضایعات طالب — بخش نظرات مشتریان (نمایش + ثبت نظر) */

/* ---------- ستاره‌ها: مقدار امتیاز با متغیر --v (۰ تا ۵) ---------- */
.stars{
  position:relative;display:inline-block;direction:ltr;unicode-bidi:isolate;
  font-size:1.0625rem;line-height:1;letter-spacing:3px;color:#CBD5E1;
  --v:5;
}
.stars::before{content:"★★★★★"}
.stars::after{
  content:"★★★★★";position:absolute;top:0;left:0;
  width:calc(var(--v) / 5 * 100%);overflow:hidden;white-space:nowrap;color:#F59E0B;
}
.stars--lg{font-size:1.4375rem;letter-spacing:5px;color:rgba(255,255,255,.28)}
.stars--lg::after{color:#FBBF24}

/* ---------- چیدمان کلی ---------- */
.rv{display:grid;grid-template-columns:336px 1fr;gap:26px;align-items:start}
@media (max-width:1000px){.rv{grid-template-columns:1fr}}

/* ---------- پنل خلاصهٔ امتیاز ---------- */
.rv-sum{
  position:sticky;top:calc(var(--header-h) + 18px);
  border-radius:var(--radius-lg);padding:30px 26px;color:#fff;overflow:hidden;
  background:
    radial-gradient(620px 320px at 100% 0%, rgba(234,88,12,.34), transparent 62%),
    linear-gradient(150deg,var(--blue-700),var(--navy-900));
  box-shadow:var(--shadow-lg);
}
@media (max-width:1000px){.rv-sum{position:static}}
.rv-sum__num{
  display:block;font-size:3.25rem;font-weight:800;line-height:1;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;margin-bottom:12px;
}
.rv-sum__cap{display:block;margin-top:12px;color:#C7D6EC;font-size:.9062rem}
.rv-bars{margin:24px 0 22px;display:grid;gap:9px}
.rv-bars li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:.8125rem;color:#C7D6EC}
.rv-bars .lbl{display:inline-flex;align-items:center;gap:3px;min-width:26px}
.rv-bars .lbl::after{content:"★";color:#FBBF24;font-size:.75rem}
.rv-bar{height:7px;border-radius:var(--radius-pill);background:rgba(255,255,255,.16);overflow:hidden}
.rv-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#FBBF24,#F59E0B)}
.rv-pct{font-variant-numeric:tabular-nums;min-width:36px;text-align:end;color:#DCE9FF}
.rv-facts{display:grid;gap:10px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);margin-bottom:22px}
.rv-facts li{display:flex;align-items:flex-start;gap:9px;font-size:.9062rem;color:#DCE9FF;line-height:1.75}
.rv-facts svg{width:18px;height:18px;flex:none;color:#34D399;margin-top:4px}

/* ---------- چیپ‌های فیلتر ---------- */
.rv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.rv-chip{
  min-height:40px;padding:0 16px;border-radius:var(--radius-pill);border:1.5px solid var(--line);
  background:#fff;color:#243B57;font-weight:700;font-size:.875rem;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:.2s ease;
}
.rv-chip:hover{border-color:var(--blue-500);color:var(--blue-700)}
.rv-chip[aria-pressed="true"]{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.rv-chip .n{font-size:.75rem;font-weight:700;background:var(--blue-50);color:var(--blue-700);border-radius:var(--radius-pill);padding:2px 8px;font-variant-numeric:tabular-nums}
.rv-chip[aria-pressed="true"] .n{background:rgba(255,255,255,.18);color:#fff}

/* ---------- کارت‌های نظر ---------- */
.rv-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:700px){.rv-list{grid-template-columns:1fr}}
.rv-card{
  position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:24px 22px 20px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.rv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-100)}
.rv-card.is-off{display:none}
.rv-card::before{
  content:"";position:absolute;top:0;inset-inline:0;height:3px;
  background:linear-gradient(90deg,var(--orange-600),var(--blue-500));opacity:0;transition:opacity .25s ease;
}
.rv-card:hover::before{opacity:1}
.rv-card--new{animation:rvIn .5s ease both;border-color:#FED7AA;box-shadow:0 10px 30px rgba(194,65,12,.12)}
@keyframes rvIn{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rv-card--new{animation:none}}
.rv-quote{
  position:absolute;top:2px;inset-inline-end:16px;font-size:4.5rem;line-height:1;
  font-weight:800;color:var(--blue-50);pointer-events:none;user-select:none;
}
.rv-card__top{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:12px}
.rv-ava{
  display:grid;place-items:center;width:46px;height:46px;border-radius:14px;flex:none;
  color:#fff;font-weight:800;font-size:1.125rem;box-shadow:var(--shadow-sm);
}
.rv-ava--a{background:linear-gradient(140deg,var(--blue-500),var(--blue-700))}
.rv-ava--b{background:linear-gradient(140deg,var(--orange-600),var(--orange-700))}
.rv-ava--c{background:linear-gradient(140deg,#14B8A6,#0F766E)}
.rv-ava--d{background:linear-gradient(140deg,#6366F1,#4338CA)}
.rv-id{min-width:0;flex:1}
.rv-id b{display:block;font-size:1.0312rem;line-height:1.6}
.rv-meta{display:block;font-size:.8125rem;color:var(--muted);line-height:1.7}
.rv-ok{
  display:inline-flex;align-items:center;gap:5px;flex:none;align-self:flex-start;
  background:#ECFDF5;color:#047857;border:1px solid #A7F3D0;border-radius:var(--radius-pill);
  padding:3px 10px;font-size:.75rem;font-weight:700;white-space:nowrap;
}
.rv-ok svg{width:13px;height:13px}
.rv-ok--wait{background:var(--orange-50);color:var(--orange-700);border-color:#FED7AA}
.rv-text{position:relative;color:#334155;font-size:.9688rem;line-height:1.95;margin:12px 0 16px}
.rv-tag{
  display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;
  color:var(--blue-700);background:var(--blue-50);border-radius:var(--radius-pill);padding:5px 13px;
}
.rv-empty{
  grid-column:1 / -1;text-align:center;color:var(--muted);background:#fff;
  border:1px dashed var(--line);border-radius:var(--radius);padding:34px 20px;font-size:.9688rem;
}
.rv-empty[hidden]{display:none}
.rv-more-wrap{display:flex;justify-content:center;margin-top:22px}
.rv-more-wrap[hidden]{display:none}

/* ---------- فرم ثبت نظر ---------- */
.rv-form{
  margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:34px;box-shadow:var(--shadow-sm);scroll-margin-top:calc(var(--header-h) + 24px);
}
@media (max-width:560px){.rv-form{padding:24px 18px}}
.rv-form__head{margin-bottom:24px}
.rv-form__head h3{font-size:1.3125rem;margin-bottom:8px}
.rv-form__head p{color:var(--muted);font-size:.9688rem}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:640px){.rv-grid{grid-template-columns:1fr}}
.rv-field{display:flex;flex-direction:column;gap:7px}
.rv-field--full{grid-column:1 / -1}
.rv-field label,.rv-rate legend{font-weight:700;font-size:.9375rem;color:var(--navy-900)}
.rv-field .opt{font-weight:500;font-size:.8125rem;color:var(--muted)}
.req{color:var(--orange-700)}
.rv-input{
  width:100%;min-height:52px;padding:0 16px;border-radius:var(--radius-sm);
  border:1.5px solid var(--line);background:#fff;font:inherit;color:var(--ink);
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
textarea.rv-input{min-height:134px;padding:14px 16px;line-height:1.9;resize:vertical}
.rv-input::placeholder{color:#94A3B8}
.rv-input:hover{border-color:#CBD5E1}
.rv-input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.rv-input[aria-invalid="true"]{border-color:#DC2626;background:#FEF2F2}
.rv-input[aria-invalid="true"]:focus{box-shadow:0 0 0 4px rgba(220,38,38,.14)}
.rv-input--tel{direction:ltr;unicode-bidi:isolate;text-align:right}
select.rv-input{
  appearance:none;-webkit-appearance:none;cursor:pointer;padding-inline-end:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-size:17px;background-position:left 16px center;
}
.rv-err{color:#B91C1C;font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:6px}
.rv-err[hidden]{display:none}
.rv-err::before{content:"!";display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#FEE2E2;font-size:.6875rem;flex:none}
.rv-count{font-size:.75rem;color:var(--muted);text-align:end;font-variant-numeric:tabular-nums}

/* امتیازدهی با ستاره */
.rv-rate{border:0;padding:0;margin:0 0 20px;min-width:0}
.rv-rate legend{padding:0;margin-bottom:9px}
.rv-rate__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rv-stars{position:relative;display:flex;gap:4px;background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius-pill);padding:6px 12px}
.rv-stars label{
  cursor:pointer;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  color:#CBD5E1;transition:transform .15s ease,color .15s ease;
}
.rv-stars label svg{width:26px;height:26px;fill:currentColor}
.rv-stars label:hover{transform:scale(1.12)}
.rv-stars input:focus-visible+label{outline:3px solid var(--orange-600);outline-offset:2px}
.rv-stars input:checked+label,.rv-stars label.is-on{color:#F59E0B}
.rv-rate__hint{font-size:.9062rem;font-weight:700;color:var(--muted)}
.rv-rate[data-invalid="true"] .rv-stars{border-color:#DC2626;background:#FEF2F2}

.rv-consent{display:flex;align-items:flex-start;gap:10px;margin:22px 0 0;font-size:.9062rem;color:var(--muted)}
.rv-consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--blue-600);cursor:pointer}
.rv-consent label{cursor:pointer;line-height:1.8}
.rv-form__foot{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:22px;padding-top:22px;border-top:1px solid var(--line-soft);
}
.rv-note{display:flex;align-items:flex-start;gap:8px;font-size:.8438rem;color:var(--muted);max-width:48ch;line-height:1.8}
.rv-note svg{width:17px;height:17px;flex:none;color:var(--blue-600);margin-top:3px}
.rv-done{
  display:flex;align-items:flex-start;gap:12px;background:#ECFDF5;border:1px solid #A7F3D0;
  color:#065F46;border-radius:var(--radius);padding:16px 18px;margin-bottom:22px;
  font-size:.9375rem;line-height:1.85;
}
.rv-done svg{width:22px;height:22px;flex:none;color:#059669;margin-top:2px}
.rv-done[hidden]{display:none}
