/* =============================================================
   Cart pages — Figma redesign (cart + checkout)
   Унифицированные стили для /cart и /cart/checkout
   ============================================================= */

:root {
    --cart-bg: #F5F7F8;          /* фон страницы */
    --cart-card: #FFFFFF;        /* карточки */
    --cart-card-2: #EEF3F5;      /* «оформлення» правая колонка */
    --cart-accent: #8074C5;
    --cart-accent-hover: #6F62B8;
    --cart-text: #111112;
    --cart-muted: #5A656E;
    --cart-muted-2: #898E92;
    --cart-border: #D4DFE1;
    --cart-divider: #E6F1F3;
    --cart-radius: 36px;
    --cart-radius-inner: 24px;
    --cart-radius-input: 999px;
}

/* ===== Общая страница ===== */
.cart-page, .checkout-page {
    background: var(--cart-bg);
    padding: 24px 0 60px;
    min-height: calc(100vh - 200px);
}

.cart-page .container,
.checkout-page .container {
    max-width: 1416px;
}

/* ===== Шаги оформления (минималистично) ===== */
.cart-steps {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    background: var(--cart-card);
    border-radius: 36px;
    padding: 12px 24px;
}
.cart-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--cart-muted);
    font-size: 14px;
    line-height: 18px;
    padding: 6px 0;
}
.cart-step--active { color: var(--cart-text); font-weight: 600; }
.cart-step--completed { color: var(--cart-accent); }
.cart-step__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: #EEF3F5;
    color: var(--cart-muted);
    font-weight: 700;
    font-size: 13px;
}
.cart-step--active .cart-step__number {
    background: var(--cart-accent);
    color: #fff;
}
.cart-step--completed .cart-step__number {
    background: var(--cart-accent);
    color: #fff;
}
.cart-step__separator {
    color: var(--cart-muted-2);
    display: inline-flex;
}
.cart-step__separator svg { width: 14px; height: 14px; }

/* ===== /cart (review) — 2 колонки ===== */
.cart-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 12px;
    align-items: start;
}

.cart-items {
    background: var(--cart-card);
    border-radius: var(--cart-radius);
    padding: 24px 32px;
}
.cart-items__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--cart-divider);
}
.cart-items__title {
    font-weight: 700;
    font-size: 24px;
    line-height: 30px;
    color: var(--cart-text);
    margin: 0;
}
.cart-items__count {
    color: var(--cart-muted);
    font-size: 14px;
}
.cart-items__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.cart-item {
    display: grid;
    grid-template-columns: 80px 1fr 120px 130px 40px;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--cart-divider);
}
.cart-item:last-child { border-bottom: 0; }
.cart-item__image {
    width: 80px; height: 80px;
    background: var(--cart-bg);
    border-radius: 16px;
    overflow: hidden;
}
.cart-item__image img {
    width: 100%; height: 100%; object-fit: contain;
}
.cart-item__name {
    margin: 0 0 4px;
    font-weight: 500;
    font-size: 14px;
    line-height: 18px;
}
.cart-item__name a {
    color: var(--cart-text);
    text-decoration: none;
}
.cart-item__name a:hover { color: var(--cart-accent); }
.cart-item__sku, .cart-item__savings {
    color: var(--cart-muted);
    font-size: 12px;
    line-height: 16px;
}
.cart-item__savings { color: #16A085; }

.cart-item__quantity {
    display: inline-flex;
    align-items: center;
    background: var(--cart-bg);
    border-radius: 999px;
    padding: 4px;
    gap: 4px;
    width: fit-content;
}
.cart-quantity__btn {
    width: 32px; height: 32px;
    border: 0;
    background: var(--cart-card);
    border-radius: 50%;
    color: var(--cart-text);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}
.cart-quantity__btn:hover { background: var(--cart-accent); color: #fff; }
.cart-quantity__input {
    width: 40px;
    border: 0;
    background: transparent;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    color: var(--cart-text);
    -moz-appearance: textfield;
}
.cart-quantity__input::-webkit-outer-spin-button,
.cart-quantity__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.cart-item__price {
    text-align: right;
}
.cart-item__price-unit {
    font-size: 12px;
    color: var(--cart-muted);
    line-height: 16px;
}
.cart-item__price-total {
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    color: var(--cart-text);
}

.cart-item__remove {
    width: 36px; height: 36px;
    border: 0;
    background: var(--cart-bg);
    border-radius: 50%;
    color: var(--cart-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s, color .15s;
}
.cart-item__remove:hover { background: #FEE2E2; color: #B91C1C; }

.cart-items__actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--cart-divider);
}

/* ===== Summary (правая колонка /cart) — едет вместе со страницей ===== */
.cart-summary {
    position: relative;
    top: 0;
}
.cart-summary__card {
    background: var(--cart-card-2);
    border-radius: var(--cart-radius);
    padding: 24px 28px;
}
.cart-summary__title {
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    margin: 0 0 16px;
    color: var(--cart-text);
}
.cart-promo {
    margin-bottom: 16px;
}
.cart-promo__input-wrap {
    display: flex;
    gap: 8px;
    background: var(--cart-card);
    border-radius: var(--cart-radius-input);
    padding: 4px 4px 4px 18px;
    align-items: center;
}
.cart-promo__input {
    flex: 1;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 14px;
    color: var(--cart-text);
    padding: 8px 0;
}
.cart-promo__btn {
    background: var(--cart-accent);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 8px 18px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: background .15s;
}
.cart-promo__btn:hover { background: var(--cart-accent-hover); }
.cart-promo__message {
    margin-top: 8px;
    font-size: 12px;
    color: var(--cart-muted);
}
.cart-summary__divider {
    height: 1px;
    background: var(--cart-border);
    margin: 16px 0;
}
.cart-summary__row,
.checkout-summary__row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    line-height: 22px;
    color: var(--cart-muted);
    padding: 4px 0;
}
.cart-summary__row span:last-child,
.checkout-summary__row span:last-child {
    color: var(--cart-text);
    font-weight: 500;
}
.cart-summary__row--discount,
.checkout-summary__note {
    margin: -4px 0 8px;
    font-size: 12px;
    line-height: 1.4;
    color: #7A7787;
}

.checkout-summary__row--discount {
    color: #16A085;
}
.cart-summary__total,
.checkout-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 12px 0 20px;
    font-weight: 700;
    font-size: 22px;
    line-height: 28px;
    color: var(--cart-text);
}
.cart-summary__info {
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--cart-muted);
    font-size: 13px;
}
.cart-summary__info-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.cart-summary__info-item svg { color: var(--cart-accent); flex: 0 0 18px; }

/* ===== Пустая корзина ===== */
.cart-empty {
    background: var(--cart-card);
    border-radius: var(--cart-radius);
    padding: 64px 32px;
    text-align: center;
}
.cart-empty__icon {
    color: var(--cart-muted-2);
    margin-bottom: 18px;
    display: flex;
    justify-content: center;
}
.cart-empty__title {
    font-weight: 700;
    font-size: 24px;
    margin: 0 0 10px;
}
.cart-empty__text {
    color: var(--cart-muted);
    margin: 0 auto 24px;
    max-width: 480px;
    line-height: 1.5;
}
.cart-empty__actions {
    display: inline-flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* ===== /cart/checkout — 3-колоночный layout (Figma) =====
   Left  (Контакти + Юр.особа + Коммент)
   Center (Доставка + Адреса + Оплата)
   Right (Список товарів + Сума + Submit + Згоди)
   Секции переносятся JS-ом в 3 контейнера .cart-col по data-col. */
.checkout-content {
    display: grid;
    grid-template-columns: minmax(0, 320px) minmax(0, 1fr) minmax(0, 380px);
    gap: 18px;
    align-items: start;
}
/* Скрываем технические обёртки степов — секции вынесены наружу */
#step-2, #step-3, .checkout-step,
#step-2 > .checkout-main,
#step-3 > .checkout-main {
    display: contents !important;
}
/* Колонки — flex-stack: каждая секция идёт под предыдущей */
.cart-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
}
.cart-col__container--left   { grid-column: 1; grid-row: 1; }
.cart-col__container--center { grid-column: 2; grid-row: 1; }
.cart-col__container--right  { grid-column: 3; grid-row: 1; }
/* До переноса JS — прячем секции, чтобы избежать «разрыва» layout-а.
   После переноса (data-arranged="1") секции внутри .cart-col видны нормально. */
.checkout-content[data-arranged="0"] > [data-col],
.checkout-content[data-arranged="0"] > .checkout-sidebar {
    visibility: hidden;
    height: 0;
    overflow: hidden;
    padding: 0;
    margin: 0;
}
.cart-col > [data-col],
.cart-col > .checkout-sidebar {
    visibility: visible;
    height: auto;
    overflow: visible;
}

/* Прячем переходные кнопки и actions — всё одним экраном */
#to-step-3,
#back-to-step-2,
.checkout-actions {
    display: none !important;
}
#step-3-indicator { display: none !important; }
.cart-step__separator + .cart-step__separator { display: none !important; }

/* Сайдбар не sticky — едет вместе с контентом */
.checkout-summary {
    position: relative !important;
    top: auto !important;
}

/* ====== Убираем двойной бордер у radio-options ======
   Старый cart.css ставил border на .checkout-option__content,
   наш — на .checkout-option. Оставляем рамку только на .checkout-option. */
.checkout-option {
    border: 1.5px solid var(--cart-border) !important;
    border-radius: var(--cart-radius-inner) !important;
    padding: 14px 18px !important;
    background: #fff !important;
    transition: border-color .15s, background .15s !important;
}
.checkout-option__content {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: none !important;
}
.checkout-option input:checked + .checkout-option__content,
.checkout-option:hover .checkout-option__content {
    background: transparent !important;
    border-color: transparent !important;
}
.checkout-option:has(input:checked),
.checkout-option.is-active {
    border-color: var(--cart-accent) !important;
    background: #FAFAFE !important;
}
.checkout-option:hover {
    border-color: var(--cart-accent) !important;
}

.checkout-main {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

/* Колонка-карточка для секции */
.checkout-section {
    background: var(--cart-card);
    border-radius: var(--cart-radius);
    padding: 28px 32px;
}
.checkout-section__title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    margin: 0 0 18px;
    color: var(--cart-text);
}
.checkout-section__icon {
    color: var(--cart-accent);
    display: inline-flex;
    align-items: center;
}
.checkout-section--collapsible .checkout-section__toggle {
    display: flex;
    width: 100%;
    background: transparent;
    border: 0;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    font: inherit;
    color: var(--cart-text);
}
.checkout-section--collapsible .checkout-section__title { margin: 0; }
.checkout-section--collapsible.is-open .checkout-section__arrow {
    transform: rotate(180deg);
}
.checkout-section__arrow {
    color: var(--cart-muted);
    transition: transform .2s;
}
.checkout-section__body { margin-top: 16px; }

/* Поля формы */
.checkout-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.checkout-form-group--full { grid-column: 1 / -1; }
.checkout-form-group .checkout-input,
.checkout-form-group input.checkout-input,
.checkout-input,
.checkout-select {
    width: 100%;
    background: #fff;
    border: 1px solid var(--cart-border);
    border-radius: var(--cart-radius-input);
    padding: 12px 18px;
    font-size: 15px;
    color: var(--cart-text);
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    box-sizing: border-box;
}
.checkout-input:focus, .checkout-select:focus {
    border-color: var(--cart-accent);
    box-shadow: 0 0 0 3px rgba(128, 116, 197, 0.15);
}
.checkout-label {
    display: block;
    font-size: 13px;
    color: var(--cart-muted);
    margin-bottom: 6px;
    font-weight: 500;
}
.checkout-error {
    color: #B91C1C;
    font-size: 12px;
    margin-top: 4px;
}

/* Кастомные radio/checkbox options */
.checkout-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.checkout-option {
    position: relative;
    display: block;
    cursor: pointer;
    border: 1.5px solid var(--cart-border);
    border-radius: var(--cart-radius-inner);
    padding: 14px 18px;
    transition: border-color .15s, background .15s;
    background: #fff;
}
.checkout-option input[type="radio"] {
    position: absolute;
    opacity: 0;
}
.checkout-option:has(input:checked),
.checkout-option.is-active {
    border-color: var(--cart-accent);
    background: #FAFAFE;
}
.checkout-option__header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}
.checkout-option__name {
    flex: 1;
    font-weight: 600;
    font-size: 14px;
    color: var(--cart-text);
}
.checkout-option__price {
    color: var(--cart-muted);
    font-size: 13px;
}
.checkout-option__price--free { color: #16A085; }
.checkout-option__desc {
    color: var(--cart-muted);
    font-size: 13px;
    margin: 0;
    line-height: 1.4;
}
.checkout-option__logo img { vertical-align: middle; }

/* Center column — список товаров */
.checkout-summary {
    background: var(--cart-card);
    border-radius: var(--cart-radius);
    padding: 28px 32px;
    position: sticky;
    top: 96px;
}
.checkout-summary__title {
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    margin: 0 0 18px;
    color: var(--cart-text);
}
.checkout-summary__items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 18px;
}
.checkout-summary__item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
    line-height: 18px;
}
.checkout-summary__item-name { color: var(--cart-muted); flex: 1; }
.checkout-summary__item-price { color: var(--cart-text); font-weight: 500; white-space: nowrap; }
.checkout-summary__divider {
    height: 1px;
    background: var(--cart-border);
    margin: 14px 0;
}
.checkout-summary__selected {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--cart-divider);
    color: var(--cart-muted);
    font-size: 13px;
    line-height: 1.6;
}
.checkout-summary__selected strong { color: var(--cart-text); font-weight: 600; }
.checkout-summary__submit {
    margin-top: 18px;
    width: 100%;
}

/* Кнопки */
.checkout-actions {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}
.checkout-actions .btn { flex: 1; }

.cart-page .btn,
.checkout-page .btn,
.cart-empty .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    border: 1.5px solid transparent;
    transition: background .15s, color .15s, border-color .15s, transform .1s;
}
.cart-page .btn--primary,
.checkout-page .btn--primary,
.cart-empty .btn--primary {
    background: var(--cart-accent);
    color: #fff;
}
.cart-page .btn--primary:hover,
.checkout-page .btn--primary:hover,
.cart-empty .btn--primary:hover {
    background: var(--cart-accent-hover);
}
.cart-page .btn--outline,
.checkout-page .btn--outline,
.cart-empty .btn--outline {
    background: #fff;
    color: var(--cart-text);
    border-color: var(--cart-border);
}
.cart-page .btn--outline:hover,
.checkout-page .btn--outline:hover {
    border-color: var(--cart-accent);
    color: var(--cart-accent);
}
.cart-page .btn--ghost,
.checkout-page .btn--ghost {
    background: transparent;
    color: var(--cart-muted);
}
.cart-page .btn--ghost:hover,
.checkout-page .btn--ghost:hover {
    color: #B91C1C;
}
.btn--full { width: 100%; }
.btn--lg { padding: 16px 28px; font-size: 15px; }

/* Скрытое поле ActiveForm error placeholder */
.field-order-full_name .help-block,
.field-order-phone .help-block,
.field-order-email .help-block { color: #B91C1C; font-size: 12px; margin-top: 4px; }
.help-block { display: none; }
.has-error .help-block { display: block; }

/* ===== Адаптив ===== */
@media (max-width: 1100px) {
    .cart-content {
        grid-template-columns: 1fr;
    }
    /* Checkout: на планшете схлопываем в 2 кол. — Left+Center слева друг под другом, Right справа */
    .checkout-content {
        grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
        grid-template-rows: auto auto;
    }
    .cart-col__container--left {
        grid-column: 1; grid-row: 1;
    }
    .cart-col__container--center {
        grid-column: 1; grid-row: 2;
    }
    .cart-col__container--right {
        grid-column: 2; grid-row: 1 / span 2;
    }

    .cart-summary,
    .checkout-summary {
        position: relative;
        top: 0;
    }
    .cart-item {
        grid-template-columns: 64px 1fr;
        grid-template-rows: auto auto;
        gap: 12px 14px;
    }
    .cart-item__image { width: 64px; height: 64px; }
    .cart-item__quantity, .cart-item__price, .cart-item__remove {
        grid-column: 2 / 3;
        justify-self: end;
    }
}
@media (max-width: 760px) {
    .checkout-content {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 14px;
    }
    .cart-col__container--left,
    .cart-col__container--center,
    .cart-col__container--right {
        grid-column: 1;
        grid-row: auto;
    }
    /* Порядок на мобильном (Figma node 425-13696):
       1) Контакти (left), 2) Доставка+Оплата (center), 3) Замовлення+Підсумок+Submit (right) */
    .cart-col__container--left   { order: 1; }
    .cart-col__container--center { order: 2; }
    .cart-col__container--right  { order: 3; }
    /* Sidebar (внутри right) едет первым в правой колонке — товары видны до чекбоксов */
    .cart-col__container--right .checkout-sidebar { order: -1; }
    .cart-col__container--right { display: flex; flex-direction: column; }
}
@media (max-width: 600px) {
    .cart-page, .checkout-page {
        padding: 12px 0 40px;
    }
    .cart-page .container,
    .checkout-page .container {
        padding-left: 12px;
        padding-right: 12px;
    }
    .cart-items, .cart-empty, .checkout-section, .checkout-summary, .cart-summary__card {
        padding: 18px;
        border-radius: 24px;
    }
    .cart-items__title { font-size: 20px; }
    .checkout-form-grid { grid-template-columns: 1fr; }
    .cart-steps { padding: 10px 14px; gap: 6px; flex-wrap: wrap; }
    .cart-step__title { display: none; }
    .checkout-section__title { font-size: 16px; }
    .cart-col { gap: 14px; }
    .checkout-content { gap: 14px; }
    /* Кнопка submit заметнее */
    .checkout-summary__submit { padding: 14px 18px; font-size: 15px; }
}

/* ===== Кошик v2 (вересень 2026): ланки замість кнопок, допродаж, липка панель ===== */
.cart-items__actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cart-items__link {
    display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 4px 0;
    font-size: 14px; font-weight: 500; color: var(--cart-accent); cursor: pointer; text-decoration: none;
}
.cart-items__link--muted { color: var(--cart-muted-2); }
.cart-items__link--muted:hover, .btn--danger-text { color: #B23A2E; }

.cart-upsell { grid-column: 1; background: var(--cart-card); border-radius: var(--cart-radius); padding: 22px 24px; margin-top: 4px; }
.cart-content > .cart-summary, .cart-content > aside { grid-column: 2; grid-row: 1 / span 3; }
@media (max-width: 1100px) { .cart-content > .cart-summary, .cart-content > aside { grid-column: auto; grid-row: auto; } }

.cart-upsell__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.cart-upsell__title { margin: 0; font-size: 18px; font-weight: 700; }
.cart-upsell__hint { font-size: 13px; color: var(--cart-muted); }
.cart-upsell__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
@media (min-width: 761px) { .cart-upsell__grid { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); } }
.cart-upsell__item { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 1px solid var(--cart-border); border-radius: 14px; }
.cart-upsell__img { display: block; aspect-ratio: 1; border-radius: 10px; overflow: hidden; background: #F7F9FA; }
.cart-upsell__img img { width: 100%; height: 100%; object-fit: contain; }
.cart-upsell__name { font-size: 13px; line-height: 1.35; color: var(--cart-text); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }
.cart-upsell__bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cart-upsell__price { font-weight: 700; font-size: 15px; }
.cart-upsell__add { width: 34px; height: 34px; border-radius: 10px; border: 0; background: var(--cart-accent); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.cart-upsell__add.is-in-cart { background: #2E7D5B; }

.cart-sticky { display: none; }
@media (max-width: 760px) {
    .cart-page { padding-bottom: 96px; }
    .cart-upsell { padding: 16px 14px; }
    .cart-upsell__grid { grid-template-columns: repeat(2, 1fr); }
    .cart-content > .cart-summary, .cart-content > aside { grid-column: auto; grid-row: auto; }
    .cart-sticky {
        display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
        align-items: center; justify-content: space-between; gap: 14px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        background: #fff; border-top: 1px solid var(--cart-border); box-shadow: 0 -8px 24px rgba(17,17,18,.08);
        transition: transform .2s;
    }
    .cart-sticky.is-hidden { transform: translateY(110%); }
    .cart-sticky__total { display: flex; flex-direction: column; line-height: 1.15; }
    .cart-sticky__total span { font-size: 12px; color: var(--cart-muted); }
    .cart-sticky__total b { font-size: 20px; }
    .cart-sticky__btn { height: 48px; padding: 0 28px; border-radius: 12px; background: var(--cart-accent); color: #fff; font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; text-decoration: none; }
}
