/* Custom styles */
.btn-primary {
    @apply bg-blue-600 text-white px-6 py-2 rounded-lg hover:bg-blue-700 transition-colors;
}

.btn-secondary {
    @apply bg-blue-100 text-blue-600 px-6 py-2 rounded-lg hover:bg-blue-200 transition-colors;
}

/* Animations */
@keyframes countUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.counter {
    animation: countUp 1s ease-out forwards;
}

/* Mobile menu transition */
.mobile-menu-enter {
    opacity: 0;
    transform: scale(0.95);
}

.mobile-menu-enter-active {
    opacity: 1;
    transform: scale(1);
    transition: opacity 200ms ease-out, transform 200ms ease-out;
}

.mobile-menu-exit {
    opacity: 1;
    transform: scale(1);
}

.mobile-menu-exit-active {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 200ms ease-out, transform 200ms ease-out;
}

/* Form styles */
input:focus, textarea:focus {
    @apply ring-2 ring-blue-500 border-blue-500;
}

.form-success {
    @apply text-green-600 text-center mt-4;
}

.form-error {
    @apply text-red-600 text-center mt-4;
}