.margine-0 {
    margin: 0 !important;
}

.margine-1 {
    margin: var(--spazio-1) !important;
}

.margine-2 {
    margin: var(--spazio-2) !important;
}

.margine-3 {
    margin: var(--spazio-3) !important;
}

.margine-4 {
    margin: var(--spazio-4) !important;
}

.margine-5 {
    margin: var(--spazio-5) !important;
}

.margine-6 {
    margin: var(--spazio-6) !important;
}

.margine-8 {
    margin: var(--spazio-8) !important;
}

.margine-alto-0 {
    margin-top: 0 !important;
}

.margine-alto-1 {
    margin-top: var(--spazio-1) !important;
}

.margine-alto-2 {
    margin-top: var(--spazio-2) !important;
}

.margine-alto-3 {
    margin-top: var(--spazio-3) !important;
}

.margine-alto-4 {
    margin-top: var(--spazio-4) !important;
}

.margine-alto-8 {
    margin-top: var(--spazio-8) !important;
}

.margine-basso-0 {
    margin-bottom: 0 !important;
}

.margine-basso-1 {
    margin-bottom: var(--spazio-1) !important;
}

.margine-basso-2 {
    margin-bottom: var(--spazio-2) !important;
}

.margine-basso-3 {
    margin-bottom: var(--spazio-3) !important;
}

.margine-basso-4 {
    margin-bottom: var(--spazio-4) !important;
}

.margine-basso-8 {
    margin-bottom: var(--spazio-8) !important;
}

.padding-0 {
    padding: 0 !important;
}

.padding-1 {
    padding: var(--spazio-1) !important;
}

.padding-2 {
    padding: var(--spazio-2) !important;
}

.padding-3 {
    padding: var(--spazio-3) !important;
}

.padding-4 {
    padding: var(--spazio-4) !important;
}

.padding-6 {
    padding: var(--spazio-6) !important;
}

.padding-8 {
    padding: var(--spazio-8) !important;
}

.testo-sinistra {
    text-align: left !important;
}

.testo-centro {
    text-align: center !important;
}

.testo-destra {
    text-align: right !important;
}

.testo-giustificato {
    text-align: justify !important;
}

.testo-grassetto {
    font-weight: var(--peso-grassetto) !important;
}

.testo-normale {
    font-weight: var(--peso-normale) !important;
}

.testo-leggero {
    font-weight: var(--peso-leggero) !important;
}

.testo-corsivo {
    font-style: italic !important;
}

.testo-primario {
    color: var(--colore-primario) !important;
}

.testo-secondario {
    color: var(--colore-secondario) !important;
}

.testo-successo {
    color: var(--colore-successo) !important;
}

.testo-errore {
    color: var(--colore-errore) !important;
}

.testo-attenzione {
    color: var(--colore-attenzione) !important;
}

.testo-bianco {
    color: #ffffff !important;
}

.testo-scuro {
    color: var(--colore-testo-principale) !important;
}

.testo-grigio {
    color: var(--colore-testo-secondario) !important;

    .margine-0 {
        margin: 0 !important;
    }

    .margine-1 {
        margin: var(--spazio-1) !important;
    }

    .margine-2 {
        margin: var(--spazio-2) !important;
    }

    .margine-3 {
        margin: var(--spazio-3) !important;
    }

    .margine-4 {
        margin: var(--spazio-4) !important;
    }

    .margine-5 {
        margin: var(--spazio-5) !important;
    }

    .margine-6 {
        margin: var(--spazio-6) !important;
    }

    .margine-8 {
        margin: var(--spazio-8) !important;
    }

    .margine-alto-0 {
        margin-top: 0 !important;
    }

    .margine-alto-1 {
        margin-top: var(--spazio-1) !important;
    }

    .margine-alto-2 {
        margin-top: var(--spazio-2) !important;
    }

    .margine-alto-3 {
        margin-top: var(--spazio-3) !important;
    }

    .margine-alto-4 {
        margin-top: var(--spazio-4) !important;
    }

    .margine-alto-8 {
        margin-top: var(--spazio-8) !important;
    }

    .margine-basso-0 {
        margin-bottom: 0 !important;
    }

    .margine-basso-1 {
        margin-bottom: var(--spazio-1) !important;
    }

    .margine-basso-2 {
        margin-bottom: var(--spazio-2) !important;
    }

    .margine-basso-3 {
        margin-bottom: var(--spazio-3) !important;
    }

    .margine-basso-4 {
        margin-bottom: var(--spazio-4) !important;
    }

    .margine-basso-8 {
        margin-bottom: var(--spazio-8) !important;
    }

    .padding-0 {
        padding: 0 !important;
    }

    .padding-1 {
        padding: var(--spazio-1) !important;
    }

    .padding-2 {
        padding: var(--spazio-2) !important;
    }

    .padding-3 {
        padding: var(--spazio-3) !important;
    }

    .padding-4 {
        padding: var(--spazio-4) !important;
    }

    .padding-6 {
        padding: var(--spazio-6) !important;
    }

    .padding-8 {
        padding: var(--spazio-8) !important;
    }

    .testo-sinistra {
        text-align: left !important;
    }

    .testo-centro {
        text-align: center !important;
    }

    .testo-destra {
        text-align: right !important;
    }

    .testo-giustificato {
        text-align: justify !important;
    }

    .testo-grassetto {
        font-weight: var(--peso-grassetto) !important;
    }

    .testo-normale {
        font-weight: var(--peso-normale) !important;
    }

    .testo-leggero {
        font-weight: var(--peso-leggero) !important;
    }

    .testo-corsivo {
        font-style: italic !important;
    }

    .testo-primario {
        color: var(--colore-primario) !important;
    }

    .testo-secondario {
        color: var(--colore-secondario) !important;
    }

    .testo-successo {
        color: var(--colore-successo) !important;
    }

    .testo-errore {
        color: var(--colore-errore) !important;
    }

    .testo-attenzione {
        color: var(--colore-attenzione) !important;
    }

    .testo-bianco {
        color: #ffffff !important;
    }

    .testo-scuro {
        color: var(--colore-testo-principale) !important;
    }

    .testo-grigio {
        color: var(--colore-testo-secondario) !important;
    }

    .testo-grigio-chiaro {
        color: #94a3b8 !important;
    }

    .sfondo-primario {
        background-color: var(--colore-primario) !important;
        color: #ffffff !important;
    }

    .pieno-schermo {
        width: 100vw;
        height: 100vh;
    }

    .pieno-larghezza {
        width: 100% !important;
    }

    .pieno-altezza {
        height: 100% !important;
    }

    .cursore-mano {
        cursor: pointer;
    }

    .non-selezionabile {
        user-select: none;
    }

    .ombra-piccola {
        box-shadow: var(--ombra-piccola) !important;
    }

    .ombra-media {
        box-shadow: var(--ombra-media) !important;
    }

    .ombra-grande {
        box-shadow: var(--ombra-grande) !important;
    }

    .nessuna-ombra {
        box-shadow: none !important;
    }

    .bordo-tondo {
        border-radius: var(--raggio-tondo) !important;
    }

    .bordo-cerchio {
        border-radius: 50% !important;
    }

    .visivamente-nascosto {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }

    .visivamente-nascosto:focus {
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: normal !important;
    }

    .nascondi {
        display: none !important;
    }

    .fisso {
        position: fixed !important;
    }

    .assoluto {
        position: absolute !important;
    }

    .relativo {
        position: relative !important;
    }

    .alto {
        top: 0 !important;
    }

    .basso {
        bottom: 0 !important;
    }

    .sinistra {
        left: 0 !important;
    }

    .destra {
        right: 0 !important;
    }

    .z-modale {
        z-index: 1050 !important;
    }

    .z-1 {
        z-index: 1 !important;
    }

    .overflow-hidden {
        overflow: hidden !important;
    }

    .sfondo-sfocato {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        background-color: rgba(0, 0, 0, 0.5);
    }

    .uppercase {
        text-transform: uppercase !important;
    }

    .tracking-wide {
        letter-spacing: 0.05em !important;
    }

    .opacity-75 {
        opacity: 0.75 !important;
    }

    .opacity-50 {
        opacity: 0.5 !important;
    }

    .transizione-veloce {
        transition: all 0.2s ease-in-out !important;
    }

    .hover-bianco:hover {
        color: #ffffff !important;
    }

    .bordo-superiore-scuro {
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    }