/* Review summary and list (includes/reviews.php). Self-contained colours so
   product_detail.php and profile_preview.php can both use it. */

.rv .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rv-summary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;padding:16px 18px;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;margin-bottom:14px}
.rv-score{text-align:center}
.rv-avg{font-family:'Fraunces',Georgia,serif;font-size:44px;font-weight:800;color:#92400e;line-height:1}
.rv-stars{color:#f59e0b;letter-spacing:2px;font-size:16px}
.rv-score .rv-stars{font-size:19px;margin:4px 0 2px}
.rv-total{font-size:12px;font-weight:700;color:#92400e}
.rv-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.rv-bars a,.rv-bars .is-empty{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;gap:10px;align-items:center;font-size:12.5px;color:#6b7280;text-decoration:none;padding:2px 6px;border-radius:7px}
.rv-bars a:hover{background:rgba(245,158,11,.12);color:#92400e}
.rv-bars a.is-on{background:rgba(245,158,11,.2);color:#92400e;font-weight:800}
.rv-bars .is-empty{opacity:.55}
.rv-bar-track{height:8px;background:#fef3c7;border-radius:999px;overflow:hidden}
.rv-bar-track i{display:block;height:100%;background:#f59e0b;border-radius:999px}
.rv-bar-n{text-align:right;font-variant-numeric:tabular-nums}

.rv-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px;font-size:13px}
.rv-toolbar label{font-weight:700;color:#374151}
.rv-toolbar select{font:inherit;font-size:13px;padding:6px 10px;border:1px solid #E5E0D8;border-radius:9px;background:#fff}
.rv-chip{display:inline-flex;gap:6px;align-items:center;background:#2C5F2D;color:#fff;padding:4px 11px;border-radius:999px;font-weight:700;font-size:12px;text-decoration:none}
.rv-showing{margin-left:auto;color:#9ca3af;font-size:12px}

.rv-list{list-style:none;margin:0;padding:0}
.rv-item{padding:16px 0;border-bottom:1px solid #E5E0D8}
.rv-item:last-child{border-bottom:0}
.rv-item:target{background:#fffbeb;margin:0 -10px;padding:16px 10px;border-radius:10px}
.rv-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.rv-title{font-size:15px;color:#111827}
.rv-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:#6b7280;margin:4px 0 8px}
.rv-meta a{color:#2C5F2D;font-weight:600}
.rv-text{font-size:14px;line-height:1.65;color:#374151;margin:0;overflow-wrap:anywhere}
.rv-photos{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.rv-photos a{display:block;width:76px;height:76px;border-radius:10px;overflow:hidden;border:1px solid #E5E0D8}
.rv-photos img{width:100%;height:100%;object-fit:cover;display:block}
.rv-response{background:#f0fdf4;border-left:3px solid #2C5F2D;border-radius:0 10px 10px 0;padding:10px 14px;margin-top:10px;font-size:13px}
.rv-response strong{color:#15803d}
.rv-response-date{color:#6b7280;font-size:11.5px;margin-left:6px}
.rv-response p{margin:4px 0 0;color:#374151;line-height:1.55}
.rv-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px}
.rv-vote{font:inherit;font-size:12.5px;font-weight:700;color:#374151;background:#fff;border:1px solid #E5E0D8;border-radius:999px;padding:5px 12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.rv-vote:hover{border-color:#2C5F2D;color:#2C5F2D}
.rv-vote.is-on{background:#2C5F2D;border-color:#2C5F2D;color:#fff}
.rv-vote:disabled{opacity:.6}
.rv-helpful-n{font-size:12.5px;color:#6b7280}
.rv-link{font:inherit;font-size:12.5px;color:#6b7280;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rv-link:hover{color:#b91c1c}
.rv-link.is-done{color:#15803d;text-decoration:none;cursor:default}
.rv-vote:focus-visible,.rv-link:focus-visible,.rv-bars a:focus-visible,.rv-photos a:focus-visible{outline:3px solid #FF8C42;outline-offset:2px}
.rv-empty{text-align:center;color:#6b7280;padding:22px 0;font-size:14px}
.rv-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:14px;font-size:13px;color:#6b7280}
.rv-pager a{color:#2C5F2D;font-weight:700;text-decoration:none;padding:6px 12px;border:1px solid #E5E0D8;border-radius:9px}
.rv-pager a:hover{border-color:#2C5F2D}

.rv-dialog{border:0;border-radius:16px;padding:22px;max-width:440px;width:calc(100% - 32px);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.rv-dialog::backdrop{background:rgba(17,24,39,.5)}
.rv-dialog h3{font-family:'Fraunces',Georgia,serif;font-size:20px;color:#1A3A1B;margin:0 0 6px}
.rv-dialog fieldset{border:0;padding:0;margin:12px 0;display:flex;flex-direction:column;gap:8px}
.rv-dialog-note{font-size:12.5px;color:#6b7280;margin:0;line-height:1.5}
.rv-radio{display:flex;gap:9px;align-items:center;font-size:14px;cursor:pointer}
.rv-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:#374151}
.rv-field span{font-weight:500;color:#9ca3af}
.rv-field textarea{font:inherit;font-size:14px;border:1px solid #E5E0D8;border-radius:10px;padding:9px 11px;resize:vertical}
.rv-dialog-msg{font-size:13px;min-height:1.2em;margin:10px 0 0;color:#b91c1c}
.rv-dialog-msg.ok{color:#15803d}
.rv-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.rv-btn{font:inherit;font-size:14px;font-weight:700;border:0;border-radius:10px;padding:9px 16px;background:#2C5F2D;color:#fff;cursor:pointer}
.rv-btn-ghost{background:#fff;color:#374151;border:1px solid #E5E0D8}

@media (max-width:560px){
  .rv-summary{grid-template-columns:1fr;gap:12px}
  .rv-showing{margin-left:0;width:100%}
}
