.sxs-btn {
    overflow: hidden;
    display: block;
    width: fit-content;
    line-height: 1.15;
    transition: color $transitionDuration;
    border-radius: 3px;
    --_bg: #{$red};
    --_rng-c: #{rgba($primaryClear, 0.4)};
    &:disabled {
        cursor: not-allowed;
        opacity: 0.3;
        .sxs-btn__con0 {
            background: #13426b;
            color: #fff;
        }
    }

    &:hover {
        .sxs-btn {
            &__wv {
                &::before,
                &::after {
                    transform: scale3d(1, 1, 1);
                }
            }

            &__con0 {
                &::before,
                &::after {
                    opacity: 1;
                    transition: all 400ms;
                }

                &::before {
                    transform: translate3d(0, 50%, 1px) scale(1);
                    animation: _al-di327b infinite 18000ms linear;
                }

                &::after {
                    transform: translate3d(-100%, -25%, 1px) scale(1);
                    animation: _Ll-du8ca3 infinite 10000ms linear reverse;
                }
            }

            &__con2 {
                .sas-bs {
                    transform: translateY(100%);
                }
            }
        }
    }

    &__wv {
        position: absolute;
        z-index: -2;
        top: 50%;
        left: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 105%;
        height: 105%;
        pointer-events: none;
        transform: translate3d(-50%, -50%, 1px);

        &::before,
        &::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 0;
            padding-bottom: 100%;
            border-radius: 50%;
            outline: 5px solid $primaryClear;
            transform: scale3d(0, 0, 1);
        }
    }

    &__con0 {
        overflow: hidden;
        width: 100%;
        height: 100%;
        background-color: var(--_bg);
        font-weight: 400;

        &::before,
        &::after {
            content: "";
            position: absolute;
            z-index: -1;
            width: var(--_sc);
            height: var(--_sc);
            border: var(--_ctchk) solid;
            border-color: var(--_rng-c);
            border-radius: 50%;
            opacity: 0;
        }

        &::before {
            bottom: 0;
            left: 7.5%;
            transform: translate3d(0, 0%, 1px) scale(0.5);
            --_sc: 4rem;
            --_ctchk: 1rem;
        }

        &::after {
            top: 0;
            right: 0;
            transform: translate3d(100%, 50%, 1px) scale(0.5);
            --_sc: 2rem;
            --_ctchk: 0.5rem;
        }

        @keyframes _Ll-du8ca3 {
            0% {
                transform: rotate(0deg) translate3d(-100%, -25%, 1px) scale(1);
            }

            25% {
                transform: rotate(90deg) translate3d(-100%, -25%, 1px) scale(1);
            }

            50% {
                transform: rotate(180deg) translate3d(-100%, -25%, 1px) scale(1);
            }

            75% {
                transform: rotate(270deg) translate3d(-100%, -25%, 1px) scale(1);
            }

            100% {
                transform: rotate(360deg) translate3d(-100%, -25%, 1px) scale(1);
            }
        }

        @keyframes _al-di327b {
            0% {
                transform: rotate(0deg) translate3d(0, 50%, 1px) scale(1);
            }

            25% {
                transform: rotate(90deg) translate3d(0, 50%, 1px) scale(1);
            }

            50% {
                transform: rotate(180deg) translate3d(0, 50%, 1px) scale(1);
            }

            75% {
                transform: rotate(270deg) translate3d(0, 50%, 1px) scale(1);
            }

            100% {
                transform: rotate(360deg) translate3d(0, 50%, 1px) scale(1);
            }
        }
    }

    &__con1 {
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    &__con2 {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        &:last-child:not(:first-child) {
            position: absolute;
            transform: translate3d(0px, -100%, 1px);
        }

        .sas-bs {
            display: inline-block;
            transform: translateY(0%);
            transition-duration: calc(80ms * var(--sas-idx) + 350ms);
            transition-property: transform;
            transform: translateY(0);
        }
    }

    &--primary {
        font-size: $text-17;

        .sxs-btn__con0 {
            padding: 1rem;
            text-transform: uppercase;
        }

        @include lg-wmin {
            @include xxl-wmax {
                font-size: $text-body;

                .sxs-btn__con0 {
                    padding: 0.75rem;
                }
            }
        }
    }

    &--secondary {
        font-size: $text-body;

        .sxs-btn__con0 {
            padding: 1rem;

            @include lg-wmin {
                @include xxl-wmax {
                    font-size: $text-15;

                    .sxs-btn__con0 {
                        padding: 0.75rem;
                    }
                }
            }
        }
    }

    &--tertiary {
        font-size: $text-17;
        font-weight: 800;
        letter-spacing: 1px;

        .sxs-btn__con0 {
            padding: 1rem 4rem;
            text-transform: uppercase;
        }

        @include lg-wmin {
            @include xxl-wmax {
                font-size: $text-body;

                .sxs-btn__con0 {
                    padding: 0.75rem 3.5rem;
                }
            }
        }
    }

    &--style {
        &-primary {
            color: #fff;

            &:hover {
                .sxs-btn {
                    &__wv {
                        &::before {
                            transition: transform 600ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }

                        &::after {
                            transition: transform 650ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }
                    }
                }
            }

            .sxs-btn {
                &__wv {
                    &::before {
                        background-color: $primaryClear;
                    }

                    &::after {
                        background-color: var(--_bg);
                    }
                }

                &__con0 {
                    font-weight: 700;
                }
            }
        }

        &-secondary {
            color: $duller;
            --_bg: transparent;

            &:hover {
                .sxs-btn {
                    &__wv {
                        &::before {
                            transition: transform 400ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }

                        &::after {
                            transition: transform 800ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }
                    }
                }
            }

            .sxs-btn {
                &__wv {
                    &::before,
                    &::after {
                        border: 5px solid $primaryClear;
                    }
                }

                &__con0 {
                    //border: 1px solid $duller;
                    font-weight: 500;
                }
            }
        }

        &-tertiary {
            color: $duller;
            --_bg: #{$primaryClear};

            &:hover {
                .sxs-btn {
                    &__wv {
                        &::before {
                            transition: transform 600ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }

                        &::after {
                            transition: transform 650ms cubic-bezier(0.68, 0.13, 0.71, 0.37);
                        }
                    }
                }
            }

            .sxs-btn {
                &__wv {
                    &::before {
                        background-color: rgba($duller, 0.5);
                    }

                    &::after {
                        background-color: var(--_bg);
                    }
                }

                &__con0 {
                    font-weight: 800;
                    --_rng-c: #{rgba($duller, 0.15)};
                }
            }
        }

        &-bg {
            &-red {
                --_bg: #{$red};
            }

            &-green {
                --_bg: #{$green};
            }
        }
    }

    &[aria-disabled="true"] {
        pointer-events: none;
        user-select: none;
    }
}
