/* Back-to-top button (replaces the theme's vertical "Go To Top" bar) */
.rwh-top {
  position: fixed; right: 18px; bottom: 84px; z-index: 9999;
  width: 50px; height: 50px; padding: 0; margin: 0; border: 0; border-radius: 50%;
  display: grid; place-items: center; cursor: pointer;
  background: linear-gradient(160deg, #f59e0b, #d97706); color: #fff;
  box-shadow: 0 10px 24px -6px rgba(217, 119, 6, .6), 0 2px 6px rgba(15, 23, 41, .25);
  opacity: 0; visibility: hidden; transform: translateY(14px) scale(.85);
  transition: opacity .25s ease, transform .3s cubic-bezier(.2, .9, .25, 1.3), visibility .25s, background .2s;
  -webkit-tap-highlight-color: transparent;
}
.rwh-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.rwh-top:hover { filter: brightness(1.07); }
.rwh-top:hover .rwh-top__icon { transform: translateY(-2px); }
.rwh-top:focus-visible { outline: 3px solid #0f1729; outline-offset: 3px; }
.rwh-top__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); pointer-events: none; }
.rwh-top__ring circle { fill: none; stroke-width: 3; }
.rwh-top__track { stroke: rgba(255, 255, 255, .3); }
.rwh-top__bar { stroke: #fff; stroke-linecap: round; stroke-dasharray: 131.95; stroke-dashoffset: 131.95; transition: stroke-dashoffset .1s linear; }
.rwh-top__icon { position: relative; width: 20px; height: 20px; transition: transform .2s ease; }
@media (max-width: 767px) {
  .rwh-top { right: 16px; bottom: 80px; width: 46px; height: 46px; }
  .rwh-top__icon { width: 18px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .rwh-top, .rwh-top__icon, .rwh-top__bar { transition: none; }
}
