/* Animations, transitions, and effects for WinaltChat */
/* Reviewer note: this file is animation-only and is kept separate from layout/theme
 * so motion can be tuned without risking structural regressions.
 */

/* Amazon button hover animation */
.ai-amazon-btn {
    transition: all 0.2s ease;
}

.ai-amazon-btn:hover {
    transform: translateY(-1px);
}

/* Chat window open/close animation */
.ai-window {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Typing dots animation */
.ai-typing-dots { 
    display: flex; 
    gap: 4px; 
    padding: 5px 0; 
}

.ai-typing-dots span { 
    width: 8px; 
    height: 8px; 
    background: #94a3b8; 
    border-radius: 50%; 
    animation: aiTyping 1.4s infinite ease-in-out; 
}

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

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

@keyframes aiTyping { 
    0%, 80%, 100% { 
        transform: scale(0.6); 
        opacity: 0.4; 
    } 
    40% { 
        transform: scale(1); 
        opacity: 1; 
    } 
}

/* Keep only these keyframes for pulse animation (used in chat-ui.js) */
@keyframes ai-pulse-ring {
    0% {
        transform: scale(0.95);
        opacity: 0.8;
        box-shadow: 0 0 0 0 rgba(var(--ai-primary-rgb), 0.7);
    }
    70% {
        transform: scale(1.05);
        opacity: 0.4;
        box-shadow: 0 0 0 10px rgba(var(--ai-primary-rgb), 0);
    }
    100% {
        transform: scale(0.95);
        opacity: 0.8;
        box-shadow: 0 0 0 0 rgba(var(--ai-primary-rgb), 0);
    }
}