/* Customer Ratings & Reviews module — styles used only by its own pages and badges. */

/* Star picker: radios in reverse order so ":checked ~ label" lights the chosen star and lower ones. */
.rr-stars { display:inline-flex; flex-direction:row-reverse; gap:.15rem; margin:.25rem 0 .6rem; }
.rr-stars input { position:absolute; opacity:0; width:1px; height:1px; }
.rr-stars label { font-size:2rem; line-height:1; color:#d6d3cc; cursor:pointer; transition:color .15s; }
.rr-stars input:checked ~ label,
.rr-stars:not(:has(input:disabled)) label:hover,
.rr-stars:not(:has(input:disabled)) label:hover ~ label { color:#e3a008; }
.rr-stars input:focus-visible + label { outline:2px solid var(--sage); outline-offset:2px; border-radius:4px; }
.rr-stars input:disabled + label { cursor:default; }

.rr-page .rr-section h2 { font-size:1.1rem; margin:0 0 .35rem; }
.rr-about { font-size:.9rem; color:#4b5a4c; background:#f3f7f2; border-left:4px solid var(--sage); padding:.55rem .75rem; border-radius:6px; margin:0 0 .5rem; }
.rr-label { display:block; font-size:.82rem; font-weight:700; color:var(--earth); margin:.25rem 0 .2rem; }
.rr-label span { font-weight:400; }
.rr-status { font-size:.8rem; color:#8a5a00; margin:.35rem 0 0; }
.rr-note { font-size:.82rem; color:#666; margin:1rem 0; }
.rr-product { display:grid; grid-template-columns:64px 1fr; gap:.75rem; padding:.75rem 0; border-top:1px solid #eee; }
.rr-product img, .rr-noimg { width:64px; height:64px; object-fit:cover; border-radius:8px; background:#f4f4f4; border:1px solid #e5e5e5; }
.rr-product-name { margin:0; font-weight:600; }
.rr-product-name span { font-weight:400; color:#777; }
.rr-product .rr-stars label { font-size:1.6rem; }

/* Read-only star display and badges on the shop. */
.rr-show { color:#e3a008; letter-spacing:.05em; white-space:nowrap; }
.rr-show .rr-off { color:#d6d3cc; }
.rr-badge { display:inline-flex; flex-wrap:wrap; gap:.15rem .6rem; font-size:.82rem; color:#555; margin:.2rem 0; align-items:center; }
.rr-badge strong { color:#333; }
.rr-new { font-size:.78rem; color:#888; font-style:italic; }
.rr-panel { margin:1.5rem 0; }
.rr-panel h2 { font-size:1.2rem; margin:0 0 .5rem; }
.rr-summary { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:0 0 .75rem; font-size:.95rem; }
.rr-summary .rr-big { font-size:1.6rem; font-weight:700; }
.rr-review { border-top:1px solid #eee; padding:.7rem 0; }
.rr-review p { margin:.25rem 0 0; }
.rr-review small { color:#888; }
.rr-reply { margin:.4rem 0 0 1rem; padding:.45rem .7rem; background:#f6f6f2; border-radius:6px; font-size:.88rem; }
.rr-rate-list { list-style:none; padding:0; margin:0; }
.rr-rate-list li { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.55rem 0; border-top:1px solid #eee; flex-wrap:wrap; }
