.cart-scrim{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease);z-index:80}
.cart{position:fixed;top:0;right:0;height:100dvh;width:min(420px,100%);z-index:90;
  background:var(--bg-2);border-left:1px solid var(--line);
  display:grid;grid-template-rows:auto 1fr auto;
  transform:translateX(102%);transition:transform .32s var(--ease)}
body.cart-open .cart-scrim{opacity:1;pointer-events:auto}
body.cart-open .cart{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:flex-start;
  padding:26px 26px 18px;border-bottom:1px solid var(--line)}
.cclose{background:none;border:0;font-size:26px;line-height:1;color:var(--tx-lo)}
.cart-body{padding:20px 26px;overflow-y:auto;display:grid;gap:18px;align-content:start}
.citem{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:start}
.cname{margin:0;font-size:14.5px;color:var(--tx-hi)}
.cmeta{margin:2px 0 0;font-size:12.5px;color:var(--tx-lo)}
.cstock{margin:6px 0 0;font-size:12px;color:var(--tx-lo);display:flex;align-items:center;gap:6px}
.cstock .dot{width:6px;height:6px;border-radius:50%;background:var(--moss)} /* #697E70, Pantone 4198 C — dentro da paleta */
.cprice{margin:0;font-size:14px;color:var(--tx-hi);white-space:nowrap}
.clink{background:none;border:0;padding:0;font-size:12.5px;color:var(--tx-lo);text-decoration:underline}
.clink:hover{color:var(--tx-hi)}
.cart-foot{padding:20px 26px 26px;border-top:1px solid var(--line)}
.crow{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:14px}
.crow strong{font-size:19px;color:var(--tx-hi);font-weight:500}

.cart-warn{
  margin:0 0 16px;padding:12px 14px;border-radius:var(--r);
  background:#7E4D4D2E;border:1px solid #7E4D4D;color:#F0DCDC;font-size:12.5px;line-height:1.5
}
