@charset "utf-8";

/* =========================================================
   BOARD DARK THEME (PC & Mobile Optimized)
   ========================================================= */

/* 1. 기본 레이아웃 */
#bo_list, #bo_v, #bo_w, #bo_vc {
    font-family: 'Pretendard', sans-serif;
    color: #e0e0e0;
    font-size: 0.95rem;
}

/* 2. 게시판 목록 (PC 기준) */
.bo_table_dark {
    width: 100%;
    border-collapse: collapse;
    color: #ccc;
    table-layout: fixed; /* 테이블 고정 레이아웃 */
}
.bo_table_dark th {
    background-color: #252525;
    border-top: 2px solid #d4af37;
    border-bottom: 1px solid #444;
    padding: 15px 10px;
    font-weight: bold;
    color: #fff;
    white-space: nowrap; /* 줄바꿈 방지 */
}
.bo_table_dark td {
    background-color: transparent;
    border-bottom: 1px solid #333;
    padding: 12px 10px;
    vertical-align: middle;
}
.bo_table_dark tr:hover td {
    background-color: #2a2a2a;
    color: #fff;
}

/* 제목 링크 (말줄임표 적용) */
.bo_subject {
    width: 100%;
}
.bo_subject a { 
    color: #e0e0e0; 
    text-decoration: none; 
    font-weight: 500; 
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bo_subject a:hover { color: #d4af37; }

/* 3. 모바일 반응형 (테이블 스크롤) */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* 4. 버튼 스타일 */
.btn_b01, .btn_b02, .btn_admin, .btn_submit, .btn_cancel {
    display: inline-block;
    padding: 8px 15px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s;
    border: 1px solid #444;
    background: #2c2c2c;
    color: #fff;
    vertical-align: middle;
    text-align: center;
}
.btn_b02, .btn_submit {
    background: #d4af37 !important;
    border-color: #d4af37 !important;
    color: #000 !important;
    font-weight: bold !important;
}

/* 5. 입력폼 */
.sch_input, .frm_input, .frm_file, select {
    height: 40px;
    background-color: #222 !important;
    border: 1px solid #444 !important;
    color: #fff !important;
    padding: 0 10px;
    border-radius: 4px;
}

/* 6. 게시글 보기 (View) */
#bo_v { border: 1px solid #333; background: #1e1e1e; padding: 30px; border-radius: 5px; }
#bo_v_title .bo_v_tit { font-size: 1.6em; color: #fff; font-weight: bold; line-height: 1.3; }
#bo_v_info { border-bottom: 1px solid #333; border-top: 1px solid #333; padding: 15px 0; color: #888; margin: 20px 0; }
#bo_v_con { color: #ddd; line-height: 1.8; min-height: 200px; font-size: 1.05rem; word-break: break-all; }

/* 7. 댓글 (Comment) */
.cmt_btn { background: #252525 !important; color: #fff !important; border-bottom: 1px solid #444 !important; }
#bo_vc article { border-bottom: 1px solid #333; background: transparent; padding: 15px 0; }
#bo_vc_w textarea { background: #222 !important; color: #fff !important; border: 1px solid #444; }

/* =========================================================
   [Mobile Specific] 모바일 전용 스타일 (768px 이하)
   ========================================================= */
@media (max-width: 768px) {
    /* 레이아웃 여백 축소 */
    #bo_list, #bo_v { padding: 15px !important; margin: 0 !important; border-radius: 0; border: none; border-bottom: 1px solid #333; }
    
    /* 제목 폰트 조절 */
    #bo_v_title .bo_v_tit { font-size: 1.3rem; }
    
    /* 테이블 폰트 및 패딩 조절 */
    .bo_table_dark th, .bo_table_dark td { padding: 10px 5px; font-size: 0.85rem; }
    
    /* 모바일에서 번호 등 불필요한 열 숨기기 (Bootstrap d-none 활용 보조) */
    .bo_table_dark .mobile-hide { display: none; }
    
    /* 버튼 꽉 차게 */
    .btn_bo_user, .bo_sch_wrap { width: 100%; text-align: center; margin-bottom: 10px; }
    .btn_b02 { width: 100%; display: block; margin-top: 5px; }
    
    /* 검색창 세로 배열 */
    .bo_sch_wrap .d-inline-flex { display: flex !important; width: 100%; }
    .bo_sch_wrap select { width: 30% !important; }
    .bo_sch_wrap input { width: 55% !important; }
    .bo_sch_wrap button { width: 15% !important; }

    /* 글쓰기 버튼 하단 고정 (선택사항) */
    #bo_v_top { text-align: center !important; }
    #bo_v_top a { width: 30%; display: inline-block; padding: 10px 0; }
}