/* Shared dot controls; layout and purchase accounting belong to the calling screen. */
.rating-control { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: .15rem; }
.rating-display { display: flex; align-items: center; gap: .3rem; }
.rating-dots { display: grid; grid-template-columns: repeat(5,1.2rem); gap: .05rem; }
.rating-dot { width: 1.2rem; height: 1.4rem; display: inline-flex; align-items: center; justify-content: center; color: var(--site-heading); }
.rating-dot-mark { width: .65rem; height: .65rem; border: 1px solid currentColor; border-radius: 50%; }
.rating-dot.is-filled .rating-dot-mark { background: currentColor; }
.rating-dot:disabled { opacity: 1; }
.rating-dot.is-starting { opacity: .6; }
.rating-dot:not(:disabled):hover, .rating-dot:focus-visible { color: var(--site-brass); outline: 1px solid currentColor; outline-offset: -1px; }
.rating-score { min-width: 1.2rem; font-size: .75rem; text-align: right; font-variant-numeric: tabular-nums; }
.rating-reset { font-size: .7rem; color: var(--site-text-muted); }
@media (max-width: 767.98px) { .rating-dots { grid-template-columns: repeat(5,1.5rem); } .rating-dot { width: 1.5rem; height: 1.5rem; } }
