﻿/* =========================================================
   CART PAGE
   ========================================================= */

.cart-page {
    width: 100%;
    max-width: 100%;
    color: var(--ui-color-black);
    font-family: SegoeUIVar, "Segoe UI", system-ui, sans-serif;
    overflow-x: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.cart-hero {
    width: 100%;
    height: clamp( 120px, 12vw, 180px );
    overflow: hidden;
}

    .cart-hero img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


/* =========================================================
   CART SECTION
   ========================================================= */

.cart-section {
    width: 100%;
    min-height: 560px;
    padding: 28px 0 100px;
    background: var(--ui-color-white);
}


/* =========================================================
   CONTAINER
   ========================================================= */

.cart-container {
    width: min( calc(100% - 40px), 700px );
    margin-inline: auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.cart-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--ui-color-black);
}


.cart-title {
    margin: 0;
    color: var(--ui-color-gold);
    font-family: Sabon, Georgia, serif;
    font-size: var(--ui-font-size-title);
    font-weight: 600;
    line-height: 1;
}


.cart-item-count {
    color: #777;
    font-family: Sabon, "Segoe UI", system-ui, sans-serif;
    font-size: var(--ui-font-size-title);
    font-weight: 600;
    line-height: 1;
}


/* =========================================================
   TABLE
   ========================================================= */

.cart-table {
    width: 100%;
}


/* =========================================================
   TABLE HEADER
   ========================================================= */

.cart-table-header,
.cart-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 110px 90px 90px;
    column-gap: 15px;
    width: 100%;
}


/* Header */

.cart-table-header {
    min-height: 42px;
    align-items: center;
    color: #888;
    font-size: var(--ui-font-size-normal);
    font-weight: 500;
    line-height: 1;
    border-bottom: 0;
}


/* =========================================================
   COLUMNS
   ========================================================= */

.cart-col-details,
.cart-details {
    text-align: left;
}

.cart-col-quantity,
.cart-quantity {
    text-align: center;
}

.cart-col-price,
.cart-price {
    text-align: center;
}

.cart-col-total,
.cart-total {
    text-align: right;
}


/* =========================================================
   ROW
   ========================================================= */

.cart-row {
    min-height: 52px;
    align-items: start;
    padding: 7px 0;
}


/* =========================================================
   PRODUCT DETAILS
   ========================================================= */

.cart-product-name {
    color: var(--ui-color-black);
    font-size: var(--ui-font-size-normal);
    font-weight: 500;
    line-height: 1.25;
}

.cart-product-variant {
    margin-top: 3px;
    padding-left: 12px;
    color: #888;
    font-size: var(--ui-font-size-normal);
    line-height: 1.2;
}


/* =========================================================
   QUANTITY
   ========================================================= */

.cart-quantity {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 20px;
}

.cart-quantity-button {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ui-color-black);
    font-family: SegoeUIVar, "Segoe UI", system-ui, sans-serif;
    font-size: var(--ui-font-size-normal);
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

    .cart-quantity-button:hover {
        color: var(--ui-color-gold);
    }

.cart-quantity-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12px;
    font-size: var(--ui-font-size-normal);
}


/* =========================================================
   PRICE / TOTAL
   ========================================================= */

.cart-price,
.cart-total {
    color: var(--ui-color-black);
    font-size: var(--ui-font-size-normal);
    line-height: 1.25;
}


/* =========================================================
   SUMMARY
   ========================================================= */

.cart-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    padding-top: 15px;
    border-top: 1px solid var(--ui-color-black);
}


/* =========================================================
   GRAND TOTAL
   ========================================================= */

.cart-subtotal {
    margin-bottom: 5px;
    color: #777;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}
.cart-tax {
    margin-bottom: 5px;
    color: #777;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
}

.cart-grand-total {
    margin-bottom: 15px;
    color: #777;
    font-size: 21px;
    font-weight: 600;
    line-height: 1;
}



/* =========================================================
   CHECKOUT BUTTON
   ========================================================= */

.cart-checkout-button {
    min-width: 200px;
    height: 35px;
    padding: 0 20px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    background: var(--ui-color-gold) !important;
    color: var(--ui-color-white) !important;
    font-family: var(--font-family);
    font-size: var(--ui-font-size-small);
    font-weight: 600;
    cursor: pointer;
    margin-bottom:10px !important;
}

    .cart-checkout-button .white {
        background-color: #fff !important;
        color: var(--ui-color-gold) !important;
        border: solid 1px var(--ui-color-gray) !important;
    }


    .cart-checkout-button:hover {
        background: var(--ui-color-black) !important;
    }


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1100px) {

    .cart-container {
        width: min( calc(100% - 50px), 700px );
    }

    .cart-table-header,
    .cart-row {
        grid-template-columns: minmax(0, 1fr) 100px 80px 80px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .cart-hero {
        height: 130px;
    }


    .cart-section {
        min-height: auto;
        padding: 25px 0 60px;
    }


    .cart-container {
        width: calc(100% - 36px);
    }


    /* -----------------------------------------------------
       Header
       ----------------------------------------------------- */

    .cart-header {
        padding-bottom: 14px;
    }

    .cart-title {
        font-size: 27px;
    }

    .cart-item-count {
        font-size: 17px;
    }


    /* -----------------------------------------------------
       Table
       ----------------------------------------------------- */

    .cart-table-header,
    .cart-row {
        grid-template-columns: minmax(0, 1fr) 70px 65px 65px;
        column-gap: 7px;
    }


    .cart-table-header {
        min-height: 38px;
        font-size: var(--ui-font-size-normal);
    }


    .cart-row {
        min-height: 52px;
    }


    .cart-product-name {
        font-size: var(--ui-font-size-normal);
    }

    .cart-product-variant {
        font-size: var(--ui-font-size-small);
    }


    .cart-quantity-button,
    .cart-quantity-value {
        font-size: var(--ui-font-size-normal);
    }


    .cart-price,
    .cart-total {
        font-size: var(--ui-font-size-normal);
    }


    /* -----------------------------------------------------
       Summary
       ----------------------------------------------------- */

    .cart-summary {
        padding-top: 12px;
    }
    .cart-subtotal {
        font-size: var(--ui-font-size-normal);
        margin-bottom: 5px;
    }
    .cart-tax {
        font-size: var(--ui-font-size-normal);
        margin-bottom: 5px;
    }
    .cart-grand-total {
        font-size: var(--ui-font-size-large);
        margin-bottom: 13px;
    }

    .cart-checkout-button {
        min-width: 185px;
        min-height: 40px;
        font-size: var(--ui-font-size-normal);
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

    .cart-container {
        width: calc(100% - 16px);
    }

    .cart-table-header,
    .cart-row {
        grid-template-columns: minmax(0, 1fr) 60px 55px 55px;
        column-gap: 5px;
    }

    .cart-product-name {
        font-size: var(--ui-font-size-normal);
    }

    .cart-product-variant {
        font-size: var(--ui-font-size-normal);
    }

    .cart-checkout-button {
        width: 100%;
    }
}
