/* EKOTEKS v11.2 — CART + CHECKOUT ONLY. Native WooCommerce forms, calculations and payments. */

body.woocommerce-cart,
body.woocommerce-checkout { --ek-order-cream:#faf9f4; --ek-order-stroke:#e4e8de; --ek-order-green:#164b36; }

body.woocommerce-cart .ek-content-area,
body.woocommerce-checkout .ek-content-area { max-width:100%; padding-top:12px; padding-bottom:35px; }
body.woocommerce-cart .ek-article,
body.woocommerce-checkout .ek-article { padding:0; margin:0 0 28px; border:0; border-radius:0; box-shadow:none; background:transparent; }
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content { color:#2d4939; font-size:14px; line-height:1.55; }
body.woocommerce-cart .entry-content a,
body.woocommerce-checkout .entry-content a { text-decoration:none; }
body.woocommerce-cart .entry-content .woocommerce a:hover,
body.woocommerce-checkout .entry-content .woocommerce a:hover { color:#276949; }

.ek-order-page-intro { padding:16px 0 24px; }
.ek-order-page-intro .eyebrow { font-size:10px; font-weight:850; letter-spacing:.20em; }
.ek-order-page-intro .ek-page-title { margin:10px 0 9px; font-size:clamp(42px,4.3vw,58px); font-weight:550; line-height:1.06; }
.ek-order-page-intro p { margin:0; color:#718273; font-size:13px; line-height:1.55; }

/* WooCommerce cart: left selected products, right live totals/shipping. */
body.woocommerce-cart .entry-content > .woocommerce { display:grid; grid-template-columns:minmax(0,1.58fr) minmax(320px,1fr); column-gap:20px; row-gap:15px; align-items:start; }
body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-message,
body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-error,
body.woocommerce-cart .entry-content > .woocommerce > .woocommerce-info { grid-column:1 / -1; }
body.woocommerce-cart .entry-content > .woocommerce > form.woocommerce-cart-form { grid-column:1; grid-row:auto; background:#fffdfa; border:1px solid var(--ek-order-stroke); border-radius:23px; box-shadow:0 7px 26px rgba(39,64,41,.04); padding:22px 25px 25px; min-width:0; margin:0; }
body.woocommerce-cart .entry-content > .woocommerce > .cart-collaterals { grid-column:2; grid-row:auto; width:100%; min-width:0; }
body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding:22px 26px 25px; margin:0; width:100%; float:none; background:#fffdfa; border:1px solid var(--ek-order-stroke); border-radius:23px; box-shadow:0 7px 26px rgba(39,64,41,.04); }
body.woocommerce-cart .ek-cart-panel-title,
body.woocommerce-cart .cart_totals > h2 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.35vw,30px); font-weight:500; line-height:1.2; letter-spacing:-.032em; color:#174432; margin:0 0 20px; }

body.woocommerce-cart .woocommerce table.shop_table.cart { width:100%; border:0; margin:0; padding:0; border-radius:0; background:none; border-collapse:collapse; }
body.woocommerce-cart .woocommerce table.shop_table.cart thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.woocommerce-cart .woocommerce table.shop_table.cart tbody { display:block; width:100%; }
body.woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item { display:grid; grid-template-columns:27px 88px minmax(0,1fr) minmax(68px,92px) minmax(68px,98px); gap:12px; align-items:center; padding:18px 0; border-top:1px solid #e8ede5; }
body.woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item td { display:block; padding:0; border:0; min-width:0; background:transparent; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-remove { grid-column:1; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail { grid-column:2; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-name { grid-column:3; font-weight:760; font-size:13px; line-height:1.4; color:#173e2e; overflow-wrap:anywhere; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-price { grid-column:4; color:#6d806f; font-size:12px; white-space:normal; text-align:right; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity { grid-column:5; text-align:right; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-subtotal { grid-column:5; text-align:right; font-size:13px; font-weight:800; color:#193e2f; padding-top:2px; }
/* Show item subtotal under its quantity without sacrificing controls. */
body.woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item { grid-template-rows:auto auto; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-remove,
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail,
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-name,
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-price { grid-row:1 / span 2; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity { grid-row:1; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-subtotal { grid-row:2; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img { width:83px!important; height:83px!important; max-width:100%; border-radius:13px; object-fit:contain; background:#f7f8f4; padding:7px; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove { margin:0; display:inline-grid; place-items:center; width:23px; height:23px; line-height:1; font-size:21px!important; color:#9b746d!important; border-radius:50%; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-remove a.remove:hover { background:#faeeee; color:#a23728!important; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-name a { color:#164532; text-decoration:none; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-name dl.variation { display:block; font-weight:400; color:#718375; font-size:11px; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-price .amount { white-space:nowrap; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity .quantity { display:inline-flex; float:none; margin:0; }
body.woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity .qty { width:65px!important; height:37px; min-height:37px; padding:7px 0!important; border-radius:99px; border:1px solid #ceded0; background:#fffdfa; font-size:13px; font-weight:750; text-align:center; }
body.woocommerce-cart .woocommerce table.shop_table.cart tr:not(.cart_item) td.actions { display:flex; gap:9px; flex-wrap:wrap; align-items:center; justify-content:flex-start; padding:17px 0 0; border:0; border-top:1px solid #e8ede5; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions .coupon { display:flex; flex:1 1 260px; flex-wrap:wrap; gap:8px; align-items:center; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions .coupon label { position:absolute; height:1px; width:1px; overflow:hidden; clip-path:inset(50%); }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions .coupon .input-text { float:none; flex:1 1 135px; min-width:0; max-width:235px; min-height:41px; border:1px solid #d5e1d3; border-radius:12px; background:#fff; font-size:12px; padding:8px 12px; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions button.button,
body.woocommerce-cart .woocommerce .cart_totals a.checkout-button { background:var(--ek-order-green)!important; color:white!important; border:0!important; border-radius:99px!important; padding:12px 19px!important; line-height:1.25; font-weight:750!important; min-height:42px; box-shadow:none; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions button.button:hover,
body.woocommerce-cart .woocommerce .cart_totals a.checkout-button:hover { background:#246447!important; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions button[name='update_cart'] { margin-left:auto; float:none; font-size:11px; }
body.woocommerce-cart .woocommerce table.shop_table.cart .actions button:disabled { opacity:.47!important; cursor:not-allowed; }

/* Order summary uses WooCommerce's REAL totals, shipping and UNISEND widget. */
body.woocommerce-cart .woocommerce .cart_totals table.shop_table { width:100%; border:0; border-top:1px solid #e4e9e1; border-radius:0; border-collapse:collapse; background:transparent; margin:0; }
body.woocommerce-cart .woocommerce .cart_totals table.shop_table tr { border-bottom:1px solid #e6ebe2; }
body.woocommerce-cart .woocommerce .cart_totals table.shop_table th { width:41%; color:#53705a; font-size:12px; font-weight:650; padding:13px 10px 13px 0; vertical-align:top; border:0; background:transparent; }
body.woocommerce-cart .woocommerce .cart_totals table.shop_table td { color:#173f2e; font-size:13px; padding:13px 0 13px 8px; border:0; background:transparent; text-align:left; overflow-wrap:anywhere; }
body.woocommerce-cart .woocommerce .cart_totals table.shop_table .order-total th,
body.woocommerce-cart .woocommerce .cart_totals table.shop_table .order-total td { font-weight:850; color:#174a34; font-size:16px; }
body.woocommerce-cart .woocommerce .cart_totals ul#shipping_method { list-style:none; margin:0; padding:0; }
body.woocommerce-cart .woocommerce .cart_totals ul#shipping_method li { display:block; margin:0 0 9px; padding:0; font-size:12px; }
body.woocommerce-cart .woocommerce .cart_totals ul#shipping_method label { font-size:12px; color:#355f43; line-height:1.35; }
body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-calculator { font-size:11px; }
body.woocommerce-cart .woocommerce .cart_totals select,
body.woocommerce-cart .woocommerce .cart_totals input[type='text'] { display:inline-block; width:100%; max-width:100%; border:1px solid #cbdccb; border-radius:11px; background:#fff; padding:10px; min-height:41px; }
body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout { display:flex; flex-wrap:wrap; gap:10px; margin:17px 0 0; padding:0; }
body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button { display:inline-flex; justify-content:center; align-items:center; margin:0; font-size:12px!important; text-align:center; flex:1 1 180px; }
body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout a.ek-cart-return-shop { display:inline-flex; gap:8px; justify-content:center; align-items:center; flex:1 1 160px; border:1px solid #bad0b9; background:#fffdfa; border-radius:99px; min-height:42px; padding:11px 16px; font-size:12px; font-weight:750; color:#2e6142; }
body.woocommerce-cart .woocommerce .cart_totals .wc-proceed-to-checkout a.ek-cart-return-shop svg { width:16px; height:16px; }
body.woocommerce-cart .woocommerce .cart-collaterals::after { display:none; }

/* WooCommerce Checkout: contact/shipping form left, real order/payment right. */
body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,0.96fr); grid-template-rows:auto 1fr; column-gap:20px; row-gap:0; align-items:start; margin:0; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details { grid-column:1; grid-row:1 / span 2; background:#fffdfa; border:1px solid var(--ek-order-stroke); border-radius:23px; padding:27px 28px 31px; margin:0; width:100%; min-width:0; box-shadow:0 7px 26px rgba(39,64,41,.04); }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .col-1,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .col-2 { float:none; width:100%; margin:0; padding:0; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .col-2 { margin-top:17px; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details h3 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.3vw,30px); font-weight:500; line-height:1.17; letter-spacing:-.03em; margin:0 0 19px; color:#174432; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details p { margin:0 0 14px; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details label { display:block; font-size:11px; line-height:1.35; font-weight:750; color:#315640; margin-bottom:6px; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .required { color:#9d513c; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row { padding:0; margin:0 0 13px; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row-first { clear:both; width:calc(50% - 7px); float:left; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row-last { width:calc(50% - 7px); float:right; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row-wide { clear:both; float:none; width:100%; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .input-text,
body.woocommerce-checkout .woocommerce form.checkout #customer_details select,
body.woocommerce-checkout .woocommerce form.checkout #customer_details textarea,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-selection { width:100%; max-width:100%; min-height:44px; border:1px solid #d5e0d3; border-radius:12px; background:#fff!important; font-size:13px; color:#284636; padding:11px 13px; box-shadow:none; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details textarea { min-height:90px; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-selection__rendered { line-height:24px; padding-left:0; }
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-selection__arrow { height:43px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review_heading { grid-column:2; grid-row:1; display:block; width:100%; margin:0; padding:27px 27px 14px; border:1px solid var(--ek-order-stroke); border-bottom:0; border-radius:23px 23px 0 0; background:#fffdfa; color:#174432; font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.3vw,30px); font-weight:500; line-height:1.17; letter-spacing:-.03em; box-shadow:0 7px 26px rgba(39,64,41,.04); }
body.woocommerce-checkout .woocommerce form.checkout #order_review { grid-column:2; grid-row:2; display:block; width:100%; min-width:0; margin:0; padding:4px 27px 26px; border:1px solid var(--ek-order-stroke); border-top:0; border-radius:0 0 23px 23px; background:#fffdfa; box-shadow:0 7px 26px rgba(39,64,41,.04); }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table { width:100%; border:0; border-collapse:collapse; border-radius:0; background:transparent; margin:0; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table th,
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table td { padding:12px 0; border:0; border-top:1px solid #e7ebe3; background:transparent; font-size:12px; vertical-align:middle; overflow-wrap:anywhere; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table td.product-name { color:#244a35; font-weight:700; padding-right:10px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table td.product-total { color:#174632; text-align:right; white-space:nowrap; font-weight:790; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tfoot th { color:#53765c; font-weight:650; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tfoot td { text-align:right; font-weight:750; color:#264d36; }
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tr.order-total td,
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tr.order-total th { color:#164e35; font-size:17px; font-weight:900; }
body.woocommerce-checkout .woocommerce form.checkout #order_review ul#shipping_method { padding:0; margin:0; list-style:none; }
body.woocommerce-checkout .woocommerce form.checkout #order_review ul#shipping_method li { margin:0 0 8px; font-size:11px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review select { max-width:100%; min-height:39px; border:1px solid #d1ddcc; border-radius:11px; background:#fff; padding:8px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment { background:#f4f6ef; border:1px solid #e6ebe1; border-radius:15px; margin-top:14px; padding:12px 14px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment ul.payment_methods { border:0; padding:5px 2px 12px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment li { margin:0 0 8px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .payment_box { border-radius:11px; background:#fffdfa; font-size:12px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .payment_box::before { display:none; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .place-order { padding:10px 0 0; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment #place_order { display:block; float:none; width:100%; min-height:46px; background:var(--ek-order-green)!important; color:#fff!important; border-radius:99px!important; font-weight:800; font-size:13px; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment #place_order:hover { background:#276847!important; }
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .woocommerce-terms-and-conditions-wrapper { font-size:11px; line-height:1.55; }
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product { display:flex; align-items:center; gap:12px; min-width:0; }
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb { display:grid; place-items:center; flex:0 0 66px; width:66px; height:70px; padding:5px; border-radius:12px; background:#f5f6f1; }
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb img { width:56px; height:56px; object-fit:contain; border-radius:6px; }
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-label { font-size:12px; font-weight:760; line-height:1.4; overflow-wrap:anywhere; }
body.woocommerce-checkout .woocommerce form.checkout .product-quantity { color:#718274; white-space:nowrap; }
body.woocommerce-checkout .woocommerce form.checkout .woocommerce-checkout-review-order-table .product-total { width:95px; }
body.woocommerce-checkout .woocommerce form.checkout .validate-required.woocommerce-invalid input,
body.woocommerce-checkout .woocommerce form.checkout .woocommerce-invalid .select2-selection { border-color:#ba6752!important; }

/* Coupon toggle, login prompts, notices and real checkout error messages. */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-notices-wrapper { grid-column:1/-1; width:100%; }
body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login { background:#fffdfa; border:1px solid #e7e9df; border-radius:17px; margin:0 0 16px; padding:17px 20px; }
body.woocommerce-checkout .woocommerce-info { border-top-color:#7a9f65; background:#eff4ea; border-radius:12px; }
body.woocommerce-cart .woocommerce-message,
body.woocommerce-checkout .woocommerce-message { border-radius:14px; }

/* WooCommerce Cart / Checkout blocks if the store changes to blocks in the future. */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout { max-width:100%; width:100%; }
body.woocommerce-cart .wc-block-cart__main,
body.woocommerce-cart .wc-block-cart__sidebar,
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar { background:#fffdfa; border:1px solid var(--ek-order-stroke); border-radius:22px; padding:22px; }
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary { background:transparent; }
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button { border-radius:99px; }

@media(max-width:1100px) {
  body.woocommerce-cart .entry-content > .woocommerce { grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:15px; }
  body.woocommerce-cart .entry-content > .woocommerce > form.woocommerce-cart-form { padding:20px 18px; }
  body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding:20px; }
  body.woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item { grid-template-columns:23px 68px minmax(0,1fr) 68px 75px; gap:8px; }
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img { width:68px!important; height:68px!important; }
  body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout { grid-template-columns:minmax(0,1.25fr) minmax(290px,1fr); gap:0 15px; }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details { padding:22px 20px; }
  body.woocommerce-checkout .woocommerce form.checkout #order_review_heading { padding:22px 20px 12px; }
  body.woocommerce-checkout .woocommerce form.checkout #order_review { padding:2px 20px 22px; }
}
@media(max-width:820px){
  body.woocommerce-cart .entry-content > .woocommerce { display:block; }
  body.woocommerce-cart .entry-content > .woocommerce > form.woocommerce-cart-form { margin-bottom:16px; }
  body.woocommerce-cart .entry-content > .woocommerce > .cart-collaterals { margin-bottom:14px; }
  body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout { display:flex; flex-direction:column; gap:0; }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details { width:100%; margin-bottom:16px; }
  body.woocommerce-checkout .woocommerce form.checkout #order_review_heading { width:100%; }
  body.woocommerce-checkout .woocommerce form.checkout #order_review { width:100%; }
}
@media(max-width:560px){
  body.woocommerce-cart .ek-article,body.woocommerce-checkout .ek-article { padding:0; }
  .ek-order-page-intro { padding:8px 0 18px; }
  .ek-order-page-intro .ek-page-title { font-size:39px; }
  body.woocommerce-cart .entry-content > .woocommerce > form.woocommerce-cart-form { padding:19px 15px; }
  body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals { padding:20px 16px; }
  body.woocommerce-cart .woocommerce table.shop_table.cart tr.cart_item { grid-template-columns:22px 63px minmax(0,1fr) 65px; grid-template-rows:auto auto auto; gap:5px 8px; }
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-remove {grid-column:1;grid-row:1/span 3}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail {grid-column:2;grid-row:1/span 3}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-name {grid-column:3/-1;grid-row:1}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-price {grid-column:3;grid-row:2;text-align:left}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-quantity {grid-column:4;grid-row:2;text-align:right}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-subtotal {grid-column:3/-1;grid-row:3;text-align:right}
  body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img { width:62px!important; height:66px!important; }
  body.woocommerce-cart .woocommerce table.shop_table.cart tr:not(.cart_item) td.actions { display:flex; }
  body.woocommerce-cart .woocommerce table.shop_table.cart .actions .coupon { flex-basis:100%; }
  body.woocommerce-cart .woocommerce table.shop_table.cart .actions button[name='update_cart'] { margin:5px 0 0 auto; }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row-first,
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .form-row-last { width:100%; float:none; }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .input-text { min-height:45px; }
  body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table .product-total { width:74px; }
  body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb { width:53px; flex-basis:53px; height:60px; }
  body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb img { width:45px;height:49px; }
}

/* Final QA fixes: table action row and narrow-phone order item readability. */
body.woocommerce-cart .woocommerce table.shop_table.cart tr:not(.cart_item){display:block;width:100%;}
body.woocommerce-cart .woocommerce table.shop_table.cart tr:not(.cart_item) td.actions{width:100%;}
body.woocommerce-cart .woocommerce .cart-collaterals .cross-sells{max-width:100%;}
body.woocommerce-cart .woocommerce .cart-empty,
body.woocommerce-cart .woocommerce .return-to-shop{grid-column:1/-1;}
@media(max-width:560px){
  body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tbody tr.cart_item{
    display:grid;
    width:100%;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:start;
    padding:8px 0 12px;
    border-top:1px solid #e7ebe3;
  }
  body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tbody tr.cart_item td.product-name{
    grid-column:1/-1;
    grid-row:1;
    width:100%;
    padding:4px 0 0;
    border:0;
  }
  body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table tbody tr.cart_item td.product-total{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    padding:0 0 5px;
    text-align:right;
    border:0;
  }
  body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product{
    width:100%;
    gap:10px;
  }
  body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-label{
    overflow-wrap:normal;
    word-break:normal;
    max-width:100%;
  }
}

/* WooCommerce's default responsive labels must not duplicate our visual product row. */
@media(max-width:768px){
  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tr.cart_item td::before,
  body.woocommerce-cart .woocommerce-page table.shop_table_responsive.cart tr.cart_item td::before,
  body.woocommerce-cart .woocommerce .cart_totals table.shop_table_responsive td::before{
    content:none!important;
    display:none!important;
  }
}


/* EKOTEKS v11.3 — close the gap between live checkout and approved preview.
 * Appearance/layout only. Never remove billing fields, UNISEND selectors,
 * bank choices, payment gateways or native WooCommerce update behavior.
 */
@media (min-width: 961px) {
  body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1.14fr) minmax(435px, 1fr);
    column-gap: 18px;
  }
}
@media (min-width: 821px) and (max-width: 960px) {
  body.woocommerce-checkout .woocommerce form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 1fr) minmax(335px, 1fr);
    column-gap: 13px;
  }
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details {
  padding: 25px 26px 27px;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details h3 {
  margin-bottom: 17px;
}
/* Both the Lithuanian billing fields and optional alternative shipping address. */
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 14px;
  row-gap: 12px;
  align-items: start;
  clear: both;
}
/* WooCommerce marks nearly all Lithuanian address fields as form-row-wide.
 * Grid must override those floats and widths so the real fields sit in pairs.
 */
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > .form-row,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper > .form-row {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  min-width: 0;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block;
}
/* Uncommon full-width controls: company input and custom notes stay legible. */
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > #billing_company_field,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper > #shipping_company_field,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > .ek-checkout-full-row,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper > .ek-checkout-full-row {
  grid-column: 1 / -1;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > .form-row > label,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper > .form-row > label {
  margin-bottom: 5px;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details .input-text,
body.woocommerce-checkout .woocommerce form.checkout #customer_details select,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-container,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-selection,
body.woocommerce-checkout .woocommerce form.checkout #customer_details textarea {
  width:100% !important;
  max-width:100% !important;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details .input-text,
body.woocommerce-checkout .woocommerce form.checkout #customer_details select,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .select2-selection {
  min-height: 43px;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-additional-fields,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields {
  clear: both;
}
body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-additional-fields textarea {
  min-height: 72px;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review_heading {
  padding: 25px 24px 13px;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review {
  padding: 3px 24px 22px;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review .woocommerce-checkout-review-order-table {
  table-layout: auto;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review .woocommerce-checkout-review-order-table td.product-name {
  width:auto;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review .woocommerce-checkout-review-order-table .product-total {
  width: 83px;
}
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product {
  gap: 9px;
  align-items: center;
}
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb {
  flex:0 0 54px;
  width:54px;
  height:60px;
  padding:4px;
}
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-thumb img {
  width:46px;
  height:50px;
  object-fit:contain;
}
body.woocommerce-checkout .woocommerce form.checkout .ek-checkout-product-label {
  font-size:12px;
  line-height:1.32;
  overflow-wrap:break-word;
}
/* Provider-owned controls can wrap naturally within the summary. */
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table td,
body.woocommerce-checkout .woocommerce form.checkout #order_review .shop_table th,
body.woocommerce-checkout .woocommerce form.checkout #payment,
body.woocommerce-checkout .woocommerce form.checkout #payment .payment_box,
body.woocommerce-checkout .woocommerce form.checkout #payment .payment_box > * {
  min-width:0;
  max-width:100%;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review ul#shipping_method li {
  margin-bottom: 6px;
  line-height:1.4;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment {
  padding: 12px;
}
body.woocommerce-checkout .woocommerce form.checkout #order_review #payment .payment_box {
  padding: 12px;
}
/* Tablet and mobile: keep paired fields as long as there is room,
   then turn into one column to protect keyboard and select usability. */
@media (min-width:821px) and (max-width:1100px) {
  body.woocommerce-checkout .woocommerce form.checkout #customer_details {padding:22px 20px;}
  body.woocommerce-checkout .woocommerce form.checkout #order_review_heading {padding:22px 19px 12px;}
  body.woocommerce-checkout .woocommerce form.checkout #order_review {padding:3px 19px 21px;}
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper {column-gap:11px;row-gap:11px;}
}
@media (max-width:560px) {
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
  }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce form.checkout #customer_details .woocommerce-shipping-fields__field-wrapper > .form-row {
    grid-column:1 !important;
  }
  body.woocommerce-checkout .woocommerce form.checkout #customer_details {padding:22px 17px;}
  body.woocommerce-checkout .woocommerce form.checkout #order_review_heading {padding:22px 17px 12px;}
  body.woocommerce-checkout .woocommerce form.checkout #order_review {padding:3px 17px 20px;}
  body.woocommerce-checkout .woocommerce form.checkout #order_review .woocommerce-checkout-review-order-table .product-total {width:74px;}
}
