/* Fix per bounce scrolling su mobile */

/* Disabilita il bounce scrolling su iOS e Android */
html {
    height: 100%;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    /* Disabilita il bounce scrolling su iOS */
    overscroll-behavior: none;
    -webkit-overscroll-behavior: none;
}

body {
    height: 100%;
    min-height: 100vh;
    overflow-x: hidden;
    /* Disabilita il bounce scrolling */
    overscroll-behavior: none;
    -webkit-overscroll-behavior: none;
    /* Previene lo scroll orizzontale */
    position: relative;
}

/* Fix specifico per mobile */
@media screen and (max-width: 900px) {
    html {
        /* Disabilita completamente il bounce scrolling */
        overscroll-behavior-y: none;
        -webkit-overscroll-behavior-y: none;
        /* Previene lo scroll oltre i limiti */
        overflow-y: auto;
        overflow-x: hidden;
    }
    
    body {
        /* Altezza minima per evitare spazi bianchi */
        min-height: 100vh;
        min-height: -webkit-fill-available;
        /* Disabilita il bounce scrolling verticale */
        overscroll-behavior-y: none;
        -webkit-overscroll-behavior-y: none;
        /* Previene lo scroll orizzontale */
        overflow-x: hidden;
        /* Posizionamento per evitare spazi */
        position: relative;
    }
    
    /* Assicura che il body abbia la struttura flexbox corretta */
    body {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        min-height: -webkit-fill-available;
    }
    
    /* Contenuto principale che cresce per riempire lo spazio */
    .header + * {
        flex: 1;
    }
    
    /* Footer sempre in fondo */
    .footer {
        margin-top: auto;
        flex-shrink: 0;
    }
    
    /* Previene elementi che escono dai bordi */
    * {
        max-width: 100vw;
        box-sizing: border-box;
    }
    
    /* Fix per container che potrebbero causare overflow */
    .container {
        max-width: 100%;
        overflow-x: hidden;
    }
    
    /* Disabilita il pull-to-refresh su alcuni browser */
    body {
        overscroll-behavior-y: contain;
        -webkit-overscroll-behavior-y: contain;
    }
}

/* Fix per Safari iOS */
@supports (-webkit-touch-callout: none) {
    html {
        height: -webkit-fill-available;
    }
    
    body {
        min-height: -webkit-fill-available;
        /* Disabilita il bounce scrolling su Safari */
        -webkit-overflow-scrolling: auto;
        overscroll-behavior: none;
    }
}

/* Fix per Chrome mobile */
@media screen and (max-width: 900px) {
    html {
        /* Previene il bounce scrolling */
        overscroll-behavior: contain;
    }
    
    body {
        /* Previene il bounce scrolling */
        overscroll-behavior: contain;
        /* Assicura che il body occupi tutto lo spazio */
        min-height: 100vh;
        min-height: 100dvh; /* Dynamic viewport height per browser moderni */
    }
}
