.seo-rating-frontend {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: inherit;
	line-height: 1;
	opacity: 1;
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.seo-rating-frontend.seo-rating-frontend--observed {
	opacity: 0;
	transform: translateY(4px);
}

.seo-rating-frontend.seo-rating-frontend--observed.seo-rating-frontend--visible {
	opacity: 1;
	transform: translateY(0);
}

.seo-rating-frontend__stars {
	position: relative;
	display: inline-flex;
}

.seo-rating-frontend__stars-track,
.seo-rating-frontend__stars-fill {
	display: flex;
	gap: 2px;
}

.seo-rating-frontend__stars-track {
	color: var(--seo-rating-star-track-color, #d9d9e3);
}

.seo-rating-frontend__stars-fill {
	color: var(--seo-rating-star-color, #f5a623);
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	overflow: hidden;
	white-space: nowrap;
	transition: width 0.3s ease, filter 0.2s ease;
}

.seo-rating-frontend__stars svg {
	display: block;
	flex-shrink: 0;
}

.seo-rating-frontend--small .seo-rating-frontend__stars svg {
	width: 14px;
	height: 14px;
}

.seo-rating-frontend--medium .seo-rating-frontend__stars svg {
	width: 18px;
	height: 18px;
}

.seo-rating-frontend--large .seo-rating-frontend__stars svg {
	width: 24px;
	height: 24px;
}

.seo-rating-frontend:hover .seo-rating-frontend__stars-fill {
	filter: brightness(1.1);
}

.seo-rating-frontend__badge {
	display: inline-flex;
	align-items: center;
	background-color: var(--seo-rating-badge-bg, #4f46e5);
	color: var(--seo-rating-badge-text, #fff);
	font-weight: 700;
	border-radius: 999px;
	padding: 4px 12px;
	transition: filter 0.2s ease;
}

.seo-rating-frontend:hover .seo-rating-frontend__badge {
	filter: brightness(1.08);
}

.seo-rating-frontend--small .seo-rating-frontend__badge {
	font-size: 12px;
	padding: 2px 9px;
}

.seo-rating-frontend--medium .seo-rating-frontend__badge {
	font-size: 14px;
}

.seo-rating-frontend--large .seo-rating-frontend__badge {
	font-size: 18px;
	padding: 6px 16px;
}

.seo-rating-frontend__number {
	font-weight: 600;
}

.seo-rating-frontend__count {
	color: #8a8a99;
	font-size: 0.85em;
}
