body.page-user-register {
  .block-system-main-block > .block-wrapper > .content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;

    .newcom-user-register-form {
      --label-width: 90px;
      --gap-default: 0.5rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 400px;
      gap: 1rem var(--gap-default);

      .form-item,
      #comune-wrapper {
        display: flex;
        align-items: center;
        justify-content: start;
        flex-wrap: wrap;
        width: 100%;
        gap: var(--gap-default);
        margin: 0;
        padding: 0;
      }

      label,
      input,
      select {
        margin: 0 !important;
      }

      /* Label */
      label {
        min-width: var(--label-width);
        flex-shrink: 0;
        white-space: nowrap;
        text-align: left;
      }

      /* Input */
      input:not([type="checkbox"]):not([type="radio"]),
      select {
        max-width: calc(100% - var(--label-width) - var(--gap-default));
        flex: 1 1 auto;
      }

      /* Natura Giuridica */
      fieldset#edit-natura-giuridica--wrapper {
        margin-bottom: 1rem;

        legend {
          display: none;
        }

        .fieldset-wrapper {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 100%;
        }

        .fieldset-wrapper > div {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 0.5rem 2rem;
          width: 100%;
          padding-left: var(--label-width);
          padding-left: calc(var(--label-width) + var(--gap-default));

          .form-item {
            width: auto;
          }

          label {
            min-width: auto;
            width: auto;
            text-align: left;
          }
        }
      }

      /* Privacy & Cookie Policy */
      .form-item-privacy-consent {
        margin: 2rem 0;
        padding-left: var(--label-width);
        padding-left: calc(var(--label-width) + 0.5rem + 0.25rem);

        input {
          margin-top: -3px !important;
        }

        label::after {
          content: none !important;
        }

        .description {
          display: flex !important;

          a {
            text-decoration: underline;

            &::after {
              display: inline-block;
              content: "*";
              --color: #F00 !important;
              margin-left: 0.25rem;
            }
          }
        }
      }
    }
  }
}
