.shop .shelf {
  --border-image: var(--frame-shopcard);
  --border-slice: 30;
  --border-width: 1.875rem;
  --column-size: 12rem;
  --gap: 2.5rem;
  --bg-gradient-pos: top;

  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--column-size)), 1fr));
  grid-template-rows: minmax(0, 1fr) min-content min-content auto;
  gap: var(--gap);
}

@media (width <= 1200px) {
  .shop .shelf {
    --gap: 1.25rem;
  }
}
@media (width <= 600px) {
  .shop .shelf {
    --column-size: 9rem;
    --gap: 0.5rem;
  }
}

.shelf .card {
  grid-row: span 4;
  min-height: 90px;
  padding: 0.75rem;
  display: grid;
  grid-template-rows: subgrid;
  justify-items: center;
  gap: 0;
  isolation: isolate;

  background-color: var(--background-color);
  background-image:
    radial-gradient(circle at var(--bg-gradient-pos),
      hsl(from var(--key-color) h s l / 0.3),
      transparent 75%);
  background-size: 100% 100%;
  background-position: center;
  border-radius: calc(var(--border-radius) * 2);

  --background-color: hsl(from var(--esports-nav-base-color) h s 20%);
  --glow-mask: var(--glow-shopcard);
  --glow-scale: 100%;
}
.shelf .card.glow::before {
  z-index: 0;
  opacity: 1;
  content: '';
  width: var(--glow-scale);

  background-color: hsl(from var(--background-color) h s l / 0.75);
  background-image: none;
}

.shelf .card figure {
  display: flex;
  align-items: center;
}

.shelf .card img {
  align-self: center;
  z-index: 1;
  filter: drop-shadow(0 0 10px var(--background-color));
}

.shelf .card p {
  text-align: center;
  align-self: center;
}
.shelf .card p:first-of-type {
  font-size: 0.875rem;
  background-color: var(--background-color);
  padding: 0.25rem 0.5rem;
  justify-self: stretch;
  margin-inline: -0.5rem;
  --border-image: var(--frame-tinylabel);
  --border-slice: 10;
  --border-width: 0.625rem;
}

.shelf .card p:last-of-type,
.wallet .wallet-value {
  font-size: 2rem;
  font-family: var(--font-family);
  font-weight: 700;
}

.shop .wallet {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding-block-end: 0.5rem;
  margin-block-end: 2rem;
  border-bottom: 1px solid hsl(from var(--esports-nav-base-color) h s 25%);
}

.shop .wallet p:first-of-type {
  text-transform: uppercase;
}

.shop .wallet .wallet-value {
  color: hsl(from var(--key-color) h s 65%);
  filter: drop-shadow(0 0 10px var(--key-color));
}

@media (width <=760px) {
  .shop .wallet {
    flex-direction: column;
    gap: 0;
  }
  .shop .wallet p:first-of-type {
    font-size: 0.75rem;
  }
}

.shopConfirm figure.glow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  --glow-mask: var(--glow-shopcard);
  --glow-scale: 80%;
}

.shopConfirm figure.glow::before {
  background-image: none;
  opacity: 0.8;
}

/* Tokens moved to core */

.price-table {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding-inline: 1rem;

  li {
    display: grid;
    grid-column: span 2;
    grid-template-columns: subgrid;
    align-items: center;
  }

  li:last-of-type {
    border-top: 1px solid hsl(from var(--esports-nav-base-color) h s 35%);
  }

  p {
    line-height: 1;
  }

  p:first-of-type {
    text-transform: uppercase;
    font-size: 0.875rem;
    text-align: left;
  }

  p:last-of-type {
    font-size: 1.25rem;
    font-family: var(--font-family);
    align-items: center;
    text-align: right;
    justify-content: flex-end;
  }
}

.shop-warning {
  color: rgb(243, 60, 60);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}