/* SVG star icon - base styles */
#spr .spr-star-icon,
#spr_list .spr-star-icon {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
}

/* Rating star display container */
#spr .rating-star-display,
#spr_list .rating-star-display {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}
#spr .rating-star-display > span,
#spr_list .rating-star-display > span {
    display: inline-flex;
    align-items: center;
    font-size: 1.15em;
    color: #333333;
    line-height: 1;
}

/* Half-star support — overlay technique */
.spr-star-half {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    width: 1em;
    height: 1em;
}
.spr-star-half .spr-star-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.spr-star-half .spr-star-icon:first-child {
    clip-path: inset(0 50% 0 0);
}
.spr-star-half .spr-star-empty-half {
    color: #333333;
}

/* Product block sizing */
#spr .rating-star-display > span.product-block {
    font-size: 1.1em !important;
}

/* Distribution stars */
#spr .rating-star-display > span.distrib-front {
    margin: 1px !important;
    font-size: 1em !important;
}

/* Product tab stars */
#spr .rating-star-display > span.product-tab {
    margin-left: 1px !important;
    font-size: 1.1em !important;
}

/* Badge and list stars */
#spr .rating-star-display > span.badge-front,
#spr .rating-star-display > span.list-front {
    font-size: 1.15em;
}
#spr .rating-star-display > span.badge-front {
    margin-left: 1px !important;
}

/* Checked/filled state */
#spr .rating-star-display > span.checked,
#spr_list .rating-star-display > span.checked {
    color: #232323;
}

/* Progress stars (Pattern A) */
#spr .progress-stars,
#spr_list .progress-stars {
    color: #f4c765;
}
#spr .progress-stars-empty,
#spr_list .progress-stars-empty {
    color: #333333;
}

/* Average block layout */
#spr .spr-average-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.25rem;
}
a.spr-average-left,
#spr .spr-average-left {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
a.spr-average-left:hover {
    text-decoration: none;
    color: inherit;
}
#spr .spr-average-note {
    font-size: 0.95em;
    color: #333;
}
#spr .spr-average-count {
    font-size: 0.9em;
    color: #555;
}
#spr .spr-average-right a {
    font-size: 0.9em;
}
@media (max-width: 575px) {
    #spr .spr-average-row {
        flex-wrap: nowrap;
    }
}

/* Widget star icons */
#spr .star-icon,
#spr .star-icon-mobile {
    display: inline-block;
}
#spr .star-icon .spr-star-icon {
    width: 20px;
    height: 20px;
}
#spr .star-icon-mobile .spr-star-icon {
    width: 16px;
    height: 16px;
}