/**
 * Difference Slider Styles
 *
 * @package Hello_Elementor_Child
 * @author  Renie Namocot
 * @link    https://www.renienamocot.com/
 */

/* ========================================
   Difference Slider Container
   ======================================== */

#slider-difference {
    position: relative;
    margin: 0px 0;
    overflow: visible;
    padding-bottom: 0px; /* Space for arrows at bottom - reduced to be closer to content */
}

.products-slider-container {
    overflow: hidden;
    position: relative;
    width: 100%;
}

.products-slider-wrapper {
    display: flex;
    gap: 20px;
    transition: transform 0.3s ease-in-out;
    will-change: transform;
}

/* Individual Slide Styles */
.products-slider-wrapper > * {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    box-sizing: border-box !important;
    padding: 0 10px;
}

/* Force slide widths - overrides any Elementor or theme styles */
#slider-difference .products-slider-wrapper > * {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Specific override for Elementor containers */
#slider-difference .products-slider-wrapper > .e-con,
#slider-difference .products-slider-wrapper > .elementor-element {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    flex-basis: auto !important;
}

/* Override Elementor's default container sizing */
#slider-difference.slider-initialized .products-slider-wrapper > .e-con.e-child,
#slider-difference.slider-initialized .products-slider-wrapper > .elementor-element.e-child {
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 0 !important;
    margin: 0 !important;
}

/* All screen sizes: 1 column visible (full width), advances by 1 slide */

/* Navigation Buttons - Bottom Right Position */
#slider-difference .slider-prev,
#slider-difference .slider-next,
#slider-difference button.slider-prev,
#slider-difference button.slider-next {
    position: absolute !important;
    bottom: 0 !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 2px solid #ffffff !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 10 !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#slider-difference .slider-prev svg path,
#slider-difference .slider-next svg path,
#slider-difference button.slider-prev svg path,
#slider-difference button.slider-next svg path {
    stroke: #ffffff !important;
    fill: none !important;
    transition: stroke 0.3s ease !important;
}

#slider-difference .slider-prev:hover,
#slider-difference .slider-next:hover,
#slider-difference .slider-prev:active,
#slider-difference .slider-next:active,
#slider-difference button.slider-prev:hover,
#slider-difference button.slider-next:hover,
#slider-difference button.slider-prev:active,
#slider-difference button.slider-next:active {
    background-color: #5B7699 !important;
    background-image: none !important;
    border-color: #5B7699 !important;
}

#slider-difference .slider-prev:hover svg path,
#slider-difference .slider-next:hover svg path,
#slider-difference .slider-prev:active svg path,
#slider-difference .slider-next:active svg path,
#slider-difference button.slider-prev:hover svg path,
#slider-difference button.slider-next:hover svg path,
#slider-difference button.slider-prev:active svg path,
#slider-difference button.slider-next:active svg path {
    stroke: #ffffff !important;
    fill: none !important;
}

/* Position arrows at bottom right (as shown in reference image) */
#slider-difference .slider-prev,
#slider-difference button.slider-prev {
    left: auto !important;
    right: 200px !important; /* 50px button width + 15px gap */
    transform: none !important;
        margin-bottom: 60px;
}

#slider-difference .slider-next,
#slider-difference button.slider-next {
    left: auto !important;
    right: 125px !important;
    transform: none !important;
        margin-bottom: 60px;
}

#slider-difference .slider-prev svg,
#slider-difference .slider-next svg,
#slider-difference button.slider-prev svg,
#slider-difference button.slider-next svg {
    width: 24px !important;
    height: 24px !important;
}

/* Dots Navigation - Hidden (user only wants arrows) */
.slider-dots {
    display: none !important;
}

/* ========================================
   Responsive Styles
   ======================================== */

/* Tablets and below */
@media (max-width: 992px) {
    #slider-difference {
        padding-bottom: 75px;
    }

    #slider-difference .slider-prev,
    #slider-difference .slider-next,
    #slider-difference button.slider-prev,
    #slider-difference button.slider-next {
        width: 45px !important;
        height: 45px !important;
    }

    /* Keep arrows at bottom right on tablets */
    #slider-difference .slider-prev,
    #slider-difference button.slider-prev {
        right: 60px !important; /* 45px button width + 15px gap */
    }

    #slider-difference .slider-prev svg,
    #slider-difference .slider-next svg,
    #slider-difference button.slider-prev svg,
    #slider-difference button.slider-next svg {
        width: 20px !important;
        height: 20px !important;
    }
}

/* Mobile devices */
@media (max-width: 768px) {
    #slider-difference {
        padding-bottom: 70px;
    }

    #slider-difference .slider-prev,
    #slider-difference .slider-next,
    #slider-difference button.slider-prev,
    #slider-difference button.slider-next {
        width: 40px !important;
        height: 40px !important;
    }

    /* Center arrows on mobile */
    #slider-difference .slider-prev,
    #slider-difference button.slider-prev {
        left: 50% !important;
        transform: translateX(-47.5px) !important; /* Center with gap */
    }

    #slider-difference .slider-next,
    #slider-difference button.slider-next {
        left: 50% !important;
        transform: translateX(7.5px) !important; /* Center with gap */
    }

    #slider-difference .slider-prev svg,
    #slider-difference .slider-next svg,
    #slider-difference button.slider-prev svg,
    #slider-difference button.slider-next svg {
        width: 18px !important;
        height: 18px !important;
    }
    /* Position arrows at bottom right (as shown in reference image) */
#slider-difference .slider-prev,
#slider-difference button.slider-prev {

        margin-bottom: 10px;
}

#slider-difference .slider-next,
#slider-difference button.slider-next {

        margin-bottom: 10px;
}
}

/* Small mobile devices */
@media (max-width: 576px) {
    #slider-difference {
        padding-bottom: 65px;
    }

    .products-slider-wrapper {
        gap: 15px;
    }

    #slider-difference .slider-prev,
    #slider-difference .slider-next,
    #slider-difference button.slider-prev,
    #slider-difference button.slider-next {
        width: 35px !important;
        height: 35px !important;
    }

    /* Center arrows on small mobile */
    #slider-difference .slider-prev,
    #slider-difference button.slider-prev {
        left: 50% !important;
        transform: translateX(-42.5px) !important; /* Center with gap */
    }

    #slider-difference .slider-next,
    #slider-difference button.slider-next {
        left: 50% !important;
        transform: translateX(7.5px) !important; /* Center with gap */
    }

    #slider-difference .slider-prev svg,
    #slider-difference .slider-next svg,
    #slider-difference button.slider-prev svg,
    #slider-difference button.slider-next svg {
        width: 16px !important;
        height: 16px !important;
    }
}

/* ========================================
   Optional: Product Card Styles
   ======================================== */

/* Add these styles if your product items need styling */
.products-slider-wrapper .product-card {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
}

.products-slider-wrapper .product-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.products-slider-wrapper .product-card img {
    width: 100%;
    height: auto;
    display: block;
}

.products-slider-wrapper .product-card .product-title {
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #24272D;
    text-align: center;
}

.products-slider-wrapper .product-card .product-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.products-slider-wrapper .product-card .product-link:hover {
    color: #B87456;
}
