/* Calm native WooCommerce. Isolated to acquisition/cart/checkout; no homepage selectors. */
.abs-commerce { --ac-ink:#23332d; --ac-paper:#f0ebe2; --ac-rule:#b8b6aa; color:var(--ac-ink); max-width:1280px; padding-top:35px; padding-bottom:90px; }
.abs-commerce h1 { font:400 clamp(44px,6vw,82px)/1.04 Georgia,serif; letter-spacing:-.045em; margin:20px 0 32px; }
.abs-commerce h2,.abs-acquire h2 { font:400 25px/1.2 Georgia,serif; letter-spacing:-.02em; }
.abs-commerce-intro { display:flex; justify-content:space-between; gap:24px; align-items:baseline; border-bottom:1px solid var(--ac-rule); padding-bottom:24px; margin-bottom:35px; }
.abs-commerce-intro p { margin:0; max-width:45ch; font:14px/1.7 system-ui,sans-serif; }
.abs-commerce a { text-underline-offset:4px; }
.abs-commerce .woocommerce { width:100%; }
.abs-commerce .woocommerce-cart-form { margin-bottom:35px; }
.abs-commerce .shop_table { width:100%; border:0!important; border-collapse:collapse!important; border-radius:0!important; }
.abs-commerce .shop_table th,.abs-commerce .shop_table td { border-top:0!important; border-bottom:1px solid var(--ac-rule)!important; padding:20px 12px!important; vertical-align:middle!important; }
.abs-commerce .shop_table th { font:500 12px/1.5 system-ui,sans-serif; text-align:left; }
.abs-commerce .product-thumbnail { width:115px; }
.abs-commerce .product-thumbnail img { width:90px!important; height:110px!important; object-fit:contain; }
.abs-commerce .product-name { font:400 23px/1.3 Georgia,serif; }
.abs-commerce .abs-one-original { display:block; font:12px/1.7 system-ui,sans-serif; margin-top:8px; }
.abs-commerce .product-price,.abs-commerce .product-subtotal { white-space:nowrap; }
.abs-commerce .coupon input.input-text { width:180px!important; margin-right:8px!important; }
.abs-commerce .cart_totals { padding:28px; background:#e7e3d9; width:min(100%,480px)!important; }
.abs-commerce .cart_totals h2 { margin-top:0; }
.abs-commerce .cart-collaterals { display:flex; justify-content:flex-end; }
.abs-commerce .woocommerce form .form-row { margin:0 0 18px; padding:0; }
.abs-commerce label { font:500 13px/1.6 system-ui,sans-serif; }
.abs-commerce input.input-text,.abs-commerce select,.abs-commerce textarea { min-height:48px; color:#23332d; background:#fbfaf6; border:1px solid #90978e; border-radius:2px; padding:11px 12px; font:16px/1.5 system-ui,sans-serif; width:100%; box-sizing:border-box; }
.abs-commerce .select2-container .select2-selection--single { height:48px; border-color:#90978e; background:#fbfaf6; }
.abs-commerce .select2-container .select2-selection__rendered { line-height:46px; padding-left:12px; }
.abs-commerce .select2-container .select2-selection__arrow { height:46px; }
.abs-commerce input[type=checkbox],.abs-commerce input[type=radio] { accent-color:#23332d; width:18px; height:18px; vertical-align:middle; margin-right:8px; }
.abs-commerce form.checkout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); column-gap:65px; align-items:start; }
.abs-commerce #customer_details { grid-column:1; grid-row:1 / span 3; width:100%; }
.abs-commerce #customer_details .col-1,.abs-commerce #customer_details .col-2 { float:none; width:100%; }
.abs-commerce #order_review_heading,.abs-commerce #order_review { grid-column:2; margin-top:0; }
.abs-commerce #order_review { padding:24px; border:1px solid var(--ac-rule); background:#eae6dc; }
.abs-commerce #payment { background:transparent!important; }
.abs-commerce #payment .payment_box { background:#fbfaf6!important; color:#23332d!important; }
.abs-commerce #payment .payment_box::before { border-bottom-color:#fbfaf6!important; }
.abs-commerce #payment .place-order { padding:20px 0 0!important; }
.abs-commerce .woocommerce button.button,.abs-commerce .woocommerce a.button,.abs-commerce #place_order,.abs-acquire button { background:#23332d!important; color:#fff!important; border:1px solid #23332d; border-radius:2px; min-height:48px; padding:15px 24px; font:500 14px/1.25 system-ui,sans-serif; text-align:center; white-space:normal; text-decoration:none; box-sizing:border-box; }
.abs-commerce #place_order { width:100%; margin-top:14px; }
.abs-commerce .woocommerce button:disabled { opacity:.45!important; }
.abs-commerce :focus-visible,.abs-acquire :focus-visible { outline:3px solid #925b2d; outline-offset:4px; }
.abs-commerce .woocommerce-error,.abs-commerce .woocommerce-info,.abs-commerce .woocommerce-message { background:#fbfaf6; color:#23332d; border-top-color:#925b2d; font:14px/1.7 system-ui,sans-serif; }
.abs-commerce .woocommerce-checkout-review-order-table .product-name { font:16px/1.5 system-ui,sans-serif; }
.abs-commerce .woocommerce-privacy-policy-text,.abs-commerce .woocommerce-terms-and-conditions-wrapper { font:12px/1.7 system-ui,sans-serif; }
.abs-commerce .woocommerce-customer-details address { border:1px solid var(--ac-rule); border-radius:0; padding:20px; box-sizing:border-box; }
.abs-acquire { border-top:1px solid #b8b6aa; margin-top:30px; padding-top:22px; }
.abs-acquire-price { font:400 34px/1.2 Georgia,serif; margin:0 0 22px; }
.abs-acquire-form { margin:18px 0; }
.abs-acquire button { width:100%; cursor:pointer; }
.abs-commerce-facts { display:grid; grid-template-columns:minmax(90px,1fr) 2fr; gap:8px 20px; font:13px/1.6 system-ui,sans-serif; }
.abs-commerce-facts dd { margin:0; }
.abs-commerce .woocommerce-table--order-details .product-name { font-size:18px; }
/* Keep native provider components intact; these rules frame the surrounding Woo UI only. */
.abs-commerce #payment ul.payment_methods { padding:0 0 20px; border-bottom:1px solid var(--ac-rule); }
.abs-commerce #payment ul.payment_methods li { padding:14px 0; border-bottom:1px solid #cbc8bc; }
.abs-commerce #payment ul.payment_methods li:last-child { border-bottom:0; }
.abs-commerce #payment label { display:inline; font-size:15px; line-height:1.7; }
.abs-commerce #payment iframe { max-width:100%; }
.abs-commerce .woocommerce-invalid input.input-text,.abs-commerce .woocommerce-invalid select { border:2px solid #8a2923; }
.abs-commerce .woocommerce-error a { color:inherit; font-weight:600; }
.abs-commerce .woocommerce-checkout-review-order-table tfoot th,.abs-commerce .woocommerce-checkout-review-order-table tfoot td { font-size:14px; }
.abs-commerce .woocommerce-checkout-review-order-table .order-total { font-size:20px; }
.abs-commerce .woocommerce-order-details,.abs-commerce .woocommerce-customer-details { margin-top:36px; }
.abs-commerce .woocommerce-notice { font:400 22px/1.5 Georgia,serif; }
.abs-commerce .woocommerce-privacy-policy-text a,.abs-commerce .woocommerce-terms-and-conditions-checkbox-text a { text-decoration:underline; }
@media(max-width:767px) {
 .abs-commerce { padding-top:20px; padding-bottom:55px; }
 .abs-commerce-intro { display:block; }
 .abs-commerce-intro p { margin-bottom:15px; }
 .abs-commerce form.checkout { display:block; }
 .abs-commerce #order_review_heading { margin-top:30px; }
 .abs-commerce #order_review { padding:16px; }
 .abs-commerce .form-row-first,.abs-commerce .form-row-last { width:100%!important; float:none!important; }
 .abs-commerce .cart_totals { padding:20px; }
 .abs-commerce .coupon input.input-text { width:100%!important; margin-bottom:8px!important; }
 .abs-commerce .shop_table td { padding:14px 8px!important; }
 .abs-commerce .shop_table_responsive tr.cart_item { display:grid; grid-template-columns:80px minmax(0,1fr); position:relative; padding:15px 0; border-bottom:1px solid var(--ac-rule); }
 .abs-commerce .shop_table_responsive tr.cart_item td { border:0!important; }
 .abs-commerce .shop_table_responsive .product-thumbnail { display:flex!important; width:auto; grid-column:1; grid-row:1 / span 4; align-items:start; }
 .abs-commerce .product-thumbnail img { width:65px!important; height:100px!important; }
 .abs-commerce .shop_table_responsive .product-thumbnail::before,.abs-commerce .shop_table_responsive .product-name::before { display:none; }
 .abs-commerce .shop_table_responsive td.product-name { padding-right:52px!important; font-size:22px; text-align:left!important; }
 .abs-commerce .shop_table_responsive td.product-remove { display:block; position:absolute; top:15px; right:0; }
 .abs-commerce .shop_table_responsive td.product-price,.abs-commerce .shop_table_responsive td.product-quantity,.abs-commerce .shop_table_responsive td.product-subtotal { grid-column:2; text-align:right!important; }
 .abs-commerce .product-remove a { min-height:44px; min-width:44px; line-height:44px; }
 .abs-commerce ul.order_details { padding:0; }
 .abs-commerce ul.order_details li { float:none; border:0; padding:8px 0; margin:0; }
}
@media(prefers-reduced-motion:reduce) { .abs-commerce *, .abs-acquire * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
