/* 게시판 새 틀(2026-10-18, 운영자 요청 "공지사항, 자료실도 다른 페이지와 이질감없이 리뉴얼") — theme/new/head.php 에서 불러온다
   - 배너: 페이지 이름(H1)·설명(서브페이지 새 틀 .cmsx-vh1 과 같은 크기), 그 아래 위치 표시줄
   - 목록·보기(skin/board/basic): 흰 바탕·얇은 선·둥근 모서리·남색 강조. 글쓴이·하트 아이콘 없이 제목·날짜 위주
   - 색: 남색 #1f3a8a·#0b2f6b, 글자 #1b2333, 보조 #5b6475, 선 #e3e8f0, 옅은 바탕 #f5f7fb */

/* ---------- 배너 ---------- */
#container_wr > .sub_wr.cmsx-bbs > .subVisual .cmsx-bbs__h1 {
  margin: 0; padding: 190px 24px 0; color: #fff; font-size: 50px; font-weight: 600; letter-spacing: -0.04em; text-align: center; line-height: 1.2;
}
#container_wr > .sub_wr.cmsx-bbs > .subVisual p.cmsx-bbs__sub {
  margin: 12px 0 0; padding: 0 24px; color: #fff; font-size: 20px; font-weight: 300; letter-spacing: -0.02em; text-align: center; line-height: 1.5;
}

/* ---------- 목록 ---------- */
#bo_list, #bo_v { box-sizing: border-box; padding: 56px 24px 80px; color: #1b2333; letter-spacing: -0.02em; word-break: keep-all; }
#bo_list *, #bo_v * { box-sizing: border-box; }
#bo_list a, #bo_list a:link, #bo_list a:visited, #bo_v a, #bo_v a:link, #bo_v a:visited { font-size: inherit; }
#bo_list #bo_btn_top { display: flex; align-items: center; justify-content: space-between; margin: 0 0 14px; }
#bo_list #bo_list_total { float: none; font-size: 15px; line-height: 1.5; color: #5b6475; }
#bo_list #bo_list_total strong { color: #1f3a8a; font-weight: 800; }
#bo_list #bo_list_total em { margin-left: 8px; font-style: normal; font-size: 13px; color: #9aa3b2; }
#bo_list .btn_bo_sch { display: none; } /* 검색은 목록 아래 바로 보이게 */

#bo_list .tbl_head01 { margin: 0; }
#bo_list .tbl_head01 table { width: 100%; border-collapse: separate; border-spacing: 0; border-top: 2px solid #1b2333; }
#bo_list .tbl_head01 caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
#bo_list .tbl_head01 thead th {
  height: 52px; padding: 0 12px; border: 0; border-bottom: 1px solid #e3e8f0; background: #f5f7fb;
  font-size: 14px; font-weight: 600; color: #5b6475; text-align: center;
}
#bo_list .tbl_head01 thead th a, #bo_list .tbl_head01 thead th a:link { color: #5b6475; }
#bo_list .tbl_head01 tbody td {
  height: 64px; padding: 12px; border: 0; border-bottom: 1px solid #e3e8f0; background: #fff !important;
  font-size: 14px; color: #7a8599; text-align: center; vertical-align: middle;
}
#bo_list .tbl_head01 tbody tr:hover td { background: #f6f8fd !important; }
#bo_list .tbl_head01 .td_num2 { width: 96px; }
#bo_list .tbl_head01 .td_num { width: 80px; }
#bo_list .tbl_head01 .td_datetime { width: 120px; }
#bo_list .tbl_head01 .td_subject { text-align: left; }
#bo_list .bo_tit { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 16px; color: #1b2333; font-weight: 500; line-height: 1.5; }
#bo_list .bo_tit > a, #bo_list .bo_tit > a:link, #bo_list .bo_tit > a:visited { color: #1b2333; font-size: 16px; text-decoration: none; }
#bo_list tr:hover .bo_tit > a { color: #1f3a8a; text-decoration: underline; text-underline-offset: 3px; }
#bo_list .bo_notice td a { font-weight: 600; }
#bo_list .notice_icon, #bo_list .bo_notice .notice_icon {
  display: inline-block; padding: 4px 10px; border-radius: 999px; background: #eef2fb; color: #1f3a8a;
  font-size: 12px; font-weight: 700; line-height: 1.2;
}
#bo_list .notice_icon--file, #bo_list .bo_notice .notice_icon--file { background: #fff4d6; color: #8a5a00; }
#bo_list .bo_tit .fa-download {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin: 0; border-radius: 6px;
  background: #eef2fb; color: #1f3a8a; font-size: 12px; line-height: 1;
}
#bo_list .bo_tit .fa-link {
  display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin: 0; border-radius: 6px;
  background: #eef2fb; color: #1f3a8a; font-size: 12px; line-height: 1;
}
#bo_list .bo_tit .new_icon { width: auto; padding: 2px 6px; border-radius: 6px; background: #fdb813; color: #231a00; font-size: 11px; font-weight: 800; line-height: 1.3; }
#bo_list .bo_tit .fa-heart, #bo_list .bo_tit .hot_icon { display: none; }
#bo_list .empty_table { height: 160px; color: #7a8599; }

/* 페이지 번호 */
#bo_list .pg_wrap { float: none; display: flex; justify-content: center; margin: 32px 0 0; }
#bo_list .pg { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
#bo_list .pg_page, #bo_list a.pg_page:link, #bo_list a.pg_page:visited, #bo_list .pg_current {
  display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 10px; margin: 0;
  border: 1px solid #e3e8f0; border-radius: 10px; background-color: #fff; font-size: 14px; color: #5b6475; line-height: 1;
}
#bo_list a.pg_page:hover { border-color: #b8c6e6; color: #1f3a8a; background-color: #f6f8fd; }
/* 처음·이전·다음·맨끝은 기존 화살표 그림(배경)을 그대로 쓴다 */
#bo_list .pg_start, #bo_list .pg_prev, #bo_list .pg_next, #bo_list .pg_end { padding: 0; background-position: center center; background-repeat: no-repeat; }
#bo_list .pg_current { border-color: #1f3a8a; background: #1f3a8a; color: #fff; font-weight: 700; }

/* 검색: 떠 있는 창 대신 목록 아래 한 줄 */
#bo_list .bo_sch_wrap { display: block !important; position: static; width: auto; height: auto; z-index: auto; }
#bo_list .bo_sch_bg, #bo_list .bo_sch .bo_sch_cls, #bo_list .bo_sch h3 { display: none !important; }
#bo_list .bo_sch {
  position: static; width: auto; max-width: 560px; max-height: none; margin: 28px auto 0; padding: 0; overflow: visible;
  border: 0; border-radius: 0; background: none; box-shadow: none;
}
#bo_list .bo_sch form { display: flex; gap: 8px; padding: 0; }
#bo_list fieldset.bo_sch { min-width: 0; } /* fieldset 기본 최소 폭(내용 폭) 때문에 좁은 화면에서 넘치지 않게 */
#bo_list .bo_sch .sch_bar, #bo_list .bo_sch .sch_input { min-width: 0; }
#bo_list .bo_sch select { flex: 0 0 132px; width: 132px; height: 46px; padding: 0 12px; border: 1px solid #d9e0eb; border-radius: 10px; box-shadow: none; background-color: #fff; font-size: 14px; color: #1b2333; }
#bo_list .bo_sch .sch_bar { flex: 1 1 auto; display: flex; width: auto; margin: 0; border: 1px solid #d9e0eb; border-radius: 10px; box-shadow: none; background: #fff; overflow: hidden; }
#bo_list .bo_sch .sch_bar:focus-within { border-color: #1f3a8a; }
#bo_list .bo_sch .sch_input { flex: 1 1 auto; width: auto; height: 44px; padding: 0 14px; float: none; font-size: 15px; }
#bo_list .bo_sch .sch_btn { flex: 0 0 52px; width: 52px; height: 44px; float: none; background: #1f3a8a; color: #fff; font-size: 16px; }

/* 관리자 버튼(로그인한 관리자에게만 보임) */
#bo_list .btn_bo_user li, #bo_v .btn_bo_user li { background: none; }
#bo_list .bo_fx { margin-top: 16px; }

/* ---------- 보기 ---------- */
#bo_v > header { padding-bottom: 0; }
#bo_v #bo_v_title { margin: 0; padding: 0; }
#bo_v #bo_v_title .bo_v_tit { margin: 0; font-size: 30px; font-weight: 800; line-height: 1.4; letter-spacing: -0.03em; color: #1b2333; word-break: keep-all; }
#bo_v #bo_v_info { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 0; padding: 0 0 18px; border-bottom: 1px solid #e3e8f0; }
#bo_v #bo_v_info:after { display: none; }
#bo_v .cms-bv-meta { display: flex; gap: 16px; margin: 0; font-size: 14px; color: #7a8599; }
#bo_v .cms-bv-meta > span + span:before { content: ""; display: inline-block; width: 1px; height: 12px; margin: 0 16px 0 0; background: #d9e0eb; vertical-align: -1px; }
#bo_v #bo_v_info .profile_info { margin: 0; }
#bo_v #bo_v_top { margin: 0; }
#bo_v .btn_bo_user { float: none; display: flex; gap: 6px; }
#bo_v .btn_bo_user li { float: none; width: auto; margin: 0; }
#bo_v .btn_bo_user .btn, #bo_v .btn_bo_user .btn_b01 {
  display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; border: 1px solid #d9e0eb; border-radius: 10px;
  background: #fff; color: #1b2333; font-size: 14px; font-weight: 600; line-height: 1;
}
#bo_v .btn_bo_user .btn:hover { border-color: #1f3a8a; color: #1f3a8a; }
#bo_v .cms-bv-list span { display: inline; }

/* 첨부파일(자료실은 이것을 받으러 오는 곳이라 본문 위) */
#bo_v #bo_v_file { margin: 24px 0 0; }
#bo_v #bo_v_file ul { display: grid; gap: 10px; margin: 0; padding: 0; }
#bo_v #bo_v_file li { margin: 0; padding: 0; border: 0; background: none; }
#bo_v #bo_v_file a.view_file_download {
  float: none; display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid #e3e8f0; border-radius: 14px;
  background: #f5f7fb; color: #1b2333; text-decoration: none;
}
#bo_v #bo_v_file a.view_file_download:hover { border-color: #b8c6e6; background: #eef3fd; }
#bo_v #bo_v_file a.view_file_download > i { float: none; display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; margin: 0; border-radius: 12px; background: #fff; color: #1f3a8a; font-size: 20px; }
#bo_v #bo_v_file .cms-bv-file__txt { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.5; word-break: break-all; }
#bo_v #bo_v_file .cms-bv-file__txt strong { font-weight: 700; color: #1b2333; }
#bo_v #bo_v_file .bo_v_file_cnt { display: block; margin-top: 2px; font-size: 13px; color: #7a8599; }
#bo_v #bo_v_file .cms-bv-file__btn { flex: none; display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border-radius: 999px; background: #1f3a8a; color: #fff; font-size: 14px; font-weight: 700; }

/* 본문 */
#bo_v #bo_v_atc { min-height: 0; padding: 32px 0 8px; }
#bo_v #bo_v_con { font-size: 16px; line-height: 1.8; color: #2c3446; word-break: keep-all; overflow-wrap: break-word; }
#bo_v #bo_v_con img { max-width: 100%; height: auto; }
#bo_v #bo_v_share { margin: 0; }

/* 이전·다음 글 */
#bo_v .bo_v_nb { margin: 40px 0 0; padding: 0; border-top: 2px solid #1b2333; list-style: none; }
#bo_v .bo_v_nb li { display: flex; align-items: center; gap: 16px; padding: 16px 12px; border-top: 0; border-bottom: 1px solid #e3e8f0; }
#bo_v .bo_v_nb li:hover { background: #f6f8fd; }
#bo_v .bo_v_nb li .nb_tit { flex: none; width: 72px; padding: 0; color: #5b6475; font-size: 14px; font-weight: 600; }
#bo_v .bo_v_nb li .nb_tit i { display: none; }
#bo_v .bo_v_nb li a { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #1b2333; font-size: 15px; }
#bo_v .bo_v_nb li .nb_date { float: none; flex: none; color: #9aa3b2; font-size: 13px; }

/* ---------- 모바일 ---------- */
@media screen and (max-width: 767px) {
  #container_wr > .sub_wr.cmsx-bbs > .subVisual .cmsx-bbs__h1 { padding: 92px 20px 0; font-size: 26px; font-weight: 700; }
  #container_wr > .sub_wr.cmsx-bbs > .subVisual p.cmsx-bbs__sub { margin-top: 6px; padding: 0 20px; font-size: 14px; font-weight: 400; line-height: 1.5; }
  #bo_list, #bo_v { padding: 28px 16px 56px; }
  /* 목록: 표 대신 줄마다 '제목 / 표시·날짜' */
  #bo_list .tbl_head01 thead { display: none; }
  #bo_list .tbl_head01 table, #bo_list .tbl_head01 tbody { display: block; }
  #bo_list .tbl_head01 tbody tr { display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 8px; row-gap: 4px; padding: 14px 4px; border-bottom: 1px solid #e3e8f0; }
  #bo_list .tbl_head01 tbody td { display: block; height: auto; padding: 0; border: 0; text-align: left; font-size: 13px; }
  #bo_list .tbl_head01 tbody tr:hover td { background: none !important; }
  #bo_list .tbl_head01 .td_subject { grid-column: 1 / -1; grid-row: 1; }
  #bo_list .tbl_head01 .td_num2 { grid-row: 2; width: auto; }
  #bo_list .tbl_head01 .td_num { grid-row: 2; width: auto; }
  #bo_list .tbl_head01 .td_num:before { content: "조회 "; }
  #bo_list .tbl_head01 .td_datetime { grid-row: 2; width: auto; text-align: right; }
  #bo_list .tbl_head01 .td_name { display: none; }
  #bo_list .bo_tit, #bo_list .bo_tit > a, #bo_list .bo_tit > a:link { font-size: 15px; }
  #bo_list .bo_sch select { flex-basis: 96px; width: 96px; }
  #bo_v #bo_v_title .bo_v_tit { font-size: 22px; }
  #bo_v #bo_v_info { flex-wrap: wrap; }
  #bo_v #bo_v_file a.view_file_download { padding: 12px; gap: 10px; }
  #bo_v #bo_v_file a.view_file_download > i { width: 36px; height: 36px; font-size: 16px; }
  #bo_v #bo_v_file .cms-bv-file__btn { height: 32px; padding: 0 10px; font-size: 13px; }
  #bo_v #bo_v_con { font-size: 15px; }
}
