*{
    box-sizing: border-box;
}
html, body {
    margin: 0;
    padding: 0;
}
body {
    display: flex;
    justify-content: space-between;
    padding: 20px 25px;
    flex-direction: column;
}
.title-cart {
    font-size: 48px;
    font-weight: 700;
    font-family: 'Playfair Display';
    text-align: center;
    padding-bottom: 30px;
}

.container {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px 40px;
}

.default-cart {
    display: none;
    align-items: center;
    justify-content: center;
    width: 100vw;
}
.default-cart p{
    font-size: 30px;
    font-weight: 500;
    font-family: 'Roboto';
    padding-top: 30px;
    text-align: center;    
}
.default-cart p a {
    color: #333;
}
.default-cart p a:visited {
    color: #515050;
}
/*----product list----*/
.cartProducts {
    display: flex;
    flex-direction: column;
}
.product-list-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    font-size: 24px;
    grid-template-areas: 
    "image-title details-title update-title";
    color: rgb(40, 40, 38);
    margin-top: 40px;
}
.product-details-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    font-size: 24px;
    margin-bottom: 20px;
    margin-top: 20px;
    grid-template-areas: 
    "image details quantity";
}
.image-title {
    grid-area: image-title;
    font-weight: 700;
}
.details-title {
    grid-area: details-title;
    font-weight: 700;
}
.update-title {
    grid-area: update-title;
    font-weight: 700;
}
.picture-cart{
    height: 170px;
    grid-area: image;
    display: flex;
    justify-content: center;
    align-items: center;
}
.details {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.description-cart, .company-cart {
    max-width: 10vw;
    font-size: 18px;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
}
.company-cart {
    font-family: 'Quintessential';
    color: #515050;
    padding-bottom: 5px;
}
.pricing-cart {
    padding-top: 10px;
    font-size: 18px;
    display: flex;
    align-items: center;
    font-weight: 600;
}
.quantity-control { 
    grid-area: quantity;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
}
.increase {
    margin-left: 20px;
    font-size: 20px;
    font-weight: 700;
}
.decrease {
    margin-right: 20px;
    font-size: 20px;
    font-weight: 700;
}

/*---product list end---*/


/*----checkout-----*/
.checkOut {
    background-color: rgb(212, 212, 202);
    font-family: 'Inter';
    padding: 20px 40px;
    width: 35vw;
    padding-bottom: 40px;
    box-shadow: 0 0 3px 0 #3a3838;
    max-height: fit-content;
}
.temp-total {
    display: flex;
    flex-direction: row;
    font-size: 18px;
    justify-content: space-between;
}
.count-total.temp-total {
    font-size: 20px;
    font-weight: 600;
}
.divider {
    border: none;
    border-bottom: 2px solid #333;
}
#coupon {
    margin-bottom: 30px;
    box-shadow: 0 0px 6px 0 #333;
    width: 60%;
    border: transparent;
    height: 3vh;
    background-color: rgb(246, 246, 237);
}
.apply {
    font-size: 17px;
    color: rgb(255, 255, 255);
    font-weight: 300;
    font-family: 'Quintessential';
    text-transform: uppercase;
    border: transparent;
    box-shadow: 0 0 3px 0 #000000;
    margin-left: 20px;
    background-color: #3a3838;
    padding: 10px 15px;
}

.pay {
    font-size: 20px;
    color: rgb(255, 255, 255);
    font-weight: 500;
    font-family: 'Quintessential';
    text-transform: uppercase;
    border: transparent;
    box-shadow: 0 0 3px 0 #000000;
    background-color: #3a3838;
    padding: 10px 15px;
    margin-top: 30px;
    width: 100%;
}


/*----cart products----*/
.cartProducts {
    font-family: 'Inter';
    padding: 20px 40px;
    width: 52vw;
    padding-bottom: 40px;
    box-shadow: 0 0 3px 0 #3a3838;
}


.attribution {
    margin-top: 100px;
    text-align: center;
    font-family: 'Playfair Display';
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 40px;
}

.new.divider {
    margin-top: 10px;
    margin-bottom: 10px;
}


@media (max-width: 768px) {
    .container {
        flex-direction: column;
        width: 100vw;
        margin: 0;
    }
    .checkOut {
        margin-top: 40px;
        width: 80vw;
    }
    body{
        padding: 0;
    }
    #coupon {
        width: 50%;
    }
    .cartProducts {
        width: 80vw;
        padding: 10px 20px;
        padding-bottom: 30px;
    }
    .product-list-container {
        display: none;
        margin-top: 0;
        margin-bottom: 0;
        padding: 0;
    }
    .product-details-container {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: 
        "image details"
        "quantity quantity";
    }
    .description-cart, .company-cart {
        max-width: fit-content;
    }
    .quantity-control {
        display: flex;
        justify-content: last baseline;
    }
    .subtotal, .subtotal-main, .total {
        max-width: 10vw;
    }
    .new.divider {
        display: none;
    }
    .pay {
        width: 100%;
    }
    .apply {
        margin-bottom: 30px;
    }
}