



.nf-field-container {
  margin-bottom: var(--space-s) !important;
}


.nf-field-container:has(input[type="submit"]) {
  margin-bottom: 0 !important;
}


.nf-form-content .label-above .nf-field-label {
  margin-bottom: var(--space-2xs) !important;
}



.nf-form-layout .nf-form-content .nf-field-container .nf-field-label label {
  font-size: var(--text-s);
  font-weight: var(--font-400);
  color: var(--heading-dark);
}



.nf-form-layout .nf-form-content .nf-field-element input:not([type="submit"]),
.nf-form-layout .nf-form-content .nf-field-element textarea,
.nf-form-layout .nf-form-content .nf-field-element select {
  
  border: none;
  border-radius: var(--radius-xs);
  background-color: var(--bg-light);
  
  
  color: var(--text-dark);
  font-family: var(--ff-body);
  
  
  padding: var(--space-s);
  
  
  transition: all 0.3s ease-in-out;
}


.nf-form-layout .nf-form-content .nf-field-element input:not([type="submit"]):focus,
.nf-form-layout .nf-form-content .nf-field-element textarea:focus,
.nf-form-layout .nf-form-content .nf-field-element select:focus {
  background-color: var(--neutral-50);
  color: var(--text-dark);
  outline: none;
  
  font-family: var(--ff-body) !important;
}


.nf-form-layout .nf-form-content .nf-field-element textarea {
  height: 6.25rem; 
  resize: vertical; 
}




.nf-form-fields-required {
  margin-bottom: var(--space-s);
  font-size: var(--text-s);
  font-family: var(--ff-body) !important;
  font-style: italic;
  color: var(--text-dark);
  text-align: left;
}




.nf-error-msg,
.nf-error .nf-error-msg {
  color: var(--error) !important;
  font-size: var(--text-xs);
}


.nf-error.field-wrap .nf-field-element:after {
  background: var(--error) !important;
  border-radius: var(--radius-xs);
}


.nf-pass.field-wrap .nf-field-element:after {
  color: var(--success);
  border-radius: var(--radius-xs);
}



.nf-form-layout .nf-form-content .nf-field-element input:not([type="submit"])::placeholder,
.nf-form-layout .nf-form-content .nf-field-element textarea::placeholder {
  color: var(--text-light);
  opacity: 0.6;
}




.nf-form-layout .nf-form-content .nf-field-element input:not([type="submit"]):focus-visible,
.nf-form-layout .nf-form-content .nf-field-element textarea:focus-visible,
.nf-form-layout .nf-form-content .nf-field-element select:focus-visible {
  outline: 2px solid var(--primary-default);
  outline-offset: 2px;
}


.nf-form-layout .nf-form-content .nf-field-element input[type='submit'] {
  text-transform: uppercase;
  line-height: 1;
  font-weight: 600;
  font-size: var(--btn-text-size);
  border: var(--btn-border-width) solid;
  border-radius: var(--btn-radius);
  padding: var(--btn-space);
  transition: all var(--transition);
  flex-shrink: 0;
  display: block;
  cursor: pointer;
  margin-left: auto;
  width: auto;
  color: var(--neutral-950);
  background-color: var(--primary-300);
  border-color: var(--neutral-950);
}


.nf-form-layout .nf-form-content .nf-field-element input[type='submit']:hover {
  background-color: var(--primary-200) !important;
}