header {
    height: auto;
}

footer {
    margin-top: 101px;
}

.cart-section {

}

.cart-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px;
    margin-top: 30px;
    margin-bottom: 0px;
}

.cart-body { 
    display: flex;
    justify-content: center;
    align-items: flex-end;
    flex-direction: column;
    /*max-width: 800px;*/
    margin: 40px;
    margin-top: 0px;
    gap: 20px;
    padding: 10px;
    border-radius: 10px;
    overflow: hidden;
}

.payment-process {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    width: 100%;
}

.payment-process-step {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.payment-process-step-selected h1 {
    color: black !important;
}

.payment-process-step-selected .process-step-number {
    background: black !important;
}

.payment-process-step h1 {
    white-space: nowrap;
    color: gray;
}

.process-step-number {
    background: gray;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 27px;
    padding: 6px;
    padding-left: 11px;
    font-size: 15px;
}

.payment-process-separator {
    font-size: 18px;
}

.shopping-cart-table {
    width: 100%;
    border-collapse: collapse;
}

.shopping-cart-table th, td {
    border: solid 1px gray;
    padding: 10px;
}

.shopping-cart-table img {
    height: 100px;
}

.shopping-cart-table .remove-product-icon {
    color: red;
    cursor: pointer;
}

.continue-shopping-link {
    float: right;
    background: var(--green-2-color);
    padding: 10px;
    text-decoration: none;
    color: black;
    font-weight: 600;
    border-radius: 30px;
    cursor: pointer;
}

.quantity-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
}

.quantity-container .reduce-quantity {
    padding: 8px;
    border: solid 1px var(--green-2-color);
    border-radius: 10px;
    font-size: 15px;
    cursor: pointer;
}

.quantity-container .add-quantity {
    padding: 8px;
    border: solid 1px var(--green-2-color);
    border-radius: 10px;
    font-size: 15px;
    cursor: pointer;
}

.quantity-container .quantity-input {
    border: solid 1px gray;
    border-radius: 10px;
    padding: 7px;
    width: 46px;
    font-size: 16px;
    text-align: center;
}

.cart-total {
    width: 400px;
    background: #ebe4e4;
    padding: 10px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cart-total .cart-total-title {
    background: var(--green-2-color);
    padding: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: center;
    border-radius: 30px;
    font-weight: 600;
    margin-bottom: 10px;
    width: 100%;
}

.cart-total .cart-total-table {
    border-collapse: collapse;
    width: 80%;
    text-align: left;
    margin-bottom: 10px;
}

.cart-total .proceed-checkout-link {
    float: right;
    background: var(--green-2-color);
    padding: 10px;
    text-decoration: none;
    color: black;
    font-weight: 600;
    border-radius: 30px;
    cursor: pointer;
}

.shopping-cart-table-wrapper {
    width: 100%;
}

.order-container {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
}

.order-container .billing-details {
    flex: 1;
    background: #e5e3e3;
    padding: 10px;
    border-radius: 10px;
    border: solid 1px gray;
}

.billing-details .billing-details-title {
    background: var(--green-2-color);
    padding: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 31px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 10px;
}

.billing-details .user-infos {
    display: flex;
    gap: 10px;
}

.billing-details .user-infos div {
    margin-bottom: 10px;
    flex: 1;
}

.billing-details .user-infos input {
    padding: 10px;
    border: solid 1px gray;
    border-radius: 10px;
    margin-top: 5px;
    width: 100%;
}

.billing-details .user-infos span {
    color: red;
}

.order-container .order-details {
    flex: 1;
    background: #e5e3e3;
    padding: 10px;
    border-radius: 10px;
    border: solid 1px gray;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.order-details .order-details-title {
    background: var(--green-2-color);
    padding: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 31px;
    text-align: center;
    font-weight: 600;
    margin-bottom: 10px;
    width: 100%;
}

.order-details-table {
    border-collapse: collapse;
}

.order-details-table th, td {
    border: solid 1px gray;
    padding: 10px;
}

.order-details-table .product-row {
    border: solid 1px lightgray;
}

.order-details-table .product-row td {
    border: none;
}

.place-order-link {
    background: var(--green-2-color);
    padding: 10px;
    border-radius: 33px;
    text-decoration: none;
    color: black;
    margin-top: 10px;
    font-weight: 600;
}

.order {
    width: 100%;
    text-align: center;
}

.order a {
    background: var(--green-2-color);
    padding: 10px;
    display: inline-block;
    border-radius: 30px;
    text-decoration: none;
    color: black;
    margin-top: 10px;
}

.success-container {
    max-width: 400px;
    margin: auto;
    box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.2);
    padding: 10px;
    overflow: hidden;
}

.success-icon {
    color: green;
    font-size: 32px;
}

.cancel-container {
    max-width: 400px;
    margin: auto;
    box-shadow: 0px 0px 11px rgba(0, 0, 0, 0.2);
    padding: 10px;
}

.woocommerce {
    margin: auto;
}



/**
* Mobile
*/

@media (max-width: 600px) {
    .cart-head {
        margin: 20px;
        margin-top: 20px;
    }

    .cart-body {
        margin: 20px;
        padding: 0px;
    }

    .payment-process {
        font-size: 7px;
    }

    .payment-process-step h1 {
        white-space: normal;
    }

    .process-step-number {
        min-width: 25px;
        min-height: 25px;
        max-width: 25px;
        max-height: 25px;
        font-size: 16px;
        padding: 4px;
        padding-left: 9px;
    }

    .shopping-cart-table-wrapper {
        width: 100%;
        overflow-y: scroll;
    }

    .cart-total {
        width: 100%;
    }

    footer {
        margin-top: 108px;
    }

    .order-container {
        flex-direction: column;
    }

    .order-container .order-details {
        width: 100%;
    }

    .order-container .billing-details {
        width: 100%;
    }

    .billing-details .user-infos {
        flex-direction: column;
    }
}


