@charset "utf-8";
/**
 * 스킨 전역 다크/라이트 오버라이드
 * theme/basic/skin, theme/basic/mobile/skin, /skin, /mobile/skin 공통.
 * 배경/글자색만 변수로 덮어씀. 버튼은 배경+글자색 동시 적용.
 */

/* ========== 게시판 스킨 (board/basic, board/gallery, board/webzine, board/shorts) ========== */
/* bo_list 목록 영역 (데스크탑 테이블 / 모바일 리스트 공통) - list 페이지 배경을 페이지 배경과 동일하게 */
#bo_list { background: var(--color-bg-body) !important; color: var(--color-text); }
#bo_list .tbl_wrap,
#bo_list .tbl_head01,
#bo_list table { background: var(--color-bg-body) !important; }
#bo_list table { border-color: var(--color-border); }
#bo_list thead th { background: var(--color-bg-sub) !important; color: var(--color-text); border-color: var(--color-border); }
#bo_list tbody td { border-color: var(--color-border); color: var(--color-text); }
#bo_list tbody tr:hover { border-left-color: var(--color-accent); }
#bo_list tbody .even td { background: var(--color-bg-sub) !important; }
#bo_list li { background: var(--color-bg-body) !important; border-color: var(--color-border); color: var(--color-text); }
#bo_list li.bo_notice { background: var(--color-bg-sub) !important; border-color: var(--color-border); }
#bo_list .li_sbj, #bo_list .bo_tit { color: var(--color-text) !important; }
#bo_list .li_info, #bo_list .bo_info { color: var(--color-text-sub); }
#bo_list .bo_cmt { background: var(--color-bg-sub) !important; color: var(--color-text-sub); }
#bo_list_total { background: var(--color-bg-sub) !important; color: var(--color-text-sub); border-color: var(--color-border); }
#bo_list .txt_active { color: var(--color-accent); }
#bo_list .txt_expired { color: var(--color-text-muted); }
#bo_cate ul { background: var(--color-bg-body) !important; border-color: var(--color-border); }
#bo_cate a { color: var(--color-text-sub); }
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { color: var(--color-accent); }
#bo_cate #bo_cate_on { color: var(--color-accent); }
#bo_list .btn_bo_user li { background: var(--color-bg-body) !important; border-color: var(--color-border); color: var(--color-text-sub); }
/* view_is_list .btn_top, .btn_top (상단 버튼 영역) */
.btn_top,
.view_is_list.btn_top { background: var(--color-bg-body) !important; color: var(--color-text); }
.btn_top a,
.btn_top .btn_submit,
.view_is_list.btn_top a,
.view_is_list.btn_top .btn_submit { color: var(--color-text-sub); }
.btn_top .btn_cancel,
.btn_top .btn_b01,
.view_is_list.btn_top .btn_cancel,
.view_is_list.btn_top .btn_b01 { background: var(--color-bg-body) !important; border-color: var(--color-border-input) !important; color: var(--color-text-sub) !important; }
.btn_top .btn_cancel:hover,
.btn_top .btn_b01:hover,
.view_is_list.btn_top .btn_cancel:hover,
.view_is_list.btn_top .btn_b01:hover { color: var(--color-accent); border-color: var(--color-accent); }
.is_community .btn_top,
.is_community .view_is_list.btn_top { background: var(--color-bg-body) !important; color: var(--color-text); }
/* all_chk chk_box (전체선택 체크박스 영역) */
.all_chk.chk_box { background: var(--color-bg-body) !important; border-bottom-color: var(--color-border) !important; color: var(--color-text); }
.all_chk.chk_box input[type="checkbox"] + label { color: var(--color-text-sub); }
.all_chk.chk_box input[type="checkbox"] + label:hover { color: var(--color-accent); }
.all_chk.chk_box input[type="checkbox"]:checked + label { color: var(--color-text); }
.is_community .all_chk.chk_box { background: var(--color-bg-body) !important; }
.chk_box input[type="checkbox"] + label { color: var(--color-text-sub); }
.chk_box input[type="checkbox"] + label:hover { color: var(--color-accent); }
.chk_box input[type="checkbox"] + label span { background: var(--color-bg-input) !important; border-color: var(--color-border-input); }
.chk_box input[type="checkbox"]:checked + label { color: var(--color-text); }
.chk_box input[type="checkbox"]:checked + label span { border-color: var(--color-accent); }
.btn_bo_user li { background: var(--color-bg-body) !important; }
.btn_bo_adm input { background: var(--color-bg-table-foot) !important; color: var(--color-text) !important; }
.bo_notice td { background: var(--color-bg-sub) !important; border-bottom-color: var(--color-border) !important; }
.bo_notice .notice_icon { color: var(--color-accent); }
.more_opt { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.more_opt:after { border-color: transparent transparent var(--color-bg-body) transparent !important; }
.more_opt li { border-bottom-color: var(--color-border); color: var(--color-text-sub); }
.more_opt li button, .more_opt li a { background: var(--color-bg-body) !important; color: var(--color-text-sub) !important; }
.more_opt li:hover button, .more_opt li:hover a { color: var(--color-text) !important; }
.td_num strong { color: var(--color-text); }
.bo_cate_link { background: var(--color-bg-sub) !important; color: var(--color-text-sub) !important; }
.bo_tit { color: var(--color-text) !important; }
.bo_current { color: var(--color-accent); }
#bo_list .cnt_cmt { background: var(--color-bg-sub) !important; color: var(--color-text-sub) !important; }
#bo_list .bo_tit .fa-caret-right { color: var(--color-text-muted); }
/* bo_sch 게시판 검색 영역 (view 하단 / 목록, 데스크탑·모바일 공통) */
.bo_sch,
#bo_sch { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; color: var(--color-text); }
.bo_sch h3,
#bo_sch h3 { color: var(--color-text); border-bottom-color: var(--color-border); }
.bo_sch .bo_sch_cls,
#bo_sch .bo_sch_cls { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; color: var(--color-text-muted) !important; }
.bo_sch .bo_sch_cls:hover,
#bo_sch .bo_sch_cls:hover { color: var(--color-accent); }
.bo_sch select,
#bo_sch select { background: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text); }
.bo_sch .sch_input,
.bo_sch .sch_bar,
#bo_sch .sch_input,
#bo_sch .sch_bar { background-color: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text); }
.bo_sch .sch_input::placeholder,
#bo_sch .sch_input::placeholder { color: var(--color-text-muted); }
.bo_sch .sch_btn,
#bo_sch .sch_btn { color: var(--color-text-sub); }
.bo_sch form,
#bo_sch form { color: var(--color-text); }
.bo_sch_wrap .bo_sch,
.bo_sch_wrap #bo_sch { background: var(--color-bg-body) !important; }
#autosave_pop { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
#autosave_pop:after { border-color: transparent transparent var(--color-bg-body) transparent !important; }
#autosave_pop ul { border-color: var(--color-border); }
#autosave_pop li { background: var(--color-bg-sub) !important; border-bottom-color: var(--color-border); }
#autosave_pop span { color: var(--color-text-muted); }
.autosave_close { color: var(--color-text-muted); }
.autosave_close:hover { background: var(--color-bg-sub) !important; color: var(--color-accent); }
#bo_v { background: var(--color-bg-body) !important; }
#bo_v_table { background: var(--color-accent) !important; color: #fff !important; }
#bo_v_title .bo_v_cate { background: var(--color-bg-sub) !important; color: var(--color-text-sub) !important; }
#bo_v_info { border-bottom-color: var(--color-border); color: var(--color-text-sub); }
#bo_v_info .sv_member { color: var(--color-text); }
#bo_v_info .if_date { color: var(--color-text-muted); }
#bo_v_file li, #bo_v_link li { border-color: var(--color-border); }
#bo_v_file li i, #bo_v_file .bo_v_file_cnt, #bo_v_link li i, #bo_v_link .bo_v_link_cnt { color: var(--color-text-muted); }
#bo_v_file a, #bo_v_link a { color: var(--color-text-link); }
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_link a:focus, #bo_v_link li:hover a { color: var(--color-text-sub); }
#bo_v_file li:hover, #bo_v_link li:hover { border-color: var(--color-accent); }
#bo_v_file li:hover i, #bo_v_link li:hover i { color: var(--color-text-sub); }
#bo_v_top ul { background: var(--color-bg-body) !important; }
.bo_v_nb li { border-color: var(--color-border); }
.bo_v_nb li:hover { background: var(--color-bg-sub) !important; }
.bo_v_nb li i, .bo_v_nb li .nb_tit, .bo_v_nb li .nb_date { color: var(--color-text-muted); }
#bo_v_con a { color: var(--color-text-link); }
#bo_v_act a { color: var(--color-text-sub); }
#bo_v_act a:hover { background-color: var(--color-bg-body) !important; color: var(--color-accent); border-color: var(--color-accent); }
#bo_v_act_good, #bo_v_act_nogood { background: var(--color-accent) !important; color: #fff !important; }
#bo_v_share .btn { color: var(--color-text-sub); border-color: var(--color-border); }
#bo_v_share .btn:hover { background: var(--color-bg-body) !important; }
#bo_v_share .btn i { color: var(--color-text-sub); }
.cmt_btn { border-bottom-color: var(--color-border); background: var(--color-bg-body) !important; color: var(--color-text); }
.cmt_btn span.total { color: var(--color-text-sub); }
.cmt_btn b { color: var(--color-text); }
.cmt_btn span.total:after { background: var(--color-text-sub); }
/* 댓글 영역 #bo_vc (view 페이지, 데스크탑/모바일 공통) */
#bo_vc { background: var(--color-bg-sub) !important; border-color: var(--color-border); color: var(--color-text); }
#bo_vc h2, #bo_vc h2.bo_vc_tit { color: var(--color-text); }
#bo_vc h2 span { color: var(--color-text-sub); }
#bo_vc article { border-bottom-color: var(--color-border); }
#bo_vc article .comment_inner { background: var(--color-bg-body) !important; border-bottom-color: var(--color-border); color: var(--color-text); }
#bo_vc .sv_member, #bo_vc .sv_guest { color: var(--color-text); }
.bo_vc_hdinfo { color: var(--color-text-muted); }
#bo_vc .cmt_contents { color: var(--color-text); }
#bo_vc .cmt_contents p { color: var(--color-text); }
#bo_vc p a { color: var(--color-text-link); }
#bo_vc p a.s_cmt { color: var(--color-accent); }
#bo_vc_empty { color: var(--color-text-muted); border-bottom-color: var(--color-border); }
#bo_vc a { color: var(--color-text-link); }
#bo_vc footer { border-color: var(--color-border); }
.bo_vc_act { border-color: var(--color-border); background: var(--color-bg-body) !important; }
.bo_vc_act:before { border-color: transparent transparent var(--color-border) transparent !important; }
.bo_vc_act:after { border-color: transparent transparent var(--color-bg-body) transparent !important; }
.bo_vc_act li { border-bottom-color: var(--color-border); }
.bo_vc_act li a { color: var(--color-text-sub); }
.bo_vc_act li a:hover { color: var(--color-accent); }
.bo_vc_w { background: var(--color-bg-sub) !important; border-color: var(--color-border); color: var(--color-text); }
.bo_vc_w textarea { border-color: var(--color-border-input); background: var(--color-bg-input) !important; color: var(--color-text) !important; }
.bo_vc_w .frm_input { background: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text); }
.bo_vc_w_info .frm_input { background: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text); }
#bo_vc_w { border-bottom-color: var(--color-border); }
#bo_vc_sns .sns_li_off { background: var(--color-text-muted); color: #fff; }
#bo_w .wr_content.smarteditor2 iframe { background: var(--color-bg-body) !important; }
#bo_w .bo_w_link label, #bo_w .bo_w_flie .lb_icon { color: var(--color-text-muted); }
#bo_w .bo_w_flie .file_wr { border-color: var(--color-border); background: var(--color-bg-input) !important; color: var(--color-text) !important; }
#bo_w .bo_w_flie .file_del { color: var(--color-text-muted); }

/* ========== 최신글 스킨 (latest/*) ========== */
.latest_wr .lat,
.latest_wr .pic_lt,
.latest_wr .pic_li_lt { background: var(--color-bg-body) !important; }
.lat { background: var(--color-bg-body) !important; }
.pic_lt { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.pic_li_lt { background: var(--color-bg-body) !important; }
.lat .lat_title,
.pic_lt .lat_title,
.pic_li_lt .lat_title { color: var(--color-accent) !important; background: var(--color-bg-body) !important; border-bottom-color: var(--color-border) !important; }
.latest_top_wr .pic_li_lt .lat_title,
.latest_wr .pic_li_lt .lat_title { color: var(--color-accent) !important; background: var(--color-bg-body) !important; border-bottom-color: var(--color-border) !important; }
.lat .lat_title a,
.pic_lt .lat_title a,
.pic_li_lt .lat_title a { color: var(--color-text) !important; }
.latest_top_wr .pic_li_lt .lat_title a,
.latest_wr .pic_li_lt .lat_title a { color: var(--color-text) !important; }
.lat .lat_title a:after,
.pic_lt .lat_title a:after,
.pic_li_lt .lat_title a:after { background: var(--color-accent) !important; }
.latest_top_wr .pic_li_lt .lat_title a:after,
.latest_wr .pic_li_lt .lat_title a:after { background: var(--color-accent) !important; }
.lat ul { border-color: var(--color-border); }
/* .lat ul li 제목 한 줄 표시 (아이콘 있어도 가로 한 줄, 넘치면 말줄임) */
.lat ul li { display: flex; flex-wrap: nowrap; align-items: center; }
.lat ul li > a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lat ul li > i,
.lat ul li > span { flex-shrink: 0; }
.lat li,
.pic_lt li,
.pic_li_lt li { border-color: var(--color-border); color: var(--color-text); }
.pic_li_lt .lt_content .pic_li_tit,
.pic_li_lt li .pic_li_tit { color: var(--color-text) !important; }
.pic_li_lt .lt_content .pic_li_tit:hover,
.pic_li_lt li .pic_li_tit:hover { color: var(--color-text-sub); }
.lat li a:hover,
.pic_lt li a:hover,
.pic_li_lt li a:hover { color: var(--color-text-sub); }
.lat li .fa-caret-right,
.pic_lt li .fa-caret-right { color: var(--color-text-muted); }
.lt_info .lt_date { color: var(--color-text-muted); }
.lat .empty_li,
.pic_lt .empty_li,
.pic_li_lt .empty_li { color: var(--color-text-sub); }
.lat .lt_cmt,
.pic_lt .lt_cmt,
.pic_li_lt .lt_cmt { background: var(--color-bg-sub) !important; color: var(--color-text-sub) !important; }
.lat .lt_more { color: var(--color-text-sub); }
.lat .lt_more:hover { color: var(--color-text-muted); }
/* 모바일/태블릿 최신글 스킨 (.lt, basic_m 등) */
.lt { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.lt .lt_title,
.lt h2 { background: var(--color-bg-body) !important; color: var(--color-text); border-color: var(--color-border) !important; }
.lt .lt_title a { color: var(--color-text); }
.lt ul { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.lt ul li { border-color: var(--color-border) !important; color: var(--color-text); }
.lt ul li:hover a.lt_tit { color: var(--color-text-sub); }
.lt .lt_tit,
.lt .lt_first_tit { color: var(--color-text) !important; }
.lt .lt_txt,
.lt .lt_content_preview,
.lt .lt_first_txt { color: var(--color-text-sub) !important; }
.lt .lt_info,
.lt .lt_date { color: var(--color-text-muted); }
.lt .lt_more { color: var(--color-text-sub); }
.lt .lt_more:hover { color: var(--color-text-muted); }
.lt .lt_cmt { background: var(--color-bg-sub) !important; color: var(--color-text-sub) !important; }
.lt .empty_li { color: var(--color-text-sub); }
.lt .lt_first_content.no_img { background: var(--color-bg-sub) !important; }
.lt .lt_first_content.no_img .lt_first_tit { color: var(--color-text); }
.lt .lt_first_content.no_img .lt_first_txt { color: var(--color-text-sub); }
.lt_item { border-color: var(--color-border) !important; }
.lt_page { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.lt_page button { background: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text-sub); }
.lt_page span { color: var(--color-text-sub); }
.lt_page b { color: var(--color-text); }
/* pic_lt 모바일/태블릿 전용 색상 보강 */
.pic_lt .lat_title a { color: var(--color-text) !important; }
.pic_lt .lt_tit { color: var(--color-text) !important; }
.pic_lt .lt_txt,
.pic_lt .empty_li { color: var(--color-text-sub) !important; }
.pic_lt .lt_more { color: var(--color-text-sub); }
.pic_lt .lt_more:hover { color: var(--color-text-muted); }
/* notice 스킨 */
.notice li { border-color: var(--color-border); background: var(--color-bg-body); color: var(--color-text); }
.notice .cnt_cm { background: var(--color-accent); color: #fff; }

/* ========== #container_title (데스크탑/모바일 공통) ========== */
#container_title { background: var(--color-bg-body) !important; color: var(--color-text) !important; border-bottom-color: var(--color-border) !important; }
#container_title span { color: inherit; }
#container_title a { color: var(--color-text-link); }
#container_title a:hover { color: var(--color-accent); }
#container_title i { color: var(--color-text-muted); }

/* ========== 회원 스킨 (member/basic) ========== */
.mbskin .mbskin_box { background: var(--color-bg-body) !important; }
.mbskin .mbskin_box .join { color: var(--color-text-muted); }
#fregister_chkall { background: var(--color-bg-sub) !important; color: var(--color-text); }
#fregister_chkall label { color: var(--color-text-sub); }
#fregister_term { background: var(--color-bg-body) !important; color: var(--color-text); border-bottom: 1px solid var(--color-border); }
#fregister_term h2 { color: var(--color-text); border-bottom-color: var(--color-border); background: transparent; }
#fregister_term textarea { background: var(--color-bg-input) !important; color: var(--color-text) !important; border-color: var(--color-border-input); }
#fregister section { border-bottom-color: var(--color-border); background: var(--color-bg-body) !important; }
#fregister textarea, #fregister_private div { background: var(--color-bg-body) !important; color: var(--color-text); }
#fregister_private { border-bottom-color: var(--color-border); }
#fregister_private h2 { color: var(--color-text); border-color: var(--color-border); }
#fregister_private table th { background: var(--color-bg-sub) !important; color: var(--color-text); border-color: var(--color-border); }
#fregister_private table td { border-color: var(--color-border); color: var(--color-text-sub); }
.fregister_agree input[type="checkbox"] + label { color: var(--color-text-sub); }
.fregister_agree input[type="checkbox"] + label:hover { color: var(--color-accent); }
.fregister_agree input[type="checkbox"] + label span { background: var(--color-bg-input) !important; border-color: var(--color-border-input); }
.fregister_agree input[type="checkbox"]:checked + label { color: var(--color-text); }
.fregister_agree input[type="checkbox"]:checked + label span { border-color: var(--color-accent); }
#register_form { background: var(--color-bg-body) !important; }
.register_form_inner { background: var(--color-bg-sub) !important; border-color: var(--color-border); }
#fregisterform .cert_desc { color: var(--color-text-sub); }
#fregisterform #msg_certify { border-color: var(--color-border); background: var(--color-bg-sub); }
#reg_result { background: var(--color-bg-sub); border-color: var(--color-border); }
#reg_result #result_email { border-color: var(--color-border); background: var(--color-bg-body); }
.reg_btn_submit { background: var(--color-accent) !important; color: #fff !important; }
.mb_log_cate .join { color: var(--color-text-sub); }
.tooltip_icon { color: var(--color-text-muted); }
.tooltip_icon:hover { color: var(--color-accent); }
.tooltip { color: #fff; background: var(--color-text); }
#find_info .new_win_con { background: var(--color-bg-sub); }
#member_cert_refresh_chkall { background: var(--color-bg-sub); border-color: var(--color-border); }
#member_cert_refresh_private div { background: var(--color-bg-body); }
#member_cert_refresh_private table th { background: var(--color-bg-sub); color: var(--color-text); border-color: var(--color-border); }
.member_cert_refresh_agree input[type="checkbox"] + label { color: var(--color-text-sub); }
.member_cert_refresh_agree input[type="checkbox"] + label:hover { color: var(--color-accent); }
.member_cert_refresh_agree input[type="checkbox"] + label span { background: var(--color-bg-input); border-color: var(--color-border-input); }
.member_cert_refresh_agree input[type="checkbox"]:checked + label { color: var(--color-text); }
.member_cert_refresh_agree input[type="checkbox"]:checked + label span { border-color: var(--color-accent); }
#member_cert_refresh #find_info .find_btn { background: var(--color-bg-body); }
#login_password_lost { border-color: var(--color-border); color: var(--color-text-sub); }
#guest_privacy { border-color: var(--color-border); color: var(--color-text-sub); background: var(--color-bg-sub); }
#mb_login_od_wr p { background: var(--color-bg-sub); }
#mb_login #sns_login { border-color: var(--color-border); }
/* 모바일 로그인 페이지 전체 다크/라이트 */
#mb_login { background: var(--color-bg-body) !important; color: var(--color-text); }
#mb_login h1 { color: var(--color-text); }
#mb_login #login_frm { background: var(--color-bg-body); }
#mb_login .frm_input { background: var(--color-bg-input) !important; border-color: var(--color-border-input); color: var(--color-text) !important; }
#mb_login .frm_input::placeholder { color: var(--color-text-muted); }
#mb_login #login_info label { color: var(--color-text-sub); }
#mb_login .btn_submit { background: var(--color-accent) !important; color: #fff !important; border-color: var(--color-accent); }
#mb_login .mb_login_join { background: var(--color-bg-body) !important; color: var(--color-text); border-color: var(--color-border); }
#mb_login .mb_login_join h2 { color: var(--color-text); }
#mb_login .mb_login_join div { color: var(--color-text-sub); }
#mb_login .mb_login_join a { color: var(--color-text-sub) !important; }
#mb_login .mb_login_join a:hover { color: var(--color-accent) !important; }
#mb_login_notmb { background: var(--color-bg-body) !important; border-color: var(--color-border); color: var(--color-text); }
#mb_login_notmb h2 { background: var(--color-bg-sub) !important; color: var(--color-text); }
#mb_login_notmb p { color: var(--color-text-sub); }
.login_logo { color: var(--color-text); }
.login_logo .logo_text { color: var(--color-text) !important; }
/* ========== 소셜 로그인 스킨 (social) - 다크/라이트 ========== */
#sns_login,
#sns_register,
.login-sns {
    background: var(--color-bg-body) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text);
}
#sns_login h3,
#sns_register h2,
.login-sns h3 {
    color: var(--color-text-sub) !important;
}
.social_info_guide {
    background: var(--color-bg-sub) !important;
    border-color: var(--color-border) !important;
    color: var(--color-text-sub);
}
.bg-warning1 { background: var(--color-bg-sub) !important; border-color: var(--color-border) !important; }
.bg-warning2 { background: var(--color-bg-sub) !important; border-color: var(--color-border) !important; }
.bg-warning3 { background: var(--color-bg-sub) !important; border-color: var(--color-border) !important; }
#fregisterform .form_01 .reg-form .sns-wrap { color: var(--color-text-sub); }
.reg-form .sns-icon-not { border-color: var(--color-border-input); color: var(--color-text-muted); }
.sns-wrap-reg .sns-icon { border-color: var(--color-border-input); background: var(--color-bg-input) !important; }
.sns-wrap-reg .sns-icon .txt { color: var(--color-text-sub); }
#sns_login .sns-icon .txt { color: inherit; }
#sns_login .sns-google { background-color: var(--color-bg-sub) !important; border-color: var(--color-border) !important; }
#sns_login .sns-google .txt { color: var(--color-text-sub); }
.social-login-loading p { color: var(--color-text-sub); }
/* ========== point / memo / scrap 페이지 (테마·모바일 공통) ========== */
/* 포인트 */
#point { background: var(--color-bg-body); color: var(--color-text); }
#point h1 { color: var(--color-text); }
#point .point_all { background: var(--color-bg-sub) !important; border-color: var(--color-border) !important; color: var(--color-text-sub); }
#point .point_all li { border-left-color: var(--color-border); color: var(--color-text-sub); }
#point .point_all li span { color: var(--color-text); }
#point .point_all .full_li { border-bottom-color: var(--color-border); }
#point .point_all .full_li span { color: var(--color-text); }
#point .point_status { background: var(--color-text-sub) !important; color: #fff !important; }
#point .point_status span { color: #fff; }
.point_list li:first-child { border-top-color: var(--color-border); }
.point_list li { border-bottom-color: var(--color-border); background: var(--color-bg-body) !important; color: var(--color-text); }
.point_list .point_tit { color: var(--color-text); }
.point_list .point_use { background: var(--color-bg-sub) !important; }
.point_list .point_use .point_num { color: var(--color-accent); }
.point_list .point_num { color: var(--color-text-sub); }
.point_list .point_date1, .point_list .point_date { color: var(--color-text-muted); }
.point_list .txt_expired { color: var(--color-accent); }
#point .pg_wrap { color: var(--color-text-sub); }
#point .btn_close { border-color: var(--color-border); color: var(--color-text-sub); background: var(--color-bg-sub); }
/* 쪽지 */
#memo_list { background: var(--color-bg-body); color: var(--color-text); }
#memo_list h1#win_title { color: var(--color-text); }
.memo_list { border-top-color: var(--color-border); }
.memo_list li { border-bottom-color: var(--color-border); background: var(--color-bg-body) !important; color: var(--color-text); }
.memo_list li.read { background: var(--color-bg-sub) !important; }
.memo_list li.empty_li { color: var(--color-text-sub); }
.memo_list .memo_preview a { color: var(--color-text); }
.memo_list .memo_preview a:hover { color: var(--color-accent); }
.memo_list .memo_name a, .memo_list .memo_name .sv_wrap { color: var(--color-text); }
.memo_list .no_read { background: var(--color-accent); border-color: var(--color-accent); }
#memo_list .memo_datetime { color: var(--color-text-muted); }
#memo_list .memo_del { color: var(--color-text-muted); }
#memo_list .memo_cnt { color: var(--color-text-sub); }
#memo_view_contents { border-top-color: var(--color-border); border-bottom-color: var(--color-border); }
#memo_view_ul { background: var(--color-bg-sub) !important; border-color: var(--color-border); }
.memo_from { background: var(--color-bg-body) !important; border-bottom-color: var(--color-border); color: var(--color-text); }
.memo_from li.memo_view_nick a { color: var(--color-text); }
.memo_from li.memo_view_date { color: var(--color-text-sub); }
.memo_btn a { color: var(--color-text-muted); }
.memo_btn a i { color: var(--color-text-muted); }
#memo_view p { background: var(--color-bg-body) !important; color: var(--color-text); }
#memo_view textarea { background: var(--color-bg-input); border-color: var(--color-border-input); color: var(--color-text); }
#memo_write .form_01 { border-top-color: var(--color-border); background: var(--color-bg-body); color: var(--color-text); }
.reply_btn { background: var(--color-accent) !important; color: #fff !important; }
/* 스크랩 */
#scrap { background: var(--color-bg-body); color: var(--color-text); }
#scrap li { background: var(--color-bg-body) !important; border-bottom-color: var(--color-border); color: var(--color-text); }
#scrap .scrap_tit { color: var(--color-text); }
#scrap .scrap_cate { background: var(--color-bg-sub) !important; color: var(--color-accent); border-color: var(--color-border); }
#scrap .scrap_datetime { color: var(--color-text-muted); }
#scrap .scrap_del { color: var(--color-text-muted); }
#scrap .scrap_del:hover { color: var(--color-accent); }
#scrap .win_btn a, #scrap .win_btn .btn_submit { color: var(--color-text-sub); }
#scrap_do { background: var(--color-bg-body); color: var(--color-text); }
#scrap_do .new_win_con { background: var(--color-bg-body); color: var(--color-text); }
#scrap_do .scrap_tit { background: var(--color-bg-sub) !important; color: var(--color-text); border-color: var(--color-border); }
#scrap_do textarea { background: var(--color-bg-input); border-color: var(--color-border-input); color: var(--color-text); }
#scrap_do label { color: var(--color-text-sub); }
#scrap_do .win_desc { color: var(--color-text-sub); }
#scrap_do .win_btn .btn_submit { background: var(--color-accent) !important; color: #fff !important; }
#mb_confirm p, #pw_confirm p { border-bottom-color: var(--color-border); color: var(--color-text-sub); }
#mb_confirm p strong, #pw_confirm p strong { color: var(--color-accent); }
#mb_confirm .confirm_id, #pw_confirm .confirm_id { color: var(--color-text-sub); }
#formmail .formmail_flie .file_wr { border-color: var(--color-border); background: var(--color-bg-input); color: var(--color-text); }
#formmail .lb_icon { background: var(--color-bg-body); color: var(--color-text-muted); }
#formmail .frm_info { color: var(--color-accent); }
.chk_box input[type="radio"] + label { color: var(--color-text-sub); }
.chk_box input[type="radio"] + label span { background: var(--color-bg-sub); border-color: var(--color-border-input); }
.chk_box input[type="radio"]:checked + label { color: var(--color-text-sub); }
.chk_box input[type="radio"]:checked + label span { border-color: var(--color-text-sub); }
.chk_box input[type="radio"]:checked + label span:before { background: var(--color-text-sub); }
#profile section { color: var(--color-accent); background: var(--color-bg-body); border-color: var(--color-border); }

/* ========== 검색 스킨 (search/basic) ========== */
#sch_res_detail { background: var(--color-bg-sub) !important; }
#sch_res_detail select, #sch_res_detail .frm_input { border-color: var(--color-border-input); }
#sch_res_detail .btn_submit { background: var(--color-accent) !important; color: #fff !important; }
.switch_field label { background-color: var(--color-bg-body) !important; color: var(--color-text) !important; border-color: var(--color-border-input); }
.switch_field input:checked + label { background-color: var(--color-accent) !important; border-color: var(--color-accent-hover); color: #fff !important; }
#sch_res_ov { background: var(--color-bg-sub) !important; border-color: var(--color-border); }
#sch_res_ov h2 { color: var(--color-text-sub); }
#sch_res_ov h2 strong { color: var(--color-accent); }
#sch_res_ov ul { color: var(--color-text-sub); }
#sch_res_ov li { border-right-color: var(--color-border); }
#sch_res_board a { border-color: var(--color-border); color: var(--color-accent); }
#sch_res_board a:focus, #sch_res_board a:hover { background: var(--color-accent) !important; color: #fff !important; }
#sch_res_board .sch_on { background: var(--color-accent) !important; color: #fff !important; border-color: var(--color-accent); }
.sch_res_list ul { border-top-color: var(--color-border); }
.sch_res_list li { border-bottom-color: var(--color-border); background: var(--color-bg-body) !important; }
.sch_res_list .pop_a { background: var(--color-bg-sub); color: var(--color-text-sub); }
.sch_res_list p, .sch_res_list .sch_info { color: var(--color-text-sub); }

/* ========== 인기검색어 레이어 aside/section #popular (검색 버튼 클릭 시) ========== */
#popular { background: var(--color-bg-body) !important; color: var(--color-text); }
#popular h2 { color: var(--color-text-sub) !important; }
/* 모바일: 리스트 형태 div > a */
#popular div { background: var(--color-bg-body) !important; border-bottom-color: var(--color-border) !important; }
#popular a { color: var(--color-text) !important; border-bottom-color: var(--color-border) !important; }
#popular a:hover { color: var(--color-accent) !important; }
#popular a:last-of-type { border-bottom: 0; }
/* 데스크탑: .popular_inner ul li a, 캐러셀 버튼 */
#popular .popular_inner { color: var(--color-text); }
#popular li a { color: var(--color-text-sub) !important; }
#popular li a:hover { color: var(--color-accent) !important; }
.popular_btns .pp-next,
.popular_btns .pp-prev { border-color: var(--color-border-input) !important; color: var(--color-text-muted) !important; }
.popular_btns .pp-next:hover,
.popular_btns .pp-prev:hover { color: var(--color-accent) !important; }

/* ========== FAQ 스킨 (faq/basic) ========== */
#faq_wrap li { border-color: var(--color-border); background: var(--color-bg-body) !important; }
#faq_wrap li h3 .tit_btn { background: var(--color-bg-body) !important; color: var(--color-text-muted); }
#faq_wrap li h3 .tit_bg { color: var(--color-text); }
#faq_wrap li h3.faq_li_open a { color: var(--color-text-sub); }
#faq_con .con_inner .tit_bg { background: var(--color-text-sub) !important; color: #fff !important; }
#faq_con .con_inner .closer_btn { background: var(--color-bg-body) !important; color: var(--color-text-sub); }
#faq_sch { background: var(--color-bg-sub) !important; }
#faq_sch .frm_input { border-color: var(--color-border-input); }
#faq_sch .btn_submit { background: var(--color-accent) !important; color: #fff !important; }

/* ========== 콘텐츠 스킨 (content/basic) ========== */
#ctt { background: var(--color-bg-body) !important; color: var(--color-text); }

/* ========== 아웃로그인 스킨 (outlogin/basic 등) ========== */
.ol { border-color: var(--color-border); }
.ol .join { background: var(--color-bg-sub) !important; color: var(--color-text-sub); }
#ol_id, #ol_pw { border-color: var(--color-border-input); background: var(--color-bg-input) !important; color: var(--color-text) !important; }
#ol_submit { background: var(--color-accent) !important; color: #fff !important; }
#ol_svc a { border-color: var(--color-border); color: var(--color-text-sub); }
#ol_auto label { color: var(--color-text-sub); }
#ol_after_info { border-color: var(--color-border); color: var(--color-text-sub); }
/* ol_before (데스크탑: 사이드/헤더 아웃로그인, 모바일: 메뉴 레이어 상단) - 색상만 오버라이드, 패딩은 각 스킨 유지 */
#ol_before { background: var(--color-bg-body) !important; color: var(--color-text); }
#ol_before input[type=text],
#ol_before input[type=password] { border-color: var(--color-border-input) !important; background: var(--color-bg-input) !important; color: var(--color-text) !important; }
#ol_before input::placeholder { color: var(--color-text-muted); }
#ol_before .btn_b01,
#ol_before .btn_b02 { color: var(--color-text-link) !important; background: none !important; }
#ol_before .ol_before_link a { color: var(--color-text-sub) !important; }
#ol_before .ol_before_link .login { background: var(--color-accent) !important; color: #fff !important; border-color: var(--color-accent); }
#ol_before .ol_before_link .join { border-color: var(--color-border) !important; color: var(--color-text-sub) !important; }
.ol_before_btn { color: var(--color-text-muted); }
.ol_before_btn a { color: var(--color-text-link) !important; }
#ol_password_lost { border-left-color: var(--color-border); color: var(--color-text-sub); }
#ol_after_hd .profile_img a { color: var(--color-text-muted); }
/* ol_after_private 영역 전체 다크/라이트 */
#ol_after_private { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
#ol_after_private li { border-color: var(--color-border) !important; }
#ol_after_private a { color: var(--color-text-sub) !important; }
#ol_after_private a strong { color: var(--color-text-sub); }
#ol_after_private a:hover strong { background: var(--color-accent); color: #fff; }
#ol_after_private li a:hover { color: var(--color-accent); background: var(--color-bg-sub); }
#ol_after_private li a:hover:after { background: var(--color-accent); }
#ol_after_private li i { color: var(--color-text-muted); }
#ol_after_private li:hover i { color: var(--color-text-sub); }

/* ========== 기타 스킨 (연결/인기/설문/방문 등) ========== */
.connect_wr .cn_box, .popular_wr, .poll_wr, .visit_wr .visit_box { background: var(--color-bg-body); border-color: var(--color-border); color: var(--color-text); }
.visit_wr .visit_box { color: var(--color-text-sub); }
/* 접속통계 #visit (데스크탑/모바일 공통) */
#visit { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; color: var(--color-text); }
#visit h2 { color: var(--color-text); border-bottom-color: var(--color-border) !important; }
#visit dl { background: var(--color-bg-body) !important; color: var(--color-text); }
#visit dt { color: var(--color-text-sub); }
#visit dt:after,
#visit dt span { background: var(--color-text-sub) !important; }
#visit dd { color: var(--color-text-sub) !important; }
#visit dd strong { background: var(--color-bg-sub); color: var(--color-text); border-color: var(--color-border); }
#visit a { color: var(--color-text-link); }
#visit a:hover { color: var(--color-accent); }
#visit .btn_admin { color: var(--color-text-muted); border-color: var(--color-border); background: var(--color-bg-sub); }
#visit .btn_admin:hover { color: var(--color-accent); }
.poll_wr .poll_list li { background: var(--color-bg-body); border-color: var(--color-border); color: var(--color-text); }
.new_wr .new_list li { background: var(--color-bg-body); border-color: var(--color-border); color: var(--color-text); }

/* ========== support-form, public/ contact·support, public/pages services ========== */
/* public/support 지원 신청 (support-request-container, support-form) */
.support-request-container { background: var(--color-bg-body) !important; }
.support-request-container h1 { color: var(--color-text); }
.support-form { background: var(--color-bg-sub) !important; border-color: var(--color-border) !important; }
.form-group label { color: var(--color-text-sub) !important; }
.form-group input { background: var(--color-bg-input) !important; border-color: var(--color-border-input) !important; color: var(--color-text); }
.form-group input:focus { border-color: var(--color-accent); }
.form-group input[readonly] { background: var(--color-bg-sub) !important; color: var(--color-text-sub); }
.message-success { background: var(--color-bg-sub) !important; color: var(--color-text); border: 1px solid var(--color-border); }
.message-error { background: var(--color-bg-sub) !important; color: var(--color-text); border: 1px solid var(--color-border); }
.submit-btn { background: var(--color-accent) !important; color: #fff !important; }
.submit-btn:hover { background: var(--color-accent-hover) !important; color: #fff; }
.back-link a { color: var(--color-accent); }
.back-link a:hover { color: var(--color-accent-hover); }
/* theme/basic/css/contact.css · public/contact, public/subscribe */
.contact-container { color: var(--color-text); }
.contact-messages { background: var(--color-bg-body); color: var(--color-text); }
.messageAi, .messageHuman { color: var(--color-text-sub); }
.contact-form { background: var(--color-bg-body) !important; border-color: var(--color-border); box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.contact-form-group label { color: var(--color-text-sub); }
.contact-form-group input,
.contact-form-group textarea { background: var(--color-bg-input) !important; border-color: var(--color-border-input) !important; color: var(--color-text); }
.contact-form-group input:focus,
.contact-form-group textarea:focus { border-color: var(--color-accent); }
.contact-submit-btn { background: var(--color-accent) !important; color: #fff !important; }
.contact-submit-btn:hover { background: var(--color-accent-hover) !important; }
.marketing-banner { background: var(--color-banner-bg) !important; border: 1px solid var(--color-border); color: var(--color-banner-text); }
.marketing-banner .banner-content h3,
.marketing-banner .banner-content p { color: inherit; }
/* 데스크탑: 우측 컬럼 상단 여백 제거해 좌측 latest와 높이 맞춤 */
.latest_wr .latest_right_col > .marketing-banner { margin-top: 0; }
.mail-form-group input, .mail-form-group textarea, .mail-form-group select { background: var(--color-bg-input); border-color: var(--color-border-input); color: var(--color-text); }
.mail-submit-btn { background: var(--color-accent) !important; color: #fff !important; }
.mail-result { background: var(--color-bg-sub); color: var(--color-text); }
.help-text { color: var(--color-text-muted); }
/* public/pages/services.css */
.services-container { color: var(--color-text); }
.service-item { color: var(--color-text) !important; }
.service-item:hover { color: var(--color-accent); }
.service-icon { background: var(--color-bg-sub) !important; }
.service-item:hover .service-icon { background: var(--color-accent) !important; }
.service-name { color: var(--color-text-sub) !important; }
.menu-toggle:hover { background: var(--color-bg-sub); }
.menu-toggle .dot { background: var(--color-text-muted); }
.menu-toggle:hover .dot { background: var(--color-accent); }
.toggle-text { color: var(--color-text-muted); }
.menu-toggle:hover .toggle-text { color: var(--color-accent); }
.all-services { border-top-color: var(--color-border); }
.all-services-title { color: var(--color-text); border-bottom-color: var(--color-accent); }
.all-service-item { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; color: var(--color-text); }
.all-service-item:hover { background: var(--color-bg-sub); }
.all-service-icon { background: var(--color-bg-sub) !important; }
.all-service-item:hover .all-service-icon { background: var(--color-accent) !important; }
.all-service-name { color: var(--color-text) !important; }

/* public/pages calendar_today (오늘 날짜/간지) */
.date_print,
.date_print .solar,
.date_print .zodiac,
.date_print .lunar { color: var(--color-text); }
#todayHanZodiac { color: var(--color-gold) !important; }
.date_result { background: var(--color-bg-sub) !important; }
.date_result p,
.date_result h2 { color: var(--color-text); }
.date_result .fa-external-link { color: var(--color-text-muted); }
.date_result strong { color: var(--color-gold, var(--color-accent)); }

/* public/pages puzzle_ranking (주간 퍼즐 순위) */
.puzzle-ranking { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.puzzle-ranking h3 { color: var(--color-text) !important; border-bottom-color: var(--color-accent) !important; }
.puzzle-ranking .date-info { color: var(--color-text-muted); }
.puzzle-ranking table { color: var(--color-text-sub); }
.puzzle-ranking th { background: var(--color-accent) !important; color: #fff !important; }
.puzzle-ranking td { border-bottom-color: var(--color-border); }
.puzzle-ranking tr:nth-child(even) { background: var(--color-bg-table-tr-hover); }
.puzzle-ranking .no-data { color: var(--color-text-muted); }
.puzzle-ranking .rank-1 { color: var(--color-gold, #cfac0e); }
.puzzle-ranking .rank-2 { color: var(--color-text-muted); }
.puzzle-ranking .rank-3 { color: var(--color-gold-soft, #cc9660); }
.puzzle-ranking-mobile { background: var(--color-bg-body) !important; }
.puzzle-ranking-mobile h3 { color: var(--color-text) !important; border-bottom-color: var(--color-accent) !important; }
.puzzle-ranking-mobile .date-info { color: var(--color-text-muted); }
.puzzle-ranking-mobile .ranking-item { border-bottom-color: var(--color-border); }
.puzzle-ranking-mobile .user-id,
.puzzle-ranking-mobile .completion { color: var(--color-text-muted); }
.puzzle-ranking-mobile .user-nick { color: var(--color-text); }
.puzzle-ranking-mobile .point { color: var(--color-accent); }
.puzzle-ranking-mobile .no-data { color: var(--color-text-muted); }
.puzzle-ranking-mobile .rank-1 { color: var(--color-gold, #cfac0e); }
.puzzle-ranking-mobile .rank-2 { color: var(--color-text-muted); }
.puzzle-ranking-mobile .rank-3 { color: var(--color-gold-soft, #cc9660); }

/* ========== plus/ body (칼로리 계산기) ========== */
.container { color: var(--color-text); }
.calculator-wrapper { background: var(--color-bg-body) !important; }
.calculator-wrapper h1 { color: var(--color-text) !important; }
.welcome-message { background: var(--color-bg-sub) !important; border-left-color: var(--color-accent) !important; }
.welcome-message p { color: var(--color-text-sub) !important; }
.calculation-info { color: var(--color-text); }
.calculation-info details { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.calculation-info summary { color: var(--color-accent) !important; }
.calculation-info summary:hover { color: var(--color-accent-hover); }
.formula-details { border-top-color: var(--color-border); }
.formula-details h4 { color: var(--color-text) !important; }
.formula-details li { color: var(--color-text-sub) !important; }
.formula-details li::before { color: var(--color-accent); }
/* plus/body 폼 */
.calorie-form .form-group label { color: var(--color-text-sub) !important; }
.calorie-form .form-group input,
.calorie-form .form-group select { background: var(--color-bg-input) !important; border-color: var(--color-border-input) !important; color: var(--color-text); }
.calorie-form .form-group input:focus,
.calorie-form .form-group select:focus { border-color: var(--color-accent); }
.radio-label { color: var(--color-text-sub); }
.radio-custom { border-color: var(--color-border-input); }
.radio-label input:checked + .radio-custom { border-color: var(--color-accent); background: var(--color-accent); }
.calculate-btn { background: var(--color-accent) !important; color: #fff !important; }
.calculate-btn:hover { background: var(--color-accent-hover) !important; color: #fff; }
/* plus/body 결과 영역 */
.results h2,
.results .result-item h3 { color: var(--color-text) !important; }
.result-value,
.result-description { color: var(--color-text-sub); }
.result-item { background: var(--color-bg-sub); border-color: var(--color-border); }
