﻿//#region [stili per modale registrazione operatori]
/* [ottimizzazione responsive per dispositivi piccoli] */
@media (max-width: 768px) {
    #registrazioneOperatoriModal .modal-dialog {
        margin: 10px !important;
        max-width: calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
    }
    
    #registrazioneOperatoriModal .modal-content {
        height: calc(100vh - 20px) !important;
    }
    
    #registrazioneOperatoriModal .modal-body {
        max-height: calc(100vh - 120px) !important;
        padding: 15px 10px !important;
    }
    
    #registrazioneOperatoriModal .form-group {
        margin-bottom: 1rem !important;
    }
    
    #registrazioneOperatoriModal .col-md-2,
    #registrazioneOperatoriModal .col-md-3,
    #registrazioneOperatoriModal .col-sm-3,
    #registrazioneOperatoriModal .col-sm-6 {
        margin-bottom: 10px;
    }
}

/* [stili per etichette dei campi obbligatori] */
#registrazioneOperatoriModal label:after {
    content: "";
}

#registrazioneOperatoriModal label:has(+ input[required]):after,
#registrazioneOperatoriModal label[for="nome"]:after,
#registrazioneOperatoriModal label[for="cognome"]:after,
#registrazioneOperatoriModal label[for="indirizzo"]:after,
#registrazioneOperatoriModal label[for="citta"]:after,
#registrazioneOperatoriModal label[for="cap"]:after,
#registrazioneOperatoriModal label[for="provincia"]:after,
#registrazioneOperatoriModal label[for="cellulare"]:after,
#registrazioneOperatoriModal label[for="email"]:after {
    content: " *";
    color: #e74c3c;
}
//#endregion [/stili per modale registrazione operatori]

/*#region [Alert con effetto blink per operatori]*/
/* [Animazione blink per warning importante] */
@keyframes blinkWarning {
    0% {
        opacity: 1;
        box-shadow: 0 0 5px rgba(255, 193, 7, 0.5);
    }
    50% {
        opacity: 0.7;
        box-shadow: 0 0 20px rgba(255, 193, 7, 0.8);
    }
    100% {
        opacity: 1;
        box-shadow: 0 0 5px rgba(255, 193, 7, 0.5);
    }
}

/* [Classe per alert con blink] */
.blink-warning {
    animation: blinkWarning 2s ease-in-out infinite;
    border-left: 4px solid #ff6b35 !important;
    background-color: #fff3cd !important;
    color: #856404 !important;
    font-weight: 500;
}

/* [Stile per icona warning] */
.blink-warning .fas {
    color: #ff6b35;
    animation: pulse 1.5s ease-in-out infinite alternate;
}

/* [Animazione per l'icona] */
@keyframes pulse {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.1);
    }
}

/* [Stile responsive per dispositivi piccoli] */
@media (max-width: 768px) {
    .blink-warning {
        font-size: 0.9rem;
        padding: 0.75rem;
        margin-bottom: 1rem;
    }

    .blink-warning .fas {
        font-size: 1rem;
    }
}

/* [Effetto hover per interrompere temporaneamente il blink] */
.blink-warning:hover {
    animation-play-state: paused;
    opacity: 1 !important;
    box-shadow: 0 0 15px rgba(255, 193, 7, 0.9) !important;
}

/* [Blink per SweetAlert2 - specifico per messaggi di attesa] */
.swal2-popup.blink-swal {
    animation: blinkWarning 1.5s ease-in-out infinite;
    border: 3px solid #ff6b35 !important;
}

.swal2-popup.blink-swal .swal2-content {
    animation: pulse 1.2s ease-in-out infinite alternate;
}

.swal2-popup.blink-swal .swal2-icon.swal2-info {
    animation: pulse 1s ease-in-out infinite alternate;
    border-color: #ff6b35 !important;
}

.swal2-popup.blink-swal .swal2-icon.swal2-info [class^='swal2-info-ring'] {
    border-color: #ff6b35 !important;
}

/* [Stile specifico per il testo blink in SweetAlert] */
.blink-warning-text {
    animation: blinkWarning 1.8s ease-in-out infinite;
    padding: 10px;
    border-radius: 5px;
    background: linear-gradient(135deg, #fff3cd 0%, #ffeaa7 100%);
    border-left: 4px solid #ff6b35;
    margin: 10px 0;
    font-weight: 500;
    color: #856404;
}

.blink-warning-text i.fa-spinner {
    color: #ff6b35;
    animation: spin 1s linear infinite, pulse 2s ease-in-out infinite alternate;
}

.blink-warning-text strong {
    color: #d63384;
    text-shadow: 0 0 3px rgba(214, 51, 132, 0.3);
}

/* [Effetto specifico per lo spinner loading] */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* [Stili per alert personalizzati nei SweetAlert] */
.swal2-popup .alert {
    border-radius: 0.375rem;
    padding: 1rem;
    margin-bottom: 0;
}

.swal2-popup .alert-success {
    color: #0f5132;
    background-color: #d1e7dd;
    border: 1px solid #badbcc;
}

.swal2-popup .alert-warning {
    color: #664d03;
    background-color: #fff3cd;
    border: 1px solid #ffecb5;
}

.swal2-popup .alert-danger {
    color: #842029;
    background-color: #f8d7da;
    border: 1px solid #f5c2c7;
}
/*#endregion [/Alert con effetto blink per operatori]*/