.sa-star-rating { min-width: 0; margin: 0; padding: 0; border: 0; }
.sa-star-rating legend { padding: 0; color: #b7c5d0; font-size: 12px; font-weight: 700; }
.sa-star-rating__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sa-star-rating__controls, .sa-star-rating__tools { display: flex; align-items: center; gap: 8px; }
.sa-star-rating__controls { flex-wrap: wrap; margin-top: 6px; }
.sa-star-rating__tools { width: 96px; flex: 0 0 96px; }
.sa-star-rating__stars { display: grid; grid-template-columns: repeat(5, 44px); }
.sa-star-rating__choice, .sa-star-rating__zero, .sa-star-rating__clear { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid transparent; border-radius: 6px; background: transparent; color: #a6b7c6; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.sa-star-rating__icon { position: relative; display: block; width: 28px; height: 28px; color: #91a0aa; }
.sa-star-rating__icon svg { display: block; width: 28px; height: 28px; max-width: none; }
.sa-star-rating__fill { position: absolute; inset: 0 auto 0 0; overflow: hidden; color: #ffda58; pointer-events: none; }
.sa-star-rating__choice:hover, .sa-star-rating__zero:hover { background: #ffffff0a; }
.sa-star-rating__zero { border-color: #445360; }
.sa-star-rating__zero[aria-pressed="true"] { color: #ffda58; border-color: #ffda58; background: #ffda5810; }
.sa-star-rating__clear[hidden] { display: none; }
.sa-star-rating__clear svg { width: 16px; height: 16px; }
.sa-star-rating__clear:hover { color: #fda4af; background: #33242c; }
.sa-star-rating button:focus-visible { outline: 2px solid #ffda58; outline-offset: 1px; }
.sa-star-rating button:disabled { cursor: wait; opacity: .65; }
@media (forced-colors: active) { .sa-star-rating__fill { color: Highlight; } .sa-star-rating button[aria-pressed="true"] { outline: 2px solid Highlight; } }
