/* Start custom CSS for wc-elements, class: .elementor-element-3f09f85 *//* =========================================================
   RCM DREAM STORE — PROFESSIONAL FULL WIDTH CART
   MOBILE + LAPTOP + DESKTOP
   ========================================================= */

/* ---------- GLOBAL BOX SIZING ---------- */
body.woocommerce-cart *,
body.woocommerce-cart *::before,
body.woocommerce-cart *::after {
    box-sizing: border-box !important;
}

/* ---------- REMOVE UNWANTED OUTER SPACING ---------- */
body.woocommerce-cart .site-main,
body.woocommerce-cart .content-area,
body.woocommerce-cart .entry-content,
body.woocommerce-cart article,
body.woocommerce-cart .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---------- MAIN CART WRAPPER ---------- */
body.woocommerce-cart .woocommerce {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;

    gap: 24px !important;

    padding: 20px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* =========================================================
   DESKTOP / LAPTOP
   ========================================================= */
@media (min-width: 801px) {

    /* LEFT — CART PRODUCTS */
    body.woocommerce-cart .woocommerce-cart-form {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 22px !important;

        background: #ffffff !important;
        border-radius: 12px !important;

        box-shadow: 0 6px 22px rgba(0,0,0,0.06) !important;
    }

    /* RIGHT — CART TOTALS */
    body.woocommerce-cart .cart-collaterals {
        flex: 0 0 35% !important;
        width: 35% !important;
        max-width: 35% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 22px !important;

        background: #ffffff !important;
        border-radius: 12px !important;

        box-shadow: 0 6px 22px rgba(0,0,0,0.06) !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 800px) {

    body.woocommerce-cart .woocommerce {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 15px !important;

        padding: 10px !important;
        margin: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals,
    body.woocommerce-cart .cart_totals {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
    }

    body.woocommerce-cart .woocommerce-cart-form {
        padding: 15px !important;
    }

    body.woocommerce-cart .cart_totals {
        padding: 18px !important;
    }
}

/* =========================================================
   CART TABLE
   ========================================================= */

body.woocommerce-cart table.shop_table {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

/* TABLE HEADER */
body.woocommerce-cart table.shop_table th {
    color: #0d1b2a !important;
    font-weight: 700 !important;

    border: 0 !important;
    border-bottom: 2px solid #0077b6 !important;

    padding: 10px 8px !important;
}

/* TABLE CELLS */
body.woocommerce-cart table.shop_table td {
    padding: 14px 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    vertical-align: middle !important;
}

/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

body.woocommerce-cart .product-thumbnail img {
    max-width: 80px !important;
    height: auto !important;

    border-radius: 8px !important;
}

/* =========================================================
   PRODUCT NAME
   ========================================================= */

body.woocommerce-cart .product-name a {
    color: #0d1b2a !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* =========================================================
   QUANTITY
   ========================================================= */

body.woocommerce-cart .quantity input.qty {
    min-height: 40px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    background: #f8fafc !important;
}

/* =========================================================
   REMOVE BUTTON
   ========================================================= */

body.woocommerce-cart a.remove {
    color: #dc2626 !important;
    font-size: 22px !important;
    font-weight: 700 !important;

    transition: 0.2s ease !important;
}

body.woocommerce-cart a.remove:hover {
    color: #ffffff !important;
    background: #dc2626 !important;
}

/* =========================================================
   COUPON
   ========================================================= */

body.woocommerce-cart .coupon {
    display: flex !important;
    gap: 8px !important;
    margin-top: 18px !important;
}

body.woocommerce-cart .coupon input.input-text {
    min-width: 0 !important;
    flex: 1 !important;

    padding: 12px !important;

    border: 1px solid #cbd5e1 !important;
    border-radius: 7px !important;
}

/* =========================================================
   UPDATE CART BUTTON
   ========================================================= */

body.woocommerce-cart button[name="update_cart"] {
    border-radius: 7px !important;
    padding: 12px 18px !important;
}

/* =========================================================
   CART TOTALS
   ========================================================= */

body.woocommerce-cart .cart_totals h2 {
    color: #0077b6 !important;
    font-size: 20px !important;
    font-weight: 700 !important;

    margin-top: 0 !important;
    margin-bottom: 16px !important;

    border-bottom: 2px solid #0077b6 !important;
    padding-bottom: 8px !important;
}

body.woocommerce-cart .cart_totals table {
    width: 100% !important;
}

/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

body.woocommerce-cart .checkout-button {
    display: block !important;

    width: 100% !important;

    background: #10b981 !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 8px !important;

    padding: 15px 18px !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    text-align: center !important;
    text-decoration: none !important;

    box-shadow: 0 4px 14px rgba(16,185,129,0.25) !important;

    transition: all 0.25s ease !important;
}

body.woocommerce-cart .checkout-button:hover {
    background: #059669 !important;
    transform: translateY(-1px) !important;
}

/* =========================================================
   MOBILE TABLE FIX
   ========================================================= */

@media (max-width: 600px) {

    body.woocommerce-cart table.shop_table {
        font-size: 13px !important;
    }

    body.woocommerce-cart table.shop_table th,
    body.woocommerce-cart table.shop_table td {
        padding: 10px 5px !important;
    }

    body.woocommerce-cart .product-thumbnail img {
        max-width: 55px !important;
    }

    body.woocommerce-cart .coupon {
        flex-direction: column !important;
    }

    body.woocommerce-cart .coupon input.input-text,
    body.woocommerce-cart .coupon button {
        width: 100% !important;
    }
}

/* =========================================================
   REMOVE COMMON EMPTY SPACES
   ========================================================= */

body.woocommerce-cart .woocommerce-cart-form::before,
body.woocommerce-cart .woocommerce-cart-form::after,
body.woocommerce-cart .cart-collaterals::before,
body.woocommerce-cart .cart-collaterals::after {
    display: none !important;
    content: none !important;
}

/* Prevent accidental horizontal overflow */
body.woocommerce-cart {
    overflow-x: hidden !important;
}/* End custom CSS */