

/* Base */
.icon {
    display: inline-block;
    vertical-align: middle;
    fill: none;
    width: 1.25rem;
    height: 1.25rem;
    transition: stroke .25s ease, fill .25s ease, transform .25s ease;
}

/* SVG fix Cross-browser */
.icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

/* Filled icons */
.icon.filled {
    fill: currentColor;
    stroke: currentColor;
}

/* XS */
.icon.xs {
    width: 0.9rem;
    height: 0.9rem;
}

/* SM */
.icon.sm {
    width: 1rem;
    height: 1rem;
}

/* LG */
.icon.lg {
    width: 1.75rem;
    height: 1.75rem;
}

/* XL */
.icon.xl {
    width: 2.2rem;
    height: 2.2rem;
}

/* Colori rapidi */
.icon.text-primary   { color: var(--bs-primary); }
.icon.text-secondary { color: var(--bs-secondary); }
.icon.text-dark      { color: var(--bs-dark); }
.icon.text-light     { color: var(--bs-white); }
.icon.text-muted     { color: rgba(var(--bs-dark-rgb), .5); }