/* ==========================================================================
   PUBLICARD - GLOBAL BUTTON SYSTEM
   --------------------------------------------------------------------------
   Final visual layer for public action buttons. Page/module files may still
   set layout variables such as width or compact height, but the interaction
   style is owned here.
   ========================================================================== */

:root {
    --pc-button-ink: var(--pc-slate-900, #0f172a);
    --pc-button-border: var(--pc-button-ink);
    --pc-button-bg: var(--pc-button-ink);
    --pc-button-color: #ffffff;
    --pc-button-hover-bg: #ffffff;
    --pc-button-hover-color: var(--pc-button-ink);
    --pc-button-hover-border: var(--pc-button-ink);
    --pc-button-shadow: 0 16px 34px -24px rgba(15, 23, 42, 0.75);
    --pc-button-focus: var(--pc-blue-600, #2563eb);
    --pc-button-radius: var(--pc-radius-pill, 999px);
    --pc-button-min-height: var(--pc-button-primary-min-height, 68px);
    --pc-button-padding-x: var(--pc-button-primary-padding-x, 34px);
    --pc-button-font: var(--font-body, var(--pc-font-body, "Outfit", sans-serif));
    --pc-button-font-size: var(--pc-button-primary-font-size, 1.08rem);
    --pc-button-font-weight: var(--pc-button-primary-font-weight, 600);
    --pc-button-icon-size: 26px;
    --pc-button-icon-bg: rgba(255, 255, 255, 0.14);
    --pc-button-hover-icon-bg: rgba(15, 23, 42, 0.08);
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    max-width: 100% !important;
    min-height: var(--pc-button-min-height) !important;
    padding: 0 var(--pc-button-padding-x) !important;
    border: 2px solid var(--pc-button-border) !important;
    border-radius: var(--pc-button-radius) !important;
    background-color: transparent !important;
    background-image: linear-gradient(90deg, var(--pc-button-hover-bg) 50%, var(--pc-button-bg) 50%) !important;
    background-repeat: no-repeat !important;
    background-size: 200% 100% !important;
    background-position: 100% 0 !important;
    color: var(--pc-button-color) !important;
    font-family: var(--pc-button-font) !important;
    font-size: var(--pc-button-font-size) !important;
    font-weight: var(--pc-button-font-weight) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    appearance: none !important;
    box-shadow: var(--pc-button-shadow) !important;
    animation: none !important;
    transform: none !important;
    transition:
        transform 0.18s ease,
        box-shadow 0.25s ease,
        background-position 0.35s ease,
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        opacity 0.2s ease !important;
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):hover,
:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):focus-visible {
    background-position: 0 0 !important;
    border-color: var(--pc-button-hover-border) !important;
    color: var(--pc-button-hover-color) !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):active {
    transform: translateY(0) scale(0.98) !important;
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):focus-visible {
    outline: 2px solid var(--pc-button-focus) !important;
    outline-offset: 3px !important;
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
) > i:not(.client-caret):not(.fa-chevron-down) {
    width: var(--pc-button-icon-size) !important;
    height: var(--pc-button-icon-size) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    border-radius: 50% !important;
    background: var(--pc-button-icon-bg) !important;
    color: currentColor !important;
    font-size: 0.84em !important;
    line-height: 1 !important;
    transition: transform 0.25s ease, background 0.25s ease !important;
}

:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):hover > i:not(.client-caret):not(.fa-chevron-down),
:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce .woocommerce-Button,
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-EditAccountForm .woocommerce-Button,
    .woocommerce-account .woocommerce-order-details .order-actions-button,
    .woocommerce-account .woocommerce-order-details a.button,
    .woocommerce-account .woocommerce-order-details button.button,
    .woocommerce-account .woocommerce-order-details .order-again .button,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):focus-visible > i:not(.client-caret):not(.fa-chevron-down) {
    background: var(--pc-button-hover-icon-bg) !important;
    transform: translateX(4px) !important;
}

/* Preserve layout-specific widths without duplicating visual styles. */
.trial-creator-button--primary {
    --pc-button-min-width: 285px;
}

.trial-creator-button--secondary {
    --pc-button-min-width: 170px;
}

.btn-premium-main,
.btn-transform,
.btn-builder-primary,
.btn-demo-builder,
.trial-creator-button--primary,
.trial-creator-button--secondary {
    min-width: var(--pc-button-min-width, 0) !important;
}

.btn-premium-main,
.btn-transform,
.btn-builder-primary,
.btn-demo-builder {
    width: var(--pc-button-primary-width) !important;
}

.header-premium :is(.cta-btn, .hb-mobile-order-btn) {
    --pc-button-min-height: 46px;
    --pc-button-padding-x: 18px;
    --pc-button-font-size: 0.88rem;
    --pc-button-font-weight: 880;
    --pc-button-icon-size: 28px;
}

:is(
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-form.inf-form .inf-submit .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn
) {
    --pc-button-min-height: 52px;
    --pc-button-padding-x: 22px;
    --pc-button-font-size: 1rem;
    --pc-button-font-weight: 800;
}

:is(
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
) {
    --pc-button-min-height: 44px;
    --pc-button-padding-x: 18px;
    --pc-button-font-size: 0.9rem;
    --pc-button-font-weight: 850;
}

:is(
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-shimmer-effect
) {
    --pc-button-min-height: 58px;
    --pc-button-font-size: 1.05rem;
    --pc-button-font-weight: 800;
}

.pricing-modal__submit {
    min-width: 230px !important;
}

/* Shared secondary/cancel treatment. */
:is(
    .trial-creator-button--secondary,
    .btn-cancel,
    .pc-account-btn--secondary,
    .pc-order-btn:not(.pc-order-btn--view),
    .order-card__btn--invoice,
    .order-card__btn--pay,
    .order-card__btn--cancel,
    .orders-pagination__btn,
    .pc-orders-pagination__btn,
    .wp-block-button.is-style-outline .wp-block-button__link
) {
    --pc-button-border: #cbd5e1;
    --pc-button-bg: #ffffff;
    --pc-button-color: var(--pc-button-ink);
    --pc-button-hover-bg: #eff6ff;
    --pc-button-hover-color: var(--pc-blue-700, #1d4ed8);
    --pc-button-hover-border: var(--pc-blue-600, #2563eb);
    --pc-button-shadow: 0 14px 30px -26px rgba(15, 23, 42, 0.65);
}

/* Loading and disabled states. */
:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    button.button,
    input.button,
    .woocommerce #respond input#submit,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .cf7-custom-style input[type="submit"],
    .footer-form.inf-form .inf-submit input[type="submit"],
    .nfc-submit,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    #place_order,
    #btn-add-fix.btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
):disabled,
:is(
    .btn-premium-main,
    .btn-transform,
    .btn-builder-primary,
    .btn-demo-builder,
    .trial-creator-button,
    .cta-btn,
    .hb-mobile-order-btn,
    .btn-gradient,
    .btn-read-hero,
    .wp-block-button__link,
    .wp-element-button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce .woocommerce-Button,
    .account-form-btn,
    .co-auth-banner-btn,
    .pricing-modal__submit,
    .premium-cta-main,
    .btn-shimmer-effect,
    .btn-confirm,
    .error-modal-close,
    .btn-close-modal,
    .nl-popup-btn,
    .nl-promo-submit,
    .nl-promo-success-btn,
    .pc-account-btn,
    .pc-order-btn,
    .pc-orders-pagination__btn,
    .order-card__btn,
    .orders-pagination__btn
).disabled {
    opacity: 0.55 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    transform: none !important;
    box-shadow: none !important;
}

.account-form-btn.is-loading,
.pricing-modal__submit.is-loading,
.nl-promo-submit.is-loading,
.inf-form.is-submitting .inf-submit input[type="submit"],
.inf-form.is-submitting .inf-submit .nfc-submit {
    opacity: 0.75 !important;
    cursor: wait !important;
    pointer-events: none !important;
}

.btn-shimmer-effect .shimmer-line {
    display: none !important;
}

#place_order .pc-checkout-button__spinner {
    display: none;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 999px;
    animation: pcCheckoutButtonSpin 0.72s linear infinite;
}

#place_order .pc-checkout-button__label {
    min-width: 0;
}

#place_order.is-processing-payment,
#place_order.is-processing-payment:hover,
#place_order.is-processing-payment:focus-visible,
#place_order.is-processing-payment:disabled {
    opacity: 1 !important;
    cursor: wait !important;
    pointer-events: none !important;
    transform: none !important;
}

#place_order.is-processing-payment .pc-checkout-button__spinner {
    display: inline-block !important;
}

@keyframes pcCheckoutButtonSpin {
    to {
        transform: rotate(360deg);
    }
}

/* Compact action buttons not covered by the primary CTA families above. */
:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
) {
    --pc-button-min-height: 44px;
    --pc-button-padding-x: 20px;
    --pc-button-font-size: 0.92rem;
    --pc-button-font-weight: 800;
    --pc-button-icon-size: 24px;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    max-width: 100% !important;
    min-height: var(--pc-button-min-height) !important;
    padding: 0 var(--pc-button-padding-x) !important;
    border: 2px solid var(--pc-button-border) !important;
    border-radius: var(--pc-button-radius) !important;
    background-color: transparent !important;
    background-image: linear-gradient(90deg, var(--pc-button-hover-bg) 50%, var(--pc-button-bg) 50%) !important;
    background-repeat: no-repeat !important;
    background-size: 200% 100% !important;
    background-position: 100% 0 !important;
    color: var(--pc-button-color) !important;
    font-family: var(--pc-button-font) !important;
    font-size: var(--pc-button-font-size) !important;
    font-weight: var(--pc-button-font-weight) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    appearance: none !important;
    box-shadow: var(--pc-button-shadow) !important;
    animation: none !important;
    transform: none !important;
    transition:
        transform 0.18s ease,
        box-shadow 0.25s ease,
        background-position 0.35s ease,
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        opacity 0.2s ease !important;
}

:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
):hover,
:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
):focus-visible {
    background-position: 0 0 !important;
    border-color: var(--pc-button-hover-border) !important;
    color: var(--pc-button-hover-color) !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
}

:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
):active {
    transform: translateY(0) scale(0.98) !important;
}

:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
):focus-visible {
    outline: 2px solid var(--pc-button-focus) !important;
    outline-offset: 3px !important;
}

:is(
    .filter-btn,
    .btn-back-arrow,
    .btn-rocket-orange,
    .error-404-container .error-actions .btn-primary,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-primary-new,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    .btn-submit-comment,
    body.single-product #content-reviews .pc-review-submit,
    body.single-product #content-reviews .pc-review-login-btn,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
) > i:not(.client-caret):not(.fa-chevron-down) {
    width: var(--pc-button-icon-size) !important;
    height: var(--pc-button-icon-size) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    border-radius: 50% !important;
    background: var(--pc-button-icon-bg) !important;
    color: currentColor !important;
    font-size: 0.84em !important;
    line-height: 1 !important;
    transition: transform 0.25s ease, background 0.25s ease !important;
}

:is(
    .filter-btn,
    .btn-back-arrow,
    .error-404-container .error-actions .btn-secondary,
    .about-new-design .btn-secondary-new,
    .pricing-confirmation__link,
    .pricing-faq-bridge__link,
    body.single-product #content-reviews .pc-review-more-btn,
    body.single-product #content-reviews .pc-review-reset
) {
    --pc-button-border: #cbd5e1;
    --pc-button-bg: #ffffff;
    --pc-button-color: var(--pc-button-ink);
    --pc-button-hover-bg: #eff6ff;
    --pc-button-hover-color: var(--pc-blue-700, #1d4ed8);
    --pc-button-hover-border: var(--pc-blue-600, #2563eb);
    --pc-button-shadow: 0 14px 30px -26px rgba(15, 23, 42, 0.65);
}

.filter-btn.active {
    --pc-button-border: var(--pc-button-ink);
    --pc-button-bg: var(--pc-button-ink);
    --pc-button-color: #ffffff;
    --pc-button-hover-bg: #ffffff;
    --pc-button-hover-color: var(--pc-button-ink);
    --pc-button-hover-border: var(--pc-button-ink);
}

/* Dark surfaces keep the same motion while reversing the contrast. */
:is(
    .site-footer,
    .section-wycd-dark,
    .section-examples-light,
    .nfc-section,
    .checkout-header-clean,
    .error-404-container,
    .theme-dark,
    .section-dark,
    .dark-section,
    .is-dark,
    .has-dark-background,
    .has-black-background-color
) :is(
    a[class*="btn"],
    button[class*="btn"],
    input[type="submit"],
    a[class*="button"],
    button[class*="button"],
    a[class*="cta"],
    button[class*="cta"],
    .button,
    .wp-block-button__link,
    .wp-element-button,
    #btn-add-fix,
    #place_order,
    .premium-cta-main,
    .pricing-modal__submit,
    .nfc-submit
),
.login-breakout-wrapper.dark-mode .account-form-btn,
html.account-theme-dark .woocommerce-account .site-content :is(
    .btn-premium-main,
    .account-form-btn,
    .pc-account-btn--primary,
    .pc-order-btn--view,
    .pc-order-native-details .order-again .button
),
.account-dark-mode :is(
    .btn-premium-main,
    .account-form-btn,
    .pc-account-btn--primary,
    .pc-order-btn--view,
    .pc-order-native-details .order-again .button
) {
    --pc-button-border: #ffffff !important;
    --pc-button-bg: #ffffff !important;
    --pc-button-color: var(--pc-button-ink) !important;
    --pc-button-hover-bg: var(--pc-button-ink) !important;
    --pc-button-hover-color: #ffffff !important;
    --pc-button-hover-border: #ffffff !important;
    --pc-button-shadow: 0 20px 44px -24px rgba(0, 0, 0, 0.65) !important;
    --pc-button-icon-bg: rgba(15, 23, 42, 0.08) !important;
    --pc-button-hover-icon-bg: rgba(255, 255, 255, 0.14) !important;
}

/* Free trial buttons: same system, softer visual priority than primary CTAs. */
.btn-demo-builder {
    --pc-button-border: #ffffff;
    --pc-button-bg: #ffffff;
    --pc-button-color: var(--pc-button-ink);
    --pc-button-hover-bg: var(--pc-button-ink);
    --pc-button-hover-color: #ffffff;
    --pc-button-hover-border: var(--pc-button-ink);
    --pc-button-shadow: 0 14px 30px -26px rgba(15, 23, 42, 0.65);
    --pc-button-icon-bg: rgba(37, 99, 235, 0.10);
    --pc-button-hover-icon-bg: rgba(255, 255, 255, 0.14);
    --pc-button-trial-ring: rgba(37, 99, 235, 0.28);
    background-color: var(--pc-button-bg) !important;
    background-image: none !important;
    background-position: 0 0 !important;
}

.btn-demo-builder::before {
    content: "";
    position: absolute;
    inset: 2px;
    border: 1px solid var(--pc-button-trial-ring);
    border-radius: inherit;
    pointer-events: none;
    transition: border-color 0.25s ease;
}

:is(
    .site-footer,
    .section-wycd-dark,
    .section-examples-light,
    .nfc-section,
    .checkout-header-clean,
    .error-404-container,
    .theme-dark,
    .section-dark,
    .dark-section,
    .is-dark,
    .has-dark-background,
    .has-black-background-color
) .btn-demo-builder {
    --pc-button-border: #ffffff !important;
    --pc-button-bg: #ffffff !important;
    --pc-button-color: var(--pc-button-ink) !important;
    --pc-button-hover-bg: var(--pc-button-ink) !important;
    --pc-button-hover-color: #ffffff !important;
    --pc-button-hover-border: #ffffff !important;
    --pc-button-shadow: 0 20px 44px -24px rgba(0, 0, 0, 0.65) !important;
    --pc-button-icon-bg: rgba(37, 99, 235, 0.10) !important;
    --pc-button-hover-icon-bg: rgba(255, 255, 255, 0.14) !important;
    --pc-button-trial-ring: rgba(191, 219, 254, 0.72) !important;
}

.btn-demo-builder:hover,
.btn-demo-builder:focus-visible {
    background-color: var(--pc-button-hover-bg) !important;
    background-image: none !important;
    background-position: 0 0 !important;
}

.btn-demo-builder:hover::before,
.btn-demo-builder:focus-visible::before {
    border-color: transparent;
}

/* PayPal Payments renders its own smart buttons. Keep WooCommerce's fallback
   submit button hidden for this gateway, even though the global button layer
   normally forces action buttons to display. */
.woocommerce-checkout #payment:has(#payment_method_ppcp-gateway:checked) .form-row.place-order > #place_order,
.woocommerce-checkout #payment:has(input[name="payment_method"][value="ppcp-gateway"]:checked) .form-row.place-order > #place_order,
.woocommerce-checkout #payment:has(.payment_method_ppcp-gateway.payment_method_selected) .form-row.place-order > #place_order,
#ppcp-hosted-fields #place_order.ppcp-dcc-order-button {
    display: none !important;
}

@media (max-width: 760px) {
    :is(
        .btn-premium-main,
        .btn-transform,
        .btn-builder-primary,
        .btn-demo-builder,
        .trial-creator-button,
        .wp-block-button__link,
        .wp-element-button,
        .premium-cta-main
    ) {
        --pc-button-padding-x: 20px;
        white-space: normal !important;
        line-height: 1.15 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        .btn-premium-main,
        .btn-transform,
        .btn-builder-primary,
        .btn-demo-builder,
        .trial-creator-button,
        .cta-btn,
        .hb-mobile-order-btn,
        .btn-gradient,
        .btn-read-hero,
        .wp-block-button__link,
        .wp-element-button,
        button.button,
        input.button,
        .woocommerce a.button,
        .woocommerce button.button,
        .woocommerce input.button,
        .woocommerce .woocommerce-Button,
        .cf7-custom-style input[type="submit"],
        .footer-form.inf-form .inf-submit input[type="submit"],
        .nfc-submit,
        .account-form-btn,
        .co-auth-banner-btn,
        .pricing-modal__submit,
        .premium-cta-main,
        .btn-shimmer-effect,
        #place_order,
        #btn-add-fix.btn-shimmer-effect,
        .btn-confirm,
        .error-modal-close,
        .btn-close-modal,
        .nl-popup-btn,
        .nl-promo-submit,
        .nl-promo-success-btn,
        .pc-account-btn,
        .pc-order-btn,
        .pc-orders-pagination__btn,
        .order-card__btn,
        .orders-pagination__btn
    ) {
        transition-duration: 0.01s !important;
    }
}
