/* Cart — moved from WPCode 74318. Loaded on is_cart(). */

/* ===== apx-cart-account-block (2026-06-18) — Cart + My Account in AP style ===== */

/* ---------- CART (body.woocommerce-cart) ---------- */

body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form){
    display:grid; grid-template-columns:1fr 360px; gap:34px; align-items:start;
    max-width:1180px; margin:40px auto 80px;
}

body.woocommerce-cart .woocommerce-notices-wrapper{ grid-column:1 / -1; }

body.woocommerce-cart .woocommerce-cart-form{ grid-column:1; margin:0; }

body.woocommerce-cart .cart-collaterals{ grid-column:2; width:auto !important; float:none !important; margin:0; }

body.woocommerce-cart .cart-collaterals .cross-sells{ display:none; }

/* items table -> receipt card */

body.woocommerce-cart table.shop_table.cart{
    border:1px solid #EAE7E1 !important; border-radius:18px; overflow:hidden;
    background:#fff; box-shadow:0 8px 24px rgba(50,49,49,.07),0 2px 8px rgba(50,49,49,.04);
    border-collapse:separate; border-spacing:0; margin:0;
}

body.woocommerce-cart table.shop_table.cart th,
body.woocommerce-cart table.shop_table.cart td{ border:0 !important; }

body.woocommerce-cart table.shop_table.cart thead th{
    text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.10em;
    color:#707070; padding:18px 14px; border-bottom:1px solid #EAE7E1 !important; background:#fff;
}

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item td{
    padding:20px 14px; border-bottom:1px solid #F4F1EB !important; vertical-align:middle;
}

body.woocommerce-cart td.product-thumbnail img{ width:64px; height:64px; border-radius:10px; object-fit:cover; box-shadow:inset 0 0 0 1px rgba(0,0,0,.06); }

body.woocommerce-cart td.product-name a{ font-weight:700; letter-spacing:-.01em; color:#323131; }

body.woocommerce-cart td.product-name a:hover{ color:#000; }

body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal{ text-align:right; font-weight:600; }

body.woocommerce-cart td.product-subtotal{ font-weight:700; }

body.woocommerce-cart td.product-remove a.remove{
    color:#b0aca6 !important; font-size:20px; background:transparent !important;
}

body.woocommerce-cart td.product-remove a.remove:hover{ color:#c0392b !important; }

body.woocommerce-cart td.product-quantity .quantity{ display:inline-flex; }

body.woocommerce-cart td.product-quantity input.qty{
    height:40px; width:64px; border:1px solid #EAE7E1; border-radius:8px; text-align:center; font-weight:600; background:#fff;
}

/* actions row (coupon + update) */

body.woocommerce-cart tr td.actions{ padding:18px 14px !important; background:#fff; }

body.woocommerce-cart .coupon input#coupon_code{
    height:42px; border:1px solid #EAE7E1; border-radius:8px; padding:0 14px; font-size:14px; width:180px;
}

body.woocommerce-cart td.actions button{
    height:42px; border-radius:8px !important; font-weight:700 !important; font-size:14px !important;
    background:#fff !important; color:#323131 !important; border:1px solid #EAE7E1 !important; box-shadow:none !important; padding:0 20px !important;
}

body.woocommerce-cart td.actions button:hover{ border-color:#323131 !important; }

/* apx-totals-fullwidth: kill WooCommerce default float:right;width:48% */

body.woocommerce-cart .cart_totals{ width:100% !important; float:none !important; }

body.woocommerce-cart .cart-collaterals .cart_totals{ width:100% !important; }

/* totals card */

body.woocommerce-cart .cart_totals{
    background:#fff; border:1px solid #EAE7E1; border-radius:18px; padding:24px 24px 22px;
    box-shadow:0 8px 24px rgba(50,49,49,.07),0 2px 8px rgba(50,49,49,.04); position:sticky; top:96px;
}

body.woocommerce-cart .cart_totals h2{
    font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#707070; margin-bottom:14px;
}

body.woocommerce-cart .cart_totals table{ border:0 !important; margin:0; }

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{
    border:0 !important; padding:13px 0 !important; border-bottom:1px solid #F4F1EB !important; font-size:14.5px; background:transparent;
}

body.woocommerce-cart .cart_totals table th{ font-weight:500; color:#4A4747; text-align:left; }

body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{ border-bottom:0 !important; padding-top:16px !important; }

body.woocommerce-cart .cart_totals tr.order-total th{ font-size:16px; font-weight:800; color:#323131; }

body.woocommerce-cart .cart_totals tr.order-total .amount{ font-size:20px; font-weight:800; color:#323131; }

body.woocommerce-cart .cart_totals a.shipping-calculator-button{ color:#3772FF; font-weight:600; }

/* apx-totals-align + full-width checkout */

body.woocommerce-cart .cart_totals table{ width:100%; }

body.woocommerce-cart .cart_totals table td{ text-align:right; white-space:nowrap; }

body.woocommerce-cart .cart_totals table th{ width:auto; }

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ width:100% !important; }

/* gold proceed to checkout */

body.woocommerce-cart .wc-proceed-to-checkout{ padding:16px 0 0; }

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    background:linear-gradient(135deg,#D6B16F,#c8a25f) !important; color:#1a1a1a !important;
    border-radius:9px !important; height:52px; font-weight:700 !important; font-size:16px !important;
    display:flex !important; align-items:center; justify-content:center; box-shadow:none !important; border:0 !important;
    transition:all .2s cubic-bezier(.16,1,.3,1);
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
    transform:translateY(-1px); box-shadow:0 8px 20px rgba(214,177,111,.35) !important;
}

@media(max-width:860px){
    body.woocommerce-cart .woocommerce{ grid-template-columns:1fr; }
}

/* ===== apx-empty-cart: compact AP empty state ===== */

body.woocommerce-cart .woocommerce:has(.cart-empty){ display:block !important; max-width:560px !important; margin:36px auto 56px !important; text-align:center; }

body.woocommerce-cart .wc-empty-cart-message{ margin:0; }

body.woocommerce-cart .cart-empty.woocommerce-info{
    background:#fff !important; border:1px solid #EAE7E1 !important; border-top:1px solid #EAE7E1 !important;
    border-radius:14px !important; padding:26px 24px !important; margin:0 !important;
    font-size:16px !important; color:#323131 !important; text-align:center !important;
    box-shadow:0 8px 24px rgba(50,49,49,.07),0 2px 8px rgba(50,49,49,.04) !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info::before{ display:none !important; content:none !important; }

body.woocommerce-cart p.return-to-shop{ margin:16px 0 0 !important; text-align:center !important; }

body.woocommerce-cart p.return-to-shop a.button.wc-backward{
    display:inline-flex !important; align-items:center; justify-content:center;
    background:linear-gradient(135deg,#D6B16F,#c8a25f) !important; color:#1a1a1a !important;
    border:0 !important; border-radius:9px !important; height:46px; padding:0 26px !important;
    font-weight:700 !important; font-size:15px !important; box-shadow:none !important;
}

body.woocommerce-cart p.return-to-shop a.button.wc-backward:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(214,177,111,.35) !important; }

/* ===== END apx-empty-cart ===== */

/* ===== apx-cart-polish (2026-06-18b): start higher, less whitespace, product not bold ===== */

body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form){ margin:16px auto 40px !important; }

body.woocommerce-cart td.product-name a{ font-weight:500 !important; color:#323131 !important; }

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item td{ padding:16px 14px !important; }

body.woocommerce-cart table.shop_table.cart thead th{ padding:14px 14px !important; }

body.woocommerce-cart tr td.actions{ padding:14px 14px !important; }

body.woocommerce-cart .cart_totals{ padding:20px 22px 20px !important; }

body.woocommerce-cart .cart_totals h2{ margin-bottom:10px !important; }

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td{ padding:11px 0 !important; }

body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{ padding-top:13px !important; }

body.woocommerce-cart .wc-proceed-to-checkout{ padding-top:12px !important; }

/* tidy the PayPal pay-later message spacing */

body.woocommerce-cart .cart_totals .ppcp-messages,
body.woocommerce-cart .cart_totals .ppc-button-wrapper{ margin-top:8px !important; }

/* ===== END apx-cart-polish ===== */

/* ===== apx-section-tighten: cut #page-section 60px padding on cart+account ===== */

body.woocommerce-cart section#page-section{ padding-top:22px !important; padding-bottom:34px !important; }

body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form){ margin:8px auto 24px !important; }

/* ===== END apx-section-tighten ===== */

/* ===== apx-kill-section-gap: remove 40px gap between banner and content ===== */

body.woocommerce-cart section#page-section{ margin-top:0 !important; }

body.woocommerce-cart section#custom-header{ margin-bottom:0 !important; }

/* ===== apx-pull-up: remove phantom 40px gap between banner and content ===== */

body.woocommerce-cart section#page-section{ margin-top:-40px !important; }

/* ===== apx-shipping-calc: left-align + AP style the cart shipping calculator ===== */

body.woocommerce-cart .cart_totals .shipping-calculator-form, body.woocommerce-cart .cart_totals .shipping-calculator-form *{ text-align:left !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form{ margin-top:12px !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form p{ margin:0 0 10px !important; padding:0 !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form label{ display:block !important; font-weight:600 !important; font-size:12.5px !important; color:#4A4747 !important; margin-bottom:5px !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text,
body.woocommerce-cart .cart_totals .shipping-calculator-form select{
    width:100% !important; box-sizing:border-box !important; height:42px !important;
    border:1px solid #EAE7E1 !important; border-radius:9px !important; padding:0 12px !important;
    font-size:14px !important; background:#fff !important; box-shadow:none !important;
}

body.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text:focus,
body.woocommerce-cart .cart_totals .shipping-calculator-form select:focus{ outline:0 !important; border-color:#D6B16F !important; box-shadow:0 0 0 3px rgba(214,177,111,.18) !important; }

/* select2 country/state */

body.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container{ width:100% !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection{
    height:42px !important; border:1px solid #EAE7E1 !important; border-radius:9px !important;
    display:flex !important; align-items:center;
}

body.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection__rendered{ line-height:42px !important; padding-left:12px !important; color:#323131 !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container .select2-selection__arrow{ height:40px !important; right:8px !important; }

/* Update button -> gold, full width */

body.woocommerce-cart .cart_totals .shipping-calculator-form button[name="calc_shipping"]{
    width:100% !important; background:linear-gradient(135deg,#D6B16F,#c8a25f) !important; color:#1a1a1a !important;
    border:0 !important; border-radius:9px !important; height:44px !important; padding:0 20px !important;
    font-weight:700 !important; font-size:14.5px !important; box-shadow:none !important; cursor:pointer;
}

body.woocommerce-cart .cart_totals .shipping-calculator-form button[name="calc_shipping"]:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(214,177,111,.35) !important; }

/* ===== END apx-shipping-calc ===== */

/* ===== apx-shipping-fullwidth: shipping row spans full card so calc fields are full width ===== */

body.woocommerce-cart .cart_totals tr.shipping{ display:block !important; border-bottom:1px solid #F4F1EB; padding:4px 0 12px; }

body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-cart .cart_totals tr.shipping td{ display:block !important; width:100% !important; text-align:left !important; border:0 !important; padding:0 !important; }

body.woocommerce-cart .cart_totals tr.shipping th{ padding:8px 0 6px !important; font-weight:600 !important; color:#4A4747 !important; }

/* the "Shipping to ... / Change address" line left-aligned & tidy */

body.woocommerce-cart .cart_totals tr.shipping td .woocommerce-shipping-destination{ text-align:left !important; margin-bottom:4px; }

body.woocommerce-cart .cart_totals tr.shipping td a.shipping-calculator-button{ display:inline-block; }

/* ===== END apx-shipping-fullwidth ===== */

/* ===== apx-compact-pass: smaller, tighter, never stretched (global rule) ===== */

/* hero/page title -> ONE line + smaller */

body.woocommerce-cart section#custom-header h1.title{ white-space:nowrap !important; font-size:30px !important; line-height:1.12 !important; }

/* cart shipping calculator -> compact */

body.woocommerce-cart .shipping-calculator-form p{ margin-bottom:8px !important; }

body.woocommerce-cart .shipping-calculator-form label{ margin-bottom:3px !important; font-size:12px !important; }

body.woocommerce-cart .shipping-calculator-form input.input-text,
body.woocommerce-cart .shipping-calculator-form select{ height:38px !important; font-size:13.5px !important; }

body.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection{ height:38px !important; }

body.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection__rendered{ line-height:38px !important; }

body.woocommerce-cart .shipping-calculator-form button[name="calc_shipping"]{ height:40px !important; margin-top:2px !important; }

/* ===== apx-totals-block: cart totals as block/flex so shipping calc fields span FULL width ===== */

body.woocommerce-cart .cart_totals table, body.woocommerce-cart .cart_totals tbody{ display:block !important; width:100% !important; }

body.woocommerce-cart .cart_totals tr{ display:flex !important; justify-content:space-between !important; align-items:baseline !important; width:100% !important; }

body.woocommerce-cart .cart_totals tr th{ text-align:left !important; }

body.woocommerce-cart .cart_totals tr td{ text-align:right !important; }

/* shipping row stacks + full width */

body.woocommerce-cart .cart_totals tr.shipping{ flex-direction:column !important; align-items:stretch !important; }

body.woocommerce-cart .cart_totals tr.shipping th,
body.woocommerce-cart .cart_totals tr.shipping td{ width:100% !important; text-align:left !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form,
body.woocommerce-cart .cart_totals .shipping-calculator-form p{ width:100% !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form select,
body.woocommerce-cart .cart_totals .shipping-calculator-form input.input-text{ width:100% !important; max-width:100% !important; }

body.woocommerce-cart .cart_totals .shipping-calculator-form .select2-container{ width:100% !important; }

/* tighten vertical rhythm of the calculator */

body.woocommerce-cart .cart_totals .shipping-calculator-form p{ margin-bottom:9px !important; }

/* ===== END apx-totals-block ===== */

@media (max-width:782px){
    body.woocommerce-cart input:not([type="checkbox"]):not([type="radio"]),
    body.woocommerce-cart select,
    body.woocommerce-cart textarea{ font-size:16px !important; }
}

@media (max-width:782px){
    body.woocommerce-cart #page-section{ max-width:100% !important; overflow-x:clip; }
}

body.woocommerce-cart .blockUI.blockOverlay{ opacity:0 !important; }
