:root {
    --primary-color: #440a67;
    --primary-color-blur: #430a6750;
    --secondary-color: #4ca1a3;
    --tertiary-color: #b4aee8;
    --orange: #fb9224;
    --red: #ff3333;
    --light-red: #fda8a8;
    --gray: #f4f4f4;
    --orange: #F7941E;
    --light-orange: rgba(247, 148, 30, 0.2);
    --black-text: #333;
    --gray-text: #888;
    --white: #fff;
}

#wrapper {
    background-image: url(../images/general/bookpattern.png);
}

main {
    max-width: 1024px;
    height: auto;
    margin: auto;
}
 
/* cart-empty css */
.cart-empty {
    width: 100%;
    height: auto;
    margin: 2rem 0;
    padding: 1rem 1rem 3rem;

    background-color: var(--white);

    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem var(--black-text);
}

.cart-empty .heading {
    width: 100%;
    height: auto;
    padding: 3.5rem 0 3rem;

    /* background-color: #ddd; */

    font-size: 3rem;
    text-align: center;
    font-weight: bold;
}

.cart-empty .contain-img {
    width: 100%;
    height: auto;
    padding: 0.5rem 0;

    /* background-color: #ff5; */

    text-align: center;
}

.cart-empty .contain-img img {
    width: 100%;
    max-width: 500px;
}

.cart-empty .note {
    width: 100%;
    height: auto;
    padding: 2rem 0 3rem;

    /* background-color: #ddd; */

    font-size: 2rem;
    text-align: center;
}

.cart-empty a {
    text-decoration: none;
}

.cart-empty a button.continue-shopping {
    display: block;

    width: fit-content;
    height: 4rem;
    margin: auto;
    padding: 0 4rem;

    background-color: var(--primary-color);
    color: var(--white);

    border: none;
    border-radius: 9rem;

    font-family: 'Open Sans';
    font-size: 1.8rem;
    font-weight: bolder;

    cursor: pointer;
    transition: 0.2s;
}

.cart-empty a button.continue-shopping:hover {
    background-color: var(--secondary-color);
}

/* cart-detail css */
.cart-detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

    width: 100%;
    height: auto;
    margin: 2rem 0;
    padding: 1rem 1rem 3rem;

    background-color: var(--gray);

    border-radius: 0.5rem;
    box-shadow: 0 0 0.5rem var(--black-text);
}

.cart-detail .heading {
    width: 100%;
    height: auto;
    padding: 3.5rem 0 3rem;

    /* background-color: #ddd; */

    font-size: 3rem;
    text-align: center;
    font-weight: bold;
}

.cart-detail ul.prod-list {
    list-style: none;

    width: calc(100% - 46rem);
    /* max-width: 50rem; */
    min-width: 40rem;
    height: auto;
    padding: 1rem 0 0;

    /* background-color: #eee; */
}

.cart-detail .prod-item {
    display: flex;
    justify-content: space-around;

    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    padding: 0.5rem;

    background-color: var(--white);

    border-radius: 0.5rem;
    box-shadow: 0 0 0.2rem var(--gray-text);
}

.cart-detail .prod-item:last-child {
    margin-bottom: 0;
}


.cart-detail .contain-img {
    width: 12rem;
    height: 12rem;

    background-color: var(--gray);

    border-radius: 0.5rem;

    text-align: center;
}

.cart-detail .contain-img img {
    width: auto;
    height: 100%;

    border-radius: 0.3rem;
}

.cart-detail .contain-inf {
    width: calc(100% - 13rem);
    min-width: 25rem;
    height: 12rem;
    padding-left: 0.5rem;

    /* background-color: var(--gray); */

    border-radius: 0.5rem;
}

.cart-detail .prod-inf {
    width: 100%;
    height: 9rem;

    /* background-color: #ccc; */
}

.cart-detail .prod-name {
    display: block;

    width: 100%;
    height: 3.5rem;

    /* background-color: lightblue; */

    font-size: 1.8rem;
    line-height: 3.5rem;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.cart-detail .prod-item .price {
    display: block;

    width: 100%;
    height: 3rem;

    /* background-color: lightcyan; */
    color: var(--orange);

    font-size: 1.8rem;
    line-height: 3rem;
    font-weight: bold;
}

.cart-detail .old-price {
    display: block;

    width: 100%;
    height: 2.5rem;

    /* background-color: lightblue; */
    color: var(--gray-text);

    text-indent: 0.2rem;
    font-size: 1.4rem;
    text-decoration: line-through;
}

.cart-detail .quantity {
    display: flex;
    justify-content: space-between;

    width: 100%;
    height: 3rem;

    /* background-color: lightcyan; */
}

.cart-detail .handling {
    display: grid;
    grid-template-columns: repeat(3, 3rem);
    grid-template-rows: 3rem;

    width: 9rem;
    height: 3rem;

    /* background-color: #fff; */

    border-radius: 0.5rem;

    overflow: hidden;
}

.cart-detail .prod-item input {
    background-color: var(--white);
    color: var(--black-text);

    border: none;
    border-top: 0.2rem solid var(--secondary-color);
    border-bottom: 0.2rem solid var(--secondary-color);
    outline: none;

    font-family: 'Open Sans';
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.cart-detail .sub,
.cart-detail .add {
    background-color: var(--secondary-color);
    color: var(--white);

    line-height: 3rem;
    text-align: center;
    font-size: 1.4rem;

    cursor: pointer;
}

.cart-detail .sub:hover,
.cart-detail .add:hover {
    font-size: 2rem;
}

.cart-detail .prod-item .warning {
    display: block;

    width: 11rem;
    height: 3rem;

    /* background-color: lightgray; */
    color: var(--red);

    font-size: 1rem;
    line-height: 1.5rem;
    text-align: center;
}

.cart-detail .cancel {
    display: block;

    width: 3rem;
    height: 3rem;

    /* background-color: #fff; */
    color: var(--primary-color);

    line-height: 3rem;
    text-align: center;
    font-size: 2.4rem;

    transition: 0.2s;
    cursor: pointer;
}

.cart-detail .cancel:hover {
    color: var(--secondary-color);
}

.cart-detail .pay-area {
    width: 45rem;
    height: auto;
    margin-top: 1rem;

    background-color: var(--white);

    border-radius: 0.5rem;
}

.cart-detail .discount-code {
    width: 100%;
    height: auto;
    margin: 0 0 1rem;
    padding: 1rem;

    /* background-color: lightskyblue; */
}

.cart-detail .discount-code .title {
    width: 100%;
    height: 3.5rem;

    /* background-color: #ccc; */

    font-size: 1.8rem;
    line-height: 3.5rem;
}

.cart-detail .discount-code .title button.view-more {
    float: right;

    width: auto;
    height: 3.5rem;

    background-color: transparent;
    color: var(--primary-color);

    border: none;
    outline: none;

    font-family: 'Open Sans';
    font-size: 1.4rem;
    font-weight: bolder;

    cursor: pointer;
    transition: 0.2s;
}

.cart-detail .title button.view-more:hover {
    color: var(--secondary-color);
}

.cart-detail .enter-code {
    display: flex;
    justify-content: space-between;
    align-items: center;

    width: 100%;
    height: 5rem;

    /* background-color: #ddd; */
}

.cart-detail .enter-code input {
    width: calc(100% - 11rem);
    height: 3rem;

    border-radius: 0.3rem;
    border: 0.1rem solid var(--tertiary-color);
    outline: none;

    color: var(--black-text);

    padding: 0 1rem;

    font-size: 1.8rem;
    font-family: 'Open Sans', sans-serif;
}

.cart-detail .enter-code input:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 0.4rem var(--primary-color-blur);
}

.cart-detail .enter-code button.apply {
    width: 10rem;
    height: 3rem;
    margin: 0;

    background-color: var(--primary-color);
    color: var(--white);

    border: none;
    border-radius: 0.5rem;

    font-size: 1.4rem;

    cursor: pointer;
    transition: 0.2s;
}

.cart-detail .enter-code button.apply:hover {
    background-color: var(--secondary-color);
}

.cart-detail .total {
    width: 100%;
    height: auto;
    margin: 1rem 0;
    padding: 1rem;

    /* background-color: lightskyblue; */

    border-top: 0.4rem dashed var(--gray);
    border-bottom: 0.4rem dashed var(--gray);
}

.cart-detail .total .content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

    width: 100%;
    height: auto;

    /* background-color: #555; */
}

.cart-detail .total .title {
    display: block;

    width: 14rem;
    height: 3.5rem;

    /* background-color: lightpink; */

    font-family: arial, sans-serif;
    font-size: 1.8rem;
    line-height: 3.7rem;
}

.cart-detail .total .price {
    display: block;

    width: fit-content;
    height: 3.5rem;

    /* background-color: lightblue; */
    color: var(--orange);

    font-family: arial, sans-serif;
    font-size: 2rem;
    font-weight: bold;
    line-height: 3.5rem;
}

.cart-detail .total .price.error {
    color: var(--red);
    font-size: 1.2rem;
    font-weight: normal;
}

.cart-detail .total button.pay {
    display: block;

    width: fit-content;
    height: 4rem;
    margin: 1rem auto;
    padding: 0 4rem;

    background-color: var(--primary-color);
    background-image: linear-gradient(to right, var(--primary-color), var(--secondary-color), var(--primary-color));
    color: var(--white);

    border: none;
    border-radius: 9rem;

    font-family: 'Open Sans';
    font-size: 1.8rem;
    font-weight: bolder;

    cursor: pointer;
}

.cart-detail .total button.pay:hover {
    background-image: none;

    box-shadow: 0 0 0 0.4rem var(--primary-color-blur);

    animation: pay-now 1.5s infinite;
}

@keyframes pay-now {
    0% {
        background-color: var(--primary-color);
    }

    50% {
        background-color: var(--secondary-color);
    }

    100% {
        background-color: var(--primary-color);
    }
}

@media all and (max-width: 900px){
    /* cart-detail css */
    .cart-detail ul.prod-list {
        width: calc(100% - 42rem);
    }  

    .cart-detail .pay-area {
        width: 41rem;
    }
}
@media all and (max-width: 800px){
    /* cart-detail css */
    .cart-detail {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

        width: 100%;
        height: auto;
        margin: 2rem 0;
        padding: 1rem 1rem 3rem;

        background-color: var(--gray);

        border-radius: 0.5rem;
        box-shadow: 0 0 0.5rem var(--black-text);
    }
    .cart-detail ul.prod-list {
        list-style: none;

        width: 100%;
        max-width: 70rem;
        /* max-width: 50rem; */
        min-width: 40rem;
        height: auto;
        padding: 1rem 0 0;

        /* background-color: #eee; */
    }  

    .cart-detail .pay-area {
        width: 100%;
        max-width: 70rem;
        height: auto;
        margin-top: 1rem;

        background-color: var(--white);

        border-radius: 0.5rem;
    }
}