/**
 * Page route transition — matches kucointrade.online Vuexy `zoom-fade`
 * (opacity 0.28s + scale 0.35s ease-in-out)
 *
 * Note: do NOT hide landing (#kc-route pending) with opacity:0 — that caused
 * a full black viewport on home until scroll/JS. Landing keeps its own motion.
 */
.zoom-fade-enter-active,
.zoom-fade-leave-active {
  transition: opacity 0.28s ease-in-out, transform 0.35s ease-in-out;
  will-change: opacity, transform;
}

.zoom-fade-enter,
.zoom-fade-enter-from {
  opacity: 0;
  transform: scale(0.97);
}

.zoom-fade-leave-to {
  opacity: 0;
  transform: scale(1.03);
}

#kc-route.is-ready {
  opacity: 1;
  transform: none;
}

/* Pending hide only for app pages that opt-in (not landing) */
html.kc-route-pending:not(.kc-no-route-pending) body:not(.kc-landing) #kc-route {
  opacity: 0;
  transform: scale(0.97);
}

/* Landing: never blank the hero */
body.kc-landing #kc-route,
html.kc-route-pending body.kc-landing #kc-route {
  opacity: 1 !important;
  transform: none !important;
}
