.zoo-slider {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: var(--zoo-slider-h-desktop, 470px);
}

.zoo-slider__track {
    display: flex;
    height: 100%;
    will-change: transform;
}

.zoo-slider__slide {
    flex-shrink: 0;
    height: 100%;
    overflow: hidden;
}

.zoo-slider__html {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.zoo-slider__img-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.zoo-slider__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.zoo-slider__img--mobile {
    display: none;
}

/* Arrows */
.zoo-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(0,0,0,0.35);
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    transition: background 0.2s, opacity 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    -webkit-appearance: none;
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.zoo-slider__arrow::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2.5px solid #fff;
    border-right: 2.5px solid #fff;
}

.zoo-slider__arrow--prev { left: 14px; }
.zoo-slider__arrow--next { right: 14px; }

.zoo-slider__arrow--prev::after {
    transform: rotate(-135deg);
    margin-left: 3px;
}

.zoo-slider__arrow--next::after {
    transform: rotate(45deg);
    margin-right: 3px;
}

.zoo-slider:hover .zoo-slider__arrow {
    opacity: 1;
}

.zoo-slider__arrow:hover {
    background: rgba(0,0,0,0.55);
}

/* Dots — simple small circles */
.zoo-slider__dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.zoo-slider__dot {
    all: unset;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.45);
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
    transition: background 0.2s;
}

.zoo-slider__dot.active {
    background: #fff;
}

/* Mobile — only swipe, no UI controls */
@media (max-width: 768px) {
    .zoo-slider {
        height: var(--zoo-slider-h-mobile, auto);
    }

    .zoo-slider__img--desktop { display: none; }
    .zoo-slider__img--mobile { display: block; }

    .zoo-slider__arrow { display: none !important; }
    .zoo-slider__dots { display: none !important; }
}
