.aisc-widget {
    --aisc-center-width: 234px;
    --aisc-center-height: 256px;
    --aisc-side-scale: 80%;
    --aisc-gap: 34px;
    --aisc-duration: 600ms;
    --aisc-overlay-color: #C49A00;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.aisc-stage {
    --aisc-step: calc(var(--aisc-center-width) + var(--aisc-gap));
    position: relative;
    width: 100%;
    height: 330px;
    display: block;
    overflow: visible;
    touch-action: pan-y;
    user-select: none;
}

.aisc-slide {
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--aisc-center-width);
    height: var(--aisc-center-height);
    overflow: hidden;
    transform: translate(-50%, -50%) translateX(0) scale(1);
    transform-origin: center center;
    opacity: 0;
    z-index: 0;
    transition:
        transform var(--aisc-duration) cubic-bezier(.22,.61,.36,1),
        opacity var(--aisc-duration) ease,
        filter var(--aisc-duration) ease;
    will-change: transform, opacity;
    pointer-events: none;
}

.aisc-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    -webkit-user-drag: none;
}

.aisc-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--aisc-duration) ease;
}

.aisc-slide.is-center {
    opacity: 1;
    z-index: 5;
    pointer-events: auto;
    cursor: grab;
}

.aisc-slide.is-side {
    width: calc(var(--aisc-center-width) * var(--aisc-side-scale) / 100);
    height: calc(var(--aisc-center-height) * var(--aisc-side-scale) / 100);
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
}

.aisc-slide.is-side::after {
    opacity: .55;
}

.aisc-slide.is-prev {
    transform: translate(-50%, -50%) translateX(calc(var(--aisc-step) * -1)) scale(.8);
}

.aisc-slide.is-next {
    transform: translate(-50%, -50%) translateX(var(--aisc-step)) scale(.8);
}

.aisc-slide.is-hidden-left {
    transform: translate(-50%, -50%) translateX(-180%) scale(.65);
    opacity: 0;
}

.aisc-slide.is-hidden-right {
    transform: translate(-50%, -50%) translateX(180%) scale(.65);
    opacity: 0;
}

.aisc-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    min-height: 8px;
}

.aisc-dot {
    appearance: none;
    padding: 0;
    border: 1px solid #B8B0A6;
    background: transparent;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    cursor: pointer;
    transition:
        width 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        transform 220ms ease;
}

.aisc-dot:hover {
    transform: scale(1.15);
}

.aisc-dot.is-active {
    width: 16px;
    background: #7F766C;
    border-color: #7F766C;
}

.aisc-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.9);
    color: #222;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

.aisc-arrow span {
    position: relative;
    top: -2px;
}

.aisc-prev { left: 20px; }
.aisc-next { right: 20px; }

.aisc-arrow:hover {
    background: #fff;
}

.aisc-widget.is-dragging .aisc-slide {
    transition: none;
}

.aisc-widget.is-dragging .aisc-slide.is-center {
    cursor: grabbing;
}

@media (max-width: 767px) {
    .aisc-stage {
        --aisc-step: calc(var(--aisc-center-width) + 18px);
        overflow: hidden;
    }

    .aisc-slide.is-side {
        opacity: .55;
    }

    .aisc-prev { left: 8px; }
    .aisc-next { right: 8px; }

    .aisc-arrow {
        width: 36px;
        height: 36px;
    }
}
button.aisc-dot.is-active {
    width: 16px !important;
}