@charset "utf-8";

/* 게시판 목록: 2단 레이아웃 (메인+사이드바) + 버튼/테이블 크기 */
.bo_list_layout { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 20px; }
.bo_main { flex: 2; min-width: 0; }
.bo_sidebar { flex: 1; min-width: 260px; }
.bo_sidebar_login { background: var(--contBg); border: var(--boTableBorder); border-radius: 6px; padding: 20px; margin-bottom: 20px; }
.bo_sidebar_form { display: flex; flex-direction: column; gap: 8px; }
.bo_sidebar_input { padding: 10px 12px; border: 1px solid var(--inputBorder); border-radius: 4px; font-size: 1.4rem; }
.bo_sidebar_btn { display: block; text-align: center; padding: 12px 16px; background: var(--primaryColor); color: #fff; text-decoration: none; border-radius: 4px; font-size: 1.4rem; font-weight: 600; border: none; cursor: pointer; width: 100%; }
.bo_sidebar_btn_out { background: var(--sp-text-muted, #6b6b6b); margin-top: 8px; }
.bo_sidebar_welcome { margin: 0 0 12px 0; font-size: 1.4rem; }
.bo_sidebar_boards { background: var(--contBg); border: var(--boTableBorder); border-radius: 6px; padding: 16px; }
.bo_sidebar_title { margin: 0 0 12px 0; font-size: 1.5rem; font-weight: bold; color: var(--fontColor); padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.bo_sidebar_boards ul { list-style: none; padding: 0; margin: 0; }
.bo_sidebar_boards li { margin-bottom: 6px; }
.bo_sidebar_boards a { display: block; padding: 10px 12px; border-radius: 4px; color: var(--tdColor); text-decoration: none; font-size: 1.4rem; }
.bo_sidebar_boards a:hover, .bo_sidebar_boards a.active { background: var(--bovHover); color: var(--primaryColor); font-weight: 600; }
@media (max-width: 900px) { .bo_list_layout { flex-direction: column; } .bo_sidebar { min-width: 100%; } }

/* 게시판 목록: 리스트형 (모든 색/테두리는 default.css 변수로 수정) */
.bo_list .list_table { margin:0 0 20px; }
.bo_list .list_table .is_notice { background:var(--boNoticeBg) !important; border-bottom:var(--boNoticeBorder); }
.bo_list .list_table .is_notice .table_subject a { font-weight:var(--boNoticeSubjectWeight); }
.bo_list .list_table .is_notice .table_wrid { font-weight:var(--boNoticeSubjectWeight); color:var(--boNoticeNumColor); }

@media (min-width:1101px) {
    .bo_list .list_table { width:100%; border-collapse:collapse; border-spacing:0; background:var(--boTableBg); border:var(--boTableBorder); font-size:1.4rem; }
    .bo_list .list_table thead th { padding:14px 10px; font-weight:600; text-align:center; border-bottom:var(--boTheadBorderBottom); font-size:1.4rem; color:var(--boTheadColor); background:var(--boTheadBg); }
    .bo_list .list_table tfoot th,
    .bo_list .list_table tfoot td { padding:12px 10px; border-top:var(--boTfootBorder); border-bottom:var(--boTfootBorder); background:var(--boTfootBg); text-align:center; font-size:1.3rem; }
    .bo_list .list_table tbody th { padding:10px; border-bottom:var(--boTdBorderBottom); }
    .bo_list .list_table tbody tr { border-left:2px solid transparent; }
    .bo_list .list_table tbody tr:hover { border-left:var(--boHoverBorderLeft); }
    .bo_list .list_table tbody .even td { background:var(--boEvenTdBg); }
    .bo_list .list_table td { color:var(--tdColor); padding:12px 10px; border-top:var(--boTdBorderTop); border-bottom:var(--boTdBorderBottom); line-height:1.6; font-size:1.4rem; height:var(--boTdHeight); word-break:break-all; }
    .bo_list .list_table tbody tr:hover td { background:var(--boHoverBg); }
    .bo_list .list_table .table_subject a { font-size:1.4rem; }
    .bo_list .list_table a:hover { text-decoration:underline; }
    .bo_list .list_table .table_check { width:44px; text-align:center; }
    .bo_list .list_table .table_wrid { width:52px; text-align:center; font-size:1.3rem; }
    .bo_list .list_table .table_category { width:100px; text-align:center; font-size:1.3rem; }
    .bo_list .list_table .table_writer { width:100px; font-size:1.3rem; }
    .bo_list .list_table .table_hit { width:70px; text-align:center; font-size:1.3rem; }
    .bo_list .list_table .table_good,
    .bo_list .list_table .table_nogood { width:56px; text-align:center; font-size:1.3rem; }
    .bo_list .list_table .table_datetime { width:90px; text-align:center; font-size:1.3rem; }
    .bo_list .list_table .table_status { width:80px; text-align:center; }
}
/* 버튼 크기 (slotbuff3 스타일) */
.bo_list .btn_b01, .bo_list .btn02 { padding: 10px 18px; font-size: 1.4rem; font-weight: 600; border-radius: 4px; }
.bo_list .list_header .btn, .bo_list .list_footer .btn { padding: 10px 18px; font-size: 1.4rem; min-height: 44px; line-height: 1.2; }

@media (max-width:1100px) {
    .bo_list .list_table { display:block; }
    .bo_list .list_table thead { display:none; }
    .bo_list .list_table tbody { display:block; }
    .bo_list .list_table tr { display:block; padding:10px; border-bottom: var(--border); }
    .bo_list .list_table td { display:inline-block; position: relative; line-height: 22px; vertical-align:middle; }
    .bo_list .list_table .table_subject { display:block; margin:5px 0; font-size:1.6rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .bo_list .list_table .table_hit::before,
    .bo_list .list_table .table_good::before,
    .bo_list .list_table .table_nogood::before { display:inline-block; margin:0 3px; content:attr(data-label); }
    .bo_list .list_table .is_notice .table_check { display:none; }
}

/* 게시판 읽기: G5 스타일 레이아웃·글자크기 */
#bo_basic_view { max-width: 100%; padding: 20px; border: var(--boTableBorder); background: var(--contBg); border-radius: 4px; }
#bo_basic_view #view_subject { font-size: 2.2rem; line-height: 1.4; margin: 0 0 16px; padding-bottom: 12px; border-bottom: var(--border); }
#bo_basic_view #view_header { grid-template-columns: 50px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; font-size: 1.4rem; }
#bo_basic_view #view_header .header_info { font-size: 1.4rem; }
#bo_basic_view #view_header .view_buttons { flex-wrap: wrap; gap: 10px; justify-content: flex-end; align-items: center; margin-left: auto; }
#bo_basic_view #view_header .view_buttons .btn,
#bo_basic_view #view_header .view_buttons .btn_b01,
#bo_basic_view #view_header .view_buttons a.btn,
#bo_basic_view #view_header .view_buttons button { font-size: 1.35rem; padding: 10px 16px; white-space: nowrap; min-height: 42px; border-radius: 6px; font-weight: 600; box-sizing: border-box; }
#bo_basic_view #view_header .view_buttons a[title="목록보기"] { background: #f0f0f0; border-color: #ddd; color: #555; }
#bo_basic_view #view_header .view_buttons a[title="목록보기"]:hover { background: #e5e5e5; border-color: #ccc; color: #333; }
#bo_basic_view #view_header .view_buttons a[title="답변"] { background: #e8f4fc; border-color: #b8d9ee; color: #2a7ab8; }
#bo_basic_view #view_header .view_buttons a[title="답변"]:hover { background: #d4ebf9; border-color: #7eb8e0; color: #1a5a8a; }
#bo_basic_view #view_header .view_buttons a[title="글쓰기"] { background: var(--primaryColor, #e67e22); border-color: var(--primaryColor); color: #fff; }
#bo_basic_view #view_header .view_buttons a[title="글쓰기"]:hover { opacity: 0.92; color: #fff; }
#bo_basic_view #view_header .view_buttons a[title="수정"] { background: #f5f0e8; border-color: #e0d4c4; color: #8b6914; }
#bo_basic_view #view_header .view_buttons a[title="수정"]:hover { background: #ede5d9; border-color: #c9b896; color: #6b5210; }
#bo_basic_view #view_header .view_buttons a[title="삭제"] { background: #fef0f0; border-color: #f0c0c0; color: #b03030; }
#bo_basic_view #view_header .view_buttons a[title="삭제"]:hover { background: #fce0e0; border-color: #e09090; color: #902020; }
#bo_basic_view #view_header .view_buttons .more_opener.btn_b01,
#bo_basic_view #view_header .view_buttons button[title="더보기"] { background: #f5f5f5; border-color: #ddd; color: #666; }
#bo_basic_view #view_header .view_buttons .more_opener.btn_b01:hover,
#bo_basic_view #view_header .view_buttons button[title="더보기"]:hover { background: #ebebeb; border-color: #ccc; color: #444; }
#bo_basic_view #view_article { font-size: 1.5rem; line-height: 1.75; }
#bo_basic_view #article_contents.ckeditor4 { font-size: 1.5rem; line-height: 1.8; }
@media (max-width: 700px) {
    #bo_basic_view #view_header { grid-template-columns: 1fr; align-items: start; }
    #bo_basic_view #view_header .view_buttons { flex-wrap: wrap; justify-content: flex-start; }
}