/* ══════════════════════════════════════════════════════════════════════════════
   BACK TO TOP
══════════════════════════════════════════════════════════════════════════════ */
.back-to-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 48px; height: 48px;
  background: var(--primary);
  color: var(--white);
  border-radius: var(--radius-full);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  box-shadow: 0 4px 20px var(--primary-glow);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: all var(--transition);
  z-index: 900;
  border: none;
}
.back-to-top.visible { opacity: 1; pointer-events: all; transform: translateY(0); }
.back-to-top:hover   { background: var(--primary-dark); transform: translateY(-3px); }

/* ─── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .back-to-top { bottom: 20px; right: 20px; }
}
