/* 기본 레이아웃 및 폰트 */
body { font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif; font-size: 14px; color: #333; line-height: 1.6; margin: 0; padding: 0; background-color: #fff; }
.board_wrap { width: 1000px; margin: 0 auto; padding-bottom: 50px; }

/* 헤더 영역 */
.board_header { text-align: center; padding: 20px 0; background-color: #f8f9fa; margin-bottom: 30px; border-radius: 0 0 10px 10px; }
.board_header h2 { font-size: 32px; margin: 0 0 10px 0; color: #0078ff; font-weight: bold; }
.board_header p { color: #666; margin: 0; font-size: 15px; }

/* 테이블 공통 스타일 */
.board_table, .write_table, .view_table { width: 100%; border-collapse: collapse; border-top: 2px solid #0078ff; margin-bottom: 20px; }
.board_table th, .write_table th, .view_table th { background-color: #f0f7ff; color: #0056b3; padding: 12px; border-bottom: 1px solid #d0e4ff; font-weight: bold; }
.board_table td, .write_table td, .view_table td { padding: 12px; border-bottom: 1px solid #eee; }

/* 게시판 목록 특화 */
.board_table tr.notice_row { background-color: #fcfcfc; }
.board_table td.title { text-align: left; padding-left: 20px; }
.board_table td.title a { text-decoration: none; color: #333; transition: color 0.2s; }
.board_table td.title a:hover { color: #0078ff; text-decoration: underline; }

/* 배지 및 아이콘 */
.notice_icon { background-color: #0078ff; color: white; font-size: 11px; padding: 2px 6px; border-radius: 3px; margin-right: 5px; font-weight: normal; }
.secret_icon { color: #aaa; margin-right: 5px; font-size: 12px; }
.comment_cnt { color: #ff6600; font-size: 11px; font-weight: bold; margin-left: 3px; }

/* 버튼 공통 스타일 */
.btn_wrap { text-align: right; margin-top: 25px; }
.btn_wrap.center { text-align: center; }
.btn { 
    display: inline-block; padding: 10px 25px; background-color: #0078ff; color: #fff; 
    text-decoration: none; font-size: 14px; font-weight: bold; border-radius: 5px; 
    border: none; cursor: pointer; transition: background 0.2s, transform 0.1s; 
}
.btn:hover { background-color: #0056b3; }
.btn:active { transform: translateY(1px); }
.btn_list, .btn_cancel { background-color: #666; }
.btn_list:hover, .btn_cancel:hover { background-color: #444; }

/* 입력 요소 (Write/Edit) */
.input_text, .input_pwd { 
    width: 96%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; 
    outline: none; transition: border-color 0.2s; font-family: inherit;
}
.input_text:focus, .input_pwd:focus, textarea:focus { border-color: #0078ff; box-shadow: 0 0 5px rgba(0,120,255,0.1); }
textarea { width: 96%; padding: 15px; border: 1px solid #ddd; border-radius: 4px; outline: none; resize: vertical; }

/* 페이징 */
.paging { text-align: center; margin-top: 35px; }
.paging a { 
    display: inline-block; padding: 7px 14px; border: 1px solid #ddd; 
    text-decoration: none; color: #666; margin: 0 3px; border-radius: 4px; transition: all 0.2s; 
}
.paging a:hover { border-color: #0078ff; color: #0078ff; }
.paging a.active { background-color: #0078ff; color: #fff; border-color: #0078ff; font-weight: bold; }

/* 검색 및 댓글 폼 배경 */
.search_wrap, .comment_form { 
    background-color: #f9f9f9; padding: 20px; border-radius: 8px; border: 1px solid #eee; margin-top: 30px; 
}