.boolean-input .form-check {
  --font-size: .8em;

  display: grid;
  grid-template-columns: auto 1fr; 
}

.boolean-input .form-check .form-check-input {
  margin-top: .1em;
}

.boolean-input .form-check input {
  grid-area: 1 / 1 / 2 / 2;
  border-color: var(--bs-primary);
}

.boolean-input .form-check-input+label {
  grid-area: 1 / 2 / 2 / 3;
  font-size: var(--font-size);
}

.boolean-input .form-check-input+label+.form-feedback {
  grid-area: 2 / 2 / 3 / 3;
  font-size: var(--font-size);
  padding-left: 0;
  padding-right: 0;
}

.boolean-input .form-check-input+label+.form-feedback > .feedback-message {
  margin-left: 0;
  margin-right: 0;
}

.boolean-input .form-check-input+label+.form-feedback > .feedback-message::before {
  width: 1.875em;
}

.boolean-input.justify-content-center .col-auto {
  margin-left: auto;
  margin-right: auto;
}

.boolean-input.justify-content-center .form-check-label {
  justify-content: center;
}

.boolean-input.justify-content-center .form-check-input+label+.form-feedback {
  margin-left: 0;
}

.boolean-input.align-items-center .form-check-input {
  margin-top: 0;
}

.boolean-input.align-items-center .form-check {
  align-items: center;
}
