/* Container paddings handled via CSS variables */
.service-demo-text-carousel {
    padding-top: var(--padding-top, 50px);
    padding-bottom: var(--padding-bottom, 50px);
    padding-left: 40px;
    padding-right: 40px;
    max-width: 1920px;
    margin: 0 auto;
    background: url(/wp-content/uploads/2026/01/service-demo-background.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    filter: brightness(110%);
    position: relative; /* Required for absolute positioning of arrows */
}

.service-demo-text-carousel-inner {
    max-width: 1600px;
    margin: 0 auto;
}

.service-demo-text-carousel-inner > .service-demo-swiper {
	padding-bottom: 70px;
}

.swiper-slide {
	display: flex;
    flex-direction: column;
    gap: 50px;
    cursor: grab;
}

.text-carousel-images {
    display: flex;
    gap: 10px;
}

.text-carousel-images picture {
	width: 100%;
}

.text-carousel-image {
    display: block;
    width: 100%;
    object-fit: cover;
    border-radius: 5px;
}

.text-carousel-image.image-1,
.text-carousel-image.image-2 {
    aspect-ratio: 3/2; /* Two images side by side */
    width: 100%;
}

.text-carousel-image.single {
    aspect-ratio: 3/1; /* Full width if only 1 image */
    width: 100%;
}

.text-carousel-content {
    display: flex;
    flex-direction: row;
    gap: 200px;
}

.text-carousel-title {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    width: 50%
}

.text-carousel-text {
	width: 50%;
    font-size: 16px;
    line-height: 21px;
}

.nav-arrows-container {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 10;
}

.nav-arrows-container .swiper-button-prev {
	left: 0;
    width: 25px;
    height: 40px;
}

.nav-arrows-container .swiper-button-next {
	left: 55px;
    width: 25px;
    height: 40px;
}

.nav-arrows-container .swiper-button-prev img,
.nav-arrows-container .swiper-button-next img {
    width: 40px;
    height: 40px;
    cursor: grab;
}

/* Remove default Swiper arrows */
.swiper-button-prev::after,
.swiper-button-next::after {
    content: none;
}

/* Optional: Hover effect */
.service-demo-text-carousel .swiper-button-prev:hover,
.service-demo-text-carousel .swiper-button-next:hover {
    opacity: 0.66;
}

@media (max-width: 1400px) and (min-width: 1025px) {

	.text-carousel-content {
    	gap: 100px;
    }

}

@media (max-width: 1024px) {

	.text-carousel-content {
    	flex-direction: column;
        gap: 50px;
    }
    
    .service-demo-text-carousel-inner > .service-demo-swiper {
		padding-bottom: 90px;
	}
    
    .text-carousel-title {
    	width: 100%
	}

	.text-carousel-text {
		width: 100%;
	}
    
    .text-carousel-image.image-2 {
    	display: none;
    }
    
    .text-carousel-image.single {
    	aspect-ratio: 3/2;
	}

}

@media (max-width: 767px) {

	.service-demo-text-carousel {
    	padding-top: var(--padding-top-mobile, 30px);
    	padding-bottom: var(--padding-bottom-mobile, 30px);
    	padding-left: 20px;
    	padding-right: 20px;
    }
    
    .swiper-slide {
    	gap: 40px;
	}
    
    .text-carousel-content {
        gap: 40px;
    }

}