@charset "utf-8";

/* ==========================================
   GALLERY - 갤러리 목록
   ========================================== */

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

/* 상단 옵션 */
#bo_top_option {display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:16px}
#bo_list_total {font-size:13px;color:#888}
#bo_list_total {display:block}
.btn_top {display:flex;gap:6px;list-style:none;margin:0;padding:0}
.btn_top li {display:inline-block}
#bo_gall a.btn_b02 {display:inline-block;padding:6px 16px;font-size:13px;background:#222;color:#fff;border:none;border-radius:3px;text-decoration:none;line-height:1.6}
a.btn_admin {display:inline-block;padding:6px 12px;font-size:13px;background:#E53935;color:#fff;border:none;border-radius:3px;text-decoration:none;line-height:1.6;height:auto}

/* 카테고리 */
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {display:flex;justify-content:center;list-style:none}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;margin:0 6px 6px 0}
#bo_cate a {display:block;line-height:32px;padding:0 14px;border-radius:50px;background:#f0f0f0;color:#555;font-size:13px;border:1px solid #e0e0e0;text-decoration:none}
#bo_cate a:hover {background:#e0e0e0}
#bo_cate #bo_cate_on {background:#222;color:#fff;border-color:#222;font-weight:500}


/* 그리드 */
#bo_gall #gall_ul {display:grid;grid-template-columns:repeat(3,1fr);gap:32px 20px;list-style:none;padding:0;margin:0}

/* 카드 */
#bo_gall .gall_li {float:none;width:auto;padding:0;border:none}
#bo_gall .gall_li:nth-child(4n+1) {clear:none}
#bo_gall .gall_li:nth-child(2n+1) {clear:none}
#bo_gall .gall_li_wr {background:#fff}

/* 이미지 - 16:9 비율 */
#bo_gall .gall_img {display:block;width:100%;overflow:hidden;}
#bo_gall .gall_img img {width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
#bo_gall .gall_li:hover .gall_img img {transform:scale(1.04)}
#bo_gall .gall_img .no-img {position:absolute;top:0;left:0;width:100%;height:100%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#aaa}
#bo_gall .gall_img .gall_notice_label {position:absolute;top:0;left:0;width:100%;height:100%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#aaa;font-weight:normal}

/* 추천수 배지 */
#bo_gall .gd_rc {position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,0.5);color:#fff;padding:0 8px;line-height:24px;font-size:12px;font-weight:normal;border-radius:3px}

/* 텍스트 영역 */
#bo_gall .gall_text_href {padding:10px 0 4px;display:block}
#bo_gall .gall_li_tit {display:block;font-size:18px;font-weight:500;color:#222;line-height:1.4;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
#bo_gall .gall_li_tit:hover {text-decoration:underline}
#bo_gall .bo_cmt_cnt {font-size:12px;color:#E53935;font-weight:500;margin-left:3px}
#bo_gall .gall_cate_link {display:inline-block;font-size:11px;color:#7d8dff;text-decoration:none;margin-bottom:4px}

/* 날짜/작성자 */
#bo_gall .gall_info {display:flex;justify-content:space-between;align-items:center;padding:0}
#bo_gall .gall_author {font-size:12px;color:#888}
#bo_gall .gall_date {font-size:12px;color:#aaa;display:inline-flex;align-items:center;gap:3px}
#bo_gall .gall_date i {font-size:12px}

/* 아이콘 */
#bo_gall .fa-download {width:16px;height:16px;line-height:16px;background:#ecaa30;color:#fff;text-align:center;font-size:10px;border-radius:2px;display: none;}
#bo_gall .fa-link {width:16px;height:16px;line-height:16px;background:#2aa974;color:#fff;text-align:center;font-size:10px;border-radius:2px}
#bo_gall .new_icon {display:inline-block;width:16px;height:16px;line-height:16px;background:#c56bed;color:#fff;text-align:center;font-size:10px;border-radius:2px}
#bo_gall .fa-lock {width:16px;height:16px;line-height:16px;background:#d8e7e1;color:#7db099;text-align:center;font-size:10px;border-radius:2px}

/* 빈 목록 */
#bo_gall li.empty_list {grid-column:1/-1;padding:60px 0;text-align:center;color:#aaa;font-size:13px;list-style:none}

/* 하단 버튼 */
#bo_gall .bo_fx {display:flex;justify-content:space-between;align-items:center;padding:16px 0;margin:0}
#bo_gall .btn_bo_left {display:flex;gap:6px;list-style:none;margin:0;padding:0}
#bo_gall .btn_bo_left li {display:inline-block}
#bo_gall .btn_bo_adm button {padding:6px 12px;height:32px;background:#fff;color:#d12323;border:1px solid #d12323;font-size:12px;cursor:pointer;border-radius:3px}
#bo_gall .btn_bo_user {display:flex;list-style:none;margin:0;padding:0}
#bo_gall .btn_bo_user li {margin-left:5px}

/* 검색 */
#bo_gall #bo_sch {position:relative;padding:16px 0 0;display: none;}
#bo_gall #bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
#bo_gall #bo_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#bo_gall #bo_sch select {float:left;margin-right:6px;width:18%;height:40px;background:#fff;border:0.5px solid #ddd;border-radius:3px;font-size:13px;padding-left:10px;box-shadow:none}
#bo_gall #bo_sch .sch_area {float:left;position:relative;width:79%;height:40px}
#bo_gall #bo_sch .sch_input {width:calc(100% - 44px);height:40px;border:0.5px solid #ddd;border-radius:3px 0 0 3px;background:#fff;font-size:13px;padding-left:12px;box-shadow:none}
#bo_gall #bo_sch .sch_btn {position:absolute;right:0;top:0;width:40px;height:40px;background:#222;color:#fff;border:none;border-radius:0 3px 3px 0;font-size:14px;cursor:pointer}

/* ==========================================
   VIEW - 게시글 보기
   ========================================== */

#bo_v {padding:0 0 20px;margin:0;border:none}

/* 제목 */
#bo_v_title {padding:20px 0 0;border-top:1.5px solid #222}
.bo_v_cate {display:inline-block;color:#E53935;font-size:12px;font-weight:500;line-height:24px;margin-bottom:4px}
.bo_v_tit {display:block;font-size:18px;font-weight:500;line-height:1.5;color:#222}

/* 메타 정보 */
#bo_v_info {display:flex;align-items:center;gap:12px;padding:12px 0;margin:12px 0 0;border-top:0.5px solid #e8e8e8;border-bottom:0.5px solid #e8e8e8;color:#555;position:relative}
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_info .ip {font-size:11px;color:#aaa}
#bo_v_info i {font-size:13px;color:#aaa;margin-right:2px}
#bo_v_info strong {font-weight:400;font-size:12px;color:#555;margin:0 4px}

/* 관리자 수정/삭제 팝업 → 버튼 노출 */
#bo_v_edit {display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}
#bo_v_edit .view_btn {display:none}
#bo_v_edit .bo_v_left {display:flex !important;position:static;border:none;box-shadow:none;width:auto;background:none;z-index:auto;gap: 4px;}
#bo_v_edit .bo_v_left li {border:none;line-height:normal;float:none;width:auto;padding:0;font-size:13px}
#bo_v_edit .bo_v_left li a {display:inline-block;padding:4px 10px;font-size:12px;color:#555;border:0.5px solid #d0d0d0;border-radius:3px;text-decoration:none;background:#fff}
#bo_v_edit .bo_v_left li a:hover {background:#f5f5f5}
#bo_v_edit .bo_v_left li a i {display:none}

/* SNS/스크랩 */
#bo_v_share {margin:0 0 16px;text-align:right}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn_scrap {display:inline-block;padding:4px 12px;font-size:12px;border:0.5px solid #d0d0d0;border-radius:3px;color:#555;text-decoration:none;background:#fff}
#bo_v_share .btn_scrap:hover {background:#f5f5f5}
.btn_share {display:none}

/* 본문 */
#bo_v_atc {min-height:200px;padding:0}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_con {margin:20px 0 30px;width:100%;line-height:1.8em;min-height:200px;word-break:break-all;overflow:hidden}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto}
#bo_v_img {width:100%;overflow:hidden;margin-bottom:10px}
#bo_v_img img {max-width:100%;height:auto;margin-bottom:15px}

/* 추천/비추천 */
#bo_v_act {margin-bottom:24px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative;display:inline-block}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:36px;left:0;padding:8px 12px;width:160px;background:#ff3061;color:#fff;text-align:center;font-size:12px;border-radius:3px}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #ff1313;color:#ff1313;padding:6px 20px;border-radius:3px;margin-right:6px;text-decoration:none}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #ddd;color:#888;padding:6px 20px;border-radius:3px;text-decoration:none}
#bo_v_act .bo_v_good i, #bo_v_act .bo_v_nogood i {font-size:16px;vertical-align:middle;margin-right:4px}

/* 첨부파일 */
#bo_v_file {margin:0 0 20px}
#bo_v_file h2 {padding:0 0 10px;font-size:14px;font-weight:500;border-bottom:0.5px solid #e8e8e8}
#bo_v_file ul {margin:0;padding:8px 0;list-style:none}
#bo_v_file li {padding:10px 10px 10px 50px;border:1px solid #e8e8e8;border-radius:4px;margin:8px 0;position:relative;color:#888}
#bo_v_file li i {position:absolute;top:50%;left:12px;font-size:18px;width:28px;line-height:28px;text-align:center;margin-top:-14px;color:#aaa}
#bo_v_file a {display:inline-block;color:#555;text-decoration:none}
#bo_v_file a strong {text-decoration:underline;color:#333}
#bo_v_file a:hover strong {color:#222}
#bo_v_file .bo_v_file_cnt {font-size:11px;color:#bbb;display:block;margin-top:3px}

/* 이전/다음 */
.bo_v_nb {list-style:none;padding:0;margin:16px 0 24px;border-top:0.5px solid #e8e8e8;border-bottom:0.5px solid #e8e8e8}
.bo_v_nb:after {display:none}
.bo_v_nb li {display:flex;align-items:center;gap:12px;padding:11px 0;font-size:13px}
.bo_v_nb li + li {border-top:0.5px solid #f0f0f0}
.bo_v_nb li i {font-size:13px;color:#aaa;flex-shrink:0;width:20px;text-align:center}
.bo_v_nb a {color:#222;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bo_v_nb a:hover {text-decoration:underline}

/* 하단 버튼 (목록/답변/글쓰기) */
#bo_v_bot {display:flex;justify-content:flex-end;gap:6px;padding:14px 0;margin:0;border-bottom:0.5px solid #e8e8e8}
#bo_v_bot a.btn {display:inline-block;padding:6px 16px;font-size:13px;border-radius:3px;text-decoration:none;line-height:1.6;height:auto}
#bo_v_bot a.btn_b01 {background:#fff;color:#555;border:0.5px solid #d0d0d0}
#bo_v_bot a.btn_b02 {background:#222;color:#fff;border:none}

/* ==========================================
   VIEW COMMENT - 댓글
   ========================================== */

/* 댓글 헤더 */
.bo_vc_tit {font-size:14px;font-weight:500;color:#222;padding:20px 0 12px;border-bottom:0.5px solid #e8e8e8}
.bo_vc_tit .cmt_total {color:#aaa;font-weight:400;margin-left:4px}

/* 댓글 행 */
#bo_vc {border-top:none}
#bo_vc h2 {display:none}
#bo_vc article {border-bottom:0.5px solid #f0f0f0}
#bo_vc .comment_inner {padding:14px 0}
.cmt_head {display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cmt_head_left {display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#222}
.bo_vc_hdinfo {font-size:12px;color:#aaa;font-weight:400}
.bo_vc_hdinfo i {margin-right:2px}

/* 댓글 옵션 버튼 */
.btn_cm_opt:hover {color:#888}
.bo_vc_act li a {display:block;padding:7px 12px;font-size:12px;color:#444;text-decoration:none}
.bo_vc_act li a:hover {background:#f5f5f5}

/* 댓글 본문 */
.cmt_contents {font-size:13px;color:#333;line-height:1.7;padding:0;border-bottom:none}
#bo_vc_empty {padding:40px 0;text-align:center;font-size:13px;color:#bbb;margin:0}

/* 댓글 작성폼 */
#bo_vc_w {margin-top:16px}
#bo_vc_w h2 {margin:10px 0;}
#bo_vc_w textarea {width:100%;height:90px;border:0.5px solid #ddd;border-radius:3px;padding:10px;font-size:13px;color:#222;background:#fafafa;resize:none}
.bo_vc_w_wr {display:flex;justify-content:space-between;align-items:center;margin-top:8px;flex-wrap:wrap;gap:8px}
.bo_vc_w_info {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bo_vc_w_info .frm_input {height:32px;border:0.5px solid #ddd;border-radius:3px;padding:0 8px;font-size:12px}
.bo_vc_secret {display:flex;align-items:center;gap:4px;font-size:12px;color:#888}
.bo_vc_secret input {margin:0}
.bo_vc_secret label {display:flex;align-items:center;gap:4px;cursor:pointer}
.bo_vc_secret label span {display:none}
.btn_confirm {flex-shrink:0}
.btn_submit {background:#222;color:#fff;border:none;border-radius:3px;padding:7px 16px;font-size:13px;cursor:pointer;height:32px}
#char_cnt {display:block;margin:0 0 5px;font-size:12px;color:#888}
.cnt_cmt {display:inline-block;font-weight:bold}
.bo_cmt_cnt {color:red;}
.btn_v_opt {display:inline-block;padding:4px 10px;font-size:12px;color:#555;border:0.5px solid #d0d0d0;border-radius:3px;text-decoration:none;background:#fff}
.btn_v_opt:hover {background:#f5f5f5}
.bo_vl_opt {display:flex;gap:4px;flex-shrink:0}

/* 글쓰기 */
#bo_w {padding:0 0 20px}
#bo_w .write_div {margin-bottom:10px}
#bo_w .full_input, #bo_w .frm_input {width:100%;height:40px;border:0.5px solid #ddd;border-radius:3px;padding:0 12px;font-size:14px;color:#222;background:#fff;box-sizing:border-box}
#bo_w .full_input:focus, #bo_w .frm_input:focus {border-color:#888;outline:none}
#bo_w select {width:100%;height:40px;border:0.5px solid #ddd;border-radius:3px;padding:0 12px;font-size:14px;color:#222;background:#fff}
#bo_w .bo_w_link {position:relative}
#bo_w .bo_w_link label {display:inline-flex;align-items:center;justify-content:center;position:absolute;top:0;left:0;width:40px;height:40px;background:#f5f5f5;border:0.5px solid #ddd;border-right:none;border-radius:3px 0 0 3px;color:#888}
#bo_w .bo_w_link .frm_input {padding-left:50px}
#bo_w .bo_w_flie .file_wr {display:flex;align-items:center;gap:8px}
#bo_w .bo_w_flie .lb_icon {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f5f5f5;border:0.5px solid #ddd;border-radius:3px;color:#888;flex-shrink:0}
#bo_w .bo_w_flie .frm_file {font-size:13px}
#bo_w .file_del {display:block;margin-top:6px;font-size:12px;color:#888}
#bo_w .btn_top {display:flex;justify-content:flex-end;gap:8px;padding:16px 0 0;border-top:0.5px solid #e8e8e8}
#bo_w a.btn_cancel {display:inline-block;padding:8px 18px;font-size:13px;border-radius:3px;background:#fff;color:#555;border:0.5px solid #d0d0d0;text-decoration:none;line-height:1.6;height:auto}
#bo_w .btn_submit {padding:8px 20px;font-size:13px;border-radius:3px;background:#222;color:#fff;border:none;cursor:pointer;line-height:1.6;height:auto}

#char_count_desc {display:block;margin:0 0 5px;padding:0;font-size:12px;color:#888}
#char_count_wrap {margin:5px 0 0;text-align:right;font-size:12px;color:#888}
#char_count {font-weight:bold}

/* ==========================================
   RESPONSIVE - 모바일
   ========================================== */

@media (max-width: 768px) {
    #bo_gall #gall_ul {grid-template-columns:repeat(2,1fr);gap:20px 12px}
    #bo_gall #bo_sch select {width:30%}
    #bo_gall #bo_sch .sch_area {width:68%}
    .bo_v_tit {font-size:16px}
    #bo_v_info {flex-wrap:wrap;gap:6px;font-size:11px}
    #bo_v_edit {width:100%;justify-content:flex-end}
    #bo_v_bot {padding:10px 0}
    #bo_v_bot a.btn {padding:6px 12px;font-size:12px}
    .cmt_contents {font-size:13px}
    .btn_confirm {width:100%}
    .btn_submit {width:100%;height:38px}

    /* 댓글 */
    .cmt_head_left {gap:5px;font-size:12px}
    .bo_vc_hdinfo {display:none}
    #bo_vc_w textarea {height:80px}
    .bo_vc_w_wr {flex-direction:column;align-items:flex-start}
    .btn_confirm {width:100%}
    .btn_submit {width:100%;height:38px}
}

@media (max-width: 480px) {
    #bo_gall #gall_ul {grid-template-columns:1fr}
}