/* Custom styles that complement Tailwind */
body {
    scroll-behavior: smooth;
}

/* Logo animation */
@keyframes logoPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

img[alt="InnoBPM Logo"] {
    transition: all 0.3s ease;
}

img[alt="InnoBPM Logo"]:hover {
    animation: logoPulse 1.5s infinite;
}
/* Animation for back to top button */
#back-to-top {
    transition: all 0.3s ease;
    transform: translateY(20px);
    opacity: 0;
}

#back-to-top.visible {
    transform: translateY(0);
    opacity: 1;
}
/* Captcha styles */
.captcha-container {
    margin: 1rem 0;
}

/* Form styles */
input:focus, textarea:focus {
box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}
/* Error styles (removed red borders) */
input:invalid, textarea:invalid {
    border-color: #e5e7eb;
}

input:invalid:focus, textarea:invalid:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}
/* Consistent bullet points */
.flex-shrink-0 {
    flex-shrink: 0;
}

/* Service card hover effect */
.bg-gray-50:hover {
    transform: translateY(-5px);
}
/* Form submission states */
#contact-form.is-submitting {
    opacity: 0.7;
    pointer-events: none;
}

#contact-form.is-submitting button[type="submit"]::after {
    content: '...';
}

/* Smooth section transitions */
section {
    scroll-margin-top: 80px;
}

/* Mobile menu animation */
#mobile-menu {
    transition: max-height 0.3s ease;
    max-height: 0;
    overflow: hidden;
}

#mobile-menu.open {
    max-height: 500px;
}