@charset "utf-8";

#bo_gall { padding-top: 5rem; box-sizing:border-box; }

/* 게시판 목록 */
#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:3px}

.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}

/* 전체 선택 (상단) */
#gall_allchk {
    position: relative;
    padding: 1.5rem 1rem;
    margin: 0;
    box-sizing: border-box;
}
#gall_allchk label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.45rem;
    font-weight: 500;
    color: #4e5968;
    cursor: pointer;
    user-select: none;
    padding: 0 !important;
}
#gall_allchk label span {
    position: static !important;
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #d0d5dd;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    vertical-align: middle;
    transition: all 0.2s ease;
}
#gall_allchk input[type="checkbox"]:checked + label span {
    background: url(./img/chk.png) no-repeat 50% 50% #3b82f6 !important;
    border-color: #3b82f6 !important;
}

/* 글 목록 개별 체크박스 */
.gall_con .gall_chk {
    flex: 0 0 20px;
    width: 20px;
    margin-top: 4px; /* 제목 텍스트 높이 맞춤 */
    position: relative;
}
.gall_con .gall_chk label {
    display: block;
    width: 20px;
    height: 20px;
    padding: 0 !important;
    cursor: pointer;
    margin: 0;
}
.gall_con .gall_chk label span {
    position: static !important;
    display: block;
    width: 18px;
    height: 18px;
    border: 1px solid #d0d5dd;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    transition: all 0.2s ease;
}
.gall_con .gall_chk label:hover span {
    border-color: #3b82f6;
}
.gall_con .gall_chk input[type="checkbox"]:checked + label span {
    background: url(./img/chk.png) no-repeat 50% 50% #3b82f6 !important;
    border-color: #3b82f6 !important;
}

/* 글쓰기 및 댓글 폼 체크박스 유지 */
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {position:relative;padding-left:22px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:16px;height:16px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"]:checked + label span, .bo_vc_w .chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3b82f6;border-color:#3b82f6}


/* 블로그 목록 */
.gall_row { list-style:none; margin:0; padding:0; width:100%; }
.gall_row:after { display:block; visibility:hidden; clear:both; content:""; }
.gall_row .col-gn-0,.gall_row .col-gn-1,.gall_row .col-gn-2,.gall_row .col-gn-3,.gall_row .col-gn-4,.gall_row .col-gn-5,.gall_row .col-gn-6,.gall_row .col-gn-7,.gall_row .col-gn-8,.gall_row .col-gn-9,.gall_row .col-gn-10 {position:relative;min-height:1px;width:100%;float:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0; padding:0;}
.gall_row .box_clear {clear:both}

.gall_row .gall_li:first-child { border-top: 1px solid #e5e8eb; box-sizing:border-box; }
.gall_li { width:100% !important; float:none !important; clear:both; padding: 3.5rem 1rem !important; box-sizing:border-box; border-bottom: 1px solid #e5e8eb; transition: background-color 0.2s ease; }
.gall_li:hover { background-color: #fafbfc; }

/* 컨테이너: flex 양끝 정렬 */
.gall_con {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    gap: 3rem;
}

/* 텍스트 영역 (왼쪽) */
.gall_text_href {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    padding: 0;
    box-sizing: border-box;
}

.gall_con.no_thumb .gall_text_href {
    width: 100%;
}

.bo_tit_link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.bo_tit_link:hover {
    text-decoration: none;
}

.bo_tit {
    font-size: 2.1rem;
    color: #191f28;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.02em;
    margin-bottom: 1.2rem;
    display: block;
    word-break: keep-all;
    word-wrap: break-word;
    transition: color 0.2s ease;
}
.bo_tit_link:hover .bo_tit {
    color: #2b6cb0;
}

.bo_txt {
    font-size: 1.55rem;
    color: #4e5968;
    font-weight: 400;
    line-height: 1.6;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
    height: auto;
    max-height: 5rem;
    box-sizing: border-box;
    margin: 0 0 2rem;
}

.gall_info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2.5rem;
    margin: 0;
    font-size: 1.45rem;
    color: #8b95a1;
    font-weight: 400;
}
.gall_info,
.gall_info .sv_member {
    font-size: 1.45rem;
    color: #8b95a1;
    font-weight: 400;
}
.gall_info > span {
    display: inline-flex;
    align-items: center;
    margin: 0;
}
.gall_info i {
    font-size: 1.5rem;
    vertical-align: -1px;
    margin-right: 6px;
    color: #8b95a1;
}

/* 썸네일 이미지 영역 (오른쪽) */
.gall_img {
    flex: 0 0 170px;
    width: 170px;
    height: 125px;
    box-sizing: border-box;
    margin-left: auto;
}
.gall_img a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #eef0f2;
    background: #f8f9fa;
    box-sizing: border-box;
    font-size: 0;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.gall_img a:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}
.gall_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.gall_img a:hover img {
    transform: scale(1.04);
}

/* 공지사항 뱃지 */
.is_notice {
    display: inline-block;
    background: #ef4444;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
    vertical-align: 2px;
    margin-right: 6px;
    line-height: 1.4;
}


.pg_wrap { float: none; }








/* 게시판 목록 하단 툴바 */
#bo_btn_top {
    margin: 3rem 0 2rem;
    clear: both;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 1rem;
    box-sizing: border-box;
}
#bo_btn_top:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

.btn_bo_user {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}
.btn_bo_user > li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
    width: auto;
    float: none;
}

/* 툴바 버튼 공통 스타일 (관리자, 검색, 글쓰기, 옵션 등 일관된 크기 및 레이아웃) */
.btn_bo_user > li > a.btn,
.btn_bo_user > li > button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    vertical-align: middle !important;
    outline: none !important;
}

/* 관리자 톱니바퀴 버튼 */
.btn_bo_user > li > a.btn_admin {
    background: #e02424 !important;
    border: 1px solid #e02424 !important;
    color: #ffffff !important;
}
.btn_bo_user > li > a.btn_admin:hover {
    background: #c81e1e !important;
    border-color: #c81e1e !important;
    color: #ffffff !important;
}
.btn_bo_user > li > a.btn_admin i {
    color: #ffffff !important;
    font-size: 1.5rem !important;
}

/* 일반 버튼 (검색, 글쓰기, RSS, 리스트 옵션 등 통일) */
.btn_bo_user > li > a.btn_b01,
.btn_bo_user > li > button.btn_b01 {
    background: #ffffff !important;
    border: 1px solid #d5dbe2 !important;
    color: #475569 !important;
}
.btn_bo_user > li > a.btn_b01:hover,
.btn_bo_user > li > button.btn_b01:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}
.btn_bo_user > li > a.btn_b01 i,
.btn_bo_user > li > button.btn_b01 i {
    color: #475569 !important;
    font-size: 1.45rem !important;
}
.btn_bo_user > li > a.btn_b01:hover i,
.btn_bo_user > li > button.btn_b01:hover i {
    color: #0f172a !important;
}

/* 옵션 드롭다운 메뉴 (선택삭제, 선택복사, 선택이동) */
.more_opt {
    display: none;
    position: absolute;
    top: 44px;
    right: 0;
    background: #ffffff;
    border: 1px solid #d0d7de;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    z-index: 999;
    min-width: 115px;
    padding: 4px 0;
    margin: 0;
    list-style: none;
}
.more_opt:before {
    content: "";
    position: absolute;
    top: -6px;
    right: 14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 5px 6px 5px;
    border-color: transparent transparent #d0d7de transparent;
}
.more_opt:after {
    content: "";
    position: absolute;
    top: -5px;
    right: 14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 5px 6px 5px;
    border-color: transparent transparent #ffffff transparent;
}
.more_opt li {
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    float: none !important;
    list-style: none;
}
.more_opt li button {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    padding: 9px 14px !important;
    border: 0 !important;
    background: transparent !important;
    color: #374151 !important;
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    transition: background-color 0.15s !important;
    box-sizing: border-box !important;
    text-align: left !important;
    white-space: nowrap !important;
    border-radius: 0 !important;
}
.more_opt li button:hover {
    background: #f3f4f6 !important;
    color: #111827 !important;
}
.more_opt li button i {
    color: #6b7280 !important;
    font-size: 1.3rem !important;
    margin: 0 !important;
}

.td_num strong {color:#000}
.bo_cate_link {display:inline-block;background:#eff6ff;color:#3b82f6;font-weight:500 !important;padding:3px 8px;border-radius:4px;font-size:1.3rem;margin-bottom:0.8rem;line-height:1.3} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {background:#dbeafe;color:#2563eb;text-decoration:none}
.bo_current {color:#e8180c}
#bo_list .profile_img {display:inline-block;margin-right:5px}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold;color:#ed6478;font-size:0.86em}

#bo_gall li.empty_list {padding:85px 0;text-align:center}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}


/* 게시판 쓰기 */
#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}

.bd_mg { margin: 12rem 0 13rem; }

/* ==========================================================================
   블로그 상세페이지 (Blog Article View)
   ========================================================================== */
#bo_v {
    background: #ffffff;
    box-sizing: border-box;
    padding: 2rem 0 6rem;
    width: 100%;
}
#bo_gall .containers,
#bo_v .containers {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* 1. 아티클 헤더 */
.bo_v_header {
    margin-bottom: 4rem;
}
.bo_v_cate_wrap {
    margin-bottom: 1.4rem;
}
.bo_v_cate {
    display: inline-block;
    background: #eff6ff;
    color: #2563eb;
    font-size: 1.4rem;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 6px;
    line-height: 1.4;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bo_v_cate:hover {
    background: #dbeafe;
    color: #1d4ed8;
    text-decoration: none;
}

#bo_v_title {
    font-size: 3.2rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.4;
    letter-spacing: -0.03em;
    margin: 0 0 2.5rem;
    word-break: keep-all;
    word-wrap: break-word;
}

/* 메타 정보 및 하단 툴바 (스크랩 하단 위치) */
#bo_v_info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.8rem 0;
    border-top: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
    margin: 0 0 4.5rem;
    box-sizing: border-box;
}
#bo_v_info .profile_info {
    display: flex;
    align-items: center;
    margin: 0;
    float: none;
}
#bo_v_info .profile_info_ct {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding: 0;
    line-height: 1;
    float: none;
}
#bo_v_info .author_name {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: -0.02em;
}
#bo_v_info .author_name .sv_member {
    color: inherit;
    font-weight: inherit;
}
#bo_v_info .meta_divider {
    color: #cbd5e1;
    font-size: 1.3rem;
    font-weight: 400;
    margin: 0 1px;
    user-select: none;
}
#bo_v_info .meta_date,
#bo_v_info .meta_hit,
#bo_v_info .meta_cmt {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 1.4rem;
    color: #64748b;
    font-weight: 400;
}
#bo_v_info .meta_date i,
#bo_v_info .meta_hit i,
#bo_v_info .meta_cmt i {
    color: #94a3b8;
    font-size: 1.35rem;
}

/* 상단 우측 툴바 버튼 */
#bo_v_top {
    margin: 0;
    float: none;
}
#bo_v_top .btn_bo_user {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}
#bo_v_top .btn_bo_user > li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}
#bo_v_top .btn_bo_user > li > a.btn,
#bo_v_top .btn_bo_user > li > button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    background: #ffffff !important;
    border: 1px solid #d5dbe2 !important;
    color: #475569 !important;
    outline: none !important;
}
#bo_v_top .btn_bo_user > li > a.btn:hover,
#bo_v_top .btn_bo_user > li > button.btn:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

/* 2. 본문 내용 */
#bo_v_atc {
    min-height: 250px;
}
#bo_v_atc_title {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}
#bo_v_con {
    margin: 0 0 5rem;
    width: 100%;
    font-size: 1.7rem;
    line-height: 1.85;
    color: #333d4b;
    letter-spacing: -0.015em;
    word-break: keep-all;
    word-wrap: break-word;
    overflow: hidden;
}
#bo_v_con p {
    margin: 0 0 1.8rem;
    line-height: 1.85;
}
#bo_v_con img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px;
    margin: 2.5rem auto;
    display: block;
}
#bo_v_con h1, #bo_v_con h2, #bo_v_con h3, #bo_v_con h4 {
    color: #191f28;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.4;
    word-break: keep-all;
}
#bo_v_con h1 { font-size: 2.6rem; margin: 4.5rem 0 1.8rem; }
#bo_v_con h2 { font-size: 2.2rem; margin: 4rem 0 1.6rem; }
#bo_v_con h3 { font-size: 1.9rem; margin: 3.5rem 0 1.4rem; }
#bo_v_con h4 { font-size: 1.75rem; margin: 3rem 0 1.2rem; }
#bo_v_con blockquote {
    border-left: 4px solid #3b82f6;
    background: #f8fafc;
    padding: 1.6rem 2rem;
    margin: 2.5rem 0;
    border-radius: 0 8px 8px 0;
    color: #4b5563;
    font-size: 1.6rem;
}
#bo_v_con table {
    width: 100% !important;
    border-collapse: collapse;
    margin: 2.5rem 0;
    font-size: 1.5rem;
    border: 1px solid #e5e8eb;
    border-radius: 8px;
    overflow: hidden;
}
#bo_v_con th {
    background: #f9fafb;
    padding: 12px 16px;
    font-weight: 600;
    color: #191f28;
    border: 1px solid #e5e8eb;
}
#bo_v_con td {
    padding: 12px 16px;
    border: 1px solid #e5e8eb;
    color: #4e5968;
}
#bo_v_con a {
    color: #2563eb;
    text-decoration: underline;
    text-underline-offset: 3px;
}
#bo_v_con a:hover {
    color: #1d4ed8;
}

/* 3. 추천 / 비추천 (좋아요) */
#bo_v_act {
    margin: 5rem 0 3.5rem;
    text-align: center;
}
.bo_v_act_gng {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.bo_v_good, .bo_v_nogood {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 11px 26px !important;
    border-radius: 30px !important;
    font-size: 1.5rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}
.bo_v_good {
    border: 1px solid #fee2e2 !important;
    background: #fff !important;
    color: #ef4444 !important;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.08) !important;
}
.bo_v_good:hover {
    background: #fef2f2 !important;
    border-color: #ef4444 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15) !important;
}
.bo_v_good i {
    font-size: 1.6rem !important;
    color: #ef4444 !important;
    margin: 0 !important;
}
.bo_v_nogood {
    border: 1px solid #e5e7eb !important;
    background: #fff !important;
    color: #6b7280 !important;
}
.bo_v_nogood:hover {
    background: #f9fafb !important;
    border-color: #9ca3af !important;
}

/* 4. 공유 & 스크랩 바 */
#bo_v_share_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0;
    border: none;
    margin: 4.5rem 0 3.5rem;
}
.btn_scrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    background: #fff;
    color: #4b5563;
    font-size: 1.35rem;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}
.btn_scrap:hover {
    background: #f8fafc;
    border-color: #3b82f6;
    color: #3b82f6;
    text-decoration: none;
}
#bo_v_sns {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    float: none;
}
#bo_v_sns li {
    margin: 0;
    padding: 0;
    float: none;
    width: auto;
}
#bo_v_sns li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-size: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
#bo_v_sns li a:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}
#bo_v_sns li a img {
    margin: 0;
    vertical-align: middle;
}
#bo_v_sns li .sns_f { background: #1877f2; }
#bo_v_sns li .sns_t { background: #1da1f2; }
#bo_v_sns li .sns_k { background: #fee500; }

/* 5. 첨부파일 & 관련링크 */
#bo_v_file, #bo_v_link {
    margin: 2rem 0;
}
#bo_v_file h2, #bo_v_link h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}
#bo_v_file ul, #bo_v_link ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#bo_v_file li, #bo_v_link li {
    padding: 14px 18px;
    margin: 1rem 0;
    background: #f9fafb;
    border: 1px solid #eef0f2;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background-color 0.2s ease;
}
#bo_v_file li:hover, #bo_v_link li:hover {
    background: #f3f4f6;
}
#bo_v_file a, #bo_v_link a {
    color: #1f2937;
    text-decoration: none;
    font-size: 1.45rem;
    font-weight: 500;
}
#bo_v_file a:hover, #bo_v_link a:hover {
    color: #2563eb;
    text-decoration: underline;
}
#bo_v_file .bo_v_file_cnt, #bo_v_link .bo_v_link_cnt {
    color: #8b95a1;
    font-size: 1.3rem;
}

/* 6. 이전글 / 다음글 카드 그리드 */
.bo_v_nb_wrap {
    margin: 4.5rem 0;
}
.bo_v_nb_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.8rem;
}
.nb_card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 2.2rem;
    background: #f9fafb;
    border: 1px solid #eef0f2;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-sizing: border-box;
    min-height: 96px;
}
.nb_card:hover {
    background: #ffffff;
    border-color: #3b82f6;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.08);
    transform: translateY(-2px);
    text-decoration: none;
}
.nb_card .nb_dir {
    font-size: 1.3rem;
    font-weight: 600;
    color: #3b82f6;
    margin-bottom: 0.8rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.nb_card.next {
    text-align: right;
}
.nb_card.next .nb_dir {
    justify-content: flex-end;
}
.nb_card .nb_tit {
    font-size: 1.55rem;
    font-weight: 600;
    color: #191f28;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: keep-all;
}
.nb_card:hover .nb_tit {
    color: #2563eb;
}
.nb_card .nb_date {
    font-size: 1.3rem;
    color: #8b95a1;
    margin-top: 0.8rem;
}
.nb_card.empty {
    background: #fafbfc;
    border: 1px dashed #e5e8eb;
    opacity: 0.6;
    cursor: default;
}
.nb_card .empty_txt {
    font-size: 1.4rem;
    color: #9ca3af;
    font-weight: 400;
}

/* 7. 하단 목록으로 이동 버튼 */
#bo_v_bot {
    text-align: center;
    margin: 4rem 0 6rem;
}
.btn_back_list {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 34px;
    background: #1e293b;
    color: #ffffff !important;
    border-radius: 8px;
    font-size: 1.55rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(30, 41, 59, 0.15);
}
.btn_back_list:hover {
    background: #0f172a;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 41, 59, 0.25);
    text-decoration: none;
}
.btn_back_list i {
    font-size: 1.4rem;
}


/* 게시판 댓글 */
.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;display:flex;align-items:flex-start;gap:15px}
#bo_vc article:after {display:none}
#bo_vc article .pf_img {float:none;margin-right:0;flex:0 0 50px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:none;max-width:none;width:100%;flex:1 1 auto;min-width:0}
#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 {display:flex; align-items:center; justify-content:space-between;margin-top: 2rem;}
.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;position:static;}

#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 .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:10px 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 #d0d3db;width:100%;height:40px;border-radius:3px}
#bo_w .btn_submit,
#bo_w .btn_cancel { display:inline-flex; align-items:center; justify-content:center; width:100px; height:40px; }


input[type="text"],
input[type="password"],
input[type="tel"],
input[type="number"],
.submit_btn { height:40px; }
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="number"] { padding-left: 10px; }




@media (max-width:1890px){

}

@media (max-width:1470px){

}

@media (max-width:1200px){
 
}

@media (max-width:992px){

}

@media (max-width:768px){
	.gall_li { padding: 2.5rem 1rem !important; }
	.gall_con { gap: 2rem; }
	.gall_text_href { padding: 0; }
	.bo_tit { font-size: 1.85rem; margin-bottom: 0.8rem; }
	.bo_txt { font-size: 1.45rem; margin-bottom: 1.5rem; max-height: 4.8rem; }
	.gall_info { gap: 1.5rem; font-size: 1.35rem; }
	.gall_info, .gall_info .sv_member { font-size: 1.35rem; }
	.gall_img { flex: 0 0 140px; width: 140px; height: 105px; }

	/* 상세페이지 모바일 대응 */
	#bo_v { padding: 1rem 0 4rem; }
	#bo_v .containers { padding: 0 15px; }
	#bo_v_title { font-size: 2.3rem; margin-bottom: 1.8rem; }
	#bo_v_info { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding-bottom: 1.8rem; }
	#bo_v_top { width: 100%; display: flex; justify-content: flex-end; }
	#bo_v_con { font-size: 1.6rem; line-height: 1.8; margin-bottom: 3.5rem; }
	#bo_v_con h1 { font-size: 2.2rem; margin: 3.5rem 0 1.5rem; }
	#bo_v_con h2 { font-size: 1.95rem; margin: 3rem 0 1.3rem; }
	#bo_v_con h3 { font-size: 1.75rem; margin: 2.5rem 0 1.2rem; }
	.bo_v_nb_grid { grid-template-columns: 1fr; gap: 1.2rem; }
	.nb_card.next { text-align: left; }
	.nb_card.next .nb_dir { justify-content: flex-start; }
	.btn_back_list { width: 100%; justify-content: center; box-sizing: border-box; }
}

@media (max-width:571px){
	.gall_li { padding: 2rem 0.5rem !important; }
	.gall_con { gap: 1.5rem; }
	.gall_text_href { padding: 0; margin-top: 0; width: auto; }
	.bo_tit { font-size: 1.65rem; margin-bottom: 0.6rem; }
	.bo_txt { font-size: 1.35rem; margin-bottom: 1.2rem; -webkit-line-clamp: 2; max-height: 4.4rem; }
	.gall_info { gap: 1.2rem; font-size: 1.25rem; margin-top: 0; }
	.gall_info, .gall_info .sv_member { font-size: 1.25rem; }
	.gall_img { flex: 0 0 105px; width: 105px; height: 80px; }

	#bo_v_title { font-size: 2.05rem; }
	#bo_v_con { font-size: 1.55rem; }
}

@media (max-width:420px){
	.gall_li { padding: 1.6rem 0 !important; }
	.gall_con { gap: 1.2rem; }
	.bo_tit { font-size: 1.55rem; }
	.bo_txt { font-size: 1.25rem; -webkit-line-clamp: 2; }
	.gall_img { flex: 0 0 85px; width: 85px; height: 65px; }
	.gall_img a { border-radius: 6px; }

	#bo_v_title { font-size: 1.85rem; }
}






