/* View Transitions para paginas legales.
   Slide horizontal: nueva entra desde la derecha, vieja sale hacia la
   izquierda. Duracion 1s cada tramo. */

::view-transition-new(root) {
  animation-name: legal-slide-in;
  animation-duration: 1000ms;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

::view-transition-old(root) {
  animation-name: legal-slide-out;
  animation-duration: 1000ms;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

@keyframes legal-slide-in {
  from { transform: translateX(100%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}

@keyframes legal-slide-out {
  from { transform: translateX(0);     opacity: 1; }
  to   { transform: translateX(-100%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-new(root),
  ::view-transition-old(root) {
    animation: none !important;
  }
}
