.layout-container--auth {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 20px;

  &::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: var(--background-image);
    background-size: cover;
    background-position: center;
    z-index: -1;
  }

  & .layout-container__inner {
    width: 100%;
    background-color: var(--theme-color);
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 20px;
  }

  & .layout-header__inner {
    display: flex;
    justify-content: center;
  }

  @media (min-width: 768px) {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: unset;
    padding: 0;

    &::after {
      left: 50%;
    }

    & .layout-container__inner {
      border-radius: unset;
      display: flex;
      flex-direction: column;
      padding-top: unset;
      padding-bottom: unset;
    }

    & .layout-header__inner {
      display: flex;
      justify-content: unset;
    }

    & .layout-main-wrapper {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
  }

  & .form-intro,
  & .form-footer {
    color: var(--text-secondary);

    & h2, & h3, & h4, & h5, & h6 {
      margin-bottom: 24px;
    }
  }

  & form {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 480px;
    margin: 0 auto;

    & .form-item {
      & label {
        margin-bottom: 8px;

        &.form-required::after {
          content: "*";
          color: var(--text-error);
        }
      }
    }

    & .login-pass-label-row {
      display: flex;
      flex-direction: row;
      align-items: end;
      justify-content: space-between;
    }

    & .login-forgot-password-link {
      margin-bottom: 8px;
    }

    & .form-actions {
      display: flex;
      flex-direction: column;
      margin-top: 12px;
      gap: 24px;
    }
  }
}
