/**
 * Scroll-to-top button. Colours/size/radius come from the inline variables
 * (inc/features/scroll-to-top.php); the phone offset above the mobile bar
 * lives in chrome.css.
 */
.avyn-scroll-top {
  position: fixed; bottom: 1.25rem; z-index: 95;
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--avyn-scroll-top-size, 40px); height: var(--avyn-scroll-top-size, 40px);
  padding: 0; margin: 0; border: 0; border-radius: var(--avyn-scroll-top-radius, 4px);
  background: var(--avyn-scroll-top-bg, var(--avyn-brand)); color: var(--avyn-scroll-top-color, var(--avyn-panel));
  cursor: pointer; box-shadow: 0 6px 18px rgba(18, 22, 24, 0.18);
  opacity: 1; transform: none;
  transition: opacity 180ms ease, transform 180ms ease, background-color 150ms ease, color 150ms ease;
}
.avyn-scroll-top.is-right { right: 1.25rem; }
.avyn-scroll-top.is-left { left: 1.25rem; }
.avyn-scroll-top[hidden] { display: none; }
.avyn-scroll-top.is-leaving { opacity: 0; transform: translateY(8px); }
body .avyn-scroll-top:hover, body .avyn-scroll-top:focus-visible {
  background: var(--avyn-scroll-top-hover-bg, var(--avyn-brand-deep)); color: var(--avyn-scroll-top-hover-color, var(--avyn-panel));
}
.avyn-scroll-top svg { flex-shrink: 0; }
@media (max-width: 767.98px) { .avyn-scroll-top.is-desktop { display: none; } }
@media (min-width: 768px) { .avyn-scroll-top.is-mobile { display: none; } }
@media (prefers-reduced-motion: reduce) { .avyn-scroll-top { transition: none; } }
