/* Корзина сверху, оформление ниже — одна колонка по центру (dponio, вместо двух колонок cpk) */
.order__wrapper{
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.order__wrapper-success{
	background: #fff;
	padding: 25px 25px 10px 25px;
}
.order__item{
	width: 100%;
}
.order__item-100{
	width: 100%!important;
}
.sale_order_full_table td.ps_logo{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media(max-width: 1600px){
    
}
@media(max-width: 1500px){
    
}
@media(max-width: 1349px){}
@media(max-width: 1199px){
    .order__wrapper{
    	flex-wrap: wrap;
    }
    .order__item{
    	width: 100%;
    }
}
@media(max-width: 991px){
    
}
@media(max-width: 767px){

}
@media(max-width: 575px){
    .empty-cart{
        padding: 44px 18px;
        border-radius: 16px;
    }
    .empty-cart__icon{
        width: 88px;
        height: 88px;
        margin-bottom: 20px;
    }
    .empty-cart__icon svg{
        width: 42px;
        height: 42px;
    }
    .empty-cart__title{
        font-size: 24px;
    }
    .empty-cart__desc{
        font-size: 15px;
        margin-bottom: 26px;
    }
}
@media(max-width: 374px){}

/* ===== Пустая корзина на /order/ (dponio, отличается от cpk-abc) ===== */
.empty-cart{
    background: #fff;
    border-radius: 20px;
    padding: 70px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 12px 40px rgba(23, 130, 146, 0.08);
}
.empty-cart__icon{
    position: relative;
    width: 116px;
    height: 116px;
    border-radius: 50%;
    background: rgba(23, 130, 146, 0.09);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-violet);
    margin-bottom: 28px;
}
.empty-cart__icon::before{
    content: '';
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 1.5px dashed rgba(23, 130, 146, 0.25);
}
.empty-cart__icon svg{
    width: 54px;
    height: 54px;
}
.empty-cart__title{
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 110%;
    color: #1b1d20;
    margin-bottom: 12px;
}
.empty-cart__desc{
    font-size: 16px;
    line-height: 150%;
    color: #89939f;
    max-width: 440px;
    margin: 0 0 32px;
}
.empty-cart__btn{
    padding-left: 28px;
    padding-right: 28px;
}

/* ===== Оформление заказа (sale.order.ajax): стек + 2-колоночные поля + липкая полоса «Итого» (dponio) ===== */

/* Контактные поля (Ваши данные) — в две колонки, комментарий/textarea на всю ширину */
.order__wrapper #bx-soa-properties .bx-soa-customer{
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    align-items: flex-start;
}
.order__wrapper #bx-soa-properties .bx-soa-customer > .form-group{
    flex: 1 1 calc(50% - 8px);
    min-width: 240px;
    margin: 0;
}
.order__wrapper #bx-soa-properties .bx-soa-customer > .form-group:has(textarea){
    flex-basis: 100%;
}

/* Итог + кнопка «Оформить» — липкая нижняя полоса на всю ширину.
   Нейтрализуем встроенную JS-логику «плавающего» итога (fixed/bottom + inline width). */
.order__wrapper #bx-soa-total{
    position: -webkit-sticky;
    position: sticky;
    bottom: 12px;
    z-index: 20;
    height: auto;
    margin-top: 4px;
}
.order__wrapper .bx-soa-cart-total,
.order__wrapper .bx-soa-cart-total.bx-soa-cart-total-fixed,
.order__wrapper .bx-soa-cart-total.bx-soa-cart-total-bottom{
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    opacity: 1 !important;
    gap: 20px;
    padding: 16px 24px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    border: 1px solid rgba(23, 130, 146, 0.18);
}
.order__wrapper .bx-soa-cart-total-ghost{
    display: none !important;
}
/* Кнопка «Оформить заказ» — компактная справа, а не на всю ширину полосы */
.order__wrapper .bx-soa-cart-total-button-container{
    width: auto;
    margin: 0;
    flex: 0 0 auto;
}
.order__wrapper .bx-soa-cart-total-button-container > .btn{
    width: auto;
    white-space: nowrap;
}

@media(max-width: 767px){
    .order__wrapper #bx-soa-properties .bx-soa-section-content > .form-group{
        flex-basis: 100%;
    }
    .order__wrapper .bx-soa-cart-total,
    .order__wrapper .bx-soa-cart-total.bx-soa-cart-total-fixed,
    .order__wrapper .bx-soa-cart-total.bx-soa-cart-total-bottom{
        flex-wrap: wrap;
        gap: 12px;
        padding: 14px 16px;
    }
    .order__wrapper .bx-soa-cart-total-button-container,
    .order__wrapper .bx-soa-cart-total-button-container > .btn{
        width: 100% !important;
    }
}

/* ===== Заголовки секций: иконка в круге, без номеров «01./02./03.» (dponio, стиль A) ===== */
.order__wrapper .bx-soa-section-title{
    display: flex;
    align-items: center;
    line-height: 1.15;
}
.order__wrapper .bx-soa-section-title-count{
    display: none !important;
}
.order__wrapper .bx-soa-section-title::before{
    content: '';
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin-right: 12px;
    border-radius: 50%;
    background-color: rgba(23, 130, 146, 0.1);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 21px 21px;
}
/* Корзина */
.order__wrapper .order__item--basket .bx-soa-section-title::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23178292' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 12.1a1.5 1.5 0 0 0 1.48 1.2h8.36a1.5 1.5 0 0 0 1.47-1.18L21 8H6'/%3E%3Ccircle cx='10' cy='20.5' r='1.4' fill='%23178292' stroke='none'/%3E%3Ccircle cx='18' cy='20.5' r='1.4' fill='%23178292' stroke='none'/%3E%3C/svg%3E");
}
/* Ваши данные */
.order__wrapper #bx-soa-properties .bx-soa-section-title::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23178292' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E");
}
/* Оплата */
.order__wrapper #bx-soa-paysystem .bx-soa-section-title::before{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23178292' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E");
}

/* ===== Оплата «Альфа-Банк» (kupilegko.payment): блок на подтверждении заказа и /order/payment/ (dponio) ===== */
.pay-alfa{
    background: #fff;
    border: 1px solid rgba(23, 130, 146, 0.2);
    padding: 24px;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
}
.pay-alfa__title{
    font-weight: 500;
    font-size: 18px;
    line-height: 130%;
    color: #1b1d20;
    margin: 0;
}
.pay-alfa__title b{
    font-size: 24px;
    white-space: nowrap;
}
.pay-alfa__text{
    font-size: 14px;
    line-height: 150%;
    color: #89939f;
    margin: 0;
}
.pay-alfa__btn{
    width: 100%;
    max-width: 320px;
}

/* ===== Результат оплаты /order/result/ (dponio) ===== */
.order-result{
    background: #fff;
    border-radius: 20px;
    padding: 60px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 12px 40px rgba(23, 130, 146, 0.08);
}
.order-result__icon{
    width: 116px;
    height: 116px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 28px;
    background: rgba(23, 130, 146, 0.09);
    color: var(--color-violet);
}
.order-result--fail .order-result__icon{
    background: rgba(229, 72, 77, 0.09);
    color: #e5484d;
}
.order-result__title{
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 110%;
    color: #1b1d20;
    margin: 0 0 12px;
}
.order-result__desc{
    font-size: 16px;
    line-height: 150%;
    color: #89939f;
    max-width: 520px;
    margin: 0 0 32px;
}
.order-result__btns{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
@media(max-width: 575px){
    .pay-alfa{
        padding: 20px 16px;
    }
    .order-result{
        padding: 44px 18px;
        border-radius: 16px;
    }
    .order-result__icon{
        width: 88px;
        height: 88px;
        margin-bottom: 20px;
    }
    .order-result__icon svg{
        width: 42px;
        height: 42px;
    }
    .order-result__title{
        font-size: 24px;
    }
    .order-result__desc{
        font-size: 15px;
        margin-bottom: 26px;
    }
    .order-result__btns,
    .order-result__btns > *{
        width: 100%;
    }
}

/* ===== Оформление заказа на один экран (dponio): слева данные и оплата, справа корзина + итог =====
   Разметка — /order/index.php (.order__checkout, .order__main, .order__side). Блок #bx-soa-total
   переносится скриптом в .order__side-total; форма sale.order.ajax остаётся на месте. */

/* Шрифт Geist в корзине не подключён — берём шрифт сайта */
.order__checkout .basket-item-price-current-text,
.order__checkout .basket-item-price-old-text,
.order__checkout .basket-item-price-difference,
.order__checkout .basket-item-property-custom-name,
.order__checkout .basket-item-property-custom-value,
.order__checkout .basket-item-amount-filed,
.order__checkout .basket-item-info-name{
    font-family: inherit;
}

/* Галочка согласия (152-ФЗ): разметка как в формах сайта (.feedback-form__agreement), обязательна для оформления */
.order__checkout .order__agree{
    margin: 0;
    padding: 0 4px;
}
.order__checkout .order__agree label > p{
    font-size: 13px;
    line-height: 140%;
    font-weight: 400;
}
.order__checkout .order__agree .popup-form__error{
    font-size: 13px;
}
.order__checkout .order__agree--error .popup-form__error{
    display: block;
}
/* Пустой квадрат с рамкой (во всплывающих формах сайта неотмеченная галочка залита цветом — для заказа это путает) */
.order__checkout .order__agree label > p::before{
    background-color: #fff;
    border: 1.5px solid var(--color-violet);
    box-sizing: border-box;
}
.order__checkout .order__agree label > input:checked + p::before{
    background-color: var(--color-violet);
    background-image: url('/bitrix/templates/dponio/images/check-popup.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 11px 9px;
}
.order__checkout .order__agree--error label > p::before{
    border-color: #ff0000;
}
.order__trust{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 12px 0 0;
    padding: 0 4px;
    list-style: none;
}
.order__trust li{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    line-height: 130%;
    color: #5c6670;
}
.order__trust li::before{
    content: '';
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(23, 130, 146, 0.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23178292' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat center / 11px 11px;
}
.order__trust a{
    color: inherit;
    text-decoration: underline;
}

/* Компактные заголовки секций */
.order__checkout .bx-soa-section-title-container{
    padding-top: 14px;
    padding-bottom: 6px;
}
.order__checkout .bx-soa-section-title-container-flex{
    min-height: 0;
}
.order__checkout .bx-soa-section-title{
    font-size: 18px;
    min-height: 0;
    margin: 0;
}
.order__checkout .bx-soa-section-title::before{
    width: 30px;
    height: 30px;
    margin-right: 10px;
    background-size: 16px 16px;
}
.order__checkout .bx-soa-section-content{
    padding-bottom: 16px;
}

/* Ваши данные: ФИО на всю ширину с подсказкой, телефон + e-mail в ряд, комментарий раскрывается при вводе */
.order__checkout #bx-soa-properties .bx-soa-customer{
    flex-direction: row !important;
    flex-wrap: wrap;
    width: 100%;
}
.order__checkout #bx-soa-properties .bx-soa-customer > .form-group{
    flex-direction: column;
}
.order__checkout #bx-soa-properties .bx-soa-customer > .form-group:first-child{
    flex-basis: 100%;
}
/* Подсказка про ФИО — в строке заголовка «Ваши данные» (под полем в узкой колонке выглядела плохо) */
.order__checkout #bx-soa-properties .bx-soa-section-title::after{
    content: 'ФИО — как в документе об образовании';
    margin-left: 14px;
    font-size: 13px;
    line-height: 130%;
    font-weight: 400;
    color: #89939f;
}
@media(max-width: 575px){
    .order__checkout #bx-soa-properties .bx-soa-section-title{
        flex-wrap: wrap;
    }
    .order__checkout #bx-soa-properties .bx-soa-section-title::after{
        flex-basis: 100%;
        margin: 6px 0 0 40px;
    }
}
.order__checkout #bx-soa-properties .bx-soa-customer > .form-group:not(:first-child){
    flex-basis: calc(50% - 8px);
    min-width: 0;
}
.order__checkout #bx-soa-properties .bx-soa-customer-input,
.order__checkout #bx-soa-properties .soa-property-container{
    width: 100%;
}
/* ≥1501px: ФИО, телефон и e-mail в одну строку */
@media(min-width: 1501px){
    .order__checkout #bx-soa-properties .bx-soa-customer > .form-group:first-child,
    .order__checkout #bx-soa-properties .bx-soa-customer > .form-group:not(:first-child){
        flex: 1 1 0;
        min-width: 0;
    }
}
/* Телефон: каждое поле на всю ширину */
@media(max-width: 575px){
    .order__checkout #bx-soa-properties .bx-soa-customer > .form-group:not(:first-child){
        flex-basis: 100%;
    }
}
.order__checkout #bx-soa-properties .bx-soa-section-content > .row{
    row-gap: 12px;
}
.order__checkout #bx-soa-properties .bx-soa-section-content > .row > [class*='col-']{
    margin-bottom: 0;
}
.order__checkout #bx-soa-properties .bx-soa-section-content > .row > .col-sm-12:not(.bx-soa-customer){
    margin-top: 12px;
}
.order__checkout #bx-soa-properties textarea.bx-soa-customer-textarea{
    height: 100px;
    min-height: 100px;
    resize: vertical;
}

/* Оплата: единственный способ — строкой на всю ширину (z-index Bitrix 100 перекрывал шапку сайта) */
.order__checkout #bx-soa-paysystem .bx-soa-pp{
    margin: 0;
}
.order__checkout #bx-soa-paysystem .bx-soa-pp-item-container{
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
}
.order__checkout #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    height: auto;
    min-height: 0;
    padding: 12px 16px;
    margin: 0;
    text-align: left;
    z-index: auto;
}
.order__checkout #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company-graf-container{
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}
.order__checkout #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle{
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 15px;
}

/* Итог: липкость задаём обёртке .order__side-total, а не самому блоку */
.order__checkout #bx-soa-total{
    position: static;
}

/* Ширина — как у контейнера шапки (у .order__wrapper по умолчанию max-width 1000px по центру) */
.order__wrapper.order__checkout{
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* Строка программы в корзине: без картинки и цены за штуку; «Часов в программе: N» одной строкой */
.order__checkout .basket-item-block-image,
.order__checkout .basket-items-list-item-price-for-one{
    display: none !important;
}
.order__checkout .basket-list-item-header,
.order__checkout .basket-items-list-item-descriptions,
.order__checkout .basket-items-list-item-descriptions-inner,
.order__checkout .basket-item-block-info{
    min-height: 0;
    height: auto !important;
    padding: 0;
    margin: 0;
}
.order__checkout .basket-list-item-info{
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
}
.order__checkout .basket-item-block-properties{
    padding: 0;
}
.order__checkout .basket-item-property-custom{
    display: block;
    margin: 0;
}
.order__checkout .basket-item-property-custom-name,
.order__checkout .basket-item-property-custom-value{
    display: inline;
    line-height: 130%;
    color: #89939f;
    margin: 0;
    padding: 0;
    font-weight: 400;
}
.order__checkout .basket-item-property-custom-value{
    margin-left: 4px;
    color: #1b1d20;
    font-weight: 500;
}
/* Часы коротко, как на сайте: «8 а.ч.» (полная подпись не помещалась рядом со счётчиком) */
.order__checkout .basket-item-property-custom-name{
    display: none;
}
.order__checkout .basket-item-property-custom-value{
    margin-left: 0;
}
.order__checkout .basket-item-property-custom-value[data-column-property-code="PROPERTY_HOURS_SORT_VALUE"]::after{
    content: ' а.ч.';
}
/* Подпись-единица под счётчиком не нужна */
.order__checkout .basket-item-amount-field-description{
    display: none;
}
/* Строка «часы · счётчик · сумма» на всю ширину, без отступов компонента */
.order__checkout .basket-list-item-info{
    width: 100%;
    flex: 1 1 100%;
}
.order__checkout .basket-item-block-amount{
    padding: 0;
}
.order__checkout .basket-item-block-properties{
    margin: 0;
}
/* Ссылка на программу в названии — размер и начертание как у названия (у компонента у ссылки свои 20px) */
.order__checkout .basket-item-info-name .basket-item-info-name-link{
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}
/* Поля ввода — шрифт сайта (в шаблоне оформления указан неподключённый Geist → засечки) */
.order__checkout input,
.order__checkout textarea,
.order__checkout select,
.order__checkout button{
    font-family: inherit;
}
.order__checkout .basket-item-info-name-link:hover{
    color: var(--color-violet);
}
/* Кнопка «Оформить заказ» — без стрелки (SVG добавляет скрипт компонента) */
.order__checkout .btn-order-save svg{
    display: none;
}
.order__checkout .basket-items-list-item-amount,
.order__checkout .basket-items-list-item-price,
.order__checkout .basket-items-list-item-remove{
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
}

@media(min-width: 992px){
    .order__wrapper.order__checkout{
        display: grid;
        grid-template-columns: minmax(0, 1fr) 420px;
        gap: 16px;
        align-items: start;
    }
    .order__checkout > .order__main{
        grid-column: 1;
        grid-row: 1;
        width: auto;
    }
    .order__checkout .bx-soa{
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        display: flex;
        flex-direction: column;
    }
    .order__checkout #bx-soa-properties{ order: 1; }
    .order__checkout #bx-soa-paysystem{ order: 2; }
    .order__checkout #bx-soa-orderSave{ order: 3; }

    /* Правая колонка: липкая и не выше экрана — список программ прокручивается внутри,
       итог и кнопка всегда видны. 200px — шапка сайта + заголовок страницы над колонкой. */
    .order__checkout > .order__side{
        grid-column: 2;
        grid-row: 1;
        position: -webkit-sticky;
        position: sticky;
        top: 80px;
        max-height: calc(100vh - 200px);
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-height: 0;
    }
    .order__side .order__item--basket,
    .order__side .order__item--basket > div,
    .order__side #basket-root,
    .order__side #basket-root > .row:last-child,
    .order__side #basket-root > .row:last-child > .col-xs-12,
    .order__side #basket-items-list-wrapper{
        display: flex;
        flex-direction: column;
        min-height: 0;
        flex: 0 1 auto;
    }
    .order__side #basket-root > .row:last-child{
        margin: 0;
    }
    .order__side #basket-root > .row:last-child > .col-xs-12{
        padding: 0;
    }
    .order__side #basket-items-list-container{
        flex: 0 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .order__side .bx-soa-section-title-container{
        flex: 0 0 auto;
    }
    .order__side .bx-soa-section-title-container-flex{
        width: 100%;
        justify-content: space-between;
        gap: 12px;
    }
    .order__side .bx-soa-section-title{
        width: auto;
        flex: 0 1 auto;
        padding: 0;
    }
    .order__side .bx-soa-section-title-basket-clear{
        flex: 0 0 auto;
        margin: 0;
        font-size: 13px;
    }
    .order__side #basket-item-list,
    .order__side #basket-item-table{
        display: block;
        width: 100%;
    }
    .order__side .basket-items-list-item-container{
        padding: 10px 0;
        margin: 0;
        border-radius: 0;
        background: none;
        border-top: 1px solid #edf0f2;
    }
    .order__side .basket-item-info-name{
        font-size: 14px;
        line-height: 130%;
        font-weight: 500;
        margin: 0 0 6px;
    }
    .order__side .basket-list-item-info{
        gap: 8px;
    }
    .order__side .basket-item-block-properties{
        flex: 1 1 auto;
        min-width: 0;
    }
    .order__side .basket-item-property-custom{
        white-space: nowrap;
    }
    .order__side .basket-item-property-custom-name,
    .order__side .basket-item-property-custom-value{
        font-size: 12px;
    }
    .order__side .basket-item-block-amount{
        zoom: 0.8;
        margin: 0;
    }
    .order__side .basket-item-price-current-text{
        font-size: 14px;
        font-weight: 600;
        white-space: nowrap;
    }
    /* Сумма постоянной ширины — счётчики количества во всех строках на одной вертикали */
    .order__side .basket-list-item-info .basket-items-list-item-price{
        flex: 0 0 84px;
        width: 84px;
        text-align: right;
    }
    .order__side .basket-items-list-item-price .basket-item-block-price{
        justify-content: flex-end;
        align-items: flex-end;
        text-align: right;
    }
    .order__side .basket-items-list-item-remove .basket-item-block-actions{
        position: static;
        padding: 0;
    }

    /* Итог + кнопка под корзиной */
    .order__side .order__side-total,
    .order__side .order__agree{
        flex: 0 0 auto;
    }
    .order__side #bx-soa-total{
        width: 100%;
        max-width: 100%;
        flex: none;
        padding: 0;
        margin: 0;
    }
    .order__side .bx-soa-cart-total,
    .order__side .bx-soa-cart-total.bx-soa-cart-total-fixed,
    .order__side .bx-soa-cart-total.bx-soa-cart-total-bottom{
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 16px 20px;
        box-shadow: none;
        border: 1px solid rgba(23, 130, 146, 0.25);
    }
    .order__side .bx-soa-cart-total-line-total{
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        width: 100%;
        margin: 0;
        padding: 0;
        border: none;
    }
    .order__side .bx-soa-cart-total .bx-soa-cart-total-line-total .bx-soa-cart-d{
        font-size: 24px;
    }
    .order__side .bx-soa-cart-total-button-container,
    .order__side .bx-soa-cart-total-button-container > .btn,
    .order__side .bx-soa-cart-total-button-container > .btn__violet{
        display: flex !important;
        width: 100% !important;
        max-width: 100%;
    }
}

/* Телефон/планшет: корзина → данные → оплата → гарантии → согласие → липкая полоса «Итого» */
@media(max-width: 991px){
    .order__wrapper.order__checkout{
        display: flex;
        flex-direction: column;
    }
    .order__checkout > .order__side{
        display: contents;
    }
    .order__checkout .order__item--basket{ order: 1; }
    .order__checkout > .order__main{ order: 2; }
    .order__checkout .order__agree{ order: 3; }
    .order__checkout .order__side-total{
        order: 4;
        position: -webkit-sticky;
        position: sticky;
        bottom: 12px;
        z-index: 20;
    }
    .order__trust{
        grid-template-columns: minmax(0, 1fr);
    }
    .order__checkout .basket-items-list-item-container{
        padding: 12px 14px;
        margin: 0 0 8px;
        border-top: none;
    }
    .order__checkout .basket-item-block-info .basket-item-info-name{
        font-size: 15px;
        line-height: 130%;
        margin: 0 0 6px;
        padding-right: 44px;
    }
    .order__checkout .bx-soa-cart-total-button-container,
    .order__checkout .bx-soa-cart-total-button-container > .btn-order-save{
        display: flex !important;
        width: 100% !important;
        max-width: 100%;
    }
    .order__checkout .basket-list-item-info{
        flex-wrap: wrap;
        gap: 6px 10px;
    }
    .order__checkout .basket-item-block-properties{
        flex: 1 1 100%;
    }
    .order__checkout .basket-item-property-custom-name,
    .order__checkout .basket-item-property-custom-value{
        font-size: 13px;
    }
    .order__checkout .basket-list-item-info .basket-items-list-item-price{
        margin-left: auto;
    }
    .order__checkout .basket-item-actions-remove.visible-xs{
        display: none !important;
    }
    .order__checkout .basket-items-list-item-remove{
        display: block !important;
    }
}
/* До 575px внизу экрана закреплено меню сайта (.fix-footer, 64px) — полоса «Итого» стоит над ним */
@media(max-width: 575px){
    .order__checkout .order__side-total{
        bottom: 76px;
    }
}

/* ===== Экран «Заказ оформлен» (sale.order.ajax/order/confirm.php, dponio) =====
   Ширина — как у контейнера шапки; слева статус и «что дальше», справа оплата. */
.order__wrapper.order__wrapper-success{
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    background: none;
}
.order-done{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    grid-template-areas:
        "head pay"
        "next pay";
    gap: 16px;
    align-items: start;
}
.order-done__head{
    grid-area: head;
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fff;
    padding: 24px;
}
.order-done__icon{
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(23, 130, 146, 0.1);
    color: var(--color-violet);
}
.order-done__title{
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 115%;
    color: #1b1d20;
    margin: 0 0 6px;
}
.order-done__meta{
    font-size: 15px;
    line-height: 140%;
    color: #5c6670;
    margin: 0;
}
.order-done__meta b{
    color: #1b1d20;
    white-space: nowrap;
}
.order-done__pay{
    grid-area: pay;
    background: #fff;
    padding: 24px;
    border: 1px solid rgba(23, 130, 146, 0.25);
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.order-done__next{
    grid-area: next;
    background: #fff;
    padding: 24px;
}
.order-done__block-title{
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    color: #1b1d20;
    margin: 0;
}
.order-done__next .order-done__block-title{
    margin-bottom: 14px;
}
.order-done__ps{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    color: #1b1d20;
}
.order-done__ps-logo{
    width: 32px;
    height: 32px;
    border-radius: 6px;
    flex: 0 0 auto;
}
.order-done__text{
    font-size: 14px;
    line-height: 150%;
    color: #5c6670;
    margin: 0;
}
.order-done__error{
    font-size: 14px;
    line-height: 150%;
    color: #e5484d;
    margin: 0;
}
.order-done__pay-btn{
    width: 100%;
}
.order-done__steps{
    margin: 0 0 16px;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 15px;
    line-height: 145%;
    color: #1b1d20;
}
.order-done__steps b{
    font-weight: 500;
}
.order-done__btns{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}
/* Блок оплаты Альфа-Банка внутри карточки — без своей рамки, кнопка на всю ширину */
.order-done__pay .pay-alfa{
    max-width: none;
    margin: 0;
    padding: 0;
    border: none;
    align-items: stretch;
    text-align: left;
}
.order-done__pay .pay-alfa__btn{
    width: 100%;
    max-width: none;
}
@media(max-width: 991px){
    .order-done{
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "head"
            "pay"
            "next";
    }
}
@media(max-width: 575px){
    .order-done__head,
    .order-done__pay,
    .order-done__next{
        padding: 18px 16px;
    }
    .order-done__head{
        align-items: flex-start;
        gap: 14px;
    }
    .order-done__icon{
        width: 48px;
        height: 48px;
    }
    .order-done__icon svg{
        width: 26px;
        height: 26px;
    }
    .order-done__title{
        font-size: 22px;
    }
    .order-done__btns > *{
        width: 100%;
    }
}
