html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* --- NUOVO LAYOUT FLESSIBILE (Risolve il problema dello scrolling) --- */
html, body {
    height: 100%; /* Occupa tutta l'altezza della finestra */
}

body {
    display: flex; /* Attiva il layout flessibile */
    flex-direction: column; /* Dispone gli elementi in colonna (Header, Contenuto, Footer) */
    margin-bottom: 0; /* Rimuove il vecchio margine che creava spazio vuoto */
}

    /* Fa in modo che il contenitore principale si espanda per riempire lo spazio vuoto,
   spingendo il footer in basso, ma permettendo lo scroll se serve. */
    body > .container {
        flex: 1 0 auto;
    }

/* =======================================================
   CORREZIONE GLOBALE CAMPI DI INPUT (STILE CLASSICO)
   ======================================================= */

/* 1. Stato Normale: Bordo su tutti e 4 i lati + SPAZIO INTERNO MAGGIORE */
.form-control, .form-select, .input-group-text {
    border: 1px solid #adb5bd !important; /* Bordo grigio visibile */
    border-radius: 0.25rem !important; /* Angoli leggermente arrotondati */
    background-color: #fff !important; /* Assicura sfondo bianco */
    box-shadow: none; /* Rimuove ombre strane del tema */
    /* AGGIUNTO: Aumenta lo spazio interno a sinistra e destra */
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

    /* 2. Stato Focus (Quando il campo è attivo) */
    .form-control:focus, .form-select:focus {
        background-color: #fff9e6 !important; /* Sfondo Giallo Tenue */
        border-color: #86b7fe !important; /* Bordo Azzurro */
        color: #000 !important; /* Testo nero */
        box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15) !important; /* Alone azzurro esterno */
        outline: 0;
    }

/* 3. Etichette (Labels) */
.form-label {
    color: #495057;
    font-weight: 600; /* Leggermente in grassetto per leggibilità */
    margin-bottom: 0.5rem;
}

/* 4. Campi Disabilitati (Grigetti) */
.form-control:disabled, .form-select:disabled {
    background-color: #e9ecef !important;
    border-color: #ced4da !important;
    opacity: 1;
}

/* 5. Input Group Text (Le icone € o altro accanto ai campi) */
.input-group-text {
    background-color: #e9ecef;
    color: #495057;
}

/* =======================================================
   NUOVO STILE FOOTER (Compatto e Dinamico)
   ======================================================= */
footer {
    /* Rimuoviamo il posizionamento assoluto che bloccava lo scroll */
    position: relative !important;
    flex-shrink: 0; /* Impedisce al footer di schiacciarsi */
    width: 100%;
    /* Risolviamo il problema delle righe distanti */
    white-space: normal !important; /* Permette al testo di andare a capo normalmente */
    line-height: 1.5 !important; /* Interlinea normale invece di 60px */
    /* Riduciamo le dimensioni per renderlo meno invadente */
    padding-top: 1.5rem !important; /* Riduciamo il padding verticale */
    padding-bottom: 1.5rem !important;
    font-size: 0.9rem; /* Testo leggermente più piccolo ed elegante */
}
