.petrov-forms-form {
  position: relative;
}

.petrov-forms-grid {
  margin-bottom: 0;
}

.petrov-forms-field {
  margin-bottom: 0;
}

.petrov-forms-field input:not([type='checkbox']):not([type='radio']),
.petrov-forms-field textarea {
  width: 100%;
}

.petrov-forms-field-checkbox .form-check {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  column-gap: 0.625rem;
  row-gap: 0.25rem;
  align-items: flex-start;
  padding-left: 0;
}

.petrov-forms-field-checkbox .form-check-input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin: 0.2rem 0 0;
}

.petrov-forms-field-checkbox .form-check-label {
  display: block;
  margin: 0;
  line-height: 1.45;
}

.petrov-forms-field-checkbox .invalid-feedback {
  grid-column: 2;
  margin-left: 0;
  margin-top: 0;
}

.petrov-forms-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.petrov-forms-message {
  margin-bottom: 1rem;
}

.petrov-forms-submit-label {
  vertical-align: middle;
}

.petrov-forms-turnstile-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.petrov-forms-general-error .invalid-feedback,
.petrov-forms-turnstile-error {
  margin-top: 0;
}

@media (max-width: 767.98px) {
  .petrov-forms-form .btn {
    width: 100%;
  }
}