
.block_field__form {
  background-color: transparent;
  border: 1px dashed var(--vscode-button-background);
  padding: 1rem;
}

.block_field__form__buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 1rem;

  button {
    margin: 0 1rem;

    &:first-child {
      margin-left: 0;
    }

    &:last-child {
      margin-right: 0;
    }
  }
}

.block_field__form__button__save {
  background-color: var(--vscode-button-background);
  color: var(--vscode-button-foreground);

  &:hover {
    background-color: var(--vscode-button-hoverBackground);
  }
}

.block_field__form__button__cancel {
  background-color: var(--vscode-button-secondaryBackground);
  color: var(--vscode-button-secondaryForeground);

  &:hover {
    background-color: var(--vscode-button-secondaryHoverBackground);
  }
}

.json_data__field {
  border: 1px dashed var(--vscode-button-secondaryBackground);
  color: var(--vscode--settings-headerForeground);
  padding: .5rem 1rem;
  margin-bottom: .5rem;

  .autoform {
    background-color: transparent;
    border: 1px dashed var(--vscode-button-background);
    padding: 1rem;

    h3 {
      font-size: 1rem;
      font-weight: bold;
      text-align: center;
    }
  }

  .fields > div {
    margin-bottom: .5rem;

    &:last-child {
      .json_data__selector h3 {
        font-size: 1rem;
        font-weight: bold;
        text-align: center;
      }
      
      margin-bottom: 0;
    }
  }
}

.json_data__selector {
  h3 {
    font-size: var(--vscode-font-size);
    font-weight: bold;
    text-align: left;
  }

  select {
    padding: .5rem;
  }
}

.json_data__buttons {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top:1rem;

  button, input {
    display: inline;
    width: auto;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  input {
    background: var(--vscode-button-background);
    color: var(--vscode-button-foreground);
    margin-right: 1rem;
    cursor: pointer;

    &:hover {
      background: var(--vscode-button-hoverBackground);
    }
  }

  button {
    background: var(--vscode-button-secondaryBackground);
    color: var(--vscode-button-secondaryForeground);

    &:hover {
      background: var(--vscode-button-secondaryHoverBackground);
    }
  }
}

.json_data__list {
  margin-top: 1rem;

  label {
    display: block;
    margin-bottom: .5rem;
    font-weight: bold;
  }

  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  li, .sortable_item {
    border-bottom: 1px solid var(--vscode-button-secondaryBackground);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 0;

    span {
      margin-right: .5rem;
    }

    > div {
      display: flex;
      align-items: center;

      svg {
        margin-right: .5rem;
      }
      
      button:last-child {
        margin-left: .5rem;
      }
    }

    &:last-child {
      margin-bottom: 0;
      border-bottom: 0;
    }
  }
}

.json_data__list .metadata_field__label {
  justify-content: space-between;

  > div {
    display: flex;
    align-items: center;
  }

  button svg {
    margin-right: 0;
  }
}

.json_data__record {
  border-bottom: 1px solid var(--vscode-button-secondaryBackground);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .5rem 0;

  &.json_data__record_selected {
    background-color: rgba(255, 255, 255, .1);
    filter: brightness(100%);
  }

  span {
    margin-right: .5rem;
  }

  > div {
    display: flex;
    align-items: center;

    svg {
      margin-right: .5rem;
    }
    
    button:last-child {
      margin-left: .5rem;
    }
  }

  &:last-child {
    margin-bottom: 0;
    border-bottom: 0;
  }

  svg {
    height: 1.25rem;
    width: 1.25rem;
  }
}

.drag_handler {

  svg {
    height: 1.25rem;
    width: 1.25rem;
    cursor: move;
  }
}

.sortable_item button,
.json_data__list__button {
  width: auto;
  background: none;
  color: inherit;
  outline: none !important;
  outline-offset: inherit !important;
  padding: 0;
  margin: 0;

  &:hover {
    color: var(--vscode-editor-foreground);
    background: none;
  }
}

.json_data__list__button_icon {
  height: 1rem;
  width: 1rem;
}

.sr-only {
  display: none;
}