/* ==========================================================================
   Global Back to Top icon — fixed bottom-right, hidden while hero is in view.
   ========================================================================== */

/* Icon button — matches theme switcher styling, 44px tap target */
.back-to-top {
  position: fixed;
  right: var(--space-xxl);
  bottom: var(--space-xxl);
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--c-text-primary);
  background-color: color-mix(in srgb, var(--c-canvas) 72%, transparent);
  backdrop-filter: blur(var(--space-md));
  -webkit-backdrop-filter: blur(var(--space-md));
  border: 1px solid var(--c-hairline-strong);
  border-radius: var(--rounded-sm);
  cursor: pointer;
}

/* Hidden state toggled by back-to-top.js */
.back-to-top[hidden] {
  display: none;
}

.back-to-top:hover,
.back-to-top:focus-visible {
  color: var(--c-accent-strong);
  border-color: var(--c-accent);
}

.back-to-top:focus-visible {
  outline: 2px solid var(--c-accent);
  outline-offset: var(--space-xxs);
}

.back-to-top svg {
  width: calc(var(--space-lg) + var(--space-xs));
  height: calc(var(--space-lg) + var(--space-xs));
}

/* Mobile: move inward for thumb reach */
@media (max-width: 480px) {
  .back-to-top {
    right: var(--space-xl);
    bottom: var(--space-xl);
  }
}
