body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

#components-reconnect-modal {
    display: none !important;
}

.footer {
    padding: 1rem 0;
    margin-top: auto;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.cursor-pointer {
    cursor: pointer;
}

.low-z-index {
    z-index: -1;
}

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.img-qr-demo {
    height: 200px;
    width: 200px;
}

.fab-camera {
    width: 60px;
    height: 60px;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    animation: subtle-pulse 3s ease-in-out infinite;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8) !important;
}

    .fab-camera:hover {
        transform: scale(1.1) rotate(5deg);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.8) !important;
    }

    .fab-camera:active {
        transform: scale(0.95);
        transition: transform 0.1s ease;
    }

    .fab-camera svg {
        transition: transform 0.3s ease;
    }

    .fab-camera:hover svg {
        transform: scale(1.1);
    }

@keyframes subtle-pulse {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8) !important;
    }

    50% {
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
    }
}

.image-container {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}

    .image-container img {
        transition: transform 0.3s ease;
        width: 100%;
        height: auto;
    }

    .image-container:hover img {
        transform: scale(1.05);
    }

.image-link {
    display: block;
    text-decoration: none;
}

.delete-band {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35px;
    background: rgba(var(--bs-dark-rgb));
    backdrop-filter: blur(5px);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 10;
}

/* Desktop: mostra solo su hover */
@media (min-width: 768px) {
    .image-container:hover .delete-band {
        opacity: 1;
    }
}

/* Mobile: sempre visibile */
@media (max-width: 767px) {
    .image-container .delete-band {
        opacity: 1 !important;
    }
}

.delete-button {
    background: transparent !important;
    font-size: 11px;
    font-weight: 400;
    font-family: system-ui, -apple-system, sans-serif;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease;
    color: white;
}

    .delete-button:hover {
        background: rgba(var(--bs-dark-rgb)) !important;
        color: white;
    }

    .delete-button:focus {
        box-shadow: none !important;
        color: white;
    }

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

.masonryRow .col-6 {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

    .masonryRow .col-6.fade-in {
        opacity: 1;
        transform: translateY(0);
    }

/** Effetto thanos **/
.dust {
    position: fixed !important;
    pointer-events: none;
    z-index: 9999;
}

.hide {
    display: none;
}

.disintegrating {
    pointer-events: none;
}

/**** Upload class ****/
.upload-progress-container {
    animation: slideInUp 0.3s ease-out;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

@keyframes slideInUp {
    from {
        transform: translateY(100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.fab-camera {
    width: 60px;
    height: 60px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

    .fab-camera:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
    }

.progress {
    background-color: rgba(255, 255, 255, 0.2);
}

.progress-bar {
    transition: width 0.3s ease;
}

/* Stili per dispositivi mobili */
@media (max-width: 576px) {
    .upload-progress-container {
        min-width: 280px;
        max-width: calc(100vw - 2rem);
    }
}

/*************** Margini e padding custom *****************/


/* Variabili per gli spacing */
:root {
    --spacing-0: 0;
    --spacing-1: 0.25rem; /* 4px */
    --spacing-2: 0.5rem; /* 8px */
    --spacing-3: 1rem; /* 16px */
    --spacing-4: 1.5rem; /* 24px */
    --spacing-5: 2rem; /* 32px */
    --spacing-6: 2.5rem; /* 40px */
    --spacing-7: 3rem; /* 48px */
    --spacing-8: 4rem; /* 64px */
    --spacing-9: 4.5rem; /* 72px */
    --spacing-10: 5rem; /* 80px */
    --spacing-11: 5.5rem; /* 88px */
    --spacing-12: 6rem; /* 96px */
    --spacing-13: 6.5rem; /* 104px */
    --spacing-14: 7rem; /* 112px */
    --spacing-15: 7.5rem; /* 120px */


    --font-size-1: 0.75rem; /* 12px */
    --font-size-2: 0.875rem; /* 14px */
    --font-size-3: 1rem; /* 16px (base) */
    --font-size-4: 1.125rem; /* 18px */
    --font-size-5: 1.25rem; /* 20px */
    --font-size-6: 1.5rem; /* 24px */
    --font-size-7: 1.75rem; /* 28px */
    --font-size-8: 2rem; /* 32px */
    --font-size-9: 2.25rem; /* 36px */
    --font-size-10: 2.5rem; /* 40px */
    --font-size-11: 3rem; /* 48px */
    --font-size-12: 3.5rem; /* 56px */
    --font-size-13: 4rem; /* 64px */
    --font-size-14: 4.5rem; /* 72px */
    --font-size-15: 5rem; /* 80px */
}

/* Breakpoint responsive */
/* Smartphone (default) - sotto 576px */
/* sm - Small devices (landscape phones, 576px e superiori) */
/* md - Medium devices (tablets, 768px e superiori) */
/* lg - Large devices (desktops, 992px e superiori) */
/* xl - Extra large devices (large desktops, 1200px e superiori) */
/* xxl - Extra extra large devices (larger desktops, 1400px e superiori) */

/* ============================================ */
/* CLASSI DI BASE (SMARTPHONE) */
/* ============================================ */

/* Margin */
.m-0 {
    margin: var(--spacing-0) !important;
}

.m-1 {
    margin: var(--spacing-1) !important;
}

.m-2 {
    margin: var(--spacing-2) !important;
}

.m-3 {
    margin: var(--spacing-3) !important;
}

.m-4 {
    margin: var(--spacing-4) !important;
}

.m-5 {
    margin: var(--spacing-5) !important;
}

.m-6 {
    margin: var(--spacing-6) !important;
}

.m-7 {
    margin: var(--spacing-7) !important;
}

.m-8 {
    margin: var(--spacing-8) !important;
}

.m-9 {
    margin: var(--spacing-9) !important;
}

.m-10 {
    margin: var(--spacing-10) !important;
}

.m-11 {
    margin: var(--spacing-11) !important;
}

.m-12 {
    margin: var(--spacing-12) !important;
}

.m-13 {
    margin: var(--spacing-13) !important;
}

.m-14 {
    margin: var(--spacing-14) !important;
}

.m-15 {
    margin: var(--spacing-15) !important;
}

.m-auto {
    margin: auto !important;
}

/* Margin top */
.mt-0 {
    margin-top: var(--spacing-0) !important;
}

.mt-1 {
    margin-top: var(--spacing-1) !important;
}

.mt-2 {
    margin-top: var(--spacing-2) !important;
}

.mt-3 {
    margin-top: var(--spacing-3) !important;
}

.mt-4 {
    margin-top: var(--spacing-4) !important;
}

.mt-5 {
    margin-top: var(--spacing-5) !important;
}

.mt-6 {
    margin-top: var(--spacing-6) !important;
}

.mt-7 {
    margin-top: var(--spacing-7) !important;
}

.mt-8 {
    margin-top: var(--spacing-8) !important;
}

.mt-9 {
    margin-top: var(--spacing-9) !important;
}

.mt-10 {
    margin-top: var(--spacing-10) !important;
}

.mt-11 {
    margin-top: var(--spacing-11) !important;
}

.mt-12 {
    margin-top: var(--spacing-12) !important;
}

.mt-13 {
    margin-top: var(--spacing-13) !important;
}

.mt-14 {
    margin-top: var(--spacing-14) !important;
}

.mt-15 {
    margin-top: var(--spacing-15) !important;
}

.mt-auto {
    margin-top: auto !important;
}

/* Margin right */
.mr-0 {
    margin-right: var(--spacing-0) !important;
}

.mr-1 {
    margin-right: var(--spacing-1) !important;
}

.mr-2 {
    margin-right: var(--spacing-2) !important;
}

.mr-3 {
    margin-right: var(--spacing-3) !important;
}

.mr-4 {
    margin-right: var(--spacing-4) !important;
}

.mr-5 {
    margin-right: var(--spacing-5) !important;
}

.mr-6 {
    margin-right: var(--spacing-6) !important;
}

.mr-7 {
    margin-right: var(--spacing-7) !important;
}

.mr-8 {
    margin-right: var(--spacing-8) !important;
}

.mr-9 {
    margin-right: var(--spacing-9) !important;
}

.mr-10 {
    margin-right: var(--spacing-10) !important;
}

.mr-11 {
    margin-right: var(--spacing-11) !important;
}

.mr-12 {
    margin-right: var(--spacing-12) !important;
}

.mr-13 {
    margin-right: var(--spacing-13) !important;
}

.mr-14 {
    margin-right: var(--spacing-14) !important;
}

.mr-15 {
    margin-right: var(--spacing-15) !important;
}

.mr-auto {
    margin-right: auto !important;
}

/* Margin bottom */
.mb-0 {
    margin-bottom: var(--spacing-0) !important;
}

.mb-1 {
    margin-bottom: var(--spacing-1) !important;
}

.mb-2 {
    margin-bottom: var(--spacing-2) !important;
}

.mb-3 {
    margin-bottom: var(--spacing-3) !important;
}

.mb-4 {
    margin-bottom: var(--spacing-4) !important;
}

.mb-5 {
    margin-bottom: var(--spacing-5) !important;
}

.mb-6 {
    margin-bottom: var(--spacing-6) !important;
}

.mb-7 {
    margin-bottom: var(--spacing-7) !important;
}

.mb-8 {
    margin-bottom: var(--spacing-8) !important;
}

.mb-9 {
    margin-bottom: var(--spacing-9) !important;
}

.mb-10 {
    margin-bottom: var(--spacing-10) !important;
}

.mb-11 {
    margin-bottom: var(--spacing-11) !important;
}

.mb-12 {
    margin-bottom: var(--spacing-12) !important;
}

.mb-13 {
    margin-bottom: var(--spacing-13) !important;
}

.mb-14 {
    margin-bottom: var(--spacing-14) !important;
}

.mb-15 {
    margin-bottom: var(--spacing-15) !important;
}

.mb-auto {
    margin-bottom: auto !important;
}

/* Margin left */
.ml-0 {
    margin-left: var(--spacing-0) !important;
}

.ml-1 {
    margin-left: var(--spacing-1) !important;
}

.ml-2 {
    margin-left: var(--spacing-2) !important;
}

.ml-3 {
    margin-left: var(--spacing-3) !important;
}

.ml-4 {
    margin-left: var(--spacing-4) !important;
}

.ml-5 {
    margin-left: var(--spacing-5) !important;
}

.ml-6 {
    margin-left: var(--spacing-6) !important;
}

.ml-7 {
    margin-left: var(--spacing-7) !important;
}

.ml-8 {
    margin-left: var(--spacing-8) !important;
}

.ml-9 {
    margin-left: var(--spacing-9) !important;
}

.ml-10 {
    margin-left: var(--spacing-10) !important;
}

.ml-11 {
    margin-left: var(--spacing-11) !important;
}

.ml-12 {
    margin-left: var(--spacing-12) !important;
}

.ml-13 {
    margin-left: var(--spacing-13) !important;
}

.ml-14 {
    margin-left: var(--spacing-14) !important;
}

.ml-15 {
    margin-left: var(--spacing-15) !important;
}

.ml-auto {
    margin-left: auto !important;
}

/* Margin x (left & right) */
.mx-0 {
    margin-left: var(--spacing-0) !important;
    margin-right: var(--spacing-0) !important;
}

.mx-1 {
    margin-left: var(--spacing-1) !important;
    margin-right: var(--spacing-1) !important;
}

.mx-2 {
    margin-left: var(--spacing-2) !important;
    margin-right: var(--spacing-2) !important;
}

.mx-3 {
    margin-left: var(--spacing-3) !important;
    margin-right: var(--spacing-3) !important;
}

.mx-4 {
    margin-left: var(--spacing-4) !important;
    margin-right: var(--spacing-4) !important;
}

.mx-5 {
    margin-left: var(--spacing-5) !important;
    margin-right: var(--spacing-5) !important;
}

.mx-6 {
    margin-left: var(--spacing-6) !important;
    margin-right: var(--spacing-6) !important;
}

.mx-7 {
    margin-left: var(--spacing-7) !important;
    margin-right: var(--spacing-7) !important;
}

.mx-8 {
    margin-left: var(--spacing-8) !important;
    margin-right: var(--spacing-8) !important;
}

.mx-9 {
    margin-left: var(--spacing-9) !important;
    margin-right: var(--spacing-9) !important;
}

.mx-10 {
    margin-left: var(--spacing-10) !important;
    margin-right: var(--spacing-10) !important;
}

.mx-11 {
    margin-left: var(--spacing-11) !important;
    margin-right: var(--spacing-11) !important;
}

.mx-12 {
    margin-left: var(--spacing-12) !important;
    margin-right: var(--spacing-12) !important;
}

.mx-13 {
    margin-left: var(--spacing-13) !important;
    margin-right: var(--spacing-13) !important;
}

.mx-14 {
    margin-left: var(--spacing-14) !important;
    margin-right: var(--spacing-14) !important;
}

.mx-15 {
    margin-left: var(--spacing-15) !important;
    margin-right: var(--spacing-15) !important;
}

.mx-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Margin y (top & bottom) */
.my-0 {
    margin-top: var(--spacing-0) !important;
    margin-bottom: var(--spacing-0) !important;
}

.my-1 {
    margin-top: var(--spacing-1) !important;
    margin-bottom: var(--spacing-1) !important;
}

.my-2 {
    margin-top: var(--spacing-2) !important;
    margin-bottom: var(--spacing-2) !important;
}

.my-3 {
    margin-top: var(--spacing-3) !important;
    margin-bottom: var(--spacing-3) !important;
}

.my-4 {
    margin-top: var(--spacing-4) !important;
    margin-bottom: var(--spacing-4) !important;
}

.my-5 {
    margin-top: var(--spacing-5) !important;
    margin-bottom: var(--spacing-5) !important;
}

.my-6 {
    margin-top: var(--spacing-6) !important;
    margin-bottom: var(--spacing-6) !important;
}

.my-7 {
    margin-top: var(--spacing-7) !important;
    margin-bottom: var(--spacing-7) !important;
}

.my-8 {
    margin-top: var(--spacing-8) !important;
    margin-bottom: var(--spacing-8) !important;
}

.my-9 {
    margin-top: var(--spacing-9) !important;
    margin-bottom: var(--spacing-9) !important;
}

.my-10 {
    margin-top: var(--spacing-10) !important;
    margin-bottom: var(--spacing-10) !important;
}

.my-11 {
    margin-top: var(--spacing-11) !important;
    margin-bottom: var(--spacing-11) !important;
}

.my-12 {
    margin-top: var(--spacing-12) !important;
    margin-bottom: var(--spacing-12) !important;
}

.my-13 {
    margin-top: var(--spacing-13) !important;
    margin-bottom: var(--spacing-13) !important;
}

.my-14 {
    margin-top: var(--spacing-14) !important;
    margin-bottom: var(--spacing-14) !important;
}

.my-15 {
    margin-top: var(--spacing-15) !important;
    margin-bottom: var(--spacing-15) !important;
}

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

/* Padding */
.p-0 {
    padding: var(--spacing-0) !important;
}

.p-1 {
    padding: var(--spacing-1) !important;
}

.p-2 {
    padding: var(--spacing-2) !important;
}

.p-3 {
    padding: var(--spacing-3) !important;
}

.p-4 {
    padding: var(--spacing-4) !important;
}

.p-5 {
    padding: var(--spacing-5) !important;
}

.p-6 {
    padding: var(--spacing-6) !important;
}

.p-7 {
    padding: var(--spacing-7) !important;
}

.p-8 {
    padding: var(--spacing-8) !important;
}

.p-9 {
    padding: var(--spacing-9) !important;
}

.p-10 {
    padding: var(--spacing-10) !important;
}

.p-11 {
    padding: var(--spacing-11) !important;
}

.p-12 {
    padding: var(--spacing-12) !important;
}

.p-13 {
    padding: var(--spacing-13) !important;
}

.p-14 {
    padding: var(--spacing-14) !important;
}

.p-15 {
    padding: var(--spacing-15) !important;
}

/* Padding top */
.pt-0 {
    padding-top: var(--spacing-0) !important;
}

.pt-1 {
    padding-top: var(--spacing-1) !important;
}

.pt-2 {
    padding-top: var(--spacing-2) !important;
}

.pt-3 {
    padding-top: var(--spacing-3) !important;
}

.pt-4 {
    padding-top: var(--spacing-4) !important;
}

.pt-5 {
    padding-top: var(--spacing-5) !important;
}

.pt-6 {
    padding-top: var(--spacing-6) !important;
}

.pt-7 {
    padding-top: var(--spacing-7) !important;
}

.pt-8 {
    padding-top: var(--spacing-8) !important;
}

.pt-9 {
    padding-top: var(--spacing-9) !important;
}

.pt-10 {
    padding-top: var(--spacing-10) !important;
}

.pt-11 {
    padding-top: var(--spacing-11) !important;
}

.pt-12 {
    padding-top: var(--spacing-12) !important;
}

.pt-13 {
    padding-top: var(--spacing-13) !important;
}

.pt-14 {
    padding-top: var(--spacing-14) !important;
}

.pt-15 {
    padding-top: var(--spacing-15) !important;
}

/* Padding right */
.pr-0 {
    padding-right: var(--spacing-0) !important;
}

.pr-1 {
    padding-right: var(--spacing-1) !important;
}

.pr-2 {
    padding-right: var(--spacing-2) !important;
}

.pr-3 {
    padding-right: var(--spacing-3) !important;
}

.pr-4 {
    padding-right: var(--spacing-4) !important;
}

.pr-5 {
    padding-right: var(--spacing-5) !important;
}

.pr-6 {
    padding-right: var(--spacing-6) !important;
}

.pr-7 {
    padding-right: var(--spacing-7) !important;
}

.pr-8 {
    padding-right: var(--spacing-8) !important;
}

.pr-9 {
    padding-right: var(--spacing-9) !important;
}

.pr-10 {
    padding-right: var(--spacing-10) !important;
}

.pr-11 {
    padding-right: var(--spacing-11) !important;
}

.pr-12 {
    padding-right: var(--spacing-12) !important;
}

.pr-13 {
    padding-right: var(--spacing-13) !important;
}

.pr-14 {
    padding-right: var(--spacing-14) !important;
}

.pr-15 {
    padding-right: var(--spacing-15) !important;
}

/* Padding bottom */
.pb-0 {
    padding-bottom: var(--spacing-0) !important;
}

.pb-1 {
    padding-bottom: var(--spacing-1) !important;
}

.pb-2 {
    padding-bottom: var(--spacing-2) !important;
}

.pb-3 {
    padding-bottom: var(--spacing-3) !important;
}

.pb-4 {
    padding-bottom: var(--spacing-4) !important;
}

.pb-5 {
    padding-bottom: var(--spacing-5) !important;
}

.pb-6 {
    padding-bottom: var(--spacing-6) !important;
}

.pb-7 {
    padding-bottom: var(--spacing-7) !important;
}

.pb-8 {
    padding-bottom: var(--spacing-8) !important;
}

.pb-9 {
    padding-bottom: var(--spacing-9) !important;
}

.pb-10 {
    padding-bottom: var(--spacing-10) !important;
}

.pb-11 {
    padding-bottom: var(--spacing-11) !important;
}

.pb-12 {
    padding-bottom: var(--spacing-12) !important;
}

.pb-13 {
    padding-bottom: var(--spacing-13) !important;
}

.pb-14 {
    padding-bottom: var(--spacing-14) !important;
}

.pb-15 {
    padding-bottom: var(--spacing-15) !important;
}

/* Padding left */
.pl-0 {
    padding-left: var(--spacing-0) !important;
}

.pl-1 {
    padding-left: var(--spacing-1) !important;
}

.pl-2 {
    padding-left: var(--spacing-2) !important;
}

.pl-3 {
    padding-left: var(--spacing-3) !important;
}

.pl-4 {
    padding-left: var(--spacing-4) !important;
}

.pl-5 {
    padding-left: var(--spacing-5) !important;
}

.pl-6 {
    padding-left: var(--spacing-6) !important;
}

.pl-7 {
    padding-left: var(--spacing-7) !important;
}

.pl-8 {
    padding-left: var(--spacing-8) !important;
}

.pl-9 {
    padding-left: var(--spacing-9) !important;
}

.pl-10 {
    padding-left: var(--spacing-10) !important;
}

.pl-11 {
    padding-left: var(--spacing-11) !important;
}

.pl-12 {
    padding-left: var(--spacing-12) !important;
}

.pl-13 {
    padding-left: var(--spacing-13) !important;
}

.pl-14 {
    padding-left: var(--spacing-14) !important;
}

.pl-15 {
    padding-left: var(--spacing-15) !important;
}

/* Padding x (left & right) */
.px-0 {
    padding-left: var(--spacing-0) !important;
    padding-right: var(--spacing-0) !important;
}

.px-1 {
    padding-left: var(--spacing-1) !important;
    padding-right: var(--spacing-1) !important;
}

.px-2 {
    padding-left: var(--spacing-2) !important;
    padding-right: var(--spacing-2) !important;
}

.px-3 {
    padding-left: var(--spacing-3) !important;
    padding-right: var(--spacing-3) !important;
}

.px-4 {
    padding-left: var(--spacing-4) !important;
    padding-right: var(--spacing-4) !important;
}

.px-5 {
    padding-left: var(--spacing-5) !important;
    padding-right: var(--spacing-5) !important;
}

.px-6 {
    padding-left: var(--spacing-6) !important;
    padding-right: var(--spacing-6) !important;
}

.px-7 {
    padding-left: var(--spacing-7) !important;
    padding-right: var(--spacing-7) !important;
}

.px-8 {
    padding-left: var(--spacing-8) !important;
    padding-right: var(--spacing-8) !important;
}

.px-9 {
    padding-left: var(--spacing-9) !important;
    padding-right: var(--spacing-9) !important;
}

.px-10 {
    padding-left: var(--spacing-10) !important;
    padding-right: var(--spacing-10) !important;
}

.px-11 {
    padding-left: var(--spacing-11) !important;
    padding-right: var(--spacing-11) !important;
}

.px-12 {
    padding-left: var(--spacing-12) !important;
    padding-right: var(--spacing-12) !important;
}

.px-13 {
    padding-left: var(--spacing-13) !important;
    padding-right: var(--spacing-13) !important;
}

.px-14 {
    padding-left: var(--spacing-14) !important;
    padding-right: var(--spacing-14) !important;
}

.px-15 {
    padding-left: var(--spacing-15) !important;
    padding-right: var(--spacing-15) !important;
}

/* Padding y (top & bottom) */
.py-0 {
    padding-top: var(--spacing-0) !important;
    padding-bottom: var(--spacing-0) !important;
}

.py-1 {
    padding-top: var(--spacing-1) !important;
    padding-bottom: var(--spacing-1) !important;
}

.py-2 {
    padding-top: var(--spacing-2) !important;
    padding-bottom: var(--spacing-2) !important;
}

.py-3 {
    padding-top: var(--spacing-3) !important;
    padding-bottom: var(--spacing-3) !important;
}

.py-4 {
    padding-top: var(--spacing-4) !important;
    padding-bottom: var(--spacing-4) !important;
}

.py-5 {
    padding-top: var(--spacing-5) !important;
    padding-bottom: var(--spacing-5) !important;
}

.py-6 {
    padding-top: var(--spacing-6) !important;
    padding-bottom: var(--spacing-6) !important;
}

.py-7 {
    padding-top: var(--spacing-7) !important;
    padding-bottom: var(--spacing-7) !important;
}

.py-8 {
    padding-top: var(--spacing-8) !important;
    padding-bottom: var(--spacing-8) !important;
}

.py-9 {
    padding-top: var(--spacing-9) !important;
    padding-bottom: var(--spacing-9) !important;
}

.py-10 {
    padding-top: var(--spacing-10) !important;
    padding-bottom: var(--spacing-10) !important;
}

.py-11 {
    padding-top: var(--spacing-11) !important;
    padding-bottom: var(--spacing-11) !important;
}

.py-12 {
    padding-top: var(--spacing-12) !important;
    padding-bottom: var(--spacing-12) !important;
}

.py-13 {
    padding-top: var(--spacing-13) !important;
    padding-bottom: var(--spacing-13) !important;
}

.py-14 {
    padding-top: var(--spacing-14) !important;
    padding-bottom: var(--spacing-14) !important;
}

.py-15 {
    padding-top: var(--spacing-15) !important;
    padding-bottom: var(--spacing-15) !important;
}

/* ============================================ */
/* RESPONSIVE: SMALL DEVICES (576px e superiori) */
/* ============================================ */
@media (min-width: 576px) {
    /* Margin */
    .m-sm-0 {
        margin: var(--spacing-0) !important;
    }

    .m-sm-1 {
        margin: var(--spacing-1) !important;
    }

    .m-sm-2 {
        margin: var(--spacing-2) !important;
    }

    .m-sm-3 {
        margin: var(--spacing-3) !important;
    }

    .m-sm-4 {
        margin: var(--spacing-4) !important;
    }

    .m-sm-5 {
        margin: var(--spacing-5) !important;
    }

    .m-sm-6 {
        margin: var(--spacing-6) !important;
    }

    .m-sm-7 {
        margin: var(--spacing-7) !important;
    }

    .m-sm-8 {
        margin: var(--spacing-8) !important;
    }

    .m-sm-9 {
        margin: var(--spacing-9) !important;
    }

    .m-sm-10 {
        margin: var(--spacing-10) !important;
    }

    .m-sm-11 {
        margin: var(--spacing-11) !important;
    }

    .m-sm-12 {
        margin: var(--spacing-12) !important;
    }

    .m-sm-13 {
        margin: var(--spacing-13) !important;
    }

    .m-sm-14 {
        margin: var(--spacing-14) !important;
    }

    .m-sm-15 {
        margin: var(--spacing-15) !important;
    }

    .m-sm-auto {
        margin: auto !important;
    }

    /* Margin top */
    .mt-sm-0 {
        margin-top: var(--spacing-0) !important;
    }

    .mt-sm-1 {
        margin-top: var(--spacing-1) !important;
    }

    .mt-sm-2 {
        margin-top: var(--spacing-2) !important;
    }

    .mt-sm-3 {
        margin-top: var(--spacing-3) !important;
    }

    .mt-sm-4 {
        margin-top: var(--spacing-4) !important;
    }

    .mt-sm-5 {
        margin-top: var(--spacing-5) !important;
    }

    .mt-sm-6 {
        margin-top: var(--spacing-6) !important;
    }

    .mt-sm-7 {
        margin-top: var(--spacing-7) !important;
    }
    /* Continuazione delle classi sm */

    .mt-sm-8 {
        margin-top: var(--spacing-8) !important;
    }

    .mt-sm-9 {
        margin-top: var(--spacing-9) !important;
    }

    .mt-sm-10 {
        margin-top: var(--spacing-10) !important;
    }

    .mt-sm-11 {
        margin-top: var(--spacing-11) !important;
    }

    .mt-sm-12 {
        margin-top: var(--spacing-12) !important;
    }

    .mt-sm-13 {
        margin-top: var(--spacing-13) !important;
    }

    .mt-sm-14 {
        margin-top: var(--spacing-14) !important;
    }

    .mt-sm-15 {
        margin-top: var(--spacing-15) !important;
    }

    .mt-sm-auto {
        margin-top: auto !important;
    }

    /* Continua con classi md, lg, xl e xxl */
}

/* ============================================ */
/* RESPONSIVE: MEDIUM DEVICES (768px e superiori) */
/* ============================================ */
@media (min-width: 768px) {
    /* Margin */
    .m-md-0 {
        margin: var(--spacing-0) !important;
    }

    .m-md-1 {
        margin: var(--spacing-1) !important;
    }

    .m-md-2 {
        margin: var(--spacing-2) !important;
    }

    .m-md-3 {
        margin: var(--spacing-3) !important;
    }

    .m-md-4 {
        margin: var(--spacing-4) !important;
    }

    .m-md-5 {
        margin: var(--spacing-5) !important;
    }

    .m-md-6 {
        margin: var(--spacing-6) !important;
    }

    .m-md-7 {
        margin: var(--spacing-7) !important;
    }

    .m-md-8 {
        margin: var(--spacing-8) !important;
    }

    .m-md-9 {
        margin: var(--spacing-9) !important;
    }

    .m-md-10 {
        margin: var(--spacing-10) !important;
    }

    .m-md-11 {
        margin: var(--spacing-11) !important;
    }

    .m-md-12 {
        margin: var(--spacing-12) !important;
    }

    .m-md-13 {
        margin: var(--spacing-13) !important;
    }

    .m-md-14 {
        margin: var(--spacing-14) !important;
    }

    .m-md-15 {
        margin: var(--spacing-15) !important;
    }

    .m-md-auto {
        margin: auto !important;
    }

    /* Margin top */
    .mt-md-0 {
        margin-top: var(--spacing-0) !important;
    }

    .mt-md-1 {
        margin-top: var(--spacing-1) !important;
    }

    .mt-md-2 {
        margin-top: var(--spacing-2) !important;
    }

    .mt-md-3 {
        margin-top: var(--spacing-3) !important;
    }

    .mt-md-4 {
        margin-top: var(--spacing-4) !important;
    }

    .mt-md-5 {
        margin-top: var(--spacing-5) !important;
    }

    .mt-md-6 {
        margin-top: var(--spacing-6) !important;
    }

    .mt-md-7 {
        margin-top: var(--spacing-7) !important;
    }

    .mt-md-8 {
        margin-top: var(--spacing-8) !important;
    }

    .mt-md-9 {
        margin-top: var(--spacing-9) !important;
    }

    .mt-md-10 {
        margin-top: var(--spacing-10) !important;
    }

    .mt-md-11 {
        margin-top: var(--spacing-11) !important;
    }

    .mt-md-12 {
        margin-top: var(--spacing-12) !important;
    }

    .mt-md-13 {
        margin-top: var(--spacing-13) !important;
    }

    .mt-md-14 {
        margin-top: var(--spacing-14) !important;
    }

    .mt-md-15 {
        margin-top: var(--spacing-15) !important;
    }

    .mt-md-auto {
        margin-top: auto !important;
    }

    /* Margin right */
    .mr-md-0 {
        margin-right: var(--spacing-0) !important;
    }

    .mr-md-1 {
        margin-right: var(--spacing-1) !important;
    }

    .mr-md-2 {
        margin-right: var(--spacing-2) !important;
    }

    .mr-md-3 {
        margin-right: var(--spacing-3) !important;
    }

    .mr-md-4 {
        margin-right: var(--spacing-4) !important;
    }

    .mr-md-5 {
        margin-right: var(--spacing-5) !important;
    }

    .mr-md-6 {
        margin-right: var(--spacing-6) !important;
    }

    .mr-md-7 {
        margin-right: var(--spacing-7) !important;
    }

    .mr-md-8 {
        margin-right: var(--spacing-8) !important;
    }

    .mr-md-9 {
        margin-right: var(--spacing-9) !important;
    }

    .mr-md-10 {
        margin-right: var(--spacing-10) !important;
    }

    .mr-md-11 {
        margin-right: var(--spacing-11) !important;
    }

    .mr-md-12 {
        margin-right: var(--spacing-12) !important;
    }

    .mr-md-13 {
        margin-right: var(--spacing-13) !important;
    }

    .mr-md-14 {
        margin-right: var(--spacing-14) !important;
    }

    .mr-md-15 {
        margin-right: var(--spacing-15) !important;
    }

    .mr-md-auto {
        margin-right: auto !important;
    }

    /* Margin bottom */
    .mb-md-0 {
        margin-bottom: var(--spacing-0) !important;
    }

    .mb-md-1 {
        margin-bottom: var(--spacing-1) !important;
    }

    .mb-md-2 {
        margin-bottom: var(--spacing-2) !important;
    }

    .mb-md-3 {
        margin-bottom: var(--spacing-3) !important;
    }

    .mb-md-4 {
        margin-bottom: var(--spacing-4) !important;
    }

    .mb-md-5 {
        margin-bottom: var(--spacing-5) !important;
    }

    .mb-md-6 {
        margin-bottom: var(--spacing-6) !important;
    }

    .mb-md-7 {
        margin-bottom: var(--spacing-7) !important;
    }

    .mb-md-8 {
        margin-bottom: var(--spacing-8) !important;
    }

    .mb-md-9 {
        margin-bottom: var(--spacing-9) !important;
    }

    .mb-md-10 {
        margin-bottom: var(--spacing-10) !important;
    }

    .mb-md-11 {
        margin-bottom: var(--spacing-11) !important;
    }

    .mb-md-12 {
        margin-bottom: var(--spacing-12) !important;
    }

    .mb-md-13 {
        margin-bottom: var(--spacing-13) !important;
    }

    .mb-md-14 {
        margin-bottom: var(--spacing-14) !important;
    }

    .mb-md-15 {
        margin-bottom: var(--spacing-15) !important;
    }

    .mb-md-auto {
        margin-bottom: auto !important;
    }

    /* Margin left */
    .ml-md-0 {
        margin-left: var(--spacing-0) !important;
    }

    .ml-md-1 {
        margin-left: var(--spacing-1) !important;
    }

    .ml-md-2 {
        margin-left: var(--spacing-2) !important;
    }

    .ml-md-3 {
        margin-left: var(--spacing-3) !important;
    }

    .ml-md-4 {
        margin-left: var(--spacing-4) !important;
    }

    .ml-md-5 {
        margin-left: var(--spacing-5) !important;
    }

    .ml-md-6 {
        margin-left: var(--spacing-6) !important;
    }

    .ml-md-7 {
        margin-left: var(--spacing-7) !important;
    }

    .ml-md-8 {
        margin-left: var(--spacing-8) !important;
    }

    .ml-md-9 {
        margin-left: var(--spacing-9) !important;
    }

    .ml-md-10 {
        margin-left: var(--spacing-10) !important;
    }

    .ml-md-11 {
        margin-left: var(--spacing-11) !important;
    }

    .ml-md-12 {
        margin-left: var(--spacing-12) !important;
    }

    .ml-md-13 {
        margin-left: var(--spacing-13) !important;
    }

    .ml-md-14 {
        margin-left: var(--spacing-14) !important;
    }

    .ml-md-15 {
        margin-left: var(--spacing-15) !important;
    }

    .ml-md-auto {
        margin-left: auto !important;
    }

    /* Margin x (left & right) */
    .mx-md-0 {
        margin-left: var(--spacing-0) !important;
        margin-right: var(--spacing-0) !important;
    }

    .mx-md-1 {
        margin-left: var(--spacing-1) !important;
        margin-right: var(--spacing-1) !important;
    }

    .mx-md-2 {
        margin-left: var(--spacing-2) !important;
        margin-right: var(--spacing-2) !important;
    }

    .mx-md-3 {
        margin-left: var(--spacing-3) !important;
        margin-right: var(--spacing-3) !important;
    }

    .mx-md-4 {
        margin-left: var(--spacing-4) !important;
        margin-right: var(--spacing-4) !important;
    }

    .mx-md-5 {
        margin-left: var(--spacing-5) !important;
        margin-right: var(--spacing-5) !important;
    }

    .mx-md-6 {
        margin-left: var(--spacing-6) !important;
        margin-right: var(--spacing-6) !important;
    }

    .mx-md-7 {
        margin-left: var(--spacing-7) !important;
        margin-right: var(--spacing-7) !important;
    }

    .mx-md-8 {
        margin-left: var(--spacing-8) !important;
        margin-right: var(--spacing-8) !important;
    }

    .mx-md-9 {
        margin-left: var(--spacing-9) !important;
        margin-right: var(--spacing-9) !important;
    }

    .mx-md-10 {
        margin-left: var(--spacing-10) !important;
        margin-right: var(--spacing-10) !important;
    }

    .mx-md-11 {
        margin-left: var(--spacing-11) !important;
        margin-right: var(--spacing-11) !important;
    }

    .mx-md-12 {
        margin-left: var(--spacing-12) !important;
        margin-right: var(--spacing-12) !important;
    }

    .mx-md-13 {
        margin-left: var(--spacing-13) !important;
        margin-right: var(--spacing-13) !important;
    }

    .mx-md-14 {
        margin-left: var(--spacing-14) !important;
        margin-right: var(--spacing-14) !important;
    }

    .mx-md-15 {
        margin-left: var(--spacing-15) !important;
        margin-right: var(--spacing-15) !important;
    }

    .mx-md-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Margin y (top & bottom) */
    .my-md-0 {
        margin-top: var(--spacing-0) !important;
        margin-bottom: var(--spacing-0) !important;
    }

    .my-md-1 {
        margin-top: var(--spacing-1) !important;
        margin-bottom: var(--spacing-1) !important;
    }

    .my-md-2 {
        margin-top: var(--spacing-2) !important;
        margin-bottom: var(--spacing-2) !important;
    }

    .my-md-3 {
        margin-top: var(--spacing-3) !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .my-md-4 {
        margin-top: var(--spacing-4) !important;
        margin-bottom: var(--spacing-4) !important;
    }

    .my-md-5 {
        margin-top: var(--spacing-5) !important;
        margin-bottom: var(--spacing-5) !important;
    }

    .my-md-6 {
        margin-top: var(--spacing-6) !important;
        margin-bottom: var(--spacing-6) !important;
    }

    .my-md-7 {
        margin-top: var(--spacing-7) !important;
        margin-bottom: var(--spacing-7) !important;
    }

    .my-md-8 {
        margin-top: var(--spacing-8) !important;
        margin-bottom: var(--spacing-8) !important;
    }

    .my-md-9 {
        margin-top: var(--spacing-9) !important;
        margin-bottom: var(--spacing-9) !important;
    }

    .my-md-10 {
        margin-top: var(--spacing-10) !important;
        margin-bottom: var(--spacing-10) !important;
    }

    .my-md-11 {
        margin-top: var(--spacing-11) !important;
        margin-bottom: var(--spacing-11) !important;
    }

    .my-md-12 {
        margin-top: var(--spacing-12) !important;
        margin-bottom: var(--spacing-12) !important;
    }

    .my-md-13 {
        margin-top: var(--spacing-13) !important;
        margin-bottom: var(--spacing-13) !important;
    }

    .my-md-14 {
        margin-top: var(--spacing-14) !important;
        margin-bottom: var(--spacing-14) !important;
    }

    .my-md-15 {
        margin-top: var(--spacing-15) !important;
        margin-bottom: var(--spacing-15) !important;
    }

    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }

    /* Padding */
    .p-md-0 {
        padding: var(--spacing-0) !important;
    }

    .p-md-1 {
        padding: var(--spacing-1) !important;
    }

    .p-md-2 {
        padding: var(--spacing-2) !important;
    }

    .p-md-3 {
        padding: var(--spacing-3) !important;
    }

    .p-md-4 {
        padding: var(--spacing-4) !important;
    }

    .p-md-5 {
        padding: var(--spacing-5) !important;
    }

    .p-md-6 {
        padding: var(--spacing-6) !important;
    }

    .p-md-7 {
        padding: var(--spacing-7) !important;
    }

    .p-md-8 {
        padding: var(--spacing-8) !important;
    }

    .p-md-9 {
        padding: var(--spacing-9) !important;
    }

    .p-md-10 {
        padding: var(--spacing-10) !important;
    }

    .p-md-11 {
        padding: var(--spacing-11) !important;
    }

    .p-md-12 {
        padding: var(--spacing-12) !important;
    }

    .p-md-13 {
        padding: var(--spacing-13) !important;
    }

    .p-md-14 {
        padding: var(--spacing-14) !important;
    }

    .p-md-15 {
        padding: var(--spacing-15) !important;
    }
}

/* ============================================ */
/* RESPONSIVE: LARGE DEVICES (992px e superiori) */
/* ============================================ */
@media (min-width: 992px) {
    /* Margin */
    .m-lg-0 {
        margin: var(--spacing-0) !important;
    }

    .m-lg-1 {
        margin: var(--spacing-1) !important;
    }

    .m-lg-2 {
        margin: var(--spacing-2) !important;
    }

    .m-lg-3 {
        margin: var(--spacing-3) !important;
    }

    .m-lg-4 {
        margin: var(--spacing-4) !important;
    }

    .m-lg-5 {
        margin: var(--spacing-5) !important;
    }

    .m-lg-6 {
        margin: var(--spacing-6) !important;
    }

    .m-lg-7 {
        margin: var(--spacing-7) !important;
    }

    .m-lg-8 {
        margin: var(--spacing-8) !important;
    }

    .m-lg-9 {
        margin: var(--spacing-9) !important;
    }

    .m-lg-10 {
        margin: var(--spacing-10) !important;
    }

    .m-lg-11 {
        margin: var(--spacing-11) !important;
    }

    .m-lg-12 {
        margin: var(--spacing-12) !important;
    }

    .m-lg-13 {
        margin: var(--spacing-13) !important;
    }

    .m-lg-14 {
        margin: var(--spacing-14) !important;
    }

    .m-lg-15 {
        margin: var(--spacing-15) !important;
    }

    .m-lg-auto {
        margin: auto !important;
    }

    /* Margin top */
    .mt-lg-0 {
        margin-top: var(--spacing-0) !important;
    }

    .mt-lg-1 {
        margin-top: var(--spacing-1) !important;
    }

    .mt-lg-2 {
        margin-top: var(--spacing-2) !important;
    }

    .mt-lg-3 {
        margin-top: var(--spacing-3) !important;
    }

    .mt-lg-4 {
        margin-top: var(--spacing-4) !important;
    }

    .mt-lg-5 {
        margin-top: var(--spacing-5) !important;
    }

    .mt-lg-6 {
        margin-top: var(--spacing-6) !important;
    }

    .mt-lg-7 {
        margin-top: var(--spacing-7) !important;
    }

    .mt-lg-8 {
        margin-top: var(--spacing-8) !important;
    }

    .mt-lg-9 {
        margin-top: var(--spacing-9) !important;
    }

    .mt-lg-10 {
        margin-top: var(--spacing-10) !important;
    }

    .mt-lg-11 {
        margin-top: var(--spacing-11) !important;
    }

    .mt-lg-12 {
        margin-top: var(--spacing-12) !important;
    }

    .mt-lg-13 {
        margin-top: var(--spacing-13) !important;
    }

    .mt-lg-14 {
        margin-top: var(--spacing-14) !important;
    }

    .mt-lg-15 {
        margin-top: var(--spacing-15) !important;
    }

    .mt-lg-auto {
        margin-top: auto !important;
    }

    /* Margin right */
    .mr-lg-0 {
        margin-right: var(--spacing-0) !important;
    }

    .mr-lg-1 {
        margin-right: var(--spacing-1) !important;
    }

    .mr-lg-2 {
        margin-right: var(--spacing-2) !important;
    }

    .mr-lg-3 {
        margin-right: var(--spacing-3) !important;
    }

    .mr-lg-4 {
        margin-right: var(--spacing-4) !important;
    }

    .mr-lg-5 {
        margin-right: var(--spacing-5) !important;
    }

    .mr-lg-6 {
        margin-right: var(--spacing-6) !important;
    }

    .mr-lg-7 {
        margin-right: var(--spacing-7) !important;
    }

    .mr-lg-8 {
        margin-right: var(--spacing-8) !important;
    }

    .mr-lg-9 {
        margin-right: var(--spacing-9) !important;
    }

    .mr-lg-10 {
        margin-right: var(--spacing-10) !important;
    }

    .mr-lg-11 {
        margin-right: var(--spacing-11) !important;
    }

    .mr-lg-12 {
        margin-right: var(--spacing-12) !important;
    }

    .mr-lg-13 {
        margin-right: var(--spacing-13) !important;
    }

    .mr-lg-14 {
        margin-right: var(--spacing-14) !important;
    }

    .mr-lg-15 {
        margin-right: var(--spacing-15) !important;
    }

    .mr-lg-auto {
        margin-right: auto !important;
    }

    /* Margin bottom */
    .mb-lg-0 {
        margin-bottom: var(--spacing-0) !important;
    }

    .mb-lg-1 {
        margin-bottom: var(--spacing-1) !important;
    }

    .mb-lg-2 {
        margin-bottom: var(--spacing-2) !important;
    }

    .mb-lg-3 {
        margin-bottom: var(--spacing-3) !important;
    }

    .mb-lg-4 {
        margin-bottom: var(--spacing-4) !important;
    }

    .mb-lg-5 {
        margin-bottom: var(--spacing-5) !important;
    }

    .mb-lg-6 {
        margin-bottom: var(--spacing-6) !important;
    }

    .mb-lg-7 {
        margin-bottom: var(--spacing-7) !important;
    }

    .mb-lg-8 {
        margin-bottom: var(--spacing-8) !important;
    }

    .mb-lg-9 {
        margin-bottom: var(--spacing-9) !important;
    }

    .mb-lg-10 {
        margin-bottom: var(--spacing-10) !important;
    }

    .mb-lg-11 {
        margin-bottom: var(--spacing-11) !important;
    }

    .mb-lg-12 {
        margin-bottom: var(--spacing-12) !important;
    }

    .mb-lg-13 {
        margin-bottom: var(--spacing-13) !important;
    }

    .mb-lg-14 {
        margin-bottom: var(--spacing-14) !important;
    }

    .mb-lg-15 {
        margin-bottom: var(--spacing-15) !important;
    }

    .mb-lg-auto {
        margin-bottom: auto !important;
    }

    /* Margin left */
    .ml-lg-0 {
        margin-left: var(--spacing-0) !important;
    }

    .ml-lg-1 {
        margin-left: var(--spacing-1) !important;
    }

    .ml-lg-2 {
        margin-left: var(--spacing-2) !important;
    }

    .ml-lg-3 {
        margin-left: var(--spacing-3) !important;
    }

    .ml-lg-4 {
        margin-left: var(--spacing-4) !important;
    }

    .ml-lg-5 {
        margin-left: var(--spacing-5) !important;
    }

    .ml-lg-6 {
        margin-left: var(--spacing-6) !important;
    }

    .ml-lg-7 {
        margin-left: var(--spacing-7) !important;
    }

    .ml-lg-8 {
        margin-left: var(--spacing-8) !important;
    }

    .ml-lg-9 {
        margin-left: var(--spacing-9) !important;
    }

    .ml-lg-10 {
        margin-left: var(--spacing-10) !important;
    }

    .ml-lg-11 {
        margin-left: var(--spacing-11) !important;
    }

    .ml-lg-12 {
        margin-left: var(--spacing-12) !important;
    }

    .ml-lg-13 {
        margin-left: var(--spacing-13) !important;
    }

    .ml-lg-14 {
        margin-left: var(--spacing-14) !important;
    }

    .ml-lg-15 {
        margin-left: var(--spacing-15) !important;
    }

    .ml-lg-auto {
        margin-left: auto !important;
    }

    /* Margin x (left & right) */
    .mx-lg-0 {
        margin-left: var(--spacing-0) !important;
        margin-right: var(--spacing-0) !important;
    }

    .mx-lg-1 {
        margin-left: var(--spacing-1) !important;
        margin-right: var(--spacing-1) !important;
    }

    .mx-lg-2 {
        margin-left: var(--spacing-2) !important;
        margin-right: var(--spacing-2) !important;
    }

    .mx-lg-3 {
        margin-left: var(--spacing-3) !important;
        margin-right: var(--spacing-3) !important;
    }

    .mx-lg-4 {
        margin-left: var(--spacing-4) !important;
        margin-right: var(--spacing-4) !important;
    }

    .mx-lg-5 {
        margin-left: var(--spacing-5) !important;
        margin-right: var(--spacing-5) !important;
    }

    .mx-lg-6 {
        margin-left: var(--spacing-6) !important;
        margin-right: var(--spacing-6) !important;
    }

    .mx-lg-7 {
        margin-left: var(--spacing-7) !important;
        margin-right: var(--spacing-7) !important;
    }

    .mx-lg-8 {
        margin-left: var(--spacing-8) !important;
        margin-right: var(--spacing-8) !important;
    }

    .mx-lg-9 {
        margin-left: var(--spacing-9) !important;
        margin-right: var(--spacing-9) !important;
    }

    .mx-lg-10 {
        margin-left: var(--spacing-10) !important;
        margin-right: var(--spacing-10) !important;
    }

    .mx-lg-11 {
        margin-left: var(--spacing-11) !important;
        margin-right: var(--spacing-11) !important;
    }

    .mx-lg-12 {
        margin-left: var(--spacing-12) !important;
        margin-right: var(--spacing-12) !important;
    }

    .mx-lg-13 {
        margin-left: var(--spacing-13) !important;
        margin-right: var(--spacing-13) !important;
    }

    .mx-lg-14 {
        margin-left: var(--spacing-14) !important;
        margin-right: var(--spacing-14) !important;
    }

    .mx-lg-15 {
        margin-left: var(--spacing-15) !important;
        margin-right: var(--spacing-15) !important;
    }

    .mx-lg-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Margin y (top & bottom) */
    .my-lg-0 {
        margin-top: var(--spacing-0) !important;
        margin-bottom: var(--spacing-0) !important;
    }

    .my-lg-1 {
        margin-top: var(--spacing-1) !important;
        margin-bottom: var(--spacing-1) !important;
    }

    .my-lg-2 {
        margin-top: var(--spacing-2) !important;
        margin-bottom: var(--spacing-2) !important;
    }

    .my-lg-3 {
        margin-top: var(--spacing-3) !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .my-lg-4 {
        margin-top: var(--spacing-4) !important;
        margin-bottom: var(--spacing-4) !important;
    }

    .my-lg-5 {
        margin-top: var(--spacing-5) !important;
        margin-bottom: var(--spacing-5) !important;
    }

    .my-lg-6 {
        margin-top: var(--spacing-6) !important;
        margin-bottom: var(--spacing-6) !important;
    }

    .my-lg-7 {
        margin-top: var(--spacing-7) !important;
        margin-bottom: var(--spacing-7) !important;
    }

    .my-lg-8 {
        margin-top: var(--spacing-8) !important;
        margin-bottom: var(--spacing-8) !important;
    }

    .my-lg-9 {
        margin-top: var(--spacing-9) !important;
        margin-bottom: var(--spacing-9) !important;
    }

    .my-lg-10 {
        margin-top: var(--spacing-10) !important;
        margin-bottom: var(--spacing-10) !important;
    }

    .my-lg-11 {
        margin-top: var(--spacing-11) !important;
        margin-bottom: var(--spacing-11) !important;
    }

    .my-lg-12 {
        margin-top: var(--spacing-12) !important;
        margin-bottom: var(--spacing-12) !important;
    }

    .my-lg-13 {
        margin-top: var(--spacing-13) !important;
        margin-bottom: var(--spacing-13) !important;
    }

    .my-lg-14 {
        margin-top: var(--spacing-14) !important;
        margin-bottom: var(--spacing-14) !important;
    }

    .my-lg-15 {
        margin-top: var(--spacing-15) !important;
        margin-bottom: var(--spacing-15) !important;
    }

    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }

    /* Padding */
    .p-lg-0 {
        padding: var(--spacing-0) !important;
    }

    .p-lg-1 {
        padding: var(--spacing-1) !important;
    }

    .p-lg-2 {
        padding: var(--spacing-2) !important;
    }

    .p-lg-3 {
        padding: var(--spacing-3) !important;
    }

    .p-lg-4 {
        padding: var(--spacing-4) !important;
    }

    .p-lg-5 {
        padding: var(--spacing-5) !important;
    }

    .p-lg-6 {
        padding: var(--spacing-6) !important;
    }

    .p-lg-7 {
        padding: var(--spacing-7) !important;
    }

    .p-lg-8 {
        padding: var(--spacing-8) !important;
    }

    .p-lg-9 {
        padding: var(--spacing-9) !important;
    }

    .p-lg-10 {
        padding: var(--spacing-10) !important;
    }

    .p-lg-11 {
        padding: var(--spacing-11) !important;
    }

    .p-lg-12 {
        padding: var(--spacing-12) !important;
    }

    .p-lg-13 {
        padding: var(--spacing-13) !important;
    }

    .p-lg-14 {
        padding: var(--spacing-14) !important;
    }

    .p-lg-15 {
        padding: var(--spacing-15) !important;
    }

    /* Padding top */
    .pt-lg-0 {
        padding-top: var(--spacing-0) !important;
    }

    .pt-lg-1 {
        padding-top: var(--spacing-1) !important;
    }

    .pt-lg-2 {
        padding-top: var(--spacing-2) !important;
    }

    .pt-lg-3 {
        padding-top: var(--spacing-3) !important;
    }

    .pt-lg-4 {
        padding-top: var(--spacing-4) !important;
    }

    .pt-lg-5 {
        padding-top: var(--spacing-5) !important;
    }

    .pt-lg-6 {
        padding-top: var(--spacing-6) !important;
    }

    .pt-lg-7 {
        padding-top: var(--spacing-7) !important;
    }

    .pt-lg-8 {
        padding-top: var(--spacing-8) !important;
    }

    .pt-lg-9 {
        padding-top: var(--spacing-9) !important;
    }

    .pt-lg-10 {
        padding-top: var(--spacing-10) !important;
    }

    .pt-lg-11 {
        padding-top: var(--spacing-11) !important;
    }

    .pt-lg-12 {
        padding-top: var(--spacing-12) !important;
    }

    .pt-lg-13 {
        padding-top: var(--spacing-13) !important;
    }

    .pt-lg-14 {
        padding-top: var(--spacing-14) !important;
    }

    .pt-lg-15 {
        padding-top: var(--spacing-15) !important;
    }

    /* Padding right */
    .pr-lg-0 {
        padding-right: var(--spacing-0) !important;
    }

    .pr-lg-1 {
        padding-right: var(--spacing-1) !important;
    }

    .pr-lg-2 {
        padding-right: var(--spacing-2) !important;
    }

    .pr-lg-3 {
        padding-right: var(--spacing-3) !important;
    }

    .pr-lg-4 {
        padding-right: var(--spacing-4) !important;
    }

    .pr-lg-5 {
        padding-right: var(--spacing-5) !important;
    }

    .pr-lg-6 {
        padding-right: var(--spacing-6) !important;
    }

    .pr-lg-7 {
        padding-right: var(--spacing-7) !important;
    }

    .pr-lg-8 {
        padding-right: var(--spacing-8) !important;
    }

    .pr-lg-9 {
        padding-right: var(--spacing-9) !important;
    }

    .pr-lg-10 {
        padding-right: var(--spacing-10) !important;
    }

    .pr-lg-11 {
        padding-right: var(--spacing-11) !important;
    }

    .pr-lg-12 {
        padding-right: var(--spacing-12) !important;
    }

    .pr-lg-13 {
        padding-right: var(--spacing-13) !important;
    }

    .pr-lg-14 {
        padding-right: var(--spacing-14) !important;
    }

    .pr-lg-15 {
        padding-right: var(--spacing-15) !important;
    }

    /* Padding bottom */
    .pb-lg-0 {
        padding-bottom: var(--spacing-0) !important;
    }

    .pb-lg-1 {
        padding-bottom: var(--spacing-1) !important;
    }

    .pb-lg-2 {
        padding-bottom: var(--spacing-2) !important;
    }

    .pb-lg-3 {
        padding-bottom: var(--spacing-3) !important;
    }

    .pb-lg-4 {
        padding-bottom: var(--spacing-4) !important;
    }

    .pb-lg-5 {
        padding-bottom: var(--spacing-5) !important;
    }

    .pb-lg-6 {
        padding-bottom: var(--spacing-6) !important;
    }

    .pb-lg-7 {
        padding-bottom: var(--spacing-7) !important;
    }

    .pb-lg-8 {
        padding-bottom: var(--spacing-8) !important;
    }

    .pb-lg-9 {
        padding-bottom: var(--spacing-9) !important;
    }

    .pb-lg-10 {
        padding-bottom: var(--spacing-10) !important;
    }

    .pb-lg-11 {
        padding-bottom: var(--spacing-11) !important;
    }

    .pb-lg-12 {
        padding-bottom: var(--spacing-12) !important;
    }

    .pb-lg-13 {
        padding-bottom: var(--spacing-13) !important;
    }

    .pb-lg-14 {
        padding-bottom: var(--spacing-14) !important;
    }

    .pb-lg-15 {
        padding-bottom: var(--spacing-15) !important;
    }

    /* Padding left */
    .pl-lg-0 {
        padding-left: var(--spacing-0) !important;
    }

    .pl-lg-1 {
        padding-left: var(--spacing-1) !important;
    }

    .pl-lg-2 {
        padding-left: var(--spacing-2) !important;
    }

    .pl-lg-3 {
        padding-left: var(--spacing-3) !important;
    }

    .pl-lg-4 {
        padding-left: var(--spacing-4) !important;
    }

    .pl-lg-5 {
        padding-left: var(--spacing-5) !important;
    }

    .pl-lg-6 {
        padding-left: var(--spacing-6) !important;
    }

    .pl-lg-7 {
        padding-left: var(--spacing-7) !important;
    }

    .pl-lg-8 {
        padding-left: var(--spacing-8) !important;
    }

    .pl-lg-9 {
        padding-left: var(--spacing-9) !important;
    }

    .pl-lg-10 {
        padding-left: var(--spacing-10) !important;
    }

    .pl-lg-11 {
        padding-left: var(--spacing-11) !important;
    }

    .pl-lg-12 {
        padding-left: var(--spacing-12) !important;
    }

    .pl-lg-13 {
        padding-left: var(--spacing-13) !important;
    }

    .pl-lg-14 {
        padding-left: var(--spacing-14) !important;
    }

    .pl-lg-15 {
        padding-left: var(--spacing-15) !important;
    }

    /* Padding x (left & right) */
    .px-lg-0 {
        padding-left: var(--spacing-0) !important;
        padding-right: var(--spacing-0) !important;
    }

    .px-lg-1 {
        padding-left: var(--spacing-1) !important;
        padding-right: var(--spacing-1) !important;
    }

    .px-lg-2 {
        padding-left: var(--spacing-2) !important;
        padding-right: var(--spacing-2) !important;
    }

    .px-lg-3 {
        padding-left: var(--spacing-3) !important;
        padding-right: var(--spacing-3) !important;
    }

    .px-lg-4 {
        padding-left: var(--spacing-4) !important;
        padding-right: var(--spacing-4) !important;
    }

    .px-lg-5 {
        padding-left: var(--spacing-5) !important;
        padding-right: var(--spacing-5) !important;
    }

    .px-lg-6 {
        padding-left: var(--spacing-6) !important;
        padding-right: var(--spacing-6) !important;
    }

    .px-lg-7 {
        padding-left: var(--spacing-7) !important;
        padding-right: var(--spacing-7) !important;
    }

    .px-lg-8 {
        padding-left: var(--spacing-8) !important;
        padding-right: var(--spacing-8) !important;
    }

    .px-lg-9 {
        padding-left: var(--spacing-9) !important;
        padding-right: var(--spacing-9) !important;
    }

    .px-lg-10 {
        padding-left: var(--spacing-10) !important;
        padding-right: var(--spacing-10) !important;
    }

    .px-lg-11 {
        padding-left: var(--spacing-11) !important;
        padding-right: var(--spacing-11) !important;
    }

    .px-lg-12 {
        padding-left: var(--spacing-12) !important;
        padding-right: var(--spacing-12) !important;
    }

    .px-lg-13 {
        padding-left: var(--spacing-13) !important;
        padding-right: var(--spacing-13) !important;
    }

    .px-lg-14 {
        padding-left: var(--spacing-14) !important;
        padding-right: var(--spacing-14) !important;
    }

    .px-lg-15 {
        padding-left: var(--spacing-15) !important;
        padding-right: var(--spacing-15) !important;
    }

    /* Padding y (top & bottom) */
    .py-lg-0 {
        padding-top: var(--spacing-0) !important;
        padding-bottom: var(--spacing-0) !important;
    }

    .py-lg-1 {
        padding-top: var(--spacing-1) !important;
        padding-bottom: var(--spacing-1) !important;
    }

    .py-lg-2 {
        padding-top: var(--spacing-2) !important;
        padding-bottom: var(--spacing-2) !important;
    }

    .py-lg-3 {
        padding-top: var(--spacing-3) !important;
        padding-bottom: var(--spacing-3) !important;
    }

    .py-lg-4 {
        padding-top: var(--spacing-4) !important;
        padding-bottom: var(--spacing-4) !important;
    }

    .py-lg-5 {
        padding-top: var(--spacing-5) !important;
        padding-bottom: var(--spacing-5) !important;
    }

    .py-lg-6 {
        padding-top: var(--spacing-6) !important;
        padding-bottom: var(--spacing-6) !important;
    }

    .py-lg-7 {
        padding-top: var(--spacing-7) !important;
        padding-bottom: var(--spacing-7) !important;
    }

    .py-lg-8 {
        padding-top: var(--spacing-8) !important;
        padding-bottom: var(--spacing-8) !important;
    }

    .py-lg-9 {
        padding-top: var(--spacing-9) !important;
        padding-bottom: var(--spacing-9) !important;
    }

    .py-lg-10 {
        padding-top: var(--spacing-10) !important;
        padding-bottom: var(--spacing-10) !important;
    }

    .py-lg-11 {
        padding-top: var(--spacing-11) !important;
        padding-bottom: var(--spacing-11) !important;
    }

    .py-lg-12 {
        padding-top: var(--spacing-12) !important;
        padding-bottom: var(--spacing-12) !important;
    }

    .py-lg-13 {
        padding-top: var(--spacing-13) !important;
        padding-bottom: var(--spacing-13) !important;
    }

    .py-lg-14 {
        padding-top: var(--spacing-14) !important;
        padding-bottom: var(--spacing-14) !important;
    }

    .py-lg-15 {
        padding-top: var(--spacing-15) !important;
        padding-bottom: var(--spacing-15) !important;
    }
}

/* ============================================ */
/* RESPONSIVE: EXTRA LARGE DEVICES (1200px e superiori) */
/* ============================================ */
@media (min-width: 1200px) {
    /* Margin */
    .m-xl-0 {
        margin: var(--spacing-0) !important;
    }

    .m-xl-1 {
        margin: var(--spacing-1) !important;
    }

    .m-xl-2 {
        margin: var(--spacing-2) !important;
    }

    .m-xl-3 {
        margin: var(--spacing-3) !important;
    }

    .m-xl-4 {
        margin: var(--spacing-4) !important;
    }

    .m-xl-5 {
        margin: var(--spacing-5) !important;
    }

    .m-xl-6 {
        margin: var(--spacing-6) !important;
    }

    .m-xl-7 {
        margin: var(--spacing-7) !important;
    }

    .m-xl-8 {
        margin: var(--spacing-8) !important;
    }

    .m-xl-9 {
        margin: var(--spacing-9) !important;
    }

    .m-xl-10 {
        margin: var(--spacing-10) !important;
    }

    .m-xl-11 {
        margin: var(--spacing-11) !important;
    }

    .m-xl-12 {
        margin: var(--spacing-12) !important;
    }

    .m-xl-13 {
        margin: var(--spacing-13) !important;
    }

    .m-xl-14 {
        margin: var(--spacing-14) !important;
    }

    .m-xl-15 {
        margin: var(--spacing-15) !important;
    }

    .m-xl-auto {
        margin: auto !important;
    }

    /* Margin top */
    .mt-xl-0 {
        margin-top: var(--spacing-0) !important;
    }

    .mt-xl-1 {
        margin-top: var(--spacing-1) !important;
    }

    .mt-xl-2 {
        margin-top: var(--spacing-2) !important;
    }

    .mt-xl-3 {
        margin-top: var(--spacing-3) !important;
    }

    .mt-xl-4 {
        margin-top: var(--spacing-4) !important;
    }

    .mt-xl-5 {
        margin-top: var(--spacing-5) !important;
    }

    .mt-xl-6 {
        margin-top: var(--spacing-6) !important;
    }

    .mt-xl-7 {
        margin-top: var(--spacing-7) !important;
    }

    .mt-xl-8 {
        margin-top: var(--spacing-8) !important;
    }

    .mt-xl-9 {
        margin-top: var(--spacing-9) !important;
    }

    .mt-xl-10 {
        margin-top: var(--spacing-10) !important;
    }

    .mt-xl-11 {
        margin-top: var(--spacing-11) !important;
    }

    .mt-xl-12 {
        margin-top: var(--spacing-12) !important;
    }

    .mt-xl-13 {
        margin-top: var(--spacing-13) !important;
    }

    .mt-xl-14 {
        margin-top: var(--spacing-14) !important;
    }

    .mt-xl-15 {
        margin-top: var(--spacing-15) !important;
    }

    .mt-xl-auto {
        margin-top: auto !important;
    }

    /* Margin right */
    .mr-xl-0 {
        margin-right: var(--spacing-0) !important;
    }

    .mr-xl-1 {
        margin-right: var(--spacing-1) !important;
    }

    .mr-xl-2 {
        margin-right: var(--spacing-2) !important;
    }

    .mr-xl-3 {
        margin-right: var(--spacing-3) !important;
    }

    .mr-xl-4 {
        margin-right: var(--spacing-4) !important;
    }

    .mr-xl-5 {
        margin-right: var(--spacing-5) !important;
    }

    .mr-xl-6 {
        margin-right: var(--spacing-6) !important;
    }

    .mr-xl-7 {
        margin-right: var(--spacing-7) !important;
    }

    .mr-xl-8 {
        margin-right: var(--spacing-8) !important;
    }

    .mr-xl-9 {
        margin-right: var(--spacing-9) !important;
    }

    .mr-xl-10 {
        margin-right: var(--spacing-10) !important;
    }

    .mr-xl-11 {
        margin-right: var(--spacing-11) !important;
    }

    .mr-xl-12 {
        margin-right: var(--spacing-12) !important;
    }

    .mr-xl-13 {
        margin-right: var(--spacing-13) !important;
    }

    .mr-xl-14 {
        margin-right: var(--spacing-14) !important;
    }

    .mr-xl-15 {
        margin-right: var(--spacing-15) !important;
    }

    .mr-xl-auto {
        margin-right: auto !important;
    }

    /* Margin bottom */
    .mb-xl-0 {
        margin-bottom: var(--spacing-0) !important;
    }

    .mb-xl-1 {
        margin-bottom: var(--spacing-1) !important;
    }

    .mb-xl-2 {
        margin-bottom: var(--spacing-2) !important;
    }

    .mb-xl-3 {
        margin-bottom: var(--spacing-3) !important;
    }

    .mb-xl-4 {
        margin-bottom: var(--spacing-4) !important;
    }

    .mb-xl-5 {
        margin-bottom: var(--spacing-5) !important;
    }

    .mb-xl-6 {
        margin-bottom: var(--spacing-6) !important;
    }

    .mb-xl-7 {
        margin-bottom: var(--spacing-7) !important;
    }

    .mb-xl-8 {
        margin-bottom: var(--spacing-8) !important;
    }

    .mb-xl-9 {
        margin-bottom: var(--spacing-9) !important;
    }

    .mb-xl-10 {
        margin-bottom: var(--spacing-10) !important;
    }

    .mb-xl-11 {
        margin-bottom: var(--spacing-11) !important;
    }

    .mb-xl-12 {
        margin-bottom: var(--spacing-12) !important;
    }

    .mb-xl-13 {
        margin-bottom: var(--spacing-13) !important;
    }

    .mb-xl-14 {
        margin-bottom: var(--spacing-14) !important;
    }

    .mb-xl-15 {
        margin-bottom: var(--spacing-15) !important;
    }

    .mb-xl-auto {
        margin-bottom: auto !important;
    }

    /* Margin left */
    .ml-xl-0 {
        margin-left: var(--spacing-0) !important;
    }

    .ml-xl-1 {
        margin-left: var(--spacing-1) !important;
    }

    .ml-xl-2 {
        margin-left: var(--spacing-2) !important;
    }

    .ml-xl-3 {
        margin-left: var(--spacing-3) !important;
    }

    .ml-xl-4 {
        margin-left: var(--spacing-4) !important;
    }

    .ml-xl-5 {
        margin-left: var(--spacing-5) !important;
    }

    .ml-xl-6 {
        margin-left: var(--spacing-6) !important;
    }

    .ml-xl-7 {
        margin-left: var(--spacing-7) !important;
    }

    .ml-xl-8 {
        margin-left: var(--spacing-8) !important;
    }

    .ml-xl-9 {
        margin-left: var(--spacing-9) !important;
    }

    .ml-xl-10 {
        margin-left: var(--spacing-10) !important;
    }

    .ml-xl-11 {
        margin-left: var(--spacing-11) !important;
    }

    .ml-xl-12 {
        margin-left: var(--spacing-12) !important;
    }

    .ml-xl-13 {
        margin-left: var(--spacing-13) !important;
    }

    .ml-xl-14 {
        margin-left: var(--spacing-14) !important;
    }

    .ml-xl-15 {
        margin-left: var(--spacing-15) !important;
    }

    .ml-xl-auto {
        margin-left: auto !important;
    }

    /* Margin x (left & right) */
    .mx-xl-0 {
        margin-left: var(--spacing-0) !important;
        margin-right: var(--spacing-0) !important;
    }

    .mx-xl-1 {
        margin-left: var(--spacing-1) !important;
        margin-right: var(--spacing-1) !important;
    }

    .mx-xl-2 {
        margin-left: var(--spacing-2) !important;
        margin-right: var(--spacing-2) !important;
    }

    .mx-xl-3 {
        margin-left: var(--spacing-3) !important;
        margin-right: var(--spacing-3) !important;
    }

    .mx-xl-4 {
        margin-left: var(--spacing-4) !important;
        margin-right: var(--spacing-4) !important;
    }

    .mx-xl-5 {
        margin-left: var(--spacing-5) !important;
        margin-right: var(--spacing-5) !important;
    }

    .mx-xl-6 {
        margin-left: var(--spacing-6) !important;
        margin-right: var(--spacing-6) !important;
    }

    .mx-xl-7 {
        margin-left: var(--spacing-7) !important;
        margin-right: var(--spacing-7) !important;
    }

    .mx-xl-8 {
        margin-left: var(--spacing-8) !important;
        margin-right: var(--spacing-8) !important;
    }

    .mx-xl-9 {
        margin-left: var(--spacing-9) !important;
        margin-right: var(--spacing-9) !important;
    }

    .mx-xl-10 {
        margin-left: var(--spacing-10) !important;
        margin-right: var(--spacing-10) !important;
    }

    .mx-xl-11 {
        margin-left: var(--spacing-11) !important;
        margin-right: var(--spacing-11) !important;
    }

    .mx-xl-12 {
        margin-left: var(--spacing-12) !important;
        margin-right: var(--spacing-12) !important;
    }

    .mx-xl-13 {
        margin-left: var(--spacing-13) !important;
        margin-right: var(--spacing-13) !important;
    }

    .mx-xl-14 {
        margin-left: var(--spacing-14) !important;
        margin-right: var(--spacing-14) !important;
    }

    .mx-xl-15 {
        margin-left: var(--spacing-15) !important;
        margin-right: var(--spacing-15) !important;
    }

    .mx-xl-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Margin y (top & bottom) */
    .my-xl-0 {
        margin-top: var(--spacing-0) !important;
        margin-bottom: var(--spacing-0) !important;
    }

    .my-xl-1 {
        margin-top: var(--spacing-1) !important;
        margin-bottom: var(--spacing-1) !important;
    }

    .my-xl-2 {
        margin-top: var(--spacing-2) !important;
        margin-bottom: var(--spacing-2) !important;
    }

    .my-xl-3 {
        margin-top: var(--spacing-3) !important;
        margin-bottom: var(--spacing-3) !important;
    }

    .my-xl-4 {
        margin-top: var(--spacing-4) !important;
        margin-bottom: var(--spacing-4) !important;
    }

    .my-xl-5 {
        margin-top: var(--spacing-5) !important;
        margin-bottom: var(--spacing-5) !important;
    }

    .my-xl-6 {
        margin-top: var(--spacing-6) !important;
        margin-bottom: var(--spacing-6) !important;
    }

    .my-xl-7 {
        margin-top: var(--spacing-7) !important;
        margin-bottom: var(--spacing-7) !important;
    }

    .my-xl-8 {
        margin-top: var(--spacing-8) !important;
        margin-bottom: var(--spacing-8) !important;
    }

    .my-xl-9 {
        margin-top: var(--spacing-9) !important;
        margin-bottom: var(--spacing-9) !important;
    }

    .my-xl-10 {
        margin-top: var(--spacing-10) !important;
        margin-bottom: var(--spacing-10) !important;
    }

    .my-xl-11 {
        margin-top: var(--spacing-11) !important;
        margin-bottom: var(--spacing-11) !important;
    }

    .my-xl-12 {
        margin-top: var(--spacing-12) !important;
        margin-bottom: var(--spacing-12) !important;
    }

    .my-xl-13 {
        margin-top: var(--spacing-13) !important;
        margin-bottom: var(--spacing-13) !important;
    }

    .my-xl-14 {
        margin-top: var(--spacing-14) !important;
        margin-bottom: var(--spacing-14) !important;
    }

    .my-xl-15 {
        margin-top: var(--spacing-15) !important;
        margin-bottom: var(--spacing-15) !important;
    }

    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }

    /* Padding */
    .p-xl-0 {
        padding: var(--spacing-0) !important;
    }

    .p-xl-1 {
        padding: var(--spacing-1) !important;
    }

    .p-xl-2 {
        padding: var(--spacing-2) !important;
    }

    .p-xl-3 {
        padding: var(--spacing-3) !important;
    }

    .p-xl-4 {
        padding: var(--spacing-4) !important;
    }

    .p-xl-5 {
        padding: var(--spacing-5) !important;
    }

    .p-xl-6 {
        padding: var(--spacing-6) !important;
    }

    .p-xl-7 {
        padding: var(--spacing-7) !important;
    }

    .p-xl-8 {
        padding: var(--spacing-8) !important;
    }

    .p-xl-9 {
        padding: var(--spacing-9) !important;
    }

    .p-xl-10 {
        padding: var(--spacing-10) !important;
    }

    .p-xl-11 {
        padding: var(--spacing-11) !important;
    }

    .p-xl-12 {
        padding: var(--spacing-12) !important;
    }

    .p-xl-13 {
        padding: var(--spacing-13) !important;
    }

    .p-xl-14 {
        padding: var(--spacing-14) !important;
    }

    .p-xl-15 {
        padding: var(--spacing-15) !important;
    }

    /* Padding x (left & right) */
    .px-xl-0 {
        padding-left: var(--spacing-0) !important;
        padding-right: var(--spacing-0) !important;
    }

    .px-xl-1 {
        padding-left: var(--spacing-1) !important;
        padding-right: var(--spacing-1) !important;
    }

    .px-xl-2 {
        padding-left: var(--spacing-2) !important;
        padding-right: var(--spacing-2) !important;
    }

    .px-xl-3 {
        padding-left: var(--spacing-3) !important;
        padding-right: var(--spacing-3) !important;
    }

    .px-xl-4 {
        padding-left: var(--spacing-4) !important;
        padding-right: var(--spacing-4) !important;
    }

    .px-xl-5 {
        padding-left: var(--spacing-5) !important;
        padding-right: var(--spacing-5) !important;
    }

    .px-xl-6 {
        padding-left: var(--spacing-6) !important;
        padding-right: var(--spacing-6) !important;
    }

    .px-xl-7 {
        padding-left: var(--spacing-7) !important;
        padding-right: var(--spacing-7) !important;
    }

    .px-xl-8 {
        padding-left: var(--spacing-8) !important;
        padding-right: var(--spacing-8) !important;
    }

    .px-xl-9 {
        padding-left: var(--spacing-9) !important;
        padding-right: var(--spacing-9) !important;
    }

    .px-xl-10 {
        padding-left: var(--spacing-10) !important;
        padding-right: var(--spacing-10) !important;
    }

    .px-xl-11 {
        padding-left: var(--spacing-11) !important;
        padding-right: var(--spacing-11) !important;
    }

    .px-xl-12 {
        padding-left: var(--spacing-12) !important;
        padding-right: var(--spacing-12) !important;
    }

    .px-xl-13 {
        padding-left: var(--spacing-13) !important;
        padding-right: var(--spacing-13) !important;
    }

    .px-xl-14 {
        padding-left: var(--spacing-14) !important;
        padding-right: var(--spacing-14) !important;
    }

    .px-xl-15 {
        padding-left: var(--spacing-15) !important;
        padding-right: var(--spacing-15) !important;
    }

    /* Padding y (top & bottom) */
    .py-xl-0 {
        padding-top: var(--spacing-0) !important;
        padding-bottom: var(--spacing-0) !important;
    }

    .py-xl-1 {
        padding-top: var(--spacing-1) !important;
        padding-bottom: var(--spacing-1) !important;
    }

    .py-xl-2 {
        padding-top: var(--spacing-2) !important;
        padding-bottom: var(--spacing-2) !important;
    }

    .py-xl-3 {
        padding-top: var(--spacing-3) !important;
        padding-bottom: var(--spacing-3) !important;
    }

    .py-xl-4 {
        padding-top: var(--spacing-4) !important;
        padding-bottom: var(--spacing-4) !important;
    }

    .py-xl-5 {
        padding-top: var(--spacing-5) !important;
        padding-bottom: var(--spacing-5) !important;
    }

    .py-xl-6 {
        padding-top: var(--spacing-6) !important;
        padding-bottom: var(--spacing-6) !important;
    }

    .py-xl-7 {
        padding-top: var(--spacing-7) !important;
        padding-bottom: var(--spacing-7) !important;
    }

    .py-xl-8 {
        padding-top: var(--spacing-8) !important;
        padding-bottom: var(--spacing-8) !important;
    }

    .py-xl-9 {
        padding-top: var(--spacing-9) !important;
        padding-bottom: var(--spacing-9) !important;
    }

    .py-xl-10 {
        padding-top: var(--spacing-10) !important;
        padding-bottom: var(--spacing-10) !important;
    }

    .py-xl-11 {
        padding-top: var(--spacing-11) !important;
        padding-bottom: var(--spacing-11) !important;
    }

    .py-xl-12 {
        padding-top: var(--spacing-12) !important;
        padding-bottom: var(--spacing-12) !important;
    }

    .py-xl-13 {
        padding-top: var(--spacing-13) !important;
        padding-bottom: var(--spacing-13) !important;
    }

    .py-xl-14 {
        padding-top: var(--spacing-14) !important;
        padding-bottom: var(--spacing-14) !important;
    }

    .py-xl-15 {
        padding-top: var(--spacing-15) !important;
        padding-bottom: var(--spacing-15) !important;
    }
}

/* ============================================ */
/* RESPONSIVE: EXTRA EXTRA LARGE DEVICES (1400px e superiori) */
/* ============================================ */
@media (min-width: 1400px) {
    /* Margin */
    .m-xxl-0 {
        margin: var(--spacing-0) !important;
    }

    .m-xxl-1 {
        margin: var(--spacing-1) !important;
    }

    .m-xxl-2 {
        margin: var(--spacing-2) !important;
    }

    .m-xxl-3 {
        margin: var(--spacing-3) !important;
    }

    .m-xxl-4 {
        margin: var(--spacing-4) !important;
    }

    .m-xxl-5 {
        margin: var(--spacing-5) !important;
    }

    .m-xxl-6 {
        margin: var(--spacing-6) !important;
    }

    .m-xxl-7 {
        margin: var(--spacing-7) !important;
    }

    .m-xxl-8 {
        margin: var(--spacing-8) !important;
    }

    .m-xxl-9 {
        margin: var(--spacing-9) !important;
    }

    .m-xxl-10 {
        margin: var(--spacing-10) !important;
    }

    .m-xxl-11 {
        margin: var(--spacing-11) !important;
    }

    .m-xxl-12 {
        margin: var(--spacing-12) !important;
    }

    .m-xxl-13 {
        margin: var(--spacing-13) !important;
    }

    .m-xxl-14 {
        margin: var(--spacing-14) !important;
    }

    .m-xxl-15 {
        margin: var(--spacing-15) !important;
    }

    .m-xxl-auto {
        margin: auto !important;
    }

    /* Margin top */
    .mt-xxl-0 {
        margin-top: var(--spacing-0) !important;
    }

    .mt-xxl-1 {
        margin-top: var(--spacing-1) !important;
    }

    .mt-xxl-2 {
        margin-top: var(--spacing-2) !important;
    }

    .mt-xxl-3 {
        margin-top: var(--spacing-3) !important;
    }

    .mt-xxl-4 {
        margin-top: var(--spacing-4) !important;
    }

    .mt-xxl-5 {
        margin-top: var(--spacing-5) !important;
    }

    .mt-xxl-6 {
        margin-top: var(--spacing-6) !important;
    }

    .mt-xxl-7 {
        margin-top: var(--spacing-7) !important;
    }

    .mt-xxl-8 {
        margin-top: var(--spacing-8) !important;
    }

    .mt-xxl-9 {
        margin-top: var(--spacing-9) !important;
    }

    .mt-xxl-10 {
        margin-top: var(--spacing-10) !important;
    }

    .mt-xxl-11 {
        margin-top: var(--spacing-11) !important;
    }

    .mt-xxl-12 {
        margin-top: var(--spacing-12) !important;
    }

    .mt-xxl-13 {
        margin-top: var(--spacing-13) !important;
    }

    .mt-xxl-14 {
        margin-top: var(--spacing-14) !important;
    }

    .mt-xxl-15 {
        margin-top: var(--spacing-15) !important;
    }

    .mt-xxl-auto {
        margin-top: auto !important;
    }

    /* Margin x (left & right) */
    .mx-xxl-0 {
        margin-left: var(--spacing-0) !important;
        margin-right: var(--spacing-0) !important;
    }

    .mx-xxl-1 {
        margin-left: var(--spacing-1) !important;
        margin-right: var(--spacing-1) !important;
    }

    .mx-xxl-2 {
        margin-left: var(--spacing-2) !important;
        margin-right: var(--spacing-2) !important;
    }

    .mx-xxl-3 {
        margin-left: var(--spacing-3) !important;
        margin-right: var(--spacing-3) !important;
    }

    .mx-xxl-4 {
        margin-left: var(--spacing-4) !important;
        margin-right: var(--spacing-4) !important;
    }

    .mx-xxl-5 {
        margin-left: var(--spacing-5) !important;
        margin-right: var(--spacing-5) !important;
    }

    .mx-xxl-6 {
        margin-left: var(--spacing-6) !important;
        margin-right: var(--spacing-6) !important;
    }

    .mx-xxl-7 {
        margin-left: var(--spacing-7) !important;
        margin-right: var(--spacing-7) !important;
    }

    .mx-xxl-8 {
        margin-left: var(--spacing-8) !important;
        margin-right: var(--spacing-8) !important;
    }

    .mx-xxl-9 {
        margin-left: var(--spacing-9) !important;
        margin-right: var(--spacing-9) !important;
    }

    .mx-xxl-10 {
        margin-left: var(--spacing-10) !important;
        margin-right: var(--spacing-10) !important;
    }

    .mx-xxl-11 {
        margin-left: var(--spacing-11) !important;
        margin-right: var(--spacing-11) !important;
    }

    .mx-xxl-12 {
        margin-left: var(--spacing-12) !important;
        margin-right: var(--spacing-12) !important;
    }

    .mx-xxl-13 {
        margin-left: var(--spacing-13) !important;
        margin-right: var(--spacing-13) !important;
    }

    .mx-xxl-14 {
        margin-left: var(--spacing-14) !important;
        margin-right: var(--spacing-14) !important;
    }

    .mx-xxl-15 {
        margin-left: var(--spacing-15) !important;
        margin-right: var(--spacing-15) !important;
    }

    .mx-xxl-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Padding */
    .p-xxl-0 {
        padding: var(--spacing-0) !important;
    }

    .p-xxl-1 {
        padding: var(--spacing-1) !important;
    }

    .p-xxl-2 {
        padding: var(--spacing-2) !important;
    }

    .p-xxl-3 {
        padding: var(--spacing-3) !important;
    }

    .p-xxl-4 {
        padding: var(--spacing-4) !important;
    }

    .p-xxl-5 {
        padding: var(--spacing-5) !important;
    }

    .p-xxl-6 {
        padding: var(--spacing-6) !important;
    }

    .p-xxl-7 {
        padding: var(--spacing-7) !important;
    }

    .p-xxl-8 {
        padding: var(--spacing-8) !important;
    }

    .p-xxl-9 {
        padding: var(--spacing-9) !important;
    }

    .p-xxl-10 {
        padding: var(--spacing-10) !important;
    }

    .p-xxl-11 {
        padding: var(--spacing-11) !important;
    }

    .p-xxl-12 {
        padding: var(--spacing-12) !important;
    }

    .p-xxl-13 {
        padding: var(--spacing-13) !important;
    }

    .p-xxl-14 {
        padding: var(--spacing-14) !important;
    }

    .p-xxl-15 {
        padding: var(--spacing-15) !important;
    }

    /* Padding y (top & bottom) */
    .py-xxl-0 {
        padding-top: var(--spacing-0) !important;
        padding-bottom: var(--spacing-0) !important;
    }

    .py-xxl-1 {
        padding-top: var(--spacing-1) !important;
        padding-bottom: var(--spacing-1) !important;
    }

    .py-xxl-2 {
        padding-top: var(--spacing-2) !important;
        padding-bottom: var(--spacing-2) !important;
    }

    .py-xxl-3 {
        padding-top: var(--spacing-3) !important;
        padding-bottom: var(--spacing-3) !important;
    }

    .py-xxl-4 {
        padding-top: var(--spacing-4) !important;
        padding-bottom: var(--spacing-4) !important;
    }

    .py-xxl-5 {
        padding-top: var(--spacing-5) !important;
        padding-bottom: var(--spacing-5) !important;
    }

    .py-xxl-6 {
        padding-top: var(--spacing-6) !important;
        padding-bottom: var(--spacing-6) !important;
    }

    .py-xxl-7 {
        padding-top: var(--spacing-7) !important;
        padding-bottom: var(--spacing-7) !important;
    }

    .py-xxl-8 {
        padding-top: var(--spacing-8) !important;
        padding-bottom: var(--spacing-8) !important;
    }

    .py-xxl-9 {
        padding-top: var(--spacing-9) !important;
        padding-bottom: var(--spacing-9) !important;
    }

    .py-xxl-10 {
        padding-top: var(--spacing-10) !important;
        padding-bottom: var(--spacing-10) !important;
    }

    .py-xxl-11 {
        padding-top: var(--spacing-11) !important;
        padding-bottom: var(--spacing-11) !important;
    }

    .py-xxl-12 {
        padding-top: var(--spacing-12) !important;
        padding-bottom: var(--spacing-12) !important;
    }

    .py-xxl-13 {
        padding-top: var(--spacing-13) !important;
        padding-bottom: var(--spacing-13) !important;
    }

    .py-xxl-14 {
        padding-top: var(--spacing-14) !important;
        padding-bottom: var(--spacing-14) !important;
    }

    .py-xxl-15 {
        padding-top: var(--spacing-15) !important;
        padding-bottom: var(--spacing-15) !important;
    }
}

/*************** fine margini *****************/


/* Dimensione del testo */
.text-1 {
    font-size: var(--font-size-1) !important;
}

.text-2 {
    font-size: var(--font-size-2) !important;
}

.text-3 {
    font-size: var(--font-size-3) !important;
}

.text-4 {
    font-size: var(--font-size-4) !important;
}

.text-5 {
    font-size: var(--font-size-5) !important;
}

.text-6 {
    font-size: var(--font-size-6) !important;
}

.text-7 {
    font-size: var(--font-size-7) !important;
}

.text-8 {
    font-size: var(--font-size-8) !important;
}

.text-9 {
    font-size: var(--font-size-9) !important;
}

.text-10 {
    font-size: var(--font-size-10) !important;
}

.text-11 {
    font-size: var(--font-size-11) !important;
}

.text-12 {
    font-size: var(--font-size-12) !important;
}

.text-13 {
    font-size: var(--font-size-13) !important;
}

.text-14 {
    font-size: var(--font-size-14) !important;
}

.text-15 {
    font-size: var(--font-size-15) !important;
}

/* Nomi semantici per dimensioni comuni */
.text-xs {
    font-size: var(--font-size-1) !important; /* 12px */
}

.text-sm {
    font-size: var(--font-size-2) !important; /* 14px */
}

.text-base {
    font-size: var(--font-size-3) !important; /* 16px */
}

.text-lg {
    font-size: var(--font-size-5) !important; /* 20px */
}

.text-xl {
    font-size: var(--font-size-6) !important; /* 24px */
}

.text-2xl {
    font-size: var(--font-size-8) !important; /* 32px */
}

.text-3xl {
    font-size: var(--font-size-10) !important; /* 40px */
}

.text-4xl {
    font-size: var(--font-size-12) !important; /* 56px */
}

.text-5xl {
    font-size: var(--font-size-15) !important; /* 80px */
}

/* Altezza della linea */
.leading-none {
    line-height: 1 !important;
}

.leading-tight {
    line-height: 1.25 !important;
}

.leading-snug {
    line-height: 1.375 !important;
}

.leading-normal {
    line-height: 1.5 !important;
}

.leading-relaxed {
    line-height: 1.625 !important;
}

.leading-loose {
    line-height: 2 !important;
}

/* Peso del font */
.font-thin {
    font-weight: 100 !important;
}

.font-extralight {
    font-weight: 200 !important;
}

.font-light {
    font-weight: 300 !important;
}

.font-normal {
    font-weight: 400 !important;
}

.font-medium {
    font-weight: 500 !important;
}

.font-semibold {
    font-weight: 600 !important;
}

.font-bold {
    font-weight: 700 !important;
}

.font-extrabold {
    font-weight: 800 !important;
}

.font-black {
    font-weight: 900 !important;
}

/* Allineamento del testo */
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-justify {
    text-align: justify !important;
}

/* Trasformazione del testo */
.text-uppercase {
    text-transform: uppercase !important;
}

.text-lowercase {
    text-transform: lowercase !important;
}

.text-capitalize {
    text-transform: capitalize !important;
}

.text-normal-case {
    text-transform: none !important;
}

.btn-form-blue {
    background-color: #263340;
    color: white;
}


/* ============================================ */
/* RESPONSIVE: SMALL DEVICES (576px e superiori) */
/* ============================================ */
@media (min-width: 576px) {
    /* Dimensione del testo */
    .text-sm-1 {
        font-size: var(--font-size-1) !important;
    }

    .text-sm-2 {
        font-size: var(--font-size-2) !important;
    }

    .text-sm-3 {
        font-size: var(--font-size-3) !important;
    }

    .text-sm-4 {
        font-size: var(--font-size-4) !important;
    }

    .text-sm-5 {
        font-size: var(--font-size-5) !important;
    }

    .text-sm-6 {
        font-size: var(--font-size-6) !important;
    }

    .text-sm-7 {
        font-size: var(--font-size-7) !important;
    }

    .text-sm-8 {
        font-size: var(--font-size-8) !important;
    }

    .text-sm-9 {
        font-size: var(--font-size-9) !important;
    }

    .text-sm-10 {
        font-size: var(--font-size-10) !important;
    }

    .text-sm-11 {
        font-size: var(--font-size-11) !important;
    }

    .text-sm-12 {
        font-size: var(--font-size-12) !important;
    }

    .text-sm-13 {
        font-size: var(--font-size-13) !important;
    }

    .text-sm-14 {
        font-size: var(--font-size-14) !important;
    }

    .text-sm-15 {
        font-size: var(--font-size-15) !important;
    }

    /* Nomi semantici per dimensioni comuni */
    .text-sm-xs {
        font-size: var(--font-size-1) !important;
    }

    .text-sm-sm {
        font-size: var(--font-size-2) !important;
    }

    .text-sm-base {
        font-size: var(--font-size-3) !important;
    }

    .text-sm-lg {
        font-size: var(--font-size-5) !important;
    }

    .text-sm-xl {
        font-size: var(--font-size-6) !important;
    }

    .text-sm-2xl {
        font-size: var(--font-size-8) !important;
    }

    .text-sm-3xl {
        font-size: var(--font-size-10) !important;
    }

    .text-sm-4xl {
        font-size: var(--font-size-12) !important;
    }

    .text-sm-5xl {
        font-size: var(--font-size-15) !important;
    }

    /* Allineamento del testo responsive */
    .text-sm-left {
        text-align: left !important;
    }

    .text-sm-center {
        text-align: center !important;
    }

    .text-sm-right {
        text-align: right !important;
    }

    .text-sm-justify {
        text-align: justify !important;
    }
}

/* ============================================ */
/* RESPONSIVE: MEDIUM DEVICES (768px e superiori) */
/* ============================================ */
@media (min-width: 768px) {
    /* Dimensione del testo */
    .text-md-1 {
        font-size: var(--font-size-1) !important;
    }

    .text-md-2 {
        font-size: var(--font-size-2) !important;
    }

    .text-md-3 {
        font-size: var(--font-size-3) !important;
    }

    .text-md-4 {
        font-size: var(--font-size-4) !important;
    }

    .text-md-5 {
        font-size: var(--font-size-5) !important;
    }

    .text-md-6 {
        font-size: var(--font-size-6) !important;
    }

    .text-md-7 {
        font-size: var(--font-size-7) !important;
    }

    .text-md-8 {
        font-size: var(--font-size-8) !important;
    }

    .text-md-9 {
        font-size: var(--font-size-9) !important;
    }

    .text-md-10 {
        font-size: var(--font-size-10) !important;
    }

    .text-md-11 {
        font-size: var(--font-size-11) !important;
    }

    .text-md-12 {
        font-size: var(--font-size-12) !important;
    }

    .text-md-13 {
        font-size: var(--font-size-13) !important;
    }

    .text-md-14 {
        font-size: var(--font-size-14) !important;
    }

    .text-md-15 {
        font-size: var(--font-size-15) !important;
    }

    /* Nomi semantici per dimensioni comuni */
    .text-md-xs {
        font-size: var(--font-size-1) !important;
    }

    .text-md-sm {
        font-size: var(--font-size-2) !important;
    }

    .text-md-base {
        font-size: var(--font-size-3) !important;
    }

    .text-md-lg {
        font-size: var(--font-size-5) !important;
    }

    .text-md-xl {
        font-size: var(--font-size-6) !important;
    }

    .text-md-2xl {
        font-size: var(--font-size-8) !important;
    }

    .text-md-3xl {
        font-size: var(--font-size-10) !important;
    }

    .text-md-4xl {
        font-size: var(--font-size-12) !important;
    }

    .text-md-5xl {
        font-size: var(--font-size-15) !important;
    }

    /* Allineamento del testo responsive */
    .text-md-left {
        text-align: left !important;
    }

    .text-md-center {
        text-align: center !important;
    }

    .text-md-right {
        text-align: right !important;
    }

    .text-md-justify {
        text-align: justify !important;
    }
}

/* ============================================ */
/* RESPONSIVE: LARGE DEVICES (992px e superiori) */
/* ============================================ */
@media (min-width: 992px) {
    /* Dimensione del testo */
    .text-lg-1 {
        font-size: var(--font-size-1) !important;
    }

    .text-lg-2 {
        font-size: var(--font-size-2) !important;
    }

    .text-lg-3 {
        font-size: var(--font-size-3) !important;
    }

    .text-lg-4 {
        font-size: var(--font-size-4) !important;
    }

    .text-lg-5 {
        font-size: var(--font-size-5) !important;
    }

    .text-lg-6 {
        font-size: var(--font-size-6) !important;
    }

    .text-lg-7 {
        font-size: var(--font-size-7) !important;
    }

    .text-lg-8 {
        font-size: var(--font-size-8) !important;
    }

    .text-lg-9 {
        font-size: var(--font-size-9) !important;
    }

    .text-lg-10 {
        font-size: var(--font-size-10) !important;
    }

    .text-lg-11 {
        font-size: var(--font-size-11) !important;
    }

    .text-lg-12 {
        font-size: var(--font-size-12) !important;
    }

    .text-lg-13 {
        font-size: var(--font-size-13) !important;
    }

    .text-lg-14 {
        font-size: var(--font-size-14) !important;
    }

    .text-lg-15 {
        font-size: var(--font-size-15) !important;
    }

    /* Nomi semantici per dimensioni comuni */
    .text-lg-xs {
        font-size: var(--font-size-1) !important;
    }

    .text-lg-sm {
        font-size: var(--font-size-2) !important;
    }

    .text-lg-base {
        font-size: var(--font-size-3) !important;
    }

    .text-lg-lg {
        font-size: var(--font-size-5) !important;
    }

    .text-lg-xl {
        font-size: var(--font-size-6) !important;
    }

    .text-lg-2xl {
        font-size: var(--font-size-8) !important;
    }

    .text-lg-3xl {
        font-size: var(--font-size-10) !important;
    }

    .text-lg-4xl {
        font-size: var(--font-size-12) !important;
    }

    .text-lg-5xl {
        font-size: var(--font-size-15) !important;
    }

    /* Allineamento del testo responsive */
    .text-lg-left {
        text-align: left !important;
    }

    .text-lg-center {
        text-align: center !important;
    }

    .text-lg-right {
        text-align: right !important;
    }

    .text-lg-justify {
        text-align: justify !important;
    }
}

/* ============================================ */
/* RESPONSIVE: EXTRA LARGE DEVICES (1200px e superiori) */
/* ============================================ */
@media (min-width: 1200px) {
    /* Dimensione del testo */
    .text-xl-1 {
        font-size: var(--font-size-1) !important;
    }

    .text-xl-2 {
        font-size: var(--font-size-2) !important;
    }

    .text-xl-3 {
        font-size: var(--font-size-3) !important;
    }

    .text-xl-4 {
        font-size: var(--font-size-4) !important;
    }

    .text-xl-5 {
        font-size: var(--font-size-5) !important;
    }

    .text-xl-6 {
        font-size: var(--font-size-6) !important;
    }

    .text-xl-7 {
        font-size: var(--font-size-7) !important;
    }

    .text-xl-8 {
        font-size: var(--font-size-8) !important;
    }

    .text-xl-9 {
        font-size: var(--font-size-9) !important;
    }

    .text-xl-10 {
        font-size: var(--font-size-10) !important;
    }

    .text-xl-11 {
        font-size: var(--font-size-11) !important;
    }

    .text-xl-12 {
        font-size: var(--font-size-12) !important;
    }

    .text-xl-13 {
        font-size: var(--font-size-13) !important;
    }

    .text-xl-14 {
        font-size: var(--font-size-14) !important;
    }

    .text-xl-15 {
        font-size: var(--font-size-15) !important;
    }

    /* Nomi semantici per dimensioni comuni */
    .text-xl-xs {
        font-size: var(--font-size-1) !important;
    }

    .text-xl-sm {
        font-size: var(--font-size-2) !important;
    }

    .text-xl-base {
        font-size: var(--font-size-3) !important;
    }

    .text-xl-lg {
        font-size: var(--font-size-5) !important;
    }

    .text-xl-xl {
        font-size: var(--font-size-6) !important;
    }

    .text-xl-2xl {
        font-size: var(--font-size-8) !important;
    }

    .text-xl-3xl {
        font-size: var(--font-size-10) !important;
    }

    .text-xl-4xl {
        font-size: var(--font-size-12) !important;
    }

    .text-xl-5xl {
        font-size: var(--font-size-15) !important;
    }

    /* Allineamento del testo responsive */
    .text-xl-left {
        text-align: left !important;
    }

    .text-xl-center {
        text-align: center !important;
    }

    .text-xl-right {
        text-align: right !important;
    }

    .text-xl-justify {
        text-align: justify !important;
    }
}

/* ============================================ */
/* RESPONSIVE: EXTRA EXTRA LARGE DEVICES (1400px e superiori) */
/* ============================================ */
@media (min-width: 1400px) {
    /* Dimensione del testo */
    .text-xxl-1 {
        font-size: var(--font-size-1) !important;
    }

    .text-xxl-2 {
        font-size: var(--font-size-2) !important;
    }

    .text-xxl-3 {
        font-size: var(--font-size-3) !important;
    }

    .text-xxl-4 {
        font-size: var(--font-size-4) !important;
    }

    .text-xxl-5 {
        font-size: var(--font-size-5) !important;
    }

    .text-xxl-6 {
        font-size: var(--font-size-6) !important;
    }

    .text-xxl-7 {
        font-size: var(--font-size-7) !important;
    }

    .text-xxl-8 {
        font-size: var(--font-size-8) !important;
    }

    .text-xxl-9 {
        font-size: var(--font-size-9) !important;
    }

    .text-xxl-10 {
        font-size: var(--font-size-10) !important;
    }

    .text-xxl-11 {
        font-size: var(--font-size-11) !important;
    }

    .text-xxl-12 {
        font-size: var(--font-size-12) !important;
    }

    .text-xxl-13 {
        font-size: var(--font-size-13) !important;
    }

    .text-xxl-14 {
        font-size: var(--font-size-14) !important;
    }

    .text-xxl-15 {
        font-size: var(--font-size-15) !important;
    }

    /* Nomi semantici per dimensioni comuni */
    .text-xxl-xs {
        font-size: var(--font-size-1) !important;
    }

    .text-xxl-sm {
        font-size: var(--font-size-2) !important;
    }

    .text-xxl-base {
        font-size: var(--font-size-3) !important;
    }

    .text-xxl-lg {
        font-size: var(--font-size-5) !important;
    }

    .text-xxl-xl {
        font-size: var(--font-size-6) !important;
    }

    .text-xxl-2xl {
        font-size: var(--font-size-8) !important;
    }

    .text-xxl-3xl {
        font-size: var(--font-size-10) !important;
    }

    .text-xxl-4xl {
        font-size: var(--font-size-12) !important;
    }

    .text-xxl-5xl {
        font-size: var(--font-size-15) !important;
    }

    /* Allineamento del testo responsive */
    .text-xxl-left {
        text-align: left !important;
    }

    .text-xxl-center {
        text-align: center !important;
    }

    .text-xxl-right {
        text-align: right !important;
    }

    .text-xxl-justify {
        text-align: justify !important;
    }
}
