/*
 * Unified positioning for the storefront campaign panel and contact rail.
 * Floating Campaign desktop rail placement is measured at runtime from the
 * real storefront content edge; this file only owns the shared rail gap.
 */
:root{--jh-floating-rail-gap:12px}

.fixed-action-btn{bottom:110px}
.fixed-action-btn .back-to-top{
  position:static;
  display:block;
  width:40px;
  height:40px;
  margin:0 auto;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.fixed-action-btn .back-to-top.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

@media (min-width:1400px){
  .fixed-action-btn{right:max(var(--jh-floating-rail-gap),calc(50% - 702px))}
}

@media (max-width:767px){
  .fixed-action-btn{bottom:75px}
  .fixed-action-btn .back-to-top{width:35px;height:35px}
}
