.th-slider-wrapper {
    max-width: 100%;
    margin: 20px auto;
    position: relative;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    /* border-radius: 5px; */
}

.swiper-pagination {
    bottom: 10px;
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    width: 10% !important;
}

.swiper-pagination-bullet {
    background: red !important;
}

/* Base state for animated elements */
.animated-text-overlay {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-out;
}

/* State when animation should run */
.animated-text-overlay.animate {
    opacity: 1;
    visibility: visible;
}

/* Define the animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    /* Start below and faded */
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    /* Start above and faded */
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideLeft {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    /* Start right and faded */
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideRight {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    /* Start left and faded */
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Apply animations via combined classes */
.animated-text-overlay.fade-in.animate {
    animation: fadeIn 0.6s ease-out forwards;
    /* Adjust duration/timing */
}

.animated-text-overlay.slide-up.animate {
    animation: slideUp 0.6s ease-out forwards;
}

.animated-text-overlay.slide-down.animate {
    animation: slideDown 0.6s ease-out forwards;
}

.animated-text-overlay.slide-left.animate {
    animation: slideLeft 0.6s ease-out forwards;
}

.animated-text-overlay.slide-right.animate {
    animation: slideRight 0.6s ease-out forwards;
}

.slide-with-overlay {
    position: relative;
}

.slide-with-overlay img {
    display: block;
    width: 100%;
    height: auto;
}



.animated-text-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    padding: 5%;
    /* text-align: center; */
    pointer-events: none;
    z-index: 10;
}

.slide-text-content {
    /* max-width: 90%; */
    line-height: 1;
    /* visibility: hidden; */
    /* You'll reveal this via JS animation later */
    font-size: clamp(18px, 2vw, 42px) !important;

}