.ufae-wrapper {
    --ufae-container-3d-depth: 50px;
    --ufae-box-front-bg-color: #2F4F4F;
    --ufae-box-front-bg-gradient-color-1: #9b51e0;
    --ufae-box-front-bg-gradient-color-2: #b984ff;
    --ufae-box-front-bg-gradient-direction: 'to right';
    --ufae-box-front-bg-image-overlay: transparent;
    --ufae-box-front-padding: 3em;
    --ufae-box-back-bg-color: #4E5338;
    --ufae-box-back-bg-gradient-color-1: #f78da7;
    --ufae-box-back-bg-gradient-color-2: #ffd3b6;
    --ufae-box-back-bg-gradient-direction: 'to right';
    --ufae-box-back-bg-image-overlay: transparent;
    --ufae-box-width: 100%;
    --ufae-box-height: 350px;
    --ufae-box-margin-top: 1em;
    --ufae-box-margin-bottom: 1em;
    --ufae-box-margin-right: 1em;
    --ufae-box-margin-left: 1em;
    --ufae-box-shadow-hr: 0px;
    --ufae-box-shadow-vr: 0px;
    --ufae-box-shadow-blur: 0px;
    --ufae-box-shadow-spread: 0px;
    --ufae-box-shadow-color: transparent;
    --ufae-box-bd-radius: 20px;
    --ufae-title-front-bg-color: transparent;
    --ufae-title-front-color: #000;
    --ufae-title-front-padding: 0px;
    --ufae-title-front-margin: 0px;
    --ufae-title-back-bg-color: transparent;
    --ufae-title-back-color: #000;
    --ufae-title-back-padding: 0px;
    --ufae-title-back-margin: 0px;
    --ufae-desc-front-bg-color: transparent;
    --ufae-desc-front-color: #000;
    --ufae-desc-front-padding: 0px;
    --ufae-desc-front-margin: 0px;
    --ufae-desc-back-bg-color: transparent;
    --ufae-desc-back-color: #000;
    --ufae-desc-back-padding: 0px;
    --ufae-desc-back-margin: 0px;
    --ufae-icon-front-bg-color: transparent;
    --ufae-icon-front-color: #000;
    --ufae-icon-front-size: 64px;
    --ufae-icon-front-padding: 0px;
    --ufae-icon-front-margin: 0px;
    --ufae-icon-front-bd-radius: 10px;
    --ufae-icon-back-bg-color: transparent;
    --ufae-icon-back-color: #000;
    --ufae-icon-back-size: 64px;
    --ufae-icon-back-padding: 0px;
    --ufae-icon-back-margin: 0px;
    --ufae-icon-back-bd-radius: 10px;
    --ufae-btn-front-bg-color: #000;
    --ufae-btn-front-color: #fff;
    --ufae-btn-front-width: auto;
    --ufae-btn-front-padding: 10px 20px;
    --ufae-btn-front-margin: 0px;
    --ufae-btn-back-bg-color: #000;
    --ufae-btn-back-color: #fff;
    --ufae-btn-back-width: auto;
    --ufae-btn-back-padding: 10px 20px;
    --ufae-btn-back-margin: 0px;
    --ufae-transition-timing: 1000;
    --ufae-front-items-justify: center;
    --ufae-front-items-alignment: center;
    --ufae-back-items-justify: center;
    --ufae-back-items-alignment: center;

    .ufae-container {

        .ufae-flipbox-content-overlay {
            width: 100%;
        }

        // Flipbox animation css start
        &[data-ufae-animation^="flip-"]:not([data-ufae-animation^="flip-cube"]):not([data-ufae-animation^="flip-classic"]) {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-back {
                        transform: none !important;
                    }
                }

                .ufae-flipbox-inner {
                    perspective: 1000px;
                    transform-style: preserve-3d;

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        transform-style: preserve-3d;
                        backface-visibility: hidden;
                        transition: all calc(var(--ufae-transition-timing) * 1ms) ease;

                        .ufae-flipbox-content {
                            transform: translateZ(calc(var(--ufae-container-3d-depth)));
                        }

                        .ufae-flipbox-content-overlay {
                            transform-style: preserve-3d;
                            transform: translateZ(.1px);
                        }

                        .ufae-flipbox-content {
                            backface-visibility: hidden;
                        }
                    }

                    .ufae-flipbox-front {
                        transform: none;
                        z-index: 1;
                    }
                }
            }
        }

        &[data-ufae-animation="flip-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateX(180deg) rotateY(0) !important;
                    }
                }

                .ufae-flipbox-inner {
                    .ufae-flipbox-back {
                        transform: rotateX(-180deg) rotateY(0);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateX(-180deg) rotateY(0) !important;
                    }
                }

                .ufae-flipbox-inner {
                    .ufae-flipbox-back {
                        transform: rotateX(180deg) rotateY(0);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateY(180deg) rotateX(0) !important;
                    }
                }

                .ufae-flipbox-inner {
                    .ufae-flipbox-back {
                        transform: rotateY(-180deg) rotateX(0);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateY(-180deg) rotateX(0) !important;
                    }
                }

                .ufae-flipbox-inner {


                    .ufae-flipbox-back {
                        transform: rotateY(180deg) rotateX(0);
                    }
                }
            }
        }

        &[data-ufae-animation="fade"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                position: relative;
                overflow: hidden;

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        opacity: 0 !important;
                    }

                    .ufae-flipbox-back {
                        opacity: 1 !important;
                    }
                }

                .ufae-flipbox-inner {
                    transition: opacity calc(var(--ufae-transition-timing) * 1ms) ease;
                    position: relative;


                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        transition: opacity calc(var(--ufae-transition-timing) * 1ms) ease;
                        backface-visibility: hidden;
                        position: absolute;
                        width: 100%;
                        height: 100%;
                    }

                    .ufae-flipbox-back {
                        opacity: 0; // Initially hidden
                    }
                }
            }
        }

        &[data-ufae-animation="zoom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                position: relative;
                overflow: hidden;

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: translateZ(-50px) scale(0.7) !important;
                        opacity: 0 !important;
                    }

                    .ufae-flipbox-back {
                        transform: translateZ(0) scale(1) !important;
                        opacity: 1 !important;
                    }
                }

                .ufae-flipbox-inner {


                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        backface-visibility: hidden;
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) ease, opacity calc(var(--ufae-transition-timing) * 1ms) ease;
                    }

                    .ufae-flipbox-back {
                        transform: translateZ(0) scale(0.5);
                        opacity: 0; // Initially hidden
                    }
                }
            }
        }

        &[data-ufae-animation^="slide"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                position: relative;
                overflow: hidden;

                .ufae-flipbox-inner {
                    box-shadow: var(--ufae-box-shadow-hr) var(--ufae-box-shadow-vr) var(--ufae-box-shadow-blur) var(--ufae-box-shadow-spread) var(--ufae-box-shadow-color);
                    overflow: hidden;
                    border-radius: var(--ufae-box-bd-radius);

                    .ufae-flipbox-inner-overlay {
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) ease;

                        .ufae-flipbox-front,
                        .ufae-flipbox-back {
                            backface-visibility: hidden;
                            position: absolute;
                            width: 100%;
                            height: 100%;
                            border-radius: unset;
                            box-shadow: unset;
                        }
                    }
                }
            }
        }

        &[data-ufae-animation="slide-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                &:not([data-ufae-event-type='click']) {
                    .ufae-flipbox-inner-overlay {
                        &:hover {
                            transform: translateY(-100%);
                        }
                    }
                }

                &[data-ufae-event-type='click'] {
                    &.ufae-active-flipbox {
                        .ufae-flipbox-inner-overlay {
                            transform: translateY(-100%);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-inner-overlay {
                        .ufae-flipbox-back {
                            transform: translateY(100%);
                        }
                    }
                }
            }
        }

        &[data-ufae-animation="slide-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                &:not([data-ufae-event-type='click']) {
                    .ufae-flipbox-inner-overlay {
                        &:hover {
                            transform: translateY(100%);
                        }
                    }
                }

                &[data-ufae-event-type='click'] {
                    &.ufae-active-flipbox {
                        .ufae-flipbox-inner-overlay {
                            transform: translateY(100%);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-inner-overlay {
                        .ufae-flipbox-back {
                            transform: translateY(-100%);
                        }
                    }
                }
            }
        }

        &[data-ufae-animation="slide-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                &:not([data-ufae-event-type='click']) {
                    .ufae-flipbox-inner-overlay {
                        &:hover {
                            transform: translateX(100%);
                        }
                    }
                }

                &[data-ufae-event-type='click'] {
                    &.ufae-active-flipbox {
                        .ufae-flipbox-inner-overlay {
                            transform: translateX(100%);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-inner-overlay {
                        .ufae-flipbox-back {
                            transform: translateX(-100%);
                        }
                    }
                }
            }
        }

        &[data-ufae-animation="slide-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                &:not([data-ufae-event-type='click']) {
                    .ufae-flipbox-inner-overlay {
                        &:hover {
                            transform: translateX(-100%);
                        }
                    }
                }

                &[data-ufae-event-type='click'] {
                    &.ufae-active-flipbox {
                        .ufae-flipbox-inner-overlay {
                            transform: translateX(-100%);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-inner-overlay {
                        .ufae-flipbox-back {
                            transform: translateX(100%);
                        }
                    }
                }
            }
        }

        &[data-ufae-animation="curtain"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        opacity: 0.5 !important;
                        filter: blur(3px) !important;

                        &:not(.ufae-front_duplicate):not(.ufae-front-duplicate_overlay) {
                            transform: translateX(-100%) !important;
                        }

                        &.ufae-front_duplicate {
                            transform: translateX(100%) !important;
                        }

                        &.ufae-front-duplicate_overlay {
                            z-index: 0 !important;
                        }
                    }

                    .ufae-flipbox-back {
                        .ufae-flipbox-content-overlay {
                            transform: scale(1);
                        }
                    }
                }

                .ufae-flipbox-inner-overlay {
                    overflow: hidden;
                    border-radius: var(--ufae-box-bd-radius);
                    box-shadow: var(--ufae-box-shadow-hr) var(--ufae-box-shadow-vr) var(--ufae-box-shadow-blur) var(--ufae-box-shadow-spread) var(--ufae-box-shadow-color);
                }

                .ufae-flipbox-front {
                    transition: all calc(var(--ufae-transition-timing) * 1ms) ease-in-out;

                    // opacity: 1;
                    &:not(.ufae-front_duplicate):not(.ufae-front-duplicate_overlay) {
                        clip-path: polygon(0% 0%, calc(50% + 4px) 0%, calc(50% + 4px) 100%, 0% 100%);
                        z-index: 1;
                    }

                    &.ufae-front_duplicate {
                        clip-path: polygon(calc(50% - 4px) 0%, 100% 0%, 100% 100%, calc(50% - 4px) 100%);
                        right: 0px;
                        z-index: 1;
                    }

                    &.ufae-front-duplicate_overlay {
                        z-index: 2;
                    }
                }

                .ufae-flipbox-back {
                    .ufae-flipbox-content-overlay {
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) ease-in-out;
                        transform: scale(0.7);
                    }
                }
            }
        }

        // Flipbox animation css start
        &[data-ufae-animation^="flip-classic"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    perspective: unset;
                    transform-style: unset;

                    .ufae-flipbox-inner-overlay {
                        position: relative;
                        // transform-style: unset;
                        transform: translateZ(0);
                        perspective: 1000px
                    }

                    .ufae-flipbox-content {
                        transform: unset;
                    }

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        position: absolute;
                        top: 0;
                        right: 0;
                        left: 0;
                        display: -webkit-box;
                        display: -webkit-flex;
                        display: -ms-flexbox;
                        display: flex;
                        -webkit-box-align: center;
                        -webkit-align-items: center;
                        align-items: center;
                        -ms-flex-align: center;
                        background-position: center;
                        background-clip: padding-box;
                        background-size: cover;
                        background-repeat: no-repeat;
                        text-align: center;
                        -webkit-transform-origin: 50% 50%;
                        -ms-transform-origin: 50% 50%;
                        transform-origin: 50% 50%;
                        -webkit-backface-visibility: hidden;
                        backface-visibility: hidden;
                        -webkit-perspective: 1000px;
                        perspective: 1000px;
                        transform-style: unset;
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) cubic-bezier(.2, .85, .4, 1.275);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-classic-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        .ufae-flipbox-front {
                            transform: rotateX(180deg);
                        }

                        .ufae-flipbox-back {
                            transform: rotateX(0)
                        }
                    }
                }

                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: 0% 0%;
                        transform: rotateX(0);
                    }

                    .ufae-flipbox-back {
                        transform-origin: 0% 0%;
                        transform: rotateX(-180deg);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-classic-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        .ufae-flipbox-front {
                            transform: rotateX(-180deg);
                        }

                        .ufae-flipbox-back {
                            transform: rotateX(0)
                        }
                    }
                }

                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: 100% 100%;
                        transform: rotateX(0);
                    }

                    .ufae-flipbox-back {
                        transform-origin: 100% 100%;
                        transform: rotateX(180deg);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-classic-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        .ufae-flipbox-front {
                            transform: rotateY(180deg) rotateX(0);
                        }

                        .ufae-flipbox-back {
                            transform: rotateY(0deg) rotateX(0);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-front {
                        transform-origin: 100% 100%;
                        transform: rotateY(0deg) rotateX(0);
                    }

                    .ufae-flipbox-back {
                        transform-origin: 100% 100%;
                        transform: rotateY(-180deg) rotateX(0);
                    }
                }
            }
        }

        &[data-ufae-animation="flip-classic-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        .ufae-flipbox-front {
                            // Flips inward toward the left hinge
                            transform: rotateY(-180deg) rotateX(0);
                        }

                        .ufae-flipbox-back {
                            // Back side comes around to face the front
                            transform: rotateY(0deg) rotateX(0);
                        }
                    }
                }

                .ufae-flipbox-inner {

                    .ufae-flipbox-front {
                        transform-origin: left center;
                        transform: rotateY(0deg) rotateX(0);
                    }

                    .ufae-flipbox-back {
                        transform-origin: left center;
                        transform: rotateY(180deg) rotateX(0);
                    }
                }
            }
        }

        // =============================================
        // Diagonal Flip Animation
        // =============================================

        // Base shared styles for all diagonal flip directions
        &[data-ufae-animation^="diagonal-flip"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    transform-style: preserve-3d;
                    transition: transform calc(var(--ufae-transition-timing) * 1ms) ease;
                    perspective: 1000px;

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        backface-visibility: hidden;
                    }
                }
            }
        }

        // Diagonal Left: axis (1, 1, 0) — top-left ↔ bottom-right
        &[data-ufae-animation="diagonal-flip-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotate3d(1, 1, 0, 180deg);
                    }
                }

                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: rotate3d(1, 1, 0, 180deg);
                }
            }
        }

        // Diagonal Right: axis (1, -1, 0) — top-right ↔ bottom-left
        &[data-ufae-animation="diagonal-flip-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotate3d(1, -1, 0, 180deg);
                    }
                }

                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: rotate3d(1, -1, 0, 180deg);
                }
            }
        }

        // Diagonal Top: axis (-1, 1, 0) — flips upward along the diagonal
        &[data-ufae-animation="diagonal-flip-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotate3d(-1, 1, 0, 180deg);
                    }
                }

                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: rotate3d(-1, 1, 0, 180deg);
                }
            }
        }

        // Diagonal Bottom: axis (1, 1, 0) with -180deg — flips downward along the diagonal
        &[data-ufae-animation="diagonal-flip-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotate3d(1, 1, 0, -180deg);
                    }
                }

                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: rotate3d(1, 1, 0, -180deg);
                }
            }
        }


        // =============================================
        // Skew Animation
        // =============================================
        &[data-ufae-animation^="skew"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                position: relative;
                overflow: hidden;

                .ufae-flipbox-inner {

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        backface-visibility: visible;
                        -webkit-backface-visibility: visible;
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) ease,
                            opacity calc(var(--ufae-transition-timing) * 1ms) ease;
                    }

                    .ufae-flipbox-back {
                        opacity: 0;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        .ufae-flipbox-front {
                            opacity: 0;
                        }

                        .ufae-flipbox-back {
                            opacity: 1;
                            transform: skewX(0deg) scale(1);
                        }
                    }
                }
            }
        }

        // Skew Left: front skews left, back starts skewed right
        &[data-ufae-animation="skew-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: skewX(30deg) scale(.8);
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: skewX(-30deg) scale(.8);
                    }
                }
            }
        }

        // Skew Right: front skews right, back starts skewed left
        &[data-ufae-animation="skew-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: skewX(-30deg) scale(.8);
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: skewX(30deg) scale(.8);
                    }
                }
            }
        }

        // Skew Top: front skews up, back starts skewed down
        &[data-ufae-animation="skew-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: skewY(30deg) scale(.8);
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: skewY(-30deg) scale(.8);
                    }

                    .ufae-flipbox-inner .ufae-flipbox-back {
                        transform: skewY(0deg) scale(1);
                    }
                }
            }
        }

        // Skew Bottom: front skews down, back starts skewed up
        &[data-ufae-animation="skew-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: skewY(-30deg) scale(.8);
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: skewY(30deg) scale(.8);
                    }

                    .ufae-flipbox-inner .ufae-flipbox-back {
                        transform: skewY(0deg) scale(1);
                    }
                }
            }
        }


        // =============================================
        // Fold Animation
        // =============================================

        // Base shared styles for all fold directions
        &[data-ufae-animation^="fold"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    perspective: 1000px;
                    transform-style: preserve-3d;

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        transform-style: preserve-3d;
                        backface-visibility: hidden;
                        transition: transform calc(var(--ufae-transition-timing) * 1ms) cubic-bezier(0.4, 0.2, 0.2, 1),
                            opacity calc(var(--ufae-transition-timing) * 1ms) ease;
                    }

                    .ufae-flipbox-front {
                        z-index: 1;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-back {
                        transform: none;
                        opacity: 1;
                    }
                }
            }
        }

        // Fold Left: front folds away to the left, back unfolds from right
        &[data-ufae-animation="fold-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: left center;
                    }

                    .ufae-flipbox-back {
                        transform-origin: right center;
                        transform: rotateY(90deg);
                        opacity: 0;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: rotateY(-180deg);
                        opacity: 0;
                    }
                }
            }
        }

        // Fold Right: front folds away to the right, back unfolds from left
        &[data-ufae-animation="fold-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: right center;
                    }

                    .ufae-flipbox-back {
                        transform-origin: left center;
                        transform: rotateY(-90deg);
                        opacity: 0;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: rotateY(180deg);
                        opacity: 0;
                    }
                }
            }
        }

        // Fold Top: front folds upward, back unfolds from bottom
        &[data-ufae-animation="fold-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: top center;
                    }

                    .ufae-flipbox-back {
                        transform-origin: bottom center;
                        transform: rotateX(-90deg);
                        opacity: 0;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: rotateX(180deg);
                        opacity: 0;
                    }
                }
            }
        }

        // Fold Bottom: front folds downward, back unfolds from top
        &[data-ufae-animation="fold-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: bottom center;
                    }

                    .ufae-flipbox-back {
                        transform-origin: top center;
                        transform: rotateX(90deg);
                        opacity: 0;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner .ufae-flipbox-front {
                        transform: rotateX(-180deg);
                        opacity: 0;
                    }
                }
            }
        }

        // =============================================
        // Door Animation
        // =============================================
        &[data-ufae-animation^="door"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    perspective: 1200px;
                    transform-style: preserve-3d;

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        backface-visibility: hidden;
                        transition: all calc(var(--ufae-transition-timing) * 1ms) ease;
                    }

                    .ufae-flipbox-front {
                        z-index: 1;
                    }

                    .ufae-flipbox-back {
                        transform: none;
                    }
                }
            }
        }

        &[data-ufae-animation="door-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: left center;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateY(-110deg);
                    }
                }
            }
        }

        &[data-ufae-animation="door-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: right center;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateY(110deg);
                    }
                }
            }
        }

        &[data-ufae-animation="door-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: top center;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateX(110deg);
                    }
                }
            }
        }

        &[data-ufae-animation="door-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform-origin: bottom center;
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        transform: rotateX(-110deg);
                    }
                }
            }
        }

        // =============================================
        // Flip Cube Animation
        // Technique: both faces pushed out with translateZ(half-dimension),
        // back face pre-rotated 90deg, inner container rotates on hover.
        // --ufae-cube-width is set via JS from actual .ufae-flipbox-item width.
        // =============================================
        &[data-ufae-animation^="flip-cube"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                perspective: 1000px;
                overflow: hidden;

                .ufae-flipbox-inner {
                    // Override inherited flip- base styles (since flip-cube matches ^="flip-")
                    perspective: unset;
                    transform-style: preserve-3d;
                    transition: transform calc(var(--ufae-transition-timing) * 1ms) ease;
                    position: relative;
                    width: 100%;
                    height: 100%;

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        backface-visibility: hidden;

                        // Reset inherited 3D content transforms from flip- base
                        .ufae-flipbox-content {
                            transform: none;
                        }

                        .ufae-flipbox-content-overlay {
                            transform: none;
                            transform-style: flat;
                        }
                    }
                }
            }
        }

        // Cube Left: inner origin offset on Z, back positioned on right face
        // Uses --ufae-cube-width (actual element width from JS)
        // +0.5px overlap on translateX to close sub-pixel gap
        &[data-ufae-animation="flip-cube-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    transform-origin: center center calc(var(--ufae-cube-width, 350px) / -2);

                    .ufae-flipbox-front {
                        transform: translateX(0.5px);
                    }

                    .ufae-flipbox-back {
                        transform: rotateY(90deg) translateZ(calc(var(--ufae-cube-width, 350px) / 2)) translateX(calc(var(--ufae-cube-width, 350px) / 2 - 0.5px));
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotateY(-90deg);
                    }
                }
            }
        }

        // Cube Right: inner origin offset on Z, back positioned on left face
        // Uses --ufae-cube-width (actual element width from JS)
        // -0.5px overlap on translateX to close sub-pixel gap
        &[data-ufae-animation="flip-cube-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    transform-origin: center center calc(var(--ufae-cube-width, 350px) / -2);

                    .ufae-flipbox-front {
                        transform: translateX(-0.5px);
                    }

                    .ufae-flipbox-back {
                        transform: rotateY(-90deg) translateZ(calc(var(--ufae-cube-width, 350px) / 2)) translateX(calc(var(--ufae-cube-width, 350px) / -2 + 0.5px));
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotateY(90deg);
                    }
                }
            }
        }

        // Cube Top: both faces pushed out with translateZ, back rotated -90deg on X
        // High perspective eliminates zoom from translateZ while keeping centered rotation
        &[data-ufae-animation="flip-cube-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                perspective: 9999px;

                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform: rotateX(0deg) translateZ(calc(var(--ufae-cube-height, 350px) / 2)) translateY(0.5px);
                    }

                    .ufae-flipbox-back {
                        transform: rotateX(-90deg) translateZ(calc(var(--ufae-cube-height, 350px) / 2)) translateY(-0.5px);
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotateX(90deg);
                    }
                }
            }
        }

        // Cube Bottom: both faces pushed out with translateZ, back rotated 90deg on X
        // High perspective eliminates zoom from translateZ while keeping centered rotation
        &[data-ufae-animation="flip-cube-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                perspective: 9999px;

                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        transform: rotateX(0deg) translateZ(calc(var(--ufae-cube-height, 350px) / 2)) translateY(-0.5px);
                    }

                    .ufae-flipbox-back {
                        transform: rotateX(90deg) translateZ(calc(var(--ufae-cube-height, 350px) / 2)) translateY(0.5px);
                    }
                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-inner {
                        transform: rotateX(-90deg);
                    }
                }
            }
        }

        // =============================================
        // Fill Animation (clip-path reveal)
        // =============================================
        &[data-ufae-animation^="fill"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                position: relative;
                overflow: hidden;

                .ufae-flipbox-inner {

                    .ufae-flipbox-front,
                    .ufae-flipbox-back {
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        transition: clip-path calc(var(--ufae-transition-timing) * 1ms) ease;
                    }

                    .ufae-flipbox-front {
                        z-index: 1;
                    }

                    .ufae-flipbox-back {
                        z-index: 0;
                    }
                }
            }
        }

        &[data-ufae-animation="fill-left"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 0 0);
                    }

                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        clip-path: inset(0 100% 0 0);
                    }
                }
            }
        }

        &[data-ufae-animation="fill-right"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 0 0);
                    }

                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 0 100%);
                    }
                }
            }
        }

        &[data-ufae-animation="fill-top"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 0 0);
                    }

                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 100% 0);
                    }
                }
            }
        }

        &[data-ufae-animation="fill-bottom"] {
            .ufae-flipbox-item:not(.ufae-flipbox-front_only) {
                .ufae-flipbox-inner {
                    .ufae-flipbox-front {
                        clip-path: inset(0 0 0 0);
                    }

                }

                &:hover:not([data-ufae-event-type='click']),
                &.ufae-active-flipbox {
                    .ufae-flipbox-front {
                        clip-path: inset(100% 0 0 0);
                    }
                }
            }
        }
    }

    // Flipbox animation css start
    .ufae-flipbox-item {
        position: relative;
        width: var(--ufae-box-width);
        height: var(--ufae-box-height);

        &:hover:not([data-ufae-event-type='click']),
        &.ufae-active-flipbox {
            .ufae-flipbox-inner {
                transition: transform calc(var(--ufae-transition-timing) * 1ms) ease;
            }
        }

        .ufae-flipbox-inner {
            position: relative;
            width: 100%;
            height: 100%;


            .ufae-flipbox-inner-overlay {
                width: 100%;
                height: 100%;
                transform-style: preserve-3d;
            }

            .ufae-flipbox-front,
            .ufae-flipbox-back {
                position: absolute;
                width: 100%;
                height: 100%;
                border-radius: var(--ufae-box-bd-radius);
                display: flex;
                justify-content: var(--ufae-front-items-justify);
                box-shadow: var(--ufae-box-shadow-hr) var(--ufae-box-shadow-vr) var(--ufae-box-shadow-blur) var(--ufae-box-shadow-spread) var(--ufae-box-shadow-color);
            }

            .ufae-flipbox-front {
                &:not(.ufae-bg-gradient):not(.ufae-bg-image) {
                    background-color: var(--ufae-box-front-bg-color);
                }

                &.ufae-bg-gradient {
                    background: linear-gradient(var(--ufae-box-front-bg-gradient-direction), var(--ufae-box-front-bg-gradient-color-1), var(--ufae-box-front-bg-gradient-color-2));
                }

                &.ufae-bg-image {
                    background: var(--ufae-box-front-bg-image), var(--ufae-box-front-bg-image-overlay);
                    background-blend-mode: overlay;
                    background-size: cover;
                    background-position: center;
                }

                padding: var(--ufae-box-front-padding);
                align-items: var(--ufae-front-items-alignment);

                .ufae-flipbox-content {
                    display: flex;
                    flex-direction: column;
                    text-align: var(--ufae-front-items-justify);
                    align-items: var(--ufae-front-items-justify);
                }

                .ufae-icon-wrapper {
                    margin-bottom: 15px;
                    color: var(--ufae-icon-front-color);
                    font-size: var(--ufae-icon-front-size);
                    line-height: var(--ufae-icon-front-size);
                    padding: var(--ufae-icon-front-padding);
                    margin: var(--ufae-icon-front-margin);
                    background-color: var(--ufae-icon-front-bg-color);
                    border-radius: var(--ufae-icon-front-bd-radius);
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    overflow: hidden;

                    svg {
                        width: var(--ufae-icon-front-size);
                        height: var(--ufae-icon-front-size);
                        fill: var(--ufae-icon-front-color);
                        border-radius: var(--ufae-icon-front-bd-radius);
                    }

                    img {
                        width: var(--ufae-icon-front-size);
                        height: var(--ufae-icon-front-size);
                        border-radius: var(--ufae-icon-front-bd-radius);
                    }
                }

                .ufae-title {
                    font-size: 1.5em;
                    padding: var(--ufae-title-front-padding);
                    margin: var(--ufae-title-front-margin);
                    color: var(--ufae-title-front-color);
                    background-color: var(--ufae-title-front-bg-color);
                    width: var(--ufae-title-front-width, auto);
                }

                .ufae-desc {
                    font-size: 1em;
                    padding: var(--ufae-desc-front-padding);
                    margin: var(--ufae-desc-front-margin);
                    color: var(--ufae-desc-front-color);
                    background-color: var(--ufae-desc-front-bg-color);
                    width: var(--ufae-desc-front-width, auto);
                }

                .ufae-btn-wrapper {
                    margin-top: 20px;

                    .ufae-button {
                        background-color: transparent;
                        padding: var(--ufae-btn-front-padding);
                        margin: var(--ufae-btn-front-margin);
                        width: var(--ufae-btn-front-width);
                        text-decoration: none;
                        border-radius: 5rem;
                        transition: background-color 0.3s ease;
                        color: var(--ufae-btn-front-color);
                        font-size: 16px;
                        line-height: 16px;
                        display: inline-block;

                        &:hover {
                            background-color: var(--ufae-btn-front-bg-color);
                            border-color: var(--ufae-btn-front-bg-color);
                        }
                    }
                }
            }

            .ufae-flipbox-back {
                &:not(.ufae-bg-gradient):not(.ufae-bg-image) {
                    background-color: var(--ufae-box-back-bg-color);
                }

                &.ufae-bg-gradient {
                    background: linear-gradient(var(--ufae-box-back-bg-gradient-direction), var(--ufae-box-back-bg-gradient-color-1), var(--ufae-box-back-bg-gradient-color-2));
                }

                &.ufae-bg-image {
                    background: var(--ufae-box-back-bg-image), var(--ufae-box-back-bg-image-overlay);
                    background-blend-mode: overlay;
                    background-size: cover;
                    background-position: center;
                }

                padding: var(--ufae-box-back-padding);
                align-items: var(--ufae-back-items-alignment);

                .ufae-flipbox-content {
                    display: flex;
                    flex-direction: column;
                    text-align: var(--ufae-back-items-justify);
                    align-items: var(--ufae-back-items-justify);
                }

                .ufae-icon-wrapper {
                    color: var(--ufae-icon-back-color);
                    font-size: var(--ufae-icon-back-size);
                    line-height: var(--ufae-icon-back-size);
                    padding: var(--ufae-icon-back-padding);
                    margin: var(--ufae-icon-back-margin);
                    background-color: var(--ufae-icon-back-bg-color);
                    border-radius: var(--ufae-icon-back-bd-radius);
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    overflow: hidden;

                    svg {
                        width: var(--ufae-icon-back-size);
                        height: var(--ufae-icon-back-size);
                        fill: var(--ufae-icon-back-color);
                        border-radius: var(--ufae-icon-back-bd-radius);
                    }

                    img {
                        width: var(--ufae-icon-back-size);
                        height: var(--ufae-icon-back-size);
                        border-radius: var(--ufae-icon-back-bd-radius);
                    }
                }

                .ufae-title {
                    font-size: 1.5em;
                    padding: var(--ufae-title-back-padding);
                    margin: var(--ufae-title-back-margin);
                    color: var(--ufae-title-back-color);
                    background-color: var(--ufae-title-back-bg-color);
                    width: var(--ufae-title-front-width, auto);
                }

                .ufae-desc {
                    font-size: 1em;
                    padding: var(--ufae-desc-back-padding);
                    margin: var(--ufae-desc-back-margin);
                    color: var(--ufae-desc-back-color);
                    background-color: var(--ufae-desc-back-bg-color);
                    width: var(--ufae-desc-front-width, auto);
                }

                .ufae-btn-wrapper {
                    .ufae-button {
                        background-color: transparent;
                        padding: var(--ufae-btn-back-padding);
                        margin: var(--ufae-btn-back-margin);
                        width: var(--ufae-btn-back-width);
                        text-decoration: none;
                        border-radius: 5rem;
                        transition: background-color 0.3s ease;
                        color: var(--ufae-btn-back-color);
                        font-size: 16px;
                        line-height: 16px;
                        display: inline-block;

                        &:hover {
                            background-color: var(--ufae-btn-back-bg-color);
                            border-color: var(--ufae-btn-back-bg-color);
                        }
                    }
                }
            }
        }
    }
}

// =============================================
// Sticky Front Background (Conditionally Enabled)
// =============================================
.ufae-wrapper .ufae-container[data-ufae-sticky-front="yes"] {

    &[data-ufae-animation^="zoom"],
    &[data-ufae-animation^="fold"] {
        .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

            &:hover:not([data-ufae-event-type='click']),
            &.ufae-active-flipbox {
                .ufae-flipbox-inner .ufae-flipbox-front {
                    transform: none !important;
                    opacity: 1 !important;
                    clip-path: none !important;
                }
            }
        }
    }

    &[data-ufae-animation="curtain"] {
        .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

            .ufae-flipbox-inner .ufae-flipbox-back .ufae-flipbox-content-overlay {
                transform: none !important;
            }
        }
    }

    &[data-ufae-animation^="slide"] {
        .ufae-flipbox-item:not(.ufae-flipbox-front_only) {

            &:hover:not([data-ufae-event-type='click']),
            &.ufae-active-flipbox {
                .ufae-flipbox-inner .ufae-flipbox-inner-overlay {
                    transform: none !important;
                }

                .ufae-flipbox-inner .ufae-flipbox-back {
                    transform: translate(0) !important;
                }
            }

            .ufae-flipbox-inner .ufae-flipbox-back {
                transition: transform calc(var(--ufae-transition-timing) * 1ms) ease !important;
                z-index: 10;
            }
        }
    }
}