/* ============================================================================
   TEPLOVOLT · БІЧНИЙ КОШИК (правка 10.09)
   Панель праворуч поверх сторінки. Розмітку будує rp2-minicart.js, тож без
   сценарію цих правил просто нема до чого застосувати.
   ========================================================================== */

.mcart{ position:fixed; inset:0; z-index:100; }
.mcart[hidden]{ display:none; }

.mcart__veil{
  position:absolute; inset:0;
  background: rgb(13 27 42 / .45);
  opacity:0; transition: opacity .2s linear;
}
.mcart__box{
  position:absolute; top:0; right:0; bottom:0;
  width: min(420px, 100%);
  display:flex; flex-direction:column;
  background: var(--rp-paper); color: var(--rp-ink);
  box-shadow: var(--rp-sh-4);
  transform: translateX(100%); transition: transform .22s ease;
  outline:none;
}
.mcart.is-open .mcart__veil{ opacity:1; }
.mcart.is-open .mcart__box{ transform:none; }
@media (prefers-reduced-motion: reduce){
  .mcart__veil, .mcart__box{ transition:none; }
}
/* сторінка під відкритою панеллю не прокручується */
html.mcart-on{ overflow:hidden; }

.mcart__head{
  display:flex; align-items:center; justify-content:space-between; gap: var(--rp-s3);
  padding: var(--rp-s4) var(--rp-s4) var(--rp-s3);
  border-bottom: var(--rp-hair) solid var(--rp-line);
}
.mcart__x{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border:0; border-radius: var(--rp-r-pill);
  background: var(--rp-hover); color: var(--rp-ink);
  font-size:24px; line-height:1; cursor:pointer;
}
.mcart__x:hover{ background: var(--rp-tint); }
.mcart__x:focus-visible{ outline: 2px solid var(--rp-flame); outline-offset:2px; }

.mcart__status{ padding: 0 var(--rp-s4); font-size: var(--rp-fs-small); color: var(--rp-muted); }
.mcart__status:not(:empty){ padding-top: var(--rp-s2); }

.mcart__list{
  list-style:none; margin:0; padding: var(--rp-s2) var(--rp-s4);
  flex:1 1 auto; overflow-y:auto; overscroll-behavior: contain;
}
.mcart__it{
  display:grid; grid-template-columns: 72px minmax(0,1fr); gap: var(--rp-s3);
  padding: var(--rp-s3) 0; border-bottom: var(--rp-hair) solid var(--rp-line);
}
.mcart__shot img, .mcart__noimg{
  display:block; width:72px; height:72px; object-fit:contain;
  border-radius: var(--rp-r-sm); background: var(--rp-air);
}
.mcart__body{ display:grid; gap:6px; min-width:0; align-content:start; }
.mcart__t{
  color: var(--rp-ink); text-decoration:none;
  font-size: var(--rp-fs-small); font-weight: var(--rp-w-semi); line-height:1.3;
}
.mcart__t:hover{ color: var(--rp-flame); }
.mcart__row{ display:flex; align-items:center; justify-content:space-between; gap: var(--rp-s2); }

.mcart__qty{
  display:inline-flex; align-items:center;
  border: var(--rp-hair) solid var(--rp-edge); border-radius: var(--rp-r-pill);
}
.mcart__qty button{
  width:34px; height:34px; border:0; border-radius: var(--rp-r-pill);
  background:transparent; color: var(--rp-ink); font-size:18px; line-height:1; cursor:pointer;
}
.mcart__qty button:hover:not(:disabled){ background: var(--rp-hover); }
.mcart__qty button:disabled{ opacity:.35; cursor:default; }
.mcart__qty output{ min-width:24px; text-align:center; font-size: var(--rp-fs-small); }
.mcart__sum{ font-weight: var(--rp-w-semi); white-space:nowrap; }

.mcart__rm{
  justify-self:start; padding:0; border:0; background:none; cursor:pointer;
  color: var(--rp-muted); font-size: var(--rp-fs-micro); text-decoration: underline;
}
.mcart__rm:hover{ color: var(--rp-stop); }

.mcart__foot{
  display:grid; gap: var(--rp-s2);
  padding: var(--rp-s4); border-top: var(--rp-hair) solid var(--rp-line);
}
.mcart__foot:empty{ display:none; }
.mcart__total{ display:flex; justify-content:space-between; align-items:baseline; gap: var(--rp-s3); }
.mcart__total b{ font-size: var(--rp-fs-h3); font-weight: var(--rp-w-bold); }
.mcart__nil{ display:grid; gap: var(--rp-s3); justify-items:start; }

/* поки йде запит — вміст приглушений і не клікається */
.mcart.is-busy .mcart__list,
.mcart.is-busy .mcart__foot{ opacity:.55; pointer-events:none; transition: opacity .15s linear; }
