/* Cart, checkout, account, order pages */
.lp-wc{max-width:var(--wrap)}
.lp-wc .button,.lp-wc button.button,.lp-wc input.button,.lp-wc a.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--r-pill);border:1.5px solid var(--ink);background:var(--ink);color:#fff;font:700 14px/1.1 var(--f-body);cursor:pointer;transition:background .2s,border-color .2s,transform .2s;text-decoration:none}
.lp-wc .button:hover{background:#000;color:#fff;transform:translateY(-1px)}
.lp-wc .button:disabled,.lp-wc .button[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.lp-wc .button.alt,.lp-wc .checkout-button,.lp-wc #place_order{background:var(--accent);border-color:var(--accent)}
.lp-wc .button.alt:hover,.lp-wc .checkout-button:hover,.lp-wc #place_order:hover{background:var(--accent-d);border-color:var(--accent-d)}

/* Cart */
.woocommerce-cart .lp-wc-content>.woocommerce{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .cart-empty,.woocommerce-cart .return-to-shop{grid-column:1/-1}
.woocommerce-cart-form{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.shop_table{width:100%;border-collapse:collapse}
.woocommerce-cart-form .shop_table th{text-align:left;padding:14px 16px;font:800 12px/1 var(--f-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.woocommerce-cart-form .shop_table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce-cart-form .product-thumbnail img{width:76px;height:76px;object-fit:cover;border-radius:12px;background:var(--bg)}
.woocommerce-cart-form .product-name a{font:700 16px/1.3 var(--f-head);color:var(--ink)}
.woocommerce-cart-form .product-remove a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--muted)!important;font-size:20px;line-height:1}
.woocommerce-cart-form .product-remove a:hover{background:#FBEDEC;color:var(--err)!important}
.woocommerce-cart-form .product-subtotal{font-weight:800}
.woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-pill);overflow:hidden}
.woocommerce-cart-form .quantity input{width:44px;border:0;text-align:center;font-weight:800;-moz-appearance:textfield;padding:0}
.woocommerce-cart-form .lp-qbtn{height:40px;width:36px}
.woocommerce-cart-form td.actions{background:var(--bg)}
.woocommerce-cart-form .coupon{display:inline-flex;gap:8px;flex-wrap:wrap}
.woocommerce-cart-form .coupon label{display:none}
.woocommerce-cart-form .coupon .input-text{width:200px;border-radius:var(--r-pill)}
.woocommerce-cart-form [name=update_cart]{float:right;background:transparent;color:var(--ink)}
.woocommerce-cart-form [name=update_cart]:hover{background:var(--ink);color:#fff}
.cart-collaterals{position:sticky;top:110px}
.cart_totals{background:var(--frame);color:#fff;border-radius:20px;padding:26px}
.cart_totals h2{font-size:22px;margin-bottom:14px}
.cart_totals .shop_table th,.cart_totals .shop_table td{padding:12px 0;border-bottom:1px solid var(--line-dark);text-align:left;vertical-align:top;font-size:14.5px}
.cart_totals .shop_table td{text-align:right}
.cart_totals .order-total td{font:800 24px/1 var(--f-head)}
.cart_totals .woocommerce-shipping-methods{list-style:none;padding:0;margin:0}
.cart_totals a{color:var(--accent-bright)}
.cart_totals .woocommerce-shipping-destination{color:rgba(255,255,255,.6);font-size:13px}
.wc-proceed-to-checkout{margin-top:18px}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:54px;font-size:16px}
.cross-sells{grid-column:1/-1}
.cross-sells h2{font-size:26px;margin:30px 0 18px}
.cart-empty{font:800 26px/1.2 var(--f-head);border:0!important;background:transparent!important;padding:30px 0 6px!important;justify-content:center}
.return-to-shop{text-align:center}

/* Checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .woocommerce-form-login-toggle{margin-bottom:6px}
.checkout_coupon,.woocommerce-form-login{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin-bottom:22px}
.checkout_coupon p{display:inline-block;margin:0 8px 0 0}
form.checkout{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}
form.checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
#customer_details{grid-column:1;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,34px)}
#customer_details .col-1,#customer_details .col-2{width:100%;float:none}
#customer_details h3{font-size:21px;margin:0 0 16px}
#customer_details .col-2{margin-top:22px}
#order_review_heading{grid-column:2;grid-row:1;margin:0 0 -10px;font-size:22px;position:relative;z-index:1;padding:24px 26px 0;color:#fff}
#order_review{grid-column:2;grid-row:1;background:var(--frame);color:#fff;border-radius:20px;padding:70px 26px 26px;position:sticky;top:110px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-row{margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.form-row-wide,#billing_address_1_field,#billing_address_2_field,#shipping_address_1_field,#shipping_address_2_field,#order_comments_field,#billing_country_field,#shipping_country_field{grid-column:1/-1}
.form-row textarea{min-height:110px}
.select2-container .select2-selection--single{height:auto!important;padding:9px 12px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px;right:10px}
.select2-dropdown{border-color:var(--line)!important;border-radius:12px!important;overflow:hidden}
#ship-to-different-address{font-size:16px}
#ship-to-different-address label{display:flex;gap:10px;align-items:center}
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td{padding:12px 0;border-bottom:1px solid var(--line-dark);text-align:left;font-size:14.5px;vertical-align:top}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table thead th{color:rgba(255,255,255,.55);font:800 12px/1 var(--f-head);letter-spacing:.1em;text-transform:uppercase}
.woocommerce-checkout-review-order-table .order-total td{font:800 24px/1 var(--f-head)}
.woocommerce-checkout-review-order-table .product-quantity{color:var(--accent-bright)}
#payment{margin-top:20px}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
#payment ul.payment_methods li{background:var(--frame-2);border:1px solid var(--line-dark);border-radius:12px;padding:14px}
#payment ul.payment_methods li label{font-weight:700}
#payment .payment_box{margin-top:10px;color:rgba(255,255,255,.7);font-size:14px}
#payment .payment_box p{margin:0}
#payment .woocommerce-info{background:var(--frame-2);color:#fff;border-color:var(--line-dark)}
.woocommerce-privacy-policy-text{font-size:13px;color:rgba(255,255,255,.6)}
.woocommerce-privacy-policy-text a,#order_review a{color:var(--accent-bright)}
.lp-ruo{background:rgba(127,192,234,.08);border:1px solid rgba(127,192,234,.3);border-radius:12px;padding:12px 14px}
.lp-ruo label{font-weight:600!important;font-size:13.5px;line-height:1.5;display:flex!important;gap:10px;align-items:flex-start}
.lp-ruo input{margin-top:3px;accent-color:var(--accent)}
.woocommerce-terms-and-conditions-wrapper{font-size:13.5px}
#place_order{width:100%;min-height:56px;font-size:17px}
.woocommerce-checkout-payment .place-order{padding:0;margin:0}
.lp-secure{display:flex;justify-content:center;gap:8px;align-items:center;margin:12px 0 0;font-size:13px;color:rgba(255,255,255,.6)}

/* Thank you / order */
.woocommerce-order{max-width:900px;margin:0 auto}
.woocommerce-thankyou-order-received{font:800 clamp(24px,3vw,34px)/1.2 var(--f-head);text-align:center;padding:10px 0 20px}
.woocommerce-order-overview{list-style:none;padding:20px;margin:0 0 26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:20px}
.woocommerce-order-overview li{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.woocommerce-order-overview strong{display:block;text-transform:none;letter-spacing:0;color:var(--ink);font:800 17px/1.3 var(--f-head);margin-top:6px}
.woocommerce-order-details,.woocommerce-customer-details{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,32px);margin-bottom:22px}
.woocommerce-order-details .shop_table th,.woocommerce-order-details .shop_table td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-order-details .shop_table td:last-child,.woocommerce-order-details .shop_table tfoot th+td{text-align:right}
.woocommerce-customer-details address{font-style:normal;line-height:1.7}
.woocommerce-columns--addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* Account */
.woocommerce-account .lp-wc-content>.woocommerce{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:10px;margin:0;background:var(--frame);border-radius:20px;display:grid;gap:2px}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;border-radius:12px;color:rgba(255,255,255,.75);font-weight:700}
.woocommerce-MyAccount-navigation a:hover{background:var(--frame-2);color:#fff}
.woocommerce-MyAccount-navigation .is-active a{background:var(--accent);color:#fff}
.woocommerce-MyAccount-content{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,34px);min-width:0}
.woocommerce-MyAccount-content .shop_table th,.woocommerce-MyAccount-content .shop_table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.woocommerce-account:not(.logged-in) .lp-wc-content>.woocommerce{display:block}
.u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.woocommerce-form-login,.woocommerce-form-register{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,34px)}
#customer_login h2{font-size:24px}
.woocommerce-form-login__rememberme{display:flex;gap:8px;align-items:center;margin:4px 0 14px}
.lost_password{margin-top:12px}
.track_order{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.track_order>p:first-child,.track_order .clear,.track_order>p:last-child{grid-column:1/-1}
.track_order>p:first-child{color:var(--muted)}

@media (max-width:960px){
.woocommerce-cart .lp-wc-content>.woocommerce,form.checkout,.woocommerce-account .lp-wc-content>.woocommerce{grid-template-columns:1fr}
#order_review_heading,#order_review{grid-column:1;grid-row:auto}
#order_review{position:static}
.cart-collaterals{position:static}
}
@media (max-width:640px){
.woocommerce-cart-form .shop_table thead{display:none}
.woocommerce-cart-form .shop_table tr.cart_item{display:grid;grid-template-columns:76px 1fr auto;gap:4px 12px;padding:14px;border-bottom:1px solid var(--line);position:relative}
.woocommerce-cart-form .shop_table td{display:block;border:0;padding:0}
.woocommerce-cart-form .product-thumbnail{grid-row:1/4}
.woocommerce-cart-form .product-remove{position:absolute;right:10px;top:10px}
.woocommerce-cart-form .product-price{display:none!important}
.woocommerce-cart-form td::before{display:none}
.woocommerce-cart-form td.actions{display:block;padding:14px}
.woocommerce-cart-form [name=update_cart]{float:none;width:100%;margin-top:10px}
.woocommerce-cart-form .coupon{display:flex}.woocommerce-cart-form .coupon .input-text{flex:1;width:auto}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.u-columns.col2-set,.woocommerce-Addresses,.woocommerce-columns--addresses,.track_order{grid-template-columns:1fr}
}

/* Mobile cart: keep the remove button clear of the quantity stepper */
@media (max-width:640px){
.woocommerce-cart-form .shop_table tr.cart_item{row-gap:10px}
.woocommerce-cart-form .shop_table td.product-name{grid-column:2/4;grid-row:1;padding-right:36px}
.woocommerce-cart-form .shop_table td.product-subtotal{grid-column:2;grid-row:2;align-self:center}
.woocommerce-cart-form .shop_table td.product-quantity{grid-column:3;grid-row:2;align-self:center}
}
