/**
 * Transitions de page fiables (MPA) — couche unique, pas de filter/luminosité.
 */

.page-transition-layer {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  background: var(--bg-main, #070a12);
  opacity: 0;
  transition: opacity 180ms ease;
}

html.is-leaving .page-transition-layer {
  opacity: 0.72;
}

html.is-entering .page-transition-layer {
  opacity: 0;
}

html.is-nav-locked {
  cursor: progress;
}

html.is-nav-locked body {
  pointer-events: none;
}

html.is-nav-locked .page-transition-layer {
  pointer-events: auto;
}

body.rs-store main,
body.rs-store #rsHomeMain,
body.rs-store .rs-shop-main,
body.rs-store .acc-dashboard,
body.rs-store .rp-shell {
  transition:
    opacity 200ms ease,
    transform 220ms cubic-bezier(0.22, 0.8, 0.25, 1);
}

html.is-leaving body.rs-store main,
html.is-leaving body.rs-store #rsHomeMain,
html.is-leaving body.rs-store .rs-shop-main,
html.is-leaving body.rs-store .acc-dashboard,
html.is-leaving body.rs-store .rp-shell {
  opacity: 0.35;
  transform: translateY(5px);
}

html.is-entering body.rs-store main,
html.is-entering body.rs-store #rsHomeMain,
html.is-entering body.rs-store .rs-shop-main,
html.is-entering body.rs-store .acc-dashboard,
html.is-entering body.rs-store .rp-shell {
  opacity: 1;
  transform: translateY(0);
}

/* Couper les View Transitions natives (conflit avec notre couche unique) */
@view-transition {
  navigation: none;
}

@media (prefers-reduced-motion: reduce) {
  .page-transition-layer,
  body.rs-store main,
  body.rs-store #rsHomeMain,
  body.rs-store .rs-shop-main,
  body.rs-store .acc-dashboard,
  body.rs-store .rp-shell {
    transition: none !important;
  }

  html.is-leaving .page-transition-layer {
    opacity: 0;
  }

  html.is-leaving body.rs-store main,
  html.is-leaving body.rs-store #rsHomeMain,
  html.is-leaving body.rs-store .rs-shop-main {
    opacity: 1;
    transform: none;
  }
}
