body:has(.session) {
  grid-template-columns: 1fr;
  grid-template-areas:
    "header"
    "main";
  height: 100vh;
}

#user_sign_in * {
  font-family: var(--brightloop-font);
}

#user_sign_in main {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-height: 100%;

  bl-sign-in-logo-and-title {
    text-align: center;

    .logo {
      height: 4rem;
      transform: scale(2.3);
    }

    h1 {
      margin-top: 2.5rem;
      font-size: 1.5rem;
      text-transform: none;
    }
  }

  .session {
    margin: 4rem auto 0;

    label {
      display: block;
      text-align: left;
    }

    p {
      text-align: center;
    }

    input {
      width: 100%;
    }

    input:not([type="submit"]) {
      background-color: #fffcc8;
      border: 1px solid #d1d5db;
      margin-top: 0.5rem;
      margin-bottom: 1rem;
    }

    input[type="submit"],
    button[type="submit"] {
      text-transform: none;
    }

    input[type="submit"] {
      margin: 1rem 0 0;
    }

    button[type="submit"] {
      display: flex;
      justify-content: center;
      gap: 1em;
      width: 100%;
      margin: 1rem 0;

      img {
        height: 1.25em;
      }
    }

    form > div > div {
      display: block;
    }
  }

  #lang-switch {
    margin-top: 3rem;
  }
}
