/* Impostazioni di base */
body {
    font-family: Arial, sans-serif;
    background-color: #fffff;
    background-image: url(imgsite/bghome.jpg);
    margin: 0; /* Elimina i margini di default del body */
    padding: 0; /* Elimina i padding di default del body */
    background-size: cover; /* Adatta l'immagine per coprire tutta l'area */
    background-repeat: no-repeat; /* Evita la ripetizione dell'immagine */
    background-position: center; /* Centra l'immagine */
    height: 100vh;
    color: #333;
    margin: auto;
 
    
}
.page{
    width: 1000px;
    margin: auto;
    margin-top: 150px;
    padding: 20px;
    padding-right: 50px;
    background-color:#f7fafc;
}
.info{
    color: #6d6c6c;
}

/* Stile per l'header */
header {
    background-color: #0074D4;
    color: white;
    padding: 30px;
    text-align: center;
    padding: 10px;
}

/* Stile per i contenuti principali */
main {
    padding: 20px;
    margin: 20px auto;
    max-width: 80%;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Stile per i titoli */
h1, h2, h3 {
    color: #0074D4;
;
}

header h1, header h2, header h3 {
    color: white;
}

/* Stile per i link */
a {
    color: #0074D4;
    text-decoration: none;
}


/* Stile per i pulsanti */
button, .button {
    background-color: #0074D4;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    display: inline-block;
}

button:hover, .button:hover {
    background-color: #f9a600;
}
/*  stile pannello di controllo  */

.qr-details a {
    padding: 10px 20px 10px 20px;
    background-color: #0074d4;
    border-radius: 5px;
    font-size: 20px;
    color: white !important;

}
.qr-details a:hover {
   
    background-color: #0ed300;
    text-decoration:none !important;
    
    
}

.qr-titolo{
    color: #007bff;
    font-size: 30px;
    margin: 30px;
}

.qr-container {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-top: 20px;
        }

        .qr-item {

            display: flex;
            flex-direction: column;
            align-items: center;
            border: 1px solid #ccc;
            padding: 20px;
            border-radius: 8px;
            width: calc(50% - 40px); /* 2 colonne con spazi */
            box-sizing: border-box;
        }

        .qr-admin-item {

            display: flex;
            flex-direction: column;
            align-items: center;
            border: 1px solid #ccc;
            padding: 20px;
            border-radius: 8px;
            width: calc(25% - 40px); /* 2 colonne con spazi */
            box-sizing: border-box;
        }

        .qr-admin-item img {
            width: 90%;
            border-radius: 30px;
            border: solid 5px #0074D4;
            margin-bottom: 10px;
        }

        .qr-admin-item a {
            margin-top: 10px;
            text-decoration: none;
            color: #007bff;
        }

        .qr-admin-item a:hover {
            text-decoration: underline;
        }

        .qr-item img {
            width: 90%;
            border-radius: 30px;
            border: solid 5px #0074D4;
            margin-bottom: 10px;
        }
        .qr-item img.fav {

            border-radius:64px;
            border:none !important;
            margin-bottom: 10px;
            width: 128px; 
            height: 128px;
        }

        .qr-item a {
            margin-top: 10px;
            text-decoration: none;
            color: #007bff;
        }

        .qr-item a:hover {
            text-decoration: underline;
        }

        .qr-details {
            text-align: center;
            margin-top: 20px;
            margin-bottom: 20px;
        }

         /* Stili responsivi per schermi piccoli */
        @media (max-width: 1000px) {
            input[type="text"], input[type="password"], input[type="submit"] {
                font-size: 40px;
                padding: 18px;
            }

            h1 {
                font-size: 44px;
            }

            .page {
                padding: 30px;
                padding-right: 40px;
                width: 80%;
            }
            .logout {
                font-size: 40px;
            }
            .qr-details a {
             font-size: 40px;
            }
        }


        @media (max-width: 1000px) {
            .qr-item {
                width: calc(100% - 40px); /* Due colonne su schermi medi */
            }
        }

        @media (max-width: 768px) {
            .qr-item {
                width: calc(100% - 40px); /* Due colonne su schermi medi */
            }
        }

        @media (max-width: 480px) {
            .qr-item {
                width: 100%; /* Una colonna su schermi piccoli */
            }
        }
        @media (max-width: 1000px) {
            .qr-admin-item {
                width: calc(100% - 40px); /* Due colonne su schermi medi */
            }
        }

        @media (max-width: 768px) {
            .qr-admin-item {
                width: calc(100% - 40px); /* Due colonne su schermi medi */
            }
        }

        @media (max-width: 480px) {
            .qr-admin-item {
                width: 100%; /* Una colonna su schermi piccoli */
            }
        }

#image_preview {
    max-width: 600px !important;
    margin-top: 10px;
   
}

@media (max-width: 1000px) {
            #image_preview {
    max-width: 98%;
    margin-top: 10px;
   
}
        }

a.btn-link {
    display: inline-block;
    padding: 10px 20px;
    background-color: #089c18;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 10px;
    transition: background-color 0.3s ease;
}

a.btn-link:hover {
    background-color: #0056b3;
    text-decoration: none;
}



/* Stile per i pulsanti */
.attiva {
    background-color: #0074D4;
    margin-top: 50px;
    font-size: 30px;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-align: center;
    width: 400px;
    margin: auto;
}
.active-setting {
            border: 2px solid blue;
            padding: 10px;
            margin-bottom: 20px;
        }
.inactive-setting {
            border: 1px solid gray;
            padding: 10px;
            margin-bottom: 20px;
        }
.admin-menu {
    color: white;
    overflow: hidden;
}

.admin-menu ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.admin-menu ul li {
    display: inline-block; /* Cambia float a inline-block */
}

.admin-menu ul li a {
    display: block;
    color: white; /* Cambia il colore del testo in nero */
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

.admin-menu ul li a:hover {
    background-color: #f0f0f0; /* Cambia il colore di sfondo al passaggio del mouse */
}

.admin-content {
    margin-top: 20px;
    padding: 20px;
}
form {
    margin-bottom: 20px;
}

form p {
    font-weight: bold;
}

form input[type="text"],
form input[type="radio"],
form input[type="submit"] {
    font-size: 24px;
    display: block;
    margin: 10px 0;
    padding: 10px;
    width: 98%;
}

form input[type="text"]#qr_code_link {

    margin: auto !important;
    width: 50% !important;
    margin-top: 50px !important;
    margin-bottom: 50px !important;
    text-align: center;
    color: #0074D4;
}

form input[type="radio"] {
    width: auto; /* Mantiene la dimensione originale del radio button */
    margin-top: 15px; /* Aggiunge un margine per allineare meglio */
}

.active-box {
    border: 2px solid blue;
    padding: 20px;
    margin-bottom: 20px;
}
/* Media Queries */
@media (max-width: 768px) {
    

    form input[type="text"],
    form input[type="email"],
    form input[type="password"],
    form input[type="submit"],
    form button {
        padding: 8px;
        margin: 8px 0;
    }

    .attiva a {
        padding: 8px 16px;
    }
}

@media (max-width: 480px) {
    form input[type="text"],
    form input[type="email"],
    form input[type="password"],
    form input[type="submit"],
    form button {
        padding: 6px;
        margin: 6px 0;
    }

    .attiva a {
        padding: 6px 12px;
    }
}


/* Stile per le tabelle */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

table, th, td {
    border: 1px solid #ddd;
}

th, td {
    padding: 12px;
    text-align: left;
}

th {
    background-color: #f2f2f2;
}

/* Stile per i form */
form {
    margin: auto;
    font-size: 20px;
}

label {
    display: block;
    margin-bottom: 5px;
    color: #585858;
}

input[type="text"], input[type="password"],input[type="email"],  select {
    width: 100%;
    padding: 10px;
    margin: 25px 0 10px !important;
    border: 1px solid #ddd;
    border-radius: 5px;
}

input[type="submit"] {
    background-color: #0074D4;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

input[type="submit"]:hover {
    background-color: #f9a600;
}

/* Stile per i messaggi */
.message {
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.message.error {
    background-color: #f2dede;
    color: #a94442;
    border-color: #ebccd1;
}

.message.success {
    background-color: #dff0d8;
    color: #3c763d;
    border-color: #d6e9c6;
}

/* Stile per il logout link */
.logout {
    float: right;
    margin-right: 20px;
    margin-top: -30px;
    color: white;
    text-decoration: none;
    font-size: 24px;
}



/* Stile per il footer */

footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #0074D4;
    padding: 10px 20px 10px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: white;
    border-top: 1px solid #e9ecef;
    z-index: 1000;
}

.footer-container {
    margin:0px 50px 0px 50px;
    display: flex;
    width: 98%;
    justify-content: space-between;
    align-items: center;
}

.footer-info {
    margin-right: auto;
}

.footer-links ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.footer-links ul li {
    margin-left: 20px;
}

.footer-links ul li a {
    text-decoration: none;
    color: #ffffff;
}

.footer-links ul li a:hover {
    text-decoration: none;
}

.footer-social a {
    margin-left: 10px;
}

.footer-social a img {
    width: 24px;
    height: 24px;
    
    transition: filter 0.3s;
}

.footer-social a img:hover {
    
    /* Cambia le icone in rosso al passaggio del mouse */
    transform: scale(1.1); /* Aggiunge un leggero ingrandimento al passaggio */
}

.footer-links{
    margin-right: 50px;
}

/* Aggiunto per migliorare il form */
.form-group {
    margin-bottom: 15px;
}

.disabled {
           
            pointer-events: none;
            display: none;
        }
.radio-group {
            text-align: center;
            margin: 20px 0;
            display: flex;
            justify-content: center;
            align-items: center;
        }
.radio-group label {
            margin-right: 100px;
            margin-left: 10px;
        }

.radio-group label.nolef {
            margin-right: 0px !important;
           
        } 

.form-group {
            text-align: center;
            margin: 10px 0;
        }
.input-group {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
        }
.input-group .form-group {
            margin: 50px;
        }

.custom-file-input {
            display: none; /* Nasconde l'input file originale */
        }

        .custom-file-label {
            display: inline-block;
            padding: 10px 20px;
            cursor: pointer;
            background-color: #0d7bd6;
            color: white;
            border-radius: 5px;
            text-align: center;
            margin-top: 20px;
        }

        .custom-file-label:after {
            
            display: inline-block;
            margin-left: 10px;
            font-weight: bold;
        }

 @media (max-width: 1000px) {
            .input-group {
      
                align-items: stretch; /* Allarga i div per riempire lo spazio disponibile */
            }

            .input-group .form-group {
                margin: 15px 0; /* Aggiunge margine tra i div */
            }

            input[type="text"], input[type="file"], input[type="submit"] {
                font-size: 30px;
                padding: 18px;
            }

            label {
                font-size: 16px;
            }

            h1 {
                font-size: 24px;
            }

            .radio-group label {
                font-size: 16px;
            }

           

            .button, input[type="submit"] {
                font-size: 18px;
                padding: 12px 20px;
                width: 90%; /* Allarga i pulsanti per riempire il contenitore */
            }
        }

        #installPWA {
        display: none;
        padding: 10px 20px;
        background-color: #0d7bd6;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 16px;
    }

    /* Rendi il bottone visibile su schermi più piccoli */
    @media (max-width: 1000px) {
        #installPWA {
            display: block;
            margin: 20px auto;
            text-align: center;
        }
    }
