/* ============================================
   ASSISTENTE IA - CSS MIGLIORATO v3.3
   Popup centrale, overlay, animazioni fluide
   ✅ v9.8.43: Isolation layer COMPLETO - Tutti !important
   ============================================ */

/* ============================================
   ISOLATION LAYER - Protezione BIDIREZIONALE
   - Protegge chatbot DA temi aggressivi
   - Evita che chatbot ROMPA il tema
   ============================================ */

/* 
 * NOTA: Il reset usa !important per vincere su temi aggressivi.
 * Gli elementi principali (bottone, popup, overlay) hanno position: fixed
 * definito separatamente con !important per sovrascrivere il reset.
 */

/* Reset globale per FIGLI degli elementi principali */
#assistente-ia-popup *,
#assistente-ia-popup *::before,
#assistente-ia-popup *::after,
#assistente-ia-bottone *,
#assistente-ia-bottone *::before,
#assistente-ia-bottone *::after {
    /* Box model */
    box-sizing: border-box !important;
    
    /* NO position/margin/padding/background reset - troppo aggressivo */
    float: none !important;
    clear: none !important;
    
    /* Tipografia base */
    font-family: inherit !important;
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    direction: ltr !important;
    
    /* Effetti testo */
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

/* Reset BASE per elementi principali (SENZA position) */
#assistente-ia-popup,
#assistente-ia-bottone,
#assistente-ia-overlay {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: inherit !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    filter: none !important;
}

/* Reset form elements (target preferito dei temi) */
#assistente-ia-popup input,
#assistente-ia-popup textarea,
#assistente-ia-popup select {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #1f2937 !important;
    background-color: #fff !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    text-indent: 0 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
}

/* Reset SOLO per bottone invio messaggio (non header/menu) */
#assistente-ia-popup .assistente-ia-input-area button {
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* Bottoni header - preserva stili originali */
#assistente-ia-popup .assistente-ia-intestazione button,
#assistente-ia-popup .assia-settings-btn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

#assistente-ia-popup .assistente-ia-chiudi {
    background: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    box-shadow: none !important;
    color: #fff !important;
    border-radius: 50% !important;
}

#assistente-ia-popup .assistente-ia-chiudi:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* Focus visibile (accessibilità) - solo form elements */
#assistente-ia-popup input:focus,
#assistente-ia-popup textarea:focus,
#assistente-ia-popup .assistente-ia-input-area button:focus {
    outline: 2px solid #2563eb !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

/* Reset link nel popup */
#assistente-ia-popup a {
    color: #2563eb !important;
    text-decoration: underline !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#assistente-ia-popup a:hover {
    color: #1d4ed8 !important;
    text-decoration: none !important;
}

/* Reset liste */
#assistente-ia-popup ul,
#assistente-ia-popup ol {
    list-style-position: inside !important;
    padding-left: 0 !important;
    margin: 0.5em 0 !important;
}

#assistente-ia-popup li {
    margin: 0.25em 0 !important;
}

/* Reset headings nel contenuto */
#assistente-ia-popup h1,
#assistente-ia-popup h2,
#assistente-ia-popup h3,
#assistente-ia-popup h4,
#assistente-ia-popup h5,
#assistente-ia-popup h6 {
    font-family: inherit !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin: 0.5em 0 !important;
    padding: 0 !important;
    color: inherit !important;
}

/* Reset paragrafi */
#assistente-ia-popup p {
    margin: 0.5em 0 !important;
    padding: 0 !important;
}

/* Reset immagini */
#assistente-ia-popup img {
    max-width: 100% !important;
    height: auto !important;
    border: none !important;
    box-shadow: none !important;
}

/* ✅ v10.0.57: Nasconde le immagini durante il typewriter senza far saltare il layout.
   - opacity: 0 → invisibile MA mantiene lo spazio (no shift del testo che scrive sopra)
   - transition → fade-in dolce quando la classe viene rimossa a fine typewriter
   - applicata via JS solo durante l'animazione; rimossa al termine */
#assistente-ia-popup img.assia-tw-hidden {
    opacity: 0 !important;
    transition: opacity 0.4s ease-in !important;
}

/* Z-index altissimo - sopra qualsiasi tema/plugin */
#assistente-ia-bottone,
#assistente-ia-popup,
#assistente-ia-overlay {
    z-index: 999999999 !important;
}

/* ============================================
   FINE ISOLATION LAYER
   ============================================ */

/* === BOTTONE FLOTTANTE === */
#assistente-ia-bottone {
    position: fixed !important;
    bottom: 20px !important;
    right: 20px !important;
    background: #2563eb !important;
    color: #fff !important;
    padding: 14px 20px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.3) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: none !important;
}

/* ✅ v10.0.44: Icona nel bottone launcher */
#assistente-ia-bottone .assia-bottone-icona {
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    pointer-events: none !important;
}

#assistente-ia-bottone:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(37, 99, 235, 0.4) !important;
}

#assistente-ia-bottone.assia-pos-bottom-left {
    left: 20px !important;
    right: auto !important;
}

#assistente-ia-bottone .assistente-ia-etichetta {
    font-weight: 600 !important;
    font-size: 15px !important;
    color: #fff !important;
}

/* === OVERLAY SFONDO SCURO === */
#assistente-ia-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(4px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}

#assistente-ia-overlay.attivo {
    opacity: 1 !important;
    visibility: visible !important;
}

/* === POPUP CENTRALE === */
#assistente-ia-popup {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(0.9) !important;
    /* ✅ v10.0.56: Allineato a Defaults::FINESTRA_LARGHEZZA/ALTEZZA (720/800).
       Il pannello "Personalizza" inietta inline style che vince con !important
       sullo stesso selettore ed è il boss del valore finale per ogni sito. */
    width: 720px !important;
    max-width: 92vw !important;
    height: 800px !important;
    max-height: 88vh !important;
    background: #fff !important;
    border-radius: 20px !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25) !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}

#assistente-ia-popup:not(.assia-nascosto) {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate(-50%, -50%) scale(1) !important;
}

/* === HEADER === */
#assistente-ia-popup .assistente-ia-intestazione {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #fff !important;
    border-bottom: 1px solid #1e40af !important;
    flex-shrink: 0 !important;
    gap: 10px !important; /* ✅ v10.0.8: Gap per distribuzione elementi con agente umano */
}

#assistente-ia-popup .assistente-ia-intestazione strong {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #fff !important;
}

#assistente-ia-popup .assistente-ia-chiudi {
    background: rgba(255, 255, 255, 0.15) !important;
    border: none !important;
    color: #fff !important;
    font-size: 24px !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease !important;
    line-height: 1 !important;
    padding: 0 !important;
}

#assistente-ia-popup .assistente-ia-chiudi:hover {
    background: rgba(255, 255, 255, 0.25) !important;
}

/* === AREA MESSAGGI === */
#assistente-ia-popup .assistente-ia-messaggi {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 20px !important;
    background: #f9fafb !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

/* Scrollbar personalizzata */
#assistente-ia-popup .assistente-ia-messaggi::-webkit-scrollbar {
    width: 8px !important;
}

#assistente-ia-popup .assistente-ia-messaggi::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
}

#assistente-ia-popup .assistente-ia-messaggi::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 4px !important;
}

#assistente-ia-popup .assistente-ia-messaggi::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

/* === STILE MESSAGGI === */
#assistente-ia-popup .assia-messaggio {
    padding: 12px 16px !important;
    border-radius: 16px !important;
    max-width: 85% !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    animation: assia-slide-in 0.4s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* ✅ v9.9.1: Keyframes rinominato con prefisso assia- per evitare collisioni */
@keyframes assia-slide-in {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#assistente-ia-popup .assia-msg-utente {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #fff !important;
    align-self: flex-end !important;
    border-bottom-right-radius: 4px !important;
}

#assistente-ia-popup .assia-msg-assistente {
    background: #fff !important;
    color: #1e293b !important;
    align-self: flex-start !important;
    border: 1px solid #e2e8f0 !important;
    border-bottom-left-radius: 4px !important;
}

/* ✅ v10.0.44: Avatar bot nei messaggi */
#assistente-ia-popup .assia-msg-con-avatar {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    max-width: 90% !important;
}

#assistente-ia-popup .assia-msg-con-avatar .assia-avatar-bot {
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

#assistente-ia-popup .assia-msg-con-avatar .assia-msg-contenuto {
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    border-bottom-left-radius: 4px !important;
    padding: 12px 16px !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    min-width: 0 !important;
}

/* Errore con avatar: mantieni stile errore sul contenuto */
#assistente-ia-popup .assia-msg-con-avatar.assia-errore .assia-msg-contenuto {
    background: #fff !important;
    border-color: #fca5a5 !important;
}

#assistente-ia-popup .assia-avviso-iniziale {
    background: #eff6ff !important;
    border-left: 4px solid #3b82f6 !important;
    font-style: italic !important;
    color: #1e40af !important;
    align-self: stretch !important;
    max-width: 100% !important;
}

/* ✅ v10.0.45: Avviso iniziale con avatar */
#assistente-ia-popup .assia-msg-con-avatar.assia-avviso-iniziale {
    background: transparent !important;
    border-left: none !important;
    max-width: 100% !important;
    align-self: stretch !important;
}

#assistente-ia-popup .assia-msg-con-avatar.assia-avviso-iniziale .assia-msg-contenuto {
    background: #eff6ff !important;
    border-left: 4px solid #3b82f6 !important;
    border-color: #3b82f6 !important;
    font-style: italic !important;
    color: #1e40af !important;
    flex: 1 !important;
}

#assistente-ia-popup .assia-errore {
    background: #fef2f2 !important;
    border-left: 4px solid #ef4444 !important;
    color: #991b1b !important;
}

/* === PRELOADER === */
#assistente-ia-popup .assia-preloader {
    display: flex !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    align-self: flex-start !important;
    background: #fff !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
}

#assistente-ia-popup .assia-preloader .assia-pallino {
    width: 10px !important;
    height: 10px !important;
    background: #94a3b8 !important;
    border-radius: 50% !important;
    animation: assia-blink 1.2s infinite ease-in-out !important;
}

#assistente-ia-popup .assia-preloader .assia-pallino:nth-child(2) {
    animation-delay: 0.2s !important;
}

#assistente-ia-popup .assia-preloader .assia-pallino:nth-child(3) {
    animation-delay: 0.4s !important;
}

@keyframes assia-blink {
    0%, 80%, 100% {
        opacity: 0.3;
        transform: scale(0.8);
    }
    40% {
        opacity: 1;
        transform: scale(1.1);
    }
}

/* === LINK CARD === */

/* ✅ v10.0.24: Link wrapper per card - rimuove underline/padding dal reset generico <a> */
#assistente-ia-popup a.assia-link {
    text-decoration: none !important;
    color: inherit !important;
    display: block !important;
}

#assistente-ia-popup a.assia-link:hover {
    text-decoration: none !important;
}

#assistente-ia-popup .assia-link-card {
    display: flex !important;
    gap: 12px !important;
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin: 8px 0 !important;
    transition: box-shadow 0.2s ease !important;
    text-decoration: none !important;
}

#assistente-ia-popup .assia-link-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

#assistente-ia-popup .assia-link-card img {
    width: 48px !important;
    height: 48px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
}

#assistente-ia-popup .assia-link-card-testo {
    flex: 1 !important;
}

/* === AREA INPUT === */
#assistente-ia-popup .assistente-ia-inputarea {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
    padding: 16px !important;
    background: #fff !important;
    border-top: 1px solid #e5e7eb !important;
    flex-shrink: 0 !important;
}

#assistente-ia-popup #assistente-ia-input {
    flex: 1 !important;
    min-width: 0 !important;
    min-height: 44px !important;
    max-height: 120px !important;
    line-height: 1.4 !important;
    resize: none !important;
    padding: 12px 14px !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    background: #fff !important;
    color: #1f2937 !important;
}

#assistente-ia-popup #assistente-ia-input:focus {
    outline: none !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
}

#assistente-ia-popup button#assistente-ia-invia {
    position: static !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #fff !important;
    font-size: 0 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3) !important;
    padding: 0 !important;
    margin: 0 !important;
}

#assistente-ia-popup button#assistente-ia-invia:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.4) !important;
}

#assistente-ia-popup button#assistente-ia-invia:active {
    transform: translateY(0) !important;
}

#assistente-ia-popup button#assistente-ia-invia:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    transform: none !important;
}

/* === EFFETTO TYPEWRITER === */
#assistente-ia-popup .assia-typing-cursor::after {
    content: '▊' !important;
    animation: assia-cursor-blink 1s infinite !important;
    margin-left: 2px !important;
}

/* ✅ v9.9.1: Keyframes rinominato con prefisso assia- per evitare collisioni */
@keyframes assia-cursor-blink {
    0%, 49% {
        opacity: 1;
    }
    50%, 100% {
        opacity: 0;
    }
}

/* === RESPONSIVE === */
@media (max-width: 560px) {
    /* ✅ v10.0.8: Popup ancorato al BOTTOM su mobile
       Quando si apre la tastiera virtuale, il popup rimane fermo
       invece di "saltare" verso l'alto */
    #assistente-ia-popup {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 70vh !important; /* ✅ v10.0.29: Ridotto per lasciare spazio alla tastiera */
        height: 70dvh !important; /* Dynamic viewport */
        max-height: 70vh !important;
        max-height: 70dvh !important;
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        transform: translateY(100%) !important; /* Animazione dal basso */
        border-radius: 20px 20px 0 0 !important; /* Arrotondato solo sopra */
    }
    
    #assistente-ia-popup:not(.assia-nascosto) {
        transform: translateY(0) !important; /* Slide up quando aperto */
    }
    
    /* ✅ v10.0.8: Area messaggi flessibile, si riduce quando tastiera aperta */
    #assistente-ia-popup .assistente-ia-messaggi {
        padding: 16px !important;
        flex: 1 1 auto !important;
        min-height: 100px !important; /* Minimo visibile anche con tastiera */
        overflow-y: auto !important;
    }
    
    /* ✅ v10.0.8: Input area SEMPRE visibile - non si comprime MAI */
    #assistente-ia-popup .assistente-ia-inputarea {
        flex-shrink: 0 !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    /* ✅ v9.9.1: Aggiunto prefisso per evitare conflitti con temi */
    #assistente-ia-popup .assia-messaggio {
        max-width: 90% !important;
    }
    
    /* ✅ v10.0.44: Avatar più piccolo su mobile */
    #assistente-ia-popup .assia-msg-con-avatar {
        max-width: 95% !important;
        gap: 6px !important;
    }
    
    #assistente-ia-popup .assia-msg-con-avatar .assia-avatar-bot {
        width: 22px !important;
        height: 22px !important;
    }
    
    /* ✅ v10.0.8: Fix header con Agente Umano su mobile */
    #assistente-ia-popup .assistente-ia-intestazione {
        padding: 12px 12px !important;
        gap: 8px !important;
        flex-shrink: 0 !important;
    }
    
    #assistente-ia-popup .assistente-ia-intestazione strong {
        font-size: 14px !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    
    /* ✅ v10.0.8: Pulsante agente compatto su mobile - solo icona */
    #assistente-ia-popup .assia-agente-trigger-header {
        padding: 6px 8px !important;
        font-size: 11px !important;
        margin-right: 4px !important;
        flex-shrink: 0 !important;
    }
    
    /* ✅ v10.0.8: Header actions compatti su mobile */
    #assistente-ia-popup .assia-header-actions {
        flex-shrink: 0 !important;
        gap: 4px !important;
    }
    
    /* ✅ v10.0.8: Agente panel non si comprime */
    #assistente-ia-popup .assia-agente-panel,
    #assistente-ia-popup .assia-agente-email-form,
    #assistente-ia-popup .assia-agente-trigger-sotto {
        flex-shrink: 0 !important;
    }
}

/* ============================================
   GDPR CONSENT BANNER - v8.9.41
   ============================================ */

#assistente-ia-popup .assia-gdpr-banner {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 24px !important;
    margin: 20px 0 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

#assistente-ia-popup .assia-gdpr-message {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #374151 !important;
    margin-bottom: 20px !important;
    background: transparent !important;
}

#assistente-ia-popup .assia-gdpr-message a {
    color: #2563eb !important;
    text-decoration: underline !important;
}

#assistente-ia-popup .assia-gdpr-message a:hover {
    color: #1d4ed8 !important;
}

#assistente-ia-popup .assia-gdpr-buttons {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

#assistente-ia-popup .assia-gdpr-accept {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}

#assistente-ia-popup .assia-gdpr-accept:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4) !important;
}

#assistente-ia-popup .assia-gdpr-reject {
    background: #f3f4f6 !important;
    color: #6b7280 !important;
    border: 1px solid #d1d5db !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background 0.2s ease !important;
}

#assistente-ia-popup .assia-gdpr-reject:hover {
    background: #e5e7eb !important;
    color: #4b5563 !important;
}

#assistente-ia-popup .assia-gdpr-rejected {
    border-color: #fca5a5 !important;
    background: #fef2f2 !important;
}

#assistente-ia-popup .assia-gdpr-rejected-msg {
    color: #991b1b !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    background: transparent !important;
}

/* Chat ID Display */
#assistente-ia-popup .assia-chat-id {
    margin-top: 16px !important;
    padding: 12px 16px !important;
    background: #f0fdf4 !important;
    border: 1px solid #86efac !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    color: #166534 !important;
}

#assistente-ia-popup .assia-chat-id strong {
    font-family: 'Monaco', 'Consolas', monospace !important;
    font-size: 15px !important;
    letter-spacing: 1px !important;
    color: #15803d !important;
    background: transparent !important;
}

#assistente-ia-popup .assia-chat-id-note {
    margin-top: 8px !important;
    font-size: 12px !important;
    color: #6b7280 !important;
    font-style: italic !important;
    background: transparent !important;
}

/* ✅ v10.0.26: AI Act Art. 50 - Disclosure IA */
#assistente-ia-popup .assia-ai-disclosure {
    margin-bottom: 12px !important;
    padding: 10px 14px !important;
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    color: #1e40af !important;
    line-height: 1.5 !important;
}

/* Input disabilitato */
#assistente-ia-popup #assistente-ia-input:disabled {
    background: #f3f4f6 !important;
    color: #9ca3af !important;
    cursor: not-allowed !important;
}

/* ═══════════════════════════════════════════════════════════════════
   ✅ v8.9.66: AGENTE UMANO
   ═══════════════════════════════════════════════════════════════════ */

/* Trigger Header */
#assistente-ia-popup .assia-agente-trigger-header {
    background: rgba(255,255,255,0.2) !important;
    border: none !important;
    color: #fff !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    transition: background 0.2s ease !important;
    margin-right: 8px !important;
    flex-shrink: 0 !important; /* ✅ v10.0.8: Previene compressione su mobile */
}

#assistente-ia-popup .assia-agente-trigger-header:hover {
    background: rgba(255,255,255,0.3) !important;
}

#assistente-ia-popup .assia-agente-trigger-header.assia-agente-aperto {
    background: rgba(255,255,255,0.35) !important;
}

/* Trigger Sotto Input */
#assistente-ia-popup .assia-agente-trigger-sotto {
    text-align: center !important;
    padding: 10px 16px !important;
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
    flex-shrink: 0 !important; /* ✅ v9.7.47: Previene compressione su mobile */
}

#assistente-ia-popup .assia-agente-trigger-sotto a {
    color: #6366f1 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
}

/* ✅ v10.0.46: Emoji 👤 nel trigger + PNG bot */
#assistente-ia-popup .assia-agente-trigger-sotto .assia-trigger-icona-emoji {
    font-size: 18px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

#assistente-ia-popup .assia-agente-trigger-sotto .assia-trigger-icona {
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    vertical-align: middle !important;
}

#assistente-ia-popup .assia-agente-trigger-sotto a:hover {
    text-decoration: underline !important;
}

#assistente-ia-popup .assia-agente-trigger-sotto.assia-agente-aperto a {
    color: #64748b !important;
}

/* Pannello Espanso */
#assistente-ia-popup .assia-agente-panel {
    background: #f8fafc !important;
    padding: 16px !important;
    border-top: 1px solid #e2e8f0 !important;
}

#assistente-ia-popup .assia-agente-panel-title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
    background: transparent !important;
}

#assistente-ia-popup .assia-agente-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

#assistente-ia-popup .assia-agente-btn {
    width: 100% !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    text-decoration: none !important;
}

#assistente-ia-popup .assia-agente-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ✅ v9.8.52: Bottone Email (blu) */
#assistente-ia-popup .assia-agente-btn-email,
#assistente-ia-popup button.assia-agente-btn-email {
    background: #3b82f6 !important;
    color: #fff !important;
}

/* ✅ v9.8.52: Bottone Telefono (arancione) */
#assistente-ia-popup .assia-agente-btn-tel,
#assistente-ia-popup a.assia-agente-btn-tel {
    background: #f97316 !important;
    color: #fff !important;
}

/* ✅ v9.8.52: Bottone WhatsApp (verde) */
#assistente-ia-popup .assia-agente-btn-wa,
#assistente-ia-popup a.assia-agente-btn-wa {
    background: #25D366 !important;
    color: #fff !important;
}

/* Form Email */
#assistente-ia-popup .assia-agente-email-form {
    flex: 1 !important;
    padding: 16px !important;
    background: #f8fafc !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ✅ v9.8.53: Header form email con bottone indietro */
#assistente-ia-popup .assia-agente-email-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

#assistente-ia-popup .assia-agente-email-back {
    background: transparent !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    color: #64748b !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

#assistente-ia-popup .assia-agente-email-back:hover {
    background: #f1f5f9 !important;
    color: #334155 !important;
}

#assistente-ia-popup .assia-agente-email-header h4 {
    font-size: 16px !important;
    color: #1e293b !important;
    margin: 0 !important;
    flex: 1 !important;
    background: transparent !important;
}

#assistente-ia-popup .assia-agente-email-body {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 16px !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
}

#assistente-ia-popup .assia-agente-field {
    margin-bottom: 12px !important;
}

#assistente-ia-popup .assia-agente-field label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    margin-bottom: 4px !important;
    background: transparent !important;
}

#assistente-ia-popup .assia-agente-field input,
#assistente-ia-popup .assia-agente-field textarea {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #1f2937 !important;
}

#assistente-ia-popup .assia-agente-field input:focus,
#assistente-ia-popup .assia-agente-field textarea:focus {
    border-color: #6366f1 !important;
}

#assistente-ia-popup .assia-agente-field textarea {
    resize: none !important;
    min-height: 60px !important;
}

#assistente-ia-popup .assia-agente-invia-email {
    width: 100% !important;
    padding: 12px !important;
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: opacity 0.2s !important;
}

#assistente-ia-popup .assia-agente-invia-email:hover {
    opacity: 0.9 !important;
}

#assistente-ia-popup .assia-agente-invia-email:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

#assistente-ia-popup .assia-agente-email-status {
    margin-top: 10px !important;
    padding: 10px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    text-align: center !important;
    display: none !important;
}

#assistente-ia-popup .assia-agente-email-status.assia-success {
    display: block !important;
    background: #d1fae5 !important;
    color: #065f46 !important;
    border: 1px solid #6ee7b7 !important;
}

#assistente-ia-popup .assia-agente-email-status.assia-error {
    display: block !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #fca5a5 !important;
}

/* Utility: nascondere elementi quando agente è aperto/chiuso */
#assistente-ia-popup.assia-agente-mode #assistente-ia-messaggi {
    display: none !important;
}

#assistente-ia-popup.assia-agente-mode .assistente-ia-inputarea {
    display: none !important;
}

#assistente-ia-popup.assia-email-mode #assistente-ia-messaggi,
#assistente-ia-popup.assia-email-mode .assistente-ia-inputarea,
#assistente-ia-popup.assia-email-mode #assia-agente-panel {
    display: none !important;
}

/* Nascondi di default - elementi interni */
#assistente-ia-popup .assia-nascosto {
    display: none !important;
}

/* Nascondi popup stesso quando ha classe assia-nascosto */
#assistente-ia-popup.assia-nascosto {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   ✅ v9.7.20: MENU IMPOSTAZIONI CHAT - Rotella bianca vicino alla X
   ═══════════════════════════════════════════════════════════════════════ */

/* ✅ v9.7.20: Contenitore che raggruppa rotella + X a destra */
#assistente-ia-popup .assia-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important; /* Distanza tra rotella e X */
}

#assistente-ia-popup .assia-settings-wrapper {
    position: relative !important;
    display: inline-flex !important;
}

#assistente-ia-popup .assia-settings-btn {
    background: transparent !important;
    border: none !important;
    padding: 4px !important;
    cursor: pointer !important;
    color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 4px !important;
    transition: color 0.2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#assistente-ia-popup .assia-settings-btn:hover {
    color: #fff !important;
}

#assistente-ia-popup .assia-settings-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 4px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
    min-width: 200px !important;
    z-index: 100 !important;
    overflow: hidden !important;
    color: #334155 !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 12px 16px !important;
    background: #fff !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #334155 !important;
    text-align: left !important;
    transition: background 0.15s !important;
    line-height: 1.4 !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-item:hover {
    background: #f1f5f9 !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-item svg {
    flex-shrink: 0 !important;
    color: #64748b !important;
    width: 16px !important;
    height: 16px !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-danger {
    color: #dc2626 !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-danger svg {
    color: #dc2626 !important;
}

#assistente-ia-popup .assia-settings-menu .assia-settings-danger:hover {
    background: #fef2f2 !important;
}

/* Modal GDPR Request - ✅ v9.9.1: Selettore corretto (modal è nel body, non nel popup) */
.assia-gdpr-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0,0,0,0.6) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 999999999 !important;
}

.assia-gdpr-modal-content {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    max-width: 400px !important;
    width: 90% !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3) !important;
}

.assia-gdpr-modal h3 {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    color: #111827 !important;
    background: transparent !important;
}

.assia-gdpr-modal p {
    margin: 0 0 16px !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    background: transparent !important;
}

.assia-gdpr-modal input[type="email"] {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    color: #1f2937 !important;
}

.assia-gdpr-modal input[type="email"]:focus {
    outline: none !important;
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.1) !important;
}

.assia-gdpr-modal-buttons {
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-end !important;
}

.assia-gdpr-modal-btn {
    padding: 10px 20px !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    border: none !important;
    transition: background 0.2s !important;
}

.assia-gdpr-modal-btn.cancel {
    background: #f3f4f6 !important;
    color: #374151 !important;
}

.assia-gdpr-modal-btn.cancel:hover {
    background: #e5e7eb !important;
}

.assia-gdpr-modal-btn.confirm {
    background: #dc2626 !important;
    color: #fff !important;
}

.assia-gdpr-modal-btn.confirm:hover {
    background: #b91c1c !important;
}

.assia-gdpr-modal-btn:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* ============================================
   ✅ v10.0.56: RIMOSSE le media query desktop/tablet di v10.0.50.
   Erano inutili perché il pannello "Personalizza" inietta in <head> uno
   <style id="assia-personalizzazioni"> con !important che vince sempre.
   La larghezza/altezza ora è gestita SOLO da Defaults::FINESTRA_LARGHEZZA/ALTEZZA
   (default 720x800) + il pannello Personalizza che permette override per-sito.
   Il responsive su mobile resta in @media (max-width: 560px) sopra.
   ============================================ */

