/* =====================================================================
   ART-GSM — Redesign 2026 (Style B) — КОРЗИНА (sale.basket.basket / v2)
   Чистая пересборка: mustache-строки и итоги выводят .cart-item / .cart-summary
   (стили в pages.css). Здесь — нейтрализация легаси-контейнеров Aspro/bootstrap
   и раскладка таблицы корзины (рендерится ядром в <table id="basket-item-table">).
   Скоуп страницы — body[data-cur="/basket/"] (хедер кладёт путь в data-cur),
   чтобы не задеть остальные страницы.
   ===================================================================== */

/* --- 1. Легаси-контейнеры страницы: распрямляем в полную ширину --- */
body.ag-styleb[data-cur="/basket/"] .container_inner{display:block !important;}
body.ag-styleb[data-cur="/basket/"] .container_inner > .right_block{display:none !important;} /* боковой Aspro-сайдбар */
body.ag-styleb[data-cur="/basket/"] .container_inner > .middle,
body.ag-styleb[data-cur="/basket/"] .middle,
body.ag-styleb[data-cur="/basket/"] .wrapper_inner,
body.ag-styleb[data-cur="/basket/"] .middle > .container,
body.ag-styleb[data-cur="/basket/"] .middle .maxwidth-theme{
  display:block !important;width:auto !important;max-width:none !important;
  margin:0 !important;padding:0 !important;float:none !important;border:0 !important;background:none !important;
}

/* дубли легаси-хрома страницы: свой заголовок (.page-head) и крошки (.crumbs) уже в .ag-cart.
   .page-top — пустая легаси-секция-контейнер крошек/заголовка Aspro (min-height:56px) → давала
   пустую белую полосу под навигацией (на мобиле выше). Прячем её целиком на корзине. */
body.ag-styleb[data-cur="/basket/"] .topic,
body.ag-styleb[data-cur="/basket/"] .breadcrumbs,
body.ag-styleb[data-cur="/basket/"] .page-top{display:none !important;}
/* блок рекомендаций (owl-карусель) не должен давать горизонтальный скролл */
body.ag-styleb[data-cur="/basket/"] .owl-carousel,
body.ag-styleb[data-cur="/basket/"] .owl-stage-outer{overflow:hidden !important;}

/* --- 2. .ag-cart: страничная обёртка (ширина/паддинги даёт класс .wrap из layout.css) --- */
body.ag-styleb[data-cur="/basket/"] .ag-cart{padding-top:var(--s-12);padding-bottom:var(--s-40);}
body.ag-styleb .ag-cart .page-head{margin-bottom:var(--s-16);}

/* --- 2b. Верх страницы: подтягиваем крошки/заголовок/контент вверх (Артак 31.08.2026).
   Было: pt обёртки 12 + крошки 16/16 + .page-head 8/20 + h1 mb10 + подзаголовок mt10/mb25
   → контент начинался на 373px (шапка кончается на 172). Стало ≈ 289px: экономия ~84px,
   блок «Итого» с кнопкой «Перейти к оформлению» целиком помещается в первый экран. --- */
body.ag-styleb[data-cur="/basket/"] .ag-cart{padding-top:var(--s-4);}
body.ag-styleb[data-cur="/basket/"] .ag-cart .crumbs{padding-top:var(--s-6);padding-bottom:var(--s-6);}
body.ag-styleb[data-cur="/basket/"] .ag-cart .page-head{padding-top:0;padding-bottom:0;margin-bottom:var(--s-16);}
body.ag-styleb[data-cur="/basket/"] .ag-cart .page-head h1{margin-bottom:var(--s-6);}
body.ag-styleb[data-cur="/basket/"] .ag-cart .page-head .ph-meta,
body.ag-styleb[data-cur="/basket/"] .ag-cart .page-head .ph-sub{margin-top:var(--s-4);margin-bottom:0;}

/* --- 3. Контейнер компонента корзины --- */
body.ag-styleb #basket-root.bx-basket{opacity:1 !important;background:none;border:0;padding:0;margin:0;font:inherit;}
body.ag-styleb #basket-root .row,
body.ag-styleb #basket-root .col-xs-12{display:block;margin:0;padding:0;width:auto;float:none;}
/* верхняя строка фильтров Aspro не нужна */
body.ag-styleb #basket-root .basket-items-list-header{display:none !important;}

/* двухколоночная раскладка: список слева + сводка справа */
body.ag-styleb #basket-root .flexbox.basket-items-list{
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s-28);align-items:start;float:none;
}
body.ag-styleb #basket-root .basket-items-list-outer{min-width:0;width:auto;float:none;margin:0;padding:0;}
body.ag-styleb #basket-root .basket-items-list-wrapper,
body.ag-styleb #basket-root .basket-items-list-container,
body.ag-styleb #basket-root #basket-item-list{
  display:block;height:auto !important;max-height:none !important;overflow:visible !important;
  border:0;background:none;padding:0;margin:0;box-shadow:none;
}
body.ag-styleb #basket-root .basket-items-list-overlay{border-radius:var(--r-card);}

/* таблица → колонка карточек. ВАЖНО: легаси .basket-items-list-table даёт margin:28px →
   карточки сдвигались вправо и наезжали на блок «Итого». Сбрасываем margin. */
body.ag-styleb #basket-item-table{
  display:flex;flex-direction:column;gap:var(--s-12);width:100%;margin:0 !important;border:0;border-collapse:collapse;table-layout:auto;background:none;
}
body.ag-styleb #basket-item-table tbody{display:contents;}
body.ag-styleb #basket-item-table tr.cart-item-row{display:block;width:100%;border:0;background:none;}
body.ag-styleb #basket-item-table td.cart-item-cell{display:block;width:100%;padding:0;border:0;background:none;vertical-align:top;}
/* строка услуг (если есть) */
body.ag-styleb #basket-item-table tr.basket-services-list-item-container{display:block;}
body.ag-styleb #basket-item-table tr.basket-services-list-item-container td{display:block;padding:0;border:0;}
body.ag-styleb #basket-item-table tr.basket-services-list-item-container.hidden{display:none;}

/* колонка сводки */
body.ag-styleb #basket-root .basket-total-outer{width:auto;float:none;margin:0;padding:0;}
body.ag-styleb #basket-root .basket-total-block{padding:0;margin:0;border:0;background:none;}

/* --- 4. Карточка строки: довод по местам поверх легаси theme/bootstrap --- */
body.ag-styleb .cart-item .ci-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);border-radius:var(--r-card);z-index:2;}
body.ag-styleb .cart-item{position:relative;}
body.ag-styleb .cart-item.ci-disabled{opacity:.6;}
/* состояние «товар удалён → Восстановить»: горизонтальная полоса (а не унаследованный грид 96/1fr/248,
   из-за которого текст падал в узкую колонку и ломался по словам) */
body.ag-styleb .cart-item.cart-item--removed{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-16);flex-wrap:wrap;
  grid-template-columns:none;padding:var(--s-16) var(--s-20);background:var(--surface-2);
}
body.ag-styleb .cart-item--removed .ci-removed-text{font-size:14px;color:var(--ink-2);line-height:1.45;margin:0;}
body.ag-styleb .cart-item--removed .ci-removed-text strong{color:var(--ink);font-weight:600;}
body.ag-styleb .cart-item--removed .ci-removed-actions{display:flex;align-items:center;gap:var(--s-14);flex:none;}
body.ag-styleb .cart-item--removed .ci-restore-link{color:var(--accent);font-weight:700;cursor:pointer;white-space:nowrap;}
body.ag-styleb .cart-item--removed .ci-restore-link:hover{text-decoration:underline;}
body.ag-styleb .cart-item--removed .ci-restore-close{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-3);flex:none;border:1px solid var(--line);}
body.ag-styleb .cart-item--removed .ci-restore-close::before{content:"\00d7";font-size:16px;line-height:1;}
body.ag-styleb .cart-item--removed .ci-restore-close:hover{background:var(--line);color:var(--ink);}
body.ag-styleb .cart-item .ci-old{font-family:var(--mono);font-size:12px;color:var(--ink-3);text-decoration:line-through;}
body.ag-styleb .cart-item .ci-alert{font-size:12px;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r-sm);padding:6px 8px;position:relative;}
body.ag-styleb .cart-item .ci-alert-close{position:absolute;right:6px;top:4px;cursor:pointer;color:var(--ink-3);}
body.ag-styleb .cart-item .ci-prop{font-size:12.5px;color:var(--ink-2);display:flex;gap:4px;flex-wrap:wrap;}
body.ag-styleb .cart-item .ci-prop-name{color:var(--ink-3);}
body.ag-styleb .cart-item .ci-sku-val{display:inline-block;padding:1px 7px;border:1px solid var(--line-2);border-radius:6px;margin:0 4px 4px 0;cursor:pointer;font-size:12px;}
body.ag-styleb .cart-item .ci-sku-val.selected{border-color:var(--accent);color:var(--accent);}

/* доп. модификаторы тегов, которых нет в дизайн-наборе */
body.ag-styleb .ci-tags .q--sale{background:#fee2e2;color:#b91c1c;}
body.ag-styleb .ci-tags .q[class*="sticker_"]{background:var(--surface-2);color:var(--ink-2);}

/* степпер/удаление: легаси-классы (.basket-item-btn-*/.basket-item-amount*/.basket-item-actions-remove)
   УБРАНЫ из разметки — иначе легаси-CSS рисовал +/−/× псевдоэлементами поверх текста (двойной плюс)
   и абсолютно позиционировал «×» вне карточки. Хуки JS остались на data-entity. Стили — дизайнерские
   (.stepper button/input + .ci-remove из base/pages.css). Здесь только курсор/disabled. */
body.ag-styleb .cart-item .stepper button{cursor:pointer;}
body.ag-styleb .cart-item .stepper.disabled{opacity:.5;pointer-events:none;}
body.ag-styleb .cart-item .ci-remove{cursor:pointer;background:none;border:0;}
/* контролы не должны вылезать за правый край карточки */
body.ag-styleb .cart-item .ci-controls{flex-wrap:wrap;justify-content:flex-end;max-width:100%;}

/* --- 5. Сводка: купоны + кнопки (поверх легаси) --- */
body.ag-styleb .cart-summary .promo button{cursor:pointer;background:var(--surface);}
body.ag-styleb .cart-summary .promo-alerts{display:flex;flex-direction:column;gap:6px;}
body.ag-styleb .cart-summary .promo-coupon{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;align-items:center;}
body.ag-styleb .cart-summary .promo-coupon.text-danger{color:#b91c1c;}
body.ag-styleb .cart-summary .promo-coupon.text-muted{color:#16a34a;}
body.ag-styleb .cart-summary .promo-coupon-del{cursor:pointer;color:var(--ink-3);text-decoration:underline;white-space:nowrap;}
body.ag-styleb .cart-summary .checkout-order{margin-top:2px;}
body.ag-styleb .cart-summary .basket-btn-checkout{width:100%;cursor:pointer;}
body.ag-styleb .cart-summary .basket-btn-checkout.disabled{opacity:.5;pointer-events:none;}
body.ag-styleb .cart-summary .checkout-ocb{margin-top:8px;}
body.ag-styleb .cart-summary .checkout-ocb .oneclickbuy{width:100%;cursor:pointer;}

/* --- 6. Подарки (sale.products.gift.basket): отступ, родной рендер пока оставляем --- */
body.ag-styleb[data-cur="/basket/"] [data-entity="parent-container"]{margin-top:var(--s-24);}

/* --- 7. Адаптив --- */
@media (max-width:900px){
  body.ag-styleb #basket-root .flexbox.basket-items-list{grid-template-columns:1fr;}
  body.ag-styleb .cart-summary{position:static;}
}


/* расчёт оптовой суммы в корзине (20.08.2026) */
body.ag-styleb .ag-opt-calc{
  margin:14px 0 0;padding:12px 14px;border-radius:var(--r-md,10px);
  background:rgba(0,51,112,.05);border:1px solid rgba(0,51,112,.12);
}
body.ag-styleb .ag-opt-calc .sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-size:13.5px;line-height:1.5;padding:2px 0;color:var(--ink-2,#42526b);}
body.ag-styleb .ag-opt-calc .sum-row .v{font-weight:600;color:var(--ink,#101a2b);white-space:nowrap;
  font-variant-numeric:tabular-nums;}
body.ag-styleb .ag-opt-hint{margin-top:8px;font-size:12.5px;line-height:1.45;color:var(--ink-3,#6b7a90);}
@media (max-width:640px){body.ag-styleb .ag-opt-calc{padding:10px 12px}
  body.ag-styleb .ag-opt-calc .sum-row{font-size:13px}}
