/* ========= CART DRAWER ========= */
.scrim{position:fixed;inset:0;background:rgba(18,35,46,.5);opacity:0;pointer-events:none;transition:opacity .22s;z-index:80}
.scrim.on{opacity:1;pointer-events:auto}
.drw{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);background:var(--paper);z-index:90;
  transform:translateX(102%);transition:transform .26s ease;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(18,35,46,.22)}
.drw.on{transform:none}
.drw__h{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--plum-line)}
.drw__h h3{font-size:1.1rem}
.drw__x{margin-left:auto;width:36px;height:36px;border-radius:50%;border:1px solid var(--plum-line);display:grid;place-items:center;font-size:1.1rem}
.drw__b{flex:1;overflow-y:auto;padding:1.1rem 1.2rem}
.drw__f{border-top:1px solid var(--plum-line);padding:1.1rem 1.2rem;background:#fff}
.ci{display:flex;gap:.8rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--plum-line)}
.ci img{width:62px;height:62px;object-fit:contain;background:#fff;border:1px solid var(--plum-line);border-radius:8px;flex:0 0 auto}
.ci__n{font-family:var(--display);font-weight:600;font-size:.92rem;line-height:1.25}
.ci__d{font-size:.76rem;color:var(--ink-soft);margin:.15rem 0 .35rem}
.ci__r{display:flex;align-items:center;gap:.6rem}
.ci__p{margin-left:auto;font-family:var(--display);font-weight:700;font-size:.95rem}
.ci__rm{font-size:.76rem;color:var(--plum);text-decoration:underline}
.ci__gift{width:62px;height:62px;flex:0 0 auto;display:grid;place-items:center;border:1px dashed var(--plum-line);border-radius:8px;color:var(--limeD)}
.ci__gift svg{width:28px;height:28px}
.ci__free{align-self:center;color:#1E7A3C}
.tot{display:flex;justify-content:space-between;font-size:.9rem;padding:.28rem 0}
.tot--big{font-family:var(--display);font-weight:700;font-size:1.15rem;border-top:1px solid var(--plum-line);margin-top:.5rem;padding-top:.7rem}
.rwline{margin:.5rem 0 .2rem;padding:.55rem .7rem;border-radius:9px;background:#E9F6FE;
  border-left:3px solid var(--plum);font-size:.88rem;color:var(--ink);line-height:1.4}
.rwline b{font-family:var(--display);color:var(--plum)}
.empty{text-align:center;color:var(--ink-soft);font-size:.92rem;padding:2.4rem 1rem}
.qty__ctl{display:flex;align-items:center;border:1.5px solid var(--plum-line);border-radius:100px;overflow:hidden;background:#fff}
.qty__ctl button{width:40px;height:40px;font-size:1.1rem;font-weight:600;color:var(--plum)}
.qty__ctl button:hover{background:rgba(0,147,221,.08)}
.qty__ctl span{min-width:34px;text-align:center;font-family:var(--display);font-weight:600}

/* ========= STICKY BAR MOBILE ========= */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border-top:1px solid var(--plum-line);padding:.7rem max(var(--page-pad-x),env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom, 0px)) max(var(--page-pad-x),env(safe-area-inset-left));
  display:flex;align-items:center;gap:.8rem;transform:translateY(110%);transition:transform .24s ease}
.sticky.on{transform:none}
.sticky__p{font-family:var(--display);font-weight:700;font-size:1.02rem;line-height:1.15;white-space:nowrap}
.sticky__p small{display:block;font-family:var(--body);font-weight:400;font-size:.72rem;line-height:1.3;color:var(--ink-soft);margin-top:1px}
.sticky .btn{margin-left:auto;padding:.72rem 1.2rem;font-size:.92rem}
body.hascart{padding-bottom:var(--sticky-bar-h)}
@media(min-width:1000px){.sticky{display:none}body.hascart{padding-bottom:0}}
