.elementor-182 .elementor-element.elementor-element-a895650{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-182 .elementor-element.elementor-element-1854465{margin:2vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;text-align:start;}.elementor-182 .elementor-element.elementor-element-1854465 .elementor-heading-title{font-family:"Cairo", Sans-serif;font-weight:600;color:#000000F2;}.elementor-182 .elementor-element.elementor-element-ac03df8{--display:flex;}.elementor-182 .elementor-element.elementor-element-0063665{--display:flex;}#elementor-popup-modal-182 .dialog-widget-content{animation-duration:0.8s;border-radius:15px 15px 15px 15px;box-shadow:2px 8px 30px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-182{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-182 .dialog-message{width:700px;height:auto;}#elementor-popup-modal-182 .dialog-close-button{display:flex;top:2%;font-size:30px;}body:not(.rtl) #elementor-popup-modal-182 .dialog-close-button{right:1%;}body.rtl #elementor-popup-modal-182 .dialog-close-button{left:1%;}#elementor-popup-modal-182 .dialog-close-button i{color:#000000;}#elementor-popup-modal-182 .dialog-close-button svg{fill:#000000;}@media(max-width:1024px){.elementor-182 .elementor-element.elementor-element-2735a52 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-182 .elementor-element.elementor-element-2735a52.elementor-element{--align-self:stretch;}}@media(max-width:767px){.elementor-182 .elementor-element.elementor-element-1854465{margin:2vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;}.elementor-182 .elementor-element.elementor-element-1854465 .elementor-heading-title{font-size:7vw;}.elementor-182 .elementor-element.elementor-element-2735a52 .coupon .input-text, .elementor-182 .elementor-element.elementor-element-2735a52 .cart-collaterals .input-text, .elementor-182 .elementor-element.elementor-element-2735a52 select, .elementor-182 .elementor-element.elementor-element-2735a52 .select2-selection--single{font-size:9px;}#elementor-popup-modal-182 .dialog-message{width:450px;}#elementor-popup-modal-182{justify-content:center;align-items:flex-end;}#elementor-popup-modal-182 .dialog-widget-content{border-radius:15px 15px 15px 15px;}#elementor-popup-modal-182 .dialog-close-button{top:2%;font-size:24px;}body:not(.rtl) #elementor-popup-modal-182 .dialog-close-button{right:1%;}body.rtl #elementor-popup-modal-182 .dialog-close-button{left:1%;}}/* Start custom CSS for woocommerce-cart, class: .elementor-element-2735a52 *//* --------------------------------------------------
   1. HIDE OLD JUNK & RESET
-------------------------------------------------- */
.elementor-popup-modal thead, 
.elementor-popup-modal .product-price, 
.elementor-popup-modal .product-quantity, 
.elementor-popup-modal .product-subtotal, 
.elementor-popup-modal .product-remove, 
.elementor-popup-modal .product-thumbnail,
.elementor-popup-modal .actions, 
.elementor-popup-modal .cart-collaterals, 
.elementor-popup-modal .cart_totals,
.blockUI.blockOverlay {
    display: none !important;
}

.elementor-popup-modal table, 
.elementor-popup-modal tbody, 
.elementor-popup-modal tr, 
.elementor-popup-modal td {
    border: none !important; padding: 0 !important; margin: 0 !important; background: transparent !important;
    display: block !important; width: 100% !important;
}

/* --------------------------------------------------
   2. CARD LAYOUT (Structure)
-------------------------------------------------- */
.elementor-popup-modal tr.cart_item {
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 25px 0 !important;
    display: flex !important; flex-direction: row !important;
    width: 100% !important;
}

.pro-cart-card {
    display: flex; justify-content: space-between; align-items: flex-start; 
    width: 100% !important; direction: ltr !important;
}

/* --------------------------------------------------
   3. LEFT COLUMN (Controls - FAR LEFT)
-------------------------------------------------- */
.pro-col-left {
    order: 1;
    display: flex; flex-direction: column; 
    align-items: center; 
    justify-content: center;
    width: 110px; flex-shrink: 0;
    margin-right: auto !important; margin-left: 0 !important;
}

/* Trash Icon */
.pro-delete {
    width: 35px; height: 35px;
    display: flex !important; align-items: center; justify-content: center;
    margin: 0 auto 0px auto !important; 
    cursor: pointer; text-decoration: none;
    background: #fff; border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}
.pro-delete::before {
    content: "\f2ed"; font-family: "Font Awesome 5 Free"; font-weight: 900;
    font-size: 16px; color: #ccc;
}
.pro-delete:hover::before { color: #D32F2F; }

/* Button Design */
.pro-qty-ctrl {
    display: flex; align-items: center; justify-content: center;
    background: #f2f2f2; border-radius: 10px;
    padding: 5px;
    margin: 0 auto 12px auto; 
    width: 110px; gap: 8px; 
}

.qty-btn {
    width: 32px; height: 32px;
    background: #fff; border-radius: 8px; border: 1px solid #ddd;
    font-size: 18px; font-weight: bold; color: #555; 
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: transform 0.2s ease; flex-shrink: 0;
}
.qty-btn:hover { background: #D32F2F; color: #fff; border-color: #D32F2F; }

/* The Number */
.qty-text {
    font-size: 16px; font-weight: 800; color: #000;
    width: 25px; text-align: center; line-height: 1;
}

/* Price Badge */
.pro-price-badge {
    background-color: #D32F2F; color: #fff !important;
    padding: 6px 14px; border-radius: 8px;
    font-size: 14px; font-weight: 700;
    margin: 0 auto; display: inline-block; text-align: center; width: fit-content;
}
.pro-price-badge span, .pro-price-badge bdi { color: #fff !important; }

/* --------------------------------------------------
   5. RIGHT COLUMN (Info - FAR RIGHT)
-------------------------------------------------- */
.pro-col-right {
    order: 2; flex-grow: 1;
    display: flex; flex-direction: column; align-items: flex-end;
    text-align: right; padding-left: 20px;
}

/* 🔴 IMAGE FIX (Desktop/Tablet Size & Aspect Ratio) */
.pro-card-image {
    width: 100%; /* Container takes full available width */
    margin-bottom: 8px;
    display: flex;
    justify-content: flex-end; /* Align image right */
}
.pro-card-image img {
    width: 120px !important; /* LARGER Desktop Width */
    height: auto !important; /* 🔴 AUTO HEIGHT = NO CROPPING */
    object-fit: unset !important; /* Ensure natural aspect ratio */
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.pro-title { font-family: 'Cairo'; font-weight: 800; font-size: 16px; color: #000; margin-bottom: 4px; }
.pro-desc { font-family: 'Cairo'; font-size: 12px; color: #888; }

/* --------------------------------------------------
   6. MOBILE SPECIFIC RULES (Compact Mode)
-------------------------------------------------- */
@media (max-width: 767px) {
    /* Left Column Compact */
    .pro-col-left {
        width: 85px !important; 
        margin-left: -20px !important; margin-right: auto !important;
    }
    .pro-qty-ctrl { width: 85px !important; padding: 4px; gap: 4px; margin-bottom: 8px !important; }
    .qty-btn { width: 28px !important; height: 28px !important; font-size: 14px !important; }
    .pro-price-badge {
        padding: 4px 10px !important; font-size: 12px !important; border-radius: 6px !important;
    }
    .pro-delete { margin: 0 auto 6px auto !important; }
    
    /* 🔴 IMAGE FIX (Mobile Size) */
    .pro-card-image img { 
        width: 90px !important; /* SMALLER Mobile Width */
        /* height: auto inherited from global rule */
    }
    
    /* Right Column Spacing */
    .pro-col-right { padding-left: 10px !important; }
}









/* =========================================
   🔴 FINAL GHOST BOX FIX (From Screenshot)
   ========================================= */
div.e-cart-totals.e-cart-section {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    width: 0 !important;
}/* End custom CSS */
/* Start custom CSS */<script>
jQuery(document).ready(function($) {
    var updateTimer;

    function triggerCartUpdate() {
        clearTimeout(updateTimer);
        updateTimer = setTimeout(function() {
            $("[name='update_cart']").trigger("click");
        }, 1000); 
    }

    // PLUS CLICK
    $(document).on('click', '.qty-btn.plus', function(e) {
        e.preventDefault();
        var key = $(this).data('key');
        var $textDisplay = $(this).siblings('.qty-text'); // Find the text div
        var $realInput = $('input[name="cart[' + key + '][qty]"]'); // Find hidden WooCommerce input
        
        var currentVal = parseInt($textDisplay.text());
        var newVal = currentVal + 1;
        
        $textDisplay.text(newVal); // Update Visuals
        $realInput.val(newVal);    // Update Data
        triggerCartUpdate();
    });

    // MINUS CLICK
    $(document).on('click', '.qty-btn.minus', function(e) {
        e.preventDefault();
        var key = $(this).data('key');
        var $textDisplay = $(this).siblings('.qty-text');
        var $realInput = $('input[name="cart[' + key + '][qty]"]');
        
        var currentVal = parseInt($textDisplay.text());
        if (currentVal > 1) {
            var newVal = currentVal - 1;
            $textDisplay.text(newVal);
            $realInput.val(newVal);
            triggerCartUpdate();
        }
    });
});
</script>/* End custom CSS */