/* /test2 interaction hot-path overrides.
   Loaded by test2-companion.js after the legacy layers. */

body.gm-test2-motion .gm-curated-line .compact-machine[data-gm-excluded="1"],
body.gm-test2-motion .gm-curated-line .gm2-machine-card[hidden] {
  display: none !important;
}

/* The list only needs one compositor layer per card. The source render already
   contains its lighting, so repeated blur/drop-shadow filters add no useful detail. */
body.gm-test2-motion .gm-curated-line .gm2-machine-card {
  contain: layout style paint !important;
  will-change: auto !important;
  transform: translate3d(0,0,0) !important;
  transition: transform .12s ease-out,border-color .12s ease-out !important;
}

body.gm-test2-motion .gm-curated-line .gm2-machine-card:hover,
body.gm-test2-motion .gm-curated-line .gm2-machine-card:focus-visible {
  transform: translate3d(0,-2px,0) !important;
  box-shadow: var(--gm2-machine-shadow) !important;
}

html.gm-dark body.gm-test2-motion .gm-curated-line .gm2-machine-card:hover,
html.gm-dark body.gm-test2-motion .gm-curated-line .gm2-machine-card:focus-visible {
  box-shadow: var(--gm2-machine-shadow) !important;
}

body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini {
  contain: layout paint !important;
  will-change: auto !important;
  transform: translateZ(0) !important;
}

body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini::before {
  filter: none !important;
  opacity: .55 !important;
}

body.gm-test2-motion .gm-curated-line .machine-visual--prototype.machine-visual--mini .gm-prototype-frame {
  background-image: url("gm-machine-premium-prototype-mini.webp") !important;
  filter: none !important;
  transform: translateZ(0) !important;
  will-change: auto !important;
}

body.gm-test2-motion .gm-curated-line .gm2-machine-card .machine-visual__glass-sticker,
body.gm-test2-motion .gm-curated-line .gm2-machine-card:hover .machine-visual__glass-sticker {
  filter: none !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

body.gm-test2-motion .gm-curated-line .machine-wall__track.gm-filter-changing .gm2-machine-card {
  animation: none !important;
  transition: none !important;
}

/* Keep the approved draw animation, but avoid reserving 25+ GPU layers while
   the detail machine is idle. Web Animations promotes only the active pieces. */
body.gm-test2-motion .gm25-detail,
body.gm-test2-motion .gm25-detail > div {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.gm-test2-motion .gm25-detail .machine-visual--25d,
body.gm-test2-motion .gm25-detail .gm25-rig,
body.gm-test2-motion .gm25-detail .gm25-assembly {
  transition: none !important;
}

body.gm-test2-motion .gm25-detail .gm25-assembly,
body.gm-test2-motion .gm25-detail .gm25-pit-capsule,
body.gm-test2-motion .gm25-detail .gm25-reservoir-glow,
body.gm-test2-motion .gm25-detail .gm25-coin,
body.gm-test2-motion .gm25-detail .gm25-slot-flare,
body.gm-test2-motion .gm25-detail .gm25-handle,
body.gm-test2-motion .gm25-detail .gm25-handle-shadow,
body.gm-test2-motion .gm25-detail .gm25-indicator,
body.gm-test2-motion .gm25-detail .gm25-route-light,
body.gm-test2-motion .gm25-detail .gm25-chute-door,
body.gm-test2-motion .gm25-detail .gm25-ball,
body.gm-test2-motion .gm25-detail .gm25-contact-shadow {
  will-change: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  body.gm-test2-motion .gm-curated-line .gm2-machine-card {
    transform: none !important;
    transition: none !important;
  }
}
