/* WP Gemini AI Chatbot Frontend Styles - v1.8.8 by Angelo Calzo @needweb */
:root {
    --gemini-header-bg: #1a73e8;
    --gemini-bubble-bg: #4285f4;
    --gemini-bot-text-color: #ffffff;
    --gemini-user-bubble-bg: #e9e9eb;
    --gemini-user-text-color: #333333;
    --gemini-chat-bg: #f9f9f9;
    --gemini-predefined-bg: #f1f1f1;
    --gemini-predefined-text: #333333;
    --gemini-send-button-bg: #1a73e8;
    --gemini-send-icon-color: #ffffff;
    --gemini-close-icon-color: #ffffff;
    --gemini-close-icon-bg-color: transparent;
    --gemini-icon-size: 28px;
    --gemini-font-size: 1.1em;
}
.gemini-chat-button {
    position: fixed;
    bottom: 2%;
    background-color: var(--gemini-header-bg);
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 2147483647; 
    transition: transform 0.2s ease-in-out, bottom 0.3s ease, left 0.3s ease, right 0.3s ease;
}
.gemini-chat-button.gemini-position-left { left: 2%; }
.gemini-chat-button.gemini-position-right { right: 2%; }

.gemini-chat-button.gemini-position-center {
    left: 50%;
    transform: translateX(-50%);
}

.gemini-chat-button svg {
    width: var(--gemini-icon-size) !important;
    height: var(--gemini-icon-size) !important;
}
.gemini-chat-window {
    position: fixed;
    bottom: 6%;
    width: 90%;
    max-width: 400px;
    height: 70vh;
    max-height: 600px;
    background-color: #ffffff;
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.25);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    z-index: 2147483647;
    transform: scale(0.5) translateY(100px);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.gemini-chat-window.gemini-position-left { left: 2%; transform-origin: bottom left; }
.gemini-chat-window.gemini-position-right { right: 2%; transform-origin: bottom right; }

.gemini-chat-window.gemini-position-center {
    left: 50%;
    transform-origin: bottom center;
    transform: scale(0.5) translateY(100px) translateX(-50%);
}

@media (min-width: 768px) {
    .gemini-chat-button { bottom: 15%; }
    .gemini-chat-window { bottom: 18%; }
}
.gemini-chat-button:hover { transform: scale(1.1); }

.gemini-chat-button.gemini-position-center:hover {
    transform: translateX(-50%) scale(1.1);
}

.gemini-chat-window.active { transform: scale(1) translateY(0); opacity: 1; pointer-events: auto; }

.gemini-chat-window.gemini-position-center.active {
    transform: scale(1) translateY(0) translateX(-50%);
}

.gemini-chat-header {
    background-color: var(--gemini-header-bg);
    color: white;
    padding: 15px;
    font-size: 1.1em;
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between; 
}

/* --- CLASSE UNIFICATA PER ICONE SECONDARIE (Chiudi, Email, ecc) --- */
.gemini-chat-close-btn,
.gemini-chat-email-btn {
    background: var(--gemini-email-btn-bg) !important; 
    border: none !important;
    color: var(--gemini-email-icon-color) !important;
    cursor: pointer !important;
    padding: var(--gemini-email-padding) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
    border-radius: 4px;
    height: 30px; /* Altezza fissa standard */
    width: 30px;  /* Larghezza fissa standard */
}

/* Specifico per il pulsante Chiudi (sovrascrive posizione assoluta se necessario, o la mantiene) */
.gemini-chat-close-btn {
    position: relative; /* Rimuoviamo absolute per far funzionare flex gap */
    top: auto;
    right: auto;
    transform: none;
    margin-left: 5px; /* Piccolo spazio se vicini */
}

/* Specifico per il pulsante Email */
.gemini-chat-email-btn {
    margin-right: var(--gemini-email-margin-right); 
}

.gemini-chat-close-btn:hover,
.gemini-chat-email-btn:hover { 
    opacity: 0.8; 
}

.gemini-chat-messages {
    flex-grow: 1;
    padding: 20px;
    overflow-y: auto;
    background-color: var(--gemini-chat-bg);
}
.gemini-chat-message { margin-bottom: 15px; display: flex; flex-direction: column; }
.gemini-chat-message p { display: inline-block; padding: 10px 15px; border-radius: 18px; max-width: 85%; margin: 0; line-height: 1.5; word-wrap: break-word; }
.gemini-chat-message.bot p { background-color: var(--gemini-bubble-bg); color: var(--gemini-bot-text-color) !important; border-bottom-left-radius: 4px; align-self: flex-start; }
.gemini-chat-message.user p { background-color: var(--gemini-user-bubble-bg); color: var(--gemini-user-text-color) !important; border-bottom-right-radius: 4px; align-self: flex-end; }
.gemini-chat-message.bot p a { color: #FFFFE0; text-decoration: underline; font-weight: bold; }
.gemini-predefined-questions {
    padding: 10px 15px;
    border-top: 1px solid #ddd;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    background-color: var(--gemini-chat-bg);
}
.gemini-predefined-btn {
    background-color: var(--gemini-predefined-bg);
    color: var(--gemini-predefined-text);
    border: 1px solid #ddd;
    border-radius: 20px;
    padding: 8px 12px;
    font-size: var(--gemini-font-size);
    cursor: pointer !important;
    transition: filter 0.2s ease;
}
.gemini-predefined-btn:hover { filter: brightness(90%); }
.gemini-chat-form { display: flex; padding: 10px; border-top: 1px solid #ddd; background-color: #fff; }
.gemini-chat-form input { flex-grow: 1; border: 1px solid #ccc; border-radius: 20px; padding: 10px 15px; font-size: 1em; margin-right: 10px; color: #333 !important; }
.gemini-chat-form button[type="submit"] { background-color: var(--gemini-send-button-bg) !important; border: none !important; cursor: pointer !important; transition: background-color 0.2s ease; display:flex !important; align-items:center !important; justify-content:center !important; }
.gemini-chat-form button[type="submit"]:hover { opacity: 0.9; }
.gemini-chat-form button[type="submit"] svg { width: 20px !important; height: 20px !important; stroke: var(--gemini-send-icon-color) !important; }

.gemini-email-capture input:focus {
    outline: 2px solid var(--gemini-header-bg);
    border-color: transparent;
}