.ristna-home-slider {
    margin: 0 0 32px;
}

.ristna-slider {
    position: relative;
    width: 100%;
    height: clamp(320px, 40vw, 780px);
    overflow: hidden;
    background: #0f1f3d;
}

.ristna-slider__track {
    display: flex;
    height: 100%;
    transition: transform 0.6s ease;
    will-change: transform;
}

.ristna-slider__slide {
    flex: 0 0 100%;
    height: 100%;
}

.ristna-slider__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ristna-slider__nav {
    position: absolute;
    left: 50px;
    right: 50px;
    top: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    z-index: 2;
    transform: translateY(-50%);
}

.ristna-slider__control {
    pointer-events: auto;
    width: 44px;
    height: 44px;
    border-radius: 50px;
    border: 1px solid #ffffff;
    background: rgba(15, 31, 61, 0.35);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, color 0.2s ease;
}

.ristna-slider__control:hover {
    background: rgba(15, 31, 61, 0.6);
    color: #f5bc11;
}

.ristna-slider__control:focus-visible {
    outline: 2px solid #f5bc11;
    outline-offset: 2px;
}

.ristna-slider__control i {
    display: none;
}

.ristna-slider__control::before {
    font-family: "FontAwesome";
    font-size: 18px;
    line-height: 1;
    color: inherit;
}

.ristna-slider__prev::before {
    content: "\f177";
}

.ristna-slider__next::before {
    content: "\f178";
}

.ristna-slider__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 50px;
    display: flex;
    justify-content: center;
    gap: 12px;
    z-index: 2;
}

.ristna-slider__dot {
    width: 18px;
    height: 18px;
    border-radius: 18px;
    border: 2px solid #ffffff;
    background: rgba(255, 255, 255, 0.4);
    padding: 0;
}

.ristna-slider__dot.is-active {
    background: #ffffff;
}

.ristna-slider__dot:focus-visible {
    outline: 2px solid #f5bc11;
    outline-offset: 2px;
}

@media (max-width: 991px) {
    .ristna-slider {
        height: clamp(260px, 55vw, 520px);
    }

    .ristna-slider__nav {
        left: 24px;
        right: 24px;
    }

    .ristna-slider__dots {
        bottom: 24px;
        gap: 10px;
    }
}

@media (max-width: 640px) {
    .ristna-slider {
        height: clamp(220px, 70vw, 420px);
    }

    .ristna-slider__control {
        width: 38px;
        height: 38px;
    }
}
