@charset "utf-8";

/* ### 게시판 목록 ### */
#bo_list {
    position: relative;
    margin-bottom: 30px;
}

/* 카테고리 */
#bo_cate {
    margin: 0 0 20px;
    padding: 10px 0;
    border-bottom: 2px solid #ff6b6b;
}

#bo_cate h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_cate_ul {
    zoom: 1;
    list-style: none;
    padding: 0;
    margin: 0;
}

#bo_cate_ul:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

#bo_cate_ul li {
    float: left;
    margin-right: 10px;
}

#bo_cate_on {
    color: #ff6b6b;
    font-weight: bold;
}

#bo_cate a {
    display: inline-block;
    padding: 8px 15px;
    background: #f5f5f5;
    border-radius: 20px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
}

#bo_cate a:hover,
#bo_cate a:focus,
#bo_cate #bo_cate_on {
    background: #ff6b6b;
    color: #fff;
}

/* 검색결과 건수 표시 및 글쓰기 버튼 */
#bo_btn_top {
    margin-bottom: 20px;
    text-align: right;
    zoom: 1;
}

#bo_btn_top:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

#bo_list_total {
    float: left;
    padding: 10px 0;
    font-size: 14px;
    color: #666;
}

#bo_list_total span {
    color: #ff6b6b;
    font-weight: bold;
}

.btn_bo_user {
    float: right;
    margin: 0;
    padding: 0;
    list-style: none;
}

.btn_bo_user li {
    float: left;
    margin-left: 5px;
}

/* 공통 버튼 스타일 */
.btn {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    font-size: 13px;
    line-height: 1.4;
    cursor: pointer;
    transition: all 0.3s;
}

.btn:hover {
    background: #f5f5f5;
}

.btn_b01 {
    background: #f8f8f8;
    border-color: #ddd;
}

.btn_b02 {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
}

.btn_b02:hover {
    background: #ff5252;
}

/* 게시판 리스트 테이블 */
.tbl_head01 {
    margin: 0 0 20px;
}

.tbl_head01 caption {
    padding: 0;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.tbl_head01 thead th {
    padding: 15px 5px;
    border-top: 2px solid #ff6b6b;
    border-bottom: 1px solid #e5e5e5;
    background: #fafafa;
    color: #333;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}

.tbl_head01 tbody th {
    padding: 10px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.tbl_head01 th a {
    color: #333;
    text-decoration: none;
}

.tbl_head01 th a:hover {
    text-decoration: underline;
}

.tbl_head01 tbody tr:hover {
    background: #fafafa;
}

.tbl_head01 td {
    padding: 12px 5px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    font-size: 13px;
    text-align: center;
}

.bo_notice td {
    background: #fff9f9;
    font-weight: bold;
}

.bo_notice td a {
    color: #ff6b6b;
}

.td_num2 {
    width: 60px;
}

.td_subject {
    width: auto;
    text-align: left !important;
    padding-left: 15px !important;
}

.bo_tit {
    display: inline-block;
}

.bo_tit a {
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.bo_tit a:hover {
    color: #ff6b6b;
}

.notice_icon {
    display: inline-block;
    padding: 3px 8px;
    background: #ff6b6b;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
    font-weight: normal;
}

.reply_icon {
    display: inline-block;
    padding: 2px 6px;
    background: #666;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
    margin-right: 5px;
}

.comment_cnt {
    display: inline-block;
    padding: 2px 6px;
    background: #ff6b6b;
    color: #fff;
    font-size: 11px;
    border-radius: 10px;
    margin-left: 5px;
}

.bo_cate_link {
    display: inline-block;
    padding: 2px 8px;
    background: #f5f5f5;
    color: #666;
    font-size: 11px;
    border-radius: 3px;
    margin-right: 5px;
    text-decoration: none;
}

.bo_cate_link:hover {
    background: #ff6b6b;
    color: #fff;
}

.td_name {
    width: 100px;
}

.td_num {
    width: 60px;
}

.td_datetime {
    width: 100px;
    color: #999;
    font-size: 12px;
}

/* 선택 체크박스 */
.chk_box {
    display: inline-block;
}

.selec_chk {
    display: none;
}

.selec_chk + label {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    border-radius: 3px;
}

.selec_chk:checked + label:after {
    content: '\f00c';
    font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ff6b6b;
    font-size: 12px;
}

/* 하단 버튼 */
.bo_fx {
    margin-bottom: 20px;
    zoom: 1;
}

.bo_fx:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

.bo_fx .btn_bo_user {
    float: left;
}

/* 게시판 검색 */
.bo_sch_wrap {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
}

.bo_sch {
    position: relative;
    background: #fff;
    border: 2px solid #ff6b6b;
    border-radius: 5px;
    padding: 20px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.bo_sch h3 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#sfl {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    vertical-align: middle;
    border-radius: 3px;
}

.sch_bar {
    display: inline-block;
    position: relative;
    margin-left: 5px;
}

.sch_input {
    width: 200px;
    padding: 8px 35px 8px 10px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
}

.sch_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 100%;
    background: #ff6b6b;
    border: 0;
    color: #fff;
    cursor: pointer;
    border-radius: 0 3px 3px 0;
}

.bo_sch_cls {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 25px;
    height: 25px;
    background: none;
    border: 0;
    color: #999;
    cursor: pointer;
    font-size: 16px;
}

.bo_sch_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    #bo_cate_ul li {
        margin-bottom: 5px;
    }
    
    #bo_cate a {
        padding: 6px 12px;
        font-size: 13px;
    }
    
    .tbl_head01 {
        font-size: 12px;
    }
    
    .tbl_head01 thead th {
        padding: 10px 3px;
        font-size: 12px;
    }
    
    .tbl_head01 td {
        padding: 10px 3px;
        font-size: 12px;
    }
    
    /* 모바일에서 일부 컬럼 숨김 */
    .td_datetime {
        display: none;
    }
    
    .td_name {
        width: 60px;
    }
    
    .td_num {
        width: 40px;
    }
    
    .bo_tit a {
        font-size: 13px;
    }
    
    .btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    
    .sch_input {
        width: 150px;
    }
}

/* ### 게시판 읽기 ### */
#bo_v {
    margin-bottom: 30px;
}

#bo_v header {
    padding: 20px 0;
    border-bottom: 2px solid #ff6b6b;
}

#bo_v_title {
    font-size: 24px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.bo_v_cate {
    display: inline-block;
    padding: 5px 12px;
    background: #ff6b6b;
    color: #fff;
    font-size: 13px;
    border-radius: 3px;
    margin-right: 10px;
}

#bo_v_info {
    padding: 10px 0;
    color: #666;
    font-size: 13px;
}

#bo_v_info h3 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_v_info strong {
    display: inline-block;
    margin: 0 15px 0 5px;
    color: #333;
}

#bo_v_info .if_date {
    margin: 0;
}

#bo_v_info a {
    color: #ff6b6b;
    text-decoration: none;
}

/* 본문 */
#bo_v_atc {
    min-height: 200px;
    padding: 30px 0;
}

#bo_v_atc_title {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_v_con {
    margin-bottom: 30px;
    line-height: 1.8;
    font-size: 14px;
    word-break: break-all;
}

#bo_v_con img {
    max-width: 100%;
    height: auto;
}

/* SNS 공유 */
#bo_v_share {
    margin: 0 0 20px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

#bo_v_share:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

/* 추천/비추천 */
#bo_v_act {
    margin: 20px 0;
    text-align: center;
}

.bo_v_act_gng {
    position: relative;
    display: inline-block;
    margin: 0 10px;
}

#bo_v_act_good,
#bo_v_act_nogood {
    display: none;
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
    padding: 10px;
    background: #333;
    color: #fff;
    border-radius: 5px;
    white-space: nowrap;
    font-size: 13px;
}

.bo_v_good,
.bo_v_nogood {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #ddd;
    background: #fff;
    color: #666;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s;
}

.bo_v_good:hover {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
}

.bo_v_nogood:hover {
    background: #666;
    border-color: #666;
    color: #fff;
}

/* 첨부파일 */
#bo_v_file {
    margin: 20px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 5px;
}

#bo_v_file h3 {
    margin: 0 0 15px;
    font-size: 16px;
    color: #333;
}

#bo_v_file ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#bo_v_file li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

#bo_v_file li:last-child {
    border-bottom: 0;
}

#bo_v_file a {
    color: #333;
    text-decoration: none;
}

#bo_v_file a:hover {
    color: #ff6b6b;
}

.bo_v_file_cnt {
    display: block;
    margin-top: 5px;
    color: #999;
    font-size: 12px;
}

/* 관련링크 */
#bo_v_link {
    margin: 20px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 5px;
}

#bo_v_link h3 {
    margin: 0 0 15px;
    font-size: 16px;
    color: #333;
}

#bo_v_link ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#bo_v_link li {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

#bo_v_link li:last-child {
    border-bottom: 0;
}

/* 이전글/다음글 */
.bo_v_nb {
    margin: 20px 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.bo_v_nb li {
    padding: 15px 0;
    border-bottom: 1px solid #f5f5f5;
}

.bo_v_nb li:last-child {
    border-bottom: 0;
}

.bo_v_nb .nb_tit {
    display: inline-block;
    width: 70px;
    color: #666;
    font-size: 13px;
}

.bo_v_nb a {
    color: #333;
    text-decoration: none;
}

.bo_v_nb a:hover {
    color: #ff6b6b;
}

.bo_v_nb .nb_date {
    float: right;
    color: #999;
    font-size: 12px;
}

/* 버튼 */
#bo_v_top {
    margin: 20px 0;
    text-align: right;
    zoom: 1;
}

#bo_v_top:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

.bo_v_com {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bo_v_com li {
    display: inline-block;
    margin-left: 5px;
}

.btn_more_opt {
    position: relative;
}

.more_opt {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 5px;
    padding: 10px 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    list-style: none;
    z-index: 10;
}

.more_opt li {
    margin: 0;
}

.more_opt a {
    display: block;
    padding: 8px 20px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
}

.more_opt a:hover {
    background: #f5f5f5;
    color: #ff6b6b;
}

.more_opt i {
    float: right;
    margin-left: 10px;
    color: #999;
}

/* ### 게시판 글쓰기 ### */
#bo_w {
    margin-bottom: 30px;
}

#bo_w h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.write_div {
    margin-bottom: 20px;
}

/* 입력 필드 스타일 */
.frm_input {
    padding: 10px;
    border: 1px solid #ddd;
    background: #fff;
    color: #000;
    vertical-align: middle;
    line-height: 2em;
    border-radius: 3px;
}

.frm_input:focus {
    border-color: #ff6b6b;
    outline: none;
}

.full_input {
    width: 100%;
}

.half_input {
    width: 49%;
}

.required,
.sound_only {
    font-weight: bold;
}

.frm_file {
    display: block;
    margin-bottom: 5px;
}

/* 에디터 */
.wr_content {
    border: 1px solid #ddd;
    background: #fff;
    min-height: 300px;
}

.wr_content textarea {
    width: 100%;
    min-height: 300px;
    padding: 10px;
    border: 0;
    resize: vertical;
}

/* 옵션 */
#bo_w .write_div label {
    display: inline-block;
    margin-right: 15px;
    cursor: pointer;
}

#bo_w .write_div input[type="checkbox"] {
    margin-right: 5px;
}

/* 파일첨부 */
.bo_w_flie {
    position: relative;
    margin-bottom: 10px;
}

.file_wr {
    margin-bottom: 5px;
}

.lb_icon {
    display: inline-block;
    margin-right: 5px;
    color: #666;
}

.file_del {
    display: block;
    margin-top: 5px;
    color: #ff6b6b;
}

.file_del input {
    margin-right: 5px;
}

/* 자동저장 */
#autosave_wrapper {
    position: relative;
}

#btn_autosave {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    padding: 5px 10px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #666;
    font-size: 12px;
    cursor: pointer;
    border-radius: 3px;
}

#autosave_pop {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 5px;
    padding: 15px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

#autosave_pop strong {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}

#autosave_pop ul {
    margin: 0 0 10px;
    padding: 0;
    max-height: 150px;
    overflow-y: auto;
    list-style: none;
}

#autosave_pop li {
    padding: 5px 0;
}

#autosave_pop a {
    color: #333;
    text-decoration: none;
}

#autosave_pop a:hover {
    color: #ff6b6b;
}

.autosave_close {
    padding: 5px 15px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #666;
    cursor: pointer;
    border-radius: 3px;
}

/* 글자수 */
#char_count_desc {
    display: block;
    margin: 0 0 5px;
    padding: 5px;
    background: #f5f5f5;
    line-height: 1.4;
    border-radius: 3px;
}

#char_count_wrap {
    margin-top: 5px;
    text-align: right;
}

#char_count {
    font-weight: bold;
    color: #ff6b6b;
}

/* 하단 버튼 */
.btn_confirm {
    margin: 30px 0;
    text-align: center;
}

.btn_confirm .btn {
    margin: 0 5px;
}

.btn_cancel {
    background: #666;
    border-color: #666;
    color: #fff;
}

.btn_submit {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
    padding: 10px 30px;
    font-size: 15px;
}

.btn_submit:hover {
    background: #ff5252;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    #bo_v_title {
        font-size: 20px;
    }
    
    #bo_v_info {
        font-size: 12px;
    }
    
    #bo_v_info strong {
        margin: 0 8px 0 3px;
    }
    
    #bo_v_con {
        font-size: 13px;
    }
    
    .half_input {
        width: 100%;
        margin-bottom: 10px;
    }
    
    #btn_autosave {
        position: static;
        display: block;
        width: 100%;
        margin-top: 10px;
        transform: none;
    }
    
    .btn_confirm .btn {
        display: block;
        width: 100%;
        margin: 5px 0;
    }
}border-radius: 5px;
    font-size: 13px;
    line-height: 1.4;
    cursor: pointer;
    transition: all 0.3s;
}

.btn:hover {
    background: #f5f5f5;
}

.btn_b01 {
    background: #f8f8f8;
    border-color: #ddd;
}

.btn_b02 {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
}

.btn_b02:hover {
    background: #ff5252;
}

/* 게시판 리스트 테이블 */
.tbl_head01 {
    margin: 0 0 20px;
}

.tbl_head01 caption {
    padding: 0;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

.tbl_head01 thead th {
    padding: 15px 5px;
    border-top: 2px solid #ff6b6b;
    border-bottom: 1px solid #e5e5e5;
    background: #fafafa;
    color: #333;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}

.tbl_head01 tbody th {
    padding: 10px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

.tbl_head01 th a {
    color: #333;
    text-decoration: none;
}

.tbl_head01 th a:hover {
    text-decoration: underline;
}

.tbl_head01 tbody tr:hover {
    background: #fafafa;
}

.tbl_head01 td {
    padding: 12px 5px;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    font-size: 13px;
    text-align: center;
}

.bo_notice td {
    background: #fff9f9;
    font-weight: bold;
}

.bo_notice td a {
    color: #ff6b6b;
}

.td_num2 {
    width: 60px;
}

.td_subject {
    width: auto;
    text-align: left !important;
    padding-left: 15px !important;
}

.bo_tit {
    display: inline-block;
}

.bo_tit a {
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

.bo_tit a:hover {
    color: #ff6b6b;
}

.notice_icon {
    display: inline-block;
    padding: 3px 8px;
    background: #ff6b6b;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
    font-weight: normal;
}

.reply_icon {
    display: inline-block;
    padding: 2px 6px;
    background: #666;
    color: #fff;
    font-size: 11px;
    border-radius: 3px;
    margin-right: 5px;
}

.comment_cnt {
    display: inline-block;
    padding: 2px 6px;
    background: #ff6b6b;
    color: #fff;
    font-size: 11px;
    border-radius: 10px;
    margin-left: 5px;
}

.bo_cate_link {
    display: inline-block;
    padding: 2px 8px;
    background: #f5f5f5;
    color: #666;
    font-size: 11px;
    border-radius: 3px;
    margin-right: 5px;
    text-decoration: none;
}

.bo_cate_link:hover {
    background: #ff6b6b;
    color: #fff;
}

.td_name {
    width: 100px;
}

.td_num {
    width: 60px;
}

.td_datetime {
    width: 100px;
    color: #999;
    font-size: 12px;
}

/* 선택 체크박스 */
.chk_box {
    display: inline-block;
}

.selec_chk {
    display: none;
}

.selec_chk + label {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #ddd;
    background: #fff;
    cursor: pointer;
    border-radius: 3px;
}

.selec_chk:checked + label:after {
    content: '\f00c';
    font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ff6b6b;
    font-size: 12px;
}

/* 하단 버튼 */
.bo_fx {
    margin-bottom: 20px;
    zoom: 1;
}

.bo_fx:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: "";
}

.bo_fx .btn_bo_user {
    float: left;
}

/* 게시판 검색 */
.bo_sch_wrap {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
}

.bo_sch {
    position: relative;
    background: #fff;
    border: 2px solid #ff6b6b;
    border-radius: 5px;
    padding: 20px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.bo_sch h3 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#sfl {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    vertical-align: middle;
    border-radius: 3px;
}

.sch_bar {
    display: inline-block;
    position: relative;
    margin-left: 5px;
}

.sch_input {
    width: 200px;
    padding: 8px 35px 8px 10px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
}

.sch_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 35px;
    height: 100%;
    background: #ff6b6b;
    border: 0;
    color: #fff;
    cursor: pointer;
    border-radius: 0 3px 3px 0;
}

.bo_sch_cls {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 25px;
    height: 25px;
    background: none;
    border: 0;
    color: #999;
    cursor: pointer;
    font-size: 16px;
}

.bo_sch_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    #bo_cate_ul li {
        margin-bottom: 5px;
    }
    
    #bo_cate a {
        padding: 6px 12px;
        font-size: 13px;
    }
    
    .tbl_head01 {
        font-size: 12px;
    }
    
    .tbl_head01 thead th {
        padding: 10px 3px;
        font-size: 12px;
    }
    
    .tbl_head01 td {
        padding: 10px 3px;
        font-size: 12px;
    }
    
    /* 모바일에서 일부 컬럼 숨김 */
    .td_datetime {
        display: none;
    }
    
    .td_name {
        width: 60px;
    }
    
    .td_num {
        width: 40px;
    }
    
    .bo_tit a {
        font-size: 13px;
    }
    
    .btn {
        padding: 6px 12px;
        font-size: 12px;
    }
    
    .sch_input {
        width: 150px;
    }
}

/* ### 댓글 ### */
#bo_vc {
    margin: 20px 0;
    padding: 20px 0;
}

#bo_vc h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_vc article {
    padding: 20px 0;
    border-top: 1px solid #e5e5e5;
    margin-bottom: 15px;
}

#bo_vc header {
    position: relative;
    margin-bottom: 15px;
}

#bo_vc header h3 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_vc .profile_img {
    display: inline-block;
    margin-right: 10px;
}

#bo_vc .profile_img img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.bo_vc_hdinfo {
    display: inline-block;
    vertical-align: middle;
}

.bo_vc_hdinfo > span {
    display: block;
}

.bo_vc_hdinfo > span:first-child {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 3px;
}

.bo_vc_date {
    font-size: 12px;
    color: #999;
}

.cmt_contents {
    margin-bottom: 10px;
}

.cmt_contents p {
    line-height: 1.8;
    font-size: 13px;
    word-break: break-all;
}

.bo_vc_act {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bo_vc_act li {
    display: inline-block;
    margin-right: 5px;
}

.bo_vc_act .btn_b03 {
    padding: 5px 10px;
    background: #f5f5f5;
    border: 1px solid #ddd;
    color: #666;
    font-size: 12px;
    text-decoration: none;
    border-radius: 3px;
    transition: all 0.3s;
}

.bo_vc_act .btn_b03:hover {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
}

#bo_vc_empty {
    text-align: center;
    padding: 50px 0;
    color: #999;
    border-top: 1px solid #e5e5e5;
}

/* 댓글 쓰기 */
#bo_vc_w {
    position: relative;
    margin: 20px 0;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 5px;
}

#bo_vc_w h2 {
    margin: 0 0 15px;
    font-size: 16px;
    color: #333;
}

.bo_vc_w_info {
    margin-bottom: 10px;
}

.bo_vc_w_info input {
    width: 49%;
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
}

.bo_vc_w_info input:first-child {
    margin-right: 2%;
}

.bo_vc_w_con {
    position: relative;
}

#wr_content {
    display: block;
    width: 100%;
    height: 90px;
    padding: 10px;
    border: 1px solid #ddd;
    background: #fff;
    resize: vertical;
    border-radius: 3px;
}

#char_cnt {
    display: block;
    margin: 5px 0;
    text-align: right;
    font-size: 12px;
    color: #666;
}

#char_count {
    font-weight: bold;
    color: #ff6b6b;
}

.bo_vc_w_btns {
    margin-top: 10px;
}

.btn_confirm {
    text-align: right;
}

.btn_submit {
    padding: 8px 20px;
    background: #ff6b6b;
    border: 1px solid #ff6b6b;
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    border-radius: 3px;
    transition: all 0.3s;
}

.btn_submit:hover {
    background: #ff5252;
}

.bo_vc_opt {
    margin-top: 10px;
}

.bo_vc_opt input[type="checkbox"] {
    display: none;
}

.bo_vc_opt label {
    display: inline-block;
    cursor: pointer;
}

.bo_vc_opt label span {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    border: 1px solid #ddd;
    background: #fff;
    vertical-align: middle;
    border-radius: 3px;
}

.bo_vc_opt input[type="checkbox"]:checked + label span:after {
    content: '\f00c';
    font-family: 'FontAwesome';
    display: block;
    text-align: center;
    line-height: 16px;
    font-size: 12px;
    color: #ff6b6b;
}

.bo_vc_w_sns {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e5e5e5;
}

.bo_vc_w_sns label {
    margin-right: 15px;
    cursor: pointer;
}

.bo_vc_w_sns input {
    margin-right: 5px;
}

/* 캡챠 */
.captcha_wrap {
    display: inline-block;
    margin-right: 10px;
}

/* 댓글 답변, 수정 */
.bo_vc_w {
    display: none;
    margin: 15px 0;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    #bo_vc article {
        padding: 15px 0;
    }
    
    .bo_vc_w_info input {
        width: 100%;
        margin-bottom: 5px;
    }
    
    .bo_vc_w_info input:first-child {
        margin-right: 0;
    }
    
    #wr_content {
        height: 80px;
    }
    
    .btn_confirm {
        text-align: center;
    }
    
    .btn_submit {
        width: 100%;
    }
    
    .captcha_wrap {
        display: block;
        margin: 10px 0;
    }
}

/* 페이지 네비게이션 */
.pg_wrap {
    clear: both;
    text-align: center;
    margin: 30px 0;
}

.pg {
    display: inline-block;
    vertical-align: middle;
}

.pg a,
.pg strong {
    display: inline-block;
    margin: 0 2px;
    padding: 8px 12px;
    background: #fff;
    border: 1px solid #ddd;
    color: #666;
    text-decoration: none;
    font-size: 13px;
    line-height: 1;
    border-radius: 3px;
    transition: all 0.3s;
}

.pg a:hover {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
}

.pg .pg_current,
.pg strong {
    background: #ff6b6b;
    border-color: #ff6b6b;
    color: #fff;
    font-weight: normal;
}

.pg_page {
    margin: 0 5px;
}

.pg_start,
.pg_prev {
    margin-right: 10px;
}

.pg_end,
.pg_next {
    margin-left: 10px;
}

.pg_start:before {
    content: '\f100';
    font-family: 'FontAwesome';
}

.pg_prev:before {
    content: '\f104';
    font-family: 'FontAwesome';
}

.pg_end:before {
    content: '\f101';
    font-family: 'FontAwesome';
}

.pg_next:before {
    content: '\f105';
    font-family: 'FontAwesome';
}

/* 검색 스타일 추가 */
.sch_wr {
    margin: 30px 0;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 5px;
    text-align: center;
}

.sch_wr h2 {
    position: absolute;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#sfl {
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
}

.sch_wr input {
    width: 300px;
    max-width: 50%;
    padding: 8px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 3px;
    margin: 0 5px;
}

.sch_wr button {
    padding: 8px 20px;
    background: #ff6b6b;
    border: 1px solid #ff6b6b;
    color: #fff;
    cursor: pointer;
    border-radius: 3px;
}

/* 모바일 반응형 추가 */
@media (max-width: 768px) {
    .pg a,
    .pg strong {
        padding: 6px 10px;
        font-size: 12px;
    }
    
    .pg_start,
    .pg_prev {
        margin-right: 5px;
    }
    
    .pg_end,
    .pg_next {
        margin-left: 5px;
    }
    
    .sch_wr {
        padding: 15px;
    }
    
    .sch_wr input {
        width: 200px;
        margin: 5px 0;
    }
}
















.region-box {
  width:750px;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #fff;
  margin-bottom: 20px;
}

.region-title {
  font-size: 18px;
  margin-bottom: 15px;
}

.region-title .highlight {
  color: #ff8000;
}

.region-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
}

.region-td {
  text-align:center;
  padding: 15px 5px;
  cursor: pointer;
  font-size: 14px;
  color: #000;
  transition: background 0.2s;
}

.region-td:hover {
  background-color: #f5f5f5;
}

.region-td img {
  width: 45px;
  height: 45px;
  display: block;
  margin: 0 auto 5px;
}
