.cart-header {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: calc(var(--unit) * 3) calc(var(--unit) * 2) 0 calc(var(--unit) * 2);
}

.cart-header-title {
    padding-bottom: calc(var(--unit) / 2);
    font-size: calc(var(--fontsize) * var(--multiplier-header));
}

.cart-header-description {
    opacity: 0.6;
}

.checkout-form .largebutton-button:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

/* lower checkout form: same column as the cart items (.contact-container),
   so the terms checkbox lines up with them while the button stays centered */
.checkout-lower .checkout-form {
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 calc(var(--unit) * 2);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.checkout-lower .checkout-terms {
    align-self: stretch;
    margin-top: 0;
}

.checkout-terms a {
    text-decoration: underline;
}

.checkout-terms .contact-form-alert {
    display: block;
    margin-bottom: calc(var(--unit) * 1);
}

.products-list {
    box-sizing: border-box;
    max-width: var(--max-width);
    margin: auto;
    padding: 0 var(--site-padding);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(var(--unit) * 3);
}

@media only screen and (min-width: 700px) {
    .products-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media only screen and (min-width: 1020px) {
    .products-list {
        grid-template-columns: repeat(4, 1fr);
    }
}

.checkout-cart-totals {
    /* outline: 1px solid red; */
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--unit) * 3);
}

.checkout-cart-subs {
    display: flex;
    justify-content: space-between;
}

.checkout-cart-total {
    font-size: calc(var(--fontsize) + 12px);
}

.checkout-cart-total-inner {
    display: flex;
    flex-direction: row;
    flex-direction: column;
}

.checkout-cart-tax {
    font-size: var(--fontsize);
    opacity: 0.6;
}

.checkout-cart-price {
    align-self: self-end;
}