.main {
    margin: 20px;
}
.main .field-group.country, .main .field-group.payment {
    width: 49%;
    display: inline-block;
}
.main .field-group.country {
    float: right;
}
.main .field-group.payment {
    float: left;
}
.main .field-group.country select, .main .field-group.payment select {
    width: 100%;
}
.cart-summary {
    border-top: 1px dotted #999;
    border-bottom: 1px dotted #999;
    padding: 10px 0;
}
.cart-summary table {
    width: 100%;
    text-align: right;
}
.cart-summary table td:nth-child(1) {
    width: auto;
    font-style: italic;
}
.cart-summary table td:nth-child(2) {
    width: 75px;
}
.cart-item {
    float: none;
    min-height: 32px;
    margin: 20px 0 20px 0;
    display: grid;
    grid-gap: 5px;
    grid-template-areas: "image id"
                         "image title"
                         "image author"
                         "image price";
    grid-template-columns: 85px auto;
}
.cart-item > * { word-wrap: break-word; }
.cart-item img { width: 85px; }
.cart-item :nth-child(1) {grid-area: image}
.cart-item :nth-child(2) {grid-area: id}
.cart-item :nth-child(3) {grid-area: title}
.cart-item :nth-child(4) {grid-area: author}
.cart-item :nth-child(5) {
    grid-area: price;
    border-top: 1px dotted #999;
    border-bottom: 1px dotted #999;
    padding-left: 60px;
}
.cart-item :nth-child(5) > div > label {
    display: block;
}
.cart-item :nth-child(5) > div {
    display: inline-block;
    width: 80px;
}
.cart-item label {
    font-style: italic;
    display: inline-block;
    width: 60px;
}

.customer-type {
    height: 35px;
    line-height: 35px;
    vertical-align: top;
    line-height: 1em;
}
.customer-type > div {
    float: right;
}
.remove-book img {
    height: 15px;
    width: 20px;
}
@media screen and (max-width: 640px) {
    .customer-type > div {
        line-height: 1em;
    }
    .customer-type > * > * {
        display: block;
        float: none;
    }
}