
/* 페이지 전체 배경색 */
body {
    background-color: #FFF4E6;
    font-family: 'Pretendard', sans-serif;
    color: #2E2E2E;
}

/* 회원가입 페이지 전체 레이아웃 */
.join-page {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 40px 0;
    box-sizing: border-box;
}

/* 가입 폼 스타일 */
.join-page form {
    width: 100%;
    max-width: 450px;
    min-width: 300px;
    background: white;
    padding: 30px 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* 리스트 초기화 */
.join-page ul,
.join-page dl,
.join-page li {
    margin: 6px;
    padding: 0;
    list-style: none;
}

/* 입력 필드 */
.join-page input[type="text"],
.join-page input[type="password"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 14px;
    box-sizing: border-box;
}

/* 전송 메세지 */
#email_message {
    font-size: 1rem;
    color: green;
    white-space: nowrap;
}

/* 에러 메세지 */
.join-page .error {
    color: #e74c3c;
    font-size: 12px;
    margin-top: 4px;
}

/* 이메일 텍스트 밑 여백 추가 */
.email-text {
    margin-bottom: 6px;
}

/* 로딩 이미지 */
.loading-icon {
    display: none;
    height: 30px;
    vertical-align: middle;
}

/* 인증 관련 박스 */
.auth_box {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 6px;
}

#auth_num {
    flex: 1;
    min-width: 0;
}

#email_confirm, #email_re_verify {
    width: 75px;
    height: 40px;
    box-sizing: border-box;
}

/* 인증 타이머 */
#auth_count {
    font-weight: bold;
    font-size: 13px;
}

/* 확인된 이메일 표시 */
span.confirmed {
    color: #27ae60;
    font-size: 13px;
}

/* 버튼 스타일 */
.join-page button {
    padding: 10px 14px;
    font-size: 14px;
    border: none;
    background-color: #FFB6B9;
    color: #2E2E2E;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.3s;
}

.join-page button:hover {
    background-color: #FF8C42;
}

/* 약관 동의 영역 */
.join-page .terms {
    background: #FFF0ED;
    padding: 10px;
    font-size: 13px;
    border-radius: 6px;
    max-height: 100px;
    overflow-y: auto;
}

/* 프로필 이미지 업로드 박스 */
.profile-image {
    border: 1px dashed #aaa;
    padding: 20px;
    text-align: center;
    border-radius: 8px;
    background: #FFF0ED;
    cursor: pointer;
    position:relative;
}
.profile-image.uploaded .file-upload-btn {
    text-indent: -9999px;
     line-height:0;
    overflow: hidden;
    white-space: nowrap;
}
.remove{
     position:absolute;
     right:20px; bottom:15px;
}
#image_tpl{margin-bottom:63px;}