/* MiniMall cart CSS: cart rows, totals, coupons, empty cart. */
.mm-cart {
    padding: var(--mm-space-6) 0 var(--mm-space-7);
}

.mm-cart-header h1 {
    margin: 0 0 var(--mm-space-5);
    font-size: 34px;
    line-height: var(--mm-line-height-tight);
}

.mm-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: var(--mm-space-6);
    align-items: start;
}

.mm-cart-form,
.mm-cart-summary,
.mm-cart-empty {
    border: 1px solid var(--mm-color-border);
    border-radius: var(--mm-radius);
    background: var(--mm-color-surface);
}

.mm-cart-table {
    display: grid;
}

.mm-cart-item {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 96px 120px;
    gap: var(--mm-space-4);
    align-items: center;
    padding: var(--mm-space-4);
    border-bottom: 1px solid var(--mm-color-border);
}

.mm-cart-item-media {
    display: block;
    overflow: hidden;
    aspect-ratio: 1;
    border-radius: var(--mm-radius-sm);
    background: var(--mm-color-surface-alt);
}

.mm-cart-item-name {
    margin: 0 0 var(--mm-space-2);
    font-size: var(--mm-font-size-base);
    line-height: 1.3;
}

.mm-cart-item-name a,
.mm-cart-remove {
    color: var(--mm-color-text);
    text-decoration: none;
}

.mm-cart-variation {
    display: flex;
    flex-wrap: wrap;
    gap: 6px var(--mm-space-3);
    margin: 0 0 var(--mm-space-2);
    font-size: var(--mm-font-size-xs);
}

.mm-cart-remove,
.mm-cart-coupon-row a {
    color: var(--mm-color-muted);
    font-size: var(--mm-font-size-xs);
    font-weight: 700;
    text-decoration: none;
}

.mm-cart-line-total,
.mm-cart-summary dd {
    font-weight: 800;
    text-align: right;
}

.mm-cart-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--mm-space-4);
    padding: var(--mm-space-4);
}

.mm-coupon-form label {
    flex-basis: 100%;
}

.mm-cart-summary {
    position: sticky;
    top: var(--mm-space-5);
    padding: var(--mm-space-5);
}

.mm-cart-summary dl {
    gap: var(--mm-space-3);
    margin-bottom: var(--mm-space-5);
}

.mm-cart-summary dl > div {
    display: flex;
    justify-content: space-between;
    gap: var(--mm-space-4);
}

.mm-cart-coupon-row a {
    margin-left: var(--mm-space-2);
}

.mm-cart-total {
    padding-top: var(--mm-space-3);
    border-top: 1px solid var(--mm-color-border);
    font-size: var(--mm-font-size-lg);
}

.mm-checkout-button {
    width: 100%;
}

.mm-cart-empty {
    padding: var(--mm-space-6);
}

.mm-cart-empty p {
    margin: 0 0 var(--mm-space-4);
}


@media (max-width: 860px) {
    .mm-cart-layout {
        grid-template-columns: 1fr;
        gap: var(--mm-space-5);
    }

    .mm-cart-item {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .mm-cart-qty,
    .mm-cart-line-total {
        grid-column: 2;
        text-align: left;
    }

    .mm-cart-summary {
        position: static;
    }
}

@media (max-width: 480px) {
    .mm-coupon-form {
        align-items: stretch;
    }
}
