/**
 * (Sridhar) Add to Cart — assets/css/style.css
 * v5.7.1
 */

.sac-wrapper,
.sac-add-btn,
.sac-controller,
.sac-minus,
.sac-plus,
.sac-count,
.sac-var-link {
    box-sizing: border-box;
}

.sac-add-btn,
.sac-minus,
.sac-plus {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-clip: padding-box;
    margin: 0;
    outline: none;
}

/* ── HIDDEN STATE — bulletproof, never visually overlap ── */
.sac-is-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.sac-var-link,
a.sac-var-link,
a.sac-var-link:hover,
a.sac-var-link:focus,
a.sac-var-link:visited,
a.sac-var-link.button,
a.sac-var-link.button:hover {
    text-decoration: none !important;
}

/* ══ DOWN-TO-UP ROLL ANIMATION (0.5s) ══ */
@keyframes sacRollUp {
    0%   { transform: translateY(110%); opacity: 0; }
    60%  { opacity: 1; }
    100% { transform: translateY(0); opacity: 1; }
}

.sac-count-inner,
.sac-item-count-inner {
    display: inline-block;
    line-height: 1.3;
    will-change: transform, opacity;
}

.sac-count-inner.sac-roll-up,
.sac-item-count-inner.sac-roll-up {
    animation: sacRollUp 0.5s cubic-bezier(.25, .8, .25, 1) forwards;
}

.sac-count {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ══ HIDE NATIVE WOOCOMMERCE / ELEMENTOR BUTTONS BEFORE SAC REPLACES ══ */
.woocommerce ul.products li.product .button.add_to_cart_button:not(.sac-add-btn),
.woocommerce-page ul.products li.product .button.add_to_cart_button:not(.sac-add-btn),
ul.products li.product a.button.add_to_cart_button:not(.sac-add-btn),
ul.products li.product a.button.product_type_variable:not(.sac-add-btn),
ul.products li.product button.product_type_variable:not(.sac-add-btn),
ul.products li.product a.added_to_cart,
.products li.product .add_to_cart_button:not(.sac-add-btn),
.wc-block-grid__product .wp-block-button__link:not(.sac-add-btn),
.wc-block-grid__product .wc-block-grid__product-add-to-cart .button:not(.sac-add-btn),

.single-product div.product form.cart .single_add_to_cart_button:not(.sac-add-btn),
.single-product div.product form.cart .quantity,
.woocommerce div.product form.cart .single_add_to_cart_button:not(.sac-add-btn),
.woocommerce div.product form.cart .quantity,

.elementor-widget-woocommerce-product-add-to-cart form.cart .single_add_to_cart_button:not(.sac-add-btn),
.elementor-widget-woocommerce-product-add-to-cart form.cart .quantity,
.elementor-add-to-cart .single_add_to_cart_button:not(.sac-add-btn),
.elementor-add-to-cart .quantity,

.elementor-widget-woocommerce-products li.product .button.add_to_cart_button:not(.sac-add-btn),
.elementor-widget-wc-archive-products li.product .button.add_to_cart_button:not(.sac-add-btn),
.elementor-products-grid li.product .button.add_to_cart_button:not(.sac-add-btn),
.elementor-products-grid li.product .product_type_variable:not(.sac-add-btn) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.sac-ready .sac-wrapper {
    opacity: 1 !important;
}
