/* Scoped to .ms-scroll-top */
.ms-scroll-top, .ms-scroll-top * , .ms-scroll-top *::before, .ms-scroll-top *::after { box-sizing: border-box; }
.ms-scroll-top { position: relative; }

/* دکمه شناور */
.ms-scroll-top .st-btn{
  position: fixed;
  inset: auto var(--st-ox,16px) var(--st-oy,16px) auto; /* پیش‌فرض: گوشه راست پایین */
  z-index: 9999;
  width: var(--st-size,56px);
  height: var(--st-size,56px);
  border: 0;
  border-radius: var(--st-radius,16px);
  color: #fff;
  background: linear-gradient(135deg, var(--st-from,#6d28d9), var(--st-to,#2563eb));
  box-shadow: 0 10px 25px rgba(37, 99, 235, .35);
  display: grid; place-items: center;
  cursor: pointer;
  opacity: 0; transform: translateY(12px) scale(.96);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease, box-shadow .2s ease;
}

/* جای‌گذاری برای گوشه چپ در صورت نیاز */
.ms-scroll-top[data-corner="left"] .st-btn{
  inset: auto auto var(--st-oy,16px) var(--st-ox,16px);
}

/* آیکن */
.ms-scroll-top .st-btn .fa-solid{ font-size: 18px; }

/* hover / focus */
.ms-scroll-top .st-btn:hover,
.ms-scroll-top .st-btn:focus-visible{
  box-shadow: 0 14px 32px rgba(37, 99, 235, .45);
  transform: translateY(6px) scale(1);
  outline: none;
}

/* حالت نمایان */
.ms-scroll-top .st-btn.is-visible{
  opacity: 1; transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* موبایل: کمی کوچک‌تر و فاصله بیشتر از لبه‌ها */
@media (max-width: 640px){
  .ms-scroll-top .st-btn{
    width: calc(var(--st-size,56px) - 8px);
    height: calc(var(--st-size,56px) - 8px);
  }
}

/* احترام به کاربرانی که انیمیشن را محدود کرده‌اند */
@media (prefers-reduced-motion: reduce){
  .ms-scroll-top .st-btn{ transition: none; }
}
