input[type="checkbox"],
input[type="submit"],
input[type="image"],
input[type="radio"],
label[for],
select,
copy-to-clipboard {
  cursor: pointer;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

input::placeholder,
textarea::placeholder,
select:required:invalid {
  @apply text-gray-400;
}

/* Inputs */
[type="text"],
[type="email"],
[type="url"],
[type="password"],
[type="number"],
[type="date"],
[type="datetime-local"],
[type="month"],
[type="search"],
[type="tel"],
[type="time"],
[type="week"],
textarea {
  &:disabled {
    @apply bg-gray-100 text-gray-500 cursor-not-allowed;
  }
}

[type="radio"] {
  @apply w-4 h-4 text-green-600 bg-gray-50 border-gray-300 focus:ring-green-500 focus:ring-2;

  &:checked {
    @apply bg-green-600 border-green-600;
  }
}

[type="file"] {
  @apply file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-gray-100 file:text-gray-700 hover:file:bg-gray-200;
}

.form-label {
  @apply inline-block text-sm text-gray-800 mb-2;
}

input[type="radio"] + .form-label {
  @apply mb-0 text-base;
}

input[type="checkbox"] {
  @apply rounded-sm border-gray-300 bg-white text-green-600 focus:ring-green-500 focus:ring-2;

  &:checked {
    @apply bg-green-600 border-green-600;
  }
}

.form-check {
  @apply flex items-center gap-x-2;
}

.form-control {
  @apply w-full focus:ring-green-500 focus:outline-2 focus:border-green-500 text-sm border-gray-300 rounded-md;

  &.is-invalid {
    @apply focus:ring-red-500 focus:border-red-500 text-sm border-red-500 rounded-md;
  }
}

.form-text {
  @apply mt-1 text-gray-600 text-xs;
}

/* Slim Select */

.ss-main.form-control {
  @apply outline-none focus:ring-0;
}
