/* ROSEO local UI helpers. No third-party slider plugin dependency. */

/* Main visual slider: old Slider Pro style soft cross-fade. */
#topmain.roseo-slider {
    position: relative;
    z-index: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
}

#topmain.roseo-slider .sp-slides {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0;
}

#topmain.roseo-slider .sp-slide {
    grid-area: 1 / 1;
    width: 100%;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    -webkit-transition: opacity 800ms ease-in-out;
    transition: opacity 800ms ease-in-out;
}

/* Before JS initializes, show the first image only. */
#topmain.roseo-slider:not(.roseo-ready) .sp-slide:first-child {
    opacity: 1;
}

#topmain.roseo-slider .sp-slide.roseo-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

#topmain.roseo-slider .sp-slide img {
    display: block;
    width: 100%;
    height: auto !important;
}

/* Shop banner step slider: one connected horizontal track, no arrows. */
.roseo-carousel {
    position: relative;
    overflow: hidden !important;
}

.roseo-carousel > ul {
    position: relative;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    min-width: 0 !important;
    max-width: none !important;
    white-space: nowrap;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate3d(0,0,0);
    will-change: transform;
}

.roseo-carousel > ul > li {
    float: none !important;
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.roseo-carousel > ul > li img {
    display: block;
}
