@charset "utf-8";

/* 접근성: 테마 전역 시트 없이 이 스킨만 쓰일 때 숨김 유지 */
.msg_sound_only,
.sound_only {
    display: inline-block !important;
    position: absolute;
    width: 0;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
    clip: rect(0, 0, 1px, 1px);
    clip-path: inset(50%);
    border: 0 !important;
}

/* 목록 첨부 아이콘 폴백(common.lib Inline SVG, bo-att-icon-inline) */
.bo-att-icon-inline {
    display: inline-flex;
    vertical-align: middle;
    color: #64748b;
    margin-left: 2px;
}
.bo-att-icon-inline svg {
    display: block;
}

/* 게시판 목록 - 모던 디자인 개선 */
#bo_list {
    position: relative;
    margin-bottom: 40px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 30px;
}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}

/* 게시판 카테고리 */
#bo_cate {margin: 0 0 30px 0;}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1; display: flex; flex-wrap: wrap; gap: 8px;}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;}
#bo_cate a {
    display:block;
    line-height:28px;
    padding:8px 20px;
    border-radius:20px;
    border:1px solid #e3e8ef;
    color:#64748b;
    font-size:14px;
    font-weight:500;
    transition:all 0.3s ease;
}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {
    text-decoration:none;
    background:#3b82f6;
    color:#fff;
    border-color:#3b82f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59,130,246,0.3);
}
#bo_cate #bo_cate_on {
    z-index:2;
    background:#3b82f6;
    color:#fff;
    font-weight:600;
    border:1px solid #3b82f6;
    box-shadow: 0 4px 12px rgba(59,130,246,0.3);
}

/* 상단 버튼 영역 */
#bo_btn_top {
    margin: 0 0 20px;
    padding: 20px 0;
    border-bottom: 2px solid #f1f5f9;
}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}

#bo_list_total {
    float:left;
    line-height:40px;
    font-size:15px;
    color:#1e293b;
    font-weight:600;
}
#bo_list_total span {
    color:#3b82f6;
    font-weight:700;
    font-size:16px;
}

.btn_bo_user {
    float:right;
    margin:0;
    padding:0;
    list-style:none;
    display:flex;
    gap:8px;
}
.btn_bo_user li {
    float:none;
    width:auto;
    text-align:center;
}
.btn_bo_user > li {position:relative}

.btn_bo_user .btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 16px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    color:#475569;
    font-size:14px;
    font-weight:500;
    transition:all 0.2s ease;
    cursor:pointer;
}
.btn_bo_user .btn:hover {
    background:#f8fafc;
    border-color:#cbd5e1;
    color:#1e293b;
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,0,0,0.08);
}
.btn_bo_user .btn i {
    font-size:16px;
}

/* 테이블 스타일 개선 */
.tbl_head01 {
    margin: 20px 0;
    border-radius: 8px;
    overflow: hidden;
}
.tbl_head01 table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid #e2e8f0;
}
.tbl_head01 caption { display:none; }
.tbl_head01 thead th {
    background: #1f2937;
    color:#fff;
    border:none;
    border-bottom:1px solid #3b82f6;
    font-weight:600;
    text-align:center;
    padding:16px 12px;
    font-size:14px;
    letter-spacing:0.3px;
}
.tbl_head01 thead th a {
    color:#fff;
    text-decoration:none;
}
.tbl_head01 thead th a:hover {
    text-decoration:underline;
}

.tbl_head01 tbody td {
    border-bottom:1px solid #f1f5f9;
    padding:16px 12px;
    text-align:center;
    vertical-align:middle;
    font-size:14px;
    color:#334155;
    text-align:center;
}
.tbl_head01 tbody tr {
    border-left:3px solid transparent;
    transition:all 0.2s ease;
}
.tbl_head01 tbody tr:hover {
    background:#f8fafc;
    border-left-color:#3b82f6;
}
.tbl_head01 tbody .even td {
    background:#fafbfc;
}
.tbl_head01 tbody tr:hover td {
    background:#f1f5f9;
}

/* 공지사항 스타일 */
.bo_notice td {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
    border-bottom:1px solid #f59e0b !important;
}
.bo_notice td a {
    font-weight:700;
    color:#92400e;
}
.bo_notice .notice_icon {
    display:inline-block;
    line-height:22px;
    background:#f59e0b;
    color:#fff;
    padding:2px 10px;
    border-radius:12px;
    font-weight:700;
    font-size:12px;
    letter-spacing:0.5px;
}

/* 제목 컬럼 */
.td_subject {
    text-align:left !important;
    padding-left:20px !important;
}
.bo_tit {
    display:block;
    font-weight:600;
    color:#1e293b;
}
.bo_tit a {
    color:#1e293b;
    text-decoration:none;
    transition:color 0.2s ease;
}
.bo_tit a:hover {
    color:#3b82f6;
}

/* 아이콘 스타일 - Font Awesome 사용 */
.bo_tit .new_icon {
    display:inline-block;
    width:20px;
    height:20px;
    line-height:20px;
    font-size:11px;
    color:#10b981;
    background:#d1fae5;
    text-align:center;
    border-radius:4px;
    margin-left:6px;
    font-weight:700;
    vertical-align:middle;
}
.bo_tit .fa-download, 
.bo_tit .fa-paperclip {
    display:inline-block;
    width:20px;
    height:20px;
    line-height:20px;
    font-size:12px;
    color:#f59e0b;
    background:#fef3c7;
    text-align:center;
    border-radius:4px;
    margin-left:6px;
    vertical-align:middle;
}
.bo_tit .fa-link {
    display:inline-block;
    width:20px;
    height:20px;
    line-height:20px;
    font-size:12px;
    color:#8b5cf6;
    background:#ede9fe;
    text-align:center;
    border-radius:4px;
    margin-left:6px;
    vertical-align:middle;
}
.bo_tit .fa-lock {
    display:inline-block;
    width:20px;
    height:20px;
    line-height:20px;
    font-size:12px;
    color:#64748b;
    background:#e2e8f0;
    text-align:center;
    border-radius:4px;
    vertical-align:middle;
}

/* 댓글 카운트 */
#bo_list .cnt_cmt {
    background:#3b82f6;
    color:#fff;
    font-size:11px;
    height:20px;
    line-height:20px;
    padding:0 8px;
    border-radius:10px;
    font-weight:600;
    vertical-align:middle;
    margin-left:6px;
}

/* 분류 링크 */
.bo_cate_link {
    float:left;
    display:inline-block;
    margin-right:10px;
    background:#e0e7ff;
    color:#4f46e5;
    font-weight:600 !important;
    height:24px;
    line-height:24px;
    padding:0 12px;
    border-radius:12px;
    font-size:12px;
}
.bo_cate_link:hover {
    text-decoration:none;
    background:#4f46e5;
    color:#fff;
}

/* 빈 게시판 */
.empty_table {
    padding:80px 20px !important;
    text-align:center !important;
    color:#94a3b8;
    font-size:15px;
}

/* 체크박스 스타일 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:#64748b;cursor:pointer;}
.chk_box input[type="checkbox"] + label:hover {color:#3b82f6}
.chk_box input[type="checkbox"] + label span {
    float:left;
    width:18px;
    height:18px;
    display:block;
    background:#fff;
    border:2px solid #cbd5e1;
    border-radius:4px;
    transition:all 0.2s ease;
}
.chk_box input[type="checkbox"]:checked + label {color:#1e293b}
.chk_box input[type="checkbox"]:checked + label span {
    background:#3b82f6;
    border-color:#3b82f6;
    background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="white"%3E%3Cpath fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"/%3E%3C/svg%3E');
    background-size:14px;
    background-position:center;
    background-repeat:no-repeat;
}

/* 더보기 옵션 */
.more_opt {
    display:none;
    position:absolute;
    top:48px;
    right:0;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0,0,0,0.15);
    z-index:999;
    min-width:140px;
}
.more_opt:before {
    content:"";
    position:absolute;
    top:-8px;
    right:13px;
    width:0;
    height:0;
    border-style:solid;
    border-width:0 6px 8px 6px;
    border-color:transparent transparent #e2e8f0 transparent;
}
.more_opt:after {
    content:"";
    position:absolute;
    top:-6px;
    right:13px;
    width:0;
    height:0;
    border-style:solid;
    border-width:0 6px 8px 6px;
    border-color:transparent transparent #fff transparent;
}
.more_opt li {
    border-bottom:1px solid #f1f5f9;
    padding:0;
    float:none;
    width:auto;
    margin:0;
    text-align:left;
}
.more_opt li:first-child {border-top-left-radius:8px;border-top-right-radius:8px;}
.more_opt li:last-child {border-bottom:0;border-bottom-left-radius:8px;border-bottom-right-radius:8px;}
.more_opt li button, 
.more_opt li a {
    width:100%;
    border:0;
    background:none;
    color:#475569;
    padding:12px 16px;
    text-align:left;
    font-size:14px;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}
.more_opt li:hover {background:#f8fafc;}
.more_opt li:hover button,
.more_opt li:hover a {color:#1e293b;}
.more_opt li i {float:none;line-height:1;font-size:14px;}

/* 페이징 스타일 개선 */
.pg_wrap {
    text-align:center;
    padding:30px 0;
}
.pg_wrap .pg_page {
    display:inline-block;
    padding:8px 14px;
    margin:0 3px;
    border:1px solid #e2e8f0;
    border-radius:6px;
    color:#64748b;
    font-size:14px;
    font-weight:500;
    transition:all 0.2s ease;
}
.pg_wrap .pg_page:hover {
    background:#f8fafc;
    border-color:#cbd5e1;
    color:#1e293b;
}
.pg_wrap .pg_current {
    background:#3b82f6;
    border-color:#3b82f6;
    color:#fff;
    font-weight:700;
}
.pg_wrap .pg_start,
.pg_wrap .pg_end,
.pg_wrap .pg_prev,
.pg_wrap .pg_next {
    padding:8px 12px;
}

/* 검색 팝업 */
.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {
    position:absolute;
	z-index:9;
    top:50%;
    left:50%;
    background:#fff;
    text-align:left;
    width:400px;
    max-height:320px;
    margin-left:-200px;
    margin-top:-160px;
    overflow-y:auto;
    border-radius:16px;
    box-shadow:0 20px 60px rgba(0,0,0,0.3);
    border:none;
}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {
    padding:24px;
    border-bottom:2px solid #f1f5f9;
    font-size:18px;
    font-weight:700;
    color:#1e293b;
}
.bo_sch form {padding:24px;display:block}
.bo_sch select {
    border:1px solid #e2e8f0;
    width:100%;
    height:44px;
    border-radius:8px;
    padding:0 12px;
    font-size:14px;
    color:#334155;
    transition:border-color 0.2s ease;
}
.bo_sch select:focus {
    border-color:#3b82f6;
    outline:none;
}
.bo_sch .sch_bar {
    display:inline-block;
    width:100%;
    clear:both;
    margin-top:16px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    overflow:hidden;
    transition:border-color 0.2s ease;
}
.bo_sch .sch_bar:focus-within {
    border-color:#3b82f6;
}
.bo_sch .sch_input {
    width:calc(100% - 50px);
    height:44px;
    border:0;
    padding:0 16px;
    background-color:transparent;
    float:left;
    font-size:14px;
}
.bo_sch .sch_btn {
    height:44px;
    float:right;
    color:#64748b;
    background:none;
    border:0;
    width:50px;
    font-size:16px;
    cursor:pointer;
}
.bo_sch .sch_btn:hover {
    color:#3b82f6;
}
.bo_sch .bo_sch_cls {
    position:absolute;
    right:16px;
    top:20px;
    color:#94a3b8;
    border:0;
    background:none;
    font-size:20px;
    cursor:pointer;
    padding:0;
    width:50px;
    height:32px;
    line-height:32px;
	font-weight:bold; 
}
.bo_sch .bo_sch_cls:hover {
    color:#1e293b;
}
.bo_sch_bg {
    background:#000;
    background:rgba(0,0,0,0.5);
    width:100%;
    height:100%;
    backdrop-filter:blur(4px);
}

/* 반응형 */
@media (max-width: 768px) {
    #bo_list {
        padding: 20px 15px;
        border-radius: 8px;
    }
    #bo_btn_top {
        padding: 15px 0;
    }
    #bo_list_total {
        font-size: 13px;
    }
    .btn_bo_user {
        flex-wrap: wrap;
    }
    .btn_bo_user .btn {
        min-width: 36px;
        height: 36px;
        padding: 0 12px;
        font-size: 13px;
    }
    .tbl_head01 thead th,
    .tbl_head01 tbody td {
        padding: 12px 8px;
        font-size: 13px;
    }
    .bo_sch {
        width: 90%;
        margin-left: -45%;
    }
}

/* 테이블 컬럼 너비 설정 */
#bo_list .td_chk {width:50px;text-align:center;}
#bo_list .td_num {width:60px;text-align:center;}
#bo_list .td_num2 {width:80px;text-align:center;}
#bo_list .td_subject {text-align:left !important;padding-left:20px !important;}
#bo_list .td_name {width:120px;text-align:center;}
#bo_list .td_datetime {width:100px;text-align:center;}
#bo_list .td_hit {width:70px;text-align:center;}

/* 현재 열람중 표시 */
.bo_current {
    color:#ef4444;
    font-weight:700;
}

/* 하단 옵션 버튼 */
.bo_fx {
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #f1f5f9;
}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}

/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block;font-size:0.9em;margin:5px 0 0;word-break:break-all}

#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} 
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:10px}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {color:#000}
#bo_v_info .if_date {margin:0;color:#888}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#3a8afd}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#3a8afd}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}

#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:20px 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px}
.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1}
.bo_v_nb li:hover {background:#f6f6f6}
.bo_v_nb li i {font-size:13px;color:#b3b3b3}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3}
.bo_v_nb li .nb_date {float:right;color:#b3b3b3}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f}
#bo_v_act i {font-size:1.4em;margin-right:5px}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:5px}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:20px 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px}
#bo_v_share .btn:hover {background:#fff}
#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle}

/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:#000}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.bo_vc_act li {border-bottom:1px solid #f0f0f0}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:10px 15px}
.bo_vc_act li a:hover {color:#3a8afd}

.bo_vc_w {position:relative;margin:10px 0;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px;
-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)}
#wr_secret {}
.bo_vc_w_info {margin:10px 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:5px}
.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 5px 0 0}
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off {background:#bbb}
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
#bo_vc_sns input {margin:0 5px 0 0}

/*글쓰기*/
#bo_w {
    background:#fff;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
    padding:30px;
    margin-bottom:40px;
}

/* 제목 스타일 */
#bo_w h1#container_title {
    font-size:24px;
    font-weight:700;
    color:#1e293b;
    margin:0 0 30px;
    padding-bottom:20px;
    border-bottom:2px solid #f1f5f9;
}

#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px}
#bo_w .write_div {margin:15px 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:#fff}
#bo_w .bo_w_tit {position:relative}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_link .frm_input {padding-left:50px}
#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
#bo_w .bo_w_select select {
    border:1px solid #e2e8f0;
    width:100%;
    height:48px;
    border-radius:8px;
    padding:0 16px;
    font-size:15px;
    color:#334155;
    background:#fff;
    transition:border-color 0.2s ease;
}
#bo_w .bo_w_select select:focus {
    border-color:#3b82f6;
    outline:none;
}

/* 입력 필드 스타일 */
#bo_w .frm_input {
    border:1px solid #e2e8f0;
    height:48px;
    padding:0 16px;
    border-radius:8px;
    font-size:15px;
    color:#334155;
    transition:border-color 0.2s ease;
}
#bo_w .frm_input:focus {
    border-color:#3b82f6;
    outline:none;
    box-shadow:0 0 0 3px rgba(59,130,246,0.1);
}
#bo_w .full_input {
    width:100%;
}
#bo_w .half_input {
    width:49%;
}

/* 버튼 영역 */
#bo_w .btn_confirm {
    clear:both;
    margin-top:30px;
    padding-top:30px;
    border-top:2px solid #f1f5f9;
    text-align:center;
    display:flex;
    justify-content:center;
    gap:12px;
}

/* 제출 버튼 */
#bo_w .btn_submit {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:140px;
    height:52px;
    padding:0 32px;
    background:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    border:none;
    border-radius:10px;
    color:#fff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:all 0.3s ease;
    box-shadow:0 4px 14px rgba(59,130,246,0.3);
}
#bo_w .btn_submit:hover {
    background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(59,130,246,0.4);
}
#bo_w .btn_submit:active {
    transform:translateY(0);
}
#bo_w .btn_submit:disabled {
    background:#cbd5e1;
    cursor:not-allowed;
    transform:none;
    box-shadow:none;
}

/* 취소 버튼 */
#bo_w .btn_cancel {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:140px;
    height:52px;
    padding:0 32px;
    background:#fff;
    border:2px solid #e2e8f0;
    border-radius:10px;
    color:#64748b;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:all 0.3s ease;
    text-decoration:none;
}
#bo_w .btn_cancel:hover {
    background:#f8fafc;
    border-color:#cbd5e1;
    color:#1e293b;
    transform:translateY(-2px);
    box-shadow:0 4px 14px rgba(0,0,0,0.08);
}
#bo_w .btn_cancel:active {
    transform:translateY(0);
}

/* ============================================================
   게시판 상세 (view) — 모던 카드 레이아웃
   ============================================================ */
.board-view-wrap {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 0;
    margin-bottom: 40px;
    overflow: hidden;
}

.board-view-header {
    padding: 32px 32px 24px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(to bottom, #f8fafc 0%, #fff 100%);
}

.board-view-cate {
    display: inline-block;
    margin-bottom: 12px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #2563eb;
    background: #eff6ff;
    border-radius: 999px;
}

.board-view-wrap #bo_v_title,
.board-view-title {
    margin: 0 0 20px;
    padding: 0;
    text-align: left;
    background: none;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.45;
    color: #0f172a;
    word-break: keep-all;
}

@media (min-width: 768px) {
    .board-view-wrap #bo_v_title,
    .board-view-title {
        font-size: 1.75rem;
    }
}

.board-view-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
}

.board-view-meta-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 0;
    font-size: 14px;
    color: #64748b;
    flex: 1 1 auto;
    min-width: 0;
}

.board-view-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.board-view-meta-item strong {
    color: #334155;
    font-weight: 600;
}

.board-view-meta-label {
    font-size: 12px;
    font-weight: 600;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.board-view-meta-divider {
    display: inline-block;
    width: 1px;
    height: 14px;
    margin: 0 12px;
    background: #cbd5e1;
}

.board-view-meta-link {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}

.board-view-meta-link:hover {
    text-decoration: underline;
}

/* 작성자 프로필 이미지 숨김 */
.board-view-wrap .pf_img,
.board-view-wrap .profile_info .pf_img {
    display: none !important;
}

.board-view-actions {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
}

.board-view-wrap #bo_v_top {
    float: none;
    margin-left: auto;
}

.board-view-btn-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 0 0 auto;
    padding: 0;
    list-style: none;
}

.board-view-btn-group > li {
    float: none;
    margin: 0;
}

.board-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    cursor: pointer;
    background: #fff;
}

.board-view-btn-outline {
    color: #475569;
    border-color: #e2e8f0;
}

.board-view-btn-outline:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #1e293b;
}

.board-view-btn-primary {
    color: #fff;
    background: #2563eb;
    border-color: #2563eb;
}

.board-view-btn-primary:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}

.board-view-btn-icon {
    width: 38px;
    padding: 0;
    font-size: 18px;
    line-height: 1;
}

.board-view-btn-lg {
    min-width: 140px;
    min-height: 44px;
    font-size: 15px;
    font-weight: 600;
}

.board-view-more {
    position: relative;
}

.board-view-more-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 50;
    min-width: 120px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.board-view-more-menu li a {
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    color: #475569;
    text-decoration: none;
}

.board-view-more-menu li a:hover {
    background: #f8fafc;
}

.board-view-body {
    padding: 32px;
    min-height: 200px;
}

.board-view-share:empty {
    display: none;
}

.board-view-images {
    margin-bottom: 24px;
    text-align: center;
}

.board-view-images img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.board-view-content,
.board-view-wrap #bo_v_con {
    font-size: 16px;
    line-height: 1.85;
    color: #334155;
    word-break: break-word;
}

.board-view-content img,
.board-view-wrap #bo_v_con img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.board-view-content p,
.board-view-wrap #bo_v_con p {
    margin: 0 0 1em;
}

.board-view-content strong,
.board-view-wrap #bo_v_con strong {
    color: #0f172a;
}

.board-view-signature {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px dashed #e2e8f0;
    font-size: 14px;
    color: #64748b;
}

.board-view-reactions {
    display: flex;
    gap: 8px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #f1f5f9;
}

.board-view-panel {
    margin: 0 32px 24px;
    padding: 20px 24px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.board-view-panel-title {
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: #1e293b;
}

.board-view-file-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.board-view-file-item + .board-view-file-item {
    margin-top: 8px;
}

.board-view-file-link {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.board-view-file-link:hover {
    border-color: #93c5fd;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
}

.board-view-file-name {
    font-size: 14px;
    font-weight: 600;
    color: #2563eb;
}

.board-view-file-meta {
    font-size: 12px;
    color: #94a3b8;
}

.board-view-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    margin: 0 32px 24px;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.board-view-nav-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 16px 20px;
    text-decoration: none;
    color: inherit;
    background: #fff;
    transition: background 0.2s;
}

.board-view-nav-item:hover {
    background: #f8fafc;
}

.board-view-nav-prev {
    border-right: 1px solid #e2e8f0;
}

.board-view-nav-next {
    text-align: right;
}

.board-view-nav-empty {
    background: #fafafa;
}

.board-view-nav .nb_tit {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.board-view-nav-subject {
    font-size: 14px;
    font-weight: 500;
    color: #1e293b;
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.board-view-nav .nb_date {
    font-size: 12px;
    color: #cbd5e1;
}

.board-view-wrap #bo_v_info {
    margin: 0;
    border: none;
    float: none;
}

.board-view-wrap .bo_v_com {
    float: none;
    margin: 0;
}

.board-view-wrap #bo_v_atc {
    min-height: auto;
}

.board-view-wrap .bo_v_nb {
    margin: 0;
    clear: none;
    text-align: inherit;
}

.board-view-wrap .bo_v_nb li {
    border: none;
    padding: 0;
}

.board-view-wrap .bo_v_nb li:hover {
    background: transparent;
}

.board-view-footer {
    display: flex;
    justify-content: center;
    padding: 8px 32px 32px;
    border-top: 1px solid #f1f5f9;
}

@media (max-width: 767px) {
    .board-view-header,
    .board-view-body {
        padding: 20px 16px;
    }

    .board-view-panel {
        margin: 0 16px 16px;
        padding: 16px;
    }

    .board-view-nav {
        margin: 0 16px 16px;
        grid-template-columns: 1fr;
    }

    .board-view-nav-prev {
        border-right: none;
        border-bottom: 1px solid #e2e8f0;
    }

    .board-view-nav-next {
        text-align: left;
    }

    .board-view-meta-divider {
        display: none;
    }

    .board-view-meta-list {
        width: 100%;
        gap: 10px;
    }

    .board-view-meta-item {
        width: calc(50% - 4px);
    }

    .board-view-actions {
        width: 100%;
        margin-left: 0;
        justify-content: flex-end;
    }

    .board-view-btn-group {
        margin-left: auto;
    }

    .board-view-footer {
        padding: 8px 16px 24px;
    }
}