@charset "utf-8";

/* ========================================
   기본 스타일
   ======================================== */
body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
    background: #ffffff;
}

/* ========================================
   게시판 카테고리
   ======================================== */
#bo_cate {
    margin: 25px 0;
}

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

#bo_cate ul {
    zoom: 1;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

#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: 8px 20px;
    border-radius: 30px;
    border: 1px solid #E8D5D0;
    color: #A6756A;
    font-size: 14px;
    transition: all 0.3s ease;
}

#bo_cate a:focus, 
#bo_cate a:hover, 
#bo_cate a:active {
    text-decoration: none;
    background: #A6756A;
    color: #fff;
    border-color: #A6756A;
}

#bo_cate #bo_cate_on {
    z-index: 2;
    background: #A6756A;
    color: #fff;
    font-weight: 600;
    border: 1px solid #A6756A;
    box-shadow: 0 2px 8px rgba(166, 117, 106, 0.3);
}

/* ========================================
   체크박스 스타일
   ======================================== */
.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;
    padding-left: 20px;
    color: #676e70;
    vertical-align: baseline;
}

.chk_box input[type="checkbox"] + label:hover {
    color: #A6756A;
}

.chk_box input[type="checkbox"] + label span {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 15px;
    height: 15px;
    display: block;
    background: #fff;
    border: 1px solid #d0d4df;
    border-radius: 3px;
}

.write_div .chk_box input[type="checkbox"] + label, 
.bo_vc_w .chk_box input[type="checkbox"] + label {
    padding-left: 20px;
}

.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: 15px;
    height: 15px;
    display: block;
    margin: 0;
    background: #fff;
    border: 1px solid #d0d4df;
    border-radius: 3px;
}

.chk_box input[type="checkbox"]:checked + label {
    color: #000;
}

.chk_box input[type="checkbox"]:checked + label span {
    background: url(./img/chk.png) no-repeat 50% 50% #A6756A;
    border-color: #A6756A;
    border-radius: 3px;
}

.all_chk.chk_box input[type="checkbox"] + label span {
    top: 0;
    left: 0;
}

/* ========================================
   갤러리 목록 - notice.css 스타일 적용
   ======================================== */
#bo_gall {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px 100px;
    width: 100%;
    box-sizing: border-box;
}

#bo_gall h2 {
    margin: 0;
    padding: 0;
    width: 1px;
    height: 1px;
    font-size: 0;
    line-height: 0;
    overflow: hidden;
}

#bo_gall #gall_ul {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    zoom: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    width: 100%;
    box-sizing: border-box;
}

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

#bo_gall .gall_li {
    float: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

#bo_gall .gall_li .gall_chk {
    display: none !important;
}

#bo_gall .gall_box {
    position: relative;
    margin: 0;
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    cursor: pointer;
}

#bo_gall .gall_box:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(166, 117, 106, 0.2);
}

#bo_gall .gall_con {
    position: relative;
}

/* 갤러리 이미지 */
#bo_gall .gall_href a:link, 
#bo_gall .gall_href a:focus, 
#bo_gall .gall_href a:hover {
    text-decoration: none;
}

#bo_gall .gall_img {
    border-bottom: none;
    text-align: center;
    overflow: hidden;
    height: 200px;
    background: #f5f5f5;
}

#bo_gall .gall_img a,
#bo_gall .gall_img .no_image,
#bo_gall .gall_img .is_notice {
    display: block;
    height: 100%;
}

#bo_gall .gall_img img, 
#bo_gall .gall_img video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#bo_gall .gall_img span {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.25em;
    color: #999;
    height: 100%;
}

/* 갤러리 텍스트 영역 */
#bo_gall .gall_text_href {
    margin: 0;
    padding: 20px;
}

#bo_gall .gall_text_href a {
    font-weight: normal;
}

#bo_gall .bo_tit {
    display: block;
    line-height: 1.5;
    font-weight: 600;
    color: #333;
    font-size: 16px;
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    transition: color 0.3s ease;
}

#bo_gall .gall_box:hover .bo_tit {
    color: #A6756A;
}

#bo_gall .bo_tit .cnt_cmt {
    background: #F4EAEA;
    color: #A6756A;
    font-size: 11px;
    height: 18px;
    line-height: 18px;
    padding: 0 8px;
    border-radius: 10px;
    vertical-align: middle;
    font-weight: 600;
    margin-left: 5px;
}

#bo_gall .bo_cnt {
    color: #999;
    line-height: 1.5;
    font-size: 13px;
    display: none;
}

/* 갤러리 정보 */
#bo_gall .gall_info {
    line-height: 1.5em;
    padding: 0 20px 20px;
    color: #777;
    font-size: 13px;
}

#bo_gall .gall_info strong {
    display: inline-block;
    margin: 0;
    font-weight: 500;
}

#bo_gall .gall_info i {
    font-size: 12px;
    margin-right: 3px;
}

#bo_gall .gall_info .gall_date,
#bo_gall .gall_info .gall_view {
    display: inline-block;
    margin-left: 10px;
    color: #999;
}

/* 갤러리 옵션 (추천/비추천) */
#bo_gall .gall_option {
    position: absolute;
    top: 10px;
    right: 10px;
}

#bo_gall .gall_option strong {
    background: rgba(255, 255, 255, 0.95);
    padding: 6px 12px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    font-size: 12px;
    color: #A6756A;
    font-weight: 600;
}

#bo_gall .gall_option i {
    margin-right: 3px;
}

#bo_gall .profile_img img {
    border-radius: 50%;
}

#bo_gall .bo_tit .fa-download {
    width: 16px;
    height: 16px;
    line-height: 16px;
    background: #e89f31;
    color: #fff;
    text-align: center;
    font-size: 10px;
    border-radius: 2px;
    margin-right: 2px;
    vertical-align: middle;
}

#bo_gall .bo_tit .fa-link {
    width: 16px;
    height: 16px;
    line-height: 16px;
    background: #ad68d8;
    color: #fff;
    text-align: center;
    font-size: 10px;
    border-radius: 2px;
    margin-right: 2px;
    vertical-align: middle;
}

#bo_gall .bo_tit .new_icon {
    display: inline-block;
    width: auto;
    min-width: 16px;
    line-height: 16px;
    font-size: 10px;
    color: #fff;
    background: #A6756A;
    text-align: center;
    border-radius: 3px;
    margin-left: 5px;
    font-weight: bold;
    vertical-align: middle;
    padding: 0 5px;
}

#bo_gall .bo_tit .hot_icon {
    display: inline-block;
    width: 16px;
    line-height: 16px;
    font-size: 0.833em;
    color: #fff;
    background: #e52955;
    text-align: center;
    border-radius: 2px;
    vertical-align: middle;
    margin-right: 2px;
}

#bo_gall .bo_tit .fa-lock {
    display: inline-block;
    line-height: 16px;
    color: #999;
    text-align: center;
    vertical-align: middle;
}

/* 현재 열람중인 글 */
#bo_gall .gall_now .gall_box {
    border: 2px solid #A6756A;
}

#bo_gall .gall_now .gall_text_href a {
    color: #A6756A;
}

/* 그리드 레이아웃 (반응형) */
.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;
    padding-left: 0;
    padding-right: 0;
    float: none;
    box-sizing: border-box;
    margin-left: 0;
    width: 100%;
}

.gall_row .box_clear {
    clear: none;
}

/* 빈 목록 */
#bo_gall .empty_list {
    grid-column: 1 / -1;
    text-align: center;
    padding: 80px 20px;
    color: #999;
    font-size: 16px;
}

/* ========================================
   게시판 상단 버튼 영역
   ======================================== */
#bo_btn_top {
    margin: 0 0 30px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

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

#bo_list_total {
    float: left;
    line-height: 40px;
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

#bo_list_total span {
    color: #A6756A;
    font-weight: 600;
}

.btn_bo_user {
    float: right;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    gap: 8px;
}

.btn_bo_user li {
    float: left;
    width: 40px;
    height: 40px;
    text-align: center;
    margin-left: 0;
    background: #fff;
}

.btn_bo_user > li {
    position: relative;
}

.btn_bo_user a,
.btn_bo_user button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #666;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn_bo_user a:hover,
.btn_bo_user button:hover {
    background: #A6756A;
    color: #fff;
    border-color: #A6756A;
}

.btn_bo_user i {
    font-size: 16px;
}

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

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

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

/* 관리자 버튼 */
.btn_bo_adm {
    float: left;
}

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

.btn_bo_adm input {
    padding: 0 8px;
    border: 0;
    background: #d4d4d4;
    color: #666;
    text-decoration: none;
    vertical-align: middle;
}

/* 공지사항 */
.bo_notice td {
    background: #FAF5F4 !important;
    border-bottom: 1px solid #E8D5D0;
}

.bo_notice td a {
    font-weight: bold;
    color: #A6756A;
}

.bo_notice .notice_icon {
    display: inline-block;
    line-height: 25px;
    border-radius: 5px;
    font-weight: bold;
    color: #A6756A;
}

/* 더보기 옵션 */
.more_opt {
    display: none;
    position: absolute;
    top: 45px;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.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 #ddd 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 #f1f1f1;
    padding: 10px;
    float: inherit;
    width: 90px;
    margin: 0;
    color: #6b757c;
    text-align: left;
}

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

.more_opt li button, 
.more_opt li a {
    width: 100%;
    border: 0;
    background: #fff;
    color: #6b757c;
}

.more_opt li:hover a,
.more_opt li:hover button {
    color: #A6756A;
}

.more_opt li i {
    float: right;
    line-height: 20px;
}

.td_num strong {
    color: #000;
}

.bo_cate_link {
    display: inline-block;
    background: #F4EAEA;
    color: #A6756A;
    font-weight: 500 !important;
    height: 24px;
    line-height: 24px;
    padding: 0 12px;
    border-radius: 12px;
    font-size: 12px;
    margin-bottom: 8px;
}

/* 전체 선택 체크박스 - 숨김 */
#gall_allchk {
    display: none !important;
}

/* ========================================
   페이지네이션 - notice.css 스타일 적용
   ======================================== */
#bo_gall .pg_wrap {
    display: flex;
    justify-content: center;
    margin: 50px 0 30px;
}

#bo_gall .pg {
    display: flex;
    align-items: center;
    gap: 8px;
}

#bo_gall .pg a,
#bo_gall .pg strong {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #ddd;
    border-radius: 6px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    background: #fff;
}

#bo_gall .pg a:hover {
    background: #A6756A;
    color: white;
    border-color: #A6756A;
}

#bo_gall .pg strong {
    background: #A6756A;
    color: white;
    border-color: #A6756A;
    font-weight: 600;
}

#bo_gall .pg .pg_page {
    font-weight: normal;
}

#bo_gall .pg .pg_current {
    font-weight: 600;
}

/* ========================================
   게시판 검색
   ======================================== */
.bo_sch_wrap {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.bo_sch_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.bo_sch {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 500px;
}

.bo_sch h3 {
    font-size: 24px;
    margin-bottom: 25px;
    color: #333;
    font-weight: 600;
}

.bo_sch select {
    width: 100%;
    height: 45px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 15px;
    margin-bottom: 15px;
    font-size: 14px;
    background: #fff;
}

.sch_bar {
    position: relative;
    margin-bottom: 20px;
}

.sch_input {
    width: 100%;
    height: 50px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0 60px 0 15px;
    font-size: 15px;
}

.sch_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    border: none;
    background: #A6756A;
    color: #fff;
    border-radius: 0 8px 8px 0;
    cursor: pointer;
    transition: all 0.3s ease;
}

.sch_btn:hover {
    background: #8B5D52;
}

.bo_sch_cls {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    border: none;
    background: #f5f5f5;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    color: #999;
    transition: all 0.3s ease;
}

.bo_sch_cls:hover {
    background: #e5e5e5;
    color: #333;
}

/* ========================================
   반응형 - 태블릿
   ======================================== */
@media (max-width: 1200px) {
    #bo_gall {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    #bo_gall #gall_ul {
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
        margin: 10px 0 0;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
    }

    #bo_gall .gall_li {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #bo_gall .gall_img {
        height: 180px;
    }
}

/* ========================================
   반응형 - 모바일
   ======================================== */
@media (max-width: 768px) {
    #bo_gall {
        padding: 20px 16px 80px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    /* 카테고리와 카드 사이 여백 축소 */
    #bo_cate {
        margin: 10px 0 8px;
        width: 100%;
    }

    #bo_cate ul {
        gap: 6px;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    #bo_cate li {
        padding: 0;
    }

    #bo_cate a {
        padding: 6px 14px;
        font-size: 12px;
        line-height: 1.4;
        white-space: nowrap;
    }

    #bo_gall #gall_ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin: 0;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
    }

    #bo_gall .gall_li {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #bo_gall .gall_box {
        width: 100%;
        box-sizing: border-box;
    }

    #bo_gall .gall_img {
        height: 150px;
    }

    #bo_gall .gall_text_href {
        padding: 15px;
    }

    #bo_gall .bo_tit {
        font-size: 14px;
        margin-bottom: 8px;
    }

    #bo_gall .gall_info {
        padding: 0 15px 15px;
        font-size: 12px;
    }

    #bo_gall .gall_info .gall_date,
    #bo_gall .gall_info .gall_view {
        margin-left: 8px;
    }

    #bo_btn_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 20px;
    }

    #bo_list_total {
        font-size: 13px;
        line-height: 1.5;
    }

    .btn_bo_user {
        width: 100%;
        justify-content: flex-end;
    }

    .btn_bo_user li {
        width: 36px;
        height: 36px;
    }

    .btn_bo_user a,
    .btn_bo_user button {
        width: 36px;
        height: 36px;
    }

    .btn_bo_user i {
        font-size: 14px;
    }

    #bo_cate a {
        padding: 6px 15px;
        font-size: 13px;
    }

    #gall_allchk {
        padding: 10px 12px;
        font-size: 13px;
    }

    #bo_gall .pg_wrap {
        margin: 30px 0 20px;
    }

    #bo_gall .pg {
        gap: 5px;
        flex-wrap: wrap;
    }

    #bo_gall .pg a,
    #bo_gall .pg strong {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .bo_sch {
        padding: 30px 20px;
    }

    .bo_sch h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    #bo_gall .empty_list {
        padding: 60px 20px;
        font-size: 14px;
    }
}

/* ========================================
   반응형 - 작은 모바일
   ======================================== */
@media (max-width: 480px) {
    #bo_gall {
        padding: 14px 14px 60px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        overflow-x: hidden;
    }

    #bo_cate {
        margin: 8px 0 6px;
    }

    #bo_cate ul {
        gap: 6px;
        flex-wrap: wrap;
        justify-content: center;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    #bo_cate li {
        padding: 0;
    }

    #bo_cate a {
        padding: 6px 14px;
        font-size: 12px;
        white-space: nowrap;
    }

    #bo_gall #gall_ul {
        grid-template-columns: 1fr;
        gap: 14px;
        margin: 0;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
    }

    #bo_gall .gall_li {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #bo_gall .gall_box {
        width: 100%;
        box-sizing: border-box;
    }

    #bo_gall .gall_img {
        height: 200px;
    }

    #bo_gall .bo_tit {
        font-size: 15px;
    }

    #bo_gall .gall_info {
        font-size: 12px;
    }

    .btn_bo_user li {
        width: 34px;
        height: 34px;
    }

    .btn_bo_user a,
    .btn_bo_user button {
        width: 34px;
        height: 34px;
    }

    #bo_gall .pg a,
    #bo_gall .pg strong {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* ============================================
   게시물 상세보기 (View) + 글쓰기 (Write) 개선 및 완벽한 반응형
   기존 style.css 맨 아래에 추가하세요
   ============================================ */

/* ============================================
   VIEW (게시물 상세보기) 개선
   ============================================ */

/* 전체 게시물 영역 */
article#bo_v {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
    background: #fff !important;
}

/* 헤더 - 제목 영역 */
article#bo_v header {
    margin-bottom: 40px !important;
    padding-bottom: 30px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

#bo_v_title {
    margin: 0 !important;
    padding: 0 !important;
}

/* 카테고리 */
.bo_v_cate {
    display: inline-block !important;
    padding: 8px 16px !important;
    background: #F4EAEA !important;
    color: #A6756A !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 5px !important;
    margin-right: 15px !important;
    vertical-align: middle !important;
}

/* 제목 */
.bo_v_tit {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    word-break: keep-all !important;
}

/* 게시물 정보 영역 */
#bo_v_info {
    margin-bottom: 50px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

#bo_v_info h2 {
    position: absolute !important;
    left: -9999px !important;
}

.profile_info {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

/* 프로필 이미지 */
.pf_img {
    display: none !important; /* 프로필 이미지 표시 */
    flex-shrink: 0 !important;
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #f0f0f0 !important;
    border: 2px solid #e8e8e8 !important;
}

.pf_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* 프로필 정보 텍스트 */
.profile_info_ct {
    flex: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px 20px !important;
    font-size: 15px !important;
    color: #666 !important;
}

.profile_info_ct strong {
    color: #333 !important;
    font-weight: 600 !important;
}

.profile_info_ct strong:first-child {
    font-size: 17px !important;
    color: #1a1a1a !important;
}

.profile_info_ct a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
}

.profile_info_ct a:hover {
    color: #A6756A !important;
}

.profile_info_ct i {
    margin-right: 6px !important;
    color: #999 !important;
}

/* SNS 공유 & 스크랩 */
#bo_v_share {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 40px !important;
    padding: 20px 0 !important;
}

#bo_v_share .btn {
    padding: 10px 18px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

#bo_v_share .btn:hover {
    background: #f8f9fa !important;
    border-color: #A6756A !important;
    color: #A6756A !important;
}

/* 본문 이미지 */
#bo_v_img {
    margin-bottom: 40px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
    gap: 20px !important;
}

#bo_v_img img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: transform 0.3s !important;
}

#bo_v_img img:hover {
    transform: scale(1.03) !important;
}

/* 본문 내용 */
#bo_v_con {
    font-size: 17px !important;
    line-height: 1.9 !important;
    color: #333 !important;
    word-break: keep-all !important;
    margin: 40px 0 !important;
}

#bo_v_con img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    margin: 30px 0 !important;
}

#bo_v_con p {
    margin: 20px 0 !important;
}

#bo_v_con h1,
#bo_v_con h2,
#bo_v_con h3 {
    margin-top: 50px !important;
    margin-bottom: 20px !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

#bo_v_con a {
    color: #A6756A !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(166, 117, 106, 0.3) !important;
    text-underline-offset: 3px !important;
    transition: all 0.2s !important;
}

#bo_v_con a:hover {
    text-decoration-color: #A6756A !important;
}

/* 추천/비추천 영역 */
#bo_v_act {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    padding: 60px 0 !important;
    margin: 60px 0 !important;
    border-top: 2px solid #f0f0f0 !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

.bo_v_act_gng {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.bo_v_good,
.bo_v_nogood {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 140px !important;
    padding: 30px 50px !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.bo_v_good i,
.bo_v_nogood i {
    font-size: 40px !important;
    margin-bottom: 8px !important;
}

.bo_v_good strong,
.bo_v_nogood strong {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

.bo_v_good:hover {
    border-color: #A6756A !important;
    background: #FAF5F4 !important;
    color: #A6756A !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(166, 117, 106, 0.15) !important;
}

.bo_v_good:hover strong {
    color: #A6756A !important;
}

.bo_v_nogood:hover {
    border-color: #e74c3c !important;
    background: #fef5f5 !important;
    color: #e74c3c !important;
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(231, 76, 60, 0.15) !important;
}

.bo_v_nogood:hover strong {
    color: #e74c3c !important;
}

/* 버튼 영역 (상단) */
#bo_v_top {
    margin: 50px 0 !important;
    padding: 30px 0 !important;
    border-top: 1px solid #e8e8e8 !important;
    border-bottom: 1px solid #e8e8e8 !important;
}

.btn_bo_user {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.btn_bo_user li {
    margin: 0 !important;
}

.btn_bo_user .btn {
    padding: 12px 24px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.btn_bo_user .btn:hover {
    background: #A6756A !important;
    border-color: #A6756A !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(166, 117, 106, 0.2) !important;
}

.btn_bo_user .btn i {
    font-size: 14px !important;
}

/* 더보기 옵션 */
.btn_more_opt {
    position: relative !important;
}

.more_opt {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 10px !important;
    min-width: 160px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    list-style: none !important;
    padding: 8px 0 !important;
    z-index: 100 !important;
}

.more_opt li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.more_opt a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 18px !important;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: all 0.2s !important;
}

.more_opt a:hover {
    background: #f8f9fa !important;
    color: #A6756A !important;
}

.more_opt i {
    font-size: 14px !important;
    margin-left: 10px !important;
}

/* 첨부파일 영역 */
#bo_v_file {
    margin: 50px 0 !important;
    padding: 35px !important;
    background: #f8f9fa !important;
    border-radius: 12px !important;
}

#bo_v_file h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 25px !important;
}

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

#bo_v_file li {
    padding: 18px 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
}

#bo_v_file li:last-child {
    border-bottom: none !important;
}

#bo_v_file i {
    color: #A6756A !important;
    margin-right: 10px !important;
    font-size: 18px !important;
}

#bo_v_file a {
    color: #333 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    transition: color 0.2s !important;
}

#bo_v_file a:hover {
    color: #A6756A !important;
}

#bo_v_file strong {
    font-weight: 600 !important;
}

.bo_v_file_cnt {
    display: block !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    color: #999 !important;
    margin-left: 30px !important;
}

/* 관련링크 영역 */
#bo_v_link {
    margin: 50px 0 !important;
    padding: 35px !important;
    background: #f8f9fa !important;
    border-radius: 12px !important;
}

#bo_v_link h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 25px !important;
}

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

#bo_v_link li {
    padding: 18px 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
}

#bo_v_link li:last-child {
    border-bottom: none !important;
}

#bo_v_link i {
    color: #A6756A !important;
    margin-right: 10px !important;
    font-size: 18px !important;
}

#bo_v_link a {
    color: #333 !important;
    text-decoration: none !important;
    font-size: 15px !important;
    transition: color 0.2s !important;
    word-break: break-all !important;
}

#bo_v_link a:hover {
    color: #A6756A !important;
}

#bo_v_link strong {
    font-weight: 600 !important;
}

.bo_v_link_cnt {
    display: block !important;
    margin-top: 8px !important;
    font-size: 13px !important;
    color: #999 !important;
    margin-left: 30px !important;
}

/* 이전글/다음글 네비게이션 */
.bo_v_nb {
    list-style: none !important;
    padding: 0 !important;
    margin: 50px 0 !important;
    border-top: 2px solid #e8e8e8 !important;
}

.bo_v_nb li {
    padding: 25px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
}

.nb_tit {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 15px !important;
    color: #999 !important;
    font-weight: 500 !important;
    min-width: 90px !important;
}

.nb_tit i {
    font-size: 13px !important;
}

.bo_v_nb a {
    flex: 1 !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    transition: color 0.2s !important;
}

.bo_v_nb a:hover {
    color: #A6756A !important;
}

.nb_date {
    flex-shrink: 0 !important;
    font-size: 14px !important;
    color: #999 !important;
    margin-left: auto !important;
}

/* ============================================
   WRITE (글쓰기) 개선
   ============================================ */

/* 전체 글쓰기 폼 컨테이너 */
#bo_w {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 60px 40px !important;
}

#bo_w h2.sound_only {
    position: absolute !important;
    left: -9999px !important;
}

/* 폼 전체 */
#fwrite {
    background: #fff !important;
    padding: 0 !important;
}

/* 각 입력 영역 (write_div) */
.write_div {
    margin-bottom: 35px !important;
}

/* 라벨 스타일 */
.write_div > label {
    display: block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #333 !important;
    margin-bottom: 10px !important;
}

.write_div label .sound_only {
    position: static !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* 필수 표시 */
.write_div label strong {
    color: #e74c3c !important;
    margin-left: 3px !important;
}

/* 카테고리 선택 */
.bo_w_select select {
    width: 100% !important;
    height: 50px !important;
    padding: 0 18px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    color: #666 !important;
    background: #fff !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
}

.bo_w_select select:focus {
    outline: none !important;
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
}

/* 입력 필드 공통 스타일 */
.frm_input {
    height: 50px !important;
    padding: 0 18px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    color: #333 !important;
    background: #fff !important;
    transition: all 0.2s !important;
    box-sizing: border-box !important;
}

.frm_input:focus {
    outline: none !important;
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
    background: #fff !important;
}

.frm_input::placeholder {
    color: #999 !important;
}

/* 전체 너비 입력 */
.full_input {
    width: 100% !important;
}

/* 절반 너비 입력 */
.half_input {
    width: calc(50% - 6px) !important;
    display: inline-block !important;
}

.half_input + .half_input {
    margin-left: 12px !important;
}

/* 이름, 비밀번호, 이메일, 홈페이지 영역 */
.bo_w_info {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.bo_w_info .half_input {
    flex: 1 !important;
    min-width: calc(50% - 6px) !important;
}

/* 비밀번호 필드 배경색 */
#wr_password {
    background: #f0f4f8 !important;
}

/* 이메일 필드 */
#wr_email {
    background: #fff !important;
}

/* 옵션 체크박스 영역 */
.bo_v_option {
    display: flex !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bo_v_option li {
    display: flex !important;
    align-items: center !important;
}

.bo_v_option .chk_box {
    display: flex !important;
    align-items: center !important;
}

.bo_v_option .selec_chk {
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    margin-right: 8px !important;
    cursor: pointer !important;
    accent-color: #A6756A !important;
}

.bo_v_option label {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #666 !important;
    cursor: pointer !important;
}

/* 제목 입력 영역 */
.bo_w_tit {
    position: relative !important;
}

#wr_subject {
    width: 100% !important;
    height: 50px !important;
    padding: 0 18px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 15px !important;
}

/* 임시저장 버튼 */
#autosave_wrapper {
    position: relative !important;
}

#btn_autosave {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 35px !important;
    padding: 0 14px !important;
    background: #f8f9fa !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    color: #666 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

#btn_autosave:hover {
    background: #e9ecef !important;
    border-color: #A6756A !important;
    color: #A6756A !important;
}

#autosave_pop {
    display: none !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    margin-top: 8px !important;
    width: 350px !important;
    background: #fff !important;
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    padding: 25px !important;
    z-index: 100 !important;
}

/* 내용 입력 영역 */
.wr_content {
    margin-top: 12px !important;
}

.wr_content textarea,
.wr_content .cke_chrome {
    width: 100% !important;
    min-height: 450px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 18px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    resize: vertical !important;
}

.wr_content textarea:focus {
    outline: none !important;
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
}

/* 글자수 카운트 */
#char_count_desc {
    font-size: 14px !important;
    color: #999 !important;
    margin-bottom: 12px !important;
}

#char_count_wrap {
    text-align: right !important;
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 10px !important;
}

#char_count {
    font-weight: 600 !important;
    color: #A6756A !important;
}

/* 링크 입력 */
.bo_w_link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.bo_w_link label {
    flex-shrink: 0 !important;
    width: 90px !important;
    margin: 0 !important;
    font-size: 15px !important;
    color: #666 !important;
    font-weight: 500 !important;
}

.bo_w_link label i {
    margin-right: 8px !important;
    color: #A6756A !important;
}

.bo_w_link input {
    flex: 1 !important;
}

/* 파일 첨부 */
.bo_w_flie {
    border: 2px dashed #ddd !important;
    border-radius: 8px !important;
    padding: 20px !important;
    background: #fafafa !important;
    transition: all 0.3s !important;
}

.bo_w_flie:hover {
    border-color: #A6756A !important;
    background: #FAF5F4 !important;
}

.file_wr {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

.file_wr label.lb_icon {
    flex-shrink: 0 !important;
    width: 90px !important;
    margin: 0 !important;
    font-size: 15px !important;
    color: #666 !important;
    font-weight: 500 !important;
}

.file_wr label i {
    margin-right: 8px !important;
    color: #A6756A !important;
}

.frm_file {
    flex: 1 !important;
    height: 45px !important;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    cursor: pointer !important;
    font-size: 14px !important;
}

.bo_w_flie input[type="text"] {
    width: 100% !important;
    margin-bottom: 0 !important;
}

.file_del {
    font-size: 13px !important;
    color: #666 !important;
    margin-top: 10px !important;
    display: block !important;
}

.file_del input[type="checkbox"] {
    margin-right: 8px !important;
    accent-color: #e74c3c !important;
}

.file_del label {
    color: #e74c3c !important;
}

/* 자동등록방지 (CAPTCHA) */
.write_div > div {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 버튼 영역 */
.btn_confirm {
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-top: 50px !important;
    padding-top: 40px !important;
    border-top: 2px solid #eee !important;
}

.btn_confirm .btn {
    min-width: 160px !important;
    height: 55px !important;
    padding: 0 35px !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
}

.btn_cancel {
    background: #fff !important;
    border: 2px solid #ddd !important;
    color: #666 !important;
}

.btn_cancel:hover {
    background: #f8f9fa !important;
    border-color: #999 !important;
}

.btn_submit {
    background: #A6756A !important;
    color: #fff !important;
    border: 2px solid #A6756A !important;
}

.btn_submit:hover {
    background: #8B5D52 !important;
    border-color: #8B5D52 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(166, 117, 106, 0.3) !important;
}

.btn_submit:disabled {
    background: #ccc !important;
    border-color: #ccc !important;
    cursor: not-allowed !important;
}

/* ============================================
   완벽한 반응형 - 태블릿 (768px 이하)
   ============================================ */
@media (max-width: 768px) {
    /* VIEW 반응형 */
    article#bo_v {
        padding: 40px 25px !important;
    }
    
    .bo_v_tit {
        font-size: 26px !important;
    }
    
    .profile_info {
        flex-direction: row !important;
        align-items: center !important;
        gap: 15px !important;
    }
    
    .pf_img {
        width: 50px !important;
        height: 50px !important;
    }
    
    .profile_info_ct {
        gap: 8px 15px !important;
        font-size: 14px !important;
    }
    
    .profile_info_ct strong:first-child {
        font-size: 16px !important;
    }
    
    #bo_v_share {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
    }
    
    #bo_v_img {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
        gap: 15px !important;
    }
    
    #bo_v_con {
        font-size: 16px !important;
        line-height: 1.8 !important;
    }
    
    #bo_v_act {
        flex-direction: row !important;
        gap: 12px !important;
        padding: 40px 0 !important;
    }
    
    .bo_v_good,
    .bo_v_nogood {
        flex: 1 !important;
        min-width: 120px !important;
        padding: 25px 30px !important;
    }
    
    .bo_v_good i,
    .bo_v_nogood i {
        font-size: 32px !important;
    }
    
    .bo_v_good strong,
    .bo_v_nogood strong {
        font-size: 20px !important;
    }
    
    .btn_bo_user {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    
    .btn_bo_user .btn {
        padding: 10px 18px !important;
        font-size: 14px !important;
    }
    
    #bo_v_file,
    #bo_v_link {
        padding: 25px !important;
    }
    
    .bo_v_nb li {
        flex-wrap: wrap !important;
        gap: 12px !important;
    }
    
    .nb_tit {
        min-width: 80px !important;
    }
    
    .nb_date {
        width: 100% !important;
        margin-left: 0 !important;
        font-size: 13px !important;
    }
    
    /* WRITE 반응형 */
    #bo_w {
        padding: 40px 25px !important;
    }
    
    .write_div {
        margin-bottom: 30px !important;
    }
    
    .bo_w_info {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .bo_w_info .half_input {
        width: 100% !important;
        min-width: 100% !important;
    }
    
    .half_input + .half_input {
        margin-left: 0 !important;
    }
    
    .bo_v_option {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .bo_w_link {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    
    .bo_w_link label {
        width: 100% !important;
    }
    
    .file_wr {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    
    .file_wr label.lb_icon {
        width: 100% !important;
    }
    
    .btn_confirm {
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .btn_confirm .btn {
        width: 100% !important;
        min-width: auto !important;
    }
    
    #autosave_pop {
        width: 100% !important;
        right: 0 !important;
        left: 0 !important;
    }
}

/* ============================================
   완벽한 반응형 - 모바일 (480px 이하)
   ============================================ */
@media (max-width: 480px) {
    /* VIEW 반응형 */
    article#bo_v {
        padding: 30px 15px !important;
    }
    
    .bo_v_cate {
        padding: 6px 12px !important;
        font-size: 12px !important;
    }
    
    .bo_v_tit {
        font-size: 22px !important;
    }
    
    .pf_img {
        width: 45px !important;
        height: 45px !important;
    }
    
    .profile_info_ct {
        font-size: 13px !important;
    }
    
    .profile_info_ct strong:first-child {
        font-size: 15px !important;
    }
    
    #bo_v_share .btn {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }
    
    #bo_v_img {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    
    #bo_v_con {
        font-size: 15px !important;
    }
    
    #bo_v_con h1,
    #bo_v_con h2,
    #bo_v_con h3 {
        margin-top: 35px !important;
        margin-bottom: 15px !important;
    }
    
    #bo_v_act {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 30px 0 !important;
        margin: 40px 0 !important;
    }
    
    .bo_v_good,
    .bo_v_nogood {
        width: 100% !important;
        min-width: auto !important;
        padding: 20px !important;
    }
    
    .bo_v_good i,
    .bo_v_nogood i {
        font-size: 28px !important;
    }
    
    .bo_v_good strong,
    .bo_v_nogood strong {
        font-size: 18px !important;
    }
    
    .btn_bo_user .btn {
        padding: 9px 14px !important;
        font-size: 13px !important;
    }
    
    #bo_v_top {
        padding: 20px 0 !important;
    }
    
    #bo_v_file,
    #bo_v_link {
        padding: 20px !important;
    }
    
    #bo_v_file h2,
    #bo_v_link h2 {
        font-size: 18px !important;
    }
    
    .bo_v_nb li {
        padding: 20px 0 !important;
    }
    
    .nb_tit {
        font-size: 14px !important;
        min-width: 70px !important;
    }
    
    .bo_v_nb a {
        font-size: 14px !important;
    }
    
    /* WRITE 반응형 */
    #bo_w {
        padding: 30px 15px !important;
    }
    
    .write_div {
        margin-bottom: 25px !important;
    }
    
    .write_div > label {
        font-size: 14px !important;
    }
    
    .bo_w_select select,
    .frm_input,
    #wr_subject {
        height: 48px !important;
        padding: 0 15px !important;
        font-size: 14px !important;
    }
    
    .wr_content textarea {
        min-height: 350px !important;
        padding: 15px !important;
        font-size: 14px !important;
    }
    
    .bo_w_link label,
    .file_wr label.lb_icon {
        font-size: 14px !important;
    }
    
    .frm_file {
        height: 42px !important;
        padding: 8px !important;
        font-size: 13px !important;
    }
    
    .btn_confirm {
        margin-top: 40px !important;
        padding-top: 30px !important;
    }
    
    .btn_confirm .btn {
        height: 50px !important;
        padding: 0 25px !important;
        font-size: 15px !important;
    }
    
    #btn_autosave {
        position: static !important;
        transform: none !important;
        display: block !important;
        width: 100% !important;
        margin-top: 10px !important;
        text-align: center !important;
    }
}

/* ============================================
   sound_only 숨김 처리
   ============================================ */
.sound_only {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* ============================================
   에디터 툴바 스타일 조정
   ============================================ */
.cke_top {
    background: #f8f9fa !important;
    border-bottom: 1px solid #ddd !important;
}

/* 폼 포커스 효과 통일 */
.frm_input:focus,
.frm_file:focus,
select:focus,
textarea:focus {
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
}

/* ============================================
   COMMENT (댓글) 개선 - 기존 스타일 개선
   ============================================ */

/* 댓글 전체 영역 */
article#bo_v #bo_vc,
article#bo_v section#bo_vc,
article#bo_v aside#bo_vc,
#bo_vc,
aside#bo_vc {
    margin-top: 80px !important;
    padding-top: 50px !important;
    border-top: 2px solid #e8e8e8 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 댓글 제목 */
#bo_vc h2,
#bo_vc > h2,
#bo_vc_title,
#bo_vc .sound_only + strong {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 35px !important;
    letter-spacing: -0.5px !important;
    display: block !important;
}

#bo_vc h2 span,
#bo_vc_title span {
    color: #A6756A !important;
    font-weight: 700 !important;
}

/* 댓글 목록 */
#bo_vc ul,
#bo_vc > ul,
#bo_vc ul.cmt_list,
article#bo_v #bo_vc ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 개별 댓글 */
#bo_vc ul > li,
#bo_vc > ul > li,
#bo_vc ul.cmt_list > li,
article#bo_v #bo_vc ul > li {
    padding: 30px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
    margin: 0 !important;
    list-style: none !important;
    transition: background 0.2s !important;
}

#bo_vc ul > li:hover {
    background: #fafafa !important;
}

#bo_vc ul > li:first-child {
    padding-top: 0 !important;
}

#bo_vc ul > li:last-child {
    border-bottom: none !important;
}

/* 댓글 작성자 */
#bo_vc li > div > div > strong,
#bo_vc li strong,
#bo_vc .sv_member,
#bo_vc .sv_guest,
#bo_vc span.sv_member,
#bo_vc span.sv_guest,
#bo_vc strong.cmt_name,
#bo_vc .cmt_name,
#bo_vc .name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    display: inline-block !important;
    margin: 0 !important;
}

/* 댓글 날짜 */
#bo_vc li span.bo_vc_hdinfo,
#bo_vc li .bo_vc_hdinfo,
#bo_vc .if_date,
#bo_vc span.if_date,
#bo_vc li > div > div > span {
    font-size: 14px !important;
    color: #999 !important;
    margin-left: 12px !important;
    font-weight: 400 !important;
}

/* 댓글 내용 */
#bo_vc li > div.cmt_contents,
#bo_vc li div[id^="cmt_"],
#bo_vc li div.cmt_content,
#bo_vc li > div > div:not([class]),
#bo_vc li .view_comment_contents,
#bo_vc .cmt_contents {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #333 !important;
    margin: 16px 0 !important;
    padding: 0 !important;
    word-break: break-word !important;
    background: transparent !important;
    border: none !important;
}

#bo_vc .cmt_contents p {
    margin: 12px 0 !important;
}

/* 댓글 버튼 영역 */
#bo_vc li ul.bo_vc_act,
#bo_vc ul.bo_vc_act,
#bo_vc .bo_vc_act,
#bo_vc li .cmt_opt {
    display: flex !important;
    gap: 8px !important;
    margin-top: 18px !important;
    list-style: none !important;
    padding: 0 !important;
}

#bo_vc .bo_vc_act li,
#bo_vc ul.bo_vc_act > li {
    padding: 0 !important;
    border: none !important;
    margin: 0 !important;
}

#bo_vc .bo_vc_act a,
#bo_vc .bo_vc_act button,
#bo_vc ul.bo_vc_act a,
#bo_vc ul.bo_vc_act button {
    padding: 8px 16px !important;
    background: white !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    color: #666 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
}

#bo_vc .bo_vc_act a:hover,
#bo_vc .bo_vc_act button:hover {
    background: #f8f9fa !important;
    border-color: #A6756A !important;
    color: #A6756A !important;
    transform: translateY(-1px) !important;
}

/* 대댓글 */
#bo_vc ul ul,
#bo_vc li ul,
#bo_vc > ul > li > ul {
    list-style: none !important;
    margin: 25px 0 0 50px !important;
    padding: 0 !important;
    border-left: 3px solid #e8e8e8 !important;
    background: #fafafa !important;
    border-radius: 0 8px 8px 0 !important;
}

#bo_vc ul ul > li,
#bo_vc li ul > li {
    padding: 25px 0 25px 35px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

#bo_vc ul ul > li:hover {
    background: #f5f5f5 !important;
}

#bo_vc ul ul > li:last-child {
    border-bottom: none !important;
}

/* 댓글 작성 폼 */
article#bo_v aside#bo_vc_w,
aside#bo_vc_w,
#bo_vc aside,
#bo_vc .bo_vc_w {
    margin-top: 50px !important;
    padding: 40px !important;
    background: #f8f9fa !important;
    border: none !important;
    border-radius: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

#bo_vc_w h2,
aside#bo_vc_w h2,
#bo_vc aside h2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 25px !important;
    letter-spacing: -0.5px !important;
}

/* 댓글 입력 테이블 */
#bo_vc_w table,
aside#bo_vc_w table,
#bo_vc table {
    width: 100% !important;
    border: none !important;
    border-collapse: collapse !important;
}

#bo_vc_w table td,
aside#bo_vc_w table td {
    padding: 0 0 12px 0 !important;
    border: none !important;
    vertical-align: top !important;
}

/* 아이디/비밀번호 한 줄 배치 */
#bo_vc_w table tr:first-child td,
aside#bo_vc_w table tr:first-child td {
    display: inline-block !important;
    width: calc(50% - 6px) !important;
    margin-right: 12px !important;
    margin-bottom: 12px !important;
}

#bo_vc_w table tr:first-child td:last-child,
aside#bo_vc_w table tr:first-child td:last-child {
    margin-right: 0 !important;
}

/* 댓글 입력 필드 */
#bo_vc_w input[type="text"],
#bo_vc_w input[type="password"],
aside#bo_vc_w input[type="text"],
aside#bo_vc_w input[type="password"],
#bo_vc input.frm_input {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    background: white !important;
}

#bo_vc_w input[type="text"]:focus,
#bo_vc_w input[type="password"]:focus,
#bo_vc input.frm_input:focus {
    outline: none !important;
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
}

/* 댓글 텍스트 영역 */
#bo_vc_w textarea,
aside#bo_vc_w textarea,
#bo_vc textarea,
#bo_vc_w #wr_content,
#wr_content {
    width: 100% !important;
    min-height: 140px !important;
    padding: 18px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    resize: vertical !important;
    transition: all 0.3s ease !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    background: white !important;
}

#bo_vc_w textarea:focus,
#bo_vc textarea:focus,
#wr_content:focus {
    outline: none !important;
    border-color: #A6756A !important;
    box-shadow: 0 0 0 3px rgba(166, 117, 106, 0.1) !important;
}

/* 댓글 버튼 영역 */
#bo_vc_w .btn_confirm,
aside#bo_vc_w .btn_confirm,
#bo_vc .btn_confirm {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 20px !important;
    padding-top: 20px !important;
}

/* 비밀댓글 체크박스 */
#bo_vc_w input[type="checkbox"],
aside#bo_vc_w input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    cursor: pointer !important;
    accent-color: #A6756A !important;
    margin: 0 8px 0 0 !important;
}

#bo_vc_w label,
aside#bo_vc_w label {
    font-size: 14px !important;
    color: #666 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* 댓글 제출 버튼 */
#bo_vc_w button[type="submit"],
#bo_vc_w input[type="submit"],
aside#bo_vc_w button[type="submit"],
aside#bo_vc_w input[type="submit"],
#bo_vc .btn_submit {
    padding: 14px 32px !important;
    background: #A6756A !important;
    border: 1px solid #A6756A !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-left: auto !important;
}

#bo_vc_w button[type="submit"]:hover,
#bo_vc_w input[type="submit"]:hover,
#bo_vc .btn_submit:hover {
    background: #8B5D52 !important;
    border-color: #8B5D52 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(166, 117, 106, 0.3) !important;
}

/* 댓글 없음 메시지 */
#bo_vc .empty_comment,
#bo_vc > p {
    padding: 80px 20px !important;
    text-align: center !important;
    color: #999 !important;
    font-size: 16px !important;
    background: #f8f9fa !important;
    border-radius: 12px !important;
}

/* ============================================
   댓글 반응형 - 태블릿
   ============================================ */
@media (max-width: 768px) {
    article#bo_v #bo_vc,
    #bo_vc {
        margin-top: 60px !important;
        padding-top: 40px !important;
    }

    #bo_vc h2,
    #bo_vc_title {
        font-size: 20px !important;
        margin-bottom: 25px !important;
    }

    #bo_vc ul > li {
        padding: 25px 0 !important;
    }

    #bo_vc ul ul {
        margin-left: 30px !important;
    }

    #bo_vc ul ul > li {
        padding-left: 25px !important;
    }

    aside#bo_vc_w,
    #bo_vc_w {
        padding: 30px 25px !important;
    }
    
    #bo_vc_w table tr:first-child td {
        width: 100% !important;
        display: block !important;
        margin-right: 0 !important;
    }

    #bo_vc_w .btn_confirm {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    #bo_vc_w button[type="submit"],
    #bo_vc_w input[type="submit"] {
        width: 100% !important;
        text-align: center !important;
        margin-left: 0 !important;
    }
}

/* ============================================
   댓글 반응형 - 모바일
   ============================================ */
@media (max-width: 480px) {
    article#bo_v #bo_vc,
    #bo_vc {
        margin-top: 50px !important;
        padding-top: 30px !important;
    }

    #bo_vc h2,
    #bo_vc_title {
        font-size: 18px !important;
        margin-bottom: 20px !important;
    }

    #bo_vc ul > li {
        padding: 20px 0 !important;
    }

    #bo_vc li > div > div > strong,
    #bo_vc li strong {
        font-size: 15px !important;
    }

    #bo_vc li span.bo_vc_hdinfo,
    #bo_vc .if_date {
        font-size: 13px !important;
        margin-left: 8px !important;
    }

    #bo_vc .cmt_contents {
        font-size: 15px !important;
        margin: 12px 0 !important;
    }

    #bo_vc .bo_vc_act a,
    #bo_vc .bo_vc_act button {
        padding: 7px 12px !important;
        font-size: 12px !important;
    }

    #bo_vc ul ul {
        margin-left: 20px !important;
        border-left-width: 2px !important;
    }

    #bo_vc ul ul > li {
        padding-left: 20px !important;
    }

    aside#bo_vc_w,
    #bo_vc_w {
        padding: 25px 20px !important;
    }

    #bo_vc_w h2 {
        font-size: 18px !important;
        margin-bottom: 20px !important;
    }

    #bo_vc_w input[type="text"],
    #bo_vc_w input[type="password"],
    #bo_vc_w textarea {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }

    #bo_vc_w textarea {
        min-height: 120px !important;
    }

    #bo_vc_w button[type="submit"],
    #bo_vc_w input[type="submit"] {
        padding: 12px 24px !important;
        font-size: 14px !important;
    }
}
/* ============================================
   댓글 작성 시 자동등록방지(캡챠) & 비밀번호 숨김
   ============================================ */

/* 비회원 작성 시 나오는 입력 필드들 숨김 */

/* 1. 비밀번호 입력란 숨김 */
#bo_vc_w input[type="password"],
#bo_vc_w input[name="wr_password"],
aside#bo_vc_w input[type="password"],
aside#bo_vc_w input[name="wr_password"] {
    display: none !important;
}

/* 비밀번호 입력란이 있는 td 전체 숨김 */
#bo_vc_w table td:has(input[type="password"]),
aside#bo_vc_w table td:has(input[type="password"]) {
    display: none !important;
}

/* 비밀번호 레이블 숨김 */
#bo_vc_w label[for*="password"],
aside#bo_vc_w label[for*="password"] {
    display: none !important;
}

/* 2. 자동등록방지(캡챠) 영역 전체 숨김 */
#bo_vc_w .captcha,
#bo_vc_w #captcha,
#bo_vc_w .bo_vc_w_captcha,
aside#bo_vc_w .captcha,
aside#bo_vc_w #captcha,
aside#bo_vc_w .bo_vc_w_captcha {
    display: none !important;
}

/* 캡챠 이미지 숨김 */
#bo_vc_w img[id*="captcha"],
aside#bo_vc_w img[id*="captcha"] {
    display: none !important;
}

/* 캡챠 입력 필드 숨김 */
#bo_vc_w input[name*="captcha"],
#bo_vc_w input[id*="captcha"],
aside#bo_vc_w input[name*="captcha"],
aside#bo_vc_w input[id*="captcha"] {
    display: none !important;
}

/* 자동등록방지 텍스트 숨김 */
#bo_vc_w .captcha_info,
aside#bo_vc_w .captcha_info {
    display: none !important;
}

/* 3. 이름 입력란만 남기고 테이블 재배치 (회원이 아닌 경우) */
#bo_vc_w table tr:first-child td,
aside#bo_vc_w table tr:first-child td {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 12px !important;
}

/* 비밀번호가 숨겨진 경우 이름 입력란 전체 너비 */
#bo_vc_w table tr:first-child td:first-child,
aside#bo_vc_w table tr:first-child td:first-child {
    width: 100% !important;
}

/* 4. 회원인 경우 입력란 자체가 없으므로 작성폼 여백 조정 */
#bo_vc_w table tr:only-child td,
aside#bo_vc_w table tr:only-child td {
    padding-bottom: 0 !important;
}

/* 5. 추가로 숨길 수 있는 자동등록방지 관련 요소들 */
/* 그누보드 5 기본 캡챠 클래스들 */
.captcha_box,
.captcha_input,
#captcha_key,
#captcha_word {
    display: none !important;
}

/* recaptcha 관련 요소 숨김 */
.g-recaptcha,
.recaptcha,
[class*="recaptcha"] {
    display: none !important;
}

/* 자동등록방지 관련 테이블 행 숨김 */
#bo_vc_w tr:has(.captcha),
#bo_vc_w tr:has(input[name*="captcha"]),
aside#bo_vc_w tr:has(.captcha),
aside#bo_vc_w tr:has(input[name*="captcha"]) {
    display: none !important;
}

/* 비밀번호 관련 테이블 행 숨김 */
#bo_vc_w tr:has(input[type="password"]),
aside#bo_vc_w tr:has(input[type="password"]) {
    display: none !important;
}
/* ============================================
   VIEW 버튼 영역 수정 (목록/답변/글쓰기 정렬)
   ============================================ */

/* 버튼 영역 수정 */
#bo_v_top {
    margin: 50px 0 !important;
    padding: 30px 0 !important;
    border-top: 1px solid #e8e8e8 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    clear: both !important;
}

.btn_bo_user.bo_v_com {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-wrap: nowrap !important; /* 줄바꿈 방지 */
}

.btn_bo_user li {
    margin: 0 !important;
    flex-shrink: 0 !important; /* 버튼 축소 방지 */
}

.btn_bo_user .btn {
    padding: 12px 24px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    white-space: nowrap !important; /* 텍스트 줄바꿈 방지 */
    min-width: auto !important;
}

.btn_bo_user .btn:hover {
    background: #A6756A !important;
    border-color: #A6756A !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(166, 117, 106, 0.2) !important;
}

.btn_bo_user .btn i {
    font-size: 14px !important;
    flex-shrink: 0 !important;
}

/* 더보기 옵션 버튼 */
.btn_more_opt {
    position: relative !important;
}

.more_opt {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 10px !important;
    min-width: 160px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
    list-style: none !important;
    padding: 8px 0 !important;
    z-index: 100 !important;
}

.more_opt li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.more_opt a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 18px !important;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
}

.more_opt a:hover {
    background: #f8f9fa !important;
    color: #A6756A !important;
}

.more_opt i {
    font-size: 14px !important;
    margin-left: 10px !important;
}

/* ============================================
   "댓글 0" 텍스트 숨김 처리
   ============================================ */

/* 댓글 카운트 표시 숨김 */
#bo_v .cmt_count,
#bo_v .comment_count,
#bo_v [class*="cmt_cnt"],
#bo_v [class*="comment_cnt"] {
    display: none !important;
}

/* "댓글 0" 형태의 텍스트 포함 요소 숨김 */
#bo_v_atc + *:not(#bo_vc):not(aside) {
    display: none !important;
}

/* 이전글/다음글 위의 댓글 관련 텍스트 숨김 */
.bo_v_nb::before {
    content: none !important;
}

/* 특정 위치의 댓글 표시 숨김 */
article#bo_v > div:has([class*="댓글"]),
article#bo_v > span:has([class*="댓글"]),
article#bo_v > p:has([class*="댓글"]) {
    display: none !important;
}

/* 한글 "댓글"이 포함된 요소 숨김 (댓글 작성 영역 제외) */
article#bo_v *:not(#bo_vc):not(#bo_vc *):not(aside):not(aside *) {
    /* 텍스트에 "댓글 0" 포함 시 숨김 */
}

/* JavaScript로 처리할 수 없는 경우를 위한 추가 CSS */
#bo_v > div:empty,
#bo_v > span:empty {
    display: none !important;
}

/* 추가: 댓글 영역 상단의 불필요한 공백 제거 */
#bo_vc::before {
    content: none !important;
}

/* ============================================
   반응형 - 태블릿
   ============================================ */
@media (max-width: 768px) {
    .btn_bo_user.bo_v_com {
        flex-wrap: wrap !important; /* 태블릿에서는 줄바꿈 허용 */
        gap: 8px !important;
    }
    
    .btn_bo_user .btn {
        padding: 10px 18px !important;
        font-size: 14px !important;
    }
    
    #bo_v_top {
        padding: 25px 0 !important;
    }
}

/* ============================================
   반응형 - 모바일
   ============================================ */
@media (max-width: 480px) {
    .btn_bo_user.bo_v_com {
        flex-wrap: wrap !important;
        gap: 6px !important;
        justify-content: center !important;
    }
    
    .btn_bo_user .btn {
        padding: 9px 14px !important;
        font-size: 13px !important;
        min-width: calc(50% - 3px) !important; /* 2개씩 배치 */
    }
    
    /* 3개 이상일 경우 자동 조정 */
    .btn_bo_user li:nth-child(odd):last-child .btn {
        min-width: 100% !important; /* 홀수 마지막은 전체 너비 */
    }
    
    #bo_v_top {
        padding: 20px 0 !important;
    }
}
/* ============================================
   리스트 썸네일 이미지 표시 수정
   ============================================ */

/* 갤러리 전체 영역 */
#bo_gall {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 20px 100px !important;
}

/* 갤러리 리스트 */
#gall_ul {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 25px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gall_li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 갤러리 박스 */
.gall_box {
    position: relative !important;
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.gall_box:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
    border-color: #A6756A !important;
}

/* 체크박스 영역 */
.gall_chk {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 10 !important;
}

.gall_chk input[type="checkbox"] {
    width: 22px !important;
    height: 22px !important;
    cursor: pointer !important;
    accent-color: #A6756A !important;
}

/* ★★★ 썸네일 이미지 영역 - 핵심 수정 ★★★ */
.gall_img {
    position: relative !important;
    width: 100% !important;
    height: 240px !important;
    overflow: hidden !important;
    background: #f5f5f5 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.gall_img a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

/* ★★★ 이미지 태그 스타일 - 반드시 표시되도록 ★★★ */
.gall_img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) !important;
    transition: transform 0.3s ease !important;
}

.gall_box:hover .gall_img img {
    transform: scale(1.05) !important;
}

/* 이미지 없을 때 */
.gall_img .no_image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background: #f0f0f0 !important;
    color: #999 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

/* 공지사항 */
.gall_img .is_notice {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

/* 콘텐츠 영역 */
.gall_con {
    padding: 20px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 카테고리 */
.bo_cate_link {
    display: inline-block !important;
    background: #F4EAEA !important;
    color: #A6756A !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    margin-bottom: 10px !important;
}

/* 제목 영역 */
.gall_text_href {
    margin-bottom: 15px !important;
}

.bo_tit {
    display: block !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.5 !important;
    margin-bottom: 8px !important;
    text-decoration: none !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    word-break: keep-all !important;
}

.bo_tit:hover {
    color: #A6756A !important;
}

/* 새글 아이콘 */
.new_icon {
    display: inline-block !important;
    padding: 2px 6px !important;
    background: #e74c3c !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 3px !important;
    margin-left: 5px !important;
    vertical-align: middle !important;
}

/* 댓글 수 */
.cnt_cmt {
    display: inline-block !important;
    padding: 2px 8px !important;
    background: #A6756A !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    margin-left: 5px !important;
    vertical-align: middle !important;
}

/* 내용 미리보기 */
.bo_cnt {
    display: none !important;
    font-size: 14px !important;
    color: #666 !important;
    line-height: 1.6 !important;
    margin-top: 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
}

/* 정보 영역 */
.gall_info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 13px !important;
    color: #999 !important;
    padding: 12px 0 !important;
    border-top: 1px solid #f0f0f0 !important;
    margin-top: auto !important;
}

.gall_info i {
    margin-right: 4px !important;
}

.gall_date,
.gall_view {
    display: flex !important;
    align-items: center !important;
}

/* 옵션 영역 (추천/비추천) */
.gall_option {
    display: flex !important;
    gap: 15px !important;
    font-size: 13px !important;
    color: #666 !important;
}

.gall_option strong {
    display: flex !important;
    align-items: center !important;
}

.gall_option i {
    margin-right: 4px !important;
    color: #A6756A !important;
}

/* 빈 리스트 */
.empty_list {
    grid-column: 1 / -1 !important;
    padding: 100px 20px !important;
    text-align: center !important;
    color: #999 !important;
    font-size: 16px !important;
    background: #f8f9fa !important;
    border-radius: 12px !important;
}

/* 전체 선택 체크박스 */
#gall_allchk {
    margin-bottom: 20px !important;
    padding: 15px 20px !important;
    background: #f8f9fa !important;
    border-radius: 8px !important;
}

#gall_allchk input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
    cursor: pointer !important;
    accent-color: #A6756A !important;
}

#gall_allchk label {
    font-size: 15px !important;
    color: #666 !important;
    cursor: pointer !important;
}

/* 하단 버튼 영역 */
.bo_fx {
    margin-top: 30px !important;
    padding: 20px 0 !important;
    border-top: 2px solid #e8e8e8 !important;
}

.btn_bo_user {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.btn_bo_user .btn {
    padding: 12px 24px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #666 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.btn_bo_user .btn:hover {
    background: #A6756A !important;
    border-color: #A6756A !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(166, 117, 106, 0.2) !important;
}

.btn_b01 {
    background: #A6756A !important;
    border-color: #A6756A !important;
    color: #fff !important;
}

.btn_b01:hover {
    background: #8B5D52 !important;
    border-color: #8B5D52 !important;
}

/* ============================================
   반응형 - 태블릿/모바일 (768px 이하)
   ============================================ */
@media (max-width: 768px) {
    #bo_gall {
        padding: 20px 12px 80px !important;
    }

    /* 카테고리 ↔ 콘텐츠 여백 축소 */
    #bo_cate {
        margin: 10px 0 8px !important;
    }

    #bo_cate ul {
        gap: 4px !important;
    }

    #bo_cate a {
        padding: 6px 14px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }

    /* 카드 그리드: 명시적 2컬럼 */
    #gall_ul {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    .gall_img {
        height: 150px !important;
    }

    .gall_con {
        padding: 12px !important;
    }

    .bo_tit {
        font-size: 14px !important;
    }

    .bo_cnt {
        font-size: 12px !important;
    }

    .gall_info {
        font-size: 11px !important;
        gap: 8px !important;
    }

    .btn_bo_user {
        flex-wrap: wrap !important;
    }
}

/* ============================================
   반응형 - 작은 모바일 (480px 이하)
   ============================================ */
@media (max-width: 480px) {
    #bo_gall {
        padding: 14px 12px 70px !important;
    }

    #bo_cate {
        margin: 8px 0 6px !important;
    }

    #bo_cate a {
        padding: 5px 12px !important;
        font-size: 11px !important;
    }

    /* 카드 그리드: 명시적 1컬럼 */
    #gall_ul {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    .gall_img {
        height: 180px !important;
    }

    .gall_con {
        padding: 14px !important;
    }

    .bo_tit {
        font-size: 15px !important;
        -webkit-line-clamp: 2 !important;
    }

    .bo_cnt {
        font-size: 13px !important;
    }

    .gall_info {
        font-size: 12px !important;
        gap: 10px !important;
    }

    .gall_option {
        gap: 10px !important;
        font-size: 12px !important;
    }

    .btn_bo_user .btn {
        padding: 10px 16px !important;
        font-size: 13px !important;
    }
}

/* ============================================
   이미지 로딩 최적화
   ============================================ */

/* 이미지 로딩 중 표시 */
.gall_img img[src=""],
.gall_img img:not([src]) {
    background: #f0f0f0 !important;
    position: relative !important;
}

.gall_img img[src=""]::before,
.gall_img img:not([src])::before {
    content: "이미지 로딩 중..." !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    color: #999 !important;
    font-size: 14px !important;
}

/* 이미지 로드 실패 시 */
.gall_img img[alt] {
    font-size: 0 !important; /* alt 텍스트 숨김 */
}

/* lazy loading 지원 */
.gall_img img[loading="lazy"] {
    background: #f5f5f5 !important;
}

/* ============================================
   추가 수정: 썸네일 강제 표시
   ============================================ */

/* 모든 이미지 태그 강제 표시 */
#gall_ul img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 숨겨진 이미지 복원 */
.gall_img * {
    display: block !important;
}

/* 이미지 컨테이너 */
.gall_img > a > * {
    width: 100% !important;
    height: 100% !important;
}
/* ============================================
   전체 공지 - is_notice 숨기고 썸네일 보이게
   ============================================ */

/* "공지" 표시 배경/텍스트 완전 숨김 */
.gall_img .is_notice,
.gall_img span.is_notice,
#bo_gall .gall_img .is_notice,
#gall_ul .gall_img .is_notice {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
}

/* is_notice가 있어도 그 옆/안에 있는 이미지는 강제 표시 */
.gall_img:has(.is_notice) img,
.gall_img:has(span.is_notice) img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: relative !important;
    z-index: 1 !important;
}

/* gall_img 내부의 모든 img는 무조건 보이도록 */
.gall_img img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* ============================================================
   ★ 최종 모바일 그리드 강제 (다른 모든 룰을 덮음)
   ============================================================ */
@media (max-width: 768px) {
    body #bo_gall #gall_ul,
    body #gall_ul,
    body .gall_row {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body #bo_gall .gall_li,
    body .gall_li {
        max-width: 100% !important;
        min-width: 0 !important;
        width: auto !important;
    }

    body #bo_gall {
        padding: 16px 12px 28px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body #bo_cate {
        margin: 6px 0 10px !important;
    }

    body #bo_cate ul {
        gap: 4px !important;
        flex-wrap: wrap !important;
    }

    body #bo_cate a {
        padding: 6px 14px !important;
        font-size: 12px !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 480px) {
    body #bo_gall #gall_ul,
    body #gall_ul,
    body .gall_row {
        grid-template-columns: 1fr !important;
    }

    body #bo_gall {
        padding: 12px 12px 24px !important;
    }

    body #bo_cate a {
        padding: 5px 12px !important;
        font-size: 11px !important;
    }
}
