/* Small, progressive transitions for the PHP market. No layout changes. */
@keyframes market-page-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes market-page-leave {
  to { opacity: 0; transform: translateY(-6px); }
}

@keyframes market-backdrop-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes market-backdrop-leave {
  to { opacity: 0; }
}

@keyframes market-dialog-enter {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes market-dialog-leave {
  to { opacity: 0; transform: translateY(10px) scale(.99); }
}

@keyframes market-slide-enter {
  from { opacity: .35; }
  to { opacity: 1; }
}

body.ms-php-market main {
  animation: market-page-enter .32s cubic-bezier(.2,.7,.2,1) both;
}

body.ms-php-market.is-page-leaving main {
  animation: market-page-leave .16s ease-in both;
  pointer-events: none;
}

body.ms-php-market .modal-backdrop[hidden],
body.ms-php-market .drawer-backdrop[hidden] {
  display: none;
}

body.ms-php-market .modal-backdrop:not([hidden]),
body.ms-php-market .drawer-backdrop:not([hidden]) {
  animation: market-backdrop-enter .2s ease-out both;
}

body.ms-php-market .modal-backdrop:not([hidden]) .modal {
  animation: market-dialog-enter .26s cubic-bezier(.16,1,.3,1) both;
}

body.ms-php-market .modal-backdrop.is-closing {
  animation: market-backdrop-leave .16s ease-in both;
}

body.ms-php-market .modal-backdrop.is-closing .modal {
  animation: market-dialog-leave .16s ease-in both;
}

body.ms-php-market .hero.is-changing > img,
body.ms-php-market .hero.is-changing .hero-copy {
  animation: market-slide-enter .32s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
  body.ms-php-market main,
  body.ms-php-market .modal-backdrop,
  body.ms-php-market .modal,
  body.ms-php-market .drawer-backdrop,
  body.ms-php-market .hero.is-changing > img,
  body.ms-php-market .hero.is-changing .hero-copy {
    animation: none !important;
  }
}
