/* ---------- Added-to-cart toast ---------- */
.sm-added-toast{
  position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);
  display:flex;align-items:center;gap:10px;
  background:var(--black-2,#101015);color:#fff;border:1px solid rgba(255,255,255,.1);
  padding:12px 20px;border-radius:999px;font-size:13.5px;font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:9500;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;
}
.sm-added-toast.is-visible{opacity:1;transform:translate(-50%,0);}
.sm-added-toast svg{color:#1fbf75;flex-shrink:0;}
@media (min-width:1024px){.sm-added-toast{bottom:32px;}}

/* ---------- Add-to-cart button loading / success states ---------- */
.ajax_add_to_cart.sm-atc-loading,
.add_to_cart_button.sm-atc-loading{
  position:relative;color:transparent!important;pointer-events:none;
}
.ajax_add_to_cart.sm-atc-loading::after,
.add_to_cart_button.sm-atc-loading::after{
  content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
  animation:sm-atc-spin .6s linear infinite;
}
@keyframes sm-atc-spin{to{transform:rotate(360deg);}}

.ajax_add_to_cart.sm-atc-success,
.add_to_cart_button.sm-atc-success{
  background:linear-gradient(135deg,#1fbf75,#159a5e)!important;
}

/* ---------- Scroll to top button ---------- */
.sm-scroll-top{
  position:fixed;right:16px;bottom:90px;z-index:580;
  width:46px;height:46px;border-radius:50%;
  background:var(--black-2,#101015);color:#fff;border:1px solid rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.3);
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .25s,transform .25s;
}
.sm-scroll-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.sm-scroll-top:hover{background:var(--blue,#1e6fff);}
@media (min-width:1024px){.sm-scroll-top{bottom:28px;}}
@media (max-width:1023px){.sm-scroll-top{bottom:calc(var(--tabbar-h,64px) + 16px);}}

/* ---------- Social icons (footer) ---------- */
.sm-social-icons{display:flex;gap:10px;}
.sm-social-icons a{
  width:36px;height:36px;border-radius:50%;background:var(--black-3,#17171e);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s;
}
.sm-social-icons a:hover{background:var(--blue,#1e6fff);}
.sm-social-icons svg{width:16px;height:16px;}
