@layer base, layout, components, utilities, pages;

@layer utilities {
  .u-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .grid-2,
  .u-cols-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .grid-3,
  .u-cols-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .pcOnly {
    display: inline;
  }

  .spOnly {
    display: none;
  }

  @media (max-width: 960px) {
    .grid-3,
    .u-cols-3 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 900px) {
    .pcOnly {
      display: none;
    }

    .spOnly {
      display: inline;
    }
  }

  @media (max-width: 640px) {
    .grid-2,
    .grid-3,
    .u-cols-2,
    .u-cols-3 {
      grid-template-columns: 1fr;
    }
  }
}
