/* ============================================================
   Unixi Sonaar Orchestrator — Wrapper interno v1.4
   ------------------------------------------------------------
   Transición oscura estable: no deforma la página saliente,
   mantiene el contenido congelado y revela la página destino
   después del swap completo.
============================================================ */

body.unx-wrapper-enabled .pjax-container > #wrapper,
body.unx-wrapper-enabled .pjax-container #wrapper,
body.unx-wrapper-enabled #wrapper{
  position: relative;
}

html.unx-wrapper-is-loading,
body.unx-wrapper-is-loading{
  cursor: progress;
}

body.unx-wrapper-enabled [data-unx-wrapper-hold="1"]{
  overflow-anchor: none;
}

body.unx-wrapper-enabled::before{
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .28s ease;
  background: linear-gradient(180deg, rgba(6, 8, 16, .10) 0%, rgba(6, 8, 16, .18) 100%);
  backdrop-filter: blur(0px);
  z-index: 9998;
}

body.unx-wrapper-is-loading::before{
  opacity: 1;
  background: linear-gradient(180deg, rgba(6, 8, 16, .42) 0%, rgba(6, 8, 16, .58) 100%);
  backdrop-filter: blur(1.5px);
}

body.unx-wrapper-enabled::after{
  content: '';
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .32s ease, opacity .2s ease;
  opacity: 0;
  background: linear-gradient(90deg, rgba(159, 78, 245, .95), rgba(70, 178, 224, .95));
  z-index: 9999;
  pointer-events: none;
}

body.unx-wrapper-is-loading::after{
  transform: scaleX(1);
  opacity: 1;
}

body.unx-wrapper-is-loading a,
body.unx-wrapper-is-loading button{
  pointer-events: none;
}
