input, select, textarea {
  font-size: 16px;
  padding: 11px 16px 11px 20px;
  border: 1px solid var(--shadow);
  background-color: white;
  border-radius: 6px;
  appearance: none;
  
  &::placeholder {
    color: var(--text-placeholder);
  }

  &.is-invalid {
    border-color: var(--danger);
  }
}

input[type="file"] {
  padding: 0;
  border: none;
  border-radius: 0;
}

select {
  background-image: url('data:image/svg+xml;utf8,<svg fill="none" width="12" height="12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path></svg>');
  background-repeat: no-repeat;
  background-position: right 10px top 50%;
  padding-right: 30px;
}

.invalid-feedback {
  position: absolute;
  bottom: -13px;
  right: 4px;
  color: var(--danger);
  font-size: 12px;
}