/* Only native cart / checkout: all WooCommerce forms and AJAX fragments stay intact. */
body:is(.woocommerce-cart,.woocommerce-checkout) { --commerce-ink:#302c2d; --commerce-line:#e5e0dc; --commerce-soft:#f8f6f3; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page { max-width:1240px; padding:32px 32px 80px; color:var(--commerce-ink); }
.local-commerce-steps { margin:0 0 28px; font-size:12px; letter-spacing:.04em; }
.local-commerce-steps ol { display:flex; align-items:center; gap:24px; padding:0; margin:0; list-style:none; }
.local-commerce-steps li { display:flex; align-items:center; gap:8px; color:#77716e; }
.local-commerce-steps li+li::before { content:''; width:40px; height:1px; margin-right:16px; background:var(--commerce-line); }
.local-commerce-steps li[aria-current] { color:var(--commerce-ink); }
.local-commerce-steps a { color:inherit; text-decoration:none; }
.local-commerce-steps span { font-size:10px; margin-right:6px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page h1 { font-size:42px; line-height:1.15; margin:0 0 36px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page h2,
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page h3 { font-family:PPRadioGrotesk,Arial,sans-serif; font-size:21px; line-height:1.35; font-weight:400; margin:0 0 24px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .button,
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page button { min-height:48px; padding:14px 22px; font:14px/1.4 PPRadioGrotesk,Arial,sans-serif; letter-spacing:.025em; text-decoration:none; text-align:center; cursor:pointer; border:1px solid var(--commerce-ink); border-radius:0; transition:background .15s,color .15s; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .button:hover,
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page button:hover { background:#171515; color:white; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page button:disabled { background:#f3f1ee; border-color:#e2ddd8; color:#76706d; cursor:default; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page :is(a,button,input,select):focus-visible { outline:2px solid #705b50; outline-offset:3px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .shop_table { font-size:14px; line-height:1.5; margin:0; border:0; border-collapse:collapse; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .shop_table :is(td,th) { border-color:var(--commerce-line); padding:18px 0; vertical-align:top; background:transparent; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .shop_table th { font-weight:400; }
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .woocommerce-error,
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .woocommerce-info,
body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .woocommerce-message { padding:16px 20px; margin:0 0 24px; background:var(--commerce-soft); border:1px solid var(--commerce-line); font-size:14px; line-height:1.6; list-style-position:inside; }
body.woocommerce-cart .local-commerce-page > .woocommerce { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:0 48px; align-items:start; }
body.woocommerce-cart .woocommerce-notices-wrapper { grid-column:1/-1; }
body.woocommerce-cart .woocommerce-cart-form { min-width:0; }
body.woocommerce-cart .cart-collaterals { max-width:none; width:100%; margin:0; padding:28px; background:var(--commerce-soft); border:1px solid var(--commerce-line); }
body.woocommerce-cart .cart_totals { float:none; width:100%; }
body.woocommerce-cart .shop_table thead th { font-size:11px; letter-spacing:.05em; padding:0 0 16px; color:#736c68; }
body.woocommerce-cart .shop_table .product-remove { width:26px; padding-right:8px; }
body.woocommerce-cart .product-remove a { width:24px; min-height:44px; display:flex; align-items:center; justify-content:center; font-size:20px; color:#756e69; text-decoration:none; }
body.woocommerce-cart .shop_table .product-thumbnail { display:table-cell; width:110px; padding-right:20px; }
body.woocommerce-cart .shop_table .product-thumbnail img { display:block; width:90px; max-width:90px; height:120px; object-fit:cover; }
body.woocommerce-cart .shop_table .product-name { padding-right:16px; }
body.woocommerce-cart .product-name a { text-decoration:none; }
body.woocommerce-cart .shop_table .product-price { padding-right:16px; white-space:nowrap; }
body.woocommerce-cart .shop_table .product-quantity { padding-right:16px; }
body.woocommerce-cart .quantity input { width:60px; height:44px; border:1px solid #c6beb8; background:#fff; text-align:center; padding:8px; }
body.woocommerce-cart .shop_table .product-subtotal { text-align:right; white-space:nowrap; }
body.woocommerce-cart .shop_table .actions { padding:20px 0; border:0; background:none; text-align:right; }
body.woocommerce-cart .cart_totals h2 { margin-bottom:12px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .cart-subtotal td,
body:is(.woocommerce-cart,.woocommerce-checkout) .order-total td { text-align:right; }
body:is(.woocommerce-cart,.woocommerce-checkout) .shop_table .order-total :is(th,td) { padding:22px 0; border-bottom:0; font-size:20px; font-weight:500; }
body:is(.woocommerce-cart,.woocommerce-checkout) .order-total strong { font-weight:500; }
body:is(.woocommerce-cart,.woocommerce-checkout) #shipping_method { list-style:none; padding:0; margin:0 0 8px; }
body:is(.woocommerce-cart,.woocommerce-checkout) #shipping_method input { margin-right:6px; }
body:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-shipping-totals :is(th,td) { font-size:13px; line-height:1.65; }
body:is(.woocommerce-cart,.woocommerce-checkout) .woocommerce-shipping-totals th { width:30%; padding-right:12px!important; }
body.woocommerce-cart .woocommerce-shipping-destination { color:#746c67; font-size:12px; margin:12px 0; }
body.woocommerce-cart .shipping-calculator-button { font-size:12px; text-underline-offset:4px; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display:block; width:100%; margin:4px 0 0; }
body.woocommerce-cart .cart-empty,body.woocommerce-cart .return-to-shop { grid-column:1/-1; }
body.woocommerce-checkout form.checkout { display:grid; grid-template-columns:minmax(0,1fr) 420px; gap:32px 64px; align-items:start; }
body.woocommerce-checkout form.checkout > :not(#customer_details):not(.local-order-summary) { grid-column:1/-1; }
body.woocommerce-checkout #customer_details { width:100%; min-width:0; }
body.woocommerce-checkout #customer_details > :is(.col-1,.col-2) { float:none; width:100%; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
body.woocommerce-checkout .local-commerce-page .form-row { margin:0; padding:0; float:none; width:100%; }
body.woocommerce-checkout .form-row-wide { grid-column:1/-1; }
body.woocommerce-checkout :is(#billing_postcode_field,#billing_city_field,#shipping_postcode_field,#shipping_city_field) { grid-column:auto; }
body.woocommerce-checkout .local-commerce-page .form-row label { display:block; font-size:12px; line-height:1.4; margin:0 0 8px; color:#5c5551; }
body.woocommerce-checkout .local-commerce-page .form-row .required { color:#5c5551; text-decoration:none; }
body.woocommerce-checkout .local-commerce-page .form-row :is(input.input-text,select,textarea),
body.woocommerce-cart .shipping-calculator-form :is(input,select) { width:100%; min-height:48px; padding:12px 14px; border:1px solid #cbc3bd; background:#fff; border-radius:0; color:var(--commerce-ink); font:16px/1.4 PPRadioGrotesk,Arial,sans-serif; box-sizing:border-box; }
body.woocommerce-checkout .form-row .woocommerce-input-wrapper { display:block; }
body.woocommerce-checkout .local-commerce-page .select2-container { width:100%!important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single { height:48px; border:1px solid #cbc3bd; border-radius:0; background:#fff; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding:9px 36px 9px 14px; line-height:28px; font-size:16px; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height:46px; right:8px; }
body.woocommerce-checkout #ship-to-different-address { margin-top:28px; font-size:14px; }
body.woocommerce-checkout #ship-to-different-address label { cursor:pointer; display:flex; align-items:center; gap:10px; }
body.woocommerce-checkout input[type=checkbox],body.woocommerce-checkout input[type=radio] { width:16px; height:16px; accent-color:var(--commerce-ink); padding:0; flex-shrink:0; }
body.woocommerce-checkout .woocommerce-additional-fields { margin-top:28px; }
body.woocommerce-checkout .woocommerce-additional-fields textarea { min-height:100px; resize:vertical; }
body.woocommerce-checkout .local-order-summary { min-width:0; border:1px solid var(--commerce-line); padding:28px; background:var(--commerce-soft); }
body.woocommerce-checkout #order_review_heading { margin-bottom:10px; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead { font-size:11px; color:#736c68; letter-spacing:.04em; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { table-layout:fixed; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { width:64%; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th { width:auto; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td { text-align:right; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total { text-align:right; white-space:nowrap; padding-left:16px!important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name { padding-right:12px!important; }
body.woocommerce-checkout .product-quantity { font-weight:400; color:#736c68; }
body:is(.woocommerce-cart,.woocommerce-checkout) .variation { font-size:12px; color:#736c68; margin:8px 0 0; }
body:is(.woocommerce-cart,.woocommerce-checkout) .variation :is(dt,dd,p) { display:inline; margin:0 4px 0 0; }
body.woocommerce-checkout .fee td { text-align:right; white-space:nowrap; }
body.woocommerce-checkout .fee { color:#276452; }
body.woocommerce-checkout #payment { background:transparent; border-radius:0; }
body.woocommerce-checkout .wc_payment_methods { margin:4px 0 20px; padding:20px; list-style:none; border:1px solid #ddd7d1; background:#fff; border-radius:8px; }
body.woocommerce-checkout .wc_payment_method { list-style:none; margin:0; }
body.woocommerce-checkout .wc_payment_method > label { font-size:15px; line-height:1.5; font-weight:500; vertical-align:middle; }
body.woocommerce-checkout .wc_payment_method > input { margin:0 8px 0 0; vertical-align:middle; }
body.woocommerce-checkout .payment_box { margin-top:16px; }
body.woocommerce-checkout .payment_box > p { margin:0; }
.local-payment-logos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.local-payment-logo { display:flex; align-items:center; justify-content:center; height:40px; border:1px solid #e8e5e2; border-radius:5px; background:white; padding:7px; }
.local-payment-logo img { display:block; width:100%; max-width:55px; height:100%; max-height:27px; object-fit:contain; }
.local-payment-redirect { display:block; margin-top:14px; color:#736c68; font-size:12px; line-height:1.5; }
body.woocommerce-checkout .woocommerce-privacy-policy-text { color:#736c68; font-size:12px; line-height:1.65; margin:16px 0; }
body.woocommerce-checkout .woocommerce-privacy-policy-text a { text-decoration:underline; text-underline-offset:3px; }
body.woocommerce-checkout .local-commerce-page #place_order { width:100%; display:block; margin-top:20px; }
body.woocommerce-checkout .place-order { padding:0; }
body.woocommerce-checkout .woocommerce-invalid :is(input.input-text,.select2-selection) { border-color:#a13f35!important; }
@media(min-width:1024px) { body.woocommerce-checkout .local-order-summary { position:sticky; top:24px; } }
@media(max-width:1100px) {
    body.woocommerce-cart .local-commerce-page > .woocommerce { grid-template-columns:minmax(0,1fr) 330px; gap:28px; }
    body.woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr) 380px; gap:36px; }
    body.woocommerce-cart .shop_table .woocommerce-cart-form__cart-item > .product-price { display:none; }
}
@media(max-width:900px) {
    body.woocommerce-cart .local-commerce-page > .woocommerce,body.woocommerce-checkout form.checkout { grid-template-columns:minmax(0,1fr); gap:28px; }
    body.woocommerce-cart .cart-collaterals { max-width:none; }
    body.woocommerce-cart .shop_table .product-price { display:table-cell; }
}
@media(max-width:600px) {
    body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page { padding:24px 20px 48px; }
    body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page h1 { font-size:34px; margin-bottom:28px; }
    .local-commerce-steps { font-size:10px; margin-bottom:24px; }
    .local-commerce-steps ol { gap:12px; }
    .local-commerce-steps li+li::before { width:16px; margin-right:4px; }
    body.woocommerce-cart .shop_table thead { display:none; }
    body.woocommerce-cart .shop_table tbody { display:block; }
    body.woocommerce-cart .woocommerce-cart-form__cart-item { position:relative; display:grid; grid-template-columns:84px minmax(0,1fr) 65px; gap:12px; border-top:1px solid var(--commerce-line); padding:20px 0; }
    body.woocommerce-cart .shop_table .woocommerce-cart-form__cart-item > td { display:block; padding:0; border:0; width:auto; }
    body.woocommerce-cart .shop_table .product-thumbnail { display:block; grid-column:1; grid-row:1/4; }
    body.woocommerce-cart .shop_table .product-thumbnail img { width:84px; max-width:84px; height:112px; }
    body.woocommerce-cart .shop_table .product-name { grid-column:2/4; grid-row:1; padding-right:24px; font-size:14px; }
    body.woocommerce-cart .shop_table .product-price { display:none; }
    body.woocommerce-cart .shop_table .product-quantity { grid-column:2; grid-row:2; }
    body.woocommerce-cart .shop_table .product-subtotal { grid-column:3; grid-row:2; align-self:center; font-size:14px; }
    body.woocommerce-cart .shop_table .product-remove { position:absolute; top:16px; right:-7px; }
    body.woocommerce-cart .shop_table .product-remove a { min-height:32px; }
    body.woocommerce-cart .shop_table .actions { display:block; padding:16px 0 0; }
    body.woocommerce-cart .shop_table tr:has(>.actions) { display:block; border-top:1px solid var(--commerce-line); }
    body.woocommerce-cart .cart-collaterals,body.woocommerce-checkout .local-order-summary { padding:24px 20px; }
    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { gap:18px 12px; }
    body.woocommerce-checkout .form-row :is(.optional) { font-size:10px; }
    body.woocommerce-checkout .wc_payment_methods { padding:16px 12px; }
    .local-payment-logo { height:38px; padding:6px; }
    body.woocommerce-checkout .local-commerce-page h3 { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) { body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page .button,body:is(.woocommerce-cart,.woocommerce-checkout) .local-commerce-page button { transition:none; } }
