:root {
    /* Colori Primari (Brand) */
    --primary-color: #004a99;
    /* Blu istituzionale principale */
    --primary-dark: #003366;
    /* Per hover sui bottoni */
    --primary-light: #e6f0ff;
    /* Sfondi per badge o elementi evidenziati */

    /* Colori di Stato (Feedback Operazioni) */
    --success-color: #28a745;
    /* Per "operazione eseguita correttamente" */
    --error-color: #dc3545;
    /* Per "qualcosa è andato storto" */
    --warning-color: #ffc107;
    /* Per avvisi (es. saldo in esaurimento) */

    /* Toni di Grigio e Sfondi */
    --bg-light: #f8f9fa;
    /* Sfondo generale della pagina */
    --text-main: #212529;
    /* Testo principale (quasi nero) */
    --text-muted: #6c757d;
    /* Testo secondario (es. descrizioni prodotti) */
    --border-color: #dee2e6;
    /* Bordi di card e menu */
    --white: #ffffff;

    /* Variabili per componenti Mobile */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-app: 0 -2px 10px rgba(0, 0, 0, 0.1);
    /* Per il footer mobile */
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-light);
    /* Prevenzione sovrapposizione col footer mobile */
    padding-bottom: 75px;
    padding-bottom: 0;
}

.header-custom {
    background-color: #ffffff;
    border-bottom: 1px solid #dee2e6;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* Desktop specific padding */
/* @media (min-width: 768px) {
    body {
        
    }
} */

main {
    margin-bottom: 20px;
}




.navbar-brand img {
    max-height: 45px;
    width: auto;
    object-fit: contain;
}

/* Wrapper principale che racchiude contenuto + menu mobile */
.page-wrapper {
    min-height: 100vh;
    /* Occupa almeno tutta l'altezza dello schermo */
    display: flex;
    flex-direction: column;
}

main {
    flex: 1 0 auto;
    padding-bottom: 90px;
    /* Spinge il menu verso il basso se c'è poco contenuto */
}

/* Modifiche al footer-app (Menu Mobile) */
/* .footer-app {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    // Higher than Bootstrap sticky-top
    background-color: #fff;
    box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.1);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    padding-bottom: env(safe-area-inset-bottom);
    // Fix for iPhone Notch/Home bar
}
*/

/* Rendi il footer visibile su mobile e ottimizzato */
.footer {
    position: relative;
    /* z-index: 1010; */
}

.active {
    color: var(--primary-color);
}