/* Stack mode transitions the authored slide elements themselves. */
[data-profusion-slider-effect="stack"] .swiper {
    overflow: visible !important;
    perspective: 1200px;
}

[data-profusion-slider-effect="stack"] .swiper-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr;
    position: relative;
    transform: none !important;
    transition: none !important;
    transform-style: preserve-3d;
}

[data-profusion-slider-effect="stack"] .swiper-slide {
    grid-area: 1 / 1;
    position: relative !important;
    width: 100% !important;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    transform: var(--profusion-stack-card-transform, translate3d(0, 0, 0) scale(1)) !important;
    transform-origin: center top !important;
    backface-visibility: hidden;
    transition:
        transform var(--profusion-stack-transition-duration, 600ms) cubic-bezier(0.22, 1, 0.36, 1),
        opacity var(--profusion-stack-fade-in-duration, 120ms) ease;
    will-change: transform, opacity;
    opacity: 1 !important;
    visibility: visible !important;
}

[data-profusion-slider-effect="stack"] .swiper-slide.swiper-slide-active {
    z-index: 1000 !important;
}

[data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-back-card {
    z-index: calc(900 - var(--profusion-stack-card-depth)) !important;
}

[data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-out-of-pile {
    z-index: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

[data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-fading-card {
    opacity: 0 !important;
    transition:
        transform var(--profusion-stack-transition-duration, 600ms) cubic-bezier(0.22, 1, 0.36, 1),
        opacity var(--profusion-stack-fade-out-duration, 100ms) ease !important;
}

[data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-prev-outgoing {
    opacity: 1 !important;
    transition:
        transform var(--profusion-stack-transition-duration, 600ms) cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0ms linear !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-profusion-slider-effect="stack"] .swiper-slide,
    [data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-fading-card,
    [data-profusion-slider-effect="stack"] .swiper-slide.profusion-stack-prev-outgoing {
        transition-duration: 1ms;
    }
}
