@charset "utf-8";
/* ===== CAAS 게시판 스킨 (2026) — 네이비/블루/Pretendard 트렌디 ===== */
:root{ --bd-navy:#0B1F40; --bd-blue:#F26A21; --bd-blue2:#cd4800; --bd-line:#e6eaf1; --bd-ink:#374151; --bd-muted:#9aa6bb; }
.data_view, .total, .pagination, .serch_table, .bd-list-table, .bd-write, .btn{ font-family:'Pretendard','Malgun Gothic',sans-serif; }

/* ---- 목록 상단 툴바(건수) ---- */
.total{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--bd-muted); margin:0 0 14px; padding:0; }
.total span{ color:var(--bd-navy); font-weight:700; }

/* ---- 목록 테이블 ---- */
.bd-list-table{ width:100%; border-collapse:separate; border-spacing:0; border-top:2px solid var(--bd-navy); }
.bd-list-table thead th{ background:#FBF3EE; color:var(--bd-navy); font-size:13.5px; font-weight:700; padding:15px 12px; border-bottom:1px solid var(--bd-line); text-align:center; }
.bd-list-table tbody td{ padding:15px 12px; border-bottom:1px solid #eef2f8; font-size:14px; color:var(--bd-ink); text-align:center; vertical-align:middle; }
.bd-list-table tbody tr:hover{ background:#FFF7F2; }
.bd-list-table td:nth-child(2){ text-align:left; }
.bd-list-table a.board{ color:var(--bd-navy); font-weight:500; text-decoration:none; transition:.15s; }
.bd-list-table a.board:hover{ color:var(--bd-blue); }
.bd-list-table .m_none{}

/* ---- 검색 바 ---- */
.serch_table{ width:100%; margin:26px 0 0; }
.serch_table .serch_txt{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px;
  background:#FBF3EE; border:1px solid var(--bd-line); border-radius:12px; padding:16px 18px; }
.serch_table input[type=checkbox]{ width:15px; height:15px; accent-color:var(--bd-blue); vertical-align:-2px; }
.serch_table .input1{ height:40px; border:1px solid #d4dbe6; border-radius:8px; padding:0 13px; font-size:14px; color:var(--bd-ink); }
.serch_btn{ height:40px; padding:0 22px; border:0; border-radius:8px; cursor:pointer; background:var(--bd-blue); color:#fff; font-size:14px; font-weight:600; transition:.15s; }
.serch_btn:hover{ background:var(--bd-blue2); }

/* ---- 페이지네이션 ---- */
.pagination{ margin:30px 0 0; }
.pagination ul{ display:flex; justify-content:center; gap:6px; list-style:none; padding:0; margin:0; }
.pagination li{ list-style:none; }
.pagination li a{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 10px;
  border:1px solid var(--bd-line); border-radius:8px; background:#fff; color:var(--bd-ink); font-size:13px; text-decoration:none; transition:.15s; }
.pagination li a:hover{ border-color:var(--bd-blue); color:var(--bd-blue); }
.pagination li.active a, .pagination li a.page_current{ background:var(--bd-blue); color:#fff; border-color:var(--bd-blue); font-weight:700; }

/* ---- 글쓰기 버튼 ---- */
.btn{ display:flex; justify-content:flex-end; margin:18px 0 0; }
.btn .write a{ display:inline-flex; align-items:center; height:44px; padding:0 26px; border-radius:8px;
  background:var(--bd-navy); color:#fff; font-size:14px; font-weight:600; text-decoration:none; transition:.15s; }
.btn .write a:hover{ background:var(--bd-blue); }

/* ---- 카테고리 탭 ---- */
.bd_category_area{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0 0 18px; }
.bd_category_area li{ list-style:none; }
.bd_category_area .cate_item{ display:inline-block; padding:9px 18px; border:1px solid var(--bd-line); border-radius:999px;
  font-size:13px; color:var(--bd-ink); text-decoration:none; transition:.15s; }
.bd_category_area .cate_item:hover, .bd_category_area .cate_item.on{ background:var(--bd-blue); color:#fff; border-color:var(--bd-blue); }

/* ===== 보기(view) 페이지 ===== */
.data_view{ margin:0; }
.g_tbl.view-table{ width:100%; border-collapse:separate; border-spacing:0; border-top:2px solid var(--bd-navy); }
.view-table th{ background:#FBF3EE; color:var(--bd-navy); font-size:13px; font-weight:700; padding:14px 16px; border-bottom:1px solid var(--bd-line); text-align:left; white-space:nowrap; width:90px; }
.view-table td{ padding:14px 16px; border-bottom:1px solid #eef2f8; font-size:14px; color:var(--bd-ink); }
.view-table td.con{ padding:30px 18px; min-height:240px; line-height:1.8; }
#bd_content{ font-size:15px; line-height:1.85; color:#1f2937; }
#bd_content img{ max-width:100%; height:auto; }
/* 이전/다음 글 */
.pn_list{ display:flex; align-items:center; gap:12px; margin:0; padding:14px 16px; border-bottom:1px solid #eef2f8; font-size:14px; }
.pn_list dt{ font-weight:700; color:var(--bd-navy); min-width:54px; }
.pn_list dd{ margin:0; color:var(--bd-ink); }
.pn_list a{ color:var(--bd-ink); text-decoration:none; }
.pn_list a:hover{ color:var(--bd-blue); }
/* 버튼 영역 */
.btn_wrap{ display:flex; align-items:center; gap:8px; margin:24px 0 0; }
.btn_wrap .list{ margin-left:auto; }
.btn_wrap a{ display:inline-flex; align-items:center; height:42px; padding:0 22px; border-radius:8px; font-size:14px; font-weight:600; text-decoration:none; transition:.15s; }
.btn_wrap a.list{ background:var(--bd-navy); color:#fff; }
.btn_wrap a.modify, .btn_wrap a.btn_reply{ background:#FFF2EB; color:var(--bd-blue); border:1px solid #F7CBA9; }
.btn_wrap a.del{ background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.btn_wrap a.list:hover{ background:var(--bd-blue); }
.btn_wrap a.modify:hover, .btn_wrap a.btn_reply:hover{ background:var(--bd-blue); color:#fff; }

/* ===== 쓰기(write) 폼 ===== */
.bd-write{max-width:1240px;margin:0 auto;padding:40px 20px 72px;box-sizing:border-box}
.bd-write table{ width:100%; border-collapse:separate; border-spacing:0; border-top:2px solid var(--bd-navy); }
.bd-write th{ background:#FBF3EE; color:var(--bd-navy); font-size:13px; font-weight:700; padding:15px 16px; border-bottom:1px solid var(--bd-line); text-align:left; white-space:nowrap; width:120px; }
.bd-write td{ padding:12px 16px; border-bottom:1px solid #eef2f8; }
.bd-write input[type=text], .bd-write input[type=password], .bd-write input[type=email], .bd-write select{
  height:42px; border:1px solid #d4dbe6; border-radius:8px; padding:0 13px; font-size:14px; color:var(--bd-ink); box-sizing:border-box; min-width:240px; }
.bd-write textarea{ width:100%; min-height:320px; border:1px solid #d4dbe6; border-radius:8px; padding:13px; font-size:14px; line-height:1.7; box-sizing:border-box; }
.bd-write input:focus, .bd-write textarea:focus, .bd-write select:focus{ outline:none; border-color:var(--bd-blue); box-shadow:0 0 0 3px rgba(29,111,232,.15); }
.bd-write input[type=file]{ font-size:13px; }
.bd-write .btn_wrap a, .bd-write input[type=submit]{ height:44px; padding:0 26px; border:0; border-radius:8px; cursor:pointer; font-size:14px; font-weight:600; }
.bd-write input[type=submit]{ background:var(--bd-navy); color:#fff; }

/* ===== 갤러리(카드 그리드) — list_type==3 ===== */
.bd-gallery{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:24px; margin:6px 0 0; font-family:'Pretendard','Malgun Gothic',sans-serif; }
.bd-gallery__card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--bd-line); border-radius:14px; overflow:hidden; text-decoration:none; transition:transform .18s, box-shadow .18s, border-color .18s; }
.bd-gallery__card:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(242,106,33,.15); border-color:#cdd9ee; }
.bd-gallery__thumb{ position:relative; display:block; width:100%; aspect-ratio:4/3; background:#eef2f8; overflow:hidden; }
.bd-gallery__thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.bd-gallery__card:hover .bd-gallery__thumb img{ transform:scale(1.05); }
.bd-gallery__noimg{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--bd-muted); font-size:13px; font-weight:600; letter-spacing:.06em; }
.bd-gallery__badge{ position:absolute; top:10px; left:10px; padding:3px 9px; border-radius:999px; background:var(--bd-blue); color:#fff; font-size:11px; font-weight:700; font-style:normal; letter-spacing:.04em; }
.bd-gallery__body{ display:flex; flex-direction:column; gap:10px; padding:16px 16px 18px; }
.bd-gallery__title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.8em; color:var(--bd-navy); font-size:15px; font-weight:600; line-height:1.4; }
.bd-gallery__card:hover .bd-gallery__title{ color:var(--bd-blue); }
.bd-gallery__meta{ display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12.5px; color:var(--bd-muted); }
.bd-gallery__meta .nm{ color:var(--bd-ink); font-weight:500; }

/* 갤러리 공지 */
.bd-gallery-notice{ list-style:none; margin:0 0 22px; padding:0; border-top:2px solid var(--bd-navy); }
.bd-gallery-notice li{ list-style:none; border-bottom:1px solid #eef2f8; }
.bd-gallery-notice a{ display:flex; align-items:center; gap:8px; padding:13px 8px; color:var(--bd-navy); font-size:14px; font-weight:600; text-decoration:none; }
.bd-gallery-notice a:hover .t{ color:var(--bd-blue); }
.bd-gallery-notice em{ color:var(--bd-muted); font-size:12px; font-style:normal; font-weight:400; }

/* 반응형 */
@media (max-width:640px){
  .bd-gallery{ grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:14px; }
  .bd-gallery__body{ padding:12px 12px 14px; }
  .bd-gallery__title{ font-size:14px; min-height:0; }
}

/* ===== 태그 ===== */
.bd-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.bd-tag{ display:inline-flex; align-items:center; padding:6px 13px; border:1px solid var(--bd-line); border-radius:999px; background:#FBF3EE; color:var(--bd-blue); font-size:13px; font-weight:500; text-decoration:none; transition:.15s; }
.bd-tag:hover{ background:var(--bd-blue); color:#fff; border-color:var(--bd-blue); }
.bd-view-tags{ margin:18px 0 4px; }
.bd-write #bd_tags{ width:100%; height:42px; border:1px solid #d4dbe6; border-radius:8px; padding:0 13px; font-size:14px; }

/* 태그 아카이브 페이지 */
.tag-archive-wrap{ max-width:1180px; margin:0 auto; padding:50px 20px 70px; font-family:'Pretendard','Malgun Gothic',sans-serif; }
.tag-archive-head{ display:flex; align-items:baseline; gap:10px; padding-bottom:20px; border-bottom:2px solid var(--bd-navy); margin-bottom:8px; }
.tag-archive-head .tag-archive-hash{ font-size:30px; font-weight:800; color:var(--bd-blue); }
.tag-archive-head h1{ font-size:28px; font-weight:800; color:var(--bd-navy); margin:0; }
.tag-archive-head p{ margin-left:auto; color:var(--bd-muted); font-size:14px; }
.tag-list{ list-style:none; margin:0; padding:0; }
.tag-list li{ border-bottom:1px solid #eef2f8; }
.tag-list li a{ display:flex; align-items:center; gap:14px; padding:18px 6px; text-decoration:none; transition:.15s; }
.tag-list li a:hover{ background:#FFF7F2; }
.tag-list-type{ flex-shrink:0; padding:4px 11px; border-radius:6px; background:#eef2f8; color:var(--bd-navy); font-size:12px; font-weight:700; }
.tag-list-title{ flex:1; color:var(--bd-navy); font-size:16px; font-weight:500; }
.tag-list li a:hover .tag-list-title{ color:var(--bd-blue); }
.tag-list-date{ flex-shrink:0; color:var(--bd-muted); font-size:13px; }
.tag-empty{ padding:80px 0; text-align:center; color:var(--bd-muted); font-size:15px; }


/* 글쓰기 폼 레이아웃 정리 (2026-08-19) */
.bd-write form{max-width:860px;margin:0;padding:6px 0 10px}
.bd-write form > p{margin:0 0 20px;padding:0;border:0}
.bd-write form > p > label:first-child{display:block;margin-bottom:8px;font-weight:700;color:var(--bd-navy);font-size:14px}
.bd-write #bd_title,.bd-write input[id^=bd_link]{width:100%;box-sizing:border-box}
.bd-write form > p > span{color:var(--bd-muted);font-size:13px;margin-left:6px}
.bd-write form > p:last-child{display:flex;gap:10px;align-items:center;margin-top:6px}
.bd-write form > p:last-child > button{height:44px;padding:0 28px;border:0;border-radius:8px;background:var(--bd-navy);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.bd-write form > p:last-child > a{height:44px;padding:0 24px;border-radius:8px;border:1px solid var(--bd-line);color:var(--bd-ink);font-size:14px;font-weight:600;display:inline-flex;align-items:center;text-decoration:none}


/* ===== [2026-10-02] 모바일 게시판 목록 최적화 (열 넘침/잘림 수정) ===== */
@media (max-width:768px){
  /* 작성자·조회수 열 숨김 → 번호/제목/날짜만 표시 */
  .bd-list-table .m_none{ display:none !important; }
  .bd-list-table{ table-layout:fixed; width:100%; }
  .bd-list-table thead th,
  .bd-list-table tbody td{ padding:13px 8px; font-size:13px; }
  .bd-list-table td:nth-child(2){ text-align:left; word-break:keep-all; line-height:1.45; }
  .bd-list-table td:nth-child(2) a.board{ font-size:14px; }
  /* 날짜 열: 한 줄로 표시(3줄 깨짐 방지) */
  .bd-list-table thead th:last-child,
  .bd-list-table tbody td:last-child{ white-space:nowrap; font-size:12.5px; color:var(--bd-muted); }
  .bd-list-table colgroup{ display:none; }
  .bd-list-table th:nth-child(1),
  .bd-list-table td:nth-child(1){ width:46px; }
  .bd-list-table th:last-child,
  .bd-list-table td:last-child{ width:94px; }
}
@media (max-width:420px){
  .bd-list-table thead th,
  .bd-list-table tbody td{ padding:12px 6px; }
  .bd-list-table td:nth-child(2) a.board{ font-size:13.5px; }
}
