.product-scroll-top{
  position:fixed;
  z-index:80;
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  display:grid;
  width:54px;
  height:54px;
  place-items:center;
  padding:0;
  border:1px solid rgba(37,27,79,.14);
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,#ff6f9f,#725ee8);
  box-shadow:0 16px 38px rgba(67,58,118,.24);
  font:700 24px/1 "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  opacity:0;
  pointer-events:none;
  transform:translateY(14px) scale(.9);
  transition:opacity .25s ease,transform .3s cubic-bezier(.2,.75,.25,1),box-shadow .25s ease;
  cursor:pointer;
}
.product-scroll-top[hidden]{display:none}
.product-scroll-top.is-visible,
.product-scroll-top:focus-visible{
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.product-scroll-top:hover{box-shadow:0 20px 46px rgba(67,58,118,.34);transform:translateY(-2px)}
.product-scroll-top:focus-visible{outline:3px solid #251b4f;outline-offset:4px}
.admin-app:has(.chatbot-launcher-dock:not([hidden])) .product-scroll-top,
.admin-app:has(.mobile-editor-dock) .product-scroll-top{
  bottom:max(96px,calc(84px + env(safe-area-inset-bottom)));
}
@media(max-width:640px){
  .product-scroll-top{
    right:max(14px,env(safe-area-inset-right));
    bottom:max(14px,env(safe-area-inset-bottom));
    width:48px;
    height:48px;
    font-size:21px;
  }
}
@media(prefers-reduced-motion:reduce){
  .product-scroll-top{transition:none}
  .product-scroll-top:hover{transform:none}
}
