body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    background-color: #f4f6f9;
    color: #333;
    display: flex;
    flex-direction: column;
    height: 100vh;
}
.site-header {
    background-color: #fff;
    padding: 1rem 2rem;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    align-items: center;
}
.logo { height: 40px; margin-right: 1rem; }
.titulo { font-size: 1.5rem; color: #1a237e; margin: 0; font-weight: 700; }
.wrapper {
    display: flex;
    justify-content: center;
    flex: 1;
    padding: 2rem;
}
main { width: 100%; max-width: 600px; }

/* Estilos do Chatbot */
#chatbot-container {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.1);
    height: 100%;
    display: flex;
    flex-direction: column;
}
#chat-window {
    flex-grow: 1;
    padding: 1.5rem;
    overflow-y: auto; /* Adiciona barra de rolagem se necessário */
}
.chat-message {
    margin-bottom: 1rem;
    animation: fadeIn 0.5s ease-in-out;
}
.bot-message .bubble {
    background-color: #e8eaf6;
    color: #1a237e;
    border-radius: 20px 20px 20px 5px;
    padding: 0.8rem 1.2rem;
    display: inline-block;
    max-width: 80%;
}
.chat-options {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.chat-options button {
    background-color: #fff;
    color: #3f51b5;
    border: 2px solid #3f51b5;
    border-radius: 20px;
    padding: 0.6rem 1.2rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.chat-options button:hover {
    background-color: #3f51b5;
    color: #fff;
}
.user-message {
    display: flex;
    justify-content: flex-end;
}
.user-message .bubble {
    background-color: #3f51b5;
    color: #fff;
    border-radius: 20px 20px 5px 20px;
    padding: 0.8rem 1.2rem;
    display: inline-block;
    max-width: 80%;
}
.typing-indicator {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.typing-indicator span {
    width: 8px;
    height: 8px;
    background-color: #9fa8da;
    border-radius: 50%;
    animation: bounce 1.4s infinite ease-in-out both;
}
.typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.16s; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bounce { 0%, 80%, 100% { transform: scale(0); } 40% { transform: scale(1.0); } }
footer { text-align: center; padding: 1.5rem; color: #777; font-size: 0.9rem; }