/* body {
    align-items: center;
    background: #E3E3E3;
    display: flex;
    height: 100vh;
    justify-content: center;
} */

/* Animation */
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-250px * 9.5));
    }
}

/* Slider */
.slider-client {
    /* box-shadow: 0 10px 20px -5px rgba(0, 0, 0, .125); */
    /* background: white; */
    height: 150px;
    margin: auto;
    overflow: hidden;
    position: relative;

    /* responsive width */
    width: 100%;
    /* max-width: 960px; */
}

/* Gradient fade */
.slider-client::before,
.slider-client::after {
    content: "";
    position: absolute;
    top: 0;
    width: 300px;
    height: 150px;
    z-index: 2;
    background: linear-gradient(to right, rgba(250, 250, 250, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.slider-client::after {
    right: 0;
    transform: rotateZ(180deg);
}

.slider-client::before {
    left: 0;
}

/* Track */
.slider-client .slide-track {
    display: flex;
    gap: 20px;
    animation: scroll 30s linear infinite;
    /* adjust duration */
    display: flex;
    width: calc(300px * 16);
    /* 17 original + 17 duplicates */
}

/* Slide */
.slider-client .slide {
    width: auto;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
}

/* Make images shrink proportionally */
.slider-client .slide img {
    /* margin-left: 10px;
    margin-right: 10px; */
    width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* --------------------------------------------- */
/* RESPONSIVE BREAKPOINTS */
/* --------------------------------------------- */

/* Medium screens (tablets) */
@media (max-width: 768px) {
    .slider-client {
        height: 80px;
    }

    .slider-client::before,
    .slider-client::after {
        width: 100px;
        height: 80px;
    }

    .slider-client .slide {
        width: 180px;
        height: 80px;
    }

    .slider-client .slide-track {
        width: calc(180px * 14);
    }

    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(calc(-180px * 9.5));
        }
    }
}

/* Small screens (phones) */
@media (max-width: 480px) {
    .slider-client {
        height: 60px;
    }

    .slider-client::before,
    .slider-client::after {
        width: 60px;
        height: 60px;
    }

    .slider-client .slide {
        width: 140px;
        height: 60px;
    }

    .slider-client .slide-track {
        width: calc(140px * 14);
    }

    @keyframes scroll {
        0% {
            transform: translateX(0);
        }

        100% {
            transform: translateX(calc(-140px * 9.5));
        }
    }
}

/* --------------------------------------------- */
/* Carousel */
/* --------------------------------------------- */

.carousel {
    display: block;
    font-size: 0;
    /* border-radius: 1.5rem; */
    padding: 5px;
    /* box-shadow: 0 4px 10px rgba(0, 0, 0, .15); */
    /* background: white; */
    transform: translateZ(0);
    /* height: 200px; */
    -webkit-overflow-scrolling: touch;
    position: relative;
}

/* Hover fade indicators */
/* .carousel[data-at*="left"] > .wrap::before {
  opacity: 1;
  text-indent: -50px;
}

.carousel[data-at*="right"] > .wrap::after {
  opacity: 1;
  text-indent: -50px;
} */

/* Scrollbar */
.carousel::after {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: 4;
    bottom: -4px;
    left: 0;
    background: #D82B6A;
    height: 4px;
    border-radius: 4px;
    opacity: 0;
    width: var(--scrollWidth, 0);
    left: var(--scrollLleft, 0);
    transition: opacity 0.2s, bottom 0.2s;
}

.carousel:hover::after {
    opacity: 1;
    bottom: -10px;
}

/* Wrap */
.carousel>.wrap {
    overflow: hidden;
    border-radius: calc(8px - 8px/2);
    position: relative;
}

.carousel>.wrap::before,
.carousel>.wrap::after {
    content: '\2039';
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 50px;
    font-size: 80px;
    text-indent: -30px;
    line-height: 200px;
    font-family: monospace;
    color: #555;
    font-weight: bold;
    border-radius: 8px;
    pointer-events: none;
    transition: 0.2s ease-out;
    background: linear-gradient(to right, white 20%, transparent);
}

.carousel>.wrap::after {
    transform: rotate(180deg);
    left: auto;
    right: 0;
}

/* UL */
.carousel>.wrap>ul {
    list-style: none;
    white-space: nowrap;
    height: 200px;
    margin: 0;
    padding: 0;
}

/* LI */
.carousel>.wrap>ul>li {
    border-radius: 0.5rem;
    display: inline-flex;
    /* inline container like inline-block but flex children */
    align-items: center;
    /* use center / flex-end for bottom alignment */
    vertical-align: middle;
    /* keeps inline positioning of the LI itself */
    height: 100%;
    margin: 0 0 0 5px;
    position: relative;
    overflow: hidden;
    transition: 0.25s ease-out;
}

.carousel>.wrap>ul>li:first-child {
    margin-left: 0;
}

/* IMG */
.carousel .wrap ul li a {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.carousel .wrap ul li img {
    height: 100%;
    width: auto;
    display: block;
}

/* Make details wrapper hidden by default */
.product-card__details-wrapper {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
}

/* Ensure text wrapper is visible */
.product-card__text-wrapper {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Show details wrapper on hover of the parent figure */
.product-card:hover .product-card__details-wrapper {
  opacity: 1;
  max-height: 500px; /* adjust as needed */
}
