/* Touch Scroll Fixes for Carousels */

/* Prevent touch scroll conflicts with Swiper carousels */
.services-swiper,
.slider-one-slide,
.hero-slider,
.carousel-gallery .swiper-container {
    /* Prevent page scroll when touching carousel */
    touch-action: pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
}

/* Ensure carousel content doesn't interfere with page scroll */
.services-swiper .swiper-wrapper,
.slider-one-slide .swiper-wrapper,
.hero-slider .swiper-wrapper,
.carousel-gallery .swiper-wrapper {
    /* Allow horizontal scrolling within carousel */
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
}

/* Prevent text selection during carousel interaction */
.services-swiper,
.slider-one-slide,
.hero-slider,
.carousel-gallery .swiper-container {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Allow text selection within carousel content */
.services-swiper .swiper-slide,
.slider-one-slide .swiper-slide,
.hero-slider .swiper-slide,
.carousel-gallery .swiper-slide {
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
}

/* Improve touch responsiveness */
.services-swiper .swiper-slide,
.slider-one-slide .swiper-slide,
.hero-slider .swiper-slide,
.carousel-gallery .swiper-slide {
    /* Ensure smooth transitions */
    transition: transform 0.3s ease;
    /* Prevent layout shifts */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* Fix for iOS Safari touch issues */
@supports (-webkit-touch-callout: none) {
    .services-swiper,
    .slider-one-slide,
    .hero-slider,
    .carousel-gallery .swiper-container {
        /* iOS specific touch handling */
        -webkit-touch-callout: none;
        -webkit-tap-highlight-color: transparent;
    }
}

/* Prevent momentum scrolling conflicts */
.services-swiper,
.slider-one-slide,
.hero-slider,
.carousel-gallery .swiper-container {
    /* Disable momentum scrolling on carousel containers */
    -webkit-overflow-scrolling: auto;
}

/* Ensure proper touch area for navigation buttons */
.swiper-button-next,
.swiper-button-prev {
    /* Increase touch area */
    min-width: 44px;
    min-height: 44px;
    /* Prevent text selection */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Improve touch responsiveness */
    touch-action: manipulation;
}

/* Fix for pagination dots touch area */
.swiper-pagination-bullet {
    /* Increase touch area for pagination */
    min-width: 20px;
    min-height: 20px;
    /* Prevent text selection */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Improve touch responsiveness */
    touch-action: manipulation;
}

/* Prevent double-tap zoom on carousel elements */
.services-swiper *,
.slider-one-slide *,
.hero-slider *,
.carousel-gallery * {
    /* Disable double-tap zoom */
    touch-action: manipulation;
}

/* Ensure proper z-index for carousel elements */
.services-swiper,
.slider-one-slide,
.hero-slider,
.carousel-gallery .swiper-container {
    /* Ensure carousel is above other content */
    z-index: 1;
    position: relative;
}

/* Fix for Android Chrome touch issues */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    .services-swiper,
    .slider-one-slide,
    .hero-slider,
    .carousel-gallery .swiper-container {
        /* Android Chrome specific fixes */
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* Responsive touch fixes */
@media (max-width: 768px) {
    /* Mobile-specific touch improvements */
    .services-swiper,
    .slider-one-slide,
    .hero-slider,
    .carousel-gallery .swiper-container {
        /* Increase touch sensitivity on mobile */
        touch-action: pan-x pan-y;
    }
    
    /* Larger touch areas on mobile */
    .swiper-button-next,
    .swiper-button-prev {
        min-width: 50px;
        min-height: 50px;
    }
    
    .swiper-pagination-bullet {
        min-width: 24px;
        min-height: 24px;
    }
}

/* Fix for specific carousel types */
.services-swiper {
    /* Services carousel specific fixes */
    overflow: visible;
}

.slider-one-slide {
    /* Slider one slide specific fixes */
    overflow: hidden;
}

.hero-slider {
    /* Hero slider specific fixes */
    overflow: hidden;
}

/* Prevent conflicts with other touch handlers */
.services-swiper *:not(.swiper-wrapper *),
.slider-one-slide *:not(.swiper-wrapper *),
.hero-slider *:not(.swiper-wrapper *),
.carousel-gallery *:not(.swiper-wrapper *) {
    /* Allow normal touch behavior for non-carousel content */
    touch-action: auto;
} 