:root {
    /* Colori Moovio */
    --moovio-dark-blue: #243c54;
    --moovio-blue: #2471B8;
    --moovio-ligh-blue: #1AB2E8;
    --moovio-white: #ffffff;
    --moovio-black: #000000;
    --moovio-yellow: #F3A712;
    --moovio-light-yellow: #FDC900;
}

body {
    background-color: #f8f9fa;
    padding-bottom: 60px;
}

.login-card {
    max-width: 400px;
    width: 100%;
    border: none;
    border-radius: 10px;
}

.login-logo {
    max-width: 200px;
    height: auto;
}

.footer-link img {
    opacity: 0.8;
    transition: opacity 0.3s;
}

    .footer-link img:hover {
        opacity: 1;
    }

.navbar-nav .nav-link.active {
    background: linear-gradient(180deg, rgba(233, 236, 239, 0.5) 0%, rgba(233, 236, 239, 1) 100%);
    border-radius: 0.25rem;
    font-weight: bold;
    /* Ensures bold if fw-bold is somehow overridden or missing */
}

/* Footer Styling */
.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 40px;
    font-size: small;
    background-color: #f8f9fa;
    /* Matches standard bootstrap bg */
    z-index: 1030;
    /* Ensure it stays on top of content if overlapped */
}

/*CSS PERSONALIZZATO*/

.bg-pattern {
    /* Percorso dell'immagine */
    background-image: url('/img/logoPatternS.png');
    /* Imposta la ripetizione su entrambi gli assi (default) */
    background-repeat: repeat;
    /* Opzionale: assicura che lo sfondo parta dall'angolo in alto a sinistra */
    background-position: top left;
    /* Opzionale: mantiene la dimensione originale del pattern o la forza */
    background-size: auto;
}

.bg-moovio-base {
    background-color: var(--moovio-dark-blue) !important;
}

.btn-moovio-base {
    background: var(--moovio-blue);
    cursor: pointer; 
    transition: background-color 0.3s ease; 
    color: #ffffff
}
.btn-moovio-base:hover {
    background: var(--moovio-ligh-blue);
    color: #ffffff
}

.btn-moovio-warning {
    background: var(--moovio-yellow);
    cursor: pointer;
    transition: background-color 0.3s ease;
    color: #ffffff
}

    .btn-moovio-warning:hover {
        background: var(--moovio-light-yellow);
        color: #ffffff
    }

.activeItem {
    background-color: var(--moovio-blue) !important;
}

.activeItemSub {
    background-color: var(--moovio-blue) !important;
    color:var(--moovio-white) !important;
}

.table-moovio-base {
    background-color: var(--moovio-dark-blue) !important;
    color: white;
}

/* Contenitore dello scroller */
.nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
    background-color: #fff; /* O il colore che preferisci */
}

    /* Forza la riga unica e abilita lo scroll */
    .nav-scroller .nav {
        display: flex;
        flex-wrap: nowrap;
        padding-bottom: 1rem;
        margin-top: -1px;
        overflow-x: auto;
        text-align: center;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch; /* Scroll fluido su iPhone */
    }

    .nav-scroller .nav-link {
        padding-top: .75rem;
        padding-bottom: .75rem;
        font-size: .875rem;
    }



@media (min-width: 991.98px) {
    .navbar-collapse {
        display: flex !important;
        overflow-x: auto !important;
        /* Questo rende il movimento fluido via hardware */
        scroll-behavior: smooth;
        /* Ottimizzazione per il rendering */
        will-change: scroll-position;
    }

    /* Nascondi la scrollbar coś sembra un menu magico */
    .navbar-collapse::-webkit-scrollbar {
        display: none;
    }
    .navbar-collapse {
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;  /* Firefox */
    }

    .navbar-nav {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .userWeb {
        display: flex !important;
    }

    .userMobile {
        display: none !important;
    }
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        /* Imposta l'altezza massima (es. 300px o 50vh per metà schermo) */
        max-height: 350px;
        overflow-y: auto; /* Attiva lo scroll verticale */
        padding:10px;
    }
        /* Estetica della scrollbar interna (opzionale) */
        .navbar-collapse::-webkit-scrollbar {
            width: 5px;
        }

        .navbar-collapse::-webkit-scrollbar-thumb {
            background: rgba(255,255,255,0.2);
            border-radius: 10px;
        }

    .userWeb {
        display: none !important;
    }

    .userMobile {
        display: block !important;
    }
}

/*DYNAMIC TABLE*/
.table-container {
    width: 100%;
    overflow-x: auto; /* Attiva lo scorrimento orizzontale se necessario */
    -webkit-overflow-scrolling: touch; /* Rende lo scorrimento fluido su mobile */
}
.dynamicTable {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px; /* Opzionale: garantisce che la tabella non diventi troppo stretta */
}
