/*
 * Core patch p30: Calculate first, one purchase button (assets/purchase-slot-p30.js sets the classes).
 * Undo: delete this file's enqueue (includes/purchase-slot-p30.php) — without the script's classes nothing here applies.
 */

/* 1. ONE BUTTON — the form's own Calculate is hidden (the purchase row's button clicks it); the row shows Calculate
   until the price is worked out, then Add to cart. Undo: delete this block. */
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot.mdb-calc-slot > .js-uni-cpo-calculate-btn{display:none!important}
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot.mdb-calc-slot[data-mdb-action="calculate"] .single_add_to_cart_button{display:none!important}
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot.mdb-calc-slot[data-mdb-action="calculate"] .mdb-cpo-invalid-trigger{display:inline-flex!important}
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot.mdb-calc-slot[data-mdb-action="cart"] .single_add_to_cart_button{display:inline-flex!important}
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot.mdb-calc-slot[data-mdb-action="cart"] .mdb-cpo-invalid-trigger{display:none!important}

/* 2. BUSY — "Calculating..." and "Adding to cart..." carry a small spinner. Undo: delete this block. */
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot :is(.single_add_to_cart_button,.mdb-cpo-invalid-trigger)[aria-busy="true"]{cursor:progress;gap:10px}
:root body.mdb-native-cpo .product form.cart.mdb-calc-slot .mdb-p30-spin{display:inline-block;flex:none;width:16px;height:16px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:mdb-p30-spin .75s linear infinite}
@keyframes mdb-p30-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){:root body.mdb-native-cpo .product form.cart.mdb-calc-slot .mdb-p30-spin{animation-duration:2.4s}}

/* 3. WHILE ADDING TO CART (p32) — Aaron, 29 Sep: "while adding to cart why does it lett me change uni cpo options? im
   worried it may change whats added to the cart". Every product form: while the cart request runs (.mdb-cart-adding,
   set by assets/purchase-slot-p30.js) the options are greyed and take no clicks, and the page shows it is busy. What
   goes into the cart is what was chosen when Add to cart was pressed. Undo: delete this block. */
:root body.mdb-native-cpo .product form.cart.mdb-cart-adding{cursor:progress}
:root body.mdb-native-cpo .product form.cart.mdb-cart-adding #uni_cpo_options{pointer-events:none;opacity:.55;transition:opacity .2s ease}
:root body.mdb-native-cpo .product form.cart.mdb-cart-adding .single_add_to_cart_button{pointer-events:none}
@media (prefers-reduced-motion:reduce){:root body.mdb-native-cpo .product form.cart.mdb-cart-adding #uni_cpo_options{transition:none}}
