.recipe-rating-control {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 2.25rem;
}

.recipe-rating-stars {
  position: relative;
  display: inline-block;
  font-size: 1.35rem;
  line-height: 1;
  letter-spacing: .08rem;
  white-space: nowrap;
}

.recipe-rating-base,
.recipe-rating-fill {
  display: block;
  white-space: nowrap;
  overflow: hidden;
}

.recipe-rating-base {
  color: #c7c7c7;
}

.recipe-rating-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  pointer-events: none;
}

.recipe-rating-user-fill {
  color: #bd6b20;
}

.recipe-rating-average-fill {
  color: #4e79a7;
}

.recipe-rating-hit-zones {
  position: absolute;
  inset: -.35rem 0;
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.recipe-rating-hit-zones button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  min-width: 0;
}

.recipe-rating-hit-zones button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 1px;
}

.recipe-rating-control[data-editable="0"] .recipe-rating-hit-zones {
  display: none;
}

.recipe-rating-percent-text {
  font-variant-numeric: tabular-nums;
  font-size: .9rem;
  white-space: nowrap;
}

.recipe-rating-count {
  font-size: .82rem;
  opacity: .75;
}

.recipe-rating-legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
