:is(
  input[type="text"],
  input[type="password"],
  input[type="email"],
  input[type="number"],
  input[type="tel"],
  input[type="month"],
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="file"],
  textarea,
  select
):required:user-invalid {
    border: var(--red) 2px solid;
}

:is(input[type="radio"], input[type="checkbox"]):required:user-invalid {
    box-shadow: 0 0 0 2px var(--red);
}

.input-text-group:has(:required:user-invalid) .input-text {
    border-color: var(--red);
    border-width: 2px;
}
