.box {
  background: white;
  border-radius: 1rem;
  overflow-y: auto;
  width: 100%;

  & > * + * {
    margin-top: 0.5rem;
  }

  & header,
  & main {
    padding: 1rem;
  }

  & > * {
    @media (width >= 768px) {
      margin: auto;
      width: 32rem;
    }
  }

  &.wide {
    & > * {
      @media (width >= 768px) {
        max-width: 64rem;
        width: 100%;
      }
    }
  }

  & h2 {
    text-align: center;
  }

  & p {
    margin-bottom: 1rem;
  }

  & section {
    margin-top: 1rem;
  }

  & ul {
    list-style-type: none;
    margin: 0;
    padding: 0;

    & li + li {
      border-top: 1px solid var(--gray-200);
    }

    & li a {
      display: block;
      padding: 1rem;

      &:hover {
        background: var(--gray-100);
      }
    }
  }

  & form footer {
    padding: 1rem 0;
  }
}

.box--container {
  @media (width >= 768px) {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
  }
}
