/* Custom Icon Libraries — stili generali — non modificare, generato da generate-assets.php */

.cil-icon {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    flex-shrink: 0;
}

/* Spaziatura automatica quando l'icona è accanto a testo */
.cil-icon + * ,
* + .cil-icon {
    margin-inline-start: 0.4em;
}

/* Icone placeholder (SVG non trovato) */
.cil-placeholder { opacity: 0.5; }

/* Classi di dimensione */
.cil-icon--xs  { width: 14px; height: 14px; }
.cil-icon--sm  { width: 18px; height: 18px; }
.cil-icon--md  { width: 24px; height: 24px; }
.cil-icon--lg  { width: 32px; height: 32px; }
.cil-icon--xl  { width: 48px; height: 48px; }
.cil-icon--2xl { width: 64px; height: 64px; }

/* Animazioni */
.cil-icon--spin  { animation: cil-spin 1s linear infinite; }
.cil-icon--pulse { animation: cil-pulse 2s cubic-bezier(.4,0,.6,1) infinite; }

@keyframes cil-spin  { from { transform: rotate(0deg); }   to { transform: rotate(360deg); } }
@keyframes cil-pulse { 0%, 100% { opacity: 1; }  50% { opacity: .4; } }

/* Compatibilità widget Elementor Icon */
.elementor-icon svg.cil-icon,
.elementor-icon-list-icon svg.cil-icon {
    width: var(--e-icon-size, 1em);
    height: var(--e-icon-size, 1em);
}

.elementor-icons-manager__tab-link svg.cil-icon{
    width: 40px;
    padding-inline-end: 15px;
}
.elementor-icons-manager__tab__item svg.cil-icon{
    width: 25px;
}

.elementor-editor-active .cil-icon {
    pointer-events: none; }