.cart-module-cont {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cart-empty {
    padding: 28px 0;
    color: var(--col-8);
    font: var(--font-regular);
}

.cart-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cart-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-content: center;
    gap: 14px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid var(--col-6);
    font: var(--font-regular);
}

.cart-col-xs {
    flex-basis: 70px;
    flex-grow: 1;
    max-width: 120px;
    margin: auto 0;
}

.cart-col-s {
    flex-basis: 120px;
    flex-grow: 1;
    max-width: 170px;
    margin: auto 0;
}

.cart-col-m {
    flex-basis: 170px;
    flex-grow: 2;
    max-width: var(--column-width);
    margin: auto 0;
}

.cart-col-l {
    flex-basis: calc(var(--column-width)*1.2);
    flex-grow: 6;
    margin: auto 0;
}

.cart-row-head {
    color: var(--col-9);
    font-size: var(--font-size-1);
}

.cart-code {
    color: var(--col-9);
}

.cart-name {
    color: var(--col-0);
    font: var(--font-medium);
}

.cart-note {
    color: var(--col-9);
    font-size: var(--font-size-1);
}

.cart-price,
.cart-sum {
    white-space: nowrap;
    color: var(--col-0);
}

.cart-qty {
    display: inline-grid;
    grid-template-columns: 34px 52px 34px;
    align-items: center;
    border: 1px solid var(--col-6);
    border-radius: 6px;
    overflow: hidden;
    width: 120px;
}

.cart-qty button {
    width: 34px;
    height: 34px;
    border: 0;
    background: var(--col-2);
    cursor: pointer;
    color: var(--col-0);
    font: var(--font-medium);
}

.cart-qty input {
    width: 52px;
    height: 34px;
    border: 0;
    border-left: 1px solid var(--col-6);
    border-right: 1px solid var(--col-6);
    text-align: center;
    box-sizing: border-box;
}

.cart-del {
    border: 0;
    background: transparent;
    color: var(--col-main);
    cursor: pointer;
    font: var(--font-regular);
}

.cart-total {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    align-items: center;
    padding-top: 8px;
    color: var(--col-0);
    font: var(--font-medium);
}

.cart-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}


@media (max-width: 900px) {
    .cart-row {
        align-items: flex-start;
        gap: 8px;
    }

    .cart-row-head {
        display: none;
    }

    .cart-col-xs,
    .cart-col-s,
    .cart-col-m,
    .cart-col-l {
        flex-basis: 100%;
        max-width: none;
    }

    .cart-total,
    .cart-actions {
        justify-content: flex-start;
    }
}
