/* SVG Icon Global Styles */

.icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    fill: currentColor;
    stroke: none;
}

/* Icon Sizes */
.icon-xs {
    width: 14px;
    height: 14px;
}

.icon-sm {
    width: 16px;
    height: 16px;
}

.icon-md {
    width: 20px;
    height: 20px;
}

.icon-lg {
    width: 24px;
    height: 24px;
}

.icon-xl {
    width: 32px;
    height: 32px;
}

.icon-2xl {
    width: 48px;
    height: 48px;
}

/* Ensure SVG icons inherit color */
svg.icon {
    color: inherit;
}

/* For outlined icons (stroke-based) */
.icon-outline {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Specific icon adjustments */
.icon-sparkles {
    filter: drop-shadow(0 0 4px currentColor);
}