.cart {width: 100%;}
.cart tr td {border-top: 1px solid #ddd; padding: 1.5rem 0;}
.cart .cartline td:last-child {text-align: right;}
.cart .cartline td:first-child {width: 8rem;}
.cart .cartline img {width: 5rem; height: 5rem; object-fit: contain; margin: 0 1.5rem;}
.cart .cartline h2 {margin: 0; line-height: 1.2; margin-bottom: 0.15rem;}
.cart .cartline .price {font-size: 1.25rem; white-space: nowrap;}
.cart .cartline .ean {opacity: 0.5;}
.cart .carttotal td {padding: 0.75rem 0 2rem;}
.cart .carttotal td + td {width: 10rem;}
.cart .carttotal .price {font-size: 1.75rem; white-space: nowrap;}
.cart .carttotal {text-align: right;}
.cart .cartline select,
.cart .cartline input {
    height: 2.4rem; 
    line-height: 2.4rem; 
    margin-right: 0.7rem;
    width: 4.5rem; 
    border: 1px solid rgba(0,0,0,0.15); 
    padding: 0 0.5rem;
    font-family: 'Manrope', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0.3rem;
    background: transparent;
}
.cart .carttotal.discountline td {padding: 1rem 0 0;}
.cart .carttotal.discountline .price {font-size: 1rem; font-weight: 500;}
.cart .carttotal.discountline + .carttotal td {border: 0; padding-top: 0.15rem;}
.cart.minimal {margin-top: 1.1rem;}
.cart.minimal .cartline td {color: rgba(64, 64, 66, 0.4);}
.cart.minimal .cartline td:last-child {color: #404042;}
.cart.minimal .cartline td:first-child {width: 6.5rem;}
.cart.minimal .cartline img {margin-left: 0;}
.cart.minimal .cartline h2, .cart.minimal .price {color: #404042; font-size: 1rem; font-weight: 500;}
.cart.minimal .carttotal td {padding: 0.75rem 0 0;}
.cart.minimal .carttotal + .carttotal td {border: 0; padding-top: 0.25rem;}

#discount {float: left; position: relative; bottom: 3.5rem; width: 100%; max-width: 26rem;}
#discount > div {align-items: center;}
#discount div:nth-child(1) label {display: none;}
#discount input[type="hidden"] + div:nth-child(3) {position: relative; bottom: 1.75rem;}
#discount > div:nth-child(1) > div {margin-left: 1rem;}
#discount > div:nth-child(1) > div .button {padding: 0 2rem; white-space: nowrap;}
#discount > div:nth-child(2) {flex-direction: column; align-items: flex-start;}

.cartbuttons {display: flex; justify-content: flex-end; margin-top: 0.5rem;}
.cartbuttons .button {white-space: nowrap; padding: 0 2rem;}
.cartbuttons div {display: flex; align-items: center; padding: 0 0 1rem;}
.cartbuttons div + div {margin-left: 1rem;}

.clientname {font-size: small;}

@media only screen and (max-width: 900px) {
    .cart .carttotal td + td {width: 9rem;}
    #discount {float: none; bottom: 0; width: 100%;}
    #discount div:nth-child(3) input {padding: 0 1rem;}
    #discount input[type="hidden"] + div:nth-child(3) {bottom: 0; width: 100%;}
    .cartbuttons {display: block; margin-top: 2.5rem;}
    .cartbuttons div + div {margin-left: 0; width: 100%;}
    .cartbuttons div + div form {width: 100%;}
}
@media only screen and (max-width: 600px) {
    .cart:not(.minimal) .cartline td:last-child {display: none;}
    .cart:not(.minimal) .cartline td:nth-last-child(2) {text-align: right;}
    .cart .cartline input[type="number"] {margin-right: 0;}
    .cart .cartline input[type="number"] + a {display: none;}
    .clientname {display: block; position: relative; bottom: 1.5rem; margin-bottom: 1rem;}
}