/* =========================================
   CART TABLE
========================================= */


.woocommerce-cart-form__cart-item td{
    font-weight: 400;
}

.woocommerce-Price-amount bdi{
    font-weight: 400;
}

.wc-empty-cart-message{
    margin-bottom: 20px;
}

.woocommerce-cart-form__contents {
    width: 100%;
    border: 0 !important;
    border-collapse: collapse;
}

.woocommerce-cart-form__contents thead th {
    padding: 0 10px 35px;
    border: 0 !important;
    border-bottom: 2px solid #555 !important;
    text-align: left;
    font-size: 16px;
    font-weight: 600;
}

.woocommerce-cart-form__contents tbody td {
    padding: 25px 10px;
    border: 0 !important;
    text-align: left;
    vertical-align: middle;
    font-size: 16px;
}

/* Remove button alignment */
.woocommerce-cart-form__contents td.product-remove {
    width: 40px;
    min-width: 40px;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

.woocommerce-cart-form__contents td.product-remove .remove {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    margin: 0 auto;

    color: #f44336 !important;
    font-size: 26px !important;
    font-weight: 400;
    line-height: 24px !important;

    text-decoration: none !important;
}

/* PRODUCT */
.woocommerce-cart-form__contents .product-name {
    width: 28%;
    white-space: nowrap;
    min-width: 310px;
}

/* MATERIAL */
.woocommerce-cart-form__contents .product-material {
    width: 20%;
}

/* LOCATION */
.woocommerce-cart-form__contents .product-location {
    width: 12%;
}

/* QUANTITY */
.woocommerce-cart-form__contents .product-quantity {
    width: 10%;
}

/* PRICE */
.woocommerce-cart-form__contents .product-price {
    width: 10%;
}

/* VAT */
.woocommerce-cart-form__contents .product-vat {
    width: 10%;
}

/* TOTAL */
.woocommerce-cart-form__contents .product-subtotal {
    width: 10%;
}
/* REMOVE */

.woocommerce-cart-form__contents .product-remove {
    width: 30px;
    text-align: center;
}

.woocommerce-cart-form__contents .product-remove .remove {
    color: #f44336 !important;
    font-size: 38px;
    line-height: 1;
    font-weight: 300;
    text-decoration: none;
}


/* =========================================
   QUANTITY
========================================= */

.woocommerce-cart-form__contents .quantity input.qty {
    width: 62px;
    height: 26px;
    padding: 3px 8px;
    border: 1px solid #ccc;
    border-radius: 0;
    text-align: center;
}


/* =========================================
   TOTAL ROW
========================================= */

.woocommerce-cart-form__contents .cart-total-row td {
    padding-top: 35px;
    padding-bottom: 20px;
    border-top: 2px solid #555 !important;
}

.woocommerce-cart-form__contents .cart-total-label {
    font-weight: 600;
}

.woocommerce-cart-form__contents .cart-total-amount {
    font-weight: 700;
}

/* =========================================
   CART BOTTOM ACTIONS
========================================= */

.cart-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 30px;
}


/* LEFT - ADD MORE SKIPS */

.cart-bottom-actions .add-more-skips {
    margin: 0;
    white-space: nowrap;
}


/* RIGHT ACTIONS */

.cart-bottom-actions__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}


/* COUPON */

.cart-bottom-actions__right .coupon {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.cart-bottom-actions__right .coupon input {
    width: 150px;
    height: 36px;
    margin: 0;
}

.cart-bottom-actions__right .coupon button,
.cart-bottom-actions__right .checkout-button,
.cart-bottom-actions .add-more-skips {
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}


/* CHECKOUT */

.cart-bottom-actions__right .checkout-button {
    white-space: nowrap;
}


.woocommerce button[name="update_cart"], 
.woocommerce input[name="update_cart"] { 
    display: none; 
}

a.button.add-more-skips, a.button.checkout-button {
    line-height: 0.7;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 768px) {

    .woocommerce-cart-form__contents thead {
        display: none;
    }

    .woocommerce-cart-form__contents tbody tr.cart_item {
        display: block;
        padding: 20px 0;
        border-bottom: 1px solid #ddd !important;
    }

    .woocommerce-cart-form__contents tbody tr.cart_item td {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 8px 0;
    }

    .woocommerce-cart-form__contents tbody tr.cart_item td::before {
        font-weight: 600;
    }
    

    .cart-bottom-actions {
        flex-direction: column;
        gap: 20px;
        align-items: stretch;
    }

    .cart-bottom-actions .coupon {
        width: 100%;
    }

    .cart-bottom-actions .checkout-button {
        text-align: center;
    }
}

@media (max-width: 768px) {

    /* Hide desktop-only total columns */
    .woocommerce-cart-form__contents .cart-total-row
    .cart-total-price,
    .woocommerce-cart-form__contents .cart-total-row
    .cart-total-vat {
        display: none !important;
    }

    /* Hide empty cells */
    .woocommerce-cart-form__contents .cart-total-row td:empty {
        display: none !important;
    }

    /* Remove responsive ":" */
    .woocommerce-cart-form__contents .cart-total-row td::before {
        display: none !important;
        content: none !important;
    }

    /* Total row */
    .woocommerce-cart-form__contents .cart-total-row {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        border-top: 2px solid #555 !important;
        border-bottom: 2px solid #555 !important;
        margin-top: 10px;
    }

    .woocommerce-cart-form__contents .cart-total-row td {
        display: block !important;
        width: auto !important;
        padding: 15px 0 !important;
        border: 0 !important;
    }

    .woocommerce-cart-form__contents .cart-total-label {
        font-weight: 600;
    }

    .woocommerce-cart-form__contents .cart-total-amount {
        font-weight: 700;
        margin-left: auto;
    }


    /* ==============================
       ADD MORE SKIPS
    ============================== */

    .cart-bottom-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        width: 100%;
    }

    .cart-bottom-actions .add-more-skips {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        text-align: center;
        margin: 0;
    }


    /* ==============================
       RIGHT ACTIONS
    ============================== */

    .cart-bottom-actions__right {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 20px;
        width: 100%;
    }


    /* ==============================
       COUPON
    ============================== */

    .cart-bottom-actions__right .coupon {
        display: flex;
        align-items: center;
        gap: 12px;
        width: calc(100% - 0px);
        margin: 0;
    }

    .cart-bottom-actions__right .coupon input {
        flex: 1;
        min-width: 0;
        width: auto;
        height: 36px;
        box-sizing: border-box;
        margin: 0;
    }

    .cart-bottom-actions__right .coupon button {
        flex: 0 0 auto;
        height: 36px;
        margin: 0;
        white-space: nowrap;
    }


    /* ==============================
       CHECKOUT
    ============================== */

    .cart-bottom-actions__right .checkout-button {
        width: 100%;
        height: 40px;
        margin: 0;
        box-sizing: border-box;
        text-align: center;
    }
}