/* ==========================================================
   BusqueCasa Chat Framework - Animacoes
========================================================== */

@keyframes bc-chat-launcher-breathe{
    0%,100%{ transform:translateY(0) scale(1); }
    50%{ transform:translateY(-3px) scale(1.03); }
}

@keyframes bc-chat-message-in{
    from{ opacity:0; transform:translateY(8px) scale(.985); }
    to{ opacity:1; transform:translateY(0) scale(1); }
}

@keyframes bc-chat-control-in{
    from{ opacity:0; transform:translateY(7px); }
    to{ opacity:1; transform:translateY(0); }
}

@keyframes bc-chat-typing-dot{
    0%,60%,100%{
        transform:translateY(0) scale(.92);
        opacity:.42;
    }
    30%{
        transform:translateY(-5px) scale(1.08);
        opacity:1;
    }
}

.bc-chat-message{
    animation:bc-chat-message-in .24s cubic-bezier(.22,.61,.36,1) both;
}

.bc-chat-buttons,
.bc-chat-input-area:not([hidden]){
    animation:bc-chat-control-in .20s ease both;
}

.bc-chat-window.bc-chat-nudge{
    animation:bc-chat-nudge .28s ease;
}

@keyframes bc-chat-nudge{
    0%,100%{ transform:translateY(0) scale(1); }
    50%{ transform:translateY(-3px) scale(1); }
}

@media (prefers-reduced-motion: reduce){
    .bc-chat-message,
    .bc-chat-buttons,
    .bc-chat-input-area:not([hidden]),
    .bc-chat-typing-dot,
    .bc-chat-launcher,
    .bc-chat-window.bc-chat-nudge{
        animation:none !important;
    }
}
