/* Animações para mensagens */
.message-animation {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    margin-bottom: 1rem;
    width: 100%;
}

/* Animação de digitação */
.typing-dots {
    display: flex;
    align-items: center;
    column-gap: 5px;
    padding: 0 5px;
}

.typing-dots span {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #888;
    opacity: 0.6;
    animation: typingAnimation 1.4s infinite ease-in-out;
}

.typing-dots span:nth-child(1) {
    animation-delay: 0s;
}

.typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typingAnimation {
    0% {
        transform: scale(1);
        opacity: 0.6;
    }

    50% {
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0.6;
    }
}

/* Estilos para o contêiner de chat */
#chat-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0; /* Crítico para flexbox aninhados com scroll */
}

/* Estilos para a área de mensagens */
#chat-messages {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #2c1363 transparent;
    padding: 1rem;
    gap: 1rem; /* Espaçamento entre as mensagens */
}

/* Para navegadores WebKit (Chrome, Safari) */
#chat-messages::-webkit-scrollbar {
    width: 6px;
}

#chat-messages::-webkit-scrollbar-track {
    background: transparent;
}

#chat-messages::-webkit-scrollbar-thumb {
    background-color: #2c1363;
    border-radius: 10px;
}

/* Garantir que as mensagens utilizem o espaço corretamente */
.message-animation {
    width: 100%;
    margin-bottom: 1rem;
}

/* Aplicar auto-margem no último elemento para empurrar as mensagens para baixo */
.message-animation:first-child {
    margin-top: auto;
}

/* Estilos para mensagens formatadas */
.chat-message p {
    margin-bottom: 0.5rem;
}

.chat-message ul,
.chat-message ol {
    margin-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.chat-message ul li {
    list-style-type: disc;
}

.chat-message ol li {
    list-style-type: decimal;
}

.chat-message a {
    color: #2563eb;
    text-decoration: underline;
}

/* Estilos para destacar trechos de formatação */
.chat-message strong,
.chat-message b {
    font-weight: bold;
}

.chat-message em,
.chat-message i {
    font-style: italic;
}

.chat-message code {
    background-color: #f1f1f1;
    padding: 0.1rem 0.3rem;
    border-radius: 3px;
    font-family: monospace;
}

.chat-message pre {
    background-color: #f1f1f1;
    padding: 0.5rem;
    border-radius: 5px;
    overflow-x: auto;
    margin-bottom: 0.5rem;
}

.recommendation-block {
    display: block;
    cursor: pointer;
}

.recommendation-block:hover {
    background-color: #f3f4f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.recommendations-hidden {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Melhorias para dispositivos móveis */
@media (max-width: 640px) {
    .chat-message {
        max-width: 85%;
    }

    /* Ajustes para o indicador de digitação em dispositivos móveis */
    .typing-dots {
        padding: 2px;
    }

    .typing-dots span {
        width: 6px;
        height: 6px;
    }

    /* Reduzir o tamanho do avatar em dispositivos móveis */
    .flex-shrink-0.h-10.w-10 {
        height: 32px !important;
        width: 32px !important;
    }

    /* Ajustar espaçamento das mensagens */
    .mb-4 {
        margin-bottom: 0.75rem !important;
    }

    /* Melhorar a visualização do texto em telas pequenas */
    .chat-message {
        padding: 0.5rem 0.75rem !important;
    }

    /* Garantir que o botão de enviar seja grande o suficiente para tocar facilmente */
    button[type="submit"] {
        min-height: 44px;
        min-width: 44px;
        padding: 0.5rem 1rem;
    }
}