﻿

        
.c_input { 
    background-color: #f9f9f9; /* Colore di sfondo lieve */
  border: none; /* Rimuove il bordo predefinito */
  border-bottom: 2px solid #ccc; /* Linea sotto */
  padding: 10px; /* Spaziatura interna */
  font-size: 16px; /* Dimensione del testo */
  outline: none; /* Rimuove il contorno al focus */
  width: 100%; /* Adatta alla larghezza del contenitore */
  transition: border-bottom-color 0.3s ease; /* Animazione per il focus */
}
.c_input:focus {
  border-bottom-color: #007BFF; /* Colore della linea al focus */
  background-color: #f0f8ff; /* Cambia leggermente il colore dello sfondo */
  }

/* Stile per gli input con errore */
.c_input_err {
  background-color: #f8a7a7; /* Sfondo leggero */
  border: none; /* Rimuove il bordo predefinito */
  border-bottom: 2px solid #db0505; /* Linea sotto */
  padding: 10px; /* Spaziatura interna */
  font-size: 16px; /* Dimensione del testo */
  outline: none; /* Rimuove il contorno al focus */
  width: 100%; /* Adatta alla larghezza */
  position: relative; /* Per posizionare la X */
  transition: border-bottom-color 0.3s ease; /* Animazione */

}

 

.c_input_ok  { 
    background-color: #f9f9f9; /* Colore di sfondo lieve */
  border: none; /* Rimuove il bordo predefinito */
  border-bottom: 2px solid #ccc; /* Linea sotto */
  padding: 10px; /* Spaziatura interna */
  font-size: 16px; /* Dimensione del testo */
  outline: none; /* Rimuove il contorno al focus */
  width: 100%; /* Adatta alla larghezza del contenitore */
  transition: border-bottom-color 0.3s ease; /* Animazione per il focus */

}



 
.c_btn {
  background-color: #c80043; /* Colore di sfondo */
  color: white; /* Colore del testo */
  border: none; /* Nessun bordo */
  border-radius: 4px; /* Angoli arrotondati */
  padding: 15px 25px; /* Spaziatura interna */
  font-size: 18px; /* Dimensione del testo */
  font-weight: bold; /* Testo in grassetto */
  cursor: pointer; /* Cambia il cursore al passaggio */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Leggera ombra */
  transition: all 0.3s ease; /* Animazioni morbide */
}


.c_btn-small {
  background-color: #c80043; /* Colore di sfondo */
  color: white; /* Colore del testo */
  border: none; /* Nessun bordo */
  border-radius: 4px; /* Angoli arrotondati */
  padding: 10px 15px; /* Spaziatura interna */
  font-size: 15px; /* Dimensione del testo */
  font-weight: bold; /* Testo in grassetto */
  cursor: pointer; /* Cambia il cursore al passaggio */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Leggera ombra */
  transition: all 0.3s ease; /* Animazioni morbide */
}



/* Effetto hover */
.c_btn:hover {
  background-color: #0056b3; /* Colore piÃ¹ scuro al passaggio */
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2); /* Ombra piÃ¹ pronunciata */
}










    /* Overlay con sfondo scuro */
    .progress-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 1000;
        display: none; /* Nascondi di default */
        justify-content: center;
        align-items: center;
    }

    /* Cerchio principale */
    .pulsing-circle {
        position: relative;
        width: 80px;
        height: 80px;
        background-color: rgba(255, 255, 255, 0.8);
        border-radius: 50%;
        box-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
        animation: pulse 1.5s infinite ease-in-out;
    }

        /* Raggi che si espandono */
        .pulsing-circle::before,
        .pulsing-circle::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 2px solid rgba(255, 255, 255, 0.5);
            border-radius: 50%;
            transform: scale(1);
            animation: pulse-outline 1.5s infinite ease-in-out;
        }

        .pulsing-circle::after {
            animation-delay: 0.75s;
        }

    /* Animazioni */
    @keyframes pulse {
        0%, 100% {
            transform: scale(1);
            opacity: 1;
        }

        50% {
            transform: scale(1.2);
            opacity: 0.7;
        }
    }

    @keyframes pulse-outline {
        0% {
            transform: scale(1);
            opacity: 0.5;
        }

        100% {
            transform: scale(2.5);
            opacity: 0;
        }
    }
 

 






    

/* Inline style cleanup (pages: index, contatti, la-nostra-ai, soluzioni-e-servizi, adm_login, adm_register) */
.home-chat-cta-title { font-weight: 400; }
.chatbot-section-tight { margin-top: 25px !important; padding-top: 0 !important; }
.chatbot-section-inner-tight { margin-top: 0 !important; padding-top: 0 !important; }
.chatbot-anchor-offset { position: absolute; top: 110px; }
.iframe-container {
  width: 100%;
  min-height: 400px;
  max-height: 650px;
  height: 400px;
  overflow: hidden;
  transition: height 0.3s ease;
  position: relative;
  border-radius: 20px;
  border: 2px solid rgba(247, 140, 17, 0.8);
  box-shadow: 0 0 25px rgba(247, 140, 17, 0.8), 0 0 60px rgba(247, 140, 17, 0.4);
  backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.05);
}
.iframe-container iframe { display:block; width:100%; height:100%; border:none; }
.hp-hidden { display:none; }
.contact-success-box { background-color:#fff; max-width:450px; width:100%; border-radius:8px; padding:15px; }
.contact-success-message { text-align:center; }
.contact-success-title { color:#1ea34a !important; margin:0; text-align:center; font-weight:700; text-shadow:none !important; }
.contact-success-cta { border-radius:18px; padding:.7rem 1.2rem; font-weight:700; display:inline-block; text-decoration:none; }
.contact-form-row-white { color:#fff; }
.spacer-h-0 { height:0; }
.spacer-h-5 { height:5px; }
.spacer-h-10 { height:10px; }
.spacer-h-20 { height:20px; }
.section-container-top-80 { margin-top:80px; }
.brand-divider-line { height:1px; background-color:#c80043; }
.brand-link-magenta { color:#c80043; }
.no-underline-link { text-decoration:none; }
.mm-logo-max-400 { max-width:400px; }
.portfolio-logo-max-100 { max-width:100px; }
.ring-clr-white { --clr:#fff; }
.auth-divider-line { height:2px; background-color:#c80043; max-width:300px; }
.auth-divider-line-register { margin:15px; }
.directory-container-sm { max-width:400px; }
.auth-eye-icon { width:18px; }
.contact-captcha-wrap { display:flex; justify-content:center; width:100%; }
.auth-captcha-box { width:306px; padding:4px; margin:0 auto; border-radius:8px; }
.auth-captcha-box .g-recaptcha { display:inline-block; }
.auth-captcha-box-error { background-color:#ff2a2a; box-shadow:0 0 0 2px rgba(255,42,42,.35); }
.contact-form-alert { display:inline-flex; align-items:center; justify-content:center; gap:8px; background-color:rgba(255,255,255,.88); border:2px solid #ff1f1f; border-radius:8px; padding:6px 12px; min-width:300px; color:#ff1f1f !important; font-size:12px; font-weight:700; }
.contact-form-alert-icon { width:18px; height:18px; }
.nav-brand-logo { max-width: 200px; }
.footer-top-divider { height: 5px; background-color: #fff; }
.footer-logo { max-width: 200px; }
.footer-link-white { color: #fff; }
.progress-logo-img {
  width:80px;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  -moz-user-select:none;
  -ms-user-select:none;
}
.indent-20 { margin-left:20px; }
