.beled-rating-widget {
  font-family: var(--beled-rating-font, inherit);
  line-height: 1.35;
}

.beled-rating-title {
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.beled-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: var(--beled-rating-gap, 4px);
}

.beled-rating-star {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--beled-rating-empty, #d8d8d8);
  cursor: pointer;
  font-size: var(--beled-rating-size, 28px);
  line-height: 1;
  padding: 0;
  transition: transform 0.12s ease, color 0.12s ease, opacity 0.12s ease;
}

.beled-rating-star:hover,
.beled-rating-star:focus {
  transform: scale(1.08);
  outline: none;
}

.beled-rating-star.is-selected {
  color: var(--beled-rating-full, #d4af37);
}

.beled-rating-star.is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.beled-rating-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--beled-rating-size, 28px);
  height: var(--beled-rating-size, 28px);
}

.beled-rating-icon svg,
.beled-rating-icon i {
  width: var(--beled-rating-size, 28px);
  height: var(--beled-rating-size, 28px);
  font-size: var(--beled-rating-size, 28px);
  fill: currentColor;
  color: currentColor;
}

.beled-rating-summary {
  margin-top: 0.3rem;
  font-size: 0.9rem;
  opacity: 0.85;
}

.beled-rating-average {
  font-weight: 700;
}

.beled-rating-message {
  margin-top: 0.3rem;
  font-size: 0.88rem;
  min-height: 1.2em;
}