.fluffy-tm-rating {
	align-items: center;
	box-sizing: border-box;
	color: #4a433e;
	display: inline-flex;
	font-family: inherit;
	font-variant-numeric: tabular-nums;
	gap: 0.42rem;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.fluffy-tm-rating:hover,
.fluffy-tm-rating:focus-visible {
	color: #2c3e50;
	text-decoration: none;
}

.fluffy-tm-stars {
	--fluffy-tm-rating: 0%;
	display: inline-block;
	font-family: Arial, sans-serif;
	letter-spacing: 0.08em;
	line-height: 1;
	position: relative;
}

.fluffy-tm-stars::before,
.fluffy-tm-stars::after {
	content: "★★★★★";
}

.fluffy-tm-stars::before {
	color: #ded8d2;
}

.fluffy-tm-stars::after {
	color: #b8895b;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: var(--fluffy-tm-rating);
}

.fluffy-tm-grade {
	font-weight: 650;
}

.fluffy-tm-count {
	color: #766d66;
	font-weight: 450;
}

.fluffy-tm-rating--single {
	font-size: 13px;
	margin-bottom: 10px;
	min-height: 20px;
	transition: color 160ms ease;
}

.fluffy-tm-rating--single .fluffy-tm-stars {
	font-size: 15px;
}

.fluffy-tm-single-host,
.single-product .oxy-product-rating:has(.fluffy-tm-rating) {
	display: block;
	width: 100%;
}

.fluffy-tm-reviews-scroll-target {
	scroll-margin-top: 110px;
}

.fluffy-tm-image-host {
	position: relative !important;
}

.fluffy-tm-rating--archive {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background: rgba(255, 255, 255, 0.91);
	border: 1px solid rgba(190, 162, 138, 0.32);
	border-radius: 999px;
	bottom: 8px;
	box-shadow: 0 3px 12px rgba(44, 62, 80, 0.12);
	font-size: 10.5px;
	gap: 0.28rem;
	max-width: calc(100% - 16px);
	padding: 5px 7px;
	position: absolute;
	right: 8px;
	transition: box-shadow 160ms ease, transform 160ms ease;
	z-index: 8;
}

.fluffy-tm-rating--archive:hover,
.fluffy-tm-rating--archive:focus-visible {
	box-shadow: 0 5px 16px rgba(44, 62, 80, 0.18);
	transform: translateY(-1px);
}

.fluffy-tm-rating--archive:focus-visible {
	outline: 2px solid #bea28a;
	outline-offset: 2px;
}

.fluffy-tm-rating--archive .fluffy-tm-stars {
	font-size: 11px;
}

.fluffy-tm-rating--archive.fluffy-tm-rating--empty {
	opacity: 0.72;
}

@media (max-width: 767px) {
	.fluffy-tm-reviews-scroll-target {
		scroll-margin-top: 88px;
	}

	.fluffy-tm-rating--archive {
		bottom: 6px;
		font-size: 9.5px;
		padding: 4px 6px;
		right: 6px;
	}

	.fluffy-tm-rating--archive .fluffy-tm-stars {
		font-size: 10px;
		letter-spacing: 0.04em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fluffy-tm-rating--archive {
		transition: none;
	}
}
