@layer components {
  main {
    --page-bg: linear-gradient(
      to bottom,
      var(--color-cream) 0,
      var(--color-cream) 2%,
      var(--color-cream) 50%,
      var(--color-brand-magenta) 98%,
      var(--color-brand-magenta) 100%
    );
  }

  .shop {
    padding: var(--space-9) var(--space-4);
    background-image: url(../../assets/images/bubbles.svg);
    background-size: 860px auto;
    background-repeat: repeat;
  }

  .shop__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
  }

  .shop__title {
    font-size: var(--font-size-4xl);
    line-height: 0.95;
    text-align: center;
  }

  .shop__notices {
    width: 100%;
  }

  .shop__panel {
    width: 100%;
    margin-top: var(--space-6);
  }

  .shop__perks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--space-6);
    width: 100%;
    margin-top: var(--space-8);
  }

  .perk {
    --panel-gap: var(--space-3);

    align-items: center;
    text-align: center;
    transition: border-color 200ms ease;

    &:hover {
      border-color: var(--accent, var(--color-brand-green));
    }
  }

  .perk__icon svg {
    width: 34px;
    height: 34px;
  }

  .perk__text {
    font-size: var(--font-size-sm);
    color: var(--color-gray-dark);
  }
}
