.elementor-17 .elementor-element.elementor-element-823956b{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-17 .elementor-element.elementor-element-d7d67f6 > .elementor-widget-container{margin:12px 12px 12px 12px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-17 .elementor-element.elementor-element-823956b{--content-width:80%;}}/* Start custom CSS for wc-elements, class: .elementor-element-d7d67f6 *//* Remove borders from the cart item container */
.woocommerce-cart-form__cart-item {
    margin: 0px 0px 10px 0px;
    display: inline-table;
    width: 100%;
    border: none !important;
}

/* Specifically remove borders from the cells inside the cart item */
.woocommerce-cart-form__cart-item td {
    border: none !important;
}

/* Remove the bottom border that WooCommerce often adds to rows */
.woocommerce table.shop_table tr {
    border-bottom: none !important;
}

/* Optional: Add a light shadow or background to separate items instead of lines */
.woocommerce-cart-form__cart-item {
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* ============================================
   1. LAYOUT GRID (Left Content vs Right Sidebar)
   ============================================ */
.checkout_row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px; /* Space between the cart items and the sidebar */
    margin-top: 20px;
    align-items: flex-start;
}

.checkout_column_main {
    flex: 1; /* Takes up remaining space */
    width: auto !important;
}

.checkout_column_side {
    width: 380px !important; /* Fixed width for the sidebar like the image */
    flex-shrink: 0;
}

/* ============================================
   2. TRANSFORM CART TABLE INTO "CARDS"
   ============================================ */
/* Hide the table header row (Product, Price, Quantity labels) */
.shop_table thead {
    display: none;
}

/* Turn the table into a block layout to allow spacing */
.shop_table, .shop_table tbody {
    display: block;
    width: 100%;
    border: none !important;
}

/* Style the individual Rows as Cards */
tr.woocommerce-cart-form__cart-item {
    display: flex;
    align-items: flex-start; /* Aligns content to top like the expected image */
    background-color: #ffffff;
    border: 1px solid #f0f0f0 !important;
    border-radius: 12px;
    padding: 35px !important; /* Increased padding for the "open" look */
    margin-bottom: 25px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02); /* Very subtle shadow */
    box-sizing: border-box;
    width: 100%;
}

/* Image Column */
tr.cart_item td.product-thumbnail {
    width: 140px !important; /* Increased from 100px to match expected */
    height: auto !important;
    padding: 0 !important;
    border: none !important;
    flex-shrink: 0;
}

tr.cart_item td.product-thumbnail img {
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 0; /* Expected image doesn't show heavy rounding on images */
}

/* Product Name & Details Column */
tr.cart_item td.product-labels {
    flex-grow: 1;
    padding: 0 30px !important; /* More gap between image and text */
    border: none !important;
}

tr.cart_item td.product-labels h4 {
    margin: 0 0 15px 0 !important; /* Space below title */
}

tr.cart_item td.product-labels h4 a {
    font-size: 20px; /* Larger Title */
    font-weight: 500;
    color: #111;
    text-decoration: none;
}

/* Style the description text */
tr.cart_item td.product-labels p {
    font-size: 14px;
    line-height: 1.6; /* More space between lines of text */
    color: #666;
    margin: 0;
}

/* Price & Quantity Column (Far Right) */
tr.cart_item td.product-price {
    display: flex !important;
    flex-direction: row !important;
    justify-content: right !important; /* Centers the group vertically in the card */
    align-items: center !important;     /* Centers items horizontally relative to each other */
    height: 100% !important;
    min-height: 150px; /* Ensures card has height */
    padding: 0 20px !important;
    border: none !important;
    gap: 0 !important; /* We will use margins on individual items for control */
}

/* Fix the Quantity Selector Size */
.qib-button-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 0 15px 0 !important; /* Space below Quantity */
    border: none !important;
    background: transparent !important;
    width: auto !important;
    float: none !important;
}

/* Style the Input Box (The Number) */
.qib-button-wrapper .quantity input.input-text.qty.text {
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important; /* Clean, thin border */
    border-radius: 4px !important;
    width: 45px !important;
    height: 40px !important;
    padding: 0 !important;
    color: #333 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    margin: 0 12px !important; /* Space between the +/- buttons and the box */
    box-shadow: none !important; /* Removes the heavy shadow */
    text-align: center !important;
}

/* Style the Plus/Minus Buttons */
.qib-button-wrapper button.qib-button {
    background: transparent !important;
    border: none !important;
    color: #333 !important; /* Dark grey text */
    font-size: 20px !important;
    font-weight: 400 !important;
    width: auto !important;
    min-width: auto !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 1 !important;
    cursor: pointer;
}

/* Hover effect for +/- */
.qib-button-wrapper button.qib-button:hover {
    color: #000 !important;
    background: transparent !important;
}

/* Price Text Styling */
.product_details__price {
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin-top: 5px;
    margin-bottom: 15px !important; /* Space between Price and Remove link */
    width: 100%;
    text-align: center !important;
    line-height: 1;
}

.product_details__price .woocommerce-Price-amount {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #111 !important;
}

/* Remove Link Styling */
.remove_cart_item {
    margin: 0 !important;
    width: 100%;
    text-align: center !important;
    line-height: 1;
}

.remove_cart_item a {
    color: #999 !important; /* Light grey text */
    text-decoration: underline !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    background: transparent !important;
}

.remove_cart_item a:hover {
    color: #333 !important;
}

.woocommerce a.remove:hover{
    color: #333 !important;
}

.woocommerce div.product form.cart .qib-button-wrapper div.quantity,
.product_details .quantity {
    margin: 0 !important;
}

.checkout-order-summary {
    background-color: #f4f4f4 !important; /* Grey background */
    border-radius: 16px;
    padding: 40px !important; /* generous padding */
    border: none !important;
    box-shadow: none !important;
}

.checkout-order-summary-content {
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}

.checkout-order-summary h4 {
    font-size: 16px;
    font-weight: 400; /* Regular weight like image */
    color: #333;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0; /* The thin line under "Your Order" */
}

/* The List of Items inside Summary */
.checkout-order-summary__list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.checkout-order-summary__list li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    font-size: 15px;
    color: #444;
}

.checkout-order-summary__list li strong {
    font-weight: 500;
    color: #000;
}

/* The Divider Line */
.order_summary_total {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0; /* Separator line above Total */
}

/* The Total Row */
.order_summary_total li {
    font-size: 18px;
    font-weight: 600;
    color: #000;
}

/* THE YELLOW BUTTON */
.order_summary_btn a {
    background-color: #F8D068 !important; /* Yellow */
    color: #000 !important;
    font-weight: 700;
    font-size: 16px;
    padding: 18px 0; /* Taller button */
    border-radius: 50px; /* Pill shape */
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 20px;
    box-shadow: 0 4px 10px rgba(248, 208, 104, 0.4); /* Adds that slight glow */
}

.order_summary_btn a:hover {
    opacity: 0.9;
}

@media (min-width: 1280px ) { 
.checkout_column_side {
    width:40% !important;
}

.checkout_row {
    display: flex !important;
}
.checkout-progress-bar.checkout_row{
    display:block !important;
}
}

/* ============================================
   MOBILE RESPONSIVENESS (Max Width 768px)
   ============================================ */

@media only screen and (max-width: 768px) {

    /* 1. RESET THE MAIN CONTAINER (Stack Left & Right columns) */
    .checkout_row {
        flex-direction: column !important;
        gap: 20px !important;
        padding-right: 0 !important; /* Remove desktop padding */
    }

    .checkout_column_main, 
    .checkout_column_side {
        width: 100% !important; /* Force full width */
        min-width: 100% !important;
        padding: 0 15px; /* Add side padding for mobile screens */
        box-sizing: border-box;
    }

    /* 2. STACK THE CART CARD CONTENTS (Image Top, Text Middle, Price Bottom) */
    tr.woocommerce-cart-form__cart-item {
        flex-direction: column !important; /* This fixes the "squashed text" */
        align-items: center !important;
        text-align: center !important;
        padding: 25px 15px !important;
    }

    /* 3. FIX THE IMAGE */
    tr.cart_item td.product-thumbnail {
        width: 100% !important;
        margin-bottom: 15px !important;
        text-align: center !important;
    }
    
    tr.cart_item td.product-thumbnail img {
        width: 100px !important; /* Control size so it's not too big */
        height: auto !important;
        margin: 0 auto !important;
    }

    /* 4. FIX THE TEXT (Title & Desc) */
    tr.cart_item td.product-labels {
        width: 100% !important;
        padding: 0 !important;
        margin-bottom: 20px !important;
    }

    tr.cart_item td.product-labels h4 {
        margin-bottom: 10px !important;
    }

    /* 5. FIX THE PRICE/QTY BLOCK */
    tr.cart_item td.product-price {
        width: 100% !important;
        align-items: center !important;
        border-top: 1px solid #f0f0f0 !important; /* Separator line */
        padding-top: 20px !important;
    }

    /* 6. FIX THE COUPON SECTION */
    .coupon.checkout_coupon {
        flex-direction: column !important;
        gap: 10px;
    }

    .cart-actions .coupon input.input-text,
    .woocommerce-page table.cart td.actions .input-text {
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        text-align: center;
    }

    .actions .checkout_coupon button.checkout-btn {
        width: 100% !important; /* Make button full width */
        padding: 15px !important;
    }

    /* ============================================
       MOBILE: FIX "YOUR ORDER" SIDEBAR
       ============================================ */

    /* 1. FIX THE "STICK TO LEFT" & BOX WIDTH */
    .checkout-order-summary {
        padding: 20px 25px !important; /* Adds space inside the grey box */
        width: 100% !important;
        box-sizing: border-box !important; /* Ensures padding doesn't break the width */
        margin: 0 auto !important;
    }

    /* 2. FIX THE PRICE GAP ($      40.00) */
    /* This targets the span holding the price */
    .checkout-order-summary__list li span:last-child, 
    .order_summary_total li span:last-child {
        display: flex !important;
        justify-content: flex-end !important; /* Pushes both $ and Number to the right */
        align-items: center !important;
        width: auto !important;
        flex: 0 0 auto !important; /* Prevents it from stretching */
        gap: 2px !important; /* Tiny space between symbol and number */
    }

    /* 3. RESET INTERNAL PRICE ELEMENTS */
    /* This forces the $ symbol and the number to sit next to each other */
    .checkout-order-summary__list li span:last-child *, 
    .order_summary_total li span:last-child * {
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    /* 4. ENSURE ROWS ARE SIDE-BY-SIDE */
    .checkout-order-summary__list li,
    .order_summary_total li {
        display: flex !important;
        flex-direction: row !important; /* Forces side-by-side layout */
        justify-content: space-between !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    /* 5. PRODUCT NAME SPACING */
    .checkout-order-summary__list li span:first-child {
        margin-right: 15px !important; /* Space between name and price */
        text-align: left !important;
    }
}/* End custom CSS */