body {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e8e8e8;
    padding: 20px;
}

.master-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    width: 100%;
    max-width: 900px;
    font-family: Montserrat, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji" !important;
}

.card {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #FFFFFF;
    box-shadow: 0px 187px 75px rgba(0, 0, 0, 0.01), 0px 105px 63px rgba(0, 0, 0, 0.05), 0px 47px 47px rgba(0, 0, 0, 0.09), 0px 12px 26px rgba(0, 0, 0, 0.1), 0px 0px 0px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
}

.title {
    width: 100%;
    height: 40px;
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 20px;
    border-bottom: 1px solid #efeff3;
    font-weight: 700;
    font-size: 17px;
    color: #63656b;
}

/* cart */
.cart {
    border-radius: 19px 19px 7px 7px;
}

.cart .products {
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.cart .products .product {
    display: grid;
    grid-template-columns: 60px 1fr 80px;
    align-items: center;
    gap: 10px;
}

.cart .products .product span {
    font-size: 15px;
    font-weight: 600;
    color: #47484b;
    margin-bottom: 8px;
    display: block;
}

.cart .products .product p {
    font-size: 14px;
    font-weight: 600;
    color: #7a7c81;
}

.cart .quantity {
    height: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin: auto;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 7px;
    filter: drop-shadow(0px 1px 0px #efefef) drop-shadow(0px 1px 0.5px rgba(239, 239, 239, 0.5));
}

.cart .quantity label {
    width: 20px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 2px;
    font-size: 15px;
    font-weight: 700;
    color: #47484b;
}

.cart .quantity button {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    outline: none;
    background-color: transparent;
    padding-bottom: 2px;
}

.card .small {
    font-size: 20px;
    margin: 0 0 auto auto;
}

.card .small sup {
    font-size: px;
}

/* coupons */
.coupons {
    border-radius: 7px;
}

.coupons form {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 10px;
    padding: 20px;
}

.input_field {
    width: auto;
    height: 36px;
    padding: 0 0 0 12px;
    border-radius: 5px;
    outline: none;
    border: 1px solid #e5e5e5;
    filter: drop-shadow(0px 1px 0px #efefef) drop-shadow(0px 1px 0.5px rgba(239, 239, 239, 0.5));
    transition: all 0.3s cubic-bezier(0.15, 0.83, 0.66, 1);
}

.input_field:focus {
    border: 1px solid transparent;
    box-shadow: 0px 0px 0px 2px #242424;
    background-color: transparent;
}

.coupons form button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px 18px;
    gap: 10px;
    width: 100%;
    height: 36px;
    background: linear-gradient(180deg, #4480FF 0%, #115DFC 50%, #0550ED 100%);
    box-shadow: 0px 0.5px 0.5px #EFEFEF, 0px 1px 0.5px rgba(239, 239, 239, 0.5);
    border-radius: 5px;
    border: 0;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 15px;
    color: #ffffff;
}

/* Checkout */
.checkout {
    border-radius: 9px 9px 19px 19px;
}

.checkout .details {
    display: grid;
    grid-template-columns: 3fr 1fr;
    padding: 20px;
    gap: 5px;
}

.checkout .details span {
    font-size: 15px;
    font-weight: 600;
}

.checkout .details span:nth-child(odd) {
    font-size: 15px;
    font-weight: 700;
    color: #707175;
    margin: auto auto auto 0;
}

.checkout .details span:nth-child(even) {
    font-size: 16px;
    font-weight: 600;
    color: #47484b;
    margin: auto 0 auto auto;
}

.checkout .checkout--footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 10px 10px 20px;
    background-color: #efeff3;
}

.price {
    position: relative;
    font-size: 22px;
    color: #2B2B2F;
    font-weight: 900;
}

.price sup {
    font-size: 13px;
}

.price sub {
    width: fit-content;
    position: absolute;
    font-size: 11px;
    color: #5F5D6B;
    bottom: 5px;
    display: inline-block;
}

.checkout .checkout-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 150px;
    height: 36px;
    background: linear-gradient(180deg, #4480FF 0%, #115DFC 50%, #0550ED 100%);
    box-shadow: 0px 0.5px 0.5px #EFEFEF, 0px 1px 0.5px rgba(239, 239, 239, 0.5);
    border-radius: 7px;
    border: 0;
    outline: none;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s cubic-bezier(0.15, 0.83, 0.66, 1);
}

@media (min-width: 768px) {
    .master-container {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .card {
        grid-column: span 2;

    }

    .coupons {
        grid-column: span 2;
    }

    .checkout {
        grid-column: span 2;
    }
}

@media (min-width: 1024px) {
    .master-container {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .card {
        grid-column: span 3;

    }

    .coupons {
        grid-column: span 3;
    }

    .checkout {
        grid-column: span 3;
    }
}
