/* Five equal choices, native semantics, and no opinion until the buyer chooses. */
.rating-control{min-width:0;margin:0 0 var(--space-lg);padding:0 0 var(--space-md);border:0;border-bottom:1px solid var(--line)}
.rating-control legend{padding:0;font:700 16px/1.3 var(--fu);color:var(--ink)}
.rating-hint{margin:var(--space-xs) 0 var(--space-md);font:500 13px/1.5 var(--fu);color:var(--muted)}
.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.rating-option{position:relative;min-width:0}
.rating-option input{position:absolute;width:1px;height:1px;opacity:0}
.rating-option label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:8px 2px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}
.rating-number{font:700 20px/1 var(--fd);font-variant-numeric:tabular-nums}
.rating-meaning{font:600 12px/1.2 var(--fu);text-align:center;overflow-wrap:anywhere}
.rating-option input:checked+label{background:var(--ink);border-color:var(--ink);color:var(--paper);box-shadow:inset 0 -3px var(--ember)}
.rating-option input:focus-visible+label{outline:2px solid var(--ember);outline-offset:3px}
.rating-feedback{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font:500 12px/1.4 var(--fu);color:var(--muted)}
.rating-clear{min-width:44px;min-height:44px;padding:0 8px;border:0;border-radius:4px;background:none;color:var(--muted);font:600 12px/1 var(--fu);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.rating-clear[hidden]{display:none}
.rating-clear:focus-visible{outline:2px solid var(--ember);outline-offset:1px}
.rating-control:disabled legend,.rating-control:disabled .rating-hint{opacity:.6}
.rating-option input:disabled+label,.rating-clear:disabled{opacity:.5;cursor:not-allowed}
@media(hover:hover){.rating-option input:not(:checked):not(:disabled)+label:hover{border-color:var(--ink);background:var(--paper)}.rating-clear:hover:not(:disabled){color:var(--ink)}}
@media(max-width:400px){.rating-options{gap:4px}.rating-meaning{font-size:11px}}
@media(prefers-reduced-motion:reduce){.rating-option label{transition:none}}
@media(forced-colors:active){.rating-option input:checked+label{outline:3px solid Highlight;outline-offset:-4px}}
