/* --- Layout Wrappers & Normalization --- */
.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart form.cart,
.woocommerce div.product .elementor-widget-wc-add-to-cart form.cart,
.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart form.cart.variations_form .woocommerce-variation-add-to-cart,
.woocommerce div.product .elementor-widget-wc-add-to-cart form.cart.variations_form .woocommerce-variation-add-to-cart {
	flex-wrap: wrap !important;
}
.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart form.cart .button:where(:not(:first-child)),
.woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart form.cart button:where(:not(:first-child)),
.woocommerce div.product .elementor-widget-wc-add-to-cart form.cart .button:where(:not(:first-child)),
.woocommerce div.product .elementor-widget-wc-add-to-cart form.cart button:where(:not(:first-child)) {
	margin-inline-start: 0 !important;
}

/* --- Variations Table --- */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
	display: block; width: 100%; border: none; padding: 0; background: none; text-align: left;
}
.woocommerce div.product form.cart table.variations { margin-bottom: 15px; }
.woocommerce div.product form.cart table.variations th.label { padding-bottom: 8px; }
.woocommerce div.product form.cart table.variations th.label label { font-weight: 600; font-size: 15px; color: #222; margin: 0; }
.woocommerce div.product form.cart table.variations td.value { padding-bottom: 4px; }
.woocommerce div.product form.cart table.variations select { display: none !important; }
.woocommerce div.product form.cart table.variations .reset_variations { margin-top: 6px; font-size: 13px; }

/* --- Accessible Variation Swatches --- */
.raz-swatch-group { display: flex; flex-wrap: wrap; gap: 10px; }
.raz-swatch-btn { position: relative; padding: 10px 20px; border: 1px solid #d5d9dd !important; border-radius: 8px !important; background: #f7f8fa !important; font-size: 14px; line-height: 1; cursor: pointer; transition: all .15s ease; color: #333 !important; }
.raz-swatch-btn:hover, .raz-swatch-btn:focus-visible { border-color: #b7bcc2 !important; outline: none; }
.raz-swatch-btn:focus-visible { box-shadow: 0 0 0 2px #3fbf60; }
.raz-swatch-btn[aria-pressed="true"] { background: #e3f6e8 !important; border-color: #3fbf60 !important; color: #1f7a34 !important; }
.raz-swatch-btn[aria-pressed="true"]::after { content: "\2713"; position: absolute; top: -8px; right: -8px; width: 18px; height: 18px; border-radius: 50%; background: var(--e-global-color-primary); color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center; line-height: 1; }

/* --- Strictly Isolated Quantity Box --- */
.quantity-wrapper { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; width: 100%; }
.quantity-wrapper label { font-size: 18px; color: #222; font-weight: 500; margin: 0; cursor: pointer; }
.woocommerce .quantity.qty-box { display: flex !important; align-items: center; border: 1px solid #ddd !important; border-radius: 8px !important; overflow: hidden !important; background: #fff !important; margin: 0 !important; padding: 0 !important; }
.woocommerce .quantity.qty-box .qty-btn { width: 38px !important; height: 38px !important; border: none !important; border-radius: 0 !important; background: #fff !important; font-size: 24px !important; color: #555 !important; cursor: pointer; transition: background .25s ease; padding: 0 !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; line-height: 1; }
.woocommerce .quantity.qty-box .qty-btn:hover, .woocommerce .quantity.qty-box .qty-btn:focus-visible { background: #f4f4f4 !important; outline: none; }
.woocommerce .quantity.qty-box input.qty { width: 40px !important; border: none !important; text-align: center !important; font-size: 18px !important; outline: none !important; -moz-appearance: textfield; appearance: textfield; height: 38px !important; margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; font-weight: normal; }
.woocommerce .quantity.qty-box input.qty::-webkit-inner-spin-button, .woocommerce .quantity.qty-box input.qty::-webkit-outer-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }

/* --- Button Grid (50/50 Layout) --- */
.raz-btn-row { display: flex !important; gap: 10px !important; width: 100%; flex-wrap: nowrap; }
.raz-btn-row .raz-add-cart-btn, .raz-btn-row .raz-buy-now-btn { flex: 1 1 50%; width: 50%; text-align: center; padding: 14px 10px; font-size: 16px; font-weight: 600; border-radius: 6px; border: none; cursor: pointer; margin: 0 !important; display: flex; align-items: center; justify-content: center; position: relative; transition: all 0.3s ease; }
.raz-btn-row .raz-buy-now-btn { background: #002324 !important; color: #fff !important; }
.raz-btn-row .raz-buy-now-btn:hover, .raz-btn-row .raz-buy-now-btn:focus-visible { background: #003b3d !important; outline: none; }

/* --- Fix Loading & Added Icon Alignment and Animation --- */
.woocommerce div.product form.cart .raz-btn-row .raz-add-cart-btn.loading::after,
.woocommerce div.product form.cart .raz-btn-row .raz-add-cart-btn.added::after {
	position: relative !important;
	display: inline-block !important; 
	margin-left: 10px !important; 
	vertical-align: middle !important; 
	top: auto !important; 
	right: auto !important;
}
