/* KAPEI cart and checkout: consistent controls, clear hierarchy, responsive layout. */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{color:#304235;font:inherit}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:28px;align-items:start}
.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0}
.woocommerce-cart .cart-collaterals{grid-column:2;min-width:0}
.woocommerce-cart table.shop_table{width:100%;margin:0;border:1px solid #dce1d2;border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fffef9}
.woocommerce-cart table.shop_table th,.woocommerce-cart table.shop_table td{padding:16px 12px;vertical-align:middle;border-color:#e4e7dc}
.woocommerce-cart table.shop_table th{font-weight:700;white-space:nowrap}
.woocommerce-cart table.shop_table .product-thumbnail img{width:64px;height:64px;object-fit:contain}
.woocommerce-cart table.shop_table .product-name a{color:#304235;text-decoration:none;font-weight:600}
.woocommerce-cart table.shop_table .product-remove a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#a52d2a!important;background:#fff4f1;text-decoration:none}
.woocommerce-cart table.shop_table .product-remove a:hover{background:#fbe2dc}
.woocommerce-cart table.shop_table td.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px}
.woocommerce-cart table.shop_table td.actions .coupon{display:flex;flex:1 1 360px;align-items:center;gap:10px;min-width:0;float:none}
.woocommerce-cart table.shop_table td.actions .coupon input.input-text{box-sizing:border-box;flex:1 1 180px;width:auto;min-width:0;height:48px;margin:0;padding:0 14px;border:1px solid #bdc8b2;border-radius:9px;background:#fff;color:#304235;font:inherit}
.woocommerce-cart table.shop_table td.actions button.button,
.woocommerce-cart .cart-collaterals a.checkout-button,
.woocommerce-checkout #place_order,
.wc-block-cart__submit-container a.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:0;border-radius:9px;background:#d2f66e;color:#243427;font:inherit;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:normal}
.woocommerce-cart table.shop_table td.actions button.button{min-width:185px;margin:0}
.woocommerce-cart table.shop_table td.actions button.button:disabled{opacity:.55}
.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:100%;padding:22px;border:1px solid #dce1d2;border-radius:14px;background:#fffef9}
.woocommerce-cart .cart-collaterals .cart_totals h2{margin:0 0 14px;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.03em}
.woocommerce-cart .cart-collaterals .cart_totals table{margin:0 0 18px;border:0}
.woocommerce-cart .cart-collaterals .cart_totals th,.woocommerce-cart .cart-collaterals .cart_totals td{padding:12px 0;border-color:#e4e7dc}
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout{padding:0}
.woocommerce-cart .cart-collaterals a.checkout-button{width:100%;min-height:54px;background:#304f35;color:#fff;font-size:1.05rem}
.woocommerce-cart .cart-collaterals a.checkout-button:hover,.woocommerce-checkout #place_order:hover{background:#263f2b;color:#fff}
.woocommerce-checkout #payment{padding:20px;border:1px solid #dce1d2;border-radius:14px;background:#fffef9}
.woocommerce-checkout #payment ul.payment_methods{padding:0 0 18px;border-color:#e4e7dc}
.woocommerce-checkout #payment div.payment_box{border-radius:10px;background:#f0f4e8;color:#304235}
.woocommerce-checkout #place_order{min-height:52px;background:#304f35;color:#fff}
.wc-block-components-notice-banner{border-radius:10px}
.wc-block-cart__submit-container a.wc-block-components-button{width:100%;min-height:54px;background:#304f35;color:#fff}
.woocommerce-cart :focus-visible,.woocommerce-checkout :focus-visible,.wc-block-cart :focus-visible{outline:3px solid #64852e;outline-offset:3px}
@media(max-width:900px){.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr)}.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1}.woocommerce-cart .cart-collaterals{max-width:none}}
@media(max-width:600px){.woocommerce-cart table.shop_table td.actions{align-items:stretch}.woocommerce-cart table.shop_table td.actions .coupon{flex-basis:100%;flex-wrap:wrap}.woocommerce-cart table.shop_table td.actions .coupon input.input-text{flex-basis:100%;height:48px}.woocommerce-cart table.shop_table td.actions .coupon button.button,.woocommerce-cart table.shop_table td.actions button.button{width:100%;min-height:48px}.woocommerce-cart .cart-collaterals .cart_totals{padding:18px}.woocommerce-cart table.shop_table td,.woocommerce-cart table.shop_table th{padding:11px 8px}.woocommerce-cart .woocommerce-cart-form{overflow-x:auto}}
/* 0.6.7: load after WooCommerce; retain native cart, shipping, tax and payment logic. */
body.woocommerce-cart .woocommerce{grid-template-columns:minmax(0,1fr) minmax(310px,360px);gap:32px}
body.woocommerce-cart .woocommerce .woocommerce-cart-form{width:100%;margin:0}
body.woocommerce-cart .woocommerce .cart-collaterals{width:100%;float:none;grid-column:2;grid-row:auto}
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals{box-sizing:border-box;width:100%;float:none;padding:24px}
body.woocommerce-cart .woocommerce table.cart{table-layout:auto;width:100%}
body.woocommerce-cart .woocommerce table.cart .product-remove{width:48px}
body.woocommerce-cart .woocommerce table.cart .product-thumbnail{width:80px;min-width:80px;max-width:100px}
body.woocommerce-cart .woocommerce table.cart .product-thumbnail a{display:block;width:72px}
body.woocommerce-cart .woocommerce table.cart .product-thumbnail img{width:72px!important;height:90px!important;max-width:72px;object-fit:contain}
body.woocommerce-cart .woocommerce table.cart .product-name{width:auto;min-width:150px;overflow-wrap:break-word}
body.woocommerce-cart .woocommerce table.cart :is(.product-price,.product-subtotal){white-space:nowrap;width:85px}
body.woocommerce-cart .woocommerce table.cart .product-quantity{width:80px}
body.woocommerce-cart .woocommerce table.cart td.actions{display:table-cell}
body.woocommerce-cart .woocommerce table.cart td.actions .coupon{display:flex;float:left;width:min(100%,420px);margin-bottom:12px}
body.woocommerce-cart .woocommerce table.cart td.actions>button{float:right;margin-bottom:12px}
body.woocommerce-cart .woocommerce .cart_totals table th{min-width:100px}
body.woocommerce-cart .woocommerce .cart_totals table td{text-align:right;padding-left:16px}
body.woocommerce-cart .woocommerce .cart_totals h2{font-size:26px;line-height:1.2}
body.woocommerce-cart .woocommerce .cart_totals a.checkout-button{display:flex;background:#304f35;color:#fff;font-size:17px;margin:18px 0 0;padding:16px;box-sizing:border-box}
body.woocommerce-checkout .woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.9fr);gap:24px 36px;align-items:start}
body.woocommerce-checkout .woocommerce #customer_details{grid-column:1;grid-row:1 / span 2;min-width:0}
body.woocommerce-checkout .woocommerce #customer_details :is(.col-1,.col-2){float:none;width:100%;margin:0 0 24px}
body.woocommerce-checkout .woocommerce #order_review_heading{grid-column:2;grid-row:1;margin:0;font-size:26px}
body.woocommerce-checkout .woocommerce #order_review{grid-column:2;grid-row:2;background:#fffef9;padding:24px;border:1px solid #dce1d2;border-radius:14px;min-width:0}
body.woocommerce-checkout .woocommerce :is(input.input-text,select,textarea){font:inherit;font-size:16px;min-height:48px;padding:12px;border:1px solid #9aa88f;border-radius:8px;background:#fff}
body.woocommerce-checkout .woocommerce .select2-container .select2-selection--single{height:48px;border-radius:8px;border-color:#9aa88f}
body.woocommerce-checkout .woocommerce .select2-container .select2-selection__rendered{line-height:46px}
body.woocommerce-checkout .woocommerce .select2-container .select2-selection__arrow{height:46px}
body.woocommerce-checkout .woocommerce #order_review table{table-layout:auto;width:100%;margin:0 0 24px}
body.woocommerce-checkout .woocommerce #order_review td{overflow-wrap:anywhere}
body.woocommerce-checkout .woocommerce #order_review .product-total{white-space:nowrap}
body.woocommerce-checkout .woocommerce #place_order{width:100%;float:none;min-height:54px;background:#304f35;color:white;font-size:17px}
body.woocommerce-checkout .woocommerce .woocommerce-NoticeGroup{grid-column:1/-1}
body.woocommerce-checkout .woocommerce-error{scroll-margin-top:120px}
body.woocommerce-checkout .woocommerce-error:focus{outline:3px solid #24556a}
body.woocommerce-checkout #payment label{line-height:1.55}
body.woocommerce-checkout .kapei-digital-cart-note{background:#eef3e5;padding:14px 18px;border-radius:10px;color:#304235}
body.woocommerce-cart .wc-block-cart,body.woocommerce-checkout .wc-block-checkout{font-size:16px}
body.woocommerce-cart .woocommerce:has(.cart-empty){display:block}
@media(max-width:1000px){body.woocommerce-cart .woocommerce{grid-template-columns:1fr}body.woocommerce-cart .woocommerce .cart-collaterals{grid-column:1}body.woocommerce-checkout .woocommerce form.checkout{grid-template-columns:1fr}body.woocommerce-checkout .woocommerce #customer_details,body.woocommerce-checkout .woocommerce #order_review_heading,body.woocommerce-checkout .woocommerce #order_review{grid-column:1;grid-row:auto}}
@media(max-width:768px){body.woocommerce-cart .woocommerce table.cart .product-name{min-width:0}body.woocommerce-cart .woocommerce table.cart :is(.product-price,.product-subtotal,.product-quantity){width:auto}body.woocommerce-cart .woocommerce table.cart .product-thumbnail{display:none}body.woocommerce-cart .woocommerce table.cart td.actions .coupon{float:none;width:100%}body.woocommerce-cart .woocommerce table.cart td.actions>button{float:none;width:100%}body.woocommerce-checkout .woocommerce #order_review{padding:18px}}
