/* Shared feedback for blue action buttons. Add ui-primary-button to new actions.
   A cascade layer lets these intentional important overrides win over older,
   unlayered page styles without changing button dimensions or resting colors. */

:root {
    --ui-primary-hover-bg: #0051bb;
    --ui-primary-hover-shadow: 0 20px 42px rgba(0, 81, 187, .40);
}

@layer primary-button-feedback {
     :is( .ui-primary-button, .cmn-header-login, .cmn-mobile-auth-btn--primary, .btn-primary, .btn-primary-nav, .btn-hero-primary, .btn-all-products, .category-feature-link, .home-how-it-works-start, .home-sticker-entry > a, .design-ideas-create, .design-idea-use, .design-idea-selection-change, .product-action-primary, .btn-select, .related-action-primary, .btn-detail-design, .btn-continue, .btn-submit: not(.btn-invoice), .search-reset, .empty-btn.primary, .empty-action: not(.empty-action-secondary), .info-button: not(.info-button-light), .profile-storefront .btn-edit, .settings-btn, .invoice-card-btn.primary, .invoice-action.primary, .order-detail-btn, .order-pay-btn, .profile-qpay-button, .orders-empty-btn.primary, .wishlist-profile-action, .qpay-check-button, .invoice-toolbar .primary, .sticker-primary, .catalog-panel-button.is-primary, .print-method-dialog-footer button, .tb-btn-primary, .confirm-btn.primary, .btn-confirm-order, .editor-bottom-confirm, .pm-action-primary, .cart-checkout, .cart-empty-action, .text-add-button, .image-upload-button, .ai-demo-generate) {
        transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease !important;
    }
    @media (hover: hover) and (pointer: fine) {
         :is( .ui-primary-button, .cmn-header-login, .cmn-mobile-auth-btn--primary, .btn-primary, .btn-primary-nav, .btn-hero-primary, .btn-all-products, .category-feature-link, .home-how-it-works-start, .home-sticker-entry > a, .design-ideas-create, .design-idea-use, .design-idea-selection-change, .product-action-primary, .btn-select, .related-action-primary, .btn-detail-design, .btn-continue, .btn-submit: not(.btn-invoice), .search-reset, .empty-btn.primary, .empty-action: not(.empty-action-secondary), .info-button: not(.info-button-light), .profile-storefront .btn-edit, .settings-btn, .invoice-card-btn.primary, .invoice-action.primary, .order-detail-btn, .order-pay-btn, .profile-qpay-button, .orders-empty-btn.primary, .wishlist-profile-action, .qpay-check-button, .invoice-toolbar .primary, .sticker-primary, .catalog-panel-button.is-primary, .print-method-dialog-footer button, .tb-btn-primary, .confirm-btn.primary, .btn-confirm-order, .editor-bottom-confirm, .pm-action-primary, .cart-checkout, .cart-empty-action, .text-add-button, .image-upload-button, .ai-demo-generate):hover:not(:disabled):not([aria-disabled="true"]):not(.disabled):not([aria-busy="true"]):not(.is-loading) {
            background: var(--ui-primary-hover-bg) !important;
            border-color: var(--ui-primary-hover-bg) !important;
            color: #fff !important;
            transform: none !important;
            filter: none !important;
        }
    }
    @media (prefers-reduced-motion: reduce) {
         :is( .ui-primary-button, .cmn-header-login, .cmn-mobile-auth-btn--primary, .btn-primary, .btn-primary-nav, .btn-hero-primary, .btn-all-products, .category-feature-link, .home-how-it-works-start, .home-sticker-entry > a, .design-ideas-create, .design-idea-use, .design-idea-selection-change, .product-action-primary, .btn-select, .related-action-primary, .btn-detail-design, .btn-continue, .btn-submit: not(.btn-invoice), .search-reset, .empty-btn.primary, .empty-action: not(.empty-action-secondary), .info-button: not(.info-button-light), .profile-storefront .btn-edit, .settings-btn, .invoice-card-btn.primary, .invoice-action.primary, .order-detail-btn, .order-pay-btn, .profile-qpay-button, .orders-empty-btn.primary, .wishlist-profile-action, .qpay-check-button, .invoice-toolbar .primary, .sticker-primary, .catalog-panel-button.is-primary, .print-method-dialog-footer button, .tb-btn-primary, .confirm-btn.primary, .btn-confirm-order, .editor-bottom-confirm, .pm-action-primary, .cart-checkout, .cart-empty-action, .text-add-button, .image-upload-button, .ai-demo-generate) {
            transition: none !important;
        }
    }
}