@charset "utf-8";
/* ===== CAAS 게시판 스킨 (2026) — 네이비/블루/Pretendard 트렌디 ===== */
:root{ --bd-navy:#0B1F40; --bd-blue:#1D6FE8; --bd-blue2:#1559bd; --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:#f7f9fc; 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:#f7faff; }
.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:#f7f9fc; 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:#f7f9fc; 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:#eef4ff; color:var(--bd-blue); border:1px solid #c7dcff; }
.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{ }
.bd-write table{ width:100%; border-collapse:separate; border-spacing:0; border-top:2px solid var(--bd-navy); }
.bd-write th{ background:#f7f9fc; 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(11,31,64,.13); 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:#f7f9fc; 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:#f7faff; }
.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; }
