@charset "utf-8";

/* =============================================
   기본 게시판 스킨 v4
   성희롱고충상담 디자인 시스템 완전 통일
   ============================================= */

:root {
  --board-primary: hsl(280, 50%, 30%);
  --board-primary-light: hsl(280, 40%, 45%);
  --board-primary-bg: hsl(280, 30%, 96%);
  --board-primary-border: hsl(280, 30%, 88%);
  --board-text: #333;
  --board-text-light: #666;
  --board-border: #e0e0e0;
  --board-bg: #fff;
  --board-radius: 4px;
}

/* ── 로그인/로그아웃 버튼 ── */
.bo_login_area {text-align:right;margin-bottom:10px;padding:5px 0}
.btn_bo_login {
  display:inline-block;padding:6px 16px;
  font-size:0.85em;font-weight:500;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  color:var(--board-text);background:var(--board-bg);
  text-decoration:none;transition:all 0.2s ease;
}
.btn_bo_login:hover {border-color:var(--board-primary);color:var(--board-primary)}
.btn_login_action {background:var(--board-primary);color:#fff !important;border-color:var(--board-primary)}
.btn_login_action:hover {background:var(--board-primary-light);border-color:var(--board-primary-light)}

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

/* 카테고리 스타일은 list.php 공통 코드에서 관리 */

/* ── 상단 영역: Total + 검색 ── */
#bo_btn_top {margin:15px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
#bo_list_total {font-size:0.92em;color:var(--board-text-light)}
#bo_list_total span {color:var(--board-primary);font-weight:600}

.bo_top_right {display:flex;align-items:center;gap:10px}

/* 인라인 검색 */
.bo_sch_inline {display:flex;align-items:center}
.bo_sch_form {display:flex;align-items:center;gap:6px}
.bo_sch_select {
  height:36px;padding:0 10px;border:1px solid var(--board-border);
  border-radius:var(--board-radius);font-size:0.85em;color:var(--board-text);
  background:var(--board-bg);outline:none;
}
.bo_sch_input_wrap {display:flex;position:relative}
.bo_sch_input {
  height:36px;width:180px;padding:0 40px 0 12px;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  font-size:0.85em;outline:none;
}
.bo_sch_input:focus {border-color:var(--board-primary)}
.bo_sch_submit {
  position:absolute;right:0;top:0;height:36px;width:36px;
  background:var(--board-primary);color:#fff;border:none;
  border-radius:0 var(--board-radius) var(--board-radius) 0;
  font-size:0.85em;cursor:pointer;font-weight:600;
}
.bo_sch_submit:hover {background:var(--board-primary-light)}

/* ── 버튼 영역 (텍스트 버튼) ── */
.bo_btn_area {display:flex;justify-content:flex-end;align-items:center;margin:10px 0;gap:5px;flex-wrap:wrap}
.bo_btn_area .btn_left {flex:1}

.btn_board {
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 18px;font-size:0.85em;font-weight:500;
  border-radius:var(--board-radius);text-decoration:none;
  cursor:pointer;transition:all 0.2s ease;
  border:1px solid transparent;line-height:1.4;
}
.btn_board.btn_primary {
  background:var(--board-primary);color:#fff;border-color:var(--board-primary);
}
.btn_board.btn_primary:hover {background:var(--board-primary-light);border-color:var(--board-primary-light)}
.btn_board.btn_outline {
  background:var(--board-primary-bg);color:var(--board-primary);
  border:1px solid var(--board-primary-border);
}
.btn_board.btn_outline:hover {border-color:var(--board-primary);background:var(--board-primary-bg)}

/* 브레드크럼 */
.bo_breadcrumb {text-align:center;font-size:0.85em;color:var(--board-text-light);padding:8px 0;margin-bottom:5px}

/* ── 테이블 ── */
.tbl_head01 {overflow-x:auto}
.tbl_head01 table {width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed}
.tbl_head01 caption {display:none}

/* 헤더 - 흰 배경 + 상단 2px 하단 1px 보더 */
.tbl_head01 thead tr {background:var(--muted);border-top:2px solid var(--board-text);border-bottom:1px solid var(--board-border)}
.tbl_head01 thead th {
  padding:12px 10px;font-size:0.875em;font-weight:400;
  text-align:center;border:none;white-space:nowrap;
  color:var(--board-text);
}
.tbl_head01 thead th a {color:var(--board-text);text-decoration:none}

/* 열 너비 */
.td_chk_col {width:20px !important}
.th_num, .td_num2 {width:45px;text-align:center}
.th_subject {text-align:left !important}
.th_name {width:10px}
.th_date {width:120px}
.th_hit {width:50px}
.th_file {width:45px}

/* 행 */
.tbl_head01 tbody tr {border-bottom:1px solid #f0f0f0;transition:background 0.15s}
.tbl_head01 tbody tr:hover {background:#fafafa}
.tbl_head01 tbody td {padding:15px 10px;font-size:1.0625rem;color:var(--board-text);vertical-align:middle}


#bo_list .td_num2 {text-align:center;color:var(--board-text-light);font-size:0.85em}
#bo_list .td_name {text-align:center;padding:10px 5px}
#bo_list .td_num {text-align:center;font-size:0.85em;color:var(--board-text-light)}
#bo_list .td_datetime {text-align:center;font-size:0.85em;color:var(--board-text-light)}
#bo_list .td_chk {text-align:center}
#bo_list .td_file {text-align:center}

#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid var(--board-primary)}
#bo_list tbody .even td {background:transparent}

/* 공지사항 행 */
.bo_notice td { background:hsl(45, 100%, 97%) !important; }
.bo_notice:hover td {background: hsl(45, 100%, 94%) !important;}
.bo_notice td {background:hsl(45, 100%, 97%) !important;border-bottom:1px solid var(--board-primary-border)}
.bo_notice td a {/*font-weight:bold;color:var(--board-primary)*/}
.notice_icon {
  display:inline-flex;align-items:center;justify-content:center;
  color:#e74c3c;vertical-align:middle;
}
.notice_icon svg {width:18px;height:18px}

/* 제목 */
.td_subject img {margin-left:5px}
.bo_tit {display:block;color:var(--board-text);font-weight:500}
.bo_tit a {color:var(--board-text);text-decoration:none}
.bo_tit a:hover {color:var(--board-primary)}
.bo_current {color:var(--board-primary);font-weight:bold}
.bo_cate_link {
  float:left;display:inline-block;margin-right:10px;
  background:var(--board-primary-bg);color:var(--board-primary);
  font-weight:600;height:20px;line-height:10px;padding:5px 8px;
  border-radius:5px;font-size:0.85em;text-decoration:none;margin-top:6px;
}
.bo_cate_link:hover {background:var(--board-primary);color:#fff}

#bo_list .cnt_cmt {
  background:var(--board-primary-bg);color:var(--board-primary);
  font-size:11px;height:16px;line-height:16px;padding:0 5px;
  border-radius:3px;vertical-align:middle;font-weight:600;
}

/* 아이콘 배지 */
.new_icon {display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 50%;
    background: hsl(0, 84%, 55%);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    margin-left: 0.375rem;
    vertical-align: middle;
    line-height: 1;}
.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}

/* 첨부파일 아이콘 (SVG + 갯수 뱃지) */
.file_attach_icon {
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;color:var(--board-text-light);
}
.file_attach_icon svg {width:16px;height:16px}
.file_count {
  position:absolute;top:-6px;right:-8px;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:14px;height:14px;padding:0 3px;
  background:var(--board-primary);color:#fff;
  font-size:10px;font-weight:bold;border-radius:50%;
  line-height:1;
}

/* 체크박스 */
.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:var(--board-primary)}
.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% var(--board-primary);border-color:var(--board-primary);border-radius:3px}

/* 하단 버튼 (리스트 하단) */
.bo_fx {margin:10px 0;text-align:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}

/* 페이지네이션 */
.pg_wrap {text-align:center;clear:both;padding:15px 0}
.pg_wrap .pg {display:inline-flex;gap:3px;align-items:center}
.pg_wrap a, .pg_wrap .pg_current {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:32px;height:32px;padding:0 6px;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  font-size:0.85em;color:var(--board-text-light);text-decoration:none;
  background:var(--board-bg);transition:all 0.2s ease;
}
.pg_wrap a:hover {border-color:var(--board-primary);color:var(--board-primary)}
.pg_wrap .pg_current {background:var(--board-primary);color:#fff;border-color:var(--board-primary);font-weight:600}
.pg_wrap .pg_start, .pg_wrap .pg_prev, .pg_wrap .pg_next, .pg_wrap .pg_end {font-size:0.8em}

/* ── 게시판 읽기 ── */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:var(--board-primary-bg);color:var(--board-primary);padding:2px 10px;border-radius:3px;font-size:0.85em;font-weight:600}
#bo_v_title .bo_v_tit {font-family:'Noto Bold';display:block;font-size:1.3em;margin:8px 0 0;word-break:break-all;color:#000;line-height:1.4; font-weight:bold;}

#bo_v_info {margin:0;padding-bottom:15px;border-bottom:1px solid #f0f0f0;color:var(--board-text-light)}
#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:15px 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:48px;height:48px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:20px}
#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal;font-size:0.875em}
#bo_v_info .sv_member, #bo_v_info .member {font-weight:bold;color:var(--board-text)}
#bo_v_info .profile_img {display:none}
#bo_v_info .if_date {margin:0;color:#999}

/* 본문 */
#bo_v_atc {padding:20px 0}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_con {line-height:1.8;color:var(--board-text);word-break:break-all;padding:10px 0}
#bo_v_con img {max-width:100%;height:auto}

#bo_v_share {margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}
#bo_v_share .btn {
  display:inline-flex;align-items:center;gap:5px;padding:5px 12px;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  color:var(--board-text-light);font-size:0.85em;text-decoration:none;
}
#bo_v_share .btn:hover {border-color:var(--board-primary);color:var(--board-primary)}

/* 추천/비추천 */
#bo_v_act {text-align:center;padding:20px 0;margin:10px 0}
.bo_v_act_gng {margin:0 10px}
.bo_v_good, .bo_v_nogood {
  display:inline-flex;align-items:center;gap:5px;
  padding:8px 20px;border-radius:var(--board-radius);
  border:1px solid var(--board-border);
  color:var(--board-text-light);text-decoration:none;
  transition:all 0.2s ease;font-size:0.9em;
}
.bo_v_good:hover {border-color:var(--board-primary);color:var(--board-primary);background:var(--board-primary-bg)}
.bo_v_nogood:hover {border-color:#e74c3c;color:#e74c3c;background:#fef2f2}
#bo_v_act_good, #bo_v_act_nogood {display:none;font-size:0.85em;color:var(--board-primary);margin-top:5px}

/* 첨부파일 */
#bo_v_file {margin:15px 0;padding:15px;background:var(--board-primary-bg);border-radius:var(--board-radius)}
#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none;padding:0}
#bo_v_file li {padding:10px 12px;position:relative;margin:6px 0;border:1px solid var(--board-primary-border);border-radius:var(--board-radius);background:#fff}
#bo_v_file li i {float:left;color:var(--board-primary-light);font-size:1.8em;margin-right:15px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:var(--board-text)}
#bo_v_file a:hover {color:var(--board-primary);text-decoration:underline}
#bo_v_file .bo_v_file_cnt {color:#999;font-size:0.85em}
#bo_v_file li:hover {border-color:var(--board-primary-light)}

/* 관련링크 */
#bo_v_link {margin:15px 0}
#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_link ul {margin:0;list-style:none;padding:0}
#bo_v_link li {padding:10px 12px;margin:6px 0;border:1px solid var(--board-border);border-radius:var(--board-radius)}
#bo_v_link li i {color:var(--board-primary-light);margin-right:8px}
#bo_v_link a {color:var(--board-primary);text-decoration:none}
#bo_v_link a:hover {text-decoration:underline}
#bo_v_link .bo_v_link_cnt {color:#999;font-size:0.85em}

/* 이전/다음글 */
.bo_v_nb {margin:0;padding:0;list-style:none;border-top:1px solid var(--board-border)}
.bo_v_nb li {padding:12px 14px;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:12px}
.bo_v_nb .nb_tit {
  display:inline-flex;align-items:center;gap:5px;
  min-width:70px;color:var(--board-primary);font-weight:600;font-size:0.85em;
}
.bo_v_nb a {color:var(--board-text);text-decoration:none;flex:1}
.bo_v_nb a:hover {color:var(--board-primary)}
.bo_v_nb .nb_date {color:#999;font-size:0.85em;white-space:nowrap}

/* View 하단 버튼 - 목록 (중앙, 큰 버튼) */
.bo_v_btn_center {text-align:center;margin:25px 0 15px}
.btn_list_center {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:140px;height:48px;padding:0 30px;
  background:var(--board-text);color:#fff;border-color:var(--board-text);
  font-size:0.95em;font-weight:600;border-radius:var(--board-radius);
  text-decoration:none;transition:all 0.2s ease;
}
.btn_list_center:hover {background:#555}

/* View 하단 관리 버튼 (우측 정렬) */
.bo_v_btn_bottom {display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;margin:0 0 20px;padding-top:10px;border-top:1px solid #f0f0f0}

/* ── 댓글 ── */
.cmt_btn {
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:12px 14px;margin:20px 0 0;
  background:var(--board-primary-bg);border:1px solid var(--board-primary-border);
  border-radius:var(--board-radius);cursor:pointer;
  font-size:0.9em;color:var(--board-primary);font-weight:600;
}
.cmt_btn:hover {background:var(--board-primary-border)}

#bo_vc {margin:0}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {padding:14px;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;align-items:flex-start}
#bo_vc article .pf_img {flex-shrink:0}
#bo_vc article .pf_img img {border-radius:50%;width:40px;height:40px}
#bo_vc .cm_wrap {flex:1}
#bo_vc .cm_wrap header {margin-bottom:4px}
#bo_vc .cm_wrap header h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cm_wrap .sv_member, #bo_vc .cm_wrap .member {font-weight:bold;color:var(--board-text);font-size:0.875em}
.bo_vc_hdinfo {color:#999;font-size:0.8em}
.cmt_contents {color:var(--board-text);font-size:0.875em;line-height:1.7}
#bo_vc_empty {text-align:center;padding:30px;color:var(--board-text-light);font-size:0.875em}

.bo_vl_opt {position:relative;flex-shrink:0;align-self:center}
.btn_cm_opt {background:none;border:none;color:var(--board-text-light);cursor:pointer;padding:5px 8px;font-size:14px}
.btn_cm_opt:hover {color:var(--board-primary)}
.bo_vc_act {display:none;position:absolute;right:0;top:30px;background:#fff;border:1px solid var(--board-border);border-radius:var(--board-radius);z-index:10;box-shadow:0 2px 8px rgba(0,0,0,0.1);list-style:none;margin:0;padding:0;overflow:hidden}
.bo_vc_act li a {display:block;padding:8px 18px;color:var(--board-text-light);text-decoration:none;font-size:0.85em}
.bo_vc_act li a:hover {background:var(--board-primary-bg);color:var(--board-primary)}

/* 댓글 쓰기 */
#bo_vc_w {margin:20px 0;padding:18px;background:var(--board-primary-bg);border-radius:var(--board-radius)}
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc_w textarea {
  width:100%;min-height:100px;padding:12px;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  font-size:0.875em;resize:vertical;box-sizing:border-box;margin-bottom:10px;
}
#bo_vc_w textarea:focus {border-color:var(--board-primary);outline:none}
.bo_vc_w_wr {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.bo_vc_w_info {display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.bo_vc_w_info .frm_input {height:36px;width:auto;min-width:120px}
#char_cnt {font-size:0.85em;color:var(--board-text-light);margin-left:8px}

.bo_vc_w .btn_confirm {padding:0;justify-content:flex-end}
.bo_vc_w .btn_submit {
  padding:8px 18px;height:36px;
  background:var(--board-primary);color:#fff;
  border:none;border-radius:var(--board-radius);font-size:0.875em;font-weight:600;
  cursor:pointer;transition:all 0.2s ease;
}
.bo_vc_w .btn_submit:hover {background:var(--board-primary-light)}
.secret_cm {font-size:0.85em;margin-right:10px}

/* ── 글쓰기 ── */
#bo_w {margin-bottom:20px}
.write_div {margin-bottom:10px}
.bo_w_select {margin-bottom:15px}
.bo_w_select select {width:100%;height:40px;padding:0 12px;border:1px solid var(--board-border);border-radius:var(--board-radius);font-size:0.875em}
.bo_w_info {display:flex;gap:8px;flex-wrap:wrap}
.frm_input {height:40px;padding:0 12px;border:1px solid var(--board-border);border-radius:var(--board-radius);font-size:0.875em;box-sizing:border-box}
.frm_input:focus {border-color:var(--board-primary);outline:none}
.full_input {width:100%}
.half_input {flex:1;min-width:150px}
.bo_v_option {list-style:none;margin:0;padding:8px 0;display:flex;gap:15px;flex-wrap:wrap}
.bo_w_tit {margin-bottom:15px}

#autosave_wrapper {position:relative}
#btn_autosave {
  position:absolute;right:0;top:0;height:40px;padding:0 12px;
  border:1px solid var(--board-border);border-radius:0 var(--board-radius) var(--board-radius) 0;
  background:var(--board-primary-bg);color:var(--board-primary);font-size:0.85em;cursor:pointer;
}
#autosave_pop {display:none;position:absolute;right:0;top:45px;width:350px;background:#fff;border:1px solid var(--board-border);border-radius:var(--board-radius);z-index:99;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
#autosave_pop strong {display:block;padding:12px 15px;font-weight:600;font-size:0.9em}
#autosave_pop ul {padding:15px;border-top:1px solid var(--board-border);list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid var(--board-border)}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:var(--board-primary-bg);border-radius:3px;margin-bottom:4px;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left;color:var(--board-primary)}
#autosave_pop span {display:block;float:right;font-size:0.85em;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:var(--board-text-light);font-weight:bold;font-size:0.92em;border:none}
.autosave_close:hover {background:var(--board-primary-bg);color:var(--board-primary)}
.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;border:none;cursor:pointer}

#char_count_desc {display:block;margin:0 0 8px;padding:0;color:var(--board-text-light);font-size:0.85em}
#char_count_wrap {margin:5px 0 0;text-align:right;font-size:0.85em;color:var(--board-text-light)}
#char_count {font-weight:bold;color:var(--board-primary)}

.bo_w_link label {display:inline-flex;align-items:center;margin-right:8px;color:var(--board-primary-light)}
.bo_w_flie {border:1px dashed var(--board-border);border-radius:var(--board-radius);padding:12px}
.bo_w_flie .lb_icon {color:var(--board-primary-light);margin-right:8px}
.file_del {font-size:0.85em;color:var(--board-text-light);display:block;margin-top:5px}
.btn_frmline {display:inline-block;padding:0 10px;height:30px;border:1px solid var(--board-border);border-radius:var(--board-radius);background:#fff;color:var(--board-text-light);font-size:0.85em;cursor:pointer}

/* 작성/취소 버튼 */
.btn_confirm {text-align:center;padding:20px 0;display:flex;justify-content:center;gap:8px}
.btn_confirm .btn_cancel {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:100px;height:40px;padding:0 20px;
  border:1px solid var(--board-border);border-radius:var(--board-radius);
  background:#fff;color:var(--board-text);font-size:0.875em;
  text-decoration:none;transition:all 0.2s ease;
}
.btn_confirm .btn_cancel:hover {border-color:var(--board-primary);color:var(--board-primary)}
.btn_confirm .btn_submit {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:100px;height:40px;padding:0 20px;
  border:none;border-radius:var(--board-radius);
  background:var(--board-primary);color:#fff;font-size:0.875em;font-weight:600;
  cursor:pointer;transition:all 0.2s ease;
}
.btn_confirm .btn_submit:hover {background:var(--board-primary-light)}

/* 빈 테이블 */
.empty_table {text-align:center;padding:30px !important;color:var(--board-text-light);font-size:0.875em}

/* ── 모바일 ── */
@media (max-width: 768px) {
  .tbl_head01 thead .th_name,
  .tbl_head01 thead .th_hit,
  .tbl_head01 thead .th_file,
  .tbl_head01 tbody .td_name.sv_use,
  .tbl_head01 tbody .td_num,
  .tbl_head01 tbody .td_file {display:none}

  .th_num, #bo_list .td_num2 {width:50px}
  #bo_list .td_datetime {font-size:0.8rem; max-width:30px;}
  .tbl_head01 tbody td {10px 0 10px 8px; font-size:1rem;}

  .bo_sch_inline {display:none}
  .bo_btn_area {justify-content:center}
  .btn_board {padding:7px 12px;font-size:0.8em}

  #bo_v_title .bo_v_tit {font-size:1.25em}
  #bo_v_info .profile_info {float:none;width:100%}

  .bo_v_nb li {flex-direction:column;align-items:flex-start;gap:4px}
  .bo_v_nb .nb_date {display:none}

  .bo_v_btn_bottom {justify-content:center}

  #bo_vc article {padding:10px 8px}

  .bo_w_info {flex-direction:column}
  .btn_confirm {flex-direction:column}
  .btn_confirm .btn_cancel, .btn_confirm .btn_submit {width:100%;min-width:auto}
  .bo_vc_w_wr {flex-direction:column;align-items:stretch}
}


.pdf-preview-wrap {
    margin-top: 20px;
}
.pdf-preview-label {
    font-size: 14px;
    font-weight: bold;
    color: #444;
    margin-bottom: 8px;
}
.pdf-preview-container {
    width: 100%;
    height: 800px;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
    .pdf-preview-container {
        height: 500px;
    }
}

/* 스크린리더 전용 */
.sound_only {position:absolute;display:inline-block;overflow:hidden;border:0;width:1px;height:1px;clip:rect(0,0,0,0);clip-path:inset(50%);word-wrap:normal !important}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden;font-size: 1em;}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto !important}





/* ── 게시물 뷰 헤더 ── */
#bo_v > header {
  border-bottom: 1px solid var(--board-border);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}
.bo_v_header_top {
  margin-bottom: 0.5rem;
  min-height: 1.2em;
}
.bo_v_cate {
  display: inline-flex;
  align-items: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--board-primary);
  background: var(--board-primary-bg);
  border: 1px solid var(--board-primary-border);
  padding: 0.15rem 0.6rem;
  border-radius: 3px;
}
#bo_v_title {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--board-text);
  line-height: 1.4;
  margin: 0 0 0.75rem;
  border: none;
  padding: 0;
}
.bo_v_meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--board-text-light);
}
.bo_v_meta__label {
  color: var(--board-text-light);
  margin-right: 0.2rem;
}
.bo_v_meta__sep {
  color: var(--board-border);
}
