/* =========================================================
   Owl Carousel Styles
========================================================= */

/* -----------------------------------------
   Base Carousel
----------------------------------------- */
.owl-carousel {
    z-index: 0;
    position: relative; /* ensures carousel is relative for absolute positioning */
}

.owl-stage {
    padding-left: 0 !important; /* remove left padding */
}

/* -----------------------------------------
   Navigation Buttons (Owl Theme)
----------------------------------------- */
.owl-theme .owl-nav {
    position: absolute;
    color: var(--theme-color-blue-medium);
    background: unset;
    bottom: 25px; /* distance from bottom */
    left: 50%; /* center horizontally */
    transform: translateX(-50%);
    display: flex;
    gap: 0; /* spacing between prev/next buttons */
    z-index: 1;
    font-size: 14px;
}

/* Navigation buttons: images */
.owl-theme .owl-nav img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/* Remove default button styles */
.owl-theme .owl-nav [class*='owl-'] {
    margin: 5px 2px !important;
    padding: unset !important;
    background: unset !important;
}

/* Nav button text span size */
.owl-theme .owl-nav button span {
    font-size: 14px !important;
}

/* -----------------------------------------
   Dots / Pagination
----------------------------------------- */
.owl-theme .owl-dots {
    display: flex !important;
    align-items: center;
}

.owl-theme .owl-dots .owl-dot span {
    height: 6px;
    width: 6px;
    margin: 5px 3px;
    background: #D1D5DB;
    border: 1px solid #D1D5DB;
}

.owl-theme .owl-dots .owl-dot.active span {
    height: 8px;
    width: 8px;
    background: var(--theme-color-blue-medium);
    border: 1px solid var(--theme-color-blue-medium);
}

@media (max-width: 450px) and (min-width: 376px) {
    .owl-theme .owl-nav {
        bottom: 35px;
    }
}

@media (max-width: 390px) and (min-width: 376px) {
    .owl-theme .owl-nav {
        bottom: 30px;
    }
}

/* Real Clients / Reviews Section */
section.theme-client-transformations .owl-theme .owl-nav {
    bottom: 0px;
    position: relative !important;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    /* color: #FFF; */ /* optional override */
}

section.theme-client-transformations .owl-nav button.owl-prev,
section.theme-client-transformations .owl-nav button.owl-next {
    color: #97846B;;
}


section.theme-client-transformations .owl-theme .owl-dots .owl-dot.active span {
    background: #97846B;
    border: 1px solid #97846B !important;
}

section.theme-client-transformations .owl-theme .owl-dots .owl-dot span {
    /* background: #D1D5DB; */
    /* border: 1px solid #D1D5DB; */
    width: 8px;
    height: 8px;
    margin: 5px 1px;
}

section.theme-client-transformations .owl-theme .owl-nav button:hover {
    color: #798a9f;
}

section.theme-client-transformations .owl-item:hover {
    cursor: pointer;
}

section.theme-client-transformations .carousel-card-wrapper {
    position: relative;
    min-height: 150px;
}

section.theme-client-transformations .carousel-detail-card {
    position: absolute;
    width: 100%;
    opacity: 0;
    transform: translateY(5%);
    pointer-events: none;
    /*transition: all 0.4s ease;*/
}

section.theme-client-transformations .carousel-detail-card.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
}

/* =========================================================
   Theme Product Images Slider Overrides
========================================================= */

/* Hide default dots and prev button */
div.owl-theme.theme-product-images-slider .owl-nav .owl-dots,
div.owl-theme.theme-product-images-slider .owl-nav button.owl-prev {
    display: none !important;
}

/* Position navigation on the right side, vertically centered */
div.owl-theme.theme-product-images-slider .owl-nav {
    color: #FFF !important;
    bottom: unset !important;
    top: 50% !important; /* vertical center */
    left: unset;
    right: 2%;
    transform: translate(0, -50%);
}

/* Next button icon with semi-transparent background */
div.owl-theme.theme-product-images-slider .owl-nav button.owl-next i {
    padding: 10px 12px !important;
    background-color: rgba(35, 49, 76, 0.1) !important; /* semi-transparent */
    border-radius: 50%;
    border: 2px solid #3d4965;
    color: #FFF; /* icon color stays opaque */
}
