/* BAMMAT — CART.CSS (cart & checkout styling, from PART 5) */

/* ===== Cart & checkout main ===== */
/* ── Fee store name tag — hidden but kept for JS text matching ── */
    .bm8-fee-store-tag { display: none !important; }

    /* ── Billing summary collapse (Item 2) ── */
    .bm8-billing-summary {
        background: var(--bm-bg);
        border: 1.5px solid var(--bm-line);
        border-radius: 12px;
        padding: 14px 16px;
        margin-bottom: 20px;
    }
    .bm8-billing-row {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 4px 0;
        font-size: 14px;
        color: var(--bm-ink);
        line-height: 1.4;
    }
    .bm8-billing-icon {
        font-size: 15px;
        width: 22px;
        flex-shrink: 0;
        text-align: center;
    }
    .bm8-billing-hint {
        font-size: 13px;
        color: var(--bm-ink-2);
        margin-bottom: 12px;
        line-height: 1.5;
        padding: 10px 0 4px;
    }
    .bm8-billing-edit-btn {
        display: block;
        margin-top: 12px;
        width: 100%;
        padding: 9px 14px;
        background: #fff;
        border: 1.5px solid var(--bm-blue);
        border-radius: 8px;
        color: var(--bm-blue);
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: background .15s, color .15s;
        text-align: center;
        box-sizing: border-box;
    }
    .bm8-billing-edit-btn:hover { background: var(--bm-blue); color: #fff; }
    .bm8-billing-edit-btn--empty { background: var(--bm-blue); color: #fff; }
    .bm8-billing-edit-btn--empty:hover { background: var(--bm-blue-dark); }

    /* ── Store heading ── */
    .bm8-store-heading {
        display:flex;align-items:center;gap:12px;margin:0;
        padding:14px 16px;background:var(--bm-bg);
        border-radius:10px 10px 0 0;border:1px solid var(--bm-line);border-bottom:none;
    }
    .bm8-store-heading-logo {
        width:40px;height:40px;min-width:40px;border-radius:8px;overflow:hidden;
        background:#fff;border:1px solid var(--bm-line);
        display:flex;align-items:center;justify-content:center;flex-shrink:0;
    }
    .bm8-store-heading-logo img { width:100%;height:100%;object-fit:cover;display:block; }
    .bm8-store-heading-text { flex:1;min-width:0; }
    .bm8-store-heading-name { font-size:18px;font-weight:700;color:var(--bm-ink);line-height:1.2;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none; }
	.bm8-store-heading-name:hover { color:var(--bm-blue);text-decoration:underline; }

/* ── Cart items table: card look matching the totals box ── */
.woocommerce-cart-form .shop_table.cart {
	border:1px solid var(--bm-line) !important; border-radius:0 0 10px 10px !important;
	border-collapse:separate !important; border-spacing:0 !important;
	overflow:hidden !important; background:#fff !important;
}
.woocommerce-cart-form .shop_table.cart td,
.woocommerce-cart-form .shop_table.cart th {
	border:none !important; padding:16px !important; vertical-align:middle !important;
}
.woocommerce-cart-form .shop_table.cart thead { display:none !important; }
.woocommerce-cart-form .shop_table.cart tbody tr.cart_item {
	border-bottom:1px solid var(--bm-line) !important;
}
.woocommerce-cart-form .shop_table.cart tbody tr.cart_item:last-child {
	border-bottom:none !important;
}

/* space between store blocks */
.bm8-store-heading { margin-top:22px !important; }
.bm8-store-heading:first-of-type { margin-top:0 !important; }

/* Quantity stepper: inline, aligned, rounded */
.woocommerce-cart-form .quantity {
	display:inline-flex !important; align-items:center !important;
	border:1px solid var(--bm-line-2) !important; border-radius:22px !important;
	overflow:hidden !important; background:#fff !important;
}
.woocommerce-cart-form .quantity p { margin:0 !important; padding:0 !important; display:flex !important; }
.woocommerce-cart-form .quantity .btn {
	border:0 !important; background:transparent !important; box-shadow:none !important;
	width:34px !important; height:34px !important; padding:0 !important; font-size:18px !important; line-height:1 !important;
}
.woocommerce-cart-form .quantity input.qty {
	border:0 !important; background:transparent !important; width:40px !important;
	text-align:center !important; -moz-appearance:textfield !important;
}
.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance:none !important; margin:0 !important; }

/* Coupon row: align button text properly */
.cart-actions .coupon { display:flex !important; gap:8px !important; align-items:center !important; flex-wrap:wrap !important; }
.cart-actions .coupon br { display:none !important; }
.cart-actions .coupon label.screen-reader-text { position:absolute !important; left:-9999px !important; }
.cart-actions .coupon input.input-text { border-radius:22px !important; padding:8px 16px !important; }
.cart-actions .coupon button.button {
	border-radius:22px !important; padding:8px 20px !important;
	display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important;
}
    .bm8-store-heading-meta { font-size:12px;color:var(--bm-ink-3);font-weight:400; }
    .bm8-store-heading-subtotal { font-size:18px;font-weight:700;color:var(--bm-ink);white-space:nowrap;flex-shrink:0; }
    .bm8-store-heading + table,
    .bm8-store-heading + .woocommerce-cart-form__contents,
    .woocommerce-cart-form__contents { border-top:none !important;border-radius:0 0 8px 8px !important;overflow:hidden !important; }

    /* ── Separator rows ── */
    .cart-page-store-separator { display:none !important; }
    .woocommerce-cart-form__contents .cart_item[style*="display: none"] { margin:0 !important;padding:0 !important;border:none !important; }

    /* ── Cart images ── */
    .woocommerce-cart-form .product-thumbnail a {
        display:flex !important;align-items:center !important;justify-content:center !important;
        width:100px !important;height:100px !important;background:#fff !important;
        border-radius:8px !important;overflow:visible !important;padding:8px !important;
    }
    .woocommerce-cart-form .product-thumbnail img {
        max-width:100% !important;max-height:100% !important;width:auto !important;
        height:auto !important;object-fit:contain !important;display:block !important;margin:auto !important;
    }

    /* ── Carts header ── styled as a branded info card */
    .bm8-carts-header {
        margin:0 0 16px 0;
        background:#fff;
        border:1px solid var(--bm-line);
        border-left:3px solid var(--bm-blue);
        border-radius:14px;
        padding:15px 18px;
        box-shadow:0 1px 2px rgba(16,24,40,.04);
    }
    .bm8-carts-header h3 {
        font-size:17px; font-weight:700; color:var(--bm-ink); margin:0 0 5px 0;
        display:flex; align-items:center; gap:8px;
    }
    .bm8-carts-header h3::before { content:"🛒"; font-size:16px; line-height:1; }
    .bm8-carts-header p  { font-size:13px; line-height:1.55; color:var(--bm-ink-2); margin:0; }
    .bm8-carts-header strong { color:var(--bm-blue); font-weight:700; }

    /* ── Tabs ── */
    .bm8-cart-tabs { display:flex;gap:6px;padding:0 0 16px 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap; }
    .bm8-cart-tabs::-webkit-scrollbar { display:none; }
    .bm8-cart-tab {
        display:inline-flex;align-items:center;gap:5px;padding:7px 14px;
        border-radius:20px;border:1.5px solid var(--bm-line-2);background:#fff;
        font-size:13px;font-weight:600;color:var(--bm-ink-2);cursor:pointer;
        white-space:nowrap;flex-shrink:0;transition:all .15s;user-select:none;
    }
    .bm8-cart-tab:hover { border-color:var(--bm-blue);color:var(--bm-blue);background:var(--bm-blue-tint); }
    .bm8-cart-tab.active { background:var(--bm-blue);border-color:var(--bm-blue);color:#fff; }
    .bm8-cart-tab-count { background:rgba(0,0,0,.12);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4; }
    .bm8-cart-tab.active .bm8-cart-tab-count { background:rgba(255,255,255,.3); }

    /* Carousel now lives INSIDE the "Your shopping carts" card: divider above,
     * tucked under the description, no extra bottom gap. */
    .bm8-carts-header .bm8-cart-tabs {
        margin:14px 0 0 0 !important;
        padding:14px 0 2px 0 !important;
        border-top:1px solid var(--bm-line) !important;
    }

    /* ── Hide WC proceed-to-checkout default button ── */
    .wc-proceed-to-checkout .checkout-button { display:none !important; }

    /* ── Totals action buttons ── */
    .bm8-totals-actions { margin-top:12px; }
    .bm8-totals-min-warn { font-size:12px;color:var(--bm-red);background:var(--bm-red-tint);border:1px solid var(--bm-red);border-radius:7px;padding:8px 10px;margin-bottom:10px;line-height:1.4; }
    .bm8-totals-btn-row { display:flex;gap:8px;flex-direction:column; }
    .bm8-cart-btn-store {
        width:100%;padding:11px 14px;background:#fff;color:var(--bm-ink);
        border:1.5px solid var(--bm-line-2);border-radius:9px;font-size:14px;font-weight:600;
        cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;
        gap:5px;transition:border-color .15s,color .15s;box-sizing:border-box;
    }
    .bm8-cart-btn-store:hover { border-color:var(--bm-blue);color:var(--bm-blue);text-decoration:none; }
    .bm8-cart-btn-checkout {
        width:100%;padding:14px 16px;background:var(--bm-blue);color:#fff;border:none;
        border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;
        display:flex;align-items:center;justify-content:center;gap:6px;
        transition:background .15s,transform .1s;
        box-shadow:0 2px 8px rgba(81,125,252,.25);box-sizing:border-box;
    }
    .bm8-cart-btn-checkout:hover { background:var(--bm-blue-dark); }
    .bm8-cart-btn-checkout:active { transform:scale(0.98); }
    .bm8-cart-btn-checkout.bm8-off,
    .bm8-cart-btn-checkout:disabled { background:var(--bm-line-2);color:var(--bm-ink-3);cursor:not-allowed;box-shadow:none;transform:none; }
    .bm8-cart-btn-checkout.bm8-loading { opacity:.65;pointer-events:none; }

    /* ── Checkout store banner ── */
    .bm8-checkout-store-banner {
        display:flex;align-items:center;gap:12px;padding:12px 16px;
        background:#fff;border:1px solid var(--bm-line);border-radius:10px;margin:0 0 16px 0;
    }
    .bm8-checkout-store-banner-logo {
        width:44px;height:44px;min-width:44px;border-radius:8px;overflow:hidden;
        background:#fff;border:1px solid var(--bm-line);
        display:flex;align-items:center;justify-content:center;flex-shrink:0;
    }
    .bm8-checkout-store-banner-logo img { width:100%;height:100%;object-fit:cover;display:block; }
    .bm8-checkout-store-banner-info { flex:1;min-width:0; }
    .bm8-checkout-store-banner-name { font-size:16px;font-weight:700;color:var(--bm-ink);display:block;line-height:1.2;text-decoration:none; }
	.bm8-checkout-store-banner-name:hover { color:var(--bm-blue); }
    .bm8-checkout-store-banner-meta { font-size:12px;color:var(--bm-ink-3); }
    .checkout-store-separator      { display:none !important; }
    .bm8-checkout-store-header-row { display:none !important; }

    /* ── Checkout images ── */
    .woocommerce-checkout-review-order-table .wd-checkout-prod-img {
        display:flex !important;align-items:center !important;justify-content:center !important;
        width:70px !important;height:70px !important;background:#fff !important;
        border-radius:6px !important;padding:5px !important;
    }
    .woocommerce-checkout-review-order-table .wd-checkout-prod-img img {
        max-width:100% !important;max-height:100% !important;width:auto !important;
        height:auto !important;object-fit:contain !important;display:block !important;margin:auto !important;
    }

    /* ── Tip buttons ── */
    .bammat-tip-buttons {
        display:inline-flex !important;gap:5px !important;align-items:center !important;
        margin-left:8px !important;vertical-align:middle !important;flex-wrap:nowrap !important;
    }
    .bammat-tip-btn {
        width: 36px !important; height: 36px !important; min-width: 36px !important;
        min-height: 36px !important; aspect-ratio: 1 / 1 !important; padding: 0 !important;
        border: 1.5px solid var(--bm-line-2) !important; border-radius: 50% !important; background: #fff !important;
        cursor: pointer !important; font-size: 11px !important; font-weight: 600 !important;
        color: var(--bm-ink-2) !important; transition: all .2s !important; line-height: 1 !important;
        display: inline-flex !important; align-items: center !important; justify-content: center !important;
        box-sizing: border-box !important; flex-shrink: 0 !important;
    }
	.bammat-tip-btn:hover { border-color:rgb(81,125,252) !important;color:rgb(81,125,252) !important; }
	.bammat-tip-btn.active { background:rgb(81,125,252) !important;border-color:rgb(81,125,252) !important;color:#fff !important; }

	/* Hide tip buttons in td on desktop — they live in th */
	.cart_totals tr.fee td .bammat-tip-buttons { display: none !important; }

	/* DE-TABLE the cart totals on desktop/iPad — every row becomes a real
	 * flex row (label left, amount right) instead of a <table> row. This was
	 * table-layout:fixed (th 60% / td 40%); fixed columns TRAP the tips row —
	 * hiding its <th> can't free the reserved 40% column, so the amount
	 * couldn't right-align and the buttons couldn't span full width. Turning
	 * the rows into flex boxes removes the column grid entirely, so the tips
	 * row (below) can occupy the full content width. Mobile keeps its own
	 * responsive-stack layout untouched. */
	@media (min-width: 769px) {
		.cart_totals .shop_table,
		.cart_totals .shop_table > tbody{
			display:block !important; width:100% !important;
		}
		.cart_totals .shop_table > tbody > tr:not([style*="display: none"]):not([style*="display:none"]){
			display:flex !important; flex-wrap:wrap !important; align-items:baseline !important;
			width:100% !important; column-gap:10px !important;
			padding:12px 0 !important;
			/* divider lives on the ROW so it spans full width (cells can't —
			 * as flex items with a gap, their borders break in the middle). */
			border-top:1px solid var(--bm-line) !important;
			border-bottom:none !important;
		}
		/* CRITICAL: never force-show a row PART 5 hid with inline display:none
		 * (that's how the inactive store's delivery/service/tips rows are hidden).
		 * Without this the !important above would reveal the other store's fees
		 * on desktop/iPad — mobile was fine only because it isn't de-tabled. */
		.cart_totals .shop_table > tbody > tr[style*="display: none"],
		.cart_totals .shop_table > tbody > tr[style*="display:none"]{
			display:none !important;
		}
		.cart_totals .shop_table > tbody > tr.cart-subtotal{
			border-top:none !important;   /* first row: no top rule */
		}
		.cart_totals .shop_table > tbody > tr > th,
		.cart_totals .shop_table > tbody > tr > td{
			display:block !important;
			border:none !important;       /* kill the old cell borders that now break */
			padding:0 !important;
		}
		.cart_totals .shop_table > tbody > tr > th{
			flex:1 1 auto !important; width:auto !important; text-align:left !important;
		}
		.cart_totals .shop_table > tbody > tr > td{
			flex:0 1 auto !important; width:auto !important; margin-left:auto !important; text-align:right !important;
		}
		/* stronger divider above the grand total */
		.cart_totals .shop_table > tbody > tr.order-total{
			border-top:1px solid var(--bm-line-2) !important; margin-top:2px !important;
		}
	}

	/* Delivery amount sits inside a <ul><li><label>; strip list styling so it
	 * aligns with the other figures instead of hanging left. */
	.cart_totals .woocommerce-shipping-methods,
	.cart_totals .woocommerce-shipping-methods li {
		list-style: none !important; margin: 0 !important; padding: 0 !important;
	}
	/* All breakpoints — on mobile the responsive table still puts the value
	 * column on the right, so this should not be desktop-only. */
	.cart_totals .woocommerce-shipping-methods,
	.cart_totals .woocommerce-shipping-methods li,
	.cart_totals .woocommerce-shipping-methods label {
		text-align: right !important;
		display: block !important;
		width: 100% !important;
	}
	/* Destination line and "Change address" stay readable, not squashed right */
	.cart_totals .woocommerce-shipping-destination,
	.cart_totals .shipping-calculator-button { text-align: right !important; display: block; }

    /* ── Order received store separator ── */
    .order-received-store-separator th {
        background:#FF9800 !important;padding:6px 20px !important;font-weight:700 !important;
        font-size:13px !important;color:white !important;text-align:left !important;
        border-radius:6px !important;border:none !important;white-space:nowrap !important;
    }
    .order-received-store-separator th .store-header-content { display:flex !important;justify-content:space-between !important;align-items:center !important;gap:15px !important; }
    .order-received-store-separator th .store-info { display:flex !important;align-items:center !important;gap:10px !important; }
    .order-received-store-separator th .store-name  { font-size:13px !important;font-weight:700 !important; }
    .order-received-store-separator th .store-total { font-size:14px !important;font-weight:700 !important; }

    /* ── Trash button ── */
    .bm8-trash {
        width:32px !important;height:32px !important;min-width:32px !important;
        aspect-ratio: 1 / 1 !important;
		border-radius:50% !important;border:1.5px solid var(--bm-red) !important;
        background:var(--bm-red-tint) !important;cursor:pointer !important;
        display:flex !important;align-items:center !important;justify-content:center !important;
        color:var(--bm-red) !important;padding:0 !important;flex-shrink:0 !important;transition:all .15s !important;
    }
    .bm8-trash:hover { background:var(--bm-red) !important;border-color:var(--bm-red) !important;color:#fff !important; }
    .bm8-trash svg  { width:14px !important;height:14px !important;stroke:currentColor !important; }

	/* ── Hide combined VAT note on cart page ── */
	.woocommerce-cart .cart_totals .includes_tax { display: none !important; }

    /* ── Item 2: Order notes — label styled as section heading ── */
    #order_comments_field label {
        font-size: 1.3em !important;
        font-weight: 700 !important;
        color: var(--bm-ink) !important;
        display: block !important;
        margin-bottom: 8px !important;
    }
    #order_comments_field label .optional {
        font-size: 0.65em !important;
        font-weight: 400 !important;
        color: var(--bm-ink-3) !important;
    }
    #order_comments_field textarea {
        font-size: 14px !important;
    }

    /* ── Item 10: Mobile order received — compact 2-column grid ── */
    @media (max-width: 768px) {
        .woocommerce-order-overview.woocommerce-thankyou-order-details {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            gap: 10px 16px !important;
            padding: 14px 16px !important;
            background: var(--bm-bg) !important;
            border-radius: 12px !important;
            margin: 0 0 16px !important;
            list-style: none !important;
            border: none !important;
        }
        .woocommerce-order-overview.woocommerce-thankyou-order-details li {
            margin: 0 !important;
            padding: 0 !important;
            border: none !important;
            font-size: 11px !important;
            color: var(--bm-ink-3) !important;
            line-height: 1.3 !important;
            text-align: left !important;
        }
        .woocommerce-order-overview.woocommerce-thankyou-order-details li::before,
        .woocommerce-order-overview.woocommerce-thankyou-order-details li::after {
            display: none !important;
        }
        .woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
            display: block !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            color: var(--bm-ink) !important;
            margin-top: 2px !important;
        }
        /* Item 3: total spans full bottom row, left-aligned — not centred */
        .woocommerce-order-overview.woocommerce-thankyou-order-details .woocommerce-order-overview__total {
            grid-column: 1 / -1 !important;
            border-top: 1px solid var(--bm-line-2) !important;
            padding-top: 10px !important;
            margin-top: 2px !important;
            text-align: left !important;
        }
        .woocommerce-order-overview.woocommerce-thankyou-order-details .woocommerce-order-overview__total strong {
            font-size: 16px !important;
            color: var(--bm-blue) !important;
        }
    }

    /* ── Mobile ── */
    @media (max-width:768px) {
        .bm8-store-heading { padding:11px 13px;gap:10px; }

        /* CART ITEMS — compact card rows (no data-title labels) */
        /* :not([style*="display: none"]) so jQuery .toggle(false) — which sets
         * inline display:none — still wins and hides other-store rows. Without
         * this guard, display:grid !important overrode the hide and totals
         * summed both stores. */
        .woocommerce-cart-form .shop_table.cart tbody tr.cart_item:not([style*="display: none"]):not([style*="display:none"]){
            position:relative !important;
            display:grid !important;
            grid-template-columns:60px 1fr !important;
            grid-template-areas:"img name" "img row2" !important;
            column-gap:14px !important; row-gap:8px !important;
            align-items:center !important;
            padding:16px 0 !important;
        }
        .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td{
            padding:0 !important; border:none !important; display:block !important;
        }
        /* hide Woodmart's "Price:" "Quantity:" "Subtotal:" labels */
        .woocommerce-cart-form .shop_table.cart tbody td:before{ content:none !important; display:none !important; }

        .woocommerce-cart-form td.product-thumbnail{
            grid-area:img !important; width:60px !important; height:60px !important;
            background:var(--bm-bg) !important; border-radius:12px !important; overflow:hidden !important;
            display:flex !important; align-items:center !important; justify-content:center !important;
        }
        .woocommerce-cart-form td.product-thumbnail img{
            width:100% !important; height:100% !important; border-radius:12px !important;
            object-fit:contain !important;  /* whole product visible, not cropped */
        }
        .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-name{
            grid-area:name !important;
            /* NOTE: must out-specify `.cart_item td { padding:0 }` above, which
             * otherwise resets this to 0 and the title runs under the trash. */
            padding-right:50px !important;
            padding-inline-end:50px !important;  /* also beat Woodmart's shop-table-with-img 20px */
            min-width:0 !important;              /* allow the grid cell to shrink so the title wraps */
            overflow-wrap:break-word !important;
            word-break:break-word !important;
        }
        .woocommerce-cart-form td.product-subtotal{
            padding-right:4px !important;  /* space from right edge */
        }
        .woocommerce-cart-form td.product-name a{ font-size:14px !important; font-weight:600 !important; line-height:1.3 !important; }

        /* hide the standalone Price row on mobile (unit price) */
        .woocommerce-cart-form td.product-price{ display:none !important; }

        /* stepper + subtotal share row2 */
        .woocommerce-cart-form td.product-quantity{
            grid-area:row2 !important; display:inline-flex !important; align-items:center !important;
        }
        .woocommerce-cart-form td.product-subtotal{
            grid-area:row2 !important; justify-self:end !important; align-self:center !important;
            font-size:15px !important; font-weight:700 !important; color:var(--bm-ink) !important;
        }
        .woocommerce-cart-form td.product-remove{
            position:absolute !important; top:14px !important; right:0 !important;
        }
        .woocommerce-cart-form td.product-remove .remove:hover{
            background:var(--bm-red-tint) !important; color:var(--bm-red) !important; border-radius:8px !important;
        }
        .bm8-store-heading-name { font-size:15px; }
        .bm8-store-heading-logo { width:34px;height:34px;min-width:34px; }
        .bm8-store-heading-subtotal { font-size:15px; }
        .bm8-cart-tabs { padding:0 0 12px 0;gap:5px; }
        .bm8-cart-tab { font-size:12px;padding:6px 11px; }
        .bm8-checkout-store-banner { padding:10px 13px;gap:10px; }
        .bammat-tip-btn {
            width: 34px !important; height: 34px !important; min-width: 34px !important;
            min-height: 34px !important; aspect-ratio: 1 / 1 !important; font-size: 10px !important;
        }
        /* Cart page: hide buttons from th, show in td */
/* Cart page mobile: hide buttons from th */
.cart_totals tr.fee th .bammat-tip-buttons { display: none !important; }

/* Hide the redundant product list under the delivery fee — the cart
	 * table already lists everything. */
	.cart_totals .woocommerce-shipping-contents,
	.woocommerce-checkout-review-order .woocommerce-shipping-contents{ display:none !important; }

@media (max-width:768px){
		.woocommerce-cart-form .shop_table.cart{ margin-bottom:8px !important; }
		.woocommerce-cart-form .shop_table.cart tbody tr:last-child.cart_item{ border-bottom:none !important; }
		.cart-actions, .woocommerce-cart-form + .cart-actions{ margin-top:8px !important; }
	}

/* Buttons in td — buttons left, amount right */
.cart_totals tr.fee td {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}
.cart_totals tr.fee td .woocommerce-Price-amount {
    order: 2 !important;
    margin-left: auto !important;
}
.cart_totals tr.fee td .bammat-tip-buttons {
    order: 1 !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 !important;
}
        /* Checkout page: keep buttons only in th, hide from td */
        .woocommerce-checkout-review-order-table tfoot tr.fee td .bammat-tip-buttons { display: none !important; }
    }

/* ===== bammat_vendor_to_store_css (scoped body.woocommerce) ===== */
body.woocommerce .item-variation-name{ font-size: 0 !important; }
body.woocommerce .item-variation-name::before{
        content: "Store:" !important;
        font-size: 14px !important;
        font-weight: inherit !important;
    }
body.woocommerce #dokan-delivery-time-slot-order-details .main span strong{ font-size: 0 !important; }
body.woocommerce #dokan-delivery-time-slot-order-details .main span strong::before{
        content: "Delivery Date and Time: " !important;
        font-size: 14px !important;
        font-weight: 700 !important;
    }
	/* Hide store variation row from cart/checkout product list */
.woocommerce-cart-form .variation,
body.woocommerce .woocommerce-checkout-review-order-table .variation{
    display: none !important;
}

/* ===== bammat_delivery_time_css (scoped body.woocommerce-checkout) ===== */
body.woocommerce-checkout .delivery-time-slot-picker{ display: inline-block !important; margin-top: 10px; }
body.woocommerce-checkout .delivery-time-date-picker{ display: block !important; }
    .delivery-time-date-picker,
body.woocommerce-checkout .delivery-time-slot-picker{
        width: 100%; padding: 10px; border: 1px solid var(--bm-line-2);
        border-radius: 4px; font-size: 14px; box-sizing: border-box;
    }
body.woocommerce-checkout #dokan-delivery-time-box .vendor-info{ display: none !important; }
body.woocommerce-checkout #dokan-delivery-time-box .delivery-timezone{ display: none !important; }
body.woocommerce-checkout #dokan-delivery-time-box .delivery-group .title span{
        white-space: normal !important; overflow: visible !important;
        text-overflow: clip !important; max-width: none !important; width: auto !important;
    }
body.woocommerce-checkout #dokan-delivery-time-box .delivery-group .title{
        white-space: normal !important; flex-wrap: wrap !important;
        align-items: center !important; gap: 8px !important;
    }

/* ============================================================
 * DESIGN-SYSTEM HARMONIZATION (appended)
 * Reshape drifted components to match the grid / mini cart.
 * Layout untouched — cosmetics only.
 * ========================================================== */

/* Cards: round corners to the token radius (unified store card) */
.bm8-store-heading{ border-radius:var(--bm-radius) var(--bm-radius) 0 0 !important; }
.woocommerce-cart-form .shop_table.cart,
.bm8-store-heading + .woocommerce-cart-form__contents,
.woocommerce-cart-form__contents{
	border-radius:0 0 var(--bm-radius) var(--bm-radius) !important;
}

/* Quantity stepper → grid/mini-cart style (grey pill, raised blue buttons) */
.woocommerce-cart-form .quantity{
	background:var(--bm-bg) !important; border:none !important;
	border-radius:11px !important; padding:3px !important; overflow:visible !important;
}
.woocommerce-cart-form .quantity .btn{
	background:var(--bm-card) !important; color:var(--bm-blue) !important;
	border-radius:8px !important; width:30px !important; height:30px !important;
	box-shadow:var(--bm-shadow-sm) !important; font-size:16px !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
}
.woocommerce-cart-form .quantity .btn:active{ transform:scale(.94) !important; }
.woocommerce-cart-form .quantity input.qty{
	color:var(--bm-ink) !important; font-weight:700 !important; width:38px !important;
}

/* Trash → neutral, red on hover (matches mini cart) */
.bm8-trash{
	border:1px solid var(--bm-line-2) !important;
	background:var(--bm-card) !important; color:var(--bm-ink-3) !important;
}
.bm8-trash:hover{
	background:var(--bm-red-tint) !important; border-color:var(--bm-red) !important; color:var(--bm-red) !important;
}

/* Buttons → token radius + brand shadow */
.bm8-cart-btn-checkout{ border-radius:12px !important; box-shadow:0 6px 16px rgba(81,125,252,.28) !important; }
.bm8-cart-btn-store{ border-radius:12px !important; }

/* ============================================================
 * REQUESTED FIXES (appended — override, cosmetics only)
 * ========================================================== */

/* [All breakpoints] Hide the redundant product list under the delivery fee
   (cart table already lists everything). Was previously mobile-only. */
.cart_totals .woocommerce-shipping-contents,
.woocommerce-checkout-review-order .woocommerce-shipping-contents{ display:none !important; }

/* [All] Trash → reliably ROUND + neutral (matches mini cart) */
.bm8-trash{
	width:32px !important; height:32px !important;
	min-width:32px !important; min-height:32px !important;
	flex:0 0 32px !important; box-sizing:border-box !important;
	padding:0 !important; border-radius:50% !important;
	display:inline-flex !important; align-items:center !important; justify-content:center !important;
	border:1px solid var(--bm-line-2) !important;
	background:var(--bm-card) !important; color:var(--bm-ink-3) !important;
	aspect-ratio:1/1 !important;
}
.bm8-trash:hover{
	background:var(--bm-red-tint) !important; border-color:var(--bm-red) !important; color:var(--bm-red) !important;
}

/* [All] Tips → rectangular ROUNDED buttons (not circles) */
.bammat-tip-btn{
	width:auto !important; min-width:0 !important;
	height:auto !important; min-height:0 !important; aspect-ratio:auto !important;
	padding:8px 13px !important; border-radius:10px !important;
	border:1.5px solid var(--bm-line-2) !important; background:var(--bm-card) !important;
	color:var(--bm-ink-2) !important; font-size:12px !important; font-weight:600 !important;
}
.bammat-tip-btn:hover{ border-color:var(--bm-blue) !important; color:var(--bm-blue) !important; }
.bammat-tip-btn.active{ background:var(--bm-blue) !important; border-color:var(--bm-blue) !important; color:#fff !important; }

/* [Mobile] fixes */
@media (max-width:768px){
	/* Product image fills + centers in its tile (anchor was pinned at 100px) */
	.woocommerce-cart-form td.product-thumbnail a{
		width:100% !important; height:100% !important; padding:6px !important;
		display:flex !important; align-items:center !important; justify-content:center !important;
		background:transparent !important; border-radius:12px !important;
	}
	.woocommerce-cart-form td.product-thumbnail img{
		width:100% !important; height:100% !important; object-fit:contain !important; margin:auto !important;
	}

	/* Row breathing room so the price doesn't touch the right edge */
	.woocommerce-cart-form .shop_table.cart tbody tr.cart_item:not([style*="display: none"]):not([style*="display:none"]){
		padding:14px 14px !important;
	}
	.woocommerce-cart-form td.product-remove{ right:12px !important; }
	.woocommerce-cart-form td.product-subtotal{ padding-right:0 !important; }

	/* Collapse the empty gap before the coupon */
	.woocommerce-cart-form .shop_table.cart{ margin-bottom:0 !important; }
	.woocommerce-cart-form td.actions,
	.woocommerce-cart-form .actions{ padding:12px 0 0 !important; }
	.cart-actions{ margin-top:0 !important; padding-top:0 !important; }
}

/* ============================================================
 * REQUESTED FIXES v3 (mobile: tips row + coupon gap)
 * ========================================================== */
@media (max-width:768px){

	/* ---- TIPS row — target ONLY the visible tips fee row ----
	   :has(.bammat-tip-buttons) picks the tips rows; :not([display:none])
	   leaves the inactive store's hidden row alone. */
	.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > th{
		display:none !important;   /* drop <th> entirely (its label + its button copy) */
	}
	.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td{
		display:flex !important; flex-wrap:wrap !important; align-items:center !important;
		width:100% !important; gap:8px !important; padding:12px 0 !important;
	}
	/* Single "Tips" label from data-title, on line 1 left */
	.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td::before{
		content:attr(data-title) !important; display:inline !important;
		order:0 !important; font-weight:600 !important; color:var(--bm-ink) !important;
	}
	/* Amount on line 1, right-aligned with the other amounts */
	.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .woocommerce-Price-amount{
		order:1 !important; margin-left:auto !important; white-space:nowrap !important;
	}
	/* Buttons on line 2, full width, with breathing room above/below */
	.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .bammat-tip-buttons{
		order:2 !important; flex-basis:100% !important; width:100% !important;
		display:flex !important; flex-wrap:wrap !important; gap:6px !important;
		margin:12px 0 4px !important;
	}

	/* ---- Collapse the empty gap before the coupon ---- */
	.woocommerce-cart-form .cart-page-store-separator{
		display:none !important; height:0 !important; margin:0 !important; padding:0 !important; border:0 !important;
	}
	.woocommerce-cart-form .shop_table.cart tr.actions,
	.woocommerce-cart-form .shop_table.cart td.actions{ padding:0 !important; }
	.woocommerce-cart-form .cart-actions{ margin:10px 0 0 !important; padding:0 !important; }
	.woocommerce-cart-form .coupon.wd-coupon-form{ margin:0 !important; }
}
/* ============================================================
 * TOTALS — UNIFIED & COHERENT  (same system on cart + checkout)
 * One typographic system for .cart_totals AND the checkout review
 * table so fonts / sizes / colours match across pages:
 *   • row label   : muted ink-2, 14px / 600
 *   • row amount   : brand blue, 14px / 600   (subtotal·delivery·service·tips)
 *   • grand total  : blue, 22px / 800
 * The tips row is set to display:block so it escapes the desktop
 * table-layout:fixed 60/40 columns (that trap was stopping the tips
 * amount from right-aligning and the buttons from spanning full width).
 * ========================================================== */

/* font — force the design-system stack on every totals cell + amount */
.cart_totals .shop_table th, .cart_totals .shop_table td,
.cart_totals .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount{
	font-family:var(--bm-font) !important;
}

/* labels (left column) */
.cart_totals tr th,
.woocommerce-checkout-review-order-table tfoot tr th{
	color:var(--bm-ink-2) !important; font-weight:600 !important; font-size:14px !important;
}

/* line amounts → brand blue, consistent (subtotal, delivery, service, tips) */
.cart_totals tr.cart-subtotal td .woocommerce-Price-amount,
.cart_totals tr.woocommerce-shipping-totals td .woocommerce-Price-amount,
.cart_totals tr.fee td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.fee td .woocommerce-Price-amount{
	color:var(--bm-blue) !important; font-weight:600 !important; font-size:14px !important;
}

/* grand total → same emphasis on both pages */
.cart_totals tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total th{
	color:var(--bm-ink) !important; font-weight:700 !important; font-size:15px !important;
}
.cart_totals tr.order-total td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot tr.order-total td .woocommerce-Price-amount{
	color:var(--bm-blue) !important; font-weight:800 !important; font-size:22px !important; letter-spacing:-.02em !important;
}

/* TIPS ROW — escape fixed columns, then the full-width 2-line layout:
 *   Row 1:  Tips ............................ amount
 *   Row 2:  [ 0% ] [ 2% ] [ 5% ] [ 10% ] [ 15% ]
 * :not([style*="display…"]) skips the inactive store's hidden row. */
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]),
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]){
	display:block !important; width:100% !important;
}
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > th,
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > th{
	display:none !important;
}
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td,
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td{
	display:flex !important; flex-wrap:wrap !important; align-items:center !important;
	width:100% !important; gap:8px !important; padding:9px 0 !important; text-align:left !important;
}
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td::before,
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td::before{
	content:attr(data-title) !important; display:inline !important; order:0 !important;
	font-weight:600 !important; color:var(--bm-ink-2) !important; font-size:14px !important;
}
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .woocommerce-Price-amount{
	order:1 !important; margin-left:auto !important; white-space:nowrap !important;
	color:var(--bm-blue) !important; font-weight:600 !important; font-size:14px !important;
}
.cart_totals tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .bammat-tip-buttons,
.woocommerce-checkout-review-order-table tr.fee:has(.bammat-tip-buttons):not([style*="display: none"]):not([style*="display:none"]) > td .bammat-tip-buttons{
	order:2 !important; flex-basis:100% !important; width:100% !important;
	display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:12px 0 2px !important;
}

/* ============================================================
 * #8 — RECLAIM SIDE SPACE on cart + checkout (match single-store page)
 * Same treatment store.css uses: widen the Woodmart .container and, on
 * phones, reclaim the width the .container padding steals.
 * ========================================================== */
body.woocommerce-cart main.content-layout-wrapper.container,
body.woocommerce-checkout main.content-layout-wrapper.container,
body.woocommerce-cart main.wd-content-layout.container,
body.woocommerce-checkout main.wd-content-layout.container{
	max-width:1280px !important;
	padding-left:var(--bm-sp-4) !important;
	padding-right:var(--bm-sp-4) !important;
}
@media (max-width:767px){
	body.woocommerce-cart main.content-layout-wrapper.container,
	body.woocommerce-checkout main.content-layout-wrapper.container,
	body.woocommerce-cart main.wd-content-layout.container,
	body.woocommerce-checkout main.wd-content-layout.container{
		max-width:100% !important;
		padding-left:8px !important; padding-right:8px !important;
	}
}
/* ============================================================
 * BAMMAT CART RESTYLE  v2.1
 * Toggle lives UNDER the product title; stepper alone in its column.
 * Desktop:  [img] [title + toggle] [stepper] [total + unit]
 * Mobile:   title / toggle / stepper  (price stays top-right)
 * ========================================================== */

/* ── Collapsible policy bar (closed by default; content fully hidden) ── */
.woocommerce-cart-form .bmt-info-bar,
.bmt-info-bar{
	background:var(--bm-card); border:1px solid var(--bm-line);
	border-radius:12px; margin:0 0 12px; overflow:hidden; box-shadow:var(--bm-shadow-sm);
}
.woocommerce-cart-form button.bmt-info-head,
.bmt-info-head{
	width:100% !important; display:flex !important; align-items:center !important; gap:10px !important;
	padding:12px 14px !important; margin:0 !important;
	background:transparent !important; border:0 !important; box-shadow:none !important;
	cursor:pointer !important; text-align:left !important; font-family:var(--bm-font) !important;
	text-transform:none !important; letter-spacing:normal !important;
	min-height:0 !important; height:auto !important;
}
.woocommerce-cart-form button.bmt-info-head:hover{ background:var(--bm-bg) !important; }
.woocommerce-cart-form button.bmt-info-head::before,
.woocommerce-cart-form button.bmt-info-head::after{ content:none !important; display:none !important; }
.bmt-info-ic{
	flex:0 0 auto; width:26px; height:26px; border-radius:50%;
	background:var(--bm-blue-tint);
	display:flex; align-items:center; justify-content:center; font-size:14px; line-height:1;
}
.bmt-info-q{
	flex:1 1 auto; font-size:13.5px; font-weight:600; color:var(--bm-ink);
	text-transform:none !important; letter-spacing:normal !important;
}
.bmt-info-chev{
	flex:0 0 auto; width:9px; height:9px; margin-right:4px;
	border-right:2px solid var(--bm-ink-3); border-bottom:2px solid var(--bm-ink-3);
	transform:rotate(45deg); transition:transform .3s ease;
}
.bmt-info-bar[data-open="1"] .bmt-info-chev{ transform:rotate(-135deg); }
.bmt-info-body{ max-height:0; overflow:hidden; transition:max-height .32s ease; }
.bmt-info-bar[data-open="1"] .bmt-info-body{ max-height:400px; }
.bmt-info-inner{
	overflow:hidden; min-height:0;
	padding:0 14px 14px 50px; font-size:13px; line-height:1.55; color:var(--bm-ink-2);
}
.bmt-info-inner b{ color:var(--bm-ink); font-weight:600; }

/* ── Cell alignment ── */
.woocommerce-cart-form td.product-remove,
.woocommerce-cart-form td.product-thumbnail,
.woocommerce-cart-form td.product-name,
.woocommerce-cart-form td.product-quantity,
.woocommerce-cart-form td.product-subtotal{ vertical-align:middle !important; }
/* drop the empty <p> wpautop leaves in the name cell */
.woocommerce-cart-form td.product-name p:empty{ display:none !important; margin:0 !important; }

/* ── Hide native unit-price column; unit price under the total ── */
.woocommerce-cart-form td.product-price{ display:none !important; }
.woocommerce-cart-form td.product-subtotal{ text-align:right !important; white-space:nowrap !important; }
.woocommerce-cart-form td.product-subtotal > .amount,
.woocommerce-cart-form td.product-subtotal > .woocommerce-Price-amount{
	font-size:16px !important; font-weight:800 !important; color:var(--bm-blue) !important;
}
.bmt-unit{
	display:block !important; margin-top:3px !important; white-space:nowrap !important;
	font-size:11px !important; font-weight:500 !important; color:var(--bm-ink-3) !important;
}
.bmt-unit .amount,.bmt-unit .woocommerce-Price-amount{
	font-size:11px !important; font-weight:500 !important; color:var(--bm-ink-3) !important;
}

/* ── Kill tall-image bleed ── */
.woocommerce-cart-form td.product-thumbnail a{ overflow:hidden !important; }

/* ── Toggle: under the product title ── */
.woocommerce-cart-form .bmt-replace{
	display:flex !important; margin:8px 0 0 !important; padding:0 !important;
}
.woocommerce-cart-form .bmt-replace__seg{
	display:inline-flex !important; padding:2px !important; gap:2px !important; margin:0 !important;
	background:var(--bm-bg) !important; border:1px solid var(--bm-line-2) !important;
	border-radius:9px !important; box-shadow:none !important; width:auto !important;
}
.woocommerce-cart-form .bmt-replace__seg button.bmt-replace__opt,
.woocommerce-cart-form button.bmt-replace__opt{
	display:inline-flex !important; align-items:center !important; justify-content:center !important;
	padding:5px 10px !important; margin:0 !important;
	border:0 !important; border-radius:7px !important;
	font-family:var(--bm-font) !important; font-size:11px !important; font-weight:600 !important;
	line-height:1 !important; letter-spacing:normal !important; text-transform:none !important;
	color:var(--bm-ink-2) !important; background:transparent !important; box-shadow:none !important;
	min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important;
	white-space:nowrap !important; cursor:pointer !important; text-shadow:none !important;
}
.woocommerce-cart-form button.bmt-replace__opt::before,
.woocommerce-cart-form button.bmt-replace__opt::after{ content:none !important; display:none !important; }
.woocommerce-cart-form button.bmt-replace__opt:hover{ color:var(--bm-blue) !important; background:transparent !important; }
.woocommerce-cart-form button.bmt-replace__opt.is-active{
	background:var(--bm-blue) !important; color:#fff !important;
	box-shadow:0 1px 2px color-mix(in srgb, var(--bm-blue) 35%, transparent) !important;
}
.bmt-replace.is-saving{ opacity:.55 !important; pointer-events:none !important; }

/* ── Mobile: title / toggle / stepper stacked; price stays top-right ── */
@media (max-width:768px){
	.woocommerce-cart-form td.product-subtotal{ align-self:start !important; }
	.woocommerce-cart-form button.bmt-replace__opt{ padding:5px 9px !important; font-size:11px !important; }
	.bmt-info-q{ font-size:13px; }
	.bmt-info-inner{ padding-left:14px; }
}