/* 기본 입력 필드 스타일 - 높은 우선순위로 적용 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="url"],
select,
textarea {
  width: 100%;
  padding: var(--kicda-space-3, 12px) var(--kicda-space-4, 16px) !important;
  border: 2px solid var(--kicda-light-gray-dark, #e5e7eb) !important;
  border-radius: var(--kicda-radius, 4px) !important;
  font-size: var(--kicda-text-base, 16px) !important;
  font-family: var(--kicda-font-sans, "Noto Sans KR", sans-serif);
  background-color: var(--kicda-white, #ffffff);
  color: var(--kicda-dark, #111827);
  transition: var(--kicda-transition-fast, 150ms);
}

/* 폼 그룹 내부 입력 필드 (더 높은 특이성) */
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="password"],
.form-group input[type="number"],
.form-group input[type="url"],
.form-group select,
.form-group textarea,
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="password"],
form input[type="number"],
form input[type="url"],
form select,
form textarea {
  padding: var(--kicda-space-3, 12px) var(--kicda-space-4, 16px) !important;
  border: 2px solid var(--kicda-light-gray-dark, #e5e7eb) !important;
  border-radius: var(--kicda-radius, 4px) !important;
  font-size: var(--kicda-text-base, 16px) !important;
}

/* 포커스 상태 */
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--kicda-primary, #2563eb) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
form input:focus,
form select:focus,
form textarea:focus {
  outline: none !important;
  border-color: var(--kicda-primary, #2563eb) !important;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

/* Placeholder 스타일 */
input::placeholder,
textarea::placeholder {
  color: var(--kicda-gray, #6b7280);
  opacity: 0.7;
}

/* 비활성 상태 */
input:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--kicda-light-gray, #f9fafb);
  cursor: not-allowed;
  opacity: 0.6;
}

/* 에러 상태 */
input.error,
select.error,
textarea.error {
  border-color: var(--kicda-danger, #ef4444);
}

input.error:focus,
select.error:focus,
textarea.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* 체크박스 및 라디오 버튼 */
input[type="checkbox"],
input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--kicda-primary, #2563eb);
}

/* Select 박스 화살표 커스터마이징 */
select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
}

/* Textarea 리사이즈 제한 */
textarea {
  resize: vertical;
  min-height: 80px;
}
