.ruh-premium-slider {
    --ruh-transition-speed: 600ms;
    --ruh-dot-size: 10px;
    --ruh-active-dot-size: 10px;
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 600px;
    overflow: hidden;
    isolation: isolate;
    touch-action: pan-y;
}

.ruh-premium-slider,
.ruh-premium-slider * {
    box-sizing: border-box;
}

.ruh-premium-slider__track {
    display: flex;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 0, 0);
    transition: transform var(--ruh-transition-speed) cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.ruh-premium-slider__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 100%;
    overflow: hidden;
}

.ruh-premium-slider__link,
.ruh-premium-slider__media,
.ruh-premium-slider__image {
    display: block;
    width: 100%;
    height: 100%;
}

.ruh-premium-slider__link {
    color: inherit;
    text-decoration: none;
}

.ruh-premium-slider__media {
    position: relative;
}

.ruh-premium-slider__image {
    object-fit: cover;
    object-position: center center;
    user-select: none;
    -webkit-user-drag: none;
}

.ruh-premium-slider__image--desktop { display: block; }
.ruh-premium-slider__image--mobile { display: none; }

.ruh-premium-slider.is-fade .ruh-premium-slider__track {
    position: relative;
    display: block;
    transform: none !important;
}

.ruh-premium-slider.is-fade .ruh-premium-slider__slide {
    position: absolute;
    inset: 0;
    width: 100%;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--ruh-transition-speed) ease, visibility var(--ruh-transition-speed) ease;
}

.ruh-premium-slider.is-fade .ruh-premium-slider__slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
}

.ruh-premium-slider__arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px;
    height: 50px;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(0,0,0,.35) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: translateY(-50%);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    line-height: 1 !important;
    font-size: 0 !important;
    text-indent: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease, transform .25s ease;
}

.ruh-premium-slider__arrow:hover,
.ruh-premium-slider__arrow:focus-visible {
    color: #111 !important;
    background: #fff !important;
}

.ruh-premium-slider__arrow:focus-visible,
.ruh-premium-slider__dot:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

.ruh-premium-slider__arrow:disabled {
    opacity: .35 !important;
    cursor: not-allowed;
}

.ruh-premium-slider__arrow--prev { left: 20px; }
.ruh-premium-slider__arrow--next { right: 20px; }

.ruh-premium-slider__arrow svg {
    display: block !important;
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    flex: 0 0 24px;
    pointer-events: none;
    overflow: visible;
}

.ruh-premium-slider__arrow svg,
.ruh-premium-slider__arrow svg * {
    fill: none !important;
    stroke: currentColor !important;
}

.ruh-premium-slider__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 21;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center;
    gap: 10px;
    padding: 0 20px;
    pointer-events: none;
}

.ruh-premium-slider__dot {
    display: inline-block !important;
    width: var(--ruh-dot-size) !important;
    height: var(--ruh-dot-size) !important;
    min-width: var(--ruh-dot-size) !important;
    min-height: var(--ruh-dot-size) !important;
    max-width: var(--ruh-dot-size) !important;
    max-height: var(--ruh-dot-size) !important;
    flex: 0 0 var(--ruh-dot-size) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.55) !important;
    opacity: 1 !important;
    cursor: pointer;
    pointer-events: auto;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none !important;
    vertical-align: middle !important;
    line-height: 0 !important;
    font-size: 0 !important;
    transform: scale(1) !important;
    transition: transform .25s ease, background-color .25s ease, opacity .25s ease;
}

.ruh-premium-slider__dot.is-active {
    width: var(--ruh-dot-size) !important;
    height: var(--ruh-dot-size) !important;
    min-width: var(--ruh-dot-size) !important;
    min-height: var(--ruh-dot-size) !important;
    max-width: var(--ruh-dot-size) !important;
    max-height: var(--ruh-dot-size) !important;
    flex-basis: var(--ruh-dot-size) !important;
    background: #fff !important;
    transform: scale(1.18) !important;
}

.ruh-premium-slider.dots-pill .ruh-premium-slider__dot {
    border-radius: 999px !important;
}

.ruh-premium-slider.dots-pill .ruh-premium-slider__dot.is-active {
    width: var(--ruh-active-dot-size) !important;
    min-width: var(--ruh-active-dot-size) !important;
    max-width: var(--ruh-active-dot-size) !important;
    flex-basis: var(--ruh-active-dot-size) !important;
    transform: none !important;
}

.ruh-premium-slider.dots-line .ruh-premium-slider__dot {
    height: 3px !important;
    min-height: 3px !important;
    max-height: 3px !important;
    border-radius: 999px !important;
}

.ruh-premium-slider.dots-line .ruh-premium-slider__dot.is-active {
    width: var(--ruh-active-dot-size) !important;
    min-width: var(--ruh-active-dot-size) !important;
    max-width: var(--ruh-active-dot-size) !important;
    flex-basis: var(--ruh-active-dot-size) !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .ruh-premium-slider { height: 620px; }
    .ruh-premium-slider__image--desktop { display: none !important; }
    .ruh-premium-slider__image--mobile { display: block !important; }
    .ruh-premium-slider__arrow {
        width: 44px;
        height: 44px;
        min-width: 44px !important;
        min-height: 44px !important;
    }
    .ruh-premium-slider__arrow svg {
        width: 20px;
        height: 20px;
        min-width: 20px;
        min-height: 20px;
        flex-basis: 20px;
    }
    .ruh-premium-slider.ruh-hide-arrows-mobile .ruh-premium-slider__arrow { display: none !important; }
    .ruh-premium-slider.ruh-hide-dots-mobile .ruh-premium-slider__dots { display: none !important; }
}

@media (min-width: 768px) {
    .ruh-premium-slider__image--desktop { display: block !important; }
    .ruh-premium-slider__image--mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .ruh-premium-slider__track,
    .ruh-premium-slider.is-fade .ruh-premium-slider__slide,
    .ruh-premium-slider__arrow,
    .ruh-premium-slider__dot {
        transition-duration: 1ms !important;
    }
}
