/* Cinematic Lift: all four discovery routes opt in; locked and related-player cards stay inert. */
.gd-marquee .gd-catalog #all-games > .game {
  isolation: isolate;
}

.gd-marquee .gd-catalog #all-games > .game::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  pointer-events: none;
  border: 1px solid var(--gd-accent);
  border-radius: inherit;
  box-shadow: 0 4px 26px #c3a6ff22;
  opacity: 0;
  transition: opacity 240ms ease-out;
}

/* Clip the artwork, not the card or the link's outside focus outline. */
.gd-marquee .gd-catalog #all-games .game > .p-3 > a {
  position: relative;
  overflow: hidden;
}

.gd-marquee .gd-catalog #all-games .game:not(.locked) img.img-fluid.rounded-circle {
  transition: transform 620ms cubic-bezier(.2,.65,.3,1);
}

.gd-marquee .gd-catalog #all-games > .game:not(.locked):is(:has(> .p-3 > a:focus-visible), :has(> .p-1 > a:not(.popular-link):focus-visible))::before {
  opacity: 1;
}

.gd-marquee .gd-catalog #all-games .game:not(.locked):is(:has(> .p-3 > a:focus-visible), :has(> .p-1 > a:not(.popular-link):focus-visible)) img.img-fluid.rounded-circle {
  transform: scale(1.045);
}

@media (hover: hover) and (pointer: fine) {
  .gd-marquee .gd-catalog #all-games > .game:not(.locked):hover::before { opacity: 1; }
  .gd-marquee .gd-catalog #all-games .game:not(.locked):hover img.img-fluid.rounded-circle { transform: scale(1.045); }
}

@media (prefers-reduced-motion: reduce) {
  .gd-marquee .gd-catalog #all-games > .game::before,
  .gd-marquee .gd-catalog #all-games .game:not(.locked) img.img-fluid.rounded-circle {
    transition: none;
  }
  .gd-marquee .gd-catalog #all-games .game:not(.locked) img.img-fluid.rounded-circle {
    transform: none !important;
  }
}
