/* ==================================================
   CART PAGE - WOOCOMMERCE BLOCK
================================================== */

/* Main cart area */
.wc-block-cart {
    font-size: 16px;
}

/* ==================================================
   TABLE HEADER
================================================== */

.wc-block-cart-items__header {
    font-size: 16px;
    font-weight: 700;
}

.wc-block-cart-items__header th {
    padding-bottom: 18px;
}

/* ==================================================
   PRODUCT ROW
================================================== */

.wc-block-cart-items__row {
    transition:
        background-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* Product row hover */
.wc-block-cart-items__row:hover {
    background-color: #fafafa;
}

/* ==================================================
   PRODUCT IMAGE
================================================== */

.wc-block-cart-item__image img {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 10px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.wc-block-cart-items__row:hover
.wc-block-cart-item__image img {
    transform: scale(1.05);

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.12);
}

/* ==================================================
   PRODUCT NAME
================================================== */

.wc-block-components-product-name {
    font-size: 17px !important;
    font-weight: 600 !important;

    color: #222 !important;
    text-decoration: none !important;

    transition:
        color 0.2s ease;
}

.wc-block-components-product-name:hover {
    color: #d92525 !important;
}

/* ==================================================
   PRODUCT DESCRIPTION
================================================== */

.wc-block-components-product-metadata__description {
    font-size: 14px;
    line-height: 1.5;

    color: #666;
}

/* ==================================================
   PRODUCT PRICE
================================================== */

.wc-block-components-product-price__value {
    font-size: 16px;
    font-weight: 600;
}

.wc-block-components-product-price__regular {
    color: #888;
}

.wc-block-components-product-price__value.is-discounted {
    color: #d92525;
    font-weight: 700;
}

/* ==================================================
   QUANTITY
================================================== */

.wc-block-components-quantity-selector {
    border-radius: 8px !important;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.wc-block-components-quantity-selector:hover {
    border-color: #d92525;
}

.wc-block-components-quantity-selector__input {
    font-size: 15px !important;
    font-weight: 600 !important;
}

.wc-block-components-quantity-selector__button {
    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.wc-block-components-quantity-selector__button:hover {
    background-color: #d92525 !important;
    color: #fff !important;
}

/* ==================================================
   REMOVE BUTTON
================================================== */

.wc-block-cart-item__remove-link {
    font-size: 14px !important;
    font-weight: 600 !important;

    color: #777 !important;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.wc-block-cart-item__remove-link:hover {
    color: #d92525 !important;
    transform: translateY(-1px);
}

/* ==================================================
   TOTAL COLUMN
================================================== */

.wc-block-cart-item__total {
    font-size: 17px;
    font-weight: 700;
}

/* ==================================================
   CART TOTALS
================================================== */

.wc-block-cart__sidebar {
    border-radius: 12px;
}

/* Cart totals heading */

.wc-block-cart__totals-title {
    font-size: 22px !important;
    font-weight: 700 !important;
}

/* Estimated total */

.wc-block-components-totals-footer-item {
    font-size: 17px;
}

.wc-block-components-totals-item__label {
    font-weight: 600;
}

.wc-block-components-totals-footer-item-tax-value {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #d92525;
}

/* ==================================================
   COUPON
================================================== */

.wc-block-components-totals-coupon {
    transition:
        background-color 0.2s ease;
}

.wc-block-components-panel__button:hover {
    color: #d92525;
}

/* ==================================================
   PROCEED TO CHECKOUT
================================================== */

.wc-block-cart__submit-button {
    border-radius: 9px !important;

    font-size: 17px !important;
    font-weight: 700 !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.wc-block-cart__submit-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(217, 37, 37, 0.25);
}

/* ==================================================
   CART - RESPONSIVE
   WooCommerce Cart Block
================================================== */

/* ==================================================
   TABLET
================================================== */

@media (max-width: 1024px) {

    .wp-block-woocommerce-cart {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wc-block-cart {
        width: 100% !important;
        max-width: 100% !important;
    }

    .wc-block-cart__main,
    .wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 100% !important;
    }

}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 768px) {

    /* ------------------------------------------
       Main cart container
    ------------------------------------------ */

    .wp-block-woocommerce-cart {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 15px !important;
        padding-right: 15px !important;

        box-sizing: border-box !important;
    }

    .wc-block-cart {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
    }


    /* ------------------------------------------
       Cart main section
    ------------------------------------------ */

    .wc-block-cart__main {
        width: 100% !important;
        max-width: 100% !important;

        min-width: 0 !important;
    }


    /* ------------------------------------------
       Product table
    ------------------------------------------ */

    .wc-block-cart-items {
        width: 100% !important;
        max-width: 100% !important;

        table-layout: fixed !important;
    }

    .wc-block-cart-items__row {
        width: 100% !important;
    }


    /* ------------------------------------------
       Product image
    ------------------------------------------ */

    .wc-block-cart-item__image {
        width: 70px !important;
    }

    .wc-block-cart-item__image img {
        width: 60px !important;
        height: 60px !important;

        object-fit: cover;

        border-radius: 8px;
    }


    /* ------------------------------------------
       Product information
    ------------------------------------------ */

    .wc-block-cart-item__product {
        min-width: 0 !important;

        padding-right: 8px !important;
    }

    .wc-block-components-product-name {
        display: block !important;

        font-size: 15px !important;
        line-height: 1.35 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .wc-block-components-product-metadata {
        max-width: 100% !important;
    }

    .wc-block-components-product-metadata__description {
        font-size: 12px !important;
        line-height: 1.4 !important;

        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }


    /* ------------------------------------------
       Product price
    ------------------------------------------ */

    .wc-block-components-product-price {
        white-space: nowrap !important;

        font-size: 14px !important;
    }

    .wc-block-components-product-price__value {
        font-size: 14px !important;
    }


    /* ------------------------------------------
       Quantity
    ------------------------------------------ */

    .wc-block-cart-item__quantity {
        max-width: 130px !important;
    }

    .wc-block-components-quantity-selector {
        max-width: 120px !important;

        min-height: 36px !important;
    }

    .wc-block-components-quantity-selector__input {
        font-size: 14px !important;
    }


    /* ------------------------------------------
       Remove
    ------------------------------------------ */

    .wc-block-cart-item__remove-link {
        font-size: 12px !important;
    }


    /* ------------------------------------------
       Item total
    ------------------------------------------ */

    .wc-block-cart-item__total {
        width: auto !important;

        white-space: nowrap !important;

        font-size: 14px !important;
        font-weight: 700 !important;
    }


    /* ------------------------------------------
       Cart sidebar
    ------------------------------------------ */

    .wc-block-cart__sidebar {
        width: 100% !important;
        max-width: 100% !important;

        margin-top: 25px !important;

        box-sizing: border-box !important;
    }


    /* ------------------------------------------
       Cart totals
    ------------------------------------------ */

    .wc-block-components-totals-wrapper {
        width: 100% !important;
    }

    .wc-block-components-totals-item {
        display: flex !important;

        justify-content: space-between !important;
        align-items: center !important;

        gap: 15px !important;
    }

    .wc-block-components-totals-item__label {
        min-width: 0 !important;

        font-size: 14px !important;
    }

    .wc-block-components-totals-item__value {
        white-space: nowrap !important;

        font-size: 14px !important;
    }


    /* ------------------------------------------
       Total
    ------------------------------------------ */

    .wc-block-components-totals-footer-item {
        display: flex !important;

        justify-content: space-between !important;
        align-items: center !important;

        gap: 15px !important;
    }

    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value {
        white-space: nowrap !important;

        font-size: 18px !important;
        font-weight: 700 !important;
    }


    /* ------------------------------------------
       Checkout
    ------------------------------------------ */

    .wc-block-cart__submit {
        width: 100% !important;
    }

    .wc-block-cart__submit-button {
        width: 100% !important;

        min-height: 48px !important;

        font-size: 16px !important;
    }

}


/* ==================================================
   SMALL PHONES
================================================== */

@media (max-width: 480px) {

    .wp-block-woocommerce-cart {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }


    /* Product image */
    .wc-block-cart-item__image {
        width: 60px !important;
    }

    .wc-block-cart-item__image img {
        width: 52px !important;
        height: 52px !important;
    }


    /* Product name */
    .wc-block-components-product-name {
        font-size: 14px !important;
    }


    /* Description */
    .wc-block-components-product-metadata__description {
        font-size: 11px !important;
    }


    /* Product price */
    .wc-block-components-product-price,
    .wc-block-components-product-price__value {
        font-size: 13px !important;
    }


    /* Quantity */
    .wc-block-components-quantity-selector {
        max-width: 110px !important;
    }


    /* Item total */
    .wc-block-cart-item__total {
        font-size: 13px !important;
    }


    /* Totals */
    .wc-block-components-totals-item__label,
    .wc-block-components-totals-item__value {
        font-size: 13px !important;
    }

    .wc-block-components-totals-footer-item
    .wc-block-components-totals-item__value {
        font-size: 17px !important;
    }

}