/* Product-card controls reuse the exact header cart artwork. */
.woocommerce ul.products li.product {position:relative;}
.woocommerce ul.products li.product .upf-icon-button,
.woocommerce ul.products li.product .addcart_price_div a.button,
.woocommerce ul.products li.product .zui-unavailable {
  width:48px!important;height:48px!important;min-width:48px!important;flex:0 0 48px;
  padding:0!important;border:0!important;border-radius:50%!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  background:#f1f2ed!important;color:#000!important;font-size:0!important;
}
.woocommerce ul.products li.product .upf-icon-button::before,
.woocommerce ul.products li.product .addcart_price_div a.button::before,
.woocommerce ul.products li.product .zui-unavailable::before {
  content:""!important;display:block!important;width:23px!important;height:23px!important;
  background:url('/wp-content/uploads/2024/09/svgexport-2.svg') center/contain no-repeat!important;
  mask:none!important;font-size:0!important;
}
.woocommerce ul.products li.product .upf-icon-button svg,
.woocommerce ul.products li.product .upf-icon-button i {display:none!important;}
.woocommerce ul.products li.product .zui-unavailable {position:absolute;right:16px;bottom:16px;cursor:not-allowed;}
.woocommerce ul.products li.product .zui-unavailable::before {opacity:.25;}
.woocommerce ul.products li.product.outofstock .upf-icon-button,
.woocommerce ul.products li.product.outofstock .addcart_price_div a.button {display:none!important;}
.woocommerce .woocommerce-ordering, body.upf-active-view .woocommerce form.woocommerce-ordering {margin-bottom:24px!important;}
body.single-product form.cart .quantity:has(input[type=number]) {display:inline-flex!important;align-items:center;border:1px solid #111;border-radius:6px;overflow:hidden;margin-right:16px!important;}
body.single-product form.cart .quantity input[type=number] {width:48px!important;min-width:0;border:0!important;border-radius:0;padding:8px 2px!important;text-align:center;appearance:textfield;}
body.single-product form.cart .quantity input::-webkit-inner-spin-button,
body.single-product form.cart .quantity input::-webkit-outer-spin-button {appearance:none;margin:0;}
body.single-product form.cart .zui-quantity-step {min-width:40px;width:40px;min-height:44px;border:0;border-radius:0;background:#f1f2ed;color:#000;padding:0;font:600 20px/1 sans-serif;}
body.single-product form.cart .zui-quantity-step:disabled {color:#aaa;cursor:default;}
body.single-product form.cart .quantity:has(input[type=hidden]) .zui-quantity-step {display:none;}
body.single-product form.cart .zui-quantity-step:focus-visible {outline:2px solid #000;outline-offset:-3px;}
body.single-product .elementor form.cart .quantity:has(input[type=number]) {width:130px!important;min-width:130px!important;max-width:130px!important;flex:0 0 130px!important;gap:0!important;}
body.single-product .elementor form.cart .quantity input[type=number] {flex:0 0 48px!important;margin:0!important;}
body.single-product .elementor form.cart .quantity .zui-quantity-step {flex:0 0 40px!important;background:#f1f2ed!important;color:#000!important;margin:0!important;padding:0!important;}
body.single-product .elementor form.cart .quantity .zui-quantity-step:disabled {color:#aaa!important;}
@media(max-width:767px){body.single-product .elementor form.cart{display:flex!important;flex-wrap:wrap!important;}body.single-product .elementor form.cart .single_add_to_cart_button{flex:1 0 100%!important;margin:0!important;}}
@media(max-width:767px){body.single-product form.cart .quantity:has(input[type=number]){margin:0 0 12px!important;}body.single-product form.cart{flex-wrap:wrap;}}

/* Keep the signed-in WordPress account menu inside its toolbar on the frontend. */
body:not(.wp-admin) #wpadminbar > .quicklinks {display:flex;justify-content:space-between;}
body:not(.wp-admin) #wpadminbar #wp-admin-bar-root-default {display:flex;flex:1;min-width:0;}
body:not(.wp-admin) #wpadminbar #wp-admin-bar-root-default > li {flex-shrink:1;min-width:0;}
body:not(.wp-admin) #wpadminbar #wp-admin-bar-root-default > li > .ab-item {overflow:hidden;text-overflow:ellipsis;}
body:not(.wp-admin) #wpadminbar #wp-admin-bar-top-secondary {flex:0 0 auto;}

/* Equal inset around the quantity controls; a single available item is fixed. */
body.single-product .elementor form.cart .quantity:has(input[type=number]) {
  box-sizing:border-box!important;width:142px!important;min-width:142px!important;
  max-width:142px!important;flex:0 0 142px!important;padding:6px!important;gap:0!important;
}
body.single-product .elementor form.cart .quantity .zui-quantity-step {
  width:40px!important;min-width:40px!important;min-height:32px!important;height:32px!important;
  border-radius:3px!important;flex:0 0 40px!important;
}
body.single-product .elementor form.cart .quantity input[type=number] {
  box-sizing:border-box!important;width:48px!important;height:32px!important;
  min-height:32px!important;padding:4px 2px!important;flex:0 0 48px!important;
}
body.single-product .elementor form.cart .quantity.zui-quantity-fixed {
  display:inline-flex!important;align-items:center;justify-content:center;
  box-sizing:border-box!important;border:1px solid #111;border-radius:6px;
  width:52px!important;min-width:52px!important;max-width:52px!important;
  flex:0 0 52px!important;min-height:46px;padding:6px!important;gap:0!important;
  margin-right:16px!important;
}
body.single-product .elementor form.cart .quantity.zui-quantity-fixed .zui-quantity-step {display:none!important;}
body.single-product .elementor form.cart .quantity.zui-quantity-fixed input[type=number] {
  width:38px!important;flex:0 0 38px!important;cursor:default;
}
body.single-product .elementor form.cart .zui-quantity-value {display:block;line-height:32px;text-align:center;}
@media(max-width:767px){body.single-product .elementor form.cart .quantity.zui-quantity-fixed{margin:0 0 12px!important;}}
/* The popup plugin already inserts its success icon; avoid Woo's second one. */
.single-product .single_add_to_cart_button.added:has(.xoo-cp-added)::after{content:none!important;display:none!important}
