@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

/* --------------------------------------------------
   CUSTOM ANIMATIONS & SIMULATION SPECIAL STYLES
   Complements Tailwind CSS for custom behaviors.
-------------------------------------------------- */

html {
    scroll-behavior: smooth;
}
/* Message Bubble Fade-in & Pop-in transition */
.message-bubble {
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.2);
}

.message-bubble.hidden {
    opacity: 0 !important;
    transform: translateY(16px) scale(0.96) !important;
    display: none !important;
}

/* Bouncing Typing Animation Keyframes */
@keyframes typing {
    0%, 80%, 100% {
        transform: scale(0.3);
        opacity: 0.4;
    }
    40% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Bouncing dots selector */
.typing-bubble .dot {
    animation: typing 1.4s infinite ease-in-out both;
}

/* Dot animation delay styling for typing indicator */
.typing-bubble .dot:nth-child(1) {
    animation-delay: -0.32s;
}
.typing-bubble .dot:nth-child(2) {
    animation-delay: -0.16s;
}

/* Custom Scrollbar for Chat Area */
#chat-messages-container::-webkit-scrollbar {
    width: 4px;
}
#chat-messages-container::-webkit-scrollbar-track {
    background: transparent;
}
#chat-messages-container::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

/* WhatsApp chat area backdrop pattern */
.wa-chat-area {
    background-image: radial-gradient(rgba(27, 58, 45, 0.04) 1.2px, transparent 0);
    background-size: 16px 16px;
    scroll-behavior: smooth;
}

/* Pulse keyframes for hero button */
@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.45);
    }
    70% {
        box-shadow: 0 0 0 16px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

.animate-pulse {
    animation: pulse-glow 2.5s infinite;
}

/* Service SVG Icons Hover transitions */
.service-icon-container img {
    transition: filter 0.3s ease;
}
.service-icon-container:hover img {
    filter: brightness(0) invert(1);
}

/* Global Premium Scrollbar Styles */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #F5F0E7; /* warm-ivory */
}

::-webkit-scrollbar-thumb {
    background: #1B3A2D; /* deep-jade */
    border-radius: 5px;
    border: 2px solid #F5F0E7; /* warm-ivory padding */
}

::-webkit-scrollbar-thumb:hover {
    background: #3D6B51; /* sage-green */
}

/* FAQ Details Content Animation */
details[open] p {
    animation: faqFadeIn 0.3s ease-out;
}

@keyframes faqFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
