/*

  V MAX

*/

.card:not(.masked)[data-rarity="rare holo vmax"][data-supertype="pokémon"]
  .card__shine,
.card:not(.masked)[data-rarity="rare holo vmax"][data-supertype="pokémon"]
  .card__shine:after {
  --mask: none;
  --foil: url("/img/vmaxbg.jpg");
  --imgsize: 60% 30%;
}

/*

  SHINE LAYERS

*/

.card[data-rarity="rare holo vmax"] .card__shine {
  --space: 6%;
  --angle: 133deg;
  --imgsize: cover;

  background-image:
    var(--foil),
    repeating-linear-gradient(
      -33deg,
      hsl(2, 70%, 47%) calc(var(--space) * 1),
      hsl(228, 60%, 64%) calc(var(--space) * 2),
      hsl(176, 55%, 39%) calc(var(--space) * 3),
      hsl(123, 68%, 35%) calc(var(--space) * 4),
      hsl(283, 75%, 57%) calc(var(--space) * 5),
      hsl(2, 70%, 47%) calc(var(--space) * 6)
    ),
    repeating-linear-gradient(
      var(--angle),
      hsla(227, 53%, 12%, 0.5) 0%,
      hsl(180, 10%, 50%) 2.5%,
      hsl(83, 50%, 35%) 5%,
      hsl(180, 10%, 50%) 7.5%,
      hsla(227, 53%, 12%, 0.5) 10%,
      hsla(227, 53%, 12%, 0.5) 15%
    ),
    radial-gradient(
      farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(189, 76%, 77%, 0.6) 0%,
      hsla(147, 59%, 77%, 0.6) 25%,
      hsla(271, 55%, 69%, 0.6) 50%,
      hsla(355, 56%, 72%, 0.6) 75%
    );

  background-blend-mode: difference, luminosity, soft-light;
  background-size:
    var(--imgsize),
    1100% 1100%,
    600% 600%,
    200% 200%;
  background-position:
    center,
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y);

  filter: brightness(calc((var(--pointer-from-center) * 0.4) + 0.4)) contrast(2)
    saturate(1);
}

.card[data-rarity="rare holo vmax"] .card__shine:after {
  content: "";

  background-image:
    repeating-linear-gradient(
      0deg,
      var(--sunpillar-clr-1) calc(var(--space) * 1),
      var(--sunpillar-clr-2) calc(var(--space) * 2),
      var(--sunpillar-clr-3) calc(var(--space) * 3),
      var(--sunpillar-clr-4) calc(var(--space) * 4),
      var(--sunpillar-clr-5) calc(var(--space) * 5),
      var(--sunpillar-clr-6) calc(var(--space) * 6),
      var(--sunpillar-clr-1) calc(var(--space) * 7)
    ),
    repeating-linear-gradient(
      var(--angle),
      #0e152e 0%,
      hsl(180, 10%, 60%) 3.8%,
      hsl(180, 29%, 66%) 4.5%,
      hsl(180, 10%, 60%) 5.2%,
      #0e152e 10%,
      #0e152e 12%
    );

  background-blend-mode: hue, hard-light;
  background-size:
    200% 700%,
    300% 100%,
    200% 100%;
  background-position:
    0% var(--background-y),
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y);

  mix-blend-mode: lighten;
  opacity: calc(
    (0.3 * var(--card-opacity)) + var(--card-opacity) *
      var(--pointer-from-center) * 0.5
  );
  filter: saturate(1.5);
}

/*

  GLARE LAYERS

*/

.card[data-rarity="rare holo vmax"] .card__glare {
  mix-blend-mode: hard-light;
  filter: brightness(1) contrast(1);

  background-image: radial-gradient(
    farthest-corner circle at var(--pointer-x) var(--pointer-y),
    hsla(0, 0%, 100%, 0.75) 0%,
    hsl(0, 0%, 0%) 120%
  );

  opacity: calc(
    (0.2 * var(--card-opacity)) + var(--card-opacity) *
      var(--pointer-from-center) * 0.8
  );
}

/*

  NO MASK

*/

.card:not(.masked) [data-rarity="rare holo vmax"] .card__shine {
  filter: brightness(calc((var(--pointer-from-center) * 0.4) + 0.4)) contrast(2)
    saturate(1);
}
