/* ══════════════════════════════════════
   기본 GNUBoard 뷰 (view.skin.php)
══════════════════════════════════════ */
.bo_view_wrap { max-width: 860px; }

/* 게시글 헤더 */
.bo_view_head { background: var(--cl-surface); border: 1px solid var(--cl-border); border-radius: var(--r-lg); padding: 20px 24px 16px; margin-bottom: 16px; }
.bo_v_subject { font-size: 18px; font-weight: 700; color: var(--cl-text); margin: 0 0 14px; line-height: 1.5; }
.bo_v_info { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--cl-text-3); border-top: 1px solid var(--cl-border); padding-top: 12px; }
.bo_v_info span { display: flex; align-items: center; gap: 5px; }
.bo_v_info strong { color: var(--cl-text-2); font-weight: 500; }

/* 게시글 본문 */
.bo_view_body { background: var(--cl-surface); border: 1px solid var(--cl-border); border-radius: var(--r-lg); padding: 24px 28px; margin-bottom: 16px; min-height: 120px; line-height: 1.8; font-size: 14.5px; color: var(--cl-text); word-break: break-word; }
.bo_view_body img { max-width: 100%; height: auto; border-radius: var(--r-sm); }

/* 첨부파일 */
.bo_v_file_wrap { background: var(--cl-surface); border: 1px solid var(--cl-border); border-radius: var(--r-lg); padding: 16px 20px; margin-bottom: 16px; }
.bo_v_file_title { font-size: 13px; font-weight: 600; color: var(--cl-text-2); margin-bottom: 10px; }
.bo_v_file_list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.bo_v_file_list li { display: flex; align-items: center; gap: 8px; padding: 7px 10px; background: var(--cl-surface-2); border: 1px solid var(--cl-border); border-radius: var(--r-sm); font-size: 13px; }
.bo_v_file_list a { color: var(--cl-accent); text-decoration: none; flex: 1; }
.bo_v_file_list a:hover { text-decoration: underline; }
.bo_v_file_list .file_size { color: var(--cl-text-3); font-size: 12px; white-space: nowrap; }

/* 뷰 하단 버튼 */
.bo_view_foot { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; flex-wrap: wrap; gap: 10px; }
.bo_view_nav  { display: flex; gap: 8px; }

/* 이전/다음 글 */
.bo_v_prev_next { background: var(--cl-surface); border: 1px solid var(--cl-border); border-radius: var(--r-lg); overflow: hidden; margin-bottom: 16px; }
.bo_v_pn_row { display: flex; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--cl-border); font-size: 13px; }
.bo_v_pn_row:last-child { border-bottom: none; }
.bo_v_pn_label { color: var(--cl-text-3); font-size: 12px; white-space: nowrap; min-width: 40px; }
.bo_v_pn_row a { color: var(--cl-text-2); text-decoration: none; flex: 1; font-weight: 500; }
.bo_v_pn_row a:hover { color: var(--cl-accent); }
.bo_v_pn_none { color: var(--cl-text-3); flex: 1; font-size: 13px; }



/* =========================================================
   inline style 분리: view.skin.php
========================================================= */
.skn-view-wrap { max-width: 860px; }

/* 헤더 */
.skn-view-head { background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--r-lg);padding:22px 26px;margin-bottom:12px;box-shadow:var(--sh-sm); }
.skn-view-cate { display:inline-block;padding:3px 10px;background:var(--cl-accent-bg);border:1px solid var(--cl-accent);color:var(--cl-accent-2);border-radius:4px;font-size:12px;font-weight:600;margin-bottom:10px; }
.skn-view-title{ font-size:20px;font-weight:700;color:var(--cl-text);margin:0 0 14px;line-height:1.5; }
.skn-view-meta { display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--cl-text-3);padding-bottom:14px;border-bottom:1px solid var(--cl-border);margin-bottom:14px; }
.skn-view-meta i { margin-right:4px; }
.skn-view-btns { display:flex;flex-wrap:wrap;gap:8px; }

/* 본문 */
.skn-view-body { background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--r-lg);padding:28px;margin-bottom:12px;line-height:1.8;font-size:15px;color:var(--cl-text);word-break:break-word;min-height:100px; }
.skn-view-body img { max-width:100%;height:auto;border-radius:var(--r-sm); }
.skn-signature { margin-top:20px;padding-top:14px;border-top:1px dashed var(--cl-border);font-size:13px;color:var(--cl-text-3); }

/* 추천 */
.skn-view-good { display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--r-lg);margin-bottom:12px; }
.skn-good-btn { display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--r);text-decoration:none;font-size:14px;font-weight:600;transition:all .15s;border:2px solid; }
.skn-good-btn i { font-size:18px; }
.skn-good-btn strong { font-size:16px;font-weight:700; }
.skn-good   { color:var(--cl-accent);border-color:var(--cl-accent);background:var(--cl-accent-bg); }
.skn-good:hover   { background:var(--cl-accent);color:#fff; }
.skn-nogood { color:var(--cl-text-3);border-color:var(--cl-border-2);background:var(--cl-surface); }
.skn-nogood:hover { background:var(--cl-surface-2);color:var(--cl-text-2); }

/* 첨부파일 */
.skn-view-files,.skn-view-links { background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--r-lg);padding:18px 22px;margin-bottom:12px; }
.skn-files-title { font-size:13.5px;font-weight:600;color:var(--cl-text-2);margin-bottom:10px; }
.skn-files-title i { margin-right:6px;color:var(--cl-text-3); }
.skn-files-list { display:flex;flex-direction:column;gap:6px; }
.skn-file-item,.skn-link-item { display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--cl-surface-2);border:1px solid var(--cl-border);border-radius:var(--r-sm);text-decoration:none;color:var(--cl-text-2);font-size:13px;transition:all .15s; }
.skn-file-item:hover,.skn-link-item:hover { background:var(--cl-accent-bg);border-color:var(--cl-accent);color:var(--cl-accent-2); }
.skn-file-name { flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.skn-file-meta { font-size:11.5px;color:var(--cl-text-3);white-space:nowrap;margin-left:auto; }
.skn-file-dl   { color:var(--cl-text-3);margin-left:4px; }

/* 이전/다음 */
.skn-view-nb { background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--r-lg);overflow:hidden;margin-bottom:16px; }
.skn-nb-row  { display:flex;align-items:center;gap:14px;padding:13px 20px;text-decoration:none;border-bottom:1px solid var(--cl-border);transition:background .12s; }
.skn-nb-row:last-child { border-bottom:none; }
.skn-nb-row:hover { background:var(--cl-surface-2); }
.skn-nb-label{ font-size:12px;color:var(--cl-text-3);white-space:nowrap;min-width:52px; }
.skn-nb-title{ flex:1;font-size:13.5px;color:var(--cl-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.skn-nb-row:hover .skn-nb-title { color:var(--cl-accent); }
.skn-nb-date { font-size:12px;color:var(--cl-text-3);white-space:nowrap; }

/* 공통 버튼 */
.skn-btn { display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:all .15s;white-space:nowrap; }
.skn-btn-primary { background:var(--cl-accent);color:#fff;border-color:var(--cl-accent); }
.skn-btn-primary:hover { background:var(--cl-accent-2);color:#fff; }
.skn-btn-ghost { background:var(--cl-surface);color:var(--cl-text-2);border-color:var(--cl-border-2); }
.skn-btn-ghost:hover { background:var(--cl-surface-2);color:var(--cl-text); }
.skn-btn-danger { background:#fff;color:#a83020;border-color:#e8a898; }
.skn-btn-danger:hover { background:#faedeb; }
.skn-btn-sm { padding:5px 12px;font-size:12.5px; }

@media(max-width:768px){
  .skn-view-title { font-size:17px; }
  .skn-view-meta  { gap:10px;font-size:12px; }
  .skn-view-body  { padding:18px; }
}

