/* Страница «cart»: собрано build_css.sh из redesigne/css/cart.css (.redesign → .body.rd-page). Правки стилей — в /Users/andrejkulikov/projects/mh/www/mhave-rd/local/templates/mhave/redesign/pages/cart.local.css или в вёрстке с пересборкой. */
.body.rd-page .ct-page [hidden]{display:none !important;}
.body.rd-page .ct-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.body.rd-page .ct-title{margin-bottom:48px;}
.body.rd-page .ct-layout{display:flex;align-items:flex-start;gap:40px;}
.body.rd-page .ct-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:16px;}
.body.rd-page .ct-aside{flex:0 0 540px;width:540px;min-width:0;position:sticky;top:24px;}
.body.rd-page .ct-free{display:flex;flex-direction:column;gap:14px;padding:24px 28px;border-radius:20px;background:#fff;}
.body.rd-page .ct-free__text{display:flex;align-items:center;gap:14px;font-size:17px;line-height:23px;font-weight:500;color:var(--rp-ink);}
.body.rd-page .ct-free__icon{flex:0 0 24px;width:24px;height:24px;color:#A5ABD2;}
.body.rd-page .ct-free__bar{position:relative;height:8px;border-radius:4px;background:var(--rp-line-soft);overflow:hidden;}
.body.rd-page .ct-free__bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--rp-lav);transition:width .35s ease;}
.body.rd-page .ct-free.is-done .ct-free__icon{color:#6B7A52;}
.body.rd-page .ct-items{display:flex;flex-direction:column;gap:16px;}
.body.rd-page .ct-item{display:flex;align-items:flex-start;gap:24px;padding:24px 28px 24px 24px;border-radius:20px;background:#fff;
	transition:opacity .25s ease,transform .25s ease;}
.body.rd-page .ct-item.is-removing{opacity:0;transform:translateX(24px);}
.body.rd-page .ct-item__img{flex:0 0 120px;width:120px;height:120px;border-radius:14px;background:var(--rp-beige);overflow:hidden;}
.body.rd-page .ct-item__img img{width:100%;height:100%;object-fit:contain;}
.body.rd-page .ct-item__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:20px;}
.body.rd-page .ct-item__info{display:flex;flex-direction:column;gap:8px;min-width:0;}
.body.rd-page .ct-item__name{font-size:19px;line-height:28px;font-weight:500;color:var(--rp-ink);transition:color .2s;}
.body.rd-page .ct-item__name:hover{color:var(--rp-accent);}
.body.rd-page .ct-item__meta{font-size:16px;line-height:22px;color:var(--rp-muted);}
.body.rd-page .ct-item__controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;}
.body.rd-page .ct-item__price{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.body.rd-page .ct-item__sum{font-size:22px;line-height:30px;font-weight:500;color:var(--rp-ink-strong);white-space:nowrap;}
.body.rd-page .ct-item__old{font-size:16px;line-height:22px;color:var(--rp-muted);white-space:nowrap;}
.body.rd-page .ct-qty .rp-qty__input{font-size:17px;}
.body.rd-page .ct-qty .rp-qty__btn:disabled{opacity:1;}
.body.rd-page .ct-qty.is-readonly .rp-qty__btn{visibility:hidden;}
.body.rd-page .ct-qty.is-readonly .rp-qty__input{pointer-events:none;}
.body.rd-page .ct-item__set{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:100px;background:#FBEFEA;
	font-size:13px;line-height:18px;font-weight:500;color:var(--rp-accent);cursor:pointer;}
.body.rd-page .ct-item__set i{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--rp-accent);color:#fff;font-style:normal;font-size:11px;}
.body.rd-page .ct-gift{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-radius:16px;background:var(--rp-beige);font-size:15px;line-height:21px;color:var(--rp-body);}
.body.rd-page .ct-act{display:inline-flex;align-items:center;gap:9px;font-size:15px;line-height:20px;font-weight:500;color:var(--rp-muted);transition:color .2s,background-color .2s;}
.body.rd-page .ct-act svg{flex:0 0 18px;width:18px;height:18px;}
.body.rd-page .ct-act--fav:hover{color:var(--rp-ink);}
.body.rd-page .ct-act--fav.is-active{color:var(--rp-rose);}
.body.rd-page .ct-act__on{display:none;}
.body.rd-page .ct-act--fav.is-active .ct-act__on{display:inline;}
.body.rd-page .ct-act--fav.is-active .ct-act__off{display:none;}
.body.rd-page .ct-act--del{color:var(--rp-sale);}
.body.rd-page .ct-act--del:hover{color:#9E3C4D;}
.body.rd-page .ct-listacts{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;}
.body.rd-page .ct-listact{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:15px;line-height:20px;font-weight:500;color:var(--rp-muted);white-space:nowrap;transition:color .2s;}
.body.rd-page .ct-listact svg{flex:0 0 18px;width:18px;height:18px;}
.body.rd-page .ct-listact:hover{color:var(--rp-ink);}
.body.rd-page .ct-listact--clear{color:var(--rp-sale);}
.body.rd-page .ct-listact--clear:hover{color:#9E3C4D;}
.body.rd-page .ct-summary{display:flex;flex-direction:column;padding:32px;border-radius:20px;background:#fff;}
.body.rd-page .ct-summary__title{font-size:24px;line-height:33px;font-weight:500;color:var(--rp-ink);}
.body.rd-page .ct-summary__rows{display:flex;flex-direction:column;gap:18px;margin-top:26px;}
.body.rd-page .ct-summary__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid #F2EFEA;}
.body.rd-page .ct-summary__row dt{font-size:17px;line-height:23px;color:var(--rp-muted);}
.body.rd-page .ct-summary__row dd{font-size:17px;line-height:23px;font-weight:500;color:var(--rp-ink);white-space:nowrap;}
.body.rd-page .ct-summary__discount{color:#6B7A52 !important;}
.body.rd-page .ct-promo{display:flex;flex-direction:column;gap:10px;margin-top:26px;}
.body.rd-page .ct-promo__row{display:flex;align-items:center;gap:12px;}
.body.rd-page .ct-promo__input{flex:1 1 auto;min-width:0;height:52px;padding:0 20px;font-size:16px;line-height:22px;}
.body.rd-page .ct-promo__btn{flex:0 0 52px;width:52px;height:52px;border-radius:14px;color:#fff;}
.body.rd-page .ct-promo__btn svg{width:14px;height:17px;}
.body.rd-page .ct-promo__btn .ct-promo__go{width:12px;height:15px;}
.body.rd-page .ct-promo.is-error .ct-promo__input{background:#fff;border-color:var(--rp-error);}
.body.rd-page .ct-promo__msg{font-size:14px;line-height:19px;color:var(--rp-error);}
.body.rd-page .ct-coupons{display:flex;flex-direction:column;gap:8px;}
.body.rd-page .ct-coupon{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 8px 8px 16px;border-radius:12px;background:var(--rp-beige);}
.body.rd-page .ct-coupon__code{font-size:15px;line-height:20px;font-weight:600;letter-spacing:.04em;color:var(--rp-ink);}
.body.rd-page .ct-coupon__status{flex:1 1 auto;min-width:0;font-size:14px;line-height:19px;color:#6B7A52;}
.body.rd-page .ct-coupon__del{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--rp-muted);transition:background-color .2s,color .2s;}
.body.rd-page .ct-coupon__del:hover{background:#EFEAE2;color:var(--rp-ink);}
.body.rd-page .ct-coupon__del svg{width:11px;height:11px;}
.body.rd-page .ct-summary__loyalty:empty{display:none;}
.body.rd-page .ct-summary__total{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--rp-line-soft);}
.body.rd-page .ct-summary__total-label{font-size:20px;line-height:27px;color:var(--rp-ink);}
.body.rd-page .ct-summary__total-sum{font-size:32px;line-height:44px;font-weight:500;letter-spacing:-.025em;color:var(--rp-ink-strong);white-space:nowrap;}
.body.rd-page .ct-summary__btn{height:60px;margin-top:24px;border-radius:16px;font-size:18px;}
.body.rd-page .ct-summary__note{margin-top:14px;font-size:15px;line-height:20px;text-align:center;color:var(--rp-muted);}
.body.rd-page .ct-empty.is-shown{animation:ct-fade .35s ease both;}
@keyframes ct-fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@media (max-width:1440px){
.body.rd-page .ct-layout{gap:32px;}
.body.rd-page .ct-aside{flex-basis:440px;width:440px;}
.body.rd-page .ct-summary{padding:28px;}
}
@media (max-width:1200px){
.body.rd-page .ct-layout{flex-direction:column;align-items:stretch;}
.body.rd-page .ct-main{width:100%;}
.body.rd-page .ct-aside{position:static;flex-basis:auto;width:100%;}
.body.rd-page .ct-item__name{font-size:17px;line-height:25px;}
}
@media (max-width:900px){
.body.rd-page .ct-title{margin-bottom:20px;}
.body.rd-page .ct-layout{gap:26px;}
.body.rd-page .ct-main{gap:12px;}
.body.rd-page .ct-free{gap:12px;padding:16px;border:1px solid var(--rp-line-3);border-radius:18px;}
.body.rd-page .ct-free__text{gap:11px;font-size:13px;line-height:18px;font-weight:400;}
.body.rd-page .ct-free__icon{flex-basis:20px;width:20px;height:20px;color:var(--rp-rose);}
.body.rd-page .ct-free__bar{height:6px;border-radius:3px;}
.body.rd-page .ct-free__bar i{border-radius:3px;}
.body.rd-page .ct-items{gap:12px;margin-top:8px;}
.body.rd-page .ct-item{flex-wrap:wrap;align-items:center;gap:12px;padding:16px;border:1px solid var(--rp-line-3);}
.body.rd-page .ct-item__img{flex-basis:72px;width:72px;height:72px;border-radius:12px;background:var(--rp-media-m);align-self:flex-start;}
.body.rd-page .ct-item__img img{object-fit:cover;}
.body.rd-page .ct-item__body{display:contents;}
.body.rd-page .ct-item__info{flex:1 1 calc(100% - 84px);gap:5px;align-self:flex-start;}
.body.rd-page .ct-item__name{font-size:13px;line-height:18px;font-weight:400;color:var(--rp-ink-strong);}
.body.rd-page .ct-item__meta{font-size:12px;line-height:16px;}
.body.rd-page .ct-item__controls{flex:0 0 auto;flex-wrap:nowrap;gap:6px;}
.body.rd-page .ct-item__price{flex:1 1 auto;min-width:0;flex-direction:row-reverse;justify-content:flex-start;align-items:baseline;gap:6px;}
.body.rd-page .ct-item__sum{font-size:19px;line-height:25px;}
.body.rd-page .ct-item__old{font-size:12.5px;line-height:18px;}
.body.rd-page .ct-qty.rp-qty--sm{width:96px;height:38px;margin-right:6px;padding:0 1px;border-color:transparent;border-radius:13px;background:var(--rp-beige);}
.body.rd-page .ct-qty.rp-qty--sm .rp-qty__btn{flex-basis:32px;width:32px;height:32px;}
.body.rd-page .ct-qty.rp-qty--sm .rp-qty__btn:hover{background:#EFEAE2;}
.body.rd-page .ct-qty.rp-qty--sm .rp-qty__btn img{width:10px;height:10px;}
.body.rd-page .ct-qty.rp-qty--sm .rp-qty__input{font-size:14px;}
.body.rd-page .ct-act{justify-content:center;width:36px;height:36px;border-radius:13px;background:var(--rp-beige);}
.body.rd-page .ct-act svg{flex-basis:17px;width:17px;height:17px;}
.body.rd-page .ct-act__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.body.rd-page .ct-act--fav{color:var(--rp-muted);}
.body.rd-page .ct-act--fav:hover,
.body.rd-page .ct-act--del:hover{background:#EFEAE2;}
.body.rd-page .ct-listacts{gap:10px;margin-top:0;}
.body.rd-page .ct-listact{flex:1 1 0;min-width:0;gap:8px;padding:12px 6px;border:1px solid var(--rp-line);border-radius:14px;background:#fff;
		font-size:12.5px;line-height:17px;font-weight:400;color:var(--rp-ink);}
.body.rd-page .ct-listact svg{flex-basis:16px;width:16px;height:16px;color:var(--rp-muted);}
.body.rd-page .ct-listact--clear{color:var(--rp-sale);}
.body.rd-page .ct-listact--clear svg{color:var(--rp-sale);}
.body.rd-page .ct-summary{gap:14px;padding:18px;border:1px solid var(--rp-line-3);}
.body.rd-page .ct-summary__title{font-size:20px;line-height:26px;font-weight:400;letter-spacing:-.015em;}
.body.rd-page .ct-summary__rows{gap:11px;margin-top:0;}
.body.rd-page .ct-summary__row{padding-bottom:0;border-bottom:0;}
.body.rd-page .ct-summary__row dt,
.body.rd-page .ct-summary__row dd{font-size:13px;line-height:18px;font-weight:400;}
.body.rd-page .ct-summary__discount{color:var(--rp-ink) !important;}
.body.rd-page .ct-coupon{min-height:40px;padding-left:14px;}
.body.rd-page .ct-coupon__code{font-size:13px;line-height:18px;}
.body.rd-page .ct-coupon__status{font-size:12px;line-height:17px;}
.body.rd-page .ct-gift{padding:12px 14px;font-size:13px;line-height:18px;}
.body.rd-page .ct-promo{margin-top:0;}
.body.rd-page .ct-promo__row{gap:10px;}
.body.rd-page .ct-promo__input{height:48px;padding:0 15px;font-size:13.5px;line-height:19px;}
.body.rd-page .ct-promo__btn{flex-basis:48px;width:48px;height:48px;}
.body.rd-page .ct-promo__btn .ct-promo__go{width:14px;height:17px;}
.body.rd-page .ct-promo__msg{font-size:12px;line-height:17px;}
.body.rd-page .ct-summary__total{align-items:center;margin-top:0;padding-top:14px;border-top-color:#F0EDE7;}
.body.rd-page .ct-summary__total-label{font-size:15px;line-height:21px;font-weight:500;}
.body.rd-page .ct-summary__total-sum{font-size:24px;line-height:30px;letter-spacing:-.0208em;}
.body.rd-page .ct-summary__btn{height:51px;margin-top:0;font-size:14px;}
.body.rd-page .ct-summary__note{margin-top:0;font-size:12px;line-height:17px;}
}

/* ---------- cart.local.css: корзина /basket/ — стыковка вёрстки с разметкой Bitrix (sale.basket.basket «rd_cart»); дописывается build_css.sh в cart.css ---------- */

/* заголовок и крошки — штатные Aspro (page_title): счётчик «· N товаров» дописывает cart.js в h1#pagetitle */
.body.rd-page--cart #pagetitle .ct-title__count{font:inherit;color:inherit;}
/* кнопки Aspro у заголовка корзины (скачать / распечатать / поделиться, js/basket.js) — в макете их нет */
.body.rd-page--cart .topic__heading .heading-icons{display:none;}
/* штатный компонент показывает корзину после инициализации (opacity 0 → 1) */
.body.rd-page--cart #basket-root{transition:opacity .2s ease;}

/* список позиций: обёртки компонента (#basket-items-list-wrapper / -container / #basket-item-list) */
.body.rd-page .ct-list,.body.rd-page .ct-list__container,.body.rd-page .ct-list__inner{position:relative;min-width:0;}
.body.rd-page .ct-list__overlay{position:absolute;inset:0;z-index:3;border-radius:20px;background:rgba(249,248,246,.6);}
.body.rd-page .ct-note{padding:18px 24px;border-radius:16px;background:#fff;font-size:15px;line-height:21px;color:var(--rp-body);}
.body.rd-page .ct-note a{color:var(--rp-ink);text-decoration:underline;}
/* фильтр «Отложенные / Недоступные / С ошибками» — чипы (компонент ставит класс active, показывает при > 1 вкладке) */
.body.rd-page .ct-filter__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.body.rd-page .ct-filter__chips .rp-chip.active{background:var(--rp-peach);border-color:var(--rp-peach);color:var(--rp-ink);}
.body.rd-page .ct-filter__chips .rp-chip .chip__label{font:inherit;color:inherit;}
.body.rd-page .ct-filter .top_control{display:none;} /* кнопка «Очистить» Aspro в строке фильтра — есть внизу списка */
/* общее предупреждение корзины (#basket-warning) */
.body.rd-page .ct-warning{position:relative;padding:18px 56px 18px 24px;border-radius:16px;background:#FFF7DB;font-size:15px;line-height:21px;color:var(--rp-ink);}
.body.rd-page .ct-warning a{color:var(--rp-ink);text-decoration:underline;}
.body.rd-page .ct-warning__close{position:absolute;top:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--rp-muted);}
.body.rd-page .ct-warning__close svg{width:11px;height:11px;}

/* позиция */
.body.rd-page .ct-item{position:relative;}
.body.rd-page .ct-item.hidden{display:none;} /* строки-услуги Aspro (SERVICES_CLASS) */
.body.rd-page .ct-item__img{display:block;}
.body.rd-page .ct-item__name{display:block;}
.body.rd-page .ct-item__name span{font:inherit;color:inherit;}
.body.rd-page .ct-item__overlay{position:absolute;inset:0;z-index:2;border-radius:inherit;background:rgba(255,255,255,.55);}
.body.rd-page .ct-item__tags{display:flex;flex-wrap:wrap;gap:6px;}
.body.rd-page .ct-item__tag{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:100px;background:var(--rp-beige);font-size:12px;line-height:16px;font-weight:500;color:var(--rp-muted);}
.body.rd-page .ct-item__prop{font-size:14px;line-height:19px;color:var(--rp-muted);}
.body.rd-page .ct-item__prop span:first-child{color:var(--rp-muted);}
.body.rd-page .ct-item__note{position:relative;padding:10px 14px;border-radius:12px;background:var(--rp-beige);font-size:14px;line-height:19px;color:var(--rp-body);}
.body.rd-page .ct-item__note--warn{padding-right:36px;background:#FDEDEF;color:#8A2F3F;}
.body.rd-page .ct-item__note a{color:inherit;text-decoration:underline;}
.body.rd-page .ct-item__note-close{position:absolute;top:8px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:inherit;}
.body.rd-page .ct-item__note-close svg{width:9px;height:9px;}
.body.rd-page .ct-item__controls{position:relative;}
/* плашка «Набором дешевле»: mhave-set-offer.js дописывает свои стили .mhave-set-offer-badge — перебиваем их */
.body.rd-page .ct-item__set.mhave-set-offer-badge{margin:0;border:0;}
.body.rd-page .ct-item__set.mhave-set-offer-badge:hover{background:#F8E3DA;}
/* количество: состав набора — только чтение (кнопки скрыты), недоступный товар — приглушён */
.body.rd-page .ct-qty{position:relative;}
.body.rd-page .ct-qty.is-disabled{opacity:.5;pointer-events:none;}
.body.rd-page .ct-qty .rp-qty__input{padding:0;box-shadow:none;}
/* подарочная строка акции N+1 (mhave:promo.cart блокирует количество) */
.body.rd-page .mhave-gift-locked .ct-qty .rp-qty__btn{visibility:hidden;}
/* избранное Aspro: класс active у кнопки ставит JItemActionFavorite */
.body.rd-page .ct-act{padding:0;border:0;}
@media (min-width:901px){.body.rd-page .ct-act{background:none;}} /* на мобилке у кнопок бежевая подложка из вёрстки */
.body.rd-page .ct-act--fav.active{color:var(--rp-rose);}
.body.rd-page .ct-act--fav.active .ct-act__on{display:inline;}
.body.rd-page .ct-act--fav.active .ct-act__off{display:none;}
.body.rd-page .loadings > .ct-act--fav{opacity:.5;}
/* SKU (торговые предложения) */
.body.rd-page .ct-sku{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;}
.body.rd-page .ct-sku__name{font-size:14px;line-height:19px;color:var(--rp-muted);}
.body.rd-page .ct-sku__list{display:flex;flex-wrap:wrap;gap:6px;}
.body.rd-page .ct-sku__list li:before{display:none;}
.body.rd-page .ct-sku__item{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:0 10px;border:1px solid var(--rp-line-2);border-radius:10px;font-size:14px;cursor:pointer;}
.body.rd-page .ct-sku__item.selected{border-color:var(--rp-ink);}
.body.rd-page .ct-sku__item.not-available{opacity:.45;}
.body.rd-page .ct-sku__pic{width:24px;height:24px;border-radius:6px;background:center/cover no-repeat;}
/* удалённая позиция: «Товар … был удален из корзины. Восстановить ×» */
.body.rd-page .ct-item--restore{padding:18px 24px;}
.body.rd-page .ct-restore{position:relative;flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;}
.body.rd-page .ct-restore__text{min-width:0;font-size:15px;line-height:21px;color:var(--rp-muted);}
.body.rd-page .ct-restore__acts{display:flex;align-items:center;gap:16px;}
.body.rd-page .ct-restore__btn{padding:0;border:0;background:none;font-size:15px;line-height:20px;font-weight:500;color:var(--rp-ink);text-decoration:underline;text-underline-offset:3px;}
.body.rd-page .ct-restore__btn:hover{color:var(--rp-accent);}
.body.rd-page .ct-restore__close{padding:0;border:0;background:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:var(--rp-muted);}
.body.rd-page .ct-restore__close svg{width:11px;height:11px;}
/* услуги Aspro к товару (если включены) — строкой под позицией */
.body.rd-page .ct-item__services{flex:0 0 100%;}

/* строка акции N+1 (mhave:promo.cart вставляет <tr class="mhave-gift-row"> после позиции) — как .ct-gift вёрстки */
.body.rd-page .ct-items > .mhave-gift-row,.body.rd-page .ct-items > .mhave-gift-row > td{display:block;padding:0 !important;border:0 !important;} /* !important — у виджета свой <style> с !important */
.body.rd-page .ct-items .mhave-gift-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:16px 24px;border:0;border-radius:16px;background:var(--rp-beige);font-size:15px;line-height:21px;color:var(--rp-body);}
.body.rd-page .ct-items .mhave-gift-inline__text{flex:1 1 240px;min-width:0;font-size:15px;line-height:21px;}
.body.rd-page .ct-items .mhave-gift-inline__text b{font-weight:600;color:var(--rp-ink);}
.body.rd-page .ct-items .mhave-gift-inline__btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 20px;border-radius:12px;font-size:15px;line-height:20px;font-weight:500;color:#fff;text-transform:none;letter-spacing:0;}
.body.rd-page .ct-items .mhave-gift-inline--locked{background:#FFF7DB;}

/* очистка — кнопка Aspro .delete_all: сброс стилей кнопки (на мобилке рамка и фон — из вёрстки) */
@media (min-width:901px){.body.rd-page .ct-listact{padding:0;border:0;background:none;}}

/* итог «Ваш заказ»: контейнер компонента [data-entity=basket-total-block] */
.body.rd-page .ct-summary-wrap{min-width:0;}
.body.rd-page .ct-summary__rows dd{margin:0;}
.body.rd-page .ct-promo__input{box-shadow:none;}
.body.rd-page .ct-promo__input:disabled{opacity:.6;}
.body.rd-page .ct-promo__btn{flex-shrink:0;}
.body.rd-page .ct-coupon--danger{background:#FDEDEF;}
.body.rd-page .ct-coupon--danger .ct-coupon__status{color:var(--rp-error);}
.body.rd-page .ct-coupon__del{padding:0;border:0;background:none;}
.body.rd-page .ct-summary__order{display:flex;flex-direction:column;}
.body.rd-page .ct-summary__btn.is-disabled{opacity:.5;pointer-events:none;}
/* минимальная сумма заказа Aspro (component.js checkMinPrice подменяет кнопку своим блоком) */
.body.rd-page .ct-summary__order .icon_error_wrapper{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding:14px 16px;border-radius:14px;background:#FFF7DB;font-size:14px;line-height:19px;color:var(--rp-ink);}
.body.rd-page .ct-summary__order .icon_error_wrapper svg{width:20px;height:20px;flex:0 0 20px;fill:currentColor;}
.body.rd-page .ct-summary__order .basket-checkout-block .btn{display:flex;align-items:center;justify-content:center;width:100%;height:60px;margin-top:12px;border:0;border-radius:16px;background:var(--rp-ink);color:#fff;font-size:18px;}
.body.rd-page .ct-summary__ocb{height:52px;margin-top:12px;border-radius:16px;}

/* метки позиции (rd_labels.php): «Подарок» — акция N+1 (IS_GIFT), «В наборе» — составляющая набора mhave.set */
.body.rd-page .ct-item__tag--gift{background:var(--rp-sale);color:#fff;}
.body.rd-page .ct-item__tag--set{background:#FBEFEA;color:var(--rp-accent);}

/* подарки правил корзины (bitrix:sale.products.gift.basket → bitrix:catalog.item) под корзиной — «Выберите один из подарков».
   Штатную разметку не меняем (её JS — кнопка «Выбрать», слайдер картинок), только перекрашиваем под позиции корзины .ct-item:
   белые карточки 20px, фото слева, метка «Подарок» — как .ct-item__tag--gift, «-100%» и свойства скрыты.
   Длинные селекторы — перебить css/basket.sale.min.css Aspro (.sale-products-gift .product-item-small-card .product-item-container …). */
.body.rd-page--cart .ct-gifts{margin-top:60px;}
.body.rd-page--cart .ct-gifts .catalog-block-header{margin:0 0 20px;padding:0;border:0;font-size:24px;line-height:33px;font-weight:500;color:var(--rp-ink);text-transform:none;letter-spacing:0;}
body .body.rd-page--cart .ct-gifts .sale-products-gift{padding:0;}
.body.rd-page--cart .ct-gifts .sale-products-gift .row{display:flex;flex-wrap:wrap;gap:20px;margin:0;}
.body.rd-page--cart .ct-gifts .sale-products-gift .row::before,.body.rd-page--cart .ct-gifts .sale-products-gift .row::after{display:none;}
.body.rd-page--cart .ct-gifts .sale-products-gift [class*="col-"]{float:none;width:auto;min-width:0;padding:0;margin:0;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-small-card,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-big-card{flex:0 0 100%;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-small-card > .row > [class*="col-"],.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-big-card > .row > [class*="col-"]{flex:0 0 calc((100% - 60px) / 4);margin:0;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container{position:relative;height:100% !important;margin:0;border:0;border-radius:20px;background:#fff;box-shadow:none;} /* !important — у Aspro height:100%!important */
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container:hover{box-shadow:none;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container:hover .product-item{position:relative;display:flex;flex-direction:column;height:100%;min-height:148px;margin:0;padding:24px 24px 24px 140px;
	border:0;border-radius:20px;background:transparent;box-shadow:none;animation:none;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-wrapper{position:absolute;left:24px;top:24px;float:none;width:96px;height:96px;margin:0;padding:0;border-radius:12px;background:transparent;overflow:hidden;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-original,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-slider-slide-container,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-slide{background-size:contain;background-position:center;background-repeat:no-repeat;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container.hover .product-item-image-original{opacity:1;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container.hover .product-item-image-alternative,
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-slider-control-container,
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-label-ring,
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-label-text,
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container [data-entity="props-block"],
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container [data-entity="quantity-block"]{display:none !important;} /* !important — catalog.item переключает их инлайн-стилями из JS */
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item::before{content:"Подарок";order:-1;align-self:flex-start;display:inline-flex;align-items:center;height:24px;margin:0 0 8px;padding:0 10px;border-radius:100px;
	background:var(--rp-sale);font-size:12px;line-height:16px;font-weight:500;color:#fff;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-title{margin:0;padding:0;font-size:16px;line-height:22px;font-weight:400;text-align:left;white-space:normal;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-title a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:inherit;line-height:inherit;color:var(--rp-ink);text-decoration:none;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-title a:hover{color:var(--rp-accent);}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item > .product-item-info-container,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-info-container.product-item-hidden{display:block;margin:0;padding:0;opacity:1;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item > .product-item-price-container{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px;margin:8px 0 0;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-price-current{order:-1;font-size:20px;line-height:28px;font-weight:400;color:var(--rp-ink-strong);white-space:nowrap;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-price-old{font-size:14px;line-height:20px;color:var(--rp-muted);text-decoration:line-through;white-space:nowrap;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item > div[data-entity="buttons-block"]{position:static;margin-top:auto;padding-top:14px;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container{margin:0;padding:0;text-align:left;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container .btn,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container .btn:not(:hover){display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:0;padding:0 20px;
	border:0;border-radius:12px;background:var(--rp-ink);font-family:var(--rp-font);font-size:14px;line-height:20px;font-weight:500;color:#fff;text-transform:none;letter-spacing:0;box-shadow:none;}
.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container .btn:hover{background:#1f1c18;border-color:#1f1c18;color:#fff;}
@media (max-width:1400px){
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-small-card > .row > [class*="col-"],.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-big-card > .row > [class*="col-"]{flex-basis:calc((100% - 20px) / 2);}
}
@media (max-width:900px){
	.body.rd-page--cart .ct-gifts .catalog-block-header{margin-bottom:14px;font-size:20px;line-height:26px;font-weight:400;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .row{gap:10px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-small-card > .row > [class*="col-"],.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-big-card > .row > [class*="col-"]{flex-basis:100%;width:100%;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container{border-radius:16px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container:hover .product-item{min-height:112px;padding:14px 14px 14px 106px;border-radius:16px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-image-wrapper{left:14px;top:14px;width:80px;height:80px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item::before{height:22px;padding:0 8px;font-size:11px;margin-bottom:6px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item-title{font-size:13px;line-height:18px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-price-current{font-size:17px;line-height:24px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-price-old{font-size:12px;line-height:17px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item > div[data-entity="buttons-block"]{padding-top:10px;}
	.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container .btn,.body.rd-page--cart .ct-gifts .sale-products-gift .product-item-container .product-item .product-item-button-container .btn:not(:hover){height:36px;padding:0 16px;font-size:13px;}
}

/* пустая корзина: блок .rp-state на всю ширину */
.body.rd-page--cart .ct-empty{width:100%;}

@media (max-width:900px){
	.body.rd-page .ct-item--restore{padding:14px 16px;}
	.body.rd-page .ct-restore__text{font-size:13px;line-height:18px;}
	.body.rd-page .ct-item__tags{flex:0 0 100%;}
	.body.rd-page .ct-item__tag{height:22px;padding:0 8px;font-size:11px;}
	.body.rd-page .ct-item__prop,.body.rd-page .ct-item__note{font-size:12px;line-height:17px;}
	.body.rd-page .ct-items .mhave-gift-inline{padding:12px 14px;font-size:13px;line-height:18px;}
	.body.rd-page .ct-items .mhave-gift-inline__text{font-size:13px;line-height:18px;}
	.body.rd-page .ct-items .mhave-gift-inline__btn{height:40px;padding:0 16px;font-size:13px;}
	.body.rd-page .ct-note,.body.rd-page .ct-warning{font-size:13px;line-height:18px;}
	.body.rd-page .ct-summary__ocb{height:48px;font-size:14px;}
	.body.rd-page--cart .ct-gifts{margin-top:40px;}
}

/* оплата бонусами в итоге (mhave.loyalty, loyalty-basket.js + css/loyalty.css): ссылки внутри .rp-content наследуют цвет —
   возвращаем белый текст тёмной кнопке «Войти или зарегистрироваться» */
.body.rd-page--cart .ct-summary .loyalty-basket__guest-link,
.body.rd-page--cart .ct-summary .loyalty-basket__guest-link:hover{color:#fff;}
