/* Import fonts strictly for the cart to ensure mobile browsers never drop them */
@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@400;500;600;700&family=Baloo+Da+2:wght@600;700;800&display=swap');

:root {
	--or:#F4622A;--or-dk:#D44E1A;--or-lt:#FFF0E8;--or-xl:#FFF8F4;
	--gr:#1A8A3C;--gr-dk:#0F6830;--gr-lt:#E8F5EC;
	--wa:#25D366;--wa-dk:#1BAF55;
	--rd:#E02020;--rd-lt:#FFF0F0;
	--pu:#7B2FBE;--pu-lt:#F3E8FF;
	--go:#F59E0B;
	--tx:#1A0A00;--tx2:#5C4033;--tx3:#9E7B6E;--tx4:#C4A898;
	--bd:#EDD9CC;--bd2:#F5ECE6;--bg:#FFF8F4;
	--r:12px;--r-lg:16px;--max-w:1080px;
}

.bb-custom-cart-wrap {
	font-family: 'Hind Siliguri', sans-serif;
	color: var(--tx);
	font-size: 15px;
	line-height: 1.55;
	max-width: var(--max-w);
	margin: 0 auto;
	background: transparent;
	padding: 20px 0;
}
.bb-custom-cart-wrap * { box-sizing: border-box; }
.bb-custom-cart-wrap a { text-decoration: none; color: inherit; box-shadow: none; outline: none; }
.bb-custom-cart-wrap button { font-family: 'Hind Siliguri', sans-serif; cursor: pointer; border: none; outline: none; }

/* WooCommerce Native Overrides */
.bb-custom-cart-wrap .woocommerce-cart-form__contents { display: none !important; }
.bb-custom-cart-wrap .quantity.native-qty { display: none !important; }
.bb-custom-cart-wrap .shop_table { border: none !important; margin: 0 !important; border-radius: 0 !important; }
.bb-custom-cart-wrap .cart_totals { width: 100% !important; padding: 0 !important; background: transparent !important; }
.bb-custom-cart-wrap .cart-collaterals { margin: 0 !important; }

/* Grid Layout */
.bb-page-body { display: flex; flex-direction: column; gap: 20px; }
@media(min-width: 900px) {
	.bb-page-body { display: grid; grid-template-columns: 1fr 380px; align-items: start; }
	.summary-col { position: sticky; top: 82px; }
}

/* Woodmart Native Free Shipping Bar Styling */
.bb-custom-cart-wrap .wd-free-progress-bar {
	background: linear-gradient(135deg,var(--or-xl),#fff);
	border: 1.5px solid var(--bd);
	border-radius: 14px;
	padding: 14px;
	margin-bottom: 14px;
	box-shadow: none;
}
.bb-custom-cart-wrap .wd-free-progress-bar .progress-msg {
	font-size: 13px; font-weight: 700; color: var(--tx2); margin-bottom: 8px; display: block; font-family: 'Hind Siliguri', sans-serif;
}
.bb-custom-cart-wrap .wd-free-progress-bar .wd-progress-bar {
	height: 6px; background: rgba(0,0,0,.06); border-radius: 4px; overflow: hidden; margin-bottom: 0; border: none; box-shadow: none;
}
.bb-custom-cart-wrap .wd-free-progress-bar .progress-bar {
	height: 100%; background: linear-gradient(90deg,var(--or),var(--gr)); border-radius: 4px; transition: .5s;
}

/* Cart Items */
.cart-col { background: transparent; width: 100%; }
.cart-item { background: #fff; border: 1.5px solid var(--bd); border-radius: var(--r-lg); padding: 12px; margin-bottom: 10px; display: flex; gap: 12px; position: relative; overflow: hidden; transition: 0.2s; }
.cart-item.updating { opacity: 0.5; pointer-events: none; }
.cart-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: transparent; transition: .2s; border-radius: 3px 0 0 3px; }
.cart-item:hover::before { background: var(--or); }
.ci-img { width: 72px; height: 72px; border-radius: 10px; overflow: hidden; flex-shrink: 0; background: #fff; }
.ci-img img { width: 100%; height: 100%; object-fit: contain; }
.ci-info { flex: 1; min-width: 0; }
.ci-name { font-size: 14px; font-weight: 700; color: var(--tx); line-height: 1.4; margin-bottom: 2px; display: block; }
.ci-short { font-size: 11px; color: var(--tx3); margin-bottom: 7px; }
.ci-short dl { margin: 0; display: flex; gap: 5px; flex-wrap: wrap; }
.ci-short dt { font-weight: bold; margin: 0; }
.ci-short dd { margin: 0; }
.ci-short dd p { margin: 0; }
.ci-pr-row { display: flex; align-items: baseline; gap: 7px; margin-bottom: 8px; flex-wrap: wrap; }

/* BULLETPROOF CART ITEM PRICE */
.ci-pr, .ci-pr *, .ci-pr bdi, .ci-pr .amount { 
	font-family: 'Baloo Da 2', cursive !important; 
	font-size: 18px !important; 
	font-weight: 800 !important; 
	color: var(--rd) !important; 
}

.ci-old { font-size: 13px; color: var(--tx4); text-decoration: line-through; }
.ci-save { font-size: 11px; font-weight: 800; color: var(--gr); background: var(--gr-lt); padding: 2px 6px; border-radius: 4px; }
.ci-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

/* Qty & Actions (Force Colors) */
.qty-ctrl { display: flex; align-items: center; border: 1.5px solid var(--bd); border-radius: 9px; overflow: hidden; }
.qty-btn { width: 34px; height: 34px; background: #F8F0EB !important; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 700; color: #5C4033 !important; cursor: pointer; transition: 0.15s; }
.qty-btn:active, .qty-btn:hover { background: #F4622A !important; color: #fff !important; }
.qty-val { width: 38px; height: 34px; text-align: center; font-family: 'Baloo Da 2', cursive; font-size: 15px; font-weight: 800; border: none; background: #fff !important; color: var(--tx) !important; padding: 0; margin: 0; outline: none; pointer-events: none; }

/* Coupon */
.coupon-box { background: #fff; border: 1.5px solid var(--bd); border-radius: var(--r-lg); padding: 14px; margin-bottom: 12px; }
.coupon-title { font-family: 'Baloo Da 2', cursive; font-size: 15px; font-weight: 800; color: var(--tx); margin-bottom: 10px; display: flex; align-items: center; gap: 7px; }
.coupon-row { display: flex; gap: 8px; margin-bottom: 9px; }
.coupon-inp { flex: 1; border: 1.5px solid var(--bd); border-radius: 10px; padding: 11px 13px; font-size: 14px; background: #fff; outline: none; }
.coupon-apply { background: var(--or); color: #fff; border-radius: 10px; padding: 11px 16px; font-size: 14px; font-weight: 800; cursor: pointer; }

/* Summary Box */
.sum-box { background: #fff; border: 1.5px solid var(--bd); border-radius: var(--r-lg); overflow: hidden; }
.sum-hd { background: linear-gradient(135deg,#FFF0E8,#fff); padding: 14px; border-bottom: 1.5px solid var(--bd); display: flex; align-items: center; gap: 8px; }
.sum-hd-title { font-family: 'Baloo Da 2', cursive; font-size: 16px; font-weight: 800; color: var(--tx); }
.sum-body { padding: 14px; }
.sum-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: 14px; border-bottom: 1px solid var(--bd2); }
.sum-row:last-child { border-bottom: none; padding-top: 12px; }
.sum-label { color: var(--tx2); }
.sum-val { font-weight: 700; color: var(--tx); }
.sum-green { font-weight: 700; color: var(--gr); }
.sum-orange { font-weight: 700; color: var(--or); }
.sum-total-row { display: flex; justify-content: space-between; align-items: center; padding-top: 12px; }
.sum-total-l { font-size: 15px; font-weight: 800; color: var(--tx); }

/* BULLETPROOF TOTAL PRICE */
.sum-total-v, .sum-total-v *, .sum-total-v bdi, .sum-total-v .amount { 
	font-family: 'Baloo Da 2', cursive !important; 
	font-size: 28px !important; 
	font-weight: 800 !important; 
	color: var(--rd) !important; 
}

.savings-highlight { background: var(--gr-lt); border: 1px solid #A5D6A7; border-radius: 10px; padding: 10px 12px; margin-top: 12px; display: flex; align-items: center; justify-content: space-between; }
.sh-label { font-size: 12px; font-weight: 700; color: var(--gr); display: flex; align-items: center; gap: 5px; }

/* BULLETPROOF SAVINGS PRICE */
.sh-val, .sh-val *, .sh-val bdi { 
	font-family: 'Baloo Da 2', cursive !important; 
	font-size: 16px !important; 
	font-weight: 800 !important; 
	color: var(--gr) !important; 
}

.sum-btns { padding: 14px; display: flex; flex-direction: column; gap: 9px; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FIX: ISSUE 2 & 3 — BUTTON ANIMATION
   Correct selectors — console থেকে verify করা হয়েছে
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Cart Page Buttons */
.btn-primary,
.btn-wa,
.btn-outline {
	transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), filter 0.15s ease !important;
	cursor: pointer !important;
}
.btn-primary:active,
.btn-wa:active,
.btn-outline:active {
	transform: scale(0.96) !important;
	filter: brightness(0.9) !important;
}
@media (hover: hover) {
	.btn-primary:hover,
	.btn-wa:hover,
	.btn-outline:hover {
		filter: brightness(0.95) !important;
		transform: none !important;
	}
}

/* Sidebar Cart Buttons — verified selectors from console */
a.checkout.wc-forward,
a.btn-cart.wc-forward {
	transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), filter 0.15s ease !important;
	cursor: pointer !important;
}
a.checkout.wc-forward:active,
a.btn-cart.wc-forward:active {
	transform: scale(0.96) !important;
	filter: brightness(0.9) !important;
}
@media (hover: hover) {
	a.checkout.wc-forward:hover,
	a.btn-cart.wc-forward:hover {
		filter: brightness(0.95) !important;
		transform: none !important;
	}
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Buttons (Forced Exact Colors & Radius) */
.btn-primary { width: 100%; background: var(--gr) !important; color: #fff !important; border-radius: 12px !important; padding: 15px; font-size: 16px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 5px 18px rgba(26,138,60,.28); }
.btn-wa { width: 100%; background: #25D366 !important; color: #fff !important; border-radius: 12px !important; padding: 15px; font-size: 16px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 8px; box-shadow: 0 4px 14px rgba(37,211,102,.3) !important; border: none; }
.btn-outline { width: 100%; background: #fff !important; color: #F4622A !important; border: 2.5px solid #F4622A !important; border-radius: 12px !important; padding: 13.5px !important; font-size: 15px !important; font-weight: 800 !important; display: flex; align-items: center; justify-content: center; gap: 7px; box-shadow: none !important; }

.trust-row { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--bd2); flex-wrap: wrap; }
.trust-row span { font-size: 11px; color: var(--tx3); font-weight: 600; }

/* Cross Sells */
.reco-wrap { padding: 14px 0; background: transparent; }
.reco-title { font-family: 'Baloo Da 2', cursive; font-size: 16px; font-weight: 800; color: var(--tx); margin-bottom: 10px; display: flex; align-items: center; gap: 7px; }
.reco-scroll { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.reco-scroll::-webkit-scrollbar { display: none; }
.rcard { min-width: 140px; max-width: 140px; background: #fff; border: 1.5px solid var(--bd); border-radius: var(--r-lg); overflow: hidden; display: flex; flex-direction: column; }
.rcard-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; padding: 10px; background: #fff; }
.rcard-img img { width: 100%; height: 100%; object-fit: contain; }
.rcard-body { padding: 8px; display: flex; flex-direction: column; flex: 1; }
.rcard-name { font-size: 12px; font-weight: 700; color: var(--tx); line-height: 1.4; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }

/* BULLETPROOF CROSS-SELL PRICE */
.rcard-pr, .rcard-pr *, .rcard-pr bdi { 
	font-family: 'Baloo Da 2', cursive !important; 
	font-size: 14px !important; 
	font-weight: 800 !important; 
	color: var(--rd) !important; 
	display: block; 
	margin-bottom: 5px; 
}

.rcard-btn { width: 100%; background: var(--or-lt) !important; color: var(--or) !important; border: 1.5px solid var(--or) !important; border-radius: 6px; padding: 6px; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; transition: 0.2s; }
.rcard-btn:hover { background: var(--or) !important; color: #fff !important; }