/* Custom styles beyond Tailwind */

/* Smooth scrolling for the entire page */
html {
    scroll-behavior: smooth;
}

/* Testimonial slider styles */
.testimonials-track {
    transition: transform 0.3s ease;
    width: 300%; /* 3 slides */ 
}

/* Critical mobile fixes */
@media (max-width: 640px) {
    .testimonial-slider {
        margin-left: 0;
        margin-right: 0;
    }
    
    .testimonial-slide {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    
    .testimonials-track {
        padding: 0 8px;
        width: 300%; /* Keep 3 slides */
    }
    
    /* Ensure text doesn't overflow */
    .testimonial-slide p {
        font-size: 12px !important;
        line-height: 1.4 !important;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    .testimonial-slide h4 {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
    
    /* Smaller stars on mobile */
    .testimonial-slide .fas.fa-star {
        font-size: 10px !important;
    }
}

/* Tablet and larger screens */
@media (min-width: 641px) and (max-width: 768px) {
    .testimonials-track {
        width: 300%;
    }
}

/* Active testimonial indicator */
.testimonial-indicator.active {
    background-color: #059669 !important; /* green-600 */
}

/* Navigation arrow hover effects */
.testimonial-slider button:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease;
}

/* Smooth transitions */
.testimonials-track {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom hover effects */
.hover-lift {
    transition: transform 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
}

/* Custom animations for elements that need more than what AOS provides */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.custom-fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

/* Custom styling for form elements */
input:focus, select:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2); /* green-600 with opacity */
}

/* Custom styling for the mobile menu transition */
#mobile-menu {
    transition: max-height 0.3s ease, opacity 0.3s ease;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

#mobile-menu:not(.hidden) {
    max-height: 300px;
    opacity: 1;
}