/* BlockPay global page transitions — derived from the logo's logoIn motion.
   Same translateY + opacity, same ease-out curve, same fill-mode.
   Reused for both page-enter (every load) and page-leave (every internal click). */

@keyframes blockpayPageEnter {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

body.bp-page {
  animation: blockpayPageEnter 0.7s ease-out 0.1s both;
  /* page-leave reuses these values; transform/opacity transition independently of the entry animation */
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Applied right before navigation so the page exits with the inverse motion. */
body.bp-page.page-leaving {
  opacity: 0;
  transform: translateY(-6px);
}

@media (prefers-reduced-motion: reduce) {
  body.bp-page { animation: none; transition: none; }
  body.bp-page.page-leaving { opacity: 1; transform: none; }
}
