.chat-widget { position: fixed; left: 1.5rem; bottom: 1.5rem; z-index: 200; font-family: var(--fonte-base); }

.chat-widget-toggle {
    width: 58px; height: 58px; border-radius: 50%; border: none; cursor: pointer;
    background: linear-gradient(135deg, var(--azul-institucional), var(--azul-accent));
    color: #fff; box-shadow: 0 8px 24px rgba(11,74,130,0.4);
    display: flex; align-items: center; justify-content: center;
}
.chat-widget-toggle svg { width: 26px; height: 26px; }
.chat-widget-toggle .icone-fechar { display: none; }
.chat-widget.aberto .chat-widget-toggle .icone-abrir { display: none; }
.chat-widget.aberto .chat-widget-toggle .icone-fechar { display: block; }

.chat-widget-panel {
    position: absolute; bottom: 72px; left: 0;
    width: min(340px, 90vw); max-height: 480px;
    background: #fff; border-radius: var(--raio-lg); box-shadow: var(--sombra-lg);
    display: flex; flex-direction: column; overflow: hidden;
    border: 1px solid var(--cinza-200);
}
.chat-widget-cabecalho { display: flex; align-items: center; gap: 0.6rem; padding: 0.9rem 1rem; background: linear-gradient(135deg, var(--azul-marinho), var(--azul-institucional)); color: #fff; }
.chat-widget-cabecalho img { border-radius: 6px; background: #fff; padding: 2px; }
.chat-widget-cabecalho strong { display: block; font-size: 0.92rem; }
.chat-widget-cabecalho span { font-size: 0.72rem; opacity: 0.85; }

.chat-widget-mensagens { flex: 1; overflow-y: auto; padding: 1rem; display: flex; flex-direction: column; gap: 0.6rem; min-height: 180px; }
.chat-msg { max-width: 85%; padding: 0.55rem 0.8rem; border-radius: 0.9rem; font-size: 0.87rem; line-height: 1.45; }
.chat-msg--bot { align-self: flex-start; background: var(--cinza-100); color: var(--cinza-800); border-bottom-left-radius: 0.2rem; }
.chat-msg--user { align-self: flex-end; background: var(--azul-accent); color: #fff; border-bottom-right-radius: 0.2rem; }

.chat-widget-lead { padding: 0.8rem 1rem; border-top: 1px solid var(--cinza-200); background: var(--cinza-100); }
.chat-widget-lead p { font-size: 0.82rem; margin-bottom: 0.6rem; color: var(--cinza-600); }
.chat-widget-lead form { display: flex; flex-direction: column; gap: 0.5rem; }
.chat-widget-lead input, .chat-widget-lead textarea { font-size: 0.85rem; padding: 0.5rem 0.7rem; }

.chat-widget-form { display: flex; border-top: 1px solid var(--cinza-200); }
.chat-widget-form input { flex: 1; border: none; padding: 0.8rem 1rem; font-size: 0.88rem; font-family: inherit; }
.chat-widget-form input:focus { outline: none; }
.chat-widget-form button { background: none; border: none; color: var(--azul-accent); cursor: pointer; padding: 0 1rem; }

@media (max-width: 480px) {
    .chat-widget { left: 1rem; bottom: 1rem; }
    .whatsapp-botao { right: 1rem; bottom: 1rem; }
}
