/* ==========================================================================
   side-cart.css — slide-in drawer. Highest z-index in the stack (above header
   + mobile nav + search).
   ========================================================================== */
.lz-cart-backdrop{position:fixed;inset:0;z-index:var(--z-sidecart);background:rgba(61,54,50,.35);
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s var(--ease)}
.lz-cart-backdrop.is-open{opacity:1;visibility:visible}
.lz-cart{position:fixed;top:0;right:0;height:100dvh;width:min(420px,92vw);z-index:calc(var(--z-sidecart) + 1);
  background:var(--bg);box-shadow:-16px 0 46px rgba(61,54,50,.14);transform:translateX(100%);
  transition:transform .4s var(--ease);display:flex;flex-direction:column}
.lz-cart.is-open{transform:translateX(0)}
.lz-cart__head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line);flex:none}
.lz-cart__head h3{font-size:22px;font-weight:300}
.lz-cart__close{background:none;border:none;cursor:pointer;color:var(--text-soft);transition:.3s}
.lz-cart__close:hover{color:var(--brand)}
.lz-cart__close svg{width:24px;height:24px}
.lz-cart__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 28px;touch-action:pan-y;overscroll-behavior:contain}
.lz-cart__empty{text-align:center;color:var(--text-soft);padding:50px 0;font-size:15px}
.lz-cart__foot{flex:none;margin-top:auto;padding:22px 28px;border-top:1px solid var(--line);background:var(--soft)}
.lz-cart__subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}
.lz-cart__subtotal span:first-child{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}
.lz-cart__subtotal .amount{font-family:var(--font-head);font-size:22px;color:var(--brand)}
.lz-cart__actions{display:flex;flex-direction:column;gap:10px}
.lz-cart__actions .btn{width:100%;min-width:100%;justify-content:center}

/* line items */
.lz-cart-item{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.lz-cart-item__img{width:70px;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--soft)}
.lz-cart-item__img img{width:100%;height:100%}
.lz-cart-item__name{font-size:13px;font-weight:600;color:var(--brand);line-height:1.4;margin-bottom:4px}
.lz-cart-item__meta{font-size:11px;color:var(--text-light);margin-bottom:8px}
.lz-cart-item__price{font-size:13px;color:var(--brand)}
.lz-cart-item__qty{display:inline-flex;align-items:center;border:1px solid var(--secondary);margin-top:8px}
.lz-cart-item__qty button{width:28px;height:28px;background:none;border:none;cursor:pointer;color:var(--text-soft);font-size:14px}
.lz-cart-item__qty button:hover{color:var(--brand);background:var(--soft)}
.lz-cart-item__qty span{min-width:30px;text-align:center;font-size:13px;color:var(--brand)}
.lz-cart-item__remove{background:none;border:none;cursor:pointer;color:var(--text-light);transition:.3s;padding:0}
.lz-cart-item__remove:hover{color:#b3261e}
.lz-cart-item__remove svg{width:16px;height:16px}

/* toast */
.lz-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:var(--z-toast);
  background:var(--brand);color:#fff;padding:14px 24px;border-radius:var(--radius);font-size:13px;
  opacity:0;visibility:hidden;transition:.35s var(--ease);max-width:90vw;text-align:center}
.lz-toast.is-open{opacity:1;visibility:visible;transform:translate(-50%,0)}
.lz-toast--error{background:#b3261e}
