/* ================================
   Responsive Mobile (Tablet e Smartphone)
   ================================ */

/* Tablet e smartphone grandi */
@media (max-width: 768px) {
    body { padding: 5px; }

    .container {
        max-width: 100%;
        width: 100%;
        padding: 0 5px;
    }

    .main-table {
        width: 100%;
        font-size: 12px;
    }

    .main-table td { padding: 3px; }

    .pdf-cell {
        padding: 3px;
        text-align: center;
    }

    .pdf-cell img {
        width: 30vw;
        height: auto !important;
        display: inline-block;
        margin: 0 auto;
    }

    .full-width-img {
        width: 100%;
        height: auto !important;
    }

    /* Login form */
    .login-row { display: block; }
    .login-row td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .login-cell { width: 100%; }
    .login-cell input[type="text"],
    .login-cell input[type="password"] {
        width: 90%;
        max-width: 300px;
        margin: 5px auto;
        display: block;
        box-sizing: border-box;
    }

    .login-cell input[type="submit"] {
        display: inline-block;
        margin-top: 6px;
    }

    .button-container button {
        width: 100%;
        font-size: 14px;
        padding: 8px 0;
    }
} /* chiusura media 768px */

/* Smartphone verticali piccoli 480px
@media (max-width: 480px) {
    .container { padding: 5px; }
    .main-table { 
        font-size: 12px; 
        table-layout: auto !important;
        width: auto !important;
        max-width: 100%;
    }

    .button-container button {
        width: auto; /* non occupa tutta la larghezza 
        padding: 8px;
    }
}
/* chiusura media 480px */

@media (max-width: 480px) { 
    .container { 
        padding: 5px; 
    }

    .main-table { 
        font-size: 12px; 
        table-layout: auto !important;
        width: 100% !important;    
        max-width: 100%;
    }

    .main-table td, 
    .main-table th {
        word-wrap: break-word;
        word-break: break-word;
        white-space: normal;      /* il testo va a capo */
        padding-left: 8px;        /* padding a sinistra */
        padding-right: 8px;       /* padding a destra */
    }

    .button-container {
        text-align: center;       /* centra il contenuto */
    }

    .button-container button {
        display: inline-block;    /* grande quanto il contenuto */
        width: auto;              /* NON si allunga */
        padding: 8px;             /* padding uguale su tutti i lati */
    }
}

/* Footer piccolo per mobile */
@media (max-width: 600px) {
    footer {
        font-size: 0.8em;
        padding: 8px;
        text-align: left !important;
    }
} /* chiusura media 600px */
