fieldset {
  margin-block: var(--minimalist-fieldset-margin-block, var(--size-12));
}

input,
select:not(.custom-select),
textarea {
  border: var(--minimalist-input-border, var(--border-primary-border));
  padding: var(--minimalist-input-padding, var(--size-6));
}

input:user-valid,
textarea:user-valid {
  border-color: var(
    --minimalist-input-border-valid-color,
    var(--color-valid-border)
  );
  outline-color: var(
    --minimalist-input-border-valid-outline,
    var(--color-valid-outline)
  );
}

input:user-invalid,
textarea:user-invalid {
  border-color: var(
    --minimalist-input-border-critical-color,
    var(--color-critical-border)
  );
  outline-color: var(
    --minimalist-input-border-critical-outline,
    var(--color-critical-outline)
  );
}

input:user-valid,
input:user-invalid,
input:focus:invalid:not(:user-invalid),
textarea:user-valid,
textarea:user-invalid,
textarea:focus:invalid:not(:user-invalid) {
  outline-offset: var(--size-2);
}

input:focus:invalid:not(:user-invalid),
textarea:focus:invalid:not(:user-invalid) {
  border-color: var(
    --minimalist-input-border-warning-color,
    var(--color-warning-border)
  );
  outline-color: var(
    --minimalist-input-border-warning-outline,
    var(--color-warning-outline)
  );
}
