/* Shopping cart */
.cart-list {

}

.cart-product {
    display: flex;
    align-items: stretch;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 2px solid #E5E5E5;
}

.page-order-confirmation .cart-product:first-child {
    border-top: 2px solid #E5E5E5;
    padding-top: 30px;
}

.cart-product .product-thumbnail {
    width: 120px;
    max-height: 120px;
}
.cart-product .product-name-text {
    flex: 1 1 auto;
}

.cart-product .page-order-confirmation .product-thumbnail {
    width: 100px;
    flex: 0 0 100px;
    height: auto;
}

.cart-product .product-info {
    flex: 1 1 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.page-order-confirmation .product-info {
    padding-right: 0;
}

.cart-product .product-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.cart-product .product-quantity {
    flex: 0 0 120px;
    text-align: center;
}

.cart-product .product-name {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    justify-content: space-between;
}

.cart-product .product-remove {
    color: #DE058A;
}

.cart-product .product-price {
    text-align: right;
    width: 120px;
    display: inline-block;
    font-weight: bold;
    text-align: center;
}

.cart-product .product-total {
    color: #DE058A;
    text-align: right;
    padding-right: 0;
}
.cart-product .product-name .product-total {
    color: #000;
}

.cart-actions {
    display: flex;
    justify-content: space-between;
}

.cart-actions a {
    color: inherit;
    text-decoration: none;
}

.cart-actions i {
    margin: 0 20px;
}

#removeAll { color: #262626; }

.cart-actions #giftCode { color: #DE058A; }

.cart-product .product-quantity-input {
    margin: 0 20px;
}

.cart-product .product-discount { display: block; }

.cart-totals {
    margin-left: auto;
    width: 350px;
}

.cart-subtotals > div {
    display: flex;
    justify-content: space-between;
}
.cart-subtotals > div .label {
    text-align: right;
    flex: 1 1 auto;
}
.cart-subtotals .label::after {
    content: ':';
}
.cart-subtotals > div .value {
    font-weight: bold;
    color: #DE058A;
    flex: 0 0 100px;
    text-align: right;
}

.cart-subtotals > div.total-value {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid #E5E5E5;
    font-weight: bold;
}

.cart-vouchers {
    list-style: none;
    margin: 0;
    flex-wrap: wrap;
    display: flex;
    padding: 0;
}

.cart-voucher-line {
    display: flex;
    margin: 10px 10px 10px 0;
    padding: 10px 15px;
    background: #FFE2F3;
    width: 350px;
    color: #DE058A;
}

.cart-voucher-line .label {
    flex: 1 1 auto;
}

.cart-voucher-line .reduction {
    flex: 0 0 80px;
    text-align: right;
    margin-right: 30px;
}

.cart-voucher-line a {
    color: #000;
}

.confirmation-totals {
    margin-left: auto;
    width: 350px;
    margin-bottom: 60px;
}

.confirmation-totals .total-line {
    display: flex;
    justify-content: flex-end;
    padding: 5px 0;
}
.confirmation-totals .label::after {
    content: ':'
}
.confirmation-totals .value,
.confirmation-totals .value-nil {
    flex: 0 0 120px;
    text-align: right;
}
.confirmation-totals .value {
    color: #DE058A;
    font-weight: bold;
}
.confirmation-totals .total-value {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid #ddd;
}
.confirmation-totals .total-value .label {
    font-weight: bold;
}

#order-details p {
    margin: 10px 0;
}

#order-details {
    margin-bottom: 50px;
}
