/* ==========================================
   회원가입 폼 디자인 (signup.css)
   ========================================== */

/* 전체 폼을 감싸는 박스 */
.signup-container {
    max-width: 600px;
    margin: 40px auto;
    font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
    color: #444;
}

/* 청록색 상단 헤더 박스 */
.signup-header {
    background-color: #38aae1;
    color: #ffffff;
    padding: 15px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
}

.signup-container .input-group label {
    position: static !important;
    display: block !important;
    pointer-events: auto !important;
    margin-bottom: 8px !important;
}

.signup-container .input-group {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* 약관 동의 영역 */
.terms-section {
    margin-bottom: 20px;
}
.checkbox-label {
    display: inline-block;
    margin-bottom: 8px;
    font-size: 13px;
    color: #555;
    cursor: pointer;
}
.checkbox-label span {
    color: #38aae1;
}
.terms-box {
    width: 100%;
    height: 100px;
    padding: 10px;
    border: 1px solid #ddd;
    background-color: #fcfcfc;
    font-size: 12px;
    color: #666;
    resize: none;
    box-sizing: border-box;
    line-height: 1.6;
}

/* 필수항목 안내 문구 */
.required-notice {
    text-align: left;
    font-size: 12px;
    color: #38aae1;
    margin-bottom: 10px;
    border-bottom: 1px dashed #ddd;
    padding-bottom: 10px;
}
.asterisk {
    color: #38aae1;
    font-weight: bold;
    margin-right: 3px;
}

/* 입력칸(Input) 그룹 */
.input-group {
    margin-bottom: 20px;
}
.input-group label {
    display: block;
    font-size: 14px;
    color: #444;
    margin-bottom: 8px;
    font-weight: 500;
}
/* 라벨 앞에 청록색 별표 붙이기 */
.input-group label.required::before {
    content: '* ';
    color: #38aae1;
    font-weight: bold;
}
.input-group input[type="text"],
.input-group input[type="password"],
.input-group input[type="email"],
.file-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    font-size: 14px;
    outline: none;
}
.input-group input:focus {
    border-color: #38aae1;
}

.input-group select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    background-color: #fff;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s;
    cursor: pointer;
}


.input-group select:focus {
    border-color: #38aae1; 
}


.help-text {
    font-size: 11px;
    color: #888;
    margin-top: 6px;
    margin-bottom: 0;
}
.radio-group {
    margin-bottom: 25px;
}
.radio-group label {
    display: block;
    font-size: 13px;
    margin-bottom: 8px;
}
.radio-options {
    display: flex;
    gap: 15px;
    font-size: 13px;
}
.radio-options label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    margin-bottom: 0;
}
input[type="radio"] {
    accent-color: #38aae1;
}

/* ==========================================
   에디터 껍데기 UI
   ========================================== */
.fake-editor {
    border: 1px solid #ddd;
    background-color: #fff;
}

.editor-content {
    width: 100%;
    height: 150px;
    padding: 15px;
    box-sizing: border-box;
    overflow-y: auto;
    font-size: 15px;
    outline: none;
    background-color: #fff;
    line-height: 1.6;
}

.editor-content:empty:before {
    content: attr(placeholder);
    color: #aaa;
    pointer-events: none;
}

.editor-content img {
    max-width: 100%;
    height: auto;
}

.editor-toolbar, .editor-toolbar-sub {
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    color: #555;
    display: flex;
    gap: 15px;
    align-items: center;
}
.editor-toolbar i {
    cursor: pointer;
}
.editor-toolbar i:hover { color: #5ca19b; }
.editor-toolbar-sub select {
    padding: 3px;
    border: 1px solid #ccc;
}

.editor-footer {
    display: flex;
    justify-content: space-between;
    padding: 5px 10px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    font-size: 11px;
    color: #999;
}
.editor-upload {
    padding: 10px;
    background-color: #f9f9f9;
}
.upload-info {
    font-size: 11px;
    color: #777;
    margin-left: 10px;
}

/* ==========================================
   취소 / 등록 하단 버튼 영역
   ========================================== */
.form-actions {
    display: flex;
    gap: 10px;
    margin-top: 30px;
    border-top: 1px solid #ddd;
    padding-top: 20px;
}
.form-actions button {
    flex: 1;
    padding: 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    cursor: pointer;
}
.btn-cancel {
    background-color: #fff;
    color: #666;
}
.btn-cancel:hover { background-color: #f5f5f5; }

.btn-submit {
    background-color: #38aae1;
    border-color: #38aae1 !important;
    color: #ffffff;
    font-weight: bold;
}
.btn-submit:hover {
    background-color: #287ba4;
    color: #fff;
}

/* ==========================================
   회원가입 폼 첫번째 시안 - 다크모드 적용
   ========================================== */

/* 전체 글자색을 밝게 */
body.dark-mode .signup-container { color: #ddd; }

/* 청록색 상단 헤더 박스 */
body.dark-mode .signup-header {
    background-color: #287ba4;
    border-color: #287ba4;
    color: #ffffff;
}

/* 약관 동의 텍스트 박스 */
body.dark-mode .terms-box {
    background-color: #222;
    border-color: #444;
    color: #aaa;
}

/* 체크박스 라벨 및 필수항목 문구 */
body.dark-mode .checkbox-label { color: #bbb; }
body.dark-mode .input-group label { color: #eee; }
body.dark-mode .required-notice { border-bottom-color: #444; }
body.dark-mode .help-text { color: #888; }

/* 텍스트 입력칸 및 파일 첨부칸 */
body.dark-mode .input-group input[type="text"],
body.dark-mode .input-group input[type="password"],
body.dark-mode .input-group input[type="email"],
body.dark-mode .file-input {
    background-color: #2a2a2a;
    border-color: #444;
    color: #eee;
}

/* 입력칸 클릭 시*/
body.dark-mode .input-group input:focus {
    border-color: #38aae1;
}

/* 에디터 껍데기 UI 다크모드 */
body.dark-mode .fake-editor { border-color: #444; background-color: #222; }
body.dark-mode .editor-toolbar, 
body.dark-mode .editor-toolbar-sub { border-bottom-color: #444; color: #aaa; }
body.dark-mode .editor-toolbar-sub select { background-color: #333; color: #ddd; border-color: #555; }
body.dark-mode .fake-editor textarea { background-color: #2a2a2a; color: #eee; }
body.dark-mode .editor-footer { border-top-color: #444; border-bottom-color: #444; color: #777; }
body.dark-mode .editor-upload { background-color: #1a1a1a; }
body.dark-mode .upload-info { color: #888; }

/* 하단 취소 / 등록 버튼 */
body.dark-mode .form-actions { border-top-color: #444; }

body.dark-mode .btn-cancel { 
    background-color: #333; 
    color: #ccc; 
    border-color: #555; 
}
body.dark-mode .btn-cancel:hover { background-color: #444; }

body.dark-mode .btn-submit {
    background-color: #287ba4; /* 어두운 청록색 */
    border-color: #287ba4 !important;
    color: #ffffff;
}
body.dark-mode .btn-submit:hover {
    background-color: #38aae1;
    color: #fff;
}

body.dark-mode .editor-content {
    background-color: #2a2a2a;
    color: #eee;
}

body.dark-mode .input-group select {
    background-color: #333;
    border-color: #555;
    color: #eee;
}

body.dark-mode .input-group select:focus {
    border-color: #38aae1;
}