/* Client Section Specific Styles */
/* This file contains all client section related CSS to prevent conflicts with other components */

/* Custom breakpoint for extra small screens */
@media (min-width: 475px) {
    .xs\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .xs\:inline {
        display: inline;
    }
    .xs\:hidden {
        display: none;
    }
}

/* Mobile-first responsive improvements */
@media (max-width: 474px) {
    .xs\:text-3xl {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    .xs\:inline {
        display: none;
    }
    .xs\:hidden {
        display: inline;
    }
}

/* Extra small screens (320px - 474px) */
@media (max-width: 474px) {
    .client-logo-item {
        /* min-height: 70px; */
    }
    
    .client-logo-item .relative {
        /* padding: 0.75rem; */
        /* height: 70px; */
    }
    
    /* Reduce font sizes for very small screens */
    .text-2xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
    
    .text-base {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }
    
    .text-lg {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    
    .text-xl {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
}

/* Small screens (475px - 639px) */
@media (min-width: 475px) and (max-width: 639px) {
    .client-logo-item {
        /* min-height: 80px; */
    }
    
    .client-logo-item .relative {
        /* height: 80px; */
    }
}

/* Medium screens (640px - 767px) */
@media (min-width: 640px) and (max-width: 767px) {
    .client-logo-item {
        /* min-height: 100px; */
    }
    
    .client-logo-item .relative {
        /* height: 100px; */
    }
}

/* Large screens (768px+) */
@media (min-width: 768px) {
    .client-logo-item {
        /* min-height: 120px; */
    }
    
    .client-logo-item .relative {
        /* height: 120px; */
    }
}

/* Extra responsive improvements for mobile */
@media (max-width: 640px) {
    /* Reduce padding and margins for mobile */
    .py-20 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    
    .mb-20 {
        margin-bottom: 3rem;
    }
    
    .mb-12 {
        margin-bottom: 2rem;
    }
    
    /* Improve button spacing on mobile */
    .flex-col {
        gap: 0.75rem;
    }
    
    /* Better text wrapping for mobile */
    .max-w-4xl {
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .max-w-3xl {
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .max-w-2xl {
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Tablet specific adjustments */
@media (min-width: 641px) and (max-width: 1024px) {
    .client-logo-item .relative {
        height: 110px;
    }
    
    /* Better spacing for tablet */
    .gap-6 {
        gap: 1.5rem;
    }
}

/* Improve touch targets for mobile */
@media (max-width: 768px) {
    a[href*="free_quote"], 
    a[href*="tel:"] {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}


/* High contrast mode support */
@media (prefers-contrast: high) {
    .client-logo-container {
        border: 2px solid #000;
    }
    
    .stats-card {
        border: 1px solid #000;
    }
}

/* Auto-scrolling carousel animation */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.client-carousel,
.animate-scroll {
    animation: scroll 30s linear infinite;
    width: calc(200% + 2rem); /* Double width to accommodate duplicated content */
}

/* Pause animation on hover */
.client-carousel:hover,
.animate-scroll:hover {
    animation-play-state: paused;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .client-logo-item,
    .stats-card,
    .cta-button,
    .animate-gradient,
    .animate-fade-in,
    .animate-enhanced-pulse,
    .client-carousel {
        animation: none;
        transition: none;
    }
    
    .client-logo-item:hover,
    .stats-card:hover,
    .cta-button:hover {
        transform: none;
    }
    
    /* For reduced motion, show static grid instead of carousel */
    .client-carousel,
    .animate-scroll {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 1rem;
        width: 100%;
        animation: none;
    }
}
