input[type="checkbox"], input[type="radio"] {
  position: relative;
  width: 1.5em;
  height: 1.5em;
  border-radius: 4px;
  appearance: none;
  outline: 0;
  cursor: pointer;
  transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
  display: inline-block;

  @include theme($themes) {
    border: 1px solid t('colorP');
  }

  &::before {
    position: absolute;
    content: '';
    display: block;
    top: 2px;
    left: 7px;
    width: 8px;
    height: 14px;
    border-style: solid;
    border-color: $grey-1;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
  }

  &:checked {
    color: $grey-1;
    border-color: $color-2;
    background: $color-2;

    &::before {
      opacity: 1;
    }

    ~ label::before {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
  }
}


input[type="checkbox"], input[type="radio"], select {
  margin-left: 20px;
}

.checkbox-select-multiple, .radio-select {
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-left: 20px;

    label {
      display: flex;
      align-items: center;

      input {
        margin: 5px 10px 5px 0;
      }
    }
  }
}
