/* Pretendard 웹폰트 — 게시판 스킨이 head.php의 add_stylesheet() 등록 순서/실행 여부에
   의존하지 않고 항상 폰트를 확보하도록, 이 CSS 파일 자체에서 직접 불러옵니다.
   (CSS 스펙상 @import는 @charset 다음, 다른 규칙보다 반드시 앞에 와야 합니다) */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css');

/* ==========================================================================
   GIDF 게시판 스킨 — skin/board/gidf/style.css
   list.skin.php / view.skin.php / write.skin.php / view_comment.skin.php 의
   PHP 로직/변수 구조는 그대로 두고, 디자인만 GIDF 사이트(검정 배경 + Pretendard +
   navy/red 포인트 컬러)에 맞춰 새로 입힌 스타일시트입니다.
   ========================================================================== */

#bo_list, #bo_v, #bo_w {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif;
  color: #ddd;
  max-width: 100%;
}

/* 공통 버튼 */
.btn_bo_user { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.btn_bo_user li { list-style: none; }
.btn_bo_user .btn,
.btn_confirm .btn,
.btn_cancel,
.btn_submit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 6px;
  border: 1px solid #333;
  background: #141414;
  color: #ddd;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.btn_bo_user .btn:hover,
.btn_cancel:hover { border-color: #555; color: #fff; }
.btn_submit,
.btn_confirm .btn_submit {
  background: #e6001a;
  border-color: #e6001a;
  color: #fff;
}
.btn_submit:hover { background: #c50016; }

/* ---------- 목록 (list.skin.php) ---------- */
#bo_list { width: 100% !important; }

#bo_btn_top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
#bo_list_total {
  font-size: 13px;
  color: #999;
}
#bo_list_total span { color: #ccc; font-weight: 600; margin-right: 6px; }

.tbl_head01 { width: 100%; overflow-x: auto; }
.tbl_head01 table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.tbl_head01 table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  background: transparent;
}
.tbl_head01 thead,
.tbl_head01 tbody,
.tbl_head01 tr,
.tbl_head01 th,
.tbl_head01 td {
  background: transparent;
}
.tbl_head01 thead th {
  border-bottom: 2px solid #333;
  padding: 12px 10px;
  color: #999;
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  white-space: nowrap;
}
.tbl_head01 thead th a { color: inherit; }
.tbl_head01 tbody tr { border-bottom: 1px solid #1e1e1e; transition: background-color .15s ease; }
.tbl_head01 tbody tr:hover,
.tbl_head01 tbody tr:hover td {
  background: #1a1a1a !important;
}
.tbl_head01 tbody tr.bo_notice,
.tbl_head01 tbody tr.bo_notice td { background: #141420 !important; }
.tbl_head01 td {
  padding: 14px 10px;
  text-align: center;
  color: #bbb;
}
.tbl_head01 .td_name { color: #fff; }
.tbl_head01 .td_subject {
  text-align: left;
}
.tbl_head01 .td_subject .bo_tit a {
  color: #eee;
  font-weight: 600;
  text-decoration: none;
}
.tbl_head01 .td_subject .bo_tit a:hover { color: #fff; text-decoration: underline; }
.tbl_head01 .notice_icon {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  background: #1b2489;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
.tbl_head01 .new_icon {
  display: inline-block;
  margin-left: 4px;
  color: #e6001a;
  font-weight: 800;
  font-size: 11px;
}
.tbl_head01 .cnt_cmt {
  display: inline-block;
  margin-left: 4px;
  color: #e6001a;
  font-weight: 700;
  font-size: 12px;
}
.tbl_head01 .empty_table { padding: 60px 0; color: #666; background: transparent; }
.tbl_head01 .bo_current { color: #e6001a; font-weight: 700; }

/* 체크박스류 아이콘(그누보드 기본 이미지) 살짝 밝게 보이도록 */
.chk_box img { vertical-align: middle; }

/* 페이지네이션 */
.pg_wrap { text-align: center; margin: 28px 0; }
.pg_wrap .pg_page,
.pg_wrap .pg_current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  margin: 0 2px;
  padding: 0 6px;
  border-radius: 6px;
  color: #999;
  text-decoration: none;
  font-size: 13px;
}
.pg_wrap .pg_current { background: #e6001a; color: #fff; font-weight: 700; }
.pg_wrap .pg_page:hover { background: #1a1a1a; color: #fff; }

/* 검색창 */
.bo_sch_wrap { position: fixed; inset: 0; z-index: 200; display: none; }
.bo_sch_wrap .bo_sch_bg { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.bo_sch_wrap fieldset.bo_sch {
  position: relative;
  max-width: 480px;
  margin: 120px auto 0;
  background: #111;
  border: 1px solid #333;
  border-radius: 10px;
  padding: 24px;
  z-index: 1;
}
.bo_sch_wrap h3 { color: #fff; margin: 0 0 14px; font-size: 16px; }
.bo_sch_wrap select,
.bo_sch_wrap .sch_input {
  background: #1a1a1a;
  border: 1px solid #333;
  color: #eee;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 14px;
}
.bo_sch_wrap .sch_bar { display: flex; gap: 8px; margin-top: 10px; }
.bo_sch_wrap .sch_input { flex: 1; }
.bo_sch_wrap .sch_btn { background: #e6001a; border: none; color: #fff; border-radius: 6px; padding: 0 14px; }
.bo_sch_wrap .bo_sch_cls { position: absolute; top: 14px; right: 14px; background: none; border: none; color: #999; }

/* ---------- 상세보기 (view.skin.php) ---------- */
#bo_v {
  width: 100% !important;
  display: flex;
  flex-direction: column;
}
#bo_v > header { order: 1; }
#bo_v_atc { order: 2; }
#bo_v_file { order: 3; }
#bo_v_link { order: 4; }
.bo_v_nb { order: 5; }
/* 작성자 정보(+목록 버튼)를 맨 아래로 */
#bo_v_info {
  order: 6;
  margin-top: 40px;
  margin-bottom: 0;
  padding-top: 28px;
  border-top: 1px solid #222;
}
#bo_v_info > h2 { display: none; }
/* 댓글 영역은 표시하지 않음 */
.cmt_btn, #bo_vc, #bo_vc_w { display: none !important; }

#bo_v_title {
  border-bottom: 1px solid #333;
  padding-bottom: 24px;
  margin-bottom: 24px;
}
#bo_v_title .bo_v_tit {
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 800;
  color: #fff;
  line-height: 1.4;
}
.profile_info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding: 14px 16px;
  background: #111;
  border: 1px solid #222;
  border-radius: 10px;
}
.profile_info .pf_img { flex-shrink: 0; }
.profile_info .pf_img img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}
.profile_info_ct { font-size: 13px; color: #999; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.profile_info_ct strong { color: #eee; font-weight: 700; font-size: 14px; }
.profile_info_ct a { color: inherit; text-decoration: none; }
.profile_info_ct i { margin-right: 3px; opacity: .7; }

/* 목록/답변/글쓰기 버튼을 우측 정렬 */
#bo_v_top { margin-top: 8px; }
#bo_v_top .btn_bo_user { justify-content: flex-end; }

#bo_v_atc { padding-top: 8px; }
/* "본문" 라벨은 숨김 */
#bo_v_atc_title { display: none; }
#bo_v_share { display: flex; gap: 8px; margin-bottom: 16px; }
#bo_v_con {
  font-size: 16px;
  line-height: 1.9;
  color: #ddd;
  min-height: 120px;
  padding: 8px 0 32px;
}
#bo_v_con img { max-width: 100%; height: auto; }
#bo_v_con a { color: #6a8fff; }

#bo_v_act { display: flex; justify-content: center; gap: 16px; margin: 24px 0; }
.bo_v_good, .bo_v_nogood {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1px solid #333;
  border-radius: 8px;
  color: #ccc;
  text-decoration: none;
  font-size: 14px;
}
.bo_v_good:hover, .bo_v_nogood:hover { border-color: #e6001a; color: #fff; }

#bo_v_file, #bo_v_link {
  border-top: 1px solid #222;
  padding: 16px 0;
}
#bo_v_file h2, #bo_v_link h2 { font-size: 13px; color: #888; margin: 0 0 10px; font-weight: 600; }
#bo_v_file ul, #bo_v_link ul { list-style: none; margin: 0; padding: 0; }
#bo_v_file li, #bo_v_link li { font-size: 13px; color: #bbb; padding: 6px 0; }
#bo_v_file a, #bo_v_link a { color: #ccc; text-decoration: none; }
#bo_v_file a:hover, #bo_v_link a:hover { color: #fff; text-decoration: underline; }
.bo_v_file_cnt, .bo_v_link_cnt { display: block; font-size: 11px; color: #666; margin-top: 2px; }

.bo_v_nb {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  border-top: 1px solid #222;
}
.bo_v_nb li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-bottom: 1px solid #1e1e1e;
  font-size: 13px;
}
.bo_v_nb .nb_tit { color: #888; flex-shrink: 0; width: 70px; }
.bo_v_nb a { color: #ccc; text-decoration: none; flex: 1; }
.bo_v_nb a:hover { color: #fff; }
.bo_v_nb .nb_date { color: #666; }

/* ---------- 댓글 (view_comment.skin.php) ---------- */
.cmt_btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  color: #ccc;
  font-size: 14px;
  padding: 10px 0;
  cursor: pointer;
}
.cmt_btn b { color: #fff; }

#bo_vc { border-top: 1px solid #222; padding-top: 16px; }
#bo_vc > h2 { font-size: 13px; color: #888; margin: 0 0 12px; font-weight: 600; }
#bo_vc_empty { color: #666; font-size: 13px; padding: 20px 0; }

#bo_vc article {
  display: flex;
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid #1a1a1a;
}
#bo_vc article:first-child { border-top: none; }
#bo_vc .cm_wrap { flex: 1; min-width: 0; }
#bo_vc header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #999;
  margin-bottom: 6px;
}
#bo_vc header h2 { display: none; }
.bo_vc_hdinfo { color: #666; }
.cmt_contents p { margin: 0; font-size: 14px; line-height: 1.7; color: #ddd; }

.bo_vl_opt { position: relative; }
.btn_cm_opt { background: none; border: none; color: #666; cursor: pointer; }
.bo_vc_act {
  display: none;
  list-style: none;
  position: absolute;
  right: 0;
  background: #1a1a1a;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 6px 0;
  min-width: 90px;
  z-index: 5;
}
.bo_vc_act li a { display: block; padding: 8px 14px; font-size: 13px; color: #ccc; text-decoration: none; }
.bo_vc_act li a:hover { background: #262626; color: #fff; }

/* 댓글쓰기 폼 */
.bo_vc_w { border-top: 1px solid #222; padding-top: 16px; margin-top: 8px; }
.bo_vc_w h2 { font-size: 13px; color: #888; margin: 0 0 10px; font-weight: 600; }
.bo_vc_w textarea {
  width: 100%;
  min-height: 90px;
  background: #141414;
  border: 1px solid #333;
  border-radius: 8px;
  color: #eee;
  font-size: 14px;
  padding: 12px;
  box-sizing: border-box;
  font-family: inherit;
  resize: vertical;
}
.bo_vc_w_wr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-top: 10px; }
.bo_vc_w_info { display: flex; flex-wrap: wrap; gap: 8px; }
.bo_vc_w_info .frm_input {
  background: #141414;
  border: 1px solid #333;
  color: #eee;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
}
.secret_cm { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #999; margin-right: 10px; }

/* ---------- 글쓰기 (write.skin.php) ---------- */
#bo_w { width: 100% !important; }

/* 문의(contact) 게시판 글쓰기 화면만: 공지/html 옵션, 임시저장, 링크 입력 숨김
   (다른 게시판은 그대로 유지 — write.skin.php에서 bo_table=contact 일 때만
   #bo_w 에 .gidf-contact-form 클래스가 붙습니다) */
.gidf-contact-form .write_div:has(.bo_v_option) { display: none !important; }
.gidf-contact-form #btn_autosave,
.gidf-contact-form #autosave_pop { display: none !important; }
.gidf-contact-form .bo_w_link { display: none !important; }

/* 문의(contact) 상세보기: 이전글/다음글, 목록/글쓰기 버튼 숨김 */
.gidf-contact-form .bo_v_nb { display: none !important; }
.gidf-contact-form #bo_v_top a[title="목록"],
.gidf-contact-form #bo_v_top a[title="글쓰기"] {
  display: none !important;
}
.write_div { margin-bottom: 16px; }
.bo_w_info { display: flex; flex-wrap: wrap; gap: 10px; }
.frm_input {
  width: 100%;
  box-sizing: border-box;
  background: #141414;
  border: 1px solid #333;
  color: #eee;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
}
.frm_input.half_input { width: calc(50% - 5px); }
.frm_input:focus { outline: none; border-color: #e6001a; }
.frm_input::placeholder { color: #666; }

.bo_w_tit .frm_input { font-size: 17px; font-weight: 600; }

.wr_content textarea,
#wr_content {
  width: 100%;
  min-height: 320px;
  box-sizing: border-box;
  background: #141414;
  border: 1px solid #333;
  color: #eee;
  border-radius: 8px;
  padding: 14px;
  font-size: 15px;
  font-family: inherit;
  resize: vertical;
}
#char_count_desc, #char_count_wrap { font-size: 12px; color: #888; margin: 6px 0; }

.bo_v_option { list-style: none; display: flex; gap: 14px; margin: 0; padding: 0; }
.bo_v_option li { list-style: none; font-size: 13px; color: #ccc; display: flex; align-items: center; gap: 6px; }

.bo_w_select select {
  width: 100%;
  background: #141414;
  border: 1px solid #333;
  color: #eee;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
}

.file_wr { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.file_wr .frm_file { color: #999; font-size: 13px; }
.file_del { font-size: 12px; color: #999; }

.btn_confirm {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #222;
}
.btn_confirm .btn { padding: 12px 28px; font-size: 15px; }

/* 체크박스 라벨(공지/html/비밀글 등) 텍스트가 검정 배경에서도 잘 보이게 */
.chk_box label { color: #ccc; font-size: 13px; }

/* 모바일 */
@media (max-width: 640px) {
  .frm_input.half_input { width: 100%; }
  .tbl_head01 thead { display: none; }
  .tbl_head01, .tbl_head01 table, .tbl_head01 tbody { display: block; width: 100%; }
  .tbl_head01 table { border-top: 1px solid #333; }
  .tbl_head01 tbody tr {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid #1e1e1e;
    overflow: hidden;
  }
  .tbl_head01 tbody td {
    display: block;
    float: none;
    text-align: left;
    padding: 0;
    margin: 0;
    border: none;
    line-height: 20px;
  }
  /* 모바일에서는 제목/날짜만 보이고 번호·글쓴이·조회는 숨김 */
  .tbl_head01 .td_chk,
  .tbl_head01 .td_num2,
  .tbl_head01 .td_name,
  .tbl_head01 .td_num {
    display: none !important;
  }
  .tbl_head01 .td_subject {
    float: left;
    max-width: 72%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
    line-height: 20px;
  }
  .tbl_head01 .td_subject .bo_tit a { font-size: 15px; line-height: 20px; display: inline-block; }
  .tbl_head01 .td_datetime {
    float: right;
    width: auto;
    text-align: right;
    font-size: 12px;
    line-height: 20px;
    color: #777;
  }
}

#bo_list, #bo_list *,
#bo_v, #bo_v *,
#bo_w, #bo_w * {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', sans-serif !important;
}