.worksolution-product-slider {
    --worksolution-product-gallery-height: 100vh;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: var(--worksolution-product-gallery-height);
    min-height: 480px;
    max-height: 1000px;
    background: #0d1014;
}

.worksolution-product-slider__slides {
    position: relative;
    display: grid;
    height: 100%;
}

.worksolution-product-slider__slide {
    grid-area: 1 / 1;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease;
}

.worksolution-product-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
}

.worksolution-product-slider__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@supports (height: 100svh) {
    .worksolution-product-slider {
        --worksolution-product-gallery-height: 100svh;
    }
}

@media (max-width: 767px) {
    .worksolution-product-slider {
        min-height: 360px;
    }
}

.worksolution-product-slider__progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 8px;
    background: #d6d6d8;
    overflow: hidden;
    z-index: 2;
}

.worksolution-product-slider__progress span {
    display: block;
    width: 0;
    height: 100%;
    background: #ffb600;
}

.worksolution-product-slider__dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 24px;
    display: flex;
    gap: 8px;
    z-index: 2;
}

.worksolution-product-slider__dot {
    width: 32px;
    height: 4px;
    border-radius: 999px;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
}

.worksolution-product-slider__dot span {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.5);
    border-radius: inherit;
    transition: background 0.3s ease;
}

.worksolution-product-slider__dot.is-active span {
    background: #ffb600;
}

.worksolution-product-slider__dot:focus-visible {
    outline: 2px solid #ffb600;
}
