/* =========================
   FADE IN ANIMATION (MESSAGES)
========================= */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================
   TYPING DOTS ANIMATION
========================= */
.typing-indicator {
    display: flex;
    gap: 5px;
    padding: 10px 14px;
    border-radius: 15px;

    background: rgba(255, 215, 0, 0.1);
    border: 1px solid var(--glass-border);

    width: fit-content;
}

.typing-dot {
    width: 6px;
    height: 6px;
    background: var(--color-gold);
    border-radius: 50%;

    animation: bounce 1.2s infinite ease-in-out;
}

/* Delay each dot */
.typing-dot:nth-child(2) {
    animation-delay: 0.2s;
}
.typing-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(0.6);
        opacity: 0.5;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}


/* =========================
   BUTTON HOVER MICRO EFFECT
========================= */
.quick-btn,
.send-btn {
    transform: scale(1);
}

.quick-btn:hover,
.send-btn:hover {
    transform: scale(1.05);
}


/* =========================
   INPUT FOCUS EFFECT
========================= */
.form-control:focus {
    border: 1px solid var(--color-gold);
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}


/* =========================
   SMOOTH TRANSITIONS GLOBAL
========================= */
button,
input {
    transition: var(--transition-smooth);
}