.elementor-18 .elementor-element.elementor-element-53761130{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ═══════════════════════════════════════════════════
   EXCELSIOR — CART / BASKET PAGE
   Scoped to body.woocommerce-cart so it only applies on /cart/
   ═══════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────
   1. PAGE WRAPPER + TYPOGRAPHY
   ──────────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
    font-family: var(--exc-sans);
    color: var(--exc-ink);
    max-width: 1280px;
    margin: 48px auto 80px;
    padding: 0 24px;
}

.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title,
.woocommerce-cart .entry-header h1 {
    font-family: var(--exc-sans);
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--exc-ink);
    margin: 0 0 32px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--exc-border);
    position: relative;
}
.woocommerce-cart h1.entry-title::after,
.woocommerce-cart .page-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 48px;
    height: 3px;
    background: var(--exc-purple);
    border-radius: 2px;
}


/* ────────────────────────────────────────────────
   2. CART FORM LAYOUT — 2 columns (table + totals)
   ──────────────────────────────────────────────── */
.woocommerce-cart .woocommerce-cart-form {
    display: block;
}

@media (min-width: 1024px) {
    .woocommerce-cart .woocommerce {
        display: grid;
        grid-template-columns: 1fr 440px;
        gap: 32px;
        align-items: start;
    }
    .woocommerce-cart h1.entry-title,
    .woocommerce-cart .page-title,
    .woocommerce-cart .woocommerce-notices-wrapper {
        grid-column: 1 / -1;
    }
    .woocommerce-cart .woocommerce-cart-form {
        grid-column: 1;
    }
    .woocommerce-cart .cart-collaterals {
        grid-column: 2;
        position: sticky;
        top: 100px;
    }
}


/* ────────────────────────────────────────────────
   3. CART TABLE
   ──────────────────────────────────────────────── */
.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table {
    width: 100%;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: var(--exc-shadow-sm);
    margin: 0;
}

.woocommerce-cart table.cart thead {
    background: var(--exc-off-white);
}
.woocommerce-cart table.cart thead th {
    padding: 14px 18px;
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-muted);
    text-align: left;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
}
.woocommerce-cart table.cart thead th.product-price,
.woocommerce-cart table.cart thead th.product-subtotal,
.woocommerce-cart table.cart thead th.product-quantity {
    text-align: center;
}

.woocommerce-cart table.cart tbody tr {
    transition: background 0.15s ease;
}
.woocommerce-cart table.cart tbody tr:hover {
    background: var(--exc-off-white);
}

.woocommerce-cart table.cart td {
    padding: 20px 18px;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    vertical-align: middle;
    background: transparent;
}
.woocommerce-cart table.cart tbody tr:last-child td {
    border-bottom: 0;
}


/* ────────────────────────────────────────────────
   4. PRODUCT THUMBNAIL CELL
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-thumbnail {
    width: 90px;
}
.woocommerce-cart td.product-thumbnail a {
    display: block;
}
.woocommerce-cart td.product-thumbnail img {
    width: 70px !important;
    height: 70px !important;
    object-fit: contain;
    background: var(--exc-off-white);
    border-radius: var(--exc-radius-sm);
    padding: 4px;
}


/* ────────────────────────────────────────────────
   5. PRODUCT NAME + LINK
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-name a {
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.15s ease;
}
.woocommerce-cart td.product-name a:hover {
    color: var(--exc-purple);
}

.woocommerce-cart td.product-name .variation,
.woocommerce-cart td.product-name dl {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--exc-muted);
    line-height: 1.4;
}


/* ────────────────────────────────────────────────
   6. PRICE + SUBTOTAL COLUMNS
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
    text-align: center;
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
}
.woocommerce-cart td.product-subtotal {
    color: var(--exc-purple);
    font-weight: 700;
}
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-cart .amount {
    font-family: var(--exc-sans);
    color: inherit;
}


/* ────────────────────────────────────────────────
   7. QUANTITY CONTROLS
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-quantity {
    text-align: center;
}
.woocommerce-cart .quantity {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    overflow: hidden;
    background: var(--exc-white);
    transition: border-color 0.15s ease;
}
.woocommerce-cart .quantity:focus-within {
    border-color: var(--exc-purple);
    box-shadow: 0 0 0 2px var(--exc-purple-soft);
}

.woocommerce-cart .quantity input.qty,
.woocommerce-cart .quantity input[type="number"] {
    width: 56px;
    padding: 8px 6px;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--exc-border);
    border-right: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-align: center;
    outline: none;
    -moz-appearance: textfield;
}
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* If your WC version has +/- buttons */
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus {
    width: 32px;
    background: transparent;
    color: var(--exc-purple);
    border: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}
.woocommerce-cart .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover {
    background: var(--exc-purple-soft);
}


/* ────────────────────────────────────────────────
   8. REMOVE BUTTON (×)
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-remove {
    width: 40px;
    text-align: center;
}
.woocommerce-cart a.remove,
.woocommerce-cart td.product-remove .remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    color: var(--exc-muted) !important;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce-cart a.remove:hover,
.woocommerce-cart td.product-remove .remove:hover {
    background: rgba(192, 57, 43, 0.1);
    color: #c0392b !important;
}


/* ────────────────────────────────────────────────
   9. CART ACTIONS ROW — coupon + update cart
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart .actions {
    padding: 20px 18px !important;
    background: var(--exc-off-white);
    border-top: 1px solid var(--exc-border);
}

.woocommerce-cart .coupon {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    overflow: hidden;
    transition: border-color 0.15s ease;
    margin-right: 10px;
}
.woocommerce-cart .coupon:focus-within {
    border-color: var(--exc-purple);
    box-shadow: 0 0 0 2px var(--exc-purple-soft);
}

.woocommerce-cart .coupon label {
    display: none;
}
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart input#coupon_code {
    width: 200px;
    padding: 10px 14px;
    background: transparent;
    border: 0;
    font-family: var(--exc-sans);
    font-size: 13px;
    color: var(--exc-ink);
    outline: none;
}
.woocommerce-cart .coupon input::placeholder,
.woocommerce-cart input#coupon_code::placeholder {
    color: var(--exc-muted);
}


/* ────────────────────────────────────────────────
   10. BUTTONS — Apply coupon, Update cart
   ──────────────────────────────────────────────── */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    background: var(--exc-white);
    color: var(--exc-purple);
    border: 1px solid var(--exc-purple);
    border-radius: var(--exc-radius-md);
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    line-height: 1.4;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
    box-shadow: none !important;
    text-shadow: none !important;
}
.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover {
    background: var(--exc-purple);
    color: var(--exc-white);
    border-color: var(--exc-purple);
}
.woocommerce-cart .button:active {
    transform: translateY(1px);
}

/* Disabled state (e.g. "Update cart" when no changes) */
.woocommerce-cart .button[disabled],
.woocommerce-cart button.button[disabled],
.woocommerce-cart .button.disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background: var(--exc-white) !important;
    color: var(--exc-muted) !important;
    border-color: var(--exc-border) !important;
}

/* Coupon button — sits flush with input */
.woocommerce-cart .coupon button.button,
.woocommerce-cart .coupon input.button,
.woocommerce-cart button[name="apply_coupon"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    padding: 10px 18px !important;
    border-left: 1px solid var(--exc-purple) !important;
}
.woocommerce-cart .coupon button.button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover {
    background: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
}


/* ────────────────────────────────────────────────
   11. CART TOTALS CARD (right sidebar)
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart-collaterals {
    margin-top: 32px;
}
@media (min-width: 1024px) {
    .woocommerce-cart .cart-collaterals {
        margin-top: 0;
    }
}

.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    padding: 24px;
    box-shadow: var(--exc-shadow-sm);
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-ink);
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    border: 0;
    margin: 0;
}
.woocommerce-cart .cart_totals table tr {
    border: 0;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 25px 20px;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    background: transparent;
    font-family: var(--exc-sans);
}
.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
    border-bottom: 0;
}

.woocommerce-cart .cart_totals table th {
    font-size: 13px;
    font-weight: 500;
    color: var(--exc-muted);
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce-cart .cart_totals table td {
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-align: right;
}

/* Subtotal row */
.woocommerce-cart .cart_totals .cart-subtotal th,
.woocommerce-cart .cart_totals .cart-subtotal td {
    font-weight: 600;
}

/* Order total — emphasised */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    font-size: 16px;
    font-weight: 700;
    color: var(--exc-ink);
}
.woocommerce-cart .cart_totals .order-total td {
    color: var(--exc-purple);
    font-size: 20px;
}


/* ────────────────────────────────────────────────
   12. SHIPPING METHODS
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart_totals .shipping th {
    vertical-align: top;
    padding-top: 14px;
}
.woocommerce-cart .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-cart .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    padding: 0;
    font-size: 13px;
    color: var(--exc-ink);
}
.woocommerce-cart .woocommerce-shipping-methods li:last-child {
    margin-bottom: 0;
}
.woocommerce-cart .shipping-calculator-button {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--exc-purple);
    text-decoration: none;
    border-bottom: 1px dashed var(--exc-purple-line);
    transition: border-color 0.15s ease;
}
.woocommerce-cart .shipping-calculator-button:hover {
    border-bottom-color: var(--exc-purple);
}


/* ────────────────────────────────────────────────
   13. PROCEED TO CHECKOUT BUTTON
   ──────────────────────────────────────────────── */
.woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 20px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(143, 41, 151, 0.22) !important;
    transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.2s ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .checkout-button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
    box-shadow: 0 6px 18px rgba(143, 41, 151, 0.3) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
    transform: translateY(1px) !important;
}


/* ────────────────────────────────────────────────
   14. CROSS-SELLS (related products under cart)
   ──────────────────────────────────────────────── */
.woocommerce-cart .cross-sells {
    grid-column: 1 / -1;
    margin-top: 60px !important;
}
.woocommerce-cart .cross-sells h2 {
    margin: 0 0 24px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-ink);
    position: relative;
}
.woocommerce-cart .cross-sells h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 48px;
    height: 3px;
    background: var(--exc-purple);
    border-radius: 2px;
}


/* ────────────────────────────────────────────────
   15. EMPTY CART STATE
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    text-align: center;
    box-shadow: var(--exc-shadow-sm);
}
.woocommerce-cart .cart-empty {
    margin: 0 0 24px;
    font-size: 16px;
    color: var(--exc-muted);
}
.woocommerce-cart .return-to-shop {
    text-align: center;
}
.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart .return-to-shop .button {
    display: inline-flex !important;
    align-items: center !important;
    padding: 14px 28px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(143, 41, 151, 0.2) !important;
}
.woocommerce-cart .return-to-shop a.button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
}


/* ────────────────────────────────────────────────
   16. RESPONSIVE — mobile cart
   ──────────────────────────────────────────────── */
@media (max-width: 767px) {
    .woocommerce-cart .woocommerce {
        margin: 24px auto 60px;
        padding: 0 16px;
    }

    /* Stack table cells as cards on mobile */
    .woocommerce-cart table.cart thead {
        display: none;
    }
    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart tbody,
    .woocommerce-cart table.cart tr {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce-cart table.cart tr.cart_item {
        position: relative;
        padding: 16px;
        margin: 0 0 -1px;
        border-bottom: 1px solid var(--exc-border);
    }
    .woocommerce-cart table.cart td {
        display: block !important;
        padding: 4px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }
    .woocommerce-cart td.product-thumbnail {
        position: absolute;
        top: 16px;
        right: 16px;
        width: auto;
    }
    .woocommerce-cart td.product-thumbnail img {
        width: 60px !important;
        height: 60px !important;
    }
    .woocommerce-cart td.product-name {
        padding-right: 80px !important;
        font-size: 14px;
    }
    .woocommerce-cart td.product-price::before,
    .woocommerce-cart td.product-quantity::before,
    .woocommerce-cart td.product-subtotal::before {
        content: attr(data-title) ': ';
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--exc-muted);
        margin-right: 6px;
    }
    .woocommerce-cart td.product-remove {
        position: absolute;
        top: 16px;
        left: 16px;
        width: auto;
    }

    /* Actions row stacks on mobile */
    .woocommerce-cart .cart .actions {
        text-align: left;
    }
    .woocommerce-cart .coupon {
        display: flex;
        width: 100%;
        margin: 0 0 12px;
    }
    .woocommerce-cart .coupon input[type="text"] {
        flex: 1;
        width: auto;
    }
    .woocommerce-cart button[name="update_cart"] {
        width: 100%;
    }
}

/* ════════════════════════════════════════════════════
   BASKET TOTALS — SHIPPING SELECTOR
   Force the shipping section to span the full row width
   ════════════════════════════════════════════════════ */



/* The "Shipment" label cell */
.woocommerce-cart .cart_totals table.shop_table tr.shipping th {
    width: 100% !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--exc-muted) !important;
    text-align: left !important;
    line-height: 1.3 !important;
}

/* The shipping methods cell */
.woocommerce-cart .cart_totals table.shop_table tr.shipping td {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* The list of shipping methods */
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Each shipping option as a card */
.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: var(--exc-off-white) !important;
    border: 1.5px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
    transition: border-color 0.15s ease, background 0.15s ease !important;
    list-style: none !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: var(--exc-ink) !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li:hover {
    border-color: var(--exc-purple-line) !important;
    background: var(--exc-white) !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li:has(input:checked) {
    border-color: var(--exc-purple) !important;
    background: var(--exc-purple-soft) !important;
}

/* Radio button */
.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--exc-white) !important;
    border: 1.5px solid var(--exc-border) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
    transition: border-color 0.15s ease, border-width 0.1s ease !important;
}

.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"]:checked {
    border-color: var(--exc-purple) !important;
    border-width: 5px !important;
    background: var(--exc-white) !important;
}

.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"]:focus {
    box-shadow: 0 0 0 3px var(--exc-purple-soft) !important;
    outline: none !important;
}

/* Label — left-aligned, takes remaining space */
.woocommerce-cart .cart_totals ul#shipping_method li label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--exc-ink) !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    gap: 14px !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li label .amount,
.woocommerce-cart .cart_totals ul#shipping_method li label .woocommerce-Price-amount {
    margin-left: auto !important;
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    color: var(--exc-purple) !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}

.woocommerce-cart .cart_totals ul#shipping_method label .amount {
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    color: var(--exc-purple) !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}

/* "Shipping options will be updated during checkout" helper text */
.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals tr.shipping p {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    font-family: var(--exc-sans) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--exc-muted) !important;
    text-align: left !important;
}

/* "Calculate shipping" toggle */
.woocommerce-cart .cart_totals tr.shipping a.shipping-calculator-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 8px 0 0 !important;
    padding: 6px 12px !important;
    background: transparent !important;
    color: var(--exc-purple) !important;
    border: 1px solid var(--exc-purple-line) !important;
    border-radius: var(--exc-radius-sm) !important;
    font-family: var(--exc-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}

.woocommerce-cart .cart_totals tr.shipping a.shipping-calculator-button:hover {
    background: var(--exc-purple-soft) !important;
    border-color: var(--exc-purple) !important;
    color: var(--exc-purple-dark) !important;
}

/* Shipping calculator form (when toggled open) */
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form {
    margin-top: 12px !important;
    padding: 16px !important;
    background: var(--exc-white) !important;
    border: 1px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form input,
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form select,
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form .select2-container .select2-selection--single {
    width: 100% !important;
    padding: 10px 12px !important;
    margin-bottom: 10px !important;
    background: var(--exc-white) !important;
    color: var(--exc-ink) !important;
    border: 1px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    height: auto !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form button {
    width: 100% !important;
    padding: 12px 20px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
}

/* ════════════════════════════════════════════════════
   NUCLEAR — Force shipping row to stack vertically
   Higher specificity to win over any Elementor / theme override
   ════════════════════════════════════════════════════ */

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > th {
    padding: 0 0 12px !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--exc-muted) !important;
    line-height: 1.3 !important;
}

/* ═══════════════════════════════════════════════════
   EXCELSIOR — CART / BASKET PAGE
   Scoped to body.woocommerce-cart so it only applies on /cart/
   ═══════════════════════════════════════════════════ */

/* ────────────────────────────────────────────────
   1. PAGE WRAPPER + TYPOGRAPHY
   ──────────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
    font-family: var(--exc-sans);
    color: var(--exc-ink);
    max-width: 1280px;
    margin: 48px auto 80px;
    padding: 0 24px;
}

.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title,
.woocommerce-cart .entry-header h1 {
    font-family: var(--exc-sans);
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--exc-ink);
    margin: 0 0 32px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--exc-border);
    position: relative;
}
.woocommerce-cart h1.entry-title::after,
.woocommerce-cart .page-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 48px;
    height: 3px;
    background: var(--exc-purple);
    border-radius: 2px;
}


/* ────────────────────────────────────────────────
   2. CART FORM LAYOUT — 2 columns (table + totals)
   ──────────────────────────────────────────────── */
.woocommerce-cart .woocommerce-cart-form {
    display: block;
}

@media (min-width: 1024px) {
    .woocommerce-cart .woocommerce {
        display: grid;
        grid-template-columns: 1fr 440px;
        gap: 32px;
        align-items: start;
    }
    .woocommerce-cart h1.entry-title,
    .woocommerce-cart .page-title,
    .woocommerce-cart .woocommerce-notices-wrapper {
        grid-column: 1 / -1;
    }
    .woocommerce-cart .woocommerce-cart-form {
        grid-column: 1;
    }
    .woocommerce-cart .cart-collaterals {
        grid-column: 2;
        position: sticky;
        top: 100px;
    }
}


/* ────────────────────────────────────────────────
   3. CART TABLE
   ──────────────────────────────────────────────── */
.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table {
    width: 100%;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    box-shadow: var(--exc-shadow-sm);
    margin: 0;
}

.woocommerce-cart table.cart thead {
    background: var(--exc-off-white);
}
.woocommerce-cart table.cart thead th {
    padding: 14px 18px;
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-muted);
    text-align: left;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
}
.woocommerce-cart table.cart thead th.product-price,
.woocommerce-cart table.cart thead th.product-subtotal,
.woocommerce-cart table.cart thead th.product-quantity {
    text-align: center;
}

.woocommerce-cart table.cart tbody tr {
    transition: background 0.15s ease;
}
.woocommerce-cart table.cart tbody tr:hover {
    background: var(--exc-off-white);
}

.woocommerce-cart table.cart td {
    padding: 20px 18px;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    vertical-align: middle;
    background: transparent;
}
.woocommerce-cart table.cart tbody tr:last-child td {
    border-bottom: 0;
}


/* ────────────────────────────────────────────────
   4. PRODUCT THUMBNAIL CELL
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-thumbnail {
    width: 90px;
}
.woocommerce-cart td.product-thumbnail a {
    display: block;
}
.woocommerce-cart td.product-thumbnail img {
    width: 70px !important;
    height: 70px !important;
    object-fit: contain;
    background: var(--exc-off-white);
    border-radius: var(--exc-radius-sm);
    padding: 4px;
}


/* ────────────────────────────────────────────────
   5. PRODUCT NAME + LINK
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-name a {
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-decoration: none;
    line-height: 1.4;
    transition: color 0.15s ease;
}
.woocommerce-cart td.product-name a:hover {
    color: var(--exc-purple);
}

.woocommerce-cart td.product-name .variation,
.woocommerce-cart td.product-name dl {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--exc-muted);
    line-height: 1.4;
}


/* ────────────────────────────────────────────────
   6. PRICE + SUBTOTAL COLUMNS
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
    text-align: center;
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
}
.woocommerce-cart td.product-subtotal {
    color: var(--exc-purple);
    font-weight: 700;
}
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-cart .amount {
    font-family: var(--exc-sans);
    color: inherit;
}


/* ────────────────────────────────────────────────
   7. QUANTITY CONTROLS
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-quantity {
    text-align: center;
}
.woocommerce-cart .quantity {
    display: inline-flex;
    align-items: stretch;
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    overflow: hidden;
    background: var(--exc-white);
    transition: border-color 0.15s ease;
}
.woocommerce-cart .quantity:focus-within {
    border-color: var(--exc-purple);
    box-shadow: 0 0 0 2px var(--exc-purple-soft);
}

.woocommerce-cart .quantity input.qty,
.woocommerce-cart .quantity input[type="number"] {
    width: 56px;
    padding: 8px 6px;
    background: transparent;
    border: 0;
    border-left: 1px solid var(--exc-border);
    border-right: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-align: center;
    outline: none;
    -moz-appearance: textfield;
}
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* If your WC version has +/- buttons */
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus {
    width: 32px;
    background: transparent;
    color: var(--exc-purple);
    border: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease;
}
.woocommerce-cart .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover {
    background: var(--exc-purple-soft);
}


/* ────────────────────────────────────────────────
   8. REMOVE BUTTON (×)
   ──────────────────────────────────────────────── */
.woocommerce-cart td.product-remove {
    width: 40px;
    text-align: center;
}
.woocommerce-cart a.remove,
.woocommerce-cart td.product-remove .remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    color: var(--exc-muted) !important;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.woocommerce-cart a.remove:hover,
.woocommerce-cart td.product-remove .remove:hover {
    background: rgba(192, 57, 43, 0.1);
    color: #c0392b !important;
}


/* ────────────────────────────────────────────────
   9. CART ACTIONS ROW — coupon + update cart
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart .actions {
    padding: 20px 18px !important;
    background: var(--exc-off-white);
    border-top: 1px solid var(--exc-border);
}

.woocommerce-cart .coupon {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    overflow: hidden;
    transition: border-color 0.15s ease;
    margin-right: 10px;
}
.woocommerce-cart .coupon:focus-within {
    border-color: var(--exc-purple);
    box-shadow: 0 0 0 2px var(--exc-purple-soft);
}

.woocommerce-cart .coupon label {
    display: none;
}
.woocommerce-cart .coupon input[type="text"],
.woocommerce-cart input#coupon_code {
    width: 200px;
    padding: 10px 14px;
    background: transparent;
    border: 0;
    font-family: var(--exc-sans);
    font-size: 13px;
    color: var(--exc-ink);
    outline: none;
}
.woocommerce-cart .coupon input::placeholder,
.woocommerce-cart input#coupon_code::placeholder {
    color: var(--exc-muted);
}


/* ────────────────────────────────────────────────
   10. BUTTONS — Apply coupon, Update cart
   ──────────────────────────────────────────────── */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    background: var(--exc-white);
    color: var(--exc-purple);
    border: 1px solid var(--exc-purple);
    border-radius: var(--exc-radius-md);
    font-family: var(--exc-sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    line-height: 1.4;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
    box-shadow: none !important;
    text-shadow: none !important;
}
.woocommerce-cart .button:hover,
.woocommerce-cart button.button:hover,
.woocommerce-cart input.button:hover {
    background: var(--exc-purple);
    color: var(--exc-white);
    border-color: var(--exc-purple);
}
.woocommerce-cart .button:active {
    transform: translateY(1px);
}

/* Disabled state (e.g. "Update cart" when no changes) */
.woocommerce-cart .button[disabled],
.woocommerce-cart button.button[disabled],
.woocommerce-cart .button.disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background: var(--exc-white) !important;
    color: var(--exc-muted) !important;
    border-color: var(--exc-border) !important;
}

/* Coupon button — sits flush with input */
.woocommerce-cart .coupon button.button,
.woocommerce-cart .coupon input.button,
.woocommerce-cart button[name="apply_coupon"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    padding: 10px 18px !important;
    border-left: 1px solid var(--exc-purple) !important;
}
.woocommerce-cart .coupon button.button:hover,
.woocommerce-cart button[name="apply_coupon"]:hover {
    background: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
}


/* ────────────────────────────────────────────────
   11. CART TOTALS CARD (right sidebar)
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart-collaterals {
    margin-top: 32px;
}
@media (min-width: 1024px) {
    .woocommerce-cart .cart-collaterals {
        margin-top: 0;
    }
}

.woocommerce-cart .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    padding: 24px;
    box-shadow: var(--exc-shadow-sm);
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-ink);
}

.woocommerce-cart .cart_totals table {
    width: 100%;
    border: 0;
    margin: 0;
}
.woocommerce-cart .cart_totals table tr {
    border: 0;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 25px 20px;
    border: 0;
    border-bottom: 1px solid var(--exc-border);
    background: transparent;
    font-family: var(--exc-sans);
}
.woocommerce-cart .cart_totals table tr:last-child th,
.woocommerce-cart .cart_totals table tr:last-child td {
    border-bottom: 0;
}

.woocommerce-cart .cart_totals table th {
    font-size: 13px;
    font-weight: 500;
    color: var(--exc-muted);
    text-align: left;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce-cart .cart_totals table td {
    font-size: 14px;
    font-weight: 600;
    color: var(--exc-ink);
    text-align: right;
}

/* Subtotal row */
.woocommerce-cart .cart_totals .cart-subtotal th,
.woocommerce-cart .cart_totals .cart-subtotal td {
    font-weight: 600;
}

/* Order total — emphasised */
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
    font-size: 16px;
    font-weight: 700;
    color: var(--exc-ink);
}
.woocommerce-cart .cart_totals .order-total td {
    color: var(--exc-purple);
    font-size: 20px;
}


/* ────────────────────────────────────────────────
   12. SHIPPING METHODS
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart_totals .shipping th {
    vertical-align: top;
    padding-top: 14px;
}
.woocommerce-cart .woocommerce-shipping-methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-cart .woocommerce-shipping-methods li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    padding: 0;
    font-size: 13px;
    color: var(--exc-ink);
}
.woocommerce-cart .woocommerce-shipping-methods li:last-child {
    margin-bottom: 0;
}
.woocommerce-cart .shipping-calculator-button {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--exc-purple);
    text-decoration: none;
    border-bottom: 1px dashed var(--exc-purple-line);
    transition: border-color 0.15s ease;
}
.woocommerce-cart .shipping-calculator-button:hover {
    border-bottom-color: var(--exc-purple);
}


/* ────────────────────────────────────────────────
   13. PROCEED TO CHECKOUT BUTTON
   ──────────────────────────────────────────────── */
.woocommerce-cart .wc-proceed-to-checkout {
    padding-top: 20px !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 16px 24px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(143, 41, 151, 0.22) !important;
    transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.2s ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .checkout-button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
    box-shadow: 0 6px 18px rgba(143, 41, 151, 0.3) !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
    transform: translateY(1px) !important;
}


/* ────────────────────────────────────────────────
   14. CROSS-SELLS (related products under cart)
   ──────────────────────────────────────────────── */
.woocommerce-cart .cross-sells {
    grid-column: 1 / -1;
    margin-top: 60px !important;
}
.woocommerce-cart .cross-sells h2 {
    margin: 0 0 24px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--exc-border);
    font-family: var(--exc-sans);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--exc-ink);
    position: relative;
}
.woocommerce-cart .cross-sells h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 48px;
    height: 3px;
    background: var(--exc-purple);
    border-radius: 2px;
}


/* ────────────────────────────────────────────────
   15. EMPTY CART STATE
   ──────────────────────────────────────────────── */
.woocommerce-cart .cart-empty,
.woocommerce-cart .wc-empty-cart-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    background: var(--exc-white);
    border: 1px solid var(--exc-border);
    border-radius: var(--exc-radius-md);
    text-align: center;
    box-shadow: var(--exc-shadow-sm);
}
.woocommerce-cart .cart-empty {
    margin: 0 0 24px;
    font-size: 16px;
    color: var(--exc-muted);
}
.woocommerce-cart .return-to-shop {
    text-align: center;
}
.woocommerce-cart .return-to-shop a.button,
.woocommerce-cart .return-to-shop .button {
    display: inline-flex !important;
    align-items: center !important;
    padding: 14px 28px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(143, 41, 151, 0.2) !important;
}
.woocommerce-cart .return-to-shop a.button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
    color: var(--exc-white) !important;
}


/* ────────────────────────────────────────────────
   16. RESPONSIVE — mobile cart
   ──────────────────────────────────────────────── */
@media (max-width: 767px) {
    .woocommerce-cart .woocommerce {
        margin: 24px auto 60px;
        padding: 0 16px;
    }

    /* Stack table cells as cards on mobile */
    .woocommerce-cart table.cart thead {
        display: none;
    }
    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart tbody,
    .woocommerce-cart table.cart tr {
        display: block !important;
        width: 100% !important;
    }
    .woocommerce-cart table.cart tr.cart_item {
        position: relative;
        padding: 16px;
        margin: 0 0 -1px;
        border-bottom: 1px solid var(--exc-border);
    }
    .woocommerce-cart table.cart td {
        display: block !important;
        padding: 4px 0 !important;
        border: 0 !important;
        text-align: left !important;
    }
    .woocommerce-cart td.product-thumbnail {
        position: absolute;
        top: 16px;
        right: 16px;
        width: auto;
    }
    .woocommerce-cart td.product-thumbnail img {
        width: 60px !important;
        height: 60px !important;
    }
    .woocommerce-cart td.product-name {
        padding-right: 80px !important;
        font-size: 14px;
    }
    .woocommerce-cart td.product-price::before,
    .woocommerce-cart td.product-quantity::before,
    .woocommerce-cart td.product-subtotal::before {
        content: attr(data-title) ': ';
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        color: var(--exc-muted);
        margin-right: 6px;
    }
    .woocommerce-cart td.product-remove {
        position: absolute;
        top: 16px;
        left: 16px;
        width: auto;
    }

    /* Actions row stacks on mobile */
    .woocommerce-cart .cart .actions {
        text-align: left;
    }
    .woocommerce-cart .coupon {
        display: flex;
        width: 100%;
        margin: 0 0 12px;
    }
    .woocommerce-cart .coupon input[type="text"] {
        flex: 1;
        width: auto;
    }
    .woocommerce-cart button[name="update_cart"] {
        width: 100%;
    }
}

/* ════════════════════════════════════════════════════
   BASKET TOTALS — SHIPPING SELECTOR
   Force the shipping section to span the full row width
   ════════════════════════════════════════════════════ */



/* The "Shipment" label cell */
.woocommerce-cart .cart_totals table.shop_table tr.shipping th {
    width: 100% !important;
    padding: 0 0 12px !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--exc-muted) !important;
    text-align: left !important;
    line-height: 1.3 !important;
}

/* The shipping methods cell */
.woocommerce-cart .cart_totals table.shop_table tr.shipping td {
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

/* The list of shipping methods */
.woocommerce-cart .cart_totals ul#shipping_method,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
    list-style: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

/* Each shipping option as a card */
.woocommerce-cart .cart_totals ul#shipping_method li,
.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    background: var(--exc-off-white) !important;
    border: 1.5px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
    transition: border-color 0.15s ease, background 0.15s ease !important;
    list-style: none !important;
    cursor: pointer !important;
    font-size: 13px !important;
    color: var(--exc-ink) !important;
    box-sizing: border-box !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li:hover {
    border-color: var(--exc-purple-line) !important;
    background: var(--exc-white) !important;
}

.woocommerce-cart .cart_totals ul#shipping_method li:has(input:checked) {
    border-color: var(--exc-purple) !important;
    background: var(--exc-purple-soft) !important;
}

/* Radio button */
.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--exc-white) !important;
    border: 1.5px solid var(--exc-border) !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    position: relative !important;
    flex-shrink: 0 !important;
    transition: border-color 0.15s ease, border-width 0.1s ease !important;
}

.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"]:checked {
    border-color: var(--exc-purple) !important;
    border-width: 5px !important;
    background: var(--exc-white) !important;
}

.woocommerce-cart .cart_totals ul#shipping_method input[type="radio"]:focus {
    box-shadow: 0 0 0 3px var(--exc-purple-soft) !important;
    outline: none !important;
}

/* Label — left-aligned, takes remaining space */
.woocommerce-cart .cart_totals ul#shipping_method label {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--exc-ink) !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

.woocommerce-cart .cart_totals ul#shipping_method label .amount {
    flex-shrink: 0 !important;
    font-weight: 700 !important;
    color: var(--exc-purple) !important;
    white-space: nowrap !important;
    font-size: 14px !important;
}

/* "Shipping options will be updated during checkout" helper text */
.woocommerce-cart .cart_totals tr.shipping .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals tr.shipping p {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    font-family: var(--exc-sans) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: var(--exc-muted) !important;
    text-align: left !important;
}

/* "Calculate shipping" toggle */
.woocommerce-cart .cart_totals tr.shipping a.shipping-calculator-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 8px 0 0 !important;
    padding: 6px 12px !important;
    background: transparent !important;
    color: var(--exc-purple) !important;
    border: 1px solid var(--exc-purple-line) !important;
    border-radius: var(--exc-radius-sm) !important;
    font-family: var(--exc-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}

.woocommerce-cart .cart_totals tr.shipping a.shipping-calculator-button:hover {
    background: var(--exc-purple-soft) !important;
    border-color: var(--exc-purple) !important;
    color: var(--exc-purple-dark) !important;
}

/* Shipping calculator form (when toggled open) */
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form {
    margin-top: 12px !important;
    padding: 16px !important;
    background: var(--exc-white) !important;
    border: 1px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form input,
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form select,
.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form .select2-container .select2-selection--single {
    width: 100% !important;
    padding: 10px 12px !important;
    margin-bottom: 10px !important;
    background: var(--exc-white) !important;
    color: var(--exc-ink) !important;
    border: 1px solid var(--exc-border) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 13px !important;
    height: auto !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form button {
    width: 100% !important;
    padding: 12px 20px !important;
    background: var(--exc-purple) !important;
    color: var(--exc-white) !important;
    border: 1px solid var(--exc-purple) !important;
    border-radius: var(--exc-radius-md) !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}

.woocommerce-cart .cart_totals tr.shipping .shipping-calculator-form button:hover {
    background: var(--exc-purple-dark) !important;
    border-color: var(--exc-purple-dark) !important;
}

/* ════════════════════════════════════════════════════
   NUCLEAR — Force shipping row to stack vertically
   Higher specificity to win over any Elementor / theme override
   ════════════════════════════════════════════════════ */

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping {
    display: block !important;
    width: 100% !important;
    padding: 16px 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.shipping > th {
    padding: 0 0 12px !important;
    font-family: var(--exc-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--exc-muted) !important;
    line-height: 1.3 !important;
}

/* ════════════════════════════════════════════════════
   FORCE TABLE CHAIN TO BLOCK LAYOUT
   This is the actual fix — table cell calculations were
   splitting the row into 50/50 columns regardless of
   the <tr>'s display: block setting.
   ════════════════════════════════════════════════════ */

body.woocommerce-cart .cart_totals table.shop_table {
    display: block !important;
    width: 100% !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

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

/* All rows now block-level too — they each fill the full table width */
body.woocommerce-cart .cart_totals table.shop_table tbody > tr {
    display: block !important;
    width: 100% !important;
}

/* For non-shipping rows (subtotal, order-total), make them flex so 
   label and value sit on opposite sides like a table row would */
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.cart-subtotal,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.order-total,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.tax-total,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.fee {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}

body.woocommerce-cart .cart_totals table.shop_table tbody > tr.cart-subtotal > th,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.cart-subtotal > td,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.order-total > th,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.order-total > td,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.tax-total > th,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.tax-total > td,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.fee > th,
body.woocommerce-cart .cart_totals table.shop_table tbody > tr.fee > td {
    display: block !important;
    width: auto !important;
    flex-shrink: 0 !important;
}/* End custom CSS */