/* QBM Beach Rating v1.1.0 — interactive stars */
.qbmr-widget {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
}
.qbmr-stars-row {
	display: inline-flex;
	line-height: 1;
}
.qbmr-star {
	appearance: none;
	background: none;
	border: 0;
	padding: 0 2px;
	margin: 0;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
	color: #d3dde4;
	transition: color 0.1s ease, transform 0.1s ease;
}
.qbmr-star.is-on {
	color: #f5a623;
}
.qbmr-widget:not([data-voted="1"]) .qbmr-star:hover {
	transform: scale(1.12);
}
/* Hover preview: highlight up to hovered star */
.qbmr-stars-row.is-hovering .qbmr-star {
	color: #d3dde4;
}
.qbmr-stars-row.is-hovering .qbmr-star.is-hot {
	color: #ffb733;
}
.qbmr-star[disabled] {
	cursor: default;
}
.qbmr-widget[data-voted="1"] .qbmr-star {
	cursor: default;
}
.qbmr-avg {
	font-size: 1rem;
	font-weight: 700;
	color: #123047;
}
.qbmr-count {
	font-size: 0.85rem;
	color: #5a6b78;
	font-weight: 600;
}
.qbmr-msg {
	font-size: 0.85rem;
	color: #2b8a3e;
	font-weight: 600;
}
.qbmr-widget.is-saving {
	opacity: 0.6;
	pointer-events: none;
}
