@property --nts-whmcs-button-angle {
    syntax: '<angle>';
    initial-value: 0deg;
    inherits: false;
}

@keyframes ntsWhmcsButtonBorder {
    to {
        --nts-whmcs-button-angle: 360deg;
    }
}

html body :is(
    .btn:not(.btn-link):not(.close),
    .btn-header,
    .btn-action,
    .btn-signup,
    .order-button,
    .btn-add-to-cart,
    .btn-order-now,
    .btn-login-submit,
    .btn-reg-submit,
    .btn-icon-header,
    .btn-icon-logout,
    .btn-return-to-admin,
    .navbar-toggler,
    .whatsapp-float
),
html body #checkout,
html body #continueShopping,
html body #btnEmptyCart,
html body #mmpClose {
    --nts-button-fill: #0d1a12;
    --nts-button-edge-a: #00f26f;
    --nts-button-edge-b: #25c8e8;
    position: relative !important;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--nts-button-fill), var(--nts-button-fill)) padding-box,
        conic-gradient(
            from var(--nts-whmcs-button-angle),
            var(--nts-button-edge-a),
            var(--nts-button-edge-b),
            #ffffff,
            var(--nts-button-edge-a),
            var(--nts-button-edge-a)
        ) border-box !important;
    box-shadow: none !important;
    animation: ntsWhmcsButtonBorder 3.2s linear infinite !important;
    transition: transform 180ms ease, opacity 180ms ease !important;
}

/* Controles de conta do cabecalho gerados pelo Advanced Menu Manager. */
html body #header-premium .nts-managed-account > li > a {
    --nts-button-fill: #06110c;
    --nts-button-edge-a: #00f26f;
    --nts-button-edge-b: #25c8e8;
    position: relative !important;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--nts-button-fill), var(--nts-button-fill)) padding-box,
        conic-gradient(
            from var(--nts-whmcs-button-angle),
            var(--nts-button-edge-a),
            var(--nts-button-edge-b),
            #ffffff,
            var(--nts-button-edge-a),
            var(--nts-button-edge-a)
        ) border-box !important;
    box-shadow: none !important;
    animation: ntsWhmcsButtonBorder 3.2s linear infinite !important;
    transition: transform 180ms ease, color 180ms ease, opacity 180ms ease !important;
}

html body #header-premium .nts-managed-account > li > a:hover,
html body #header-premium .nts-managed-account > li > a:focus-visible {
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

html body #header-premium .nts-managed-account > li > a:active {
    transform: translateY(0) !important;
}

html body :is(
    .btn.btn-primary:not(.btn-link):not(.close),
    .btn.btn-success:not(.btn-link):not(.close),
    .btn-action[class],
    .btn-signup[class],
    .order-button[class],
    .btn-add-to-cart[class],
    .btn-order-now[class]
) {
    --nts-button-fill: #00c853;
}

html body #checkout,
html body #continueShopping {
    --nts-button-fill: #0d1a12;
    color: #00f26f !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none !important;
}

html body #btnEmptyCart {
    color: #ff7588 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-decoration: none !important;
}

html body #order-standard_cart #checkout,
html body #order-standard_cart #checkout:hover,
html body #order-standard_cart #btnEmptyCart,
html body #order-standard_cart #btnEmptyCart:hover {
    position: relative !important;
    border: 2px solid transparent !important;
    background: linear-gradient(var(--nts-button-fill), var(--nts-button-fill)) padding-box,
        conic-gradient(
            from var(--nts-whmcs-button-angle),
            var(--nts-button-edge-a),
            var(--nts-button-edge-b),
            #ffffff,
            var(--nts-button-edge-a),
            var(--nts-button-edge-a)
        ) border-box !important;
    box-shadow: none !important;
    animation: ntsWhmcsButtonBorder 3.2s linear infinite !important;
    transition: transform 180ms ease, opacity 180ms ease !important;
}

html body #order-standard_cart #checkout {
    color: #00f26f !important;
    display: flex !important;
}

html body #order-standard_cart #btnEmptyCart,
html body #order-standard_cart #btnEmptyCart:hover {
    color: #ff7588 !important;
    display: inline-flex !important;
}

html body :is(.btn.btn-danger:not(.btn-link):not(.close), .btn-remove-from-cart[class], #btnEmptyCart) {
    --nts-button-fill: #130809;
    --nts-button-edge-a: #ff5268;
    --nts-button-edge-b: #ffb000;
}

html body .btn.btn-warning:not(.btn-link):not(.close) {
    --nts-button-fill: #1b1405;
    --nts-button-edge-a: #ffb000;
    --nts-button-edge-b: #00f26f;
}

html body .btn.btn-info:not(.btn-link):not(.close) {
    --nts-button-fill: #06171d;
    --nts-button-edge-a: #25c8e8;
    --nts-button-edge-b: #00f26f;
}

html body .whatsapp-float[class] {
    --nts-button-fill: #1fbf5b;
    --nts-button-edge-a: #00f26f;
    --nts-button-edge-b: #ffffff;
}

.whatsapp-float::before {
    display: none !important;
    animation: none !important;
}

html body :is(
    .btn:not(.btn-link):not(.close),
    .btn-header,
    .btn-action,
    .btn-signup,
    .order-button,
    .btn-add-to-cart,
    .btn-order-now,
    .btn-login-submit,
    .btn-reg-submit,
    .btn-icon-header,
    .btn-icon-logout,
    .btn-return-to-admin,
    .navbar-toggler,
    #mmpClose,
    .whatsapp-float
):hover:not(:disabled):not(.disabled),
html body #checkout:hover,
html body #continueShopping:hover,
html body #btnEmptyCart:hover {
    transform: translateY(-2px) !important;
}

html body :is(
    .btn:not(.btn-link):not(.close),
    .btn-header,
    .btn-action,
    .btn-signup,
    .order-button,
    .btn-add-to-cart,
    .btn-order-now,
    .btn-login-submit,
    .btn-reg-submit,
    .btn-icon-header,
    .btn-icon-logout,
    .btn-return-to-admin,
    .navbar-toggler,
    #mmpClose,
    .whatsapp-float
):active:not(:disabled):not(.disabled),
html body #checkout:active,
html body #continueShopping:active,
html body #btnEmptyCart:active {
    transform: translateY(0) !important;
}

html body :is(
    .btn:disabled,
    .btn.disabled,
    .btn-header:disabled,
    .btn-header.disabled,
    .btn-login-submit:disabled,
    .btn-login-submit.disabled,
    .btn-reg-submit:disabled,
    .btn-reg-submit.disabled,
    #checkout.disabled,
    #continueShopping.disabled,
    #btnEmptyCart:disabled,
    #btnEmptyCart.disabled,
    .navbar-toggler:disabled,
    #mmpClose:disabled
) {
    opacity: 0.55 !important;
    animation: none !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    html body :is(
        .btn:not(.btn-link):not(.close),
        .btn-header,
        .btn-action,
        .btn-signup,
        .order-button,
        .btn-add-to-cart,
        .btn-order-now,
        .btn-login-submit,
        .btn-reg-submit,
        .btn-icon-header,
        .btn-icon-logout,
        .btn-return-to-admin,
        .navbar-toggler,
        #mmpClose,
        .whatsapp-float
    ),
    html body #checkout,
    html body #continueShopping,
    html body #btnEmptyCart {
        animation: none !important;
        transform: none !important;
        transition: none !important;
    }

    html body #header-premium .nts-managed-account > li > a {
        animation: none !important;
        transform: none !important;
        transition: none !important;
    }
}
