/* ---------- Cart trigger icon (header) ---------- */
.cart-trigger{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:999px;background:transparent;
  border:1.5px solid var(--line);cursor:pointer;transition:border-color .2s,background .2s;
}
.cart-trigger:hover{border-color:var(--clay);background:rgba(198,99,63,0.08);}
.cart-trigger svg{width:18px;height:18px;stroke:var(--ink);}
.cart-badge{
  position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;
  border-radius:999px;background:var(--clay);color:#fff;font-size:10.5px;font-weight:700;
  display:none;align-items:center;justify-content:center;line-height:1;
  border:2px solid var(--cream);
}

/* ---------- Add to cart button ---------- */
.add-cart-btn{
  margin-top:12px;display:block;width:100%;text-align:center;
  background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-radius:999px;
  padding:9px 0;font-size:13px;font-weight:600;font-family:'Prompt',sans-serif;
  cursor:pointer;transition:background .2s,color .2s,transform .15s;
}
.add-cart-btn:hover{background:var(--clay);border-color:var(--clay);}
.add-cart-btn:active{transform:scale(0.97);}
.add-cart-btn.added{background:var(--sage);border-color:var(--sage);}

/* ---------- Overlay + Drawer ---------- */
.cart-overlay{
  position:fixed;inset:0;background:rgba(43,35,32,0.45);
  opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:90;
}
.cart-overlay.active{opacity:1;pointer-events:auto;}

.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:100%;max-width:400px;
  background:var(--cream);z-index:100;
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s ease;
  box-shadow:-12px 0 40px -20px rgba(0,0,0,0.4);
}
.cart-drawer.active{transform:translateX(0);}

.cart-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 22px 16px;border-bottom:1px solid var(--line);
}
.cart-drawer-head h3{font-family:'DM Serif Display',serif;font-size:21px;color:var(--ink);}
.cart-close{
  background:none;border:none;font-size:18px;color:var(--ink);cursor:pointer;
  width:32px;height:32px;border-radius:999px;transition:background .2s;
}
.cart-close:hover{background:var(--line);}

.cart-items{flex:1;overflow-y:auto;padding:16px 22px;}
.cart-empty{color:#786c62;font-size:14px;text-align:center;padding:40px 10px;}

.cart-item{
  display:flex;gap:12px;align-items:center;padding:12px 0;
  border-bottom:1px solid var(--line);
}
.cart-item-img{
  width:64px;height:78px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#eee2d4;
}
.cart-item-img img{width:100%;height:100%;object-fit:cover;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-code{font-size:12px;color:#9a8d81;letter-spacing:0.5px;margin-bottom:2px;}
.cart-item-price{font-size:15px;font-weight:700;color:var(--clay);margin-bottom:6px;}
.cart-item-qty{display:flex;align-items:center;gap:10px;font-size:13px;}
.cart-item-qty span{min-width:16px;text-align:center;font-weight:600;}
.qty-btn{
  width:22px;height:22px;border-radius:999px;border:1.5px solid var(--line);
  background:var(--card);cursor:pointer;font-size:14px;line-height:1;
  display:flex;align-items:center;justify-content:center;color:var(--ink);
  transition:border-color .2s;
}
.qty-btn:hover{border-color:var(--clay);color:var(--clay);}
.cart-item-remove{
  background:none;border:none;color:#b3a89d;font-size:13px;cursor:pointer;
  width:26px;height:26px;border-radius:999px;flex-shrink:0;transition:background .2s,color .2s;
}
.cart-item-remove:hover{background:var(--line);color:var(--clay);}

.cart-drawer-foot{padding:18px 22px 24px;border-top:1px solid var(--line);}
.cart-total-row{
  display:flex;justify-content:space-between;align-items:center;
  font-size:15px;font-weight:600;margin-bottom:14px;
}
#cartTotalText{color:var(--clay);font-size:19px;font-weight:700;}
.cart-checkout-btn{
  width:100%;text-align:center;border:none;font-family:'Prompt',sans-serif;
}

@media (max-width:480px){
  .cart-drawer{max-width:100%;}
}
