/* WooCommerce Add to Cart Button - Orange Circle Cart Icon */

/* Target WooCommerce product loop add-to-cart buttons but strictly exclude header/menu cart elements */
.woocommerce ul.products li.product .button:not(.elementor-menu-cart__toggle .button),
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart,
.woocommerce ul.products li.product a.product_type_simple,
.woocommerce ul.products li.product a.product_type_variable,
.woocommerce ul.products li.product .ajax_add_to_cart,
.e-loop-item .button:not(.elementor-menu-cart__toggle .button),
.e-loop-item a.add_to_cart_button,
.e-loop-item a.added_to_cart,
.e-loop-item a.product_type_simple,
.e-loop-item .ajax_add_to_cart,
.elementor-widget-woocommerce-products ul.products li.product .button,
.elementor-widget-woocommerce-products ul.products li.product a.add_to_cart_button,
.elementor-widget-loop-grid .e-loop-item a.add_to_cart_button,
.elementor-widget-loop-grid .e-loop-item a.added_to_cart {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background-color: #F5A623 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(245, 166, 35, 0.35) !important;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease !important;
    position: relative !important;
    overflow: hidden !important;
    cursor: pointer !important;
    vertical-align: middle !important;
    margin-left: 15px !important;
}

/* Force container alignment so price, preorder label, and button sit inline */
.woocommerce ul.products li.product .price,
.e-loop-item .price,
.elementor-widget-woocommerce-products ul.products li.product .price,
.elementor-widget-loop-grid .e-loop-item .price {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
    margin-bottom: 0 !important;
}

/* Cart icon via pseudo-element for product buttons */
.woocommerce ul.products li.product .button:not(.elementor-menu-cart__toggle .button)::before,
.woocommerce ul.products li.product a.add_to_cart_button::before,
.woocommerce ul.products li.product a.added_to_cart::before,
.woocommerce ul.products li.product a.product_type_simple::before,
.woocommerce ul.products li.product a.product_type_variable::before,
.woocommerce ul.products li.product .ajax_add_to_cart::before,
.e-loop-item .button:not(.elementor-menu-cart__toggle .button)::before,
.e-loop-item a.add_to_cart_button::before,
.e-loop-item a.added_to_cart::before,
.e-loop-item a.product_type_simple::before,
.e-loop-item .ajax_add_to_cart::before,
.elementor-widget-woocommerce-products ul.products li.product .button::before,
.elementor-widget-woocommerce-products ul.products li.product a.add_to_cart_button::before,
.elementor-widget-loop-grid .e-loop-item a.add_to_cart_button::before,
.elementor-widget-loop-grid .e-loop-item a.added_to_cart::before {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    text-indent: 0 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='white'%3E%3Cpath d='M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.8 14.9 15.9 25.5 31.2 25.5L520 342c13.3 0 24 10.7 24 24s-10.7 24-24 24l-287.8 0c-45.9 0-85.2-31.7-95.3-76.3L77.4 67.3c-3-15.9-16.9-27.3-33-27.3L24 40C10.7 40 0 29.3 0 16S10.7 0 24 0zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: center !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

/* Checkmark icon for added to cart state */
.woocommerce ul.products li.product a.added_to_cart::before,
.e-loop-item a.added_to_cart::before,
.elementor-widget-woocommerce-products ul.products li.product a.added_to_cart::before,
.elementor-widget-loop-grid .e-loop-item a.added_to_cart::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='white'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E") !important;
}

/* Hover state */
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce ul.products li.product a.added_to_cart:hover,
.woocommerce ul.products li.product .ajax_add_to_cart:hover,
.e-loop-item .button:not(.elementor-menu-cart__toggle .button):hover,
.e-loop-item a.add_to_cart_button:hover,
.e-loop-item a.added_to_cart:hover,
.e-loop-item .ajax_add_to_cart:hover,
.elementor-widget-woocommerce-products ul.products li.product .button:hover,
.elementor-widget-woocommerce-products ul.products li.product a.add_to_cart_button:hover,
.elementor-widget-loop-grid .e-loop-item a.add_to_cart_button:hover,
.elementor-widget-loop-grid .e-loop-item a.added_to_cart:hover {
    background-color: #E8951A !important;
    box-shadow: 0 4px 12px rgba(245, 166, 35, 0.5) !important;
    transform: scale(1.05) !important;
}

/* Loading state */
.woocommerce ul.products li.product .button.loading::before,
.e-loop-item .button:not(.elementor-menu-cart__toggle .button).loading::before,
.elementor-widget-woocommerce-products ul.products li.product .button.loading::before,
.elementor-widget-loop-grid .e-loop-item a.add_to_cart_button.loading::before {
    background-image: none !important;
    content: '' !important;
    width: 20px !important;
    height: 20px !important;
    border: 3px solid rgba(255,255,255,0.3) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    animation: cart-icon-spin-75aec692 0.6s linear infinite !important;
}

.woocommerce ul.products li.product .button.loading::after,
.e-loop-item .button.loading::after,
.elementor-widget-woocommerce-products ul.products li.product .button.loading::after,
.elementor-widget-loop-grid .e-loop-item a.add_to_cart_button.loading::after {
    display: none !important;
}

@keyframes cart-icon-spin-75aec692 {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

/* ===== HEADER CART ICON — Restoring native toggle but forcing icon size ===== */

/* Explicitly reset header cart toggles that might have been caught by broad selectors */
.elementor-menu-cart__toggle .elementor-button,
.elementor-widget-woocommerce-menu-cart .elementor-button {
    background: transparent !important;
    color: inherit !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    text-indent: 0 !important;
    padding: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Remove the pseudo element from header cart if it got added */
.elementor-menu-cart__toggle .elementor-button::before,
.elementor-widget-woocommerce-menu-cart .elementor-button::before {
    display: none !important;
    content: none !important;
}

/* Force ALL cart toggle icons (SVG) to 28px */
[data-widget_type="woocommerce-menu-cart.default"] svg,
.elementor-widget-woocommerce-menu-cart svg,
.elementor-menu-cart__toggle svg,
.elementor-menu-cart__toggle .e-font-icon-svg,
.elementor-button-icon svg,
.elementor-menu-cart__toggle .elementor-button-icon svg,
.elementor-menu-cart__toggle .elementor-button-icon .e-font-icon-svg {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    fill: currentColor !important;
}

/* Force ALL cart toggle icons (font icons / i tags) to 28px */
[data-widget_type="woocommerce-menu-cart.default"] i,
.elementor-widget-woocommerce-menu-cart .elementor-button-icon i,
.elementor-menu-cart__toggle .elementor-button-icon i,
.elementor-menu-cart__toggle i {
    font-size: 28px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
}

/* Icon container */
.elementor-menu-cart__toggle .elementor-button-icon,
.elementor-widget-woocommerce-menu-cart .elementor-button-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    position: relative !important;
}

/* Cart count badge — consistent positioning and size */
.elementor-menu-cart__toggle .elementor-button-icon[data-counter]::after,
.elementor-widget-woocommerce-menu-cart .elementor-button-icon[data-counter]::after,
[data-widget_type="woocommerce-menu-cart.default"] .elementor-button-icon[data-counter]::after {
    font-size: 12px !important;
    min-width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    border-radius: 50% !important;
    padding: 0 4px !important;
    text-indent: 0 !important;
}

/* ===== Login prompt inside mini cart ===== */
.cart-styler-login-prompt-75aec692 {
    padding: 16px 20px;
    text-align: center;
    border-top: 1px solid #eee;
    margin-top: 12px;
}

.cart-styler-login-text-75aec692 {
    font-size: 14px;
    color: #666;
    margin: 0 0 12px 0;
    line-height: 1.4;
}

.cart-styler-login-btn-75aec692 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 14px 20px;
    background-color: #333;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.3s ease;
    cursor: pointer;
    border: none;
}

.cart-styler-login-btn-75aec692:hover {
    background-color: #555;
    color: #fff !important;
}

.cart-styler-login-icon-75aec692 {
    font-size: 16px;
    line-height: 1;
}

/* Hide default checkout button when not logged in */
body.cart-styler-not-logged-in-75aec692 .widget_shopping_cart .wc-forward.checkout,
body.cart-styler-not-logged-in-75aec692 .elementor-menu-cart__footer-buttons .elementor-button--checkout {
    display: none !important;
}
