@charset "utf-8";

/* ===== 스킨 공통 다크/라이트 테마 오버라이드 ===== */
/* 이 파일은 모든 스킨의 하드코딩된 색상을 CSS 변수로 재정의합니다 */

/* === 게시판 스킨 (board/basic) === */
#bo_list { background: var(--bg-surface); border-radius: var(--radius); border: 1px solid var(--border); overflow: hidden; }
#bo_list .td_chk { border-color: var(--border); }
#bo_list tbody tr { border-left: 2px solid transparent; }
#bo_list tbody tr:hover { border-left: 2px solid var(--accent); }
#bo_list tbody .even td { background: var(--bg-hover); }
.bo_notice td { background: var(--accent-dim) !important; border-bottom-color: var(--border); }
.bo_notice .notice_icon { color: var(--accent); }

#bo_cate a { border-color: var(--border); color: var(--accent); border-radius: 20px; }
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { background: var(--accent); color: #fff; text-decoration: none; }
#bo_cate #bo_cate_on { background: var(--accent); color: #fff; border-color: var(--accent); box-shadow: none; }

.bo_cate_link { background: var(--accent-dim); color: var(--accent); }
.bo_tit { color: var(--text); }
.bo_tit:hover { color: var(--accent); }
.bo_current { color: var(--red); }
#bo_list .cnt_cmt { background: var(--accent-dim); color: var(--accent); }
#bo_list .bo_tit .fa-lock { color: var(--text-muted); background: var(--bg-hover); border-color: var(--border); }
#bo_list .bo_tit .new_icon { color: var(--green); background: var(--green-dim); }
#bo_list .bo_tit .hot_icon { color: var(--red); background: var(--red-dim); }
#bo_list .bo_tit .fa-download { color: var(--orange); background: var(--orange-dim); }
#bo_list .bo_tit .fa-link { color: var(--accent); background: var(--accent-dim); }

#bo_list_total { color: var(--text-dim); }
.btn_bo_user li { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 4px; }
.btn_bo_adm input { background: var(--bg-hover); color: var(--text-dim); border: 1px solid var(--border); border-radius: 4px; }

.td_num strong { color: var(--text); }

/* 검색 모달 */
.bo_sch { background: var(--bg-surface); border-color: var(--border); box-shadow: 0 8px 32px rgba(0,0,0,0.4); }
.bo_sch h3 { border-bottom-color: var(--border); color: var(--text); }
.bo_sch select { background: var(--bg); border-color: var(--border); color: var(--text); box-shadow: none; }
.bo_sch .sch_bar { border-color: var(--border); background: var(--bg); box-shadow: none; }
.bo_sch .sch_input { background: transparent; color: var(--text); }
.bo_sch .sch_btn { color: var(--text-dim); background: none; }
.bo_sch .bo_sch_cls { background: var(--bg-surface); color: var(--text-muted); }
.bo_sch_bg { background: rgba(0,0,0,0.5); }

/* 더보기 옵션 */
.more_opt { background: var(--bg-surface); border-color: var(--border); }
.more_opt:before { border-color: transparent transparent var(--border) transparent; }
.more_opt:after { border-color: transparent transparent var(--bg-surface) transparent; }
.more_opt li { border-bottom-color: var(--border); color: var(--text-dim); }
.more_opt li button, .more_opt li a { background: var(--bg-surface); color: var(--text-dim); }
.more_opt li:hover a, .more_opt li:hover button { color: var(--text); }

/* 게시판 읽기 */
#bo_v { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; }
#bo_v_title .bo_v_cate { background: var(--accent-dim); color: var(--accent); }
#bo_v_title .bo_v_tit { color: var(--text); }
#bo_v_info { border-bottom-color: var(--border); color: var(--text-dim); }
#bo_v_con { color: var(--text); line-height: 1.8; }

/* 자동저장 */
#autosave_pop { background: var(--bg-surface); border-color: var(--border); box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
#autosave_pop:before { border-color: transparent transparent var(--border) transparent; }
#autosave_pop:after { border-color: transparent transparent var(--bg-surface) transparent; }
#autosave_pop ul { border-color: var(--border); }
#autosave_pop li { background: var(--bg-hover); border-bottom-color: var(--border); }

/* === 회원 스킨 (member/basic) === */
.mbskin .mbskin_box { border-color: var(--border); background: var(--bg-surface); }
.mbskin h1 { color: var(--text); }
.mbskin .btn_submit { background: var(--accent); }
.mbskin .btn_submit:hover { background: #5a7aef; }

.mb_log_cate h2 { color: var(--text); }
.mb_log_cate .join { background: var(--bg-hover); color: var(--text-dim); }

#register_form { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius); }
#register_form h2 { border-bottom-color: var(--border); color: var(--text); }
.register_form_inner { background: var(--bg-panel); border-color: var(--border); }
.register_form_inner label { color: var(--text-dim); }

#fregister p { background: var(--red-dim); color: var(--red); }
#fregister p:before { background: var(--red); }
#fregister section { border-color: var(--border); }
#fregister h2 { border-bottom-color: var(--border); color: var(--text); }
#fregister textarea { background: var(--bg); color: var(--text); border: 0; }
#fregister_chkall { background: var(--bg-hover); border-color: var(--border); color: var(--text); }

.fregister_terms div { background: var(--bg-surface); }
.fregister_terms table th { background: var(--bg-hover); color: var(--text); border-color: var(--border); }
.fregister_terms table td { border-color: var(--border); color: var(--text-dim); }

#reg_result { background: var(--accent-dim); border-color: var(--border); color: var(--text); }
#reg_result h2 strong { color: var(--accent); }
#reg_result #result_email { border-color: var(--border); background: var(--bg-surface); }
#reg_result .reg_result_p { color: var(--accent); }

.reg_btn_submit { background: var(--accent); color: #fff; }

.fregister_agree input[type="checkbox"]:checked + label span { background-color: var(--accent); border-color: var(--accent); }

/* === 설문조사 스킨 (poll/basic) === */
#poll { border-color: var(--border); background: var(--bg-surface); border-radius: var(--radius); }
#poll header { border-bottom-color: var(--border); }
#poll header h2 { color: var(--text); }
#poll header .btn_result { border-color: var(--border); color: var(--accent); background: var(--bg); }
#poll .poll_con p { color: var(--text); }
#poll_btn .btn_poll { background: var(--accent); }
.chk_box input[type="radio"] + label { color: var(--text-dim); }
.chk_box input[type="radio"] + label span { background: var(--bg); border-color: var(--border); }
.chk_box input[type="radio"]:checked + label { color: var(--accent); }
.chk_box input[type="radio"]:checked + label span:before { background: var(--accent); }

/* 설문조사 결과 */
#poll_result_list { border-color: var(--border); background: var(--bg-surface); }
#poll_result_list h2 { border-color: var(--border); background: var(--accent-dim); color: var(--accent); }
.poll_result_graph { background: var(--bg); box-shadow: none; }
.poll_1st .poll_result_graph span { background: var(--accent); }
.poll_result_graph span { background: var(--text-muted); }
.poll_numerical .poll_percent { color: var(--accent); }

/* === 접속자 스킨 (visit/basic) === */
.visit_count { color: var(--text-dim); }

/* === 검색 스킨 === */
.sct_group h3 { color: var(--text); border-bottom-color: var(--border); }

/* === 글쓰기 공통 === */
.write_div { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; }
.write_div textarea { background: var(--bg); color: var(--text); }
#bo_w .bo_w_select { background: var(--bg); border-color: var(--border); color: var(--text); }

/* === FAQ === */
.faq_list dt { background: var(--bg-surface); border: 1px solid var(--border); color: var(--text); }
.faq_list dd { background: var(--bg-panel); border: 1px solid var(--border); color: var(--text-dim); }

/* === Q&A === */
.qa_list { border-color: var(--border); }
.qa_list li { border-bottom-color: var(--border); }
.qa_list .qatit { color: var(--text); }
.qa_list .qa_date { color: var(--text-muted); }

/* === 새창 === */
.new_win #win_title { background: var(--bg-panel); color: var(--text); border-bottom-color: var(--border); }

/* === 공통 패딩 조정 === */
.tbl_wrap { overflow-x: auto; }

/* === 페이징 (Pagination) === */
.pg_wrap { margin: 20px 0 30px; text-align: center; }
.pg { text-align: center; }
.pg_page, .pg_current {
    display: inline-block; vertical-align: middle;
    border-radius: 6px; font-size: 14px;
    height: 34px; line-height: 32px; padding: 0 8px; min-width: 34px;
    text-decoration: none; transition: all 0.15s;
}
.pg_page {
    background: var(--bg-surface); border: 1px solid var(--border);
    color: var(--text-dim);
}
.pg_page:hover { background: var(--bg-hover); color: var(--text); text-decoration: none; }
.pg_start, .pg_prev, .pg_end, .pg_next {
    background: var(--bg-surface); border: 1px solid var(--border);
    color: var(--text-dim);
}
.pg_current {
    background: var(--accent); border: 1px solid var(--accent);
    color: #fff; font-weight: 700;
    box-shadow: 0 2px 8px var(--accent-glow);
}

/* === 게시판 댓글 === */
.cmt_list { border-top: 1px solid var(--border); }
.cmt_list .cmt_li { border-bottom: 1px solid var(--border); }
.cmt_list .cmt_textarea { background: var(--bg); border-color: var(--border); color: var(--text); }

/* === 내용관리 페이지 (content) 제목 표시 === */
#ctt header h1 {
    position: static !important;
    font-size: 1.5em !important;
    line-height: 1.4 !important;
    overflow: visible !important;
}

/* === 게시판 뷰 공통 === */
#bo_v_con img { max-width: 100%; height: auto; }
#bo_v_atc { border-color: var(--border); }
#bo_v_file { border-color: var(--border); }
#bo_v_file li a { color: var(--text-dim); }
#bo_v_file li a:hover { color: var(--accent); }

/* === 글쓰기 폼 === */
#bo_w select { background: var(--bg); border-color: var(--border); color: var(--text); border-radius: 6px; padding: 8px 12px; }
.write_div .frm_input { background: var(--bg); border-color: var(--border); color: var(--text); }

/* === 로그인 페이지 === */
.mbskin { width: 400px; }
.mbskin .mbskin_box {
    border-color: var(--border);
    background: var(--bg-surface);
    border-radius: var(--radius);
    padding: 30px;
}
.mbskin .frm_input {
    background: var(--bg);
    border-color: var(--border);
    color: var(--text);
    height: 44px;
    border-radius: 6px;
}
.mbskin .btn_submit {
    background: var(--accent);
    border: 0;
    height: 48px;
    border-radius: 6px;
    font-size: 1.1em;
}
.mbskin .btn_submit:hover {
    background: #5a7aef;
    box-shadow: 0 4px 16px var(--accent-glow);
}
/* === 회원가입 폼 페이지 === */
.register { max-width: 600px; margin: 0 auto; }
#register_form {
    background: var(--bg-surface) !important;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    margin-bottom: 20px;
}
#register_form h2 {
    border-bottom-color: var(--border) !important;
    color: var(--text);
    padding: 18px 20px;
    font-size: 1.1em;
}
.register_form_inner {
    background: var(--bg-surface) !important;
    border-color: var(--border) !important;
    border-radius: var(--radius);
    margin-bottom: 16px;
}
.register_form_inner ul { padding: 20px; }
.register_form_inner label {
    color: var(--text-dim) !important;
    margin-bottom: 8px;
}
.register_form_inner .frm_input {
    background: var(--bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    border-radius: 8px !important;
    height: 44px;
}
.register_form_inner .frm_input:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-dim) !important;
}
.register_form_inner textarea {
    background: var(--bg) !important;
    border: 1px solid var(--border) !important;
    color: var(--text) !important;
    border-radius: 8px !important;
}
#fregisterform .btn_submit {
    background: var(--accent);
    border: 0;
    color: #fff;
    border-radius: 8px;
    height: 48px;
    font-size: 1.1em;
    font-weight: 700;
}
#fregisterform .btn_submit:hover {
    background: #5a7aef;
    box-shadow: 0 4px 16px var(--accent-glow);
}
#fregisterform .btn_close {
    border-color: var(--border);
    background: var(--bg-surface);
    color: var(--text-dim);
    border-radius: 8px;
    height: 48px;
}
#fregisterform .btn_frmline {
    background: var(--accent);
    border-radius: 8px;
    height: 44px;
}
#fregisterform .cert_desc { color: var(--accent); }
#fregisterform #msg_certify {
    background: var(--accent-dim);
    border-color: rgba(108,140,255,0.15);
    color: var(--accent);
}
.tooltip {
    background: var(--bg-panel) !important;
    color: var(--text) !important;
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 10px !important;
}
.tooltip:before { border-right-color: var(--border) !important; }
.tooltip_icon { color: var(--text-muted); }
.tooltip_icon:hover { color: var(--accent); }
#fregisterform .frm_address { margin: 5px 0 0; }
.register .btn_confirm { text-align: center; margin-top: 20px; }
.register .btn_confirm .btn_submit,
.register .btn_confirm .btn_close {
    height: 48px !important;
    border-radius: 8px;
    font-size: 1em;
}

/* 비밀번호 찾기 페이지 */
#fpassword_lost { max-width: 480px; margin: 40px auto; }

.mb_log_cate h2 {
    color: var(--text);
    border-bottom: 1px solid var(--border);
}
.mb_log_cate .join {
    background: var(--bg-hover);
    color: var(--text-dim);
    border-bottom: 1px solid var(--border);
}
