/* ==== community/list.php ==== */
/* ── 공통 페이지 ─────────────────────────────── */
.com-page  { background:#f8f9fa; min-height:60vh; padding:32px 16px 64px; }
.com-inner { max-width:1060px; margin:0 auto; }

/* ── 게시판 탭 ───────────────────────────────── */
.com-post-section { background:#fff; border-radius:8px; padding:24px; border:1px solid #dde1e7; }
.com-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; gap:12px; }
.com-search { display:flex; }
.com-search input { padding:8px 14px; border:1px solid #dde1e7; border-radius:4px 0 0 4px; font-size:.875rem; width:240px; font-family:inherit; }
.com-search input:focus { outline:none; border-color:#003366; }
.com-search button { padding:8px 16px; background:#003366; color:#fff; border:none; border-radius:0 4px 4px 0; cursor:pointer; font-size:.875rem; font-family:inherit; }
.com-search button:hover { background:#002244; }
.com-btn-write { display:inline-block; padding:8px 18px; background:#003366; color:#fff; border-radius:4px; text-decoration:none; font-size:.875rem; font-weight:600; white-space:nowrap; border:none; cursor:pointer; font-family:inherit; }
.com-btn-write:hover { background:#002244; }
.com-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.com-table th { border-top:2px solid #222; border-bottom:1px solid #dde1e7; padding:10px 8px; text-align:center; font-weight:700; background:#fafafa; color:#333; }
.com-table td { border-bottom:1px solid #f0f0f0; padding:11px 8px; }
.col-num   { width:60px; text-align:center; color:#bbb; }
.col-title { text-align:left; }
.col-title a { text-decoration:none; color:#222; }
.col-title a:hover { color:#003366; }
.com-cmt-cnt { color:#003366; font-size:.78rem; margin-left:4px; }
.col-author { width:100px; text-align:center; }
.col-date   { width:100px; text-align:center; color:#aaa; }
.col-view   { width:70px;  text-align:center; color:#bbb; }
.com-grade     { font-style:normal; font-size:.68rem; padding:1px 6px; border-radius:3px; background:#e8f5e9; color:#2E7D32; margin-left:4px; }
.com-grade--co { background:#e8eaf6; color:#003366; }
.com-empty { text-align:center; padding:60px 0; color:#bbb; font-size:.9rem; }
.com-pager { display:flex; justify-content:center; gap:6px; margin-top:28px; }
.com-pg { display:inline-block; padding:6px 12px; border:1px solid #dde1e7; border-radius:4px; text-decoration:none; font-size:.82rem; color:#555; transition:all .15s; }
.com-pg:hover  { border-color:#003366; color:#003366; }
.com-pg--on    { background:#003366; color:#fff; border-color:#003366; }

/* ── eBook 의견 탭 ───────────────────────────── */
/* 통계 카드 */
.fb-stats-row { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin-bottom:20px; }
.fb-stat { background:#fff; border-radius:8px; padding:14px 12px; border:1px solid #dde1e7; border-top:3px solid #ccc; display:flex; flex-direction:column; gap:4px; text-decoration:none; cursor:pointer; transition:box-shadow .15s,transform .15s,border-color .15s; }
.fb-stat:hover { box-shadow:0 4px 12px rgba(0,0,0,.08); transform:translateY(-1px); }
.fb-stat--on { border-color:#003366; box-shadow:0 0 0 1px #003366 inset; }
.fb-stat-num   { font-size:1.35rem; font-weight:800; line-height:1; }
.fb-stat-label { font-size:.67rem; color:#999; line-height:1.3; }

/* 필터 */
.fb-filter-card { background:#fff; border:1px solid #dde1e7; border-radius:8px; padding:16px 20px; margin-bottom:16px; }
.fb-filter-head { margin-bottom:12px; }
.fb-filter-title { font-size:.875rem; color:#333; margin-bottom:2px; }
.fb-filter-title strong { color:#003366; }
.fb-filter-sub  { font-size:.78rem; color:#aaa; }
.fb-filter-form { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.fb-select { padding:7px 12px; border:1px solid #dde1e7; border-radius:4px; font-size:.82rem; font-family:inherit; background:#fff; color:#333; cursor:pointer; }
.fb-select:focus { outline:none; border-color:#003366; }
.fb-reset { font-size:.8rem; color:#888; text-decoration:none; padding:7px 12px; border:1px solid #dde1e7; border-radius:4px; white-space:nowrap; }
.fb-reset:hover { color:#333; border-color:#aaa; }

/* 의견 목록 */
.fb-list { display:flex; flex-direction:column; gap:8px; }
.fb-item { background:#fff; border:1px solid #dde1e7; border-radius:8px; padding:18px 20px; cursor:pointer; transition:box-shadow .15s,border-color .15s; }
.fb-item:hover { box-shadow:0 2px 10px rgba(0,0,0,.06); border-color:#c8d6ea; }
.fb-item-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.fb-badge { font-size:.72rem; font-weight:700; padding:3px 10px; border-radius:3px; border:1px solid; }
.fb-ch-badge     { font-size:.72rem; font-weight:600; padding:3px 9px; border-radius:3px; background:#eef2f8; color:#003366; border:1px solid #c8d6ea; }
.fb-ch-badge--all{ background:#f5f5f5; color:#aaa; border-color:#e0e0e0; }
.fb-status { font-size:.68rem; font-weight:700; padding:3px 8px; border-radius:3px; }
.fb-meta   { font-size:.75rem; color:#aaa; margin-left:auto; }
.fb-ebook-link { font-size:.75rem; color:#003366; text-decoration:none; white-space:nowrap; border-bottom:1px solid transparent; }
.fb-ebook-link:hover { border-bottom-color:#003366; }
.fb-item-title   { font-size:.9rem; font-weight:700; color:#111; margin-bottom:6px; }
.fb-item-content { font-size:.875rem; color:#444; line-height:1.75; }
.fb-item-preview { font-size:.85rem; color:#666; line-height:1.6; }
.fb-item-foot { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.fb-reply-count { font-size:.75rem; color:#1a6b3c; font-weight:600; }
.fb-more { font-size:.78rem; color:#003366; font-weight:600; margin-left:auto; }

/* 관리자 답변 */
.fb-reply { margin-top:12px; padding:14px 16px; background:#f0f8f4; border-left:3px solid #1a6b3c; border-radius:0 6px 6px 0; }
.fb-reply-head { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.fb-reply-badge { font-size:.68rem; font-weight:700; color:#fff; background:#1a6b3c; padding:2px 8px; border-radius:3px; }
.fb-reply-meta { font-size:.72rem; color:#999; }
.fb-reply-content { font-size:.85rem; color:#333; line-height:1.7; }

/* 의견 상세 레이어팝업 */
.fbv-overlay { position:fixed; inset:0; background:rgba(20,15,5,.5); z-index:1000; display:flex; align-items:center; justify-content:center; padding:16px; }
.fbv-box { background:#fff; border-radius:14px; width:100%; max-width:640px; max-height:88vh; overflow-y:auto; box-shadow:0 12px 48px rgba(0,0,0,.22); position:relative; padding:32px 28px 28px; }
.fbv-close { position:absolute; top:14px; right:16px; background:none; border:none; font-size:1.2rem; color:#bbb; cursor:pointer; padding:4px 8px; border-radius:4px; }
.fbv-close:hover { color:#333; background:#f0f0f0; }
.fbv-item-head { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.fbv-title { font-size:1.05rem; font-weight:800; color:#111; margin-bottom:8px; }
.fbv-meta  { font-size:.78rem; color:#aaa; margin-bottom:16px; }
.fbv-meta a { color:#003366; }
.fbv-content { font-size:.9rem; color:#333; line-height:1.85; margin-bottom:8px; }

/* 빈 상태 */
.fb-empty { background:#fff; border:1px solid #dde1e7; border-radius:8px; padding:64px 24px; text-align:center; }
.fb-empty-title { font-size:.95rem; font-weight:700; color:#555; margin-bottom:6px; }
.fb-empty-sub   { font-size:.875rem; color:#aaa; margin-bottom:20px; }
.fb-btn-go { display:inline-block; padding:9px 22px; background:#003366; color:#fff; border-radius:4px; text-decoration:none; font-size:.875rem; font-weight:600; }
.fb-btn-go:hover { background:#002244; }

/* ── 반응형 ─────────────────────────────────── */
@media (max-width:760px) {
  .fb-stats-row { grid-template-columns:repeat(3,1fr); }
  .com-search input { width:160px; }
  .col-author,.col-view { display:none; }
  .fb-item-head { gap:6px; }
  .fb-meta { margin-left:0; width:100%; }
}
@media (max-width:480px) {
  .fb-stats-row { grid-template-columns:repeat(2,1fr); }
}

/* ==== community/view.php ==== */
.content-section { padding:40px 16px 60px; }
.board-view-inner { max-width:800px; margin:0 auto; }
.post-head { border-bottom:1px solid #eee; padding-bottom:16px; margin-bottom:20px; }
.post-title { font-size:1.4rem; font-weight:800; line-height:1.45; margin-bottom:10px; }
.post-meta { display:flex; gap:14px; font-size:.82rem; color:#aaa; flex-wrap:wrap; }
.post-meta .author { font-weight:600; color:#555; }
.post-content { font-size:.93rem; line-height:1.9; color:#333; min-height:120px; padding:20px 0 28px; border-bottom:1px solid #eee; white-space:pre-wrap; word-break:break-word; }
.post-toolbar { display:flex; justify-content:space-between; align-items:center; padding:16px 0; margin-bottom:32px; }
.btn-list { display:inline-block; padding:7px 14px; border:1px solid #ddd; border-radius:4px; text-decoration:none; font-size:.83rem; color:#666; }
.owner-btns { display:flex; gap:8px; }
.btn-edit { display:inline-block; padding:7px 14px; border:1px solid #1a6b3c; color:#1a6b3c; border-radius:4px; text-decoration:none; font-size:.83rem; }
.btn-delete { padding:7px 14px; border:1px solid #d32f2f; color:#d32f2f; background:none; border-radius:4px; font-size:.83rem; cursor:pointer; }
/* 댓글 */
.comments-title { font-size:1rem; font-weight:700; margin-bottom:16px; padding-bottom:10px; border-bottom:2px solid #eee; }
.comment-item { padding:14px 0; border-bottom:1px solid #f5f5f5; }
.comment-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.comment-author { font-size:.875rem; font-weight:700; }
.comment-date { font-size:.78rem; color:#aaa; }
.btn-del-comment { background:none; border:none; color:#d32f2f; font-size:.75rem; cursor:pointer; padding:0; }
.comment-content { font-size:.88rem; color:#333; line-height:1.7; white-space:pre-wrap; word-break:break-word; }
.empty-comment { color:#aaa; font-size:.875rem; padding:16px 0; }
.comment-form { margin-top:20px; }
.comment-form textarea { width:100%; padding:12px; border:1px solid #ddd; border-radius:6px; font-size:.9rem; box-sizing:border-box; resize:vertical; }
.comment-form textarea:focus { outline:none; border-color:#1a6b3c; }
.btn-comment-submit { margin-top:8px; padding:9px 20px; background:#1a6b3c; color:#fff; border:none; border-radius:4px; font-size:.875rem; font-weight:600; cursor:pointer; }
.comment-locked { font-size:.875rem; color:#888; margin-top:16px; padding:14px; background:#f8f9fa; border-radius:6px; }
.comment-locked a { color:#1a6b3c; }

/* ==== community/write.php ==== */
.content-section { padding:40px 16px 60px; }
.inner-sm { max-width:760px; margin:0 auto; }
.page-title { font-size:1.4rem; font-weight:700; margin-bottom:24px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:.875rem; font-weight:600; margin-bottom:6px; color:#333; }
.form-group input, .form-group textarea { width:100%; padding:11px 14px; border:1px solid #ddd; border-radius:6px; font-size:.95rem; box-sizing:border-box; }
.form-group input:focus, .form-group textarea:focus { outline:none; border-color:#1a6b3c; }
.form-group textarea { resize:vertical; line-height:1.7; }
.form-btns { display:flex; justify-content:flex-end; gap:10px; margin-top:8px; }
.btn-cancel { display:inline-block; padding:10px 20px; border:1px solid #ddd; border-radius:4px; text-decoration:none; color:#666; font-size:.9rem; }
.btn-submit { padding:10px 28px; background:#1a6b3c; color:#fff; border:none; border-radius:4px; font-size:.9rem; font-weight:700; cursor:pointer; }
