/* ============ Curiositeas — side cart drawer ============ */
.tea-noscroll{ overflow:hidden; }

.tea-sidecart{
  position:fixed; inset:0; z-index:99999; /* above header + mobile nav */
  visibility:hidden; pointer-events:none;
}
.tea-sidecart.is-open{ visibility:visible; pointer-events:auto; }

.tea-sidecart__overlay{
  position:absolute; inset:0; background:rgba(11,11,11,.42);
  opacity:0; transition:opacity .4s var(--ease,ease);
  backdrop-filter:blur(2px);
}
.tea-sidecart.is-open .tea-sidecart__overlay{ opacity:1; }

.tea-sidecart__panel{
  position:absolute; top:0; right:0; height:100%;
  width:min(420px,92vw);
  background:var(--cream,#FFF7F5); color:var(--ink,#0B0B0B);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .5s var(--ease,cubic-bezier(.16,1,.3,1));
  box-shadow:-24px 0 60px rgba(11,11,11,.16);
}
.tea-sidecart.is-open .tea-sidecart__panel{ transform:translateX(0); }

.tea-sidecart__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 24px; border-bottom:1px solid rgba(11,11,11,.1);
}
.tea-sidecart__title{ font-family:var(--serif,serif); font-size:1.35rem; }
.tea-sidecart__close{
  border:0; background:none; font-size:1.9rem; line-height:1; cursor:pointer;
  color:var(--ink,#0B0B0B); transition:transform .3s var(--ease,ease);
}
.tea-sidecart__close:hover{ transform:rotate(90deg); }

.tea-sidecart__inner{ display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }

.tea-sidecart__items{
  list-style:none; margin:0; padding:8px 24px; overflow-y:auto; flex:1 1 auto;
}
.tea-sc-item{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center;
  padding:16px 0; border-bottom:1px solid rgba(11,11,11,.08);
}
.tea-sc-item__img img{ width:64px; height:64px; object-fit:cover; border-radius:14px; display:block; }
.tea-sc-item__name{ font-weight:600; text-decoration:none; color:inherit; display:block; margin-bottom:4px; }
.tea-sc-item__name:hover{ color:var(--berry,#CE3961); }
.tea-sc-item__price{ color:var(--grey,#54595F); font-size:.9rem; margin-bottom:8px; }

.tea-sc-qty{ display:inline-flex; align-items:center; gap:12px; border:1px solid rgba(11,11,11,.16); border-radius:999px; padding:4px 10px; }
.tea-sc-qty__btn{ border:0; background:none; cursor:pointer; font-size:1rem; line-height:1; color:var(--ink,#0B0B0B); }
.tea-sc-qty__val{ min-width:16px; text-align:center; font-variant-numeric:tabular-nums; }

.tea-sc-item__remove{ border:0; background:none; font-size:1.4rem; line-height:1; cursor:pointer; color:var(--grey,#54595F); transition:color .25s; }
.tea-sc-item__remove:hover{ color:var(--berry,#CE3961); }

.tea-sidecart__foot{ padding:20px 24px calc(20px + env(safe-area-inset-bottom)); border-top:1px solid rgba(11,11,11,.1); background:var(--cream,#FFF7F5); }
.tea-sidecart__subtotal{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px; font-size:1.05rem; }
.tea-sidecart__subtotal strong{ font-family:var(--serif,serif); font-size:1.3rem; }
.tea-sidecart__checkout{ width:100%; min-width:100%; justify-content:center; text-align:center; }
.tea-sidecart__viewcart{ display:block; text-align:center; margin-top:12px; color:var(--grey,#54595F); font-size:.92rem; }
.tea-sidecart__viewcart:hover{ color:var(--berry,#CE3961); }

.tea-sidecart__empty{ flex:1 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:40px 24px; text-align:center; color:var(--grey,#54595F); }

/* toast */
.tea-toast{
  position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px);
  background:var(--ink,#0B0B0B); color:#fff; padding:13px 22px; border-radius:999px;
  font-size:.92rem; z-index:100000; opacity:0; transition:opacity .35s, transform .35s var(--ease,ease);
  box-shadow:0 12px 34px rgba(11,11,11,.28);
}
.tea-toast.is-in{ opacity:1; transform:translate(-50%,0); }

/* badge pop */
.cart__count.is-pop{ animation:tea-pop .5s var(--ease,ease); }
@keyframes tea-pop{ 0%{transform:scale(1)} 40%{transform:scale(1.5)} 100%{transform:scale(1)} }

.btn.is-loading{ opacity:.6; pointer-events:none; }

@media (prefers-reduced-motion: reduce){
  .tea-sidecart__panel, .tea-sidecart__overlay, .tea-toast{ transition:none; }
}