:root { 
    /* ============================================================== */
    /* 🎨 BRAND COLORS (MATCHED WITH SHOP & CHECKOUT)                🎨 */
    /* ============================================================== */
    --hkdev-brand-primary:   #18b83f !important; /* Sera Khabar Green */
    --hkdev-brand-hover:     #0f8f2f !important; /* Darker Green for hover */
    --hkdev-brand-secondary: #ffd400 !important; /* Sera Khabar Gold/Yellow */
    --hkdev-brand-light:     rgba(24, 184, 63, 0.12) !important; /* Soft Green Background */
    --hkdev-border-color:    rgba(7, 16, 6, 0.08) !important; /* Clean Border */
    --hkdev-text-color:      #071006 !important; /* Deep Forest Dark */
    --hkdev-text-muted:      #7c8978 !important; /* Mossy Muted Text */
    --hkdev-bg-soft:         #f1f8ef !important; /* Minty background */
    /* ============================================================== */
}

.hkdev-cart-container, .hkdev-cart-empty-wrap { 
    font-family: 'Hind Siliguri', 'Inter', sans-serif !important; 
    max-width: 1150px !important; 
    margin: 40px auto !important; 
    padding: 0 15px !important; 
    color: var(--hkdev-text-color) !important; 
    line-height: 1.6 !important; 
}

/* Empty Cart */
.hkdev-cart-empty-wrap { text-align: center !important; padding: 80px 20px !important; background: #fff !important; border-radius: 20px !important; border: 1px solid var(--hkdev-border-color) !important; max-width: 600px !important; margin: 40px auto !important; box-shadow: 0 8px 24px rgba(7, 16, 6, 0.04) !important; }
.hkdev-cart-empty-wrap h3 { font-size: 24px !important; color: var(--hkdev-brand-primary) !important; margin-bottom: 10px !important; font-weight: 800 !important; }

/* Header */
.hkdev-cart-header { text-align: center !important; margin-bottom: 30px !important; }
.hkdev-cart-header h2 { font-size: 28px !important; font-weight: 800 !important; color: var(--hkdev-brand-primary) !important; margin: 0 0 5px 0 !important; }
.hkdev-cart-header p { color: var(--hkdev-text-muted) !important; font-size: 15px !important; margin: 0 !important; font-weight: 600 !important; }

/* Grid Layout */
.hkdev-cart-grid { display: grid !important; grid-template-columns: 1fr 400px !important; gap: 30px !important; align-items: start !important; }
.hkdev-cart-card { background: #fff !important; padding: 30px !important; border-radius: 20px !important; border: 1px solid var(--hkdev-border-color) !important; box-shadow: 0 8px 24px rgba(7, 16, 6, 0.04) !important; }
.hkdev-sticky-sidebar { position: sticky !important; top: 30px !important; }

/* Cart Items Styling */
.hkdev-cart-item-row { display: flex !important; gap: 20px !important; padding: 20px 0 !important; border-bottom: 1px solid var(--hkdev-border-color) !important; align-items: center !important; }
.hkdev-cart-item-row:last-child { border-bottom: none !important; padding-bottom: 10px !important; }

.item-img { width: 90px !important; height: 90px !important; border-radius: 12px !important; overflow: hidden !important; border: 1px solid var(--hkdev-border-color) !important; background: var(--hkdev-bg-soft) !important; flex-shrink: 0 !important; }
.item-img img { width: 100% !important; height: 100% !important; object-fit: contain !important; }

.item-details { flex: 1 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
.item-title { font-size: 16px !important; font-weight: 800 !important; margin: 0 0 5px 0 !important; color: var(--hkdev-text-color) !important; line-height: 1.4 !important; }
.item-title a { color: inherit !important; text-decoration: none !important; transition: 0.2s !important; }
.item-title a:hover { color: var(--hkdev-brand-primary) !important; }
.item-price-unit { font-size: 14px !important; color: var(--hkdev-text-muted) !important; margin-bottom: 12px !important; font-weight: 600 !important; }

.item-total-price { font-size: 18px !important; font-weight: 800 !important; color: var(--hkdev-brand-primary) !important; min-width: 100px !important; text-align: right !important; }

/* =======================================================
   Quantity Stepper Style (Matched exactly with Checkout)
======================================================= */
.hkdev-cart-qty-wrap { display: flex !important; align-items: center !important; gap: 15px !important; }
.hkdev-qty-stepper-ui { 
    display: inline-flex !important; align-items: center !important; background: var(--hkdev-bg-soft) !important; border: 1px solid var(--hkdev-border-color) !important; border-radius: 8px !important; overflow: hidden !important; height: 34px !important; padding: 0 !important;
}
.hkdev-qty-mod { 
    border: none !important; background: transparent !important; padding: 0 12px !important; cursor: pointer !important; color: var(--hkdev-text-color) !important; font-size: 18px !important; height: 100% !important; transition: 0.2s !important; margin: 0 !important; outline: none !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 800 !important;
}
.hkdev-qty-mod:hover { background: rgba(24, 184, 63, 0.15) !important; color: var(--hkdev-brand-primary) !important; }
.hkdev-qty-val { 
    padding: 0 12px !important; font-size: 14px !important; font-weight: 800 !important; min-width: 30px !important; text-align: center !important; background: transparent !important; border-left: 1px solid var(--hkdev-border-color) !important; border-right: 1px solid var(--hkdev-border-color) !important; height: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--hkdev-text-color) !important; margin: 0 !important;
}

/* Trash / Delete Icon */
.hkdev-item-remove-btn { 
    background: transparent !important; border: none !important; color: var(--hkdev-text-muted) !important; cursor: pointer !important; transition: 0.2s !important; font-size: 18px !important; padding: 5px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important;
}
.hkdev-item-remove-btn:hover { color: #e53935 !important; } /* Match Red from Checkout */

/* Coupon Section */
.hkdev-cart-coupon-wrap { margin-top: 20px !important; border-top: 1px dashed var(--hkdev-border-color) !important; padding-top: 20px !important; }
.coupon-box { display: flex !important; gap: 10px !important; width: 100% !important; max-width: 400px !important; background: var(--hkdev-bg-soft) !important; padding: 4px !important; border-radius: 12px !important; border: 1px solid var(--hkdev-border-color) !important; transition: 0.3s !important;}
.coupon-box:focus-within { border-color: var(--hkdev-brand-primary) !important; box-shadow: 0 0 0 3px var(--hkdev-brand-light) !important; background: #fff !important; }
.coupon-box input { flex: 1 !important; padding: 12px 15px !important; border: none !important; background: transparent !important; font-size: 14px !important; outline: none !important; color: var(--hkdev-text-color) !important; font-weight: 600 !important;}
.coupon-box button { background: var(--hkdev-text-color) !important; color: #fff !important; border: none !important; padding: 0 20px !important; border-radius: 8px !important; font-weight: 800 !important; cursor: pointer !important; transition: 0.2s !important; white-space: nowrap !important; }
.coupon-box button:hover { background: var(--hkdev-brand-primary) !important; }

/* Totals Sidebar */
.hkdev-cart-totals-header h3 { font-size: 20px !important; font-weight: 800 !important; color: var(--hkdev-text-color) !important; margin: 0 0 20px 0 !important; padding-bottom: 15px !important; border-bottom: 2px solid var(--hkdev-brand-light) !important; }
.hkdev-cart-calc-wrap { margin-bottom: 25px !important; }
.calc-line { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 10px 0 !important; font-size: 15px !important; color: var(--hkdev-text-muted) !important; font-weight: 600 !important; border-bottom: 1px solid var(--hkdev-border-color) !important; }
.calc-line strong { font-weight: 800 !important; color: var(--hkdev-text-color) !important; }
.coupon-line { color: #e53935 !important; font-size: 14px !important; }
.coupon-line a { color: var(--hkdev-text-muted) !important; font-size: 12px !important; text-decoration: none !important; margin-left: 5px !important; }
.coupon-line a:hover { color: #e53935 !important; }
.grand-total-line { font-size: 22px !important; font-weight: 800 !important; color: var(--hkdev-brand-primary) !important; margin-top: 10px !important; border-top: 2px dashed var(--hkdev-border-color) !important; padding-top: 20px !important; border-bottom: none !important; }
.grand-total-line strong { color: var(--hkdev-brand-primary) !important; font-size: 28px !important; }

/* =======================================================
   Buttons & WooCommerce Native Overrides
======================================================= */

/* General Primary Button (Green Gradient matched with Checkout) */
.hkdev-cart-primary-btn { width: 100% !important; padding: 16px !important; background: linear-gradient(135deg, var(--hkdev-brand-primary), var(--hkdev-brand-hover)) !important; color: #fff !important; border: none !important; border-radius: 14px !important; font-weight: 800 !important; font-size: 18px !important; cursor: pointer !important; transition: 0.3s !important; display: block !important; text-align: center !important; text-decoration: none !important; box-shadow: 0 9px 20px rgba(24, 184, 63, 0.22) !important; margin-bottom: 15px !important; }
.hkdev-cart-primary-btn:hover { transform: translateY(-3px) !important; box-shadow: 0 12px 26px rgba(24, 184, 63, 0.3) !important; color: #fff !important; }

/* Native Proceed to Checkout Button (Matched exactly) */
.hkdev-cart-totals-column .checkout-button { 
    background: linear-gradient(135deg, var(--hkdev-brand-primary), var(--hkdev-brand-hover)) !important; 
    box-shadow: 0 9px 20px rgba(24, 184, 63, 0.22) !important;
    border-radius: 14px !important;
    font-weight: 800 !important;
    font-size: 18px !important;
    padding: 18px !important;
}
.hkdev-cart-totals-column .checkout-button:hover { 
    transform: translateY(-3px) !important; 
    box-shadow: 0 12px 26px rgba(24, 184, 63, 0.3) !important;
}

/* Secondary Button (Continue Shopping) */
.hkdev-cart-secondary-btn { width: 100% !important; padding: 16px !important; background: var(--hkdev-bg-soft) !important; color: var(--hkdev-brand-primary) !important; border: 1px solid rgba(24, 184, 63, 0.3) !important; border-radius: 14px !important; font-weight: 800 !important; font-size: 16px !important; cursor: pointer !important; transition: 0.3s !important; display: block !important; text-align: center !important; text-decoration: none !important; }
.hkdev-cart-secondary-btn:hover { background: var(--hkdev-brand-light) !important; border-color: var(--hkdev-brand-primary) !important; transform: translateY(-2px) !important; }

/* Hide WooCommerce Default Update Cart Button */
button[name="update_cart"] { display: none !important; }

/* Native Shipping Calculator Form Tweaks */
.shipping-calculator-button { color: var(--hkdev-brand-primary) !important; text-decoration: none !important; font-weight: 800 !important; }

/* Loader */
#hkdev-cart-global-loader { display: none; position: absolute; inset: 0; background: rgba(255,255,255,0.85); z-index: 999; align-items: center; justify-content: center; border-radius: 20px; backdrop-filter: blur(4px); }
.loader-box-inner { background: var(--hkdev-text-color); color: #fff; padding: 15px 35px; border-radius: 50px; font-weight: 800; font-size: 15px; box-shadow: 0 10px 30px rgba(7,16,6,0.1); }

/* MOBILE OPTIMIZATION */
@media (max-width: 900px) { 
    .hkdev-cart-grid { grid-template-columns: 1fr !important; gap: 20px !important; } 
    .hkdev-sticky-sidebar { position: static !important; } 
    .hkdev-cart-item-row { position: relative !important; align-items: flex-start !important; }
    .item-total-price { position: absolute !important; right: 0 !important; bottom: 20px !important; font-size: 16px !important; }
    .coupon-box { max-width: 100% !important; background: transparent !important; padding: 0 !important; border: none !important;}
    .coupon-box input { border: 1px solid var(--hkdev-border-color) !important; background: #fff !important; }
    .coupon-box button { padding: 12px !important; height: auto !important; }
}
@media (max-width: 480px) {
    .hkdev-cart-card { padding: 20px 15px !important; }
    .item-img { width: 75px !important; height: 75px !important; }
    .item-title { font-size: 14px !important; }
    .hkdev-qty-stepper-ui { height: 34px !important; }
    .hkdev-qty-mod { font-size: 16px !important; padding: 0 8px !important; }
    .hkdev-qty-val { font-size: 14px !important; min-width: 25px !important; padding: 0 8px !important; }
}