/* ================================================================
 * ORION PAGE TRANSITION, v61 (2026-05-24)
 * Inject page-loader overlay yg muncul saat user klik internal link / submit form.
 * Pakai pattern OUT (saat keluar) + IN (saat masuk).
 * ================================================================ */

.orion-page-loader {
 position: fixed;
 inset: 0;
 z-index: 999999;
 background: linear-gradient(135deg, #0a2540 0%, #1a4a7a 50%, #0a2540 100%);
 display: flex;
 align-items: center;
 justify-content: center;
 opacity: 0;
 pointer-events: none;
 transition: opacity .35s cubic-bezier(.4, 0, .2, 1);
 backdrop-filter: blur(4px);
 -webkit-backdrop-filter: blur(4px);
}

.orion-page-loader.show {
 opacity: 1;
 pointer-events: all;
}

.orion-page-loader-content {
 text-align: center;
 color: #fff;
 transform: scale(.9);
 transition: transform .35s cubic-bezier(.4, 0, .2, 1);
}

.orion-page-loader.show .orion-page-loader-content {
 transform: scale(1);
}

.orion-page-loader-spinner {
 width: 72px;
 height: 72px;
 margin: 0 auto 18px;
 border: 4px solid rgba(245, 166, 35, .15);
 border-top-color: #f5a623;
 border-right-color: #1976d2;
 border-radius: 50%;
 animation: orionPageSpin .9s cubic-bezier(.5, .15, .5, .85) infinite;
}

@keyframes orionPageSpin {
 to { transform: rotate(360deg); }
}

.orion-page-loader-text {
 color: #f5a623;
 font-weight: 700;
 letter-spacing: .2em;
 font-size: .88rem;
 text-shadow: 0 2px 10px rgba(245, 166, 35, .35);
 animation: orionPagePulse 1.4s ease-in-out infinite;
}

@keyframes orionPagePulse {
 0%, 100% { opacity: .65; }
 50% { opacity: 1; }
}

.orion-page-loader-sub {
 margin-top: 8px;
 color: rgba(255, 255, 255, .7);
 font-size: .75rem;
 letter-spacing: .05em;
}

/* Page ENTER animation, fade + slide up */
.orion-page-enter {
 animation: orionPageEnter .55s cubic-bezier(.25, .8, .25, 1);
}

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

/* Reduced motion fallback */
@media (prefers-reduced-motion: reduce) {
 .orion-page-loader,
 .orion-page-loader-content,
 .orion-page-loader-spinner,
 .orion-page-loader-text,
 .orion-page-enter {
 animation: none !important;
 transition-duration: .1s !important;
 }
}
