/* ROGACHEV — корзина: панель справа (макет CartPanel, 1440) и страница /cart (макет Cart, 390; компьютер — две колонки, как оформление).
   Цвета — только переменные из base.css. */

/* ---------- Строка товара («товар в строку», UI-кит → Cards) */
.rg-clines{list-style:none;margin:0;padding:0}
.rg-cline{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.rg-cline__img{flex:none;width:84px;height:105px;background:linear-gradient(160deg,var(--surface) 0%,var(--tile) 100%);overflow:hidden;display:block}
.rg-cline__img img{width:100%;height:100%;object-fit:cover}
.rg-cline__body{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.rg-cline__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rg-cline__name{font-size:15px;line-height:1.3;overflow-wrap:break-word;min-width:0;padding:2px 0}
.rg-cline__sum{font-family:var(--font-display);font-size:17px;line-height:1.35;white-space:nowrap}
.rg-cline__meta{font-size:13px;line-height:1.4;color:var(--text-3)}
.rg-cline__each{font-family:var(--font-mono);font-size:12px;line-height:1.4;color:var(--text-3)}
.rg-cline__acts{display:flex;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}
.rg-cline__status{font-size:12px;line-height:1.45;color:var(--text-3);min-height:0}
.rg-cline__status:empty{display:none}
.rg-cline__status.is-error{color:var(--brick)}
.rg-cline.is-busy .rg-cline__acts,.rg-cline.is-busy .rg-cline__sum{opacity:.55}

/* Количество: рамка как в макете, кнопки — 44 px */
.rg-cqty{display:inline-flex;align-items:center;border:1px solid var(--line);height:46px}
.rg-cqty__btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--text)}
.rg-cqty__btn:hover{background:var(--surface)}
.rg-cqty__btn[aria-disabled="true"]{color:var(--text-3);opacity:.55;cursor:default;background:none}
.rg-cqty__btn:focus-visible{outline-offset:-2px}
.rg-cqty__val{min-width:24px;text-align:center;font-family:var(--font-mono);font-size:14px}

.rg-cline__fav{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-2)}
.rg-cline__fav:hover{color:var(--patina)}
.rg-cline__fav[aria-pressed="true"]{color:var(--ink)}
.rg-cline__fav[aria-pressed="true"] .rg-icon{fill:currentColor}
.rg-cline__remove{min-height:44px;display:inline-flex;align-items:center;font-size:13px;color:var(--text-3)}
.rg-cline__remove span{border-bottom:1px solid var(--line);line-height:1.4}
.rg-cline__remove:hover{color:var(--text)}
.rg-cline__remove:hover span{border-color:var(--text-3)}
.rg-cline__remove[aria-disabled="true"]{cursor:default}

/* Сообщения над списком и «Товар удалён · Вернуть» */
.rg-cnotices{display:flex;flex-direction:column;gap:8px}
.rg-cnotices:empty,.rg-cnotices:not(:has(*)){display:none}
.rg-cnotice{justify-content:flex-start}
.rg-cundo-slot:empty{display:none}
.rg-cundo{padding:12px 16px;min-height:56px}
.rg-cundo .rg-msg__act{color:var(--ground)}

/* ---------- Итог */
.rg-csum{display:flex;flex-direction:column;gap:12px}
.rg-csum__title{font-family:var(--font-display);font-weight:400;font-size:22px;line-height:1.2;padding:10px 0 4px}
.rg-csum__rows{display:flex;flex-direction:column;gap:12px}
.rg-csum__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;line-height:1.4;color:var(--text)}
.rg-csum__row--muted{color:var(--text-3)}
.rg-csum__row--coupon{color:var(--patina-text);align-items:center}
.rg-csum__num{font-family:var(--font-mono);font-size:14px;white-space:nowrap}
.rg-csum__remove{flex:none;min-height:44px;margin:-12px 0;display:inline-flex;align-items:center;font-size:13px;color:var(--text-3)}
.rg-csum__remove span{border-bottom:1px solid var(--line);line-height:1.4}
.rg-csum__remove:hover{color:var(--text)}
.rg-csum__total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;border-top:1px solid var(--line);font-size:16px}
.rg-csum__totalnum{font-family:var(--font-display);font-size:28px;line-height:1.1;white-space:nowrap}
.rg-csum__note{font-size:13px;line-height:1.5;color:var(--text-3)}
.rg-csum__go{min-height:60px;font-size:17px;margin-top:8px}
.rg-btn.is-busy[aria-disabled="true"]{background:var(--patina);opacity:.6;color:var(--surface)}

/* Промокод: свёрнутая строка → поле и «Применить» */
.rg-promo__toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;font-size:15px;border-bottom:1px solid var(--line-soft)}
.rg-promo__toggle .rg-icon{color:var(--text-3);transition:transform .15s}
.rg-promo__toggle.is-open .rg-icon{transform:rotate(180deg)}
.rg-promo__toggle:focus-visible{outline-offset:-2px}
.rg-promo__form{padding:14px 0 16px;border-bottom:1px solid var(--line-soft)}
.rg-promo__row{display:flex;gap:8px}
.rg-field .rg-promo__input{flex:1;min-width:0;text-transform:uppercase}
.rg-field .rg-promo__input::placeholder{text-transform:none}
.rg-promo__apply{flex:none;height:var(--field);padding:0 20px;border:1px solid var(--ink);font-size:15px;text-align:center}
.rg-promo__apply:hover{background:var(--ink);color:var(--surface)}
.rg-promo__apply:disabled{border-color:var(--line);color:var(--text-3);background:none}
.rg-promo__form .rg-field__error:empty{display:none}
.rg-promo__form.is-error .rg-promo__input{border-color:var(--brick)}

/* ---------- Панель справа */
.rg-cpanel{position:fixed;inset:0;z-index:70}
.rg-cpanel__overlay{position:absolute;inset:0;background:var(--overlay);opacity:0;transition:opacity .25s ease}
.rg-cpanel__box{position:absolute;top:0;right:0;bottom:0;width:min(500px,100%);background:var(--surface);display:flex;flex-direction:column;box-shadow:-24px 0 60px -30px var(--overlay);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1);outline:none}
.rg-cpanel.is-open .rg-cpanel__overlay{opacity:1}
.rg-cpanel.is-open .rg-cpanel__box{transform:none}
.rg-cpanel__head{flex:none;display:flex;justify-content:space-between;align-items:center;gap:16px;height:84px;padding:0 32px;border-bottom:1px solid var(--line)}
.rg-cpanel__title{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.1}
.rg-cpanel__added{flex:none;display:flex;align-items:center;min-height:48px;padding:12px 32px;background:var(--patina-fill);color:var(--patina-text);font-size:14px;line-height:1.4}
.rg-cpanel__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 32px 16px;display:flex;flex-direction:column;gap:0}
.rg-cpanel__scroll > .rg-cnotices,.rg-cpanel__scroll > .rg-cundo-slot{margin-top:16px}
.rg-cpanel__empty{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:40px 0}
.rg-cpanel__empty-title{font-family:var(--font-display);font-size:24px;line-height:1.2}
.rg-cpanel__foot{flex:none;display:flex;flex-direction:column;gap:12px;padding:22px 32px 28px;border-top:1px solid var(--line)}
.rg-cpanel__foot .rg-csum__total{padding-top:12px}
.rg-cpanel__foot .rg-csum__totalnum{font-size:24px}
.rg-cpanel__go{min-height:60px;font-size:17px;margin-top:8px}
.rg-cpanel__cart{min-height:52px;font-size:15px}
.rg-cpanel__note{font-size:12px;line-height:1.45;color:var(--text-3);text-align:center}
.rg-cpanel__box.is-loading .rg-clines,.rg-cpanel__box.is-loading .rg-csum__rows{opacity:.55;transition:opacity .15s}
@media (prefers-reduced-motion:reduce){ .rg-cpanel__overlay,.rg-cpanel__box{transition:none} }
@media (max-width:1099px){ .rg-cpanel{display:none} }

/* ---------- Страница /cart */
.rg-cartpage{flex:1 0 auto;display:flex;flex-direction:column}
.rg-cartpage__inner{padding-top:48px;padding-bottom:var(--s-9);display:flex;flex-direction:column}
.rg-cartpage__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rg-cartpage__title{font-family:var(--font-display);font-weight:400;font-size:48px;line-height:1.05}
.rg-cartpage__count{font-family:var(--font-mono);font-size:12px;color:var(--text-3)}
.rg-cartpage__inner > .rg-cundo-slot{margin-top:24px}
.rg-cartpage__inner > .rg-cnotice{margin-top:16px}
.rg-cartpage__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"main side" "pairs side";column-gap:72px;align-items:start;margin-top:24px}
.rg-cartpage__main{grid-area:main;display:flex;flex-direction:column;gap:12px;min-width:0}
.rg-cartpage__main > .rg-cnotices{margin-top:12px}
.rg-cartpage__side{grid-area:side;position:sticky;top:calc(var(--rg-header-h, 0px) + 24px)}
.rg-cartpage__side .rg-csum{background:var(--surface);border:1px solid var(--line-soft);padding:18px 28px 28px}
.rg-cartpage__pairs{grid-area:pairs;display:flex;flex-direction:column;gap:20px;margin-top:56px;min-width:0}
.rg-cartpage__h2{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1.15}
.rg-cpairs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rg-cpairs__item{min-width:0}
.rg-cartpage__bar{display:none}

/* Пустая корзина */
.rg-cartpage__emptybox{margin-top:8px}
.rg-cartempty{display:flex;flex-direction:column;gap:var(--s-8)}
.rg-cartempty__box{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:32px;max-width:560px}
.rg-cartempty__title{font-family:var(--font-display);font-size:30px;line-height:1.15}
.rg-cartempty__text{font-size:16px;line-height:1.6;color:var(--text-2)}
.rg-cartempty__btn{margin-top:8px;min-width:220px}
.rg-cartempty__favs{font-size:15px;color:var(--text-2)}
.rg-cartempty__favs a{border-bottom:1px solid var(--underline);display:inline-block;padding:10px 0 1px;margin:-10px 0 0}
.rg-cartempty__viewed{display:flex;flex-direction:column;gap:24px}

@media (max-width:1023px){
  .rg-cartpage__inner{padding-top:24px;padding-bottom:36px}
  .rg-cartpage__title{font-size:34px;line-height:1}
  .rg-cartpage__inner > .rg-cundo-slot{margin-top:18px}
  .rg-cartpage__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side" "pairs";margin-top:4px}
  .rg-cartpage__main{gap:0}
  .rg-cartpage__main > .rg-cnotices{margin:14px 0 4px}
  .rg-cartpage__side{position:static;padding-top:18px}
  .rg-cartpage__side .rg-csum{background:none;border:0;padding:0}
  .rg-csum__title,.rg-csum__go,.rg-csum__note--pay{display:none}
  .rg-cartpage__pairs{margin-top:36px;gap:14px}
  .rg-cartpage__h2{font-size:22px}
  /* «С этим сочетается»: лента карточек, листается пальцем */
  ul.rg-cpairs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--page-x) * -1);padding:0 var(--page-x) 4px;scroll-snap-type:x proximity;scroll-padding-inline:var(--page-x)}
  .rg-cpairs::-webkit-scrollbar{display:none}
  .rg-cpairs__item{flex:0 0 150px;scroll-snap-align:start}
  /* Узкая карточка ленты — как в макете: фото, название, цена */
  .rg-cpairs .rg-card__colors,.rg-cpairs .rg-card__meta{display:none}
  /* Кнопка «Оформить заказ · N ₽» закреплена внизу экрана */
  .rg-cartpage__bar{display:block;position:sticky;bottom:0;z-index:30;margin-top:auto;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px calc(16px + env(safe-area-inset-bottom))}
  .rg-cartpage__bar .rg-btn{min-height:56px;font-size:16px}
  .rg-cartpage__bar[hidden]{display:none}
  .rg-cartempty{gap:var(--s-7)}
  .rg-cartempty__box{padding-top:24px}
  .rg-cartempty__title{font-size:26px}
  .rg-cartempty__btn{width:100%}
}
@media (min-width:761px) and (max-width:1023px){
  .rg-cartpage__main,.rg-cartpage__side,.rg-cartpage__pairs{max-width:680px}
}
