/* 회원가입 컨테이너 */
.signup-container {
    font-family: "Noto Sans KR", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 30px 0;
}

.signup-box {
    width: 400px;
    background: white;
    padding: 30px;
    border-radius: 5px;
    box-shadow: 0 0 5px rgba(125, 90, 158, 0.5);
    text-align: center;
    margin:20px 0;
}

/* 제목 스타일 */
.signup-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

#verifyCodeBtn {
    margin-right: 0px;
}

.signup-subtitle {
    font-size: 14px;
    color: #777;
    margin-bottom: 20px;
}

/* 입력 필드 그룹 */
.form-group {
    display: flex;
    align-items: center;
    margin-top: -1px;
}

.form-group input, .input-field, select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    font-size: 14px;
    box-sizing: border-box;
    background-color: white;
    appearance: none; /* 기본 드롭다운 스타일 제거 */
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    color: #777;
}

/* 포커스(클릭) 시 스타일 */
.form-group input:focus, .input-field:focus, select:focus, input[type="date"]:focus {
    outline: none;
    border-color: #7D5A9E;
    box-shadow: 0 0 5px rgba(125, 90, 158, 0.5);
}

.form-group-bottom {
    margin-bottom: 3.5px;
}

.form-group-right{
    margin-right: -2.5px;
}

/* 드롭다운 기본 스타일 */
select {
    background-image: url("../src/select.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px; /* 크기를 맞춤 */
    padding-right: 35px;   /* 아이콘 공간 확보 */
}

/* 드롭다운 선택되지 않은 상태(placeholder 스타일) */
select:invalid {
    color: #777;
}

/* 생년월일 입력 필드 */
input[type="date"] {
    font-size: 14px;
    color: #aaa;
    padding: 12px;
    border: 1px solid #ccc;
    background-color: white;
    cursor: pointer;
}

/* 날짜 입력 필드에서 값이 입력되었을 때 색상 변경 */
input[type="date"]:valid {
    color: #333;
}

/* 입력 필드 placeholder 스타일 */
input::placeholder, select {
    font-size: 14px;
    color: #aaa;
}

/* 비밀번호 입력 필드 */
.password-group {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 경고 메시지 & 일치 여부 메시지 */
.warning-text, .match-text {
    font-size: 12px;
    color: red;
    margin-left: 10px;
    white-space: nowrap;
}

/* 비밀번호 일치하면 초록색 */
.match-text.success {
    color: green;
    margin: 12px;
}

/* 비밀번호 조건 미충족 시 빨간색 */
.match-text.error, .warning-text.error {
    color: red;
    margin: 12px;
}

/* 작은 버튼 스타일 */
.small-button {
    padding: 11.5px;
    background-color: #7D5A9E;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
    margin: 2.5px;
}

.small-button:hover {
    background-color: #6A4B85;
}

/* 이용약관 */
.terms-list {
    text-align: left;
    margin-bottom: 20px;
}

.term-item {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.term-item label {
    margin-left: 5px;
    margin-bottom: 3.5px;
    font-size: 13px;
}

/* 체크박스와 라벨 정렬 */
.term-item input[type="checkbox"] {
    margin-right: 8px;
}

/* 약관 링크 스타일 */
.terms-link {
    font-size: 12px;
    margin-left: 10px;
    color: #777;
    cursor: pointer;
}

.terms-link:hover {
    color: #523A6B;
}

/* 회원가입 버튼 */
.signup-button {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    background-color: #7D5A9E;
    color: white;
    border: none;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.signup-button:hover {
    background-color: #6A4B85;
}

/* 추가 항목 스타일 */
.additional-fields {
    margin-top: 30px;
    padding-top: 10px;
    border-top: 2px solid #ddd; /* 기존 필드와 구분 */
}

/* 추가 필드 안에 있는 요소들 */
.additional-fields .form-group {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
}

/* 추가 필드 input 및 select 스타일 */
.additional-fields .form-group label {
    font-size: 14px;
    color: #777;
    margin-bottom: 5px;
    font-weight: bold;
}

.additional-fields input, .additional-fields select {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    font-size: 14px;
    box-sizing: border-box;
    background-color: white;
    cursor: pointer;
}

/* select 요소와 동일한 높이 적용 */
.additional-fields select {
    padding-right: 35px; /* 드롭다운 화살표와 여백 */
}

/* input, select 클릭(포커스) 시 강조 */
.additional-fields input:focus, .additional-fields select:focus {
    outline: none;
    border-color: #7D5A9E;
    box-shadow: 0 0 5px rgba(125, 90, 158, 0.5);
}

.additional-fields p {
    color: #5f5f5f;
    font-size: 17px;
    font-weight: bolder;
}

/* 생년월일 입력 그룹 */
.birth-group {
    display: flex; 
    align-items: center; /* 세로 중앙 정렬 */
    justify-content: space-between; /* 요소 간격 조정 */
    gap: 4px; /* 드롭다운 간격 */
    width: 100%;
    margin-bottom: 8px;
}

/* 드롭다운 스타일 */
.birth-group select {
    flex: 1; /* 모든 select 요소를 균등하게 정렬 */
    min-width: 80px; /* 최소 크기 설정 */
    padding: 12px;
    border: 1px solid #ccc;
    font-size: 14px;
    box-sizing: border-box;
    background-color: white;
    cursor: pointer;
    appearance: none; 
    -webkit-appearance: none;
    -moz-appearance: none;
    text-align: center;
}

/* 드롭다운 placeholder 스타일 */
.birth-group select option:first-child {
    color: #aaa;
}

/* 포커스 시 스타일 */
.birth-group select:focus {
    outline: none;
    border-color: #7D5A9E;
    box-shadow: 0 0 5px rgba(125, 90, 158, 0.5);
}

/* 드롭다운 화살표 아이콘 */
.birth-group select {
    background-image: url("../src/select.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 18px; /* 크기를 맞춤 */
    padding-right: 35px;   /* 아이콘 공간 확보 */
}

#businessFields {
    display: none;
  }

.divider {
    margin-top: 30px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
}

/* 생년월일 텍스트 박스 스타일 */
.birth-label {
    background-color: #ccc;  /* 원하는 배경색 */
    color: white;              /* 글자색 */
    padding: 10px 18px;
    border: 1px solid #ccc;
    font-size: 14px;
    white-space: nowrap;      /* 텍스트가 한 줄에 표시되도록 */
  }