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

/* ========== 게시판 스킨 (board/basic, board/gallery, board/webzine, board/shorts) ========== */
#bo_list tbody .even td { background: var(--color-bg-sub) !important; }
#bo_list .txt_active { color: var(--color-accent); }
#bo_list .txt_expired { color: var(--color-text-muted); }
#bo_list_total { 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); }
.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, .bo_sch .bo_sch_cls { background: var(--color-bg-body) !important; border-color: var(--color-border) !important; }
.bo_sch h3 { border-bottom-color: var(--color-border); }
.bo_sch .sch_input, .bo_sch .sch_bar { background-color: var(--color-bg-input) !important; border-color: var(--color-border-input); }
.bo_sch .sch_btn { color: var(--color-text-sub); }
#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 article { border-bottom-color: var(--color-border); }
.bo_vc_hdinfo { color: var(--color-text-muted); }
#bo_vc_empty { color: var(--color-text-muted); }
.bo_vc_act { border-color: var(--color-border); background: var(--color-bg-body) !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:hover { color: var(--color-text-sub); }
.bo_vc_w textarea { border-color: var(--color-border-input); background: var(--color-bg-input) !important; color: var(--color-text) !important; }
#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-sub) !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; }
.lat .lat_title a:after,
.pic_lt .lat_title a:after,
.pic_li_lt .lat_title a:after { background: var(--color-accent) !important; }
.lat ul { border-color: var(--color-border); }
.lat li,
.pic_lt li,
.pic_li_lt li { border-color: var(--color-border); color: var(--color-text); }
.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; }

/* ========== 회원 스킨 (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; }
#fregister textarea, #fregister_private div { background: var(--color-bg-body) !important; }
#fregister_private table th { background: var(--color-bg-sub) !important; color: var(--color-text); border-color: var(--color-border); }
.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); }
.memo_list li { border-bottom-color: var(--color-border); background: var(--color-bg-body); }
.memo_list li.read { background: var(--color-bg-sub); }
.memo_list li.empty_li { color: var(--color-text-sub); }
.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_view_ul { background: var(--color-bg-sub); }
.memo_from { background: var(--color-bg-body); border-bottom-color: var(--color-border); }
.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); }
.reply_btn { background: var(--color-accent) !important; color: #fff !important; }
#scrap .scrap_cate { background: var(--color-bg-sub); color: var(--color-accent); }
#scrap .scrap_datetime { color: var(--color-text-muted); }
#scrap .scrap_del { color: var(--color-text-muted); }
#scrap .scrap_del:hover { color: var(--color-text-sub); }
#scrap_do .scrap_tit { background: var(--color-bg-sub); }
#point .point_all { background: var(--color-bg-sub); border-color: var(--color-border); color: var(--color-text-sub); }
#point .point_status { background: var(--color-text-sub) !important; color: #fff !important; }
.point_list li { border-bottom-color: var(--color-border); background: var(--color-bg-body); }
.point_list .point_use { background: var(--color-bg-sub); }
.point_list .point_num { color: var(--color-text-sub); }
.point_list .point_date1, .point_list .point_date { color: var(--color-text-muted); }
#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); }

/* ========== 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); }
#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_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); }
.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-accent) !important; color: #fff; }
.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); }
