@import url('https://fonts.googleapis.com/css2?family=Blinker:wght@300;400;600;700&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Blinker', sans-serif;
    font-weight: 400;
    font-size: 100%;
    background: #F1F1F1;
}

*, html {
    --primaryGradient: linear-gradient(93.12deg, #581B98 0.52%, #9C1DE7 100%);
    --secondaryGradient: linear-gradient(268.91deg, #581B98 -2.14%, #9C1DE7 99.69%);
    --primaryBoxShadow: 0px 10px 15px rgba(0, 0, 0, 0.1);
    --secondaryBoxShadow: 0px -10px 15px rgba(0, 0, 0, 0.1);
    --primary: #581B98;
    --primary-dark-blue: #2D58A7;
    --secondary-dark-blue: #1D3C78;
    --secondary-light-blue: #DDE6F6;
    --type-white: #FFFFFF;
}

/* CHATBOX
=============== */
.chatbox {
    position: fixed;
    bottom: 2%;
    right: 2%;
}

/* CONTENT IS CLOSE */
.chatbox__support {
    position: fixed;
    bottom: 90px;  /* Spostato più in alto per evitare il pulsante */
    right: 20px;   /* Allineato con il pulsante */
    width: 80vw;
    max-width: 400px;
    height: 70vh;
    max-height: 600px;
    z-index: -123456;
    opacity: 0;
    transition: all .5s ease-in-out;
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    background: var(--secondary-light-blue);
}

/* CONTENT IS OPEN */
.chatbox--active {
    transform: translateY(0);
    z-index: 123456;
    opacity: 1;
}

/* BUTTON */
.chatbox__button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999; /* Assicura che il pulsante stia sopra alla finestra se necessario */
}

.chatbox__button button {
    width: 60px;
    height: 60px;
    background: var(--secondary-dark-blue);
    border: none;
    border-radius: 50%;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.chatbox__button button:hover {
    transform: scale(1.05);
}

.chatbox__button img {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1); /* Assicura che l'icona sia bianca */
}

/* Header */
.chatbox__header {
    position: sticky;
    top: 0;
    background: var(--primary-dark-blue);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 15px 20px;
    border-radius: 9px 9px 0 0; /* Ridotto da 20px a 9px come richiesto */
    box-shadow: var(--primaryBoxShadow);
    position: relative;
}

/* Stile per l'immagine nell'intestazione */
.chatbox__image--header {
    margin-right: 15px;    /* Aumentato da 10px a 15px per allontanarlo dal testo */
    margin-left: -5px;     /* Margin negativo per spostarlo più a sinistra */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary-dark-blue);
    box-shadow: none;
}

.chatbox__image--header img {
    width: 70%;       /* Ridotto da 100% a 70% */
    height: 70%;      /* Ridotto da 100% a 70% */
    object-fit: contain;  /* Cambiato da cover a contain per preservare le proporzioni */
    padding: 0;       /* Assicuriamo che non ci sia padding */
}

/* Titolo dell'intestazione in bianco */
.chatbox__heading--header {
    font-size: 1.4rem;  /* Aumentato da 1.2rem a 1.4rem */
    color: #fff;
    font-family: 'Blinker', sans-serif;
    font-weight: 600;
}

/* Descrizione dell'intestazione in bianco */
.chatbox__description--header {
    font-size: 1rem;    /* Aumentato da 0.9rem a 1rem */
    color: #fff;
    font-family: 'Blinker', sans-serif;
    font-weight: 300;
}

/* Stile aggiornato per il pulsante di chiusura */
.chatbox__close--button {
    position: absolute;
    top: -15px;           /* Spostato più in alto rispetto al precedente valore di 10px */
    right: -15px;         /* Spostato più a destra rispetto al precedente valore di 10px */
    z-index: 10;
}

.close-btn {
    background: var(--secondary-dark-blue) 0% 0% no-repeat;
    border: none;
    color: white;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
}

.close-btn:hover {
    background: var(--secondary-dark-blue);
    opacity: 0.9;
    transform: scale(1.1);
}

/* Messages */
.chatbox__messages {
    padding: 0 20px;
    margin-top: auto;
    display: flex;
    overflow-y: scroll;
    flex-direction: column-reverse;
}

.messages__item {
    margin-top: 10px;
    padding: 10px 14px; /* Padding leggermente aumentato */
    max-width: 85%;
    border-radius: 20px;
    background: #E0E0E0;
    font-family: 'Blinker', sans-serif;
    font-size: 1.05rem;  /* Aumentato da 0.95rem a 1.05rem */
}

/* Allinea i messaggi dell'operatore a sinistra con coda a sinistra */
.messages__item--operator {
    margin-right: auto;
    background: var(--type-white);
    color: #333;
    position: relative;
    border-radius: 20px 20px 20px 5px;
    border: 1px solid #ccc;
}

/* Allinea i messaggi del visitatore (guest) a destra con coda a destra */
.messages__item--visitor {
    margin-left: auto; /* Allinea a destra */
    background: #EDF2FA; /* Cambiato da #E0E0E0 al colore blu chiaro richiesto */
    position: relative; /* Necessario per posizionare la coda */
    border-radius: 20px 20px 5px 20px; /* Arrotonda gli angoli */
    border: 1px solid #ccc; /* Bordo grigio */
}

/* Se vuoi aggiungere uno spazio tra i messaggi e il bordo */
.chatbox__messages {
    padding: 20px;
}

/* FOOTER */
.chatbox__footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    background: var(--secondary-light-blue);
    box-shadow: none;
    border-radius: 0 0 9px 9px;
}

.chatbox__footer input {
    width: 100%;
    border: none;
    padding: 14px 15px;
    border-radius: 9px 0 0 9px;
    text-align: left;
    font-size: 1.05rem;
    background: #FFFFFF;
    height: 48px;
}

.chatbox__send--footer {
    background: var(--primary-dark-blue);
    color: white;
    font-size: 1.05rem;
    border: none;
    height: 48px;
    padding: 0 20px;
    margin-left: -1px; /* Per evitare gap tra input e pulsante */
    border-radius: 0 9px 9px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Question Container */
.question-container {
    margin: 50px 0 50px 20px;
    padding: 20px;
    width: 50%;
    background: #fff;
    border-radius: 20px; /* Uniforme per tutti gli angoli */
    box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.question-container label {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 20px;
}

.question-container select {
    padding: 10px 15px;
    border-radius: 5px;
    border: 1px solid #ccc;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.question-container .question-image {
    max-width: 80%;
    height: auto;
    border-radius: 10px;
}

/* Responsive Design */
@media (max-width: 600px) {
    .chatbox__support {
        width: 100vw;
        height: 50vh;
        bottom: 0;
        right: 0;
        border-radius: 20px; /* Uniforme per tutti gli angoli sui dispositivi mobili */
    }

    .question-container {
        width: 90%;
    }
}

/* Per garantire che il font sia applicato ovunque */
.chatbox, .chatbox * {
    font-family: 'Blinker', sans-serif;
}