.ows-showcase{
    position:relative;
    width:100%;
    box-sizing:border-box;
    --ows-gap:28px;
    --ows-desktop:3;
    --ows-tablet:2;
    --ows-mobile:1;
    --ows-radius:4px;
}
.ows-showcase *, .ows-showcase *:before, .ows-showcase *:after{box-sizing:border-box}
.ows-viewport{
    overflow:hidden;
    width:100%;
    touch-action:pan-y;
    cursor:grab;
}
.ows-showcase.is-dragging .ows-viewport{cursor:grabbing}
.ows-showcase.is-dragging,
.ows-showcase.is-dragging *{
    user-select:none;
    -webkit-user-select:none;
}
.ows-slide img{
    -webkit-user-drag:none;
}
.ows-track{
    display:flex;
    gap:var(--ows-gap);
    transition:transform .55s cubic-bezier(.22,.61,.36,1);
    will-change:transform;
}
.ows-slide{
    position:relative;
    flex:0 0 auto;
    overflow:hidden;
    border-radius:var(--ows-radius);
    background:#fff;
}
.ows-slide a{display:block;color:inherit;text-decoration:none}
.ows-slide img{
    display:block;
    width:100%;
    height:auto;
    border-radius:var(--ows-radius);
    user-select:none;
    -webkit-user-drag:none;
}
.ows-shadow .ows-slide img{
    box-shadow:0 14px 38px rgba(0,0,0,.22);
}
.ows-caption{
    padding:10px 4px 0;
    text-align:center;
    font-size:14px;
    line-height:1.35;
}
.ows-arrow{
    position:absolute;
    top:50%;
    z-index:20;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:0;
    border-radius:999px;
    background:rgba(0,0,0,.70);
    color:#fff;
    font-size:27px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .2s ease, background .2s ease;
}
.ows-arrow:hover{background:#000;transform:translateY(-50%) scale(1.06)}
.ows-prev{left:14px}
.ows-next{right:14px}
.ows-dots{
    display:flex;
    justify-content:center;
    gap:8px;
    padding-top:18px;
}
.ows-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    border:0;
    padding:0;
    background:#bbb;
    cursor:pointer;
}
.ows-dot.is-active{background:#222}

/* Standard single slider */
.ows-mode-slider .ows-slide{width:100%}

/* Multi-image carousel */
.ows-mode-carousel .ows-track{align-items:flex-start}

/* Coverflow: large centre screenshot with smaller angled side screenshots */
.ows-mode-coverflow{
    min-height:calc(var(--ows-cover-height) + 90px);
    padding:30px 0 45px;
}
.ows-mode-coverflow .ows-viewport{
    overflow:visible;
    min-height:calc(var(--ows-cover-height) + 20px);
}
.ows-mode-coverflow .ows-track{
    position:relative;
    display:block;
    min-height:calc(var(--ows-cover-height) + 20px);
    transform:none !important;
    perspective:1600px;
}
.ows-mode-coverflow .ows-slide{
    position:absolute;
    top:0;
    left:50%;
    width:var(--ows-cover-width);
    height:var(--ows-cover-height);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    transform:
        translateX(calc(-50% + (var(--ows-diff) * 63%)))
        translateZ(calc(var(--ows-abs) * -210px))
        rotateY(calc(var(--ows-diff) * -16deg))
        scale(calc(1 - (var(--ows-abs) * var(--ows-side-step))));
    transform-origin:center center;
    transition:transform .55s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
    z-index:calc(10 - var(--ows-abs));
    background:transparent;
    overflow:visible;
}
.ows-mode-coverflow .ows-slide.is-active{
    z-index:15;
}
.ows-mode-coverflow .ows-slide a{
    height:100%;
    width:100%;
    display:flex;
    align-items:flex-start;
    justify-content:center;
}
.ows-mode-coverflow .ows-slide img{
    display:block;
    width:auto;
    max-width:100%;
    height:100%;
    max-height:var(--ows-cover-height);
    object-fit:contain;
    margin:0 auto;
}
.ows-mode-coverflow .ows-slide:not(.is-active){
    opacity:.68;
}
.ows-mode-coverflow .ows-slide.is-active{
    opacity:1;
}
.ows-mode-coverflow .ows-arrow{top:46%}

@media (max-width:980px){
    .ows-mode-coverflow{
        min-height:calc(var(--ows-cover-height-tablet) + 80px);
    }
    .ows-mode-coverflow .ows-viewport,
    .ows-mode-coverflow .ows-track{
        min-height:calc(var(--ows-cover-height-tablet) + 20px);
    }
    .ows-mode-coverflow .ows-slide{
        width:min(72%, 760px);
        height:var(--ows-cover-height-tablet);
        transform:
            translateX(calc(-50% + (var(--ows-diff) * 68%)))
            translateZ(calc(var(--ows-abs) * -180px))
            rotateY(calc(var(--ows-diff) * -14deg))
            scale(calc(1 - (var(--ows-abs) * var(--ows-side-step))));
    }
    .ows-mode-coverflow .ows-slide img{
        max-height:var(--ows-cover-height-tablet);
    }
}

@media (max-width:600px){
    .ows-arrow{width:30px;height:30px;font-size:18px}
    .ows-prev{left:6px}.ows-next{right:6px}

    .ows-mode-coverflow{
        min-height:calc(var(--ows-cover-height-mobile) + 65px);
        padding-top:18px;
    }
    .ows-mode-coverflow .ows-viewport,
    .ows-mode-coverflow .ows-track{
        min-height:calc(var(--ows-cover-height-mobile) + 15px);
    }
    .ows-mode-coverflow .ows-slide{
        width:84%;
        height:var(--ows-cover-height-mobile);
        transform:
            translateX(calc(-50% + (var(--ows-diff) * 76%)))
            rotateY(calc(var(--ows-diff) * -12deg))
            scale(calc(1 - (var(--ows-abs) * var(--ows-side-step))));
    }
    .ows-mode-coverflow .ows-slide img{
        max-height:var(--ows-cover-height-mobile);
    }
}
