/* 서브페이지 히어로 배너 100% 풀배치 스타일 */
.sub_hero_area {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); /* 무게감 있는 모던 다크톤 */
    color: #fff;
    padding: 70px 20px;
    text-align: center;
    margin-bottom: 50px;
    box-sizing: border-box;
}
.sub_hero_area .hero_inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.sub_hero_area .hero_inner h2 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -1px;
    margin-bottom: 12px;
    color: #fff;
}
.sub_hero_area .hero_inner p {
    font-size: 16px;
    color: #94a3b8; /* 부드러운 그레이 톤 */
    margin: 0;
    font-weight: 400;
}

/* 1. 상단 카테고리 스타일 */
#bo_cate {
    margin-bottom: 25px;
    border-bottom: 2px solid #333;
    padding-bottom: 10px;
}
#bo_cate h2 { font-size: 0; text-indent: -9999px; overflow: hidden; height: 0; }
#bo_cate ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
#bo_cate li a {
    display: block;
    padding: 6px 16px;
    background: #f4f6f8;
    color: #555;
    border-radius: 4px;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s;
}
#bo_cate li.on a, #bo_cate li a:hover {
    background: #0aab4a;
    color: #fff;
    font-weight: bold;
}

/* 2. 상단/하단 기능 버튼 및 토탈 영역 (bo_fx) */
.bo_fx {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    font-size: 14px;
    color: #666;
}
#bo_list_total span { font-weight: bold; color: #333; }
.btn_bo_user, .btn_bo_adm { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; }
.btn_bo_user li a, .btn_bo_adm input, .btn_bo_adm a {
    display: inline-block;
    padding: 6px 14px;
    font-size: 13px;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #ccc;
    background: #fff;
    color: #333;
}
.btn_bo_user .btn_b02 {
    background: #0aab4a;
    color: #fff;
    border-color: #0aab4a;
}
.btn_bo_adm input {
    background: #f1f3f5;
    border-color: #d1d5db;
}

/* 3. 게시판 목록 테이블 스타일 */
.tbl_head01 table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #222;
    border-bottom: 1px solid #ddd;
    font-size: 14px;
}
.tbl_head01 th {
    background: #f8f9fa;
    color: #333;
    padding: 12px 10px;
    font-weight: 600;
    text-align: center;
    border-bottom: 1px solid #ddd;
}
.tbl_head01 td {
    padding: 12px 10px;
    border-bottom: 1px solid #e9ecef;
    color: #444;
    text-align: center;
}
.tbl_head01 tr:hover td { background: #fafbfc; }

/* 목록 내부 컬럼 정렬 및 요소 */
.tbl_head01 td.td_chk { width: 40px; }
.tbl_head01 td.td_num { width: 60px; color: #888; }
.tbl_head01 td.td_subject { text-align: left; }
.tbl_head01 td.td_name { width: 120px; }
.tbl_head01 td.td_datetime { width: 100px; color: #888; font-size: 13px; }

.tbl_head01 td.td_subject a.bo_tit { color: #333; text-decoration: none; }
.tbl_head01 td.td_subject a.bo_tit:hover { color: #0aab4a; text-decoration: underline; }
.tbl_head01 td.td_subject .new_icon { display: inline-block; background: #ff4757; color: #fff; font-size: 10px; padding: 1px 4px; border-radius: 3px; margin-left: 3px; font-weight: bold; }
.tbl_head01 td.td_subject .notice_icon { background: #333; color: #fff; padding: 2px 6px; border-radius: 3px; font-size: 11px; }

/* 4. 페이징 (Pagination) */
.pg_wrap { text-align: center; margin: 30px 0; }
.pg { display: inline-block; }
.pg_page, .pg_current {
    display: inline-block;
    padding: 6px 12px;
    margin: 0 2px;
    border: 1px solid #ddd;
    background: #fff;
    color: #555;
    text-decoration: none;
    border-radius: 3px;
    font-size: 14px;
}
.pg_current {
    background: #0aab4a;
    color: #fff;
    border-color: #0aab4a;
    font-weight: bold;
}
#bo_sch {
    clear: both;
    text-align: center;
    margin: 40px 0 20px 0;
    padding: 25px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}
#bo_sch legend {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
}
#bo_sch form {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
#bo_sch select {
    height: 40px;
    border: 1px solid #d0d3db;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 14px;
    background: #fff;
    color: #333;
}
#bo_sch .frm_input {
    height: 40px;
    border: 1px solid #d0d3db;
    border-radius: 4px;
    padding: 0 12px;
    font-size: 14px;
    background: #fff;
    box-sizing: border-box;
}
#bo_sch .btn_submit {
    height: 40px;
    padding: 0 20px;
    background: #0aab4a;
    color: #fff;
    border: 0;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
#bo_sch .btn_submit:hover {
    background: #088c3d;
}



/* 5. 글보기(View) 페이지 스타일 */
#bo_v { background: #fff; padding: 20px 0; }
#bo_v_title { border-bottom: 2px solid #333; padding-bottom: 15px; margin-bottom: 15px; }
#bo_v_title .bo_v_cate { display: inline-block; color: #0aab4a; font-weight: bold; margin-right: 8px; }
#bo_v_title .bo_v_tit { font-size: 22px; font-weight: bold; color: #222; }

#bo_v_info { background: #f8f9fa; padding: 12px 15px; border-radius: 4px; margin-bottom: 20px; font-size: 13px; color: #666; }
#bo_v_info h2 { font-size: 0; height: 0; overflow: hidden; }
.profile_info_ct { display: flex; flex-wrap: wrap; gap: 15px; align-items: center; }

#bo_v_file { background: #f1f3f5; padding: 10px 15px; border-radius: 4px; margin-bottom: 20px; font-size: 13px; }
#bo_v_file ul { list-style: none; margin: 0; padding: 0; }
#bo_v_file li { margin: 5px 0; }
#bo_v_file a { color: #333; text-decoration: none; }
#bo_v_file a:hover { color: #0aab4a; text-decoration: underline; }

#bo_v_con { min-height: 200px; padding: 20px 0; line-height: 1.6; font-size: 15px; color: #333; border-bottom: 1px solid #ddd; }
#bo_v_con img { max-width: 100%; height: auto; }

/* 이전글/다음글 목록 */
.bo_v_nb { border-bottom: 1px solid #ddd; margin: 20px 0; padding-bottom: 15px; }
.bo_v_nb li { padding: 6px 0; font-size: 14px; }
.bo_v_nb li a { color: #555; text-decoration: none; display: block; }
.bo_v_nb li a:hover { color: #0aab4a; }
.bo_v_nb .nb_tit { font-weight: bold; color: #333; margin-right: 10px; }

/* 6. 글쓰기/수정(Write) 폼 스타일 */
.tbl_frm01 table { width: 100%; border-collapse: collapse; border-top: 2px solid #222; border-bottom: 1px solid #ddd; font-size: 14px; }
.tbl_frm01 th { width: 130px; background: #f8f9fa; padding: 12px; text-align: left; font-weight: 600; color: #333; border-bottom: 1px solid #ddd; }
.tbl_frm01 td { padding: 10px 12px; border-bottom: 1px solid #e9ecef; }
.tbl_frm01 input[type="text"], .tbl_frm01 input[type="password"] {
    height: 38px;
    border: 1px solid #d0d3db;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 14px;
    box-sizing: border-box;
}
.tbl_frm01 input[type="text"]:focus, .tbl_frm01 input[type="password"]:focus, .tbl_frm01 textarea:focus {
    border-color: #0aab4a;
    outline: none;
}
.frm_file { font-size: 13px; }