/* SVG Icon Styles */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    vertical-align: middle;
}

.icon-sm {
    width: 0.875em;
    height: 0.875em;
}

.icon-md {
    width: 1.25em;
    height: 1.25em;
}

.icon-lg {
    width: 1.5em;
    height: 1.5em;
}

.icon-xl {
    width: 2em;
    height: 2em;
}

/* Specific icon adjustments */
.cart-icon .icon {
    font-size: 18px;
    color: #000;
}

.logo .icon {
    font-size: 18px;
}

/* Star rating icons */
.star-rating .icon {
    color: #ffc107;
    margin-right: 2px;
}

.star-rating .icon.empty {
    color: #e0e0e0;
}

/* Spin animation for loading states */
.icon-spin {
    animation: icon-spin 1s infinite linear;
}

@keyframes icon-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}