@charset "utf-8";
/* =========================================================
   BOARD LIST
========================================================= */
#bo_list { position: relative; margin-bottom: 20px}
#bo_list:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_list .td_board { width: 120px; text-align: center}
#bo_list .td_chk { width: 30px; text-align: center; border-top: 1px solid #ecf0f1; border-bottom: 1px solid #ecf0f1}
#bo_list .td_date { width: 60px; text-align: center}
#bo_list .td_datetime { width: 60px; text-align: center}
#bo_list .td_group { width: 100px; text-align: center}
#bo_list .td_mb_id { width: 100px; text-align: center}
#bo_list .td_mng { width: 80px; text-align: center}
#bo_list .td_name { width: 90px; text-align: left; padding: 10px 0}
#bo_list .td_nick { width: 100px; text-align: center}
#bo_list .td_num { width: 50px; text-align: center}
#bo_list .td_num2 { width: 50px; text-align: center}
#bo_list .td_numbig { width: 80px; text-align: center}
#bo_list .txt_active { color: #5d910b}
#bo_list .txt_expired { color: #ccc}
#bo_list tbody tr { border-left: 2px solid transparent}
#bo_list tbody tr:hover { border-left: 2px solid #3f4296}
#bo_list tbody .even td { background: #fbfbfb}
.td_subject img { margin-left: 5px}
#bo_cate { margin: 25px 0}
#bo_cate h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_cate ul { zoom: 1}
#bo_cate ul:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_cate li { display: inline-block; padding: 2px}
#bo_cate a { display: block; line-height: 28px; padding: 5px 15px; border-radius: 30px; border: 1px solid #d6e9ff; color: #6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active { text-decoration: none; background: #3f4296; color: #fff}
#bo_cate #bo_cate_on { z-index: 2; background: #3f4296; color: #fff; font-weight: bold; border: 1px solid #3f4296; -webkit-box-shadow: inset 0 2px 5px rgb(126, 191, 68); -moz-box-shadow: inset 0 2px 5px rgb(126, 191, 68); box-shadow: inset 0 2px 5px rgb(126, 191, 68)}
/* =========================================================
   COMMON (CHECKBOX / BUTTONS)
========================================================= */
.selec_chk { position: absolute; top: 0; left: 0; width: 0; height: 0; opacity: 0; outline: 0; z-index: -1; overflow: hidden}
.chk_box { position: relative}
.chk_box input[type="checkbox"] + label { position: relative; color: #676e70}
.chk_box input[type="checkbox"] + label:hover { color: #3f4296}
.chk_box input[type="checkbox"] + label span { float: left; width: 15px; height: 15px; display: block; background: #fff; border: 1px solid #d0d4df; border-radius: 3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label { padding-left: 20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span { position: absolute; top: 2px; left: 0; width: 15px; height: 15px; display: block; margin: 0; background: #fff; border: 1px solid #d0d4df; border-radius: 3px}
.chk_box input[type="checkbox"]:checked + label { color: #000}
.chk_box input[type="checkbox"]:checked + label span { background: url(./img/chk.png) no-repeat 50% 50% #3f4296; border-color: #1471f6; border-radius: 3px}
#bo_btn_top { margin: 10px 0}
#bo_btn_top:after { display: block; visibility: hidden; clear: both; content: ""}
.bo_fx { margin-bottom: 5px; float: right; zoom: 1}
.bo_fx:after { display: block; visibility: hidden; clear: both; content: ""}
.bo_fx ul { margin: 0; padding: 0; list-style: none}
#bo_list_total { float: left; line-height: 34px; font-size: 0.92em; color: #4e546f}
.btn_bo_user { float: right; margin: 0; padding: 0; list-style: none}
.btn_bo_user li { float: left; width: 40px; text-align: center; margin-left: 5px; background: #fff}
.btn_bo_user > li { position: relative}
.btn_bo_adm { float: left}
.btn_bo_adm li { float: left; margin-right: 5px}
.btn_bo_adm input { padding: 0 8px; border: 0; background: #d4d4d4; color: #666; text-decoration: none; vertical-align: middle}
.bo_notice td { background: #fff6fa !important; border-bottom: 1px solid #f8e6ee}
.bo_notice td a { font-weight: bold}
.bo_notice .notice_icon { display: inline-block; line-height: 25px; border-radius: 5px; font-weight: bold; color: #f9267f}
.more_opt { display: none; position: absolute; top: 45px; right: 0; background: #fff; border: 1px solid #b8bfc4; z-index: 999}
.more_opt:before { content: ""; position: absolute; top: -8px; right: 13px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #b8bfc4 transparent}
.more_opt:after { content: ""; position: absolute; top: -6px; right: 13px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #fff transparent}
.more_opt li { border-bottom: 1px solid #f1f1f1; padding: 10px; float: inherit; width: 90px; margin: 0; color: #6b757c; text-align: left}
.more_opt li:last-child { border-bottom: 0}
.more_opt li button, .more_opt li a { width: 100%; border: 0; background: #fff; color: #6b757c}
.more_opt li:hover a, .more_opt li:hover button { color: #000}
.more_opt li i { float: right; line-height: 20px}
.td_num strong { color: #000}
.bo_cate_link { float: left; display: inline-block; margin-right: 10px; background: #e2eaf6; color: #3f4296; font-weight: normal !important; height: 20px; line-height: 10px; padding: 5px 8px; border-radius: 5px; font-size: 0.95em}
.bo_cate_link:hover { text-decoration: none}
.bo_tit { display: block; color: #000; font-weight: bold}
.bo_current { color: #e8180c}
#bo_list .profile_img img { border-radius: 50%}
#bo_list .cnt_cmt { background: #e9eff5; color: #3f4296; font-size: 11px; height: 16px; line-height: 16px; padding: 0 5px; border-radius: 3px; vertical-align: middle}
#bo_list .bo_tit .title_icon { margin-right: 2px}
#bo_list .bo_tit .fa-heart { color: #ff0000}
#bo_list .bo_tit .fa-lock { display: inline-block; line-height: 14px; width: 16px; font-size: 0.833em; color: #4f818c; background: #cbe3e8; text-align: center; border-radius: 2px; font-size: 12px; border: 1px solid #cbe3e8; vertical-align: middle}
#bo_list .bo_tit .new_icon { display: inline-block; width: 16px; line-height: 16px; font-size: 0.833em; color: #23db79; background: #b9ffda; text-align: center; border-radius: 2px; margin-left: 2px; font-weight: bold; vertical-align: middle}
#bo_list .bo_tit .hot_icon { display: inline-block; width: 16px; line-height: 16px; font-size: 0.833em; color: #ff0000; background: #ffb9b9; text-align: center; border-radius: 2px; vertical-align: middle}
#bo_list .bo_tit .fa-caret-right { color: #bbb}
#bo_list .bo_tit .fa-download { display: inline-block; width: 16px; line-height: 16px; font-size: 0.833em; color: #daae37; background: #ffefb9; text-align: center; border-radius: 2px; margin-left: 5px; vertical-align: middle}
#bo_list .bo_tit .fa-link { display: inline-block; width: 16px; line-height: 16px; font-size: 0.833em; color: #b451fd; background: #edd3fd; text-align: center; border-radius: 2px; margin-left: 5px; vertical-align: middle}
/* =========================================================
   SEARCH POPUP
========================================================= */
.bo_sch_wrap { display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 999}
.bo_sch { position: absolute; top: 50%; left: 50%; background: #fff; text-align: left; width: 330px; max-height: 300px; margin-left: -125px; margin-top: -180px; overflow-y: auto; border-radius: 3px; border: 1px solid #dde7e9; -webkit-box-shadow: 1px 1px 18px rgba(0,0,0,0.2); -moz-box-shadow: 1px 1px 18px rgba(0,0,0,0.2); box-shadow: 1px 1px 18px rgba(0,0,0,0.2)}
.bo_sch:after { display: block; visibility: hidden; clear: both; content: ""}
.bo_sch h3 { padding: 15px; border-bottom: 1px solid #e8e8e8}
.bo_sch form { padding: 15px; display: block}
.bo_sch select { border: 0; width: 100%; height: 40px; border: 1px solid #d0d3db; border-radius: 2px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar { display: inline-block; width: 100%; clear: both; margin-top: 15px; border: 1px solid #d0d3db; border-radius: 2px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input { width: 250px; height: 38px; border: 0; padding: 0; background-color: transparent; float: left}
.bo_sch .sch_btn { height: 38px; float: right; color: #656565; background: none; border: 0; width: 40px; font-size: 15px}
.bo_sch .bo_sch_cls { position: absolute; right: 0; top: 0; color: #b5b8bb; border: 0; padding: 12px 15px; font-size: 16px; background: #fff}
.bo_sch_bg { background: rgba(0,0,0,0.1); width: 100%; height: 100%}
/* =========================================================
   AUTOSAVE
========================================================= */
#char_count_desc { display: block; margin: 0 0 5px; padding: 0}
#char_count_wrap { margin: 5px 0 0; text-align: right}
#char_count { font-weight: bold}
#autosave_wrapper { position: relative}
#autosave_pop { display: none; z-index: 10; position: absolute !important; top: 34px; right: 0; width: 350px; max-height: 180px; border: 1px solid #565656; background: #fff; -webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); -moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2); box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before { content: ""; position: absolute; top: -8px; right: 45px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #000 transparent}
#autosave_pop:after { content: ""; position: absolute; top: -7px; right: 45px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop { height: auto; max-height: 10000px !important}
#autosave_pop strong { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#autosave_pop div { text-align: center; margin: 0 !important}
#autosave_pop button { margin: 0; padding: 0; border: 0}
#autosave_pop ul { padding: 15px; border-top: 1px solid #e9e9e9; list-style: none; overflow-y: scroll; height: 130px; border-bottom: 1px solid #e8e8e8}
#autosave_pop li { padding: 8px 5px; border-bottom: 1px solid #fff; background: #eee; zoom: 1}
#autosave_pop li:after { display: block; visibility: hidden; clear: both; content: ""}
#autosave_pop a { display: block; float: left}
#autosave_pop span { display: block; float: right; font-size: 0.92em; font-style: italic; color: #999}
.autosave_close { cursor: pointer; width: 100%; height: 30px; background: none; color: #888; font-weight: bold; font-size: 0.92em}
.autosave_close:hover { background: #f3f3f3; color: #3f4296}
.autosave_content { display: none}
.autosave_del { background: url(./img/close_btn.png) no-repeat 50% 50%; text-indent: -999px; overflow: hidden; height: 20px; width: 20px}
/* =========================================================
   BOARD VIEW / FILE / LINK / SNS (원본 유지)
========================================================= */
#bo_v { margin-bottom: 20px; background: #fff; box-sizing: border-box}
#bo_v_table { position: absolute; top: 0; right: 16px; margin: 0; padding: 0 5px; height: 25px; background: #ff3061; color: #fff; font-weight: bold; line-height: 2.2em}
#bo_v_title .bo_v_cate { display: inline-block; line-height: 20px; background: #e2eaf6; color: #3f4296; padding: 0 10px; border-radius: 3px; }
#bo_v_title .bo_v_tit { display: block; font-size: 2em; margin: 5px 0 0; word-break: break-all}
#bo_v_info { margin: 0; border-bottom: 1px solid #f1f1f1; color: #666}
#bo_v_info:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_v_info h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_v_info .profile_info { margin: 20px 0 10px; display: inline-block; float: left}
#bo_v_info .profile_info .pf_img { float: left; margin-right: 10px}
#bo_v_info .profile_info .pf_img img { border-radius: 50%; width: 50px; height: 50px}
#bo_v_info .profile_info .profile_info_ct { float: left; padding: 5px 0; line-height: 18px}
#bo_v_info strong { display: inline-block; margin: 0 10px 0 0; font-weight: normal}
#bo_v_info .sv_member, #bo_v_info .sv_guest, #bo_v_info .member, #bo_v_info .guest { font-weight: bold}
#bo_v_info .profile_img { display: none}
#bo_v_info .sv_member { color: #000}
#bo_v_info .if_date { margin: 0; color: #888}
#bo_v_file h2, #bo_v_link h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_v_file ul, #bo_v_link ul { margin: 0; list-style: none}
#bo_v_file li, #bo_v_link li { padding: 15px; position: relative; margin: 10px 0; border: 1px solid #dfdfdf; border-radius: 5px; -webkit-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); -moz-box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%); box-shadow: 1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i, #bo_v_link li i { float: left; color: #b2b2b2; font-size: 2.35em; margin-right: 20px}
#bo_v_file a, #bo_v_link a { float: left; display: block; text-decoration: none; word-wrap: break-word; color: #000}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active, #bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active { text-decoration: underline; color: #3f4296}
#bo_v_file img { float: left; margin: 0 10px 0 0}
#bo_v_file .bo_v_file_cnt, #bo_v_link .bo_v_link_cnt { color: #b2b2b2; font-size: 0.92em}
#bo_v_file li:hover, #bo_v_link li:hover { border-color: #bed4f4; color: #bed4f4}
#bo_v_file li:hover i, #bo_v_link li:hover i { color: #3f4296}
#bo_v_file li:hover .bo_v_file_cnt, #bo_v_link li:hover .bo_v_link_cnt { color: #99c2fc}
#bo_v_top, #bo_v_bot { zoom: 1}
#bo_v_top:after, #bo_v_bot:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_v_top h2, #bo_v_bot h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_v_top ul, #bo_v_bot ul { padding: 0; list-style: none; word-break: break-all; background: #fff}
.bo_v_com { margin: 20px 0; float: right}
.bo_v_com > li { position: relative; float: left; margin-left: 5px}
.bo_v_nb { position: relative; margin: 20px 0; clear: both; text-align: left}
.bo_v_nb:after { display: block; visibility: hidden; clear: both; content: ""}
.bo_v_nb li { border-top: 1px solid #f1f1f1; padding: 13px}
.bo_v_nb li:last-child { border-bottom: 1px solid #f1f1f1}
.bo_v_nb li:hover { background: #f6f6f6}
.bo_v_nb li i { font-size: 13px; color: #b3b3b3}
.bo_v_nb li .nb_tit { display: inline-block; padding-right: 20px; color: #b3b3b3}
.bo_v_nb li .nb_date { float: right; color: #b3b3b3}
#bo_v_atc { min-height: 200px; height: auto !important; height: 200px}
#bo_v_atc_title { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_v_img { width: 100%; overflow: hidden; zoom: 1}
#bo_v_img:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_v_img a.view_image { display: block}
#bo_v_img img { margin-bottom: 20px; max-width: 100%; height: auto}
#bo_v_con { margin: 10px 0 30px; width: 100%; line-height: 1.7em; min-height: 200px; word-break: break-all; overflow: hidden}
#bo_v_con a { color: #000; text-decoration: underline}
#bo_v_con img { max-width: 100%; height: auto}
#bo_v_act { margin-bottom: 30px; text-align: center}
#bo_v_act .bo_v_act_gng { position: relative}
#bo_v_act a { margin-right: 5px; vertical-align: middle; color: #4a5158}
#bo_v_act a:hover { background-color: #fff; color: #ff484f; border-color: #ff484f}
#bo_v_act i { font-size: 1.4em; margin-right: 5px}
#bo_v_act_good, #bo_v_act_nogood { display: none; position: absolute; top: 30px; left: 0; z-index: 9999; padding: 10px 0; width: 165px; background: #ff3061; color: #fff; text-align: center}
#bo_v_act .bo_v_good { display: inline-block; border: 1px solid #dedede; width: 70px; line-height: 46px; border-radius: 30px}
#bo_v_act .bo_v_nogood { display: inline-block; border: 1px solid #dedede; width: 70px; line-height: 46px; border-radius: 30px}
#bo_v_sns { padding: 0; list-style: none; zoom: 1; float: left; display: inline-block}
#bo_v_sns:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_v_sns li { float: left; width: 135px; margin-right: 5px; text-align: left}
#bo_v_sns li a { height: 35px; line-height: 35px; text-align: center; border-radius: 5px; color: #fff; font-size: 0.95em}
#bo_v_sns li img { vertical-align: middle; margin-right: 5px}
#bo_v_sns li .sns_f { display: block; background: #3b5997}
#bo_v_sns li .sns_t { display: block; background: #09aeee}
#bo_v_sns li .sns_g { display: block; background: #ea4026}
#bo_v_sns li .sns_k { display: block; background: #fbe300}
#bo_v_share { position: relative; padding: 20px 0}
#bo_v_share:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_v_share .btn { padding: 0 10px; color: #555; font-weight: normal; font-size: 1em; width: 80px; line-height: 35px; height: 35px; border-color: #d5d5d5; border-radius: 5px}
#bo_v_share .btn:hover { background: #fff}
#bo_v_share .btn i { margin-right: 5px; color: #4b5259; vertical-align: middle}
/* =========================================================
   COMMENTS (원본 유지)
========================================================= */
.cmt_btn { width: 100%; text-align: left; border: 0; border-bottom: 1px solid #f0f0f0; background: #fff; font-weight: bold; margin: 30px 0 0px; padding: 0 0 15px}
.cmt_btn span.total { position: relative; display: inline-block; margin-right: 5px; font-size: 1em; color: #3f4296}
.cmt_btn span.cmt_more { float: right; display: inline-block; width: 15px; height: 10px; background: url(./img/btn_cmt.png) no-repeat right 2px; margin-top: 5px}
.cmt_btn_op span.cmt_more { background-position: right -8px}
.cmt_btn b { font-size: 1.2em; color: #000}
.cmt_btn span.total:after { position: absolute; bottom: -17px; left: 0; display: inline-block; background: #3f4296; content: ""; width: 100%; height: 2px}
#bo_vc h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_vc article { margin: 20px 0; position: relative; border-bottom: 1px solid #f0f0f0}
#bo_vc article:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_vc article .profile_img img { border-radius: 50%}
#bo_vc article .pf_img { float: left; margin-right: 10px}
#bo_vc article .pf_img img { border-radius: 50%; width: 50px; height: 50px}
#bo_vc article .cm_wrap { float: left; max-width: 870px; width: 90%}
#bo_vc header { position: relative; width: 100%}
#bo_vc header:after { display: block; visibility: hidden; clear: both; content: ""}
#bo_vc header .profile_img { display: none}
#bo_vc header .icon_reply { position: absolute; top: 15px; left: -20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest { font-weight: bold}
.bo_vc_hdinfo { color: #777}
#bo_vc h1 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
#bo_vc .cmt_contents { line-height: 1.8em; padding: 0 0 20px}
#bo_vc p a { text-decoration: underline}
#bo_vc p a.s_cmt { text-decoration: underline; color: #ed6479}
#bo_vc_empty { margin: 0; padding: 80px 0 !important; color: #777; text-align: center}
#bo_vc #bo_vc_winfo { float: left}
#bo_vc .bo_vl_opt { position: absolute; top: 0; right: 0}
.bo_vc_act { display: none; position: absolute; right: 0; top: 40px; width: 58px; text-align: right; border: 1px solid #b8bfc4; margin: 0; list-style: none; background: #fff; zoom: 1; z-index: 9999}
.bo_vc_act:before { content: ""; position: absolute; top: -8px; right: 5px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #b8bfc4 transparent}
.bo_vc_act:after { content: ""; position: absolute; top: -6px; right: 5px; width: 0; height: 0; border-style: solid; border-width: 0 6px 8px 6px; border-color: transparent transparent #fff transparent}
.bo_vc_act li { border-bottom: 1px solid #f0f0f0}
.bo_vc_act li:last-child { border-bottom: 0}
.bo_vc_act li a { display: inline-block; padding: 10px 15px}
.bo_vc_act li a:hover { color: #3f4296}
.bo_vc_w { position: relative; margin: 10px 0; display: block}
.bo_vc_w:after { display: block; visibility: hidden; clear: both; content: ""}
.bo_vc_w h2 { position: absolute; font-size: 0; line-height: 0; overflow: hidden}
.bo_vc_w #char_cnt { display: block; margin: 0 0 5px}
.bo_vc_w textarea { border: 1px solid #ccc; background: #fff; color: #000; vertical-align: middle; border-radius: 3px; padding: 5px; width: 100%; height: 120px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1)}
/* =========================================================
   WRITE (#bo_w) - CLEAN VERSION (GRID ONLY)
   기존 write 관련 중복 선언 제거/통합
========================================================= */
#bo_w { width: 100%; }
#bo_w form#fwrite { width: 100% !important; }
/* write_div: flex/float 제거하고 기본 block */
#bo_w .write_div { margin: 0; position: relative; display: block; }
#bo_w .write_div:after { content: ""; display: block; clear: both; }
/* label */
#bo_w .write_div > label, #bo_w .bo_w_info > label, #bo_w .bo_w_select > label { font-size: 14px; font-weight: 700; color: #111; line-height: 1.2; min-width: 0; }
#bo_w .write_div label strong { color: #3f4296; padding-left: 6px; }
/* inputs */
#bo_w .frm_input, #bo_w input[type="text"], #bo_w input[type="email"], #bo_w input[type="tel"], #bo_w input[type="password"] { display: flex; align-items: center; width: 100%; background: #f5f5f5; border-radius: 6px; padding: 14px 16px; box-sizing: border-box; cursor: pointer; }
#bo_w .frm_input::placeholder { color: #9b9b9b; }
/* 전체 2컬럼 */
.inquiry_3_lay { display: grid; grid-template-columns: 1fr; gap: 50px; align-items: start; }
.inquiry_3_lay .inq_layout:last-child { padding-top: 70px; }
/* 왼쪽 상단: 라디오 + 인풋 그리드 */
.bo_w_select.write_div { display: grid; gap: 10px; margin: 0 0 22px 0; }
.bo_sel_in { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.bo_w_select_wrap { padding: 0; }
.bo_w_select_wrap .select_label { padding-left: 10px; color: #666; font-weight: 500; }
/* info grid */
.info_con_wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; margin: 0; padding: 0; }
.info_con_wrap .bo_w_info.write_div { display: grid; gap: 10px; margin: 0; }
.name_info, .email_info { width: 100%; }
/* file: full width */
.bo_w_flie.write_div.seok_down_file_wrap.label_on { grid-column: 1 / -1; display: grid; gap: 10px; margin: 0; }
#bo_w .seok_down_file_wrap .file_wr { width: 100%; position: relative; background: #f9f9f9 !important; border: 0; border-radius: 30px; }
#bo_w .seok_down_file_wrap .file_wr label { width: 100%; display: flex; align-items: center; gap: 12px; height: 50px; padding: 14px 18px; box-sizing: border-box; font-size: 16px !important; font-weight: 300; color: #9b9b9b !important; border: 0 !important; background: transparent; cursor: pointer; }
#bo_w .seok_down_file_wrap .file_wr label:hover { color: #3f4296 !important; }
#bo_w .seok_down_file_wrap .frm_file { display: none; }
.file_name_text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.btn_file_cancel { display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; padding: 0; }
.btn_file_cancel i { color: #919191; font-size: 21px; }
/* content */
#bo_w .wr_content { width: 100%; }
#bo_w .wr_content textarea { width: 100%; min-height: 240px; padding: 14px 16px; box-sizing: border-box; border: 0 !important; background: #f5f5f5 !important; border-radius: 6px !important; font-size: 16px; }
/* privacy box */
.agree_pri_wrap { width: 100%; padding: 40px; box-sizing: border-box; border: 0; border-radius: 30px; background: #f9f9f9; overflow: auto; height: 300px; }
.chks.fst_chks_wrap { padding: 20px 0; }
.chks input[type="checkbox"] + label { color: #666 !important; }
/* captcha */
.write_div #captcha legend label { font-size: 0; }
/* submit */
#bo_w #btn_submit.btn_submit.view_more_btn { border: 0; background: #3f4296; color: #fff; border-radius: 999px; height: 44px; padding: 0 26px; font-weight: 700; cursor: pointer; }
#bo_w #btn_submit:disabled { opacity: .5; cursor: not-allowed; }
/* responsive (write) */
@media (max-width:1200px) {
  .inquiry_3_lay { gap: 36px; }
}
@media (max-width:960px) {
  .inquiry_3_lay { grid-template-columns: 1fr; gap: 28px; }
  .inquiry_3_lay .inq_layout:last-child { padding-top: 0; }
  .info_con_wrap { grid-template-columns: 1fr; gap: 18px; }
  #bo_w .frm_input, #bo_w input[type="text"], #bo_w input[type="email"], #bo_w input[type="tel"] { height: 44px; padding: 12px 14px; }
  #bo_w .seok_down_file_wrap .file_wr label { height: 44px; padding: 12px 14px; }
  #bo_w .wr_content textarea { min-height: 200px; padding: 18px 18px; }
  .agree_pri_wrap { padding: 26px; height: 260px; }
}
@media (max-width:620px) {
  #bo_w .write_div > label, #bo_w .bo_w_info > label, #bo_w .bo_w_select > label { font-size: 13px; }
  #bo_w .frm_input { font-size: 14px; }
  #bo_w .wr_content textarea { font-size: 14px; min-height: 180px; }
  .agree_pri_wrap { height: 240px; }
}
/* =========================================================
   INQ SECTION (DESIGN FORM STYLE) - 그대로 유지/정리
========================================================= */
.inq_sec { width: min(980px, 92vw); margin: 0 auto; }
.inq_in { width: 100%; padding: 10% 0 ; box-sizing: border-box; }
.inq_form { max-width: 980px; margin: 0 auto; padding: 80px 0 120px; }
.inq_grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 60px; row-gap: 22px; grid-template-areas: "type   company" "name   tel" "email  file"; }
.inq_item[data-field="type"] { grid-area: type; }
.inq_item[data-field="company"] { grid-area: company; }
.inq_item[data-field="name"] { grid-area: name; }
.inq_item[data-field="tel"] { grid-area: tel; }
.inq_item[data-field="email"] { grid-area: email; }
.inq_item[data-field="file"] { grid-area: file; }
.inq_row { display: grid; gap: 10px; }
.inq_row_full { margin-top: 28px; }
.inq_label { font-size: 14px; font-weight: 700; color: #111; }
.inq_req { color: #3f4296; margin-left: 4px; }
.inq_controls { width: 100%; }
.inq_input, .inq_textarea { width: 100%; border: 0; outline: none; background: #f5f5f5; border-radius: 6px; padding: 14px 16px; box-sizing: border-box; font-size: 14px; color: #111; }
.inq_textarea { resize: vertical; min-height: 220px; }
/* Radio */
.inq_radio_group { min-height: 44px; display: flex; align-items: center; gap: 28px; }
.inq_radio { display: inline-flex; gap: 10px; align-items: center; cursor: pointer; user-select: none; }
.inq_radio input { position: absolute; opacity: 0; pointer-events: none; }
.inq_radio_ui { width: 16px; height: 16px; border-radius: 999px; border: 2px solid #d6d6d6; box-sizing: border-box; position: relative; }
.inq_radio input:checked + .inq_radio_ui { border-color: #3f4296; }
.inq_radio input:checked + .inq_radio_ui::after { content: ""; position: absolute; inset: 3px; border-radius: 999px; background: #3f4296; }
.inq_radio_txt { font-size: 14px; color: #111; }
/* File */
.inq_file { display: block; width: 100%; }
.inq_file_input { position: absolute; opacity: 0; pointer-events: none; }
.inq_file_fake { display: flex; align-items: center; width: 100%; background: #f5f5f5; border-radius: 6px; padding: 14px 16px; box-sizing: border-box; cursor: pointer; }
.inq_file_placeholder { font-size: 13px; color: #9b9b9b; }
/* Policy */
.inq_policy { margin-top: 34px; }
.inq_policy_tit { font-size: 14px; font-weight: 800; color: #111; margin-bottom: 14px; }
.inq_policy_box { background: #f5f5f5; border-radius: 8px; padding: 18px 18px; box-sizing: border-box; max-height: 210px; overflow: auto; font-size: 12px; line-height: 1.6; color: #6b6b6b; }
.inq_policy_box p { margin: 0 0 12px; }
.inq_policy_subtit { font-weight: 800; color: #333; margin-top: 14px; }
/* Bottom */
.inq_bottom { margin-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.inq_check { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; user-select: none; }
.inq_check input { position: absolute; opacity: 0; pointer-events: none; }
.inq_check_ui { width: 16px; height: 16px; border: 2px solid #d6d6d6; border-radius: 4px; box-sizing: border-box; position: relative; background: #fff; }
.inq_check input:checked + .inq_check_ui { border-color: #3f4296; background: #3f4296; }
.inq_check input:checked + .inq_check_ui::after { content: ""; position: absolute; left: 4px; top: 1px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.inq_check_txt { font-size: 13px; color: #6b6b6b; }
.inq_submit { min-width: 140px; height: 44px; border-radius: 999px; border: 0; background: #3f4296; color: #fff; font-weight: 700; cursor: pointer; }
.inq_submit:disabled { opacity: .5; cursor: not-allowed; }
/* Responsive */
@media (max-width:900px) {
  .inq_form { padding: 60px 0 90px; }
  .inq_bottom { flex-direction: column; align-items: flex-start; }
  .inq_submit { width: 180px; }
  .inq_grid { grid-template-columns: 1fr; row-gap: 18px; grid-template-areas: "type" "company" "name" "tel" "email" "file"; }
}
#captcha #captcha_info { margin: 5px 0 0; font-size: 0.95em; letter-spacing: -0.1em; display: none!important; }
#captcha { display: flex; position: relative; gap: 4px; }




/* 전체 영역 */
.file_wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ================= 이미지 ================= */
.file_img_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}

.file_img_item {
    position: relative;
    display: block;
    border-radius: 12px;
    overflow: hidden;
    background: #f5f5f5;
    cursor: pointer;
}

.file_img_item img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    transition: transform .4s ease;
}

.file_img_item:hover img {
    transform: scale(1.08);
}

/* 이미지 오버레이 */
.file_img_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.6));
    color: #fff;
    font-size: 13px;
    letter-spacing: 1px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 12px;
    opacity: 0;
    transition: .3s;
}

.file_img_item:hover .file_img_overlay {
    opacity: 1;
}

/* ================= 다운로드 ================= */
.file_download_list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.file_download_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-radius: 10px;
    background: #f8f8f8;
    border: 1px solid #eee;
    text-decoration: none;
    color: #222;
    transition: all .25s ease;
}

.file_download_item:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

/* 좌측 */
.file_left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.file_icon {
    font-size: 16px;
}

.file_name {
    font-size: 14px;
    font-weight: 500;
}

/* 우측 */
.file_right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.file_size {
    font-size: 12px;
    color: #999;
}

.file_download_item:hover .file_size {
    color: rgba(255,255,255,0.7);
}

/* 다운로드 버튼 */
.file_btn {
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 20px;
    background: #e5e5e5;
    transition: .25s;
}

.file_download_item:hover .file_btn {
    background: #fff;
    color: #111;
}

/* ================= 빈 상태 ================= */
.file_empty {
    padding: 40px;
    text-align: center;
    border-radius: 12px;
    background: #fafafa;
    border: 1px dashed #ddd;
    font-size: 14px;
    color: #aaa;
}