@charset "utf-8";

/* ── list-wrap 레이아웃 ─────────────────────────────── */
.list-wrap { border-top: 1px solid #000; }

.list-wrap .div-head,
.list-wrap .list-item { display: flex; align-items: center; border-bottom: 1px solid #edf0f3; }

.list-wrap .div-head {
    font-weight: normal;
    height: 45px;
    padding: 0;
    box-sizing: border-box;
}
.list-wrap .div-head .wr-subject {
    font-weight: 600;
    color: #000;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
}
.list-wrap .div-head a { color: inherit; text-decoration: none; }
.list-wrap .div-head a:hover { color: #000; }

/* 헤더 컬럼 구분선 + 색상 + 굵기 */
.list-wrap .div-head .wr-num,
.list-wrap .div-head .wr-name,
.list-wrap .div-head .wr-date { border-right: 1px solid #d8d8d8; color: #000; font-weight: 600; }
.list-wrap .div-head .wr-hit { color: #000; font-weight: 600; }

.list-wrap .list-body { list-style: none; margin: 0; padding: 0; }

.list-wrap .list-item { height: 35px; padding: 0; box-sizing: border-box; transition: background .1s; }
.list-wrap .list-item:hover { background: #fafbfc; }

.list-wrap .list-notice { background: #fffaf5; }
.list-wrap .list-notice .item-subject { font-weight: 600; }

.list-wrap .list-empty { padding: 48px 16px; text-align: center; color: #999; font-size: 0.9rem; }

/* 컬럼 너비 */
.list-wrap .wr-num    { width: 60px; flex-shrink: 0; text-align: center; font-size: 0.8125rem; }
.list-wrap .wr-subject { flex: 1; min-width: 0; padding: 0 14px; display: flex; align-items: center; font-size: 0.8125rem; }
.list-wrap .wr-name   { width: 120px; flex-shrink: 0; text-align: center; font-size: 0.8125rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.list-wrap .wr-date   { width: 88px; flex-shrink: 0; text-align: center; font-size: 0.8125rem; }
.list-wrap .wr-hit    { width: 56px; flex-shrink: 0; text-align: center; font-size: 0.8125rem; }
.list-wrap .wr-good,
.list-wrap .wr-nogood { width: 50px; flex-shrink: 0; text-align: center; font-size: 0.8125rem; }
.list-wrap .wr-chk    { width: 36px; flex-shrink: 0; text-align: center; }

/* 목록 행 컬럼 색상 */
.list-wrap .list-item .wr-num  { color: #999; }
.list-wrap .list-item .wr-name { color: #555; }
.list-wrap .list-item .wr-date { color: #999; }
.list-wrap .list-item .wr-hit  { color: #999; }
.list-wrap .list-item .wr-good,
.list-wrap .list-item .wr-nogood { color: #999; }

/* 제목 링크 */
.list-wrap .item-subject {
    display: block;
    color: #1a1a2e;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8125rem;
}
.list-wrap .item-subject:hover { color: var(--accent, #ff5a3d); }

/* 댓글수 */
.list-wrap .cnt_cmt {
    display: inline-block;
    margin-left: 4px;
    color: var(--accent, #ff5a3d);
    font-size: 0.8rem;
    font-weight: 700;
    vertical-align: baseline;
}

/* 공지 뱃지 */
.list-wrap .notice-badge {
    display: inline-block;
    padding: 2px 7px;
    background: var(--accent, #ff5a3d);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 4px;
    line-height: 1.6;
    letter-spacing: 0.02em;
}

/* 모바일용 상세 (기본 숨김) */
.list-wrap .item-details {
    display: none;
    gap: 10px;
    font-size: 0.75rem;
    color: #aaa;
    margin-top: 4px;
}

/* 모바일: num/name/date/hit 숨기고 item-details 표시 */
@media (max-width: 640px) {
    .list-wrap .wr-num,
    .list-wrap .wr-name,
    .list-wrap .wr-date,
    .list-wrap .wr-hit { display: none; }

    .list-wrap .wr-subject { padding: 0 12px; }
    .list-wrap .item-subject { white-space: normal; word-break: break-word; }
    .list-wrap .item-details { display: flex; flex-wrap: wrap; }
}
/* ─────────────────────────────────────────────────── */

/* 게시판 목록 */
#bo_list {position:relative;margin-bottom:50px}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}

#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:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}

/* 게시판 목록 공통 */
.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:#2172f8}
.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% #3a8afd;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 {display:none}

.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}

.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}

.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;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_current {color:#e8180c}

.bo_sch_wrap {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
}
.bo_sch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 420px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0,0,0,0.18);
    border: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.bo_sch:after { display: none; }
.bo_sch legend { display: none; }

.bo_sch_hd {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 20px 16px;
    border-bottom: 1px solid #f0f0f0;
}
.bo_sch_ic {
    display: flex;
    align-items: center;
    color: var(--accent, #ff5a3d);
}
.bo_sch_ic svg { width: 20px; height: 20px; }

.bo_sch h3 {
    flex: 1;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    padding: 0;
    border: 0;
}
.bo_sch .bo_sch_cls {
    position: static;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f3f4f6;
    color: #6b7280;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background .15s;
}
.bo_sch .bo_sch_cls svg { width: 18px; height: 18px; }
.bo_sch .bo_sch_cls:hover { background: #e5e7eb; color: #374151; }

.bo_sch form { padding: 20px; display: block; }

.bo_sch select {
    width: 100%;
    height: 44px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 36px 0 12px;
    font-size: 0.875rem;
    color: #374151;
    background: #f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 12px center no-repeat;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    cursor: pointer;
    margin-bottom: 12px;
}
.bo_sch select:focus { outline: none; border-color: var(--accent, #ff5a3d); background-color: #fff; }

.bo_sch .sch_bar {
    display: flex;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 0;
    box-shadow: none;
    transition: border-color .15s;
}
.bo_sch .sch_bar:focus-within { border-color: var(--accent, #ff5a3d); }

.bo_sch .sch_input {
    flex: 1;
    height: 48px;
    border: 0;
    padding: 0 16px;
    font-size: 0.9375rem;
    background: transparent;
    color: #1a1a2e;
    width: auto;
    float: none;
}
.bo_sch .sch_input:focus { outline: none; }

.bo_sch .sch_btn {
    width: 54px;
    height: 48px;
    background: var(--accent, #ff5a3d);
    color: #fff;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    float: none;
    font-size: 1rem;
}
.bo_sch .sch_btn svg { width: 20px; height: 20px; }
.bo_sch .sch_btn:hover { background: #e04a2d; }

.bo_sch_bg { display: none; }

/* 게시판 쓰기 */
#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;height:auto !important;height:180px;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} /* overflow 미지원 기기 대응 */
#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:#3597d9}
.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}

/* 게시판 읽기 */
.bo-v-spacer { height: 40px; }
#bo_v {margin-top:30px;margin-bottom:20px;background:#fff;box-sizing:border-box}

/* 뷰 텍스트 버튼 */
.bo-v-btns-wrap { margin: 20px 0 10px; }
.bo-v-btns { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
.bo-v-btns li { float: none; width: auto; margin: 0; background: none; }
.bo-v-btn {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #7c5cbf;
    border-radius: 6px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #7c5cbf;
    background: #fff;
    text-decoration: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.bo-v-btn:hover {
    background: #7c5cbf;
    color: #fff;
}
/* 글쓰기/수정/삭제 버튼은 빨간색 */
.bo-v-btn.btn-gray {
    border-color: #ff5a3d;
    color: #ff5a3d;
}
.bo-v-btn.btn-gray:hover {
    background: #ff5a3d;
    border-color: #ff5a3d;
    color: #fff;
}

#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_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block;font-size:1.25rem;font-weight:700;margin:5px 0 0;word-break:break-all;line-height:1.5}

#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666;font-size:0.8125rem}
#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:22px;font-size:0.875rem}

#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 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file 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 {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file 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 {text-decoration:underline;color:#3a8afd}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#3a8afd}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#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_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#3a8afd}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}

#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.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%;font-size:0.8125rem;line-height:1.8;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}

/* 게시판 댓글 */
.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:#3a8afd}
.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:#e05a2b;content:"";width:100%;height:2px}
#bo_vc {}
#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:#3a8afd}

.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)}
#wr_secret {}
.bo_vc_w_info {margin:10px 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:5px}
.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 5px 0 0}
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off {background:#bbb}
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
#bo_vc_sns input {margin:0 5px 0 0}

/* ── 댓글 작성 영역 ── */
#bo_vc_w.bo_vc_w {
    margin: 16px 0 0;
    padding: 20px;
    background: #f8f9fb;
    border: 1px solid #edf0f3;
    border-radius: 10px;
}
#bo_vc_w.bo_vc_w h2 { position: absolute; font-size: 0; overflow: hidden; }
#bo_vc_w.bo_vc_w textarea {
    width: 100%;
    height: 100px;
    padding: 12px 14px;
    border: 1px solid #e2e5ea;
    border-radius: 8px;
    font-size: 0.8125rem;
    line-height: 1.6;
    color: #2e3540;
    background: #fff;
    resize: vertical;
    box-sizing: border-box;
    box-shadow: none;
    transition: border-color .15s;
}
#bo_vc_w.bo_vc_w textarea:focus {
    outline: none;
    border-color: var(--accent, #e05a2b);
}
#bo_vc_w.bo_vc_w .bo_vc_w_wr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    flex-wrap: wrap;
    gap: 8px;
}
#bo_vc_w.bo_vc_w .bo_vc_w_info { margin: 0; float: none; }
#bo_vc_w.bo_vc_w .frm_input {
    height: 34px;
    padding: 0 10px;
    border: 1px solid #e2e5ea;
    border-radius: 6px;
    font-size: 0.8125rem;
    background: #fff;
}
#bo_vc_w.bo_vc_w .btn_confirm {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    clear: none;
    float: none;
}
#bo_vc_w.bo_vc_w .secret_cm { float: none; }
#bo_vc_w.bo_vc_w .secret_cm label { font-size: 0.8125rem !important; color: #666; }
#bo_vc_w.bo_vc_w .btn_submit {
    height: 36px;
    padding: 0 18px;
    border: none;
    border-radius: 6px;
    background: var(--accent, #e05a2b);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s;
}
#bo_vc_w.bo_vc_w .btn_submit:hover { opacity: 0.88; }

/* 게시글 쓰기 */
#bo_w {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    margin-top: 20px;
    margin-bottom: 24px;
    overflow: visible;
}

.bo_w_header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 24px 16px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 1rem;
    font-weight: 700;
    color: #1a1a2e;
    border-radius: 16px 16px 0 0;
}
.bo_w_ic {
    display: flex;
    align-items: center;
    color: var(--accent, #ff5a3d);
}
.bo_w_ic svg { width: 20px; height: 20px; }

#bo_w .write_div {
    padding: 16px 24px;
    border-bottom: 1px solid #f3f4f6;
    margin: 0;
    position: relative;
}
#bo_w .write_div:after { display: none; }

/* 필드 레이블 */
.bo_w_label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 8px;
}
.bo_w_label svg { width: 15px; height: 15px; color: #9ca3af; }
.bo_w_req { color: var(--accent, #ff5a3d); font-style: normal; }
.bo_w_file_hint { font-weight: 400; font-size: 0.75rem; color: #9ca3af; margin-left: 4px; }

/* 입력 필드 공통 */
#bo_w .frm_input {
    height: 44px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 16px;
    font-size: 0.9375rem;
    color: #1a1a2e;
    background: #f9fafb;
    box-sizing: border-box;
    box-shadow: none;
    -webkit-box-shadow: none;
    vertical-align: middle;
    transition: border-color .15s, background .15s, box-shadow .15s;
}
#bo_w .frm_input:focus {
    outline: none;
    border-color: var(--accent, #ff5a3d);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255,90,61,0.08);
}
#bo_w .full_input { width: 100%; display: block; }

/* 이름/비밀번호 행 */
#bo_w .bo_w_info { display: flex; flex-wrap: wrap; gap: 12px; }
#bo_w .bo_w_info .frm_input { flex: 1; min-width: 150px; float: none; margin: 0; }
#bo_w #wr_password, #bo_w #wr_homepage { margin-left: 0; }

/* 분류 select */
#bo_w .bo_w_select select {
    width: 100%;
    height: 44px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 36px 0 16px;
    font-size: 0.9375rem;
    color: #374151;
    background: #f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 12px center no-repeat;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    cursor: pointer;
    transition: border-color .15s;
}
#bo_w .bo_w_select select:focus { outline: none; border-color: var(--accent, #ff5a3d); background-color: #fff; }

/* 옵션 체크박스 */
#bo_w .bo_v_option { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
#bo_w .bo_v_option li { display: flex; align-items: center; float: none; margin: 0; }
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    color: #374151;
    cursor: pointer;
    padding: 6px 14px;
    border: 1.5px solid #e5e7eb;
    border-radius: 20px;
    transition: border-color .15s, background .15s, color .15s;
}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {
    width: 16px; height: 16px;
    border: 1.5px solid #d1d5db;
    border-radius: 4px;
    background: #fff;
    flex-shrink: 0;
}
#bo_w .bo_v_option .chk_box input[type="checkbox"]:checked + label {
    border-color: var(--accent, #ff5a3d);
    background: #fff5f3;
    color: var(--accent, #ff5a3d);
}
#bo_w .bo_v_option .chk_box input[type="checkbox"]:checked + label span {
    background: var(--accent, #ff5a3d) url(./img/chk.png) no-repeat 50% 50%;
    border-color: var(--accent, #ff5a3d);
}

/* 제목 */
#bo_w .bo_w_tit { position: relative; }
#bo_w .bo_w_tit .frm_input { padding-right: 16px; }
#bo_w .bo_w_tit #btn_autosave {
    margin-top: 8px;
    font-size: 0.75rem;
    color: #9ca3af;
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 5px 10px;
    cursor: pointer;
    line-height: 1.4;
    height: auto;
    display: inline-block;
}
#bo_w .bo_w_tit #btn_autosave:hover { border-color: #9ca3af; color: #6b7280; }

/* 에디터/textarea */
#bo_w .wr_content.smarteditor2 iframe { background: #fff; }
#bo_w .bo_w_content_div .wr_content {
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .15s;
}
#bo_w .bo_w_content_div .wr_content:focus-within { border-color: var(--accent, #ff5a3d); }
#bo_w .bo_w_content_div textarea.wr_content {
    width: 100%;
    min-height: 240px;
    padding: 12px 16px;
    border: 0;
    border-radius: 10px;
    font-size: 0.9375rem;
    color: #1a1a2e;
    resize: vertical;
    background: #f9fafb;
}
#bo_w .bo_w_content_div textarea.wr_content:focus { outline: none; background: #fff; }

/* 링크 */
#bo_w .bo_w_link label.bo_w_label { margin-bottom: 8px; }
#bo_w .bo_w_link .frm_input { padding-left: 16px; }

/* 파일 첨부 */
#bo_w .bo_w_file_row {
    display: flex;
    align-items: center;
    height: 44px;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    padding: 0 16px;
    background: #f9fafb;
    box-sizing: border-box;
    overflow: hidden;
}
#bo_w .bo_w_flie .frm_file { flex: 1; border: 0; background: transparent; font-size: 0.875rem; }
#bo_w .bo_w_flie .frm_input { margin: 10px 0 0; }
#bo_w .bo_w_flie .file_del { display: block; margin-top: 8px; font-size: 0.8125rem; color: #9ca3af; }

/* 버튼 */
#bo_w .btn_confirm {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    border-bottom: 0;
    border-radius: 0 0 16px 16px;
}
#bo_w .btn_submit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 44px;
    padding: 0 24px;
    background: var(--accent, #ff5a3d);
    color: #fff;
    border: 0;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s;
    text-decoration: none;
}
#bo_w .btn_submit svg { width: 18px; height: 18px; }
#bo_w .btn_submit:hover { background: #e04a2d; }
#bo_w .btn_submit:disabled { background: #fca99a; cursor: not-allowed; }

#bo_w .btn_cancel {
    display: inline-flex;
    align-items: center;
    height: 44px;
    padding: 0 20px;
    background: #fff;
    color: #6b7280;
    border: 1.5px solid #e5e7eb;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
    transition: border-color .15s, color .15s;
}
#bo_w .btn_cancel:hover { border-color: #9ca3af; color: #374151; }
