/* =========================================================================
   BA Cart — stylesheet
   Loaded on every front-end page; most rules are scoped under
   body.woocommerce-cart, body.woocommerce-checkout, and the
   .ba-cart-* classes so they don't affect other pages.
   ========================================================================= */

/* ── Checkout banner (top of /checkout/) ─────────────────────────────── */
.ba-cart-checkout-banner {
    background: linear-gradient(135deg, #f0f9f4 0%, #f5f7fb 100%);
    border-bottom: 1px solid #e5eaf1;
    padding: 10px 16px;
    text-align: center;
    font-size: 13px;
    color: #4a5568;
}
.ba-cart-checkout-banner__inner {
    display: inline-flex; align-items: center; gap: 8px;
    flex-wrap: wrap; justify-content: center;
}
.ba-cart-checkout-banner__dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #17b26a;
    box-shadow: 0 0 0 4px rgba(23, 178, 106, 0.18);
    display: inline-block;
}
.ba-cart-checkout-banner strong { color: #0b1220; font-weight: 700; }

/* ── Checkout brand watermark ────────────────────────────────────────── */
.ba-cart-checkout-brand {
    text-align: center;
    padding: 18px 0 8px;
}
.ba-cart-checkout-brand a {
    display: inline-flex; align-items: center; gap: 8px;
    text-decoration: none; color: #0b1220; font-weight: 800; font-size: 16px;
}
.ba-cart-checkout-brand em { font-style: italic; color: #17b26a; }

/* ── Trust footer (payment method icons) ─────────────────────────────── */
.ba-cart-trust-footer {
    text-align: center;
    padding: 20px 16px 8px;
    border-top: 1px solid #e5eaf1;
    margin-top: 16px;
}
.ba-cart-trust-footer__title {
    font-size: 12px; font-weight: 700;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 10px;
}
.ba-cart-trust-footer__row {
    display: inline-flex; gap: 6px; flex-wrap: wrap; justify-content: center;
}
.ba-cart-trust-footer__badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 42px; height: 26px; padding: 0 6px;
    background: #fff; border: 1px solid #d1d5db; border-radius: 4px;
    font-size: 10.5px; font-weight: 800; color: #0b1220;
    letter-spacing: 0.02em;
    line-height: 1;
}
.ba-cart-trust-footer__badge--wallet { background: #0b1220; color: #fff; border-color: #0b1220; }
.ba-cart-trust-footer__sub {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 10px; font-size: 11.5px; color: #4b5563;
}

/* ── "Complete your lab setup" upsell card ───────────────────────────── */
.ba-cart-upsell-card {
    display: flex; align-items: center; gap: 12px;
    background: linear-gradient(135deg, rgba(23, 178, 106, 0.06), rgba(11, 99, 213, 0.04));
    border: 1px solid rgba(23, 178, 106, 0.22);
    border-radius: 10px;
    padding: 14px;
    margin: 16px 0;
}
.ba-cart-upsell-card__icon {
    color: #17b26a; flex: 0 0 32px;
    display: flex; align-items: center; justify-content: center;
}
.ba-cart-upsell-card__body { flex: 1; min-width: 0; }
.ba-cart-upsell-card__title { font-weight: 700; color: #0b1220; font-size: 14px; }
.ba-cart-upsell-card__sub { font-size: 12.5px; color: #4a5568; margin-top: 2px; line-height: 1.4; }
.ba-cart-upsell-card__btn {
    flex: 0 0 auto;
    height: 36px; padding: 0 14px;
    background: #0b1220; color: #fff;
    border: 0; border-radius: 8px;
    font-size: 12.5px; font-weight: 700;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
    white-space: nowrap;
}
.ba-cart-upsell-card__btn:hover { background: #1a253b; transform: translateY(-1px); }
.ba-cart-upsell-card__btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.ba-cart-upsell-card__btn.is-added { background: #17b26a; }

/* =========================================================================
   WC cart + checkout form re-skin
   Targets WC's default form elements so they match our design system.
   ========================================================================= */

body.woocommerce-cart .entry-header h1,
body.woocommerce-checkout .entry-header h1,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .page-title {
    color: #0b1220;
    font-weight: 800;
    font-size: 28px;
    margin: 24px 0 12px;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-checkout table.shop_table {
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}
body.woocommerce-cart table.shop_table thead th,
body.woocommerce-checkout table.shop_table thead th {
    background: #f5f7fb;
    color: #0b1220;
    font-weight: 700;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 12px 14px;
    border: 0;
}
body.woocommerce-cart table.shop_table tbody td,
body.woocommerce-checkout table.shop_table tbody td {
    padding: 14px;
    border-top: 1px solid #e5eaf1;
    vertical-align: middle;
}
body.woocommerce-cart table.shop_table tbody tr:first-child td { border-top: 0; }

body.woocommerce-cart .product-name a,
body.woocommerce-cart .product-subtotal,
body.woocommerce-checkout .product-name a,
body.woocommerce-checkout .product-subtotal {
    color: #0b1220;
    font-weight: 700;
}

body.woocommerce-cart .product-quantity .qty,
body.woocommerce-checkout .product-quantity .qty {
    width: 60px; height: 36px;
    padding: 0 8px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 14px;
    color: #0b1220;
    background: #fff;
}

body.woocommerce-cart .coupon,
body.woocommerce-checkout .coupon {
    display: flex; gap: 6px; align-items: center;
    flex-wrap: wrap;
}
body.woocommerce-cart .coupon input.input-text,
body.woocommerce-checkout .coupon input.input-text {
    height: 38px; padding: 0 12px;
    border: 1px solid #d1d5db; border-radius: 8px;
    font-size: 13px; color: #0b1220; background: #fff;
    width: 200px; max-width: 100%;
}
body.woocommerce-cart .coupon button,
body.woocommerce-checkout .coupon button {
    height: 38px; padding: 0 16px;
    background: #0b1220; color: #fff;
    border: 0; border-radius: 8px;
    font-size: 13px; font-weight: 700;
    cursor: pointer;
}

body.woocommerce-cart .actions .button,
body.woocommerce-checkout .actions .button {
    height: 38px; padding: 0 16px;
    background: #fff; color: #0b1220;
    border: 1px solid #d1d5db; border-radius: 8px;
    font-size: 13px; font-weight: 700;
    cursor: pointer;
}

body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-checkout .cart-collaterals .cart_totals {
    background: #f5f7fb;
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    padding: 20px;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2,
body.woocommerce-checkout .cart-collaterals .cart_totals h2 {
    color: #0b1220;
    font-weight: 800;
    font-size: 18px;
    margin-top: 0;
}
body.woocommerce-cart .cart-collaterals .cart_totals .order-total,
body.woocommerce-checkout .cart-collaterals .cart_totals .order-total {
    color: #0b1220;
    font-size: 18px;
    font-weight: 800;
}

body.woocommerce-checkout .wc-checkout-payment {
    background: #fff;
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    padding: 20px;
}
body.woocommerce-checkout #place_order {
    width: 100%;
    height: 52px;
    background: #17b26a !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 100px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
    box-shadow: 0 8px 24px rgba(23, 178, 106, 0.35);
}
body.woocommerce-checkout #place_order:hover {
    background: #0f8c52 !important;
    transform: translateY(-1px);
    box-shadow: 0 12px 30px rgba(23, 178, 106, 0.45);
}

body.woocommerce-checkout .form-row label {
    color: #0b1220;
    font-weight: 600;
    font-size: 13px;
}
body.woocommerce-checkout .form-row .input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .form-row textarea {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
    color: #0b1220;
    font-size: 14px;
    transition: border-color .15s ease, box-shadow .15s ease;
}
body.woocommerce-checkout .form-row .input-text:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .form-row textarea:focus {
    outline: none;
    border-color: #17b26a;
    box-shadow: 0 0 0 3px rgba(23, 178, 106, 0.18);
}
body.woocommerce-checkout .form-row textarea { height: auto; padding: 10px 12px; }

body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods {
    border: 0;
    padding: 0;
}
body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods li {
    border: 1px solid #e5eaf1;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 8px;
    background: #fff;
}
body.woocommerce-checkout .woocommerce-checkout-payment .payment_methods li:hover { background: #f5f7fb; }

/* Express checkout area — sits at the top of the checkout form.
   Hidden by default; visible if a payment gateway injects a
   `.wc-payment-request-button` element (Stripe, WooPayments, etc.). */
body.woocommerce-checkout .wc-checkout-express {
    background: #f5f7fb;
    border: 1px solid #e5eaf1;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 20px;
    text-align: center;
}
body.woocommerce-checkout .wc-checkout-express:empty { display: none; }

/* Mobile tweaks */
@media (max-width: 760px) {
    .ba-cart-upsell-card { flex-wrap: wrap; }
    .ba-cart-upsell-card__btn { width: 100%; }
    body.woocommerce-cart .cart-collaterals .cart_totals,
    body.woocommerce-checkout .wc-checkout-payment { padding: 16px; }

    /* v1.1.1 — full cart table → card layout on phones. The default
       WC table is unreadable on 320-414px screens (the <th> row
       takes 30% of the width with no useful content, and qty
       inputs overlap product names). We:
         1. Hide the thead row
         2. Convert every cart_item <tr> into a block card
         3. Stack each <td> into a labeled row
         4. Pull the product image to a fixed top-left
         5. Pin the line total + remove button to the top-right
       The result is a touch-friendly, scannable cart that fits
       a 320px phone without horizontal scroll. */
    body.woocommerce-cart .woocommerce-cart-form table.shop_table thead { display: none !important; }
    body.woocommerce-cart .woocommerce-cart-form table.shop_table,
    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody { display: block !important; width: 100% !important; }
    body.woocommerce-cart .woocommerce-cart-form .cart_item,
    body.woocommerce-cart .woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: 80px 1fr auto !important;
        grid-template-areas:
            "img name  x"
            "img meta  total" !important;
        gap: 4px 12px !important;
        padding: 16px 12px !important;
        border-top: 1px solid #e5eaf1 !important;
        background: #fff !important;
        width: 100% !important;
    }
    body.woocommerce-cart .woocommerce-cart-form .cart_item:first-child,
    body.woocommerce-cart .woocommerce-cart-form__cart-item:first-child {
        border-top: 0 !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail {
        grid-area: img !important;
        width: 80px !important;
        min-width: 80px !important;
        padding: 0 !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
        width: 72px !important;
        height: 72px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-name {
        grid-area: name !important;
        min-width: 0 !important;
        padding: 0 !important;
        font-size: 14px !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-name a {
        font-size: 14px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-name .variation {
        margin-top: 4px !important;
        font-size: 11.5px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-price {
        /* On mobile, fold the price into the meta area under the name. */
        grid-area: meta !important;
        padding: 0 !important;
        font-size: 12.5px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity {
        grid-area: meta !important;
        padding: 8px 0 0 !important;
        justify-self: start !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-quantity .quantity .qty {
        width: 60px !important;
        height: 38px !important;
        font-size: 14px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
        grid-area: total !important;
        align-self: start !important;
        padding: 0 !important;
        text-align: right !important;
        font-size: 14px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-remove {
        grid-area: x !important;
        width: 28px !important;
        min-width: 28px !important;
        padding: 0 !important;
        align-self: start !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-remove a {
        width: 24px !important;
        height: 24px !important;
        font-size: 16px !important;
    }
    /* Coupon row + update cart button — stack on mobile */
    body.woocommerce-cart .woocommerce-cart-form .actions {
        padding: 14px 12px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }
    body.woocommerce-cart .woocommerce-cart-form .actions input[name="coupon_code"] {
        width: 100% !important;
        margin: 0 0 8px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="apply_coupon"],
    body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
        width: 100% !important;
        margin: 4px 0 0 !important;
    }
    /* Cart totals card padding */
    body.woocommerce-cart .cart_totals { padding: 16px 18px !important; }
    body.woocommerce-cart .cart_totals th,
    body.woocommerce-cart .cart_totals td { padding: 8px 0 !important; font-size: 13.5px !important; }
    body.woocommerce-cart .cart_totals .order-total th,
    body.woocommerce-cart .cart_totals .order-total td { font-size: 16px !important; }
}

@media (max-width: 480px) {
    /* v1.1.1 — even tighter on small phones. Drop the meta column
       gaps and use a single-column product name on the very smallest
       screens so the card never feels crowded. */
    body.woocommerce-cart .woocommerce-cart-form .cart_item,
    body.woocommerce-cart .woocommerce-cart-form__cart-item {
        grid-template-columns: 64px 1fr auto !important;
        gap: 4px 10px !important;
        padding: 14px 10px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail {
        width: 64px !important;
        min-width: 64px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
        width: 56px !important;
        height: 56px !important;
    }
    body.woocommerce-cart .woocommerce-cart-form td.product-name a { font-size: 13.5px !important; }
}

/* Reduced-motion */
@media (prefers-reduced-motion: reduce) {
    body.woocommerce-checkout #place_order,
    .ba-cart-upsell-card__btn { transition: none; }
    body.woocommerce-checkout #place_order:hover,
    .ba-cart-upsell-card__btn:hover { transform: none; }
}

/* ── Product photo polish (cart + checkout order review) ─────────────── */
body.woocommerce-cart .product-thumbnail img,
body.woocommerce-checkout .product-thumbnail img,
body.woocommerce-checkout .woocommerce-checkout-review-order-table img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #e5eaf1;
    background: #f5f7fb;
    display: block;
}

/* ============================================================================
   CART LINE ITEM — v1.0.1 fix for block-based themes (Twenty Twenty-Five)
   ============================================================================
   The default WC shortcode cart table renders every <td> (product-remove,
   product-thumbnail, product-name, product-price, product-quantity,
   product-subtotal) correctly in the DOM, but Twenty Twenty-Five + other
   block-based themes ship CSS that collapses or hides the product-name
   and product-thumbnail cells. This block force-restores the line item
   layout, regardless of which theme is active. */
/* Defends against block-based themes (Twenty Twenty-Five, etc.) that ship
   CSS hiding or collapsing these cells. Applied at all widths since it's
   independent of layout mode (grid on mobile, table on desktop). */
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail,
body.woocommerce-cart .woocommerce-cart-form td.product-name,
body.woocommerce-cart .woocommerce-cart-form td.product-price,
body.woocommerce-cart .woocommerce-cart-form td.product-quantity,
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal,
body.woocommerce-cart .woocommerce-cart-form td.product-remove {
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form .cart_item,
body.woocommerce-cart .woocommerce-cart-form__cart-item {
    display: table-row !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail,
body.woocommerce-cart .woocommerce-cart-form td.product-name,
body.woocommerce-cart .woocommerce-cart-form td.product-price,
body.woocommerce-cart .woocommerce-cart-form td.product-quantity,
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal,
body.woocommerce-cart .woocommerce-cart-form td.product-remove {
    display: table-cell !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    vertical-align: middle !important;
    padding: 18px 12px !important;
    border: 0 !important;
    background: transparent !important;
}
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail {
    width: 96px !important;
    min-width: 96px !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail a {
    display: inline-block !important;
    line-height: 0 !important;
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-name {
    min-width: 220px !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-name a {
    display: inline-block !important;
    color: #0b1220 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    visibility: visible !important;
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-name a {
    font-size: 15px !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-name a:hover {
    color: #17b26a !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation {
    display: block !important;
    margin-top: 4px !important;
    font-size: 12px !important;
    color: #4b5563 !important;
    font-weight: 500 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dt,
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dd {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dt {
    color: #4a5568 !important;
    font-weight: 600 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dt p,
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dd p {
    display: inline !important;
    margin: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .variation dd {
    color: #0b1220 !important;
    font-weight: 600 !important;
    margin-right: 12px !important;
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-remove {
    width: 32px !important;
    min-width: 32px !important;
    text-align: center !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-remove a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important; height: 28px !important;
    border-radius: 50% !important;
    background: #f6f8fb !important;
    color: #4b5563 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-remove a:hover {
    background: #fee2e2 !important;
    color: #b3261e !important;
}

/* v2.5.50 — "Remove from cart" pill under each line item.
   v2.5.0 added a small × in the corner (above). Client feedback
   said users couldn't find it on the cart screen, so we ALSO
   inject a clearly-labeled "Remove" text link right under the
   product name. Both work; the corner × is the WC default and
   the inline link is the BA fallback. */
body.woocommerce-cart .woocommerce-cart-form td.product-name .ba-line-remove {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 8px !important;
    padding: 5px 12px !important;
    border-radius: 100px !important;
    background: #fff1f2 !important;
    color: #b3261e !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: 1px solid #fecdd3 !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease !important;
    letter-spacing: 0.01em !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .ba-line-remove::before {
    content: "🗑" !important;
    font-size: 13px !important;
    line-height: 1 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name .ba-line-remove:hover {
    background: #b3261e !important;
    color: #fff !important;
    border-color: #b3261e !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-price {
    color: #4a5568 !important;
    font-weight: 600 !important;
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-price {
    font-size: 14px !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-price del {
    color: #4b5563 !important;
    margin-right: 6px !important;
    font-weight: 500 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-price ins {
    color: #0b1220 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
    color: #0b1220 !important;
    font-weight: 800 !important;
}
@media (min-width: 761px) {
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
    font-size: 15px !important;
}
}
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal .woocommerce-Price-amount {
    color: #17b26a !important;
}
/* Quantity stepper */
body.woocommerce-cart .woocommerce-cart-form .quantity {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
}
body.woocommerce-cart .woocommerce-cart-form .quantity .qty {
    width: 64px !important;
    height: 40px !important;
    text-align: center !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    color: #0b1220 !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Coupon row + actions */
body.woocommerce-cart .woocommerce-cart-form .actions {
    padding: 16px 12px !important;
    border-top: 1px solid #e5eaf1 !important;
    background: #fafbfd !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions input[name="coupon_code"] {
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    width: 200px !important;
    background: #fff !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name="apply_coupon"],
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    height: 42px !important;
    padding: 0 20px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: 0 !important;
    cursor: pointer !important;
    transition: filter .15s ease, transform .15s ease !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name="apply_coupon"] {
    background: #0b1220 !important;
    color: #fff !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name="update_cart"] {
    background: #17b26a !important;
    color: #fff !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions button:hover {
    filter: brightness(1.08) !important;
}
/* Cart totals table */
body.woocommerce-cart .cart_totals {
    background: #fff !important;
    border: 1px solid #e5eaf1 !important;
    border-radius: 14px !important;
    padding: 20px 24px !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
}
body.woocommerce-cart .cart_totals h2 {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0b1220 !important;
    margin: 0 0 14px !important;
}
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #f0f2f6 !important;
    color: #4a5568 !important;
    font-size: 14px !important;
}
body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0b1220 !important;
    border-top: 2px solid #0b1220 !important;
    border-bottom: 0 !important;
    padding-top: 14px !important;
}
body.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
    color: #17b26a !important;
}
body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 16px 0 0 !important;
}
/* Hide WC default "Proceed to checkout" — we use the ba-square-gateway
   "Pay with Credit Card (Square)" CTA instead, which goes to /pay-with-card/ */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.button {
    display: none !important;
}
body.woocommerce-cart td.product-thumbnail,
body.woocommerce-checkout td.product-thumbnail {
    width: 88px;
}
