/* Oasis cart + checkout UX. Loaded on cart and checkout only. Uses the Oasis tokens from odf-design.css. */

/* ---------- Delivery / offer box ---------- */
.odf-dbox{margin:0 0 18px;padding:14px 16px;border:1px solid var(--odf-border,#E7E1D9);border-radius:12px;background:#fff;font-size:14px;line-height:1.45;color:var(--odf-text,#29231F)}
.odf-dbox p{margin:0}
.odf-dbox__ship{font-weight:600;color:var(--odf-brown,#3C2315)}
.odf-dbox__ship .woocommerce-Price-amount{color:var(--odf-green-dk,#2F7D36)}
.odf-dbox__ship--done{color:var(--odf-green-dk,#2F7D36)}
.odf-dbox__bar{height:6px;margin:8px 0 10px;border-radius:99px;background:#EFEAE3;overflow:hidden}
.odf-dbox__bar span{display:block;height:100%;border-radius:inherit;background:var(--odf-green,#4AB151);transition:width .3s ease}
.odf-dbox__list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px;color:var(--odf-muted,#6B625B);font-size:13px}
.odf-dbox__list li{position:relative;padding-left:18px;margin:0}
.odf-dbox__list li::before{content:"";position:absolute;left:2px;top:.45em;width:8px;height:5px;border-left:2px solid var(--odf-green,#4AB151);border-bottom:2px solid var(--odf-green,#4AB151);transform:rotate(-45deg)}
.odf-dbox__promo{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:10px;border-top:1px dashed var(--odf-border,#E7E1D9);font-size:13.5px}
.odf-dbox__promo strong{letter-spacing:.04em;color:var(--odf-brown,#3C2315)}
.odf-dbox__promo--on{color:var(--odf-green-dk,#2F7D36);font-weight:600}
.odf-dbox__apply{margin-left:auto;height:30px;min-height:30px;padding:0 14px !important;border:1px solid var(--odf-brown,#3C2315) !important;border-radius:6px;background:transparent !important;color:var(--odf-brown,#3C2315) !important;font-size:13px;font-weight:600;line-height:1 !important;cursor:pointer}
.odf-dbox__apply:hover{background:var(--odf-brown,#3C2315) !important;color:#fff !important}
.odf-dbox__apply::before,.odf-dbox__apply::after{display:none !important}

/* ---------- Cart ---------- */
/* One card, not a grey card inside an ivory card. */
.woocommerce-cart .cart_totals .cart_totals_summary{background:transparent !important;padding:0 !important}
.woocommerce-cart .cart_totals{padding:22px !important}
/* Quantity that can't change */
.odf-qty-fixed{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 10px;border:1px solid var(--odf-border,#E7E1D9);border-radius:8px;font-weight:600;color:var(--odf-text,#29231F)}
/* Coupon row: input stretches, button keeps its size */
.woocommerce-cart .woocommerce-cart-form .coupon{display:flex;gap:8px;align-items:stretch;width:100%;max-width:420px;box-sizing:border-box}
.woocommerce-cart .woocommerce-cart-form .coupon input[name="coupon_code"]{flex:1 1 0;min-width:0;width:0 !important}
.woocommerce-cart .woocommerce-cart-form .coupon button{flex:0 0 auto}

/* ---------- Checkout ---------- */
/* Page container: the checkout page has no Elementor container, so it ran edge to edge. */
body.woocommerce-checkout .site-content > .woocommerce{max-width:1440px;margin:0 auto;padding:24px 50px 60px;box-sizing:border-box}
@media (max-width:1024px){body.woocommerce-checkout .site-content > .woocommerce{padding:20px 30px 48px}}
@media (max-width:767px){body.woocommerce-checkout .site-content > .woocommerce{padding:16px 15px 40px}}
/* India is the only country we ship to: no need for a one-option dropdown. The value is still sent. */
body.woocommerce-checkout #billing_country_field,body.woocommerce-checkout #shipping_country_field{display:none !important}
/* Trust line under Place order */
.odf-secure{margin:10px 0 0;text-align:center;font-size:12.5px;color:var(--odf-muted,#6B625B)}
/* Desktop: keep the order summary in view while filling the form */
@media (min-width:1025px){
	body.woocommerce-checkout form.checkout #order_review,
	body.woocommerce-checkout form.checkout .woocommerce-checkout-review-order{position:sticky;top:24px}
}
/* Cart actions row. The cell must stay a table cell: display:flex on a <td> drops its colspan,
   which shrank the row to the first column (coupon field collapsed, Update cart wrapped left).
   Desktop/tablet: coupon left, Update cart right, same baseline (same as staging).
   Mobile: coupon row full width, Update cart full width underneath. */
@media (min-width:768px){
	.woocommerce-cart .woocommerce-cart-form td.actions .coupon{float:left;margin-top:0 !important}
	.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]{float:right;margin-top:0 !important}
	.woocommerce-cart .woocommerce-cart-form td.actions::after{content:"";display:table;clear:both}
}
@media (max-width:767px){
	.woocommerce-cart .woocommerce-cart-form td.actions .coupon{float:none;max-width:none;width:100%}
	.woocommerce-cart .woocommerce-cart-form td.actions button[name="update_cart"]{float:none;width:100%;margin-top:10px !important}
}
/* Invalid coupon: WooCommerce prints the error inside the coupon row. Put it on its own line
   under the field so the input and Apply button keep their size (on staging the field collapsed). */
.woocommerce-cart .woocommerce-cart-form td.actions .coupon{flex-wrap:wrap}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon .coupon-error-notice{flex:0 0 100%;order:3;margin:6px 0 0;font-size:13px;line-height:1.4;color:#B42318}
.woocommerce-cart .woocommerce-cart-form td.actions .coupon input.has-error{border-color:#B42318}
/* State select full width (native select or selectWoo), never wider than the form */
body.woocommerce-checkout .form-row .woocommerce-input-wrapper{display:block;width:100%;max-width:100%}
body.woocommerce-checkout #billing_state,body.woocommerce-checkout #shipping_state,body.woocommerce-checkout .form-row .select2-container{width:100% !important;max-width:100%}
/* Checkout: the native State select that selectWoo hides (.select2-hidden-accessible) also got width:100% from the rule above.
   It is absolutely positioned, so on tablet/phone it stuck out past the right edge and caused ~30px horizontal scroll
   (same on staging). Keep the hidden select 1px wide; the visible select2 box keeps full width. */
body.woocommerce-checkout #billing_state.select2-hidden-accessible,body.woocommerce-checkout #shipping_state.select2-hidden-accessible{width:1px !important;max-width:1px !important}
