@charset "utf-8";

/* ========================================================
   1. 그누보드 기본 레이아웃 & 공통 스타일
======================================================== */
#bo_list {position:relative;margin-bottom:20px}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1}
#bo_list .td_date {width:60px;text-align:center}
#bo_list .td_datetime {width:70px;text-align:center;font-size:12px;color:#888}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_num {width:50px;text-align:center;font-size:12px;color:#888}
#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid #2a5298;background:#f8fafc}
#bo_list tbody .even td {background:#fbfbfb}

/* 상단 버튼 및 관리자 옵션 */
#bo_btn_top {margin:15px 0 10px;zoom:1}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user > li {float:left;margin-left:6px;position:relative}
.btn_bo_user .btn {display:inline-block;line-height:32px;height:34px;padding:0 12px;border:1px solid #d0d4df;background:#fff;color:#555;border-radius:4px;font-size:13px;text-decoration:none;box-sizing:border-box}
.btn_bo_user .btn:hover {background:#f4f7fb;color:#2a5298;border-color:#2a5298}
.btn_bo_user .btn_admin {width:34px;padding:0;text-align:center}

.more_opt {display:none;position:absolute;top:40px;right:0;background:#fff;border:1px solid #b8bfc4;border-radius:4px;z-index:999;box-shadow:0 4px 10px rgba(0,0,0,0.1);padding:0;margin:0;list-style:none;min-width:110px}
.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 #b8bfc4 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:8px 12px;float:none;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button {width:100%;border:0;background:none;color:#555;font-size:12px;cursor:pointer;padding:0;text-align:left}
.more_opt li button:hover {color:#2a5298;font-weight:bold}

/* 체크박스 커스텀 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70;cursor:pointer}
.chk_box input[type="checkbox"] + label span {float:left;width:16px;height:16px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px;margin-right:4px}
.chk_box input[type="checkbox"]:checked + label span {background:#2a5298;border-color:#2a5298;position:relative}
.chk_box input[type="checkbox"]:checked + label span:after {content:'✔';position:absolute;top:-1px;left:2px;color:#fff;font-size:11px}

/* ========================================================
   2. 제조사별 카테고리 탭 (#bo_cate)
======================================================== */
#bo_cate {margin:20px 0 15px;clear:both}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {list-style:none;padding:0;margin:0;zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;margin:3px 2px}
#bo_cate a {display:inline-block;line-height:30px;height:32px;padding:0 14px;border-radius:20px;border:1px solid #d6e2ee;background:#f8fafc;color:#475569;font-size:13px;text-decoration:none;transition:all 0.15s ease-in-out}
#bo_cate a:hover {background:#e2e8f0;color:#1e293b;border-color:#cbd5e1}
#bo_cate #bo_cate_on {background:#2a5298;color:#fff;font-weight:bold;border-color:#2a5298;box-shadow:0 2px 6px rgba(42,82,152,0.3)}

/* ========================================================
   3. 에러코드 전용 상단 검색 배너
======================================================== */
.error_search_hero {
    background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
    border-radius: 12px;
    padding: 28px 24px;
    color: #fff;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(30, 60, 114, 0.15);
}
.hero_title h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 6px 0;
    color: #ffffff;
}
.hero_title p {
    font-size: 13px;
    color: #d0e1fd;
    margin: 0 0 18px 0;
}
.search_box_group {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 30px;
    padding: 4px 6px 4px 18px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}
.sch_icon {
    font-size: 16px;
    color: #2a5298;
    margin-right: 10px;
}
.hero_search_input {
    flex: 1;
    height: 40px;
    border: 0;
    outline: none;
    font-size: 14px;
    color: #222;
}
.hero_search_btn {
    background: #2a5298;
    color: #fff;
    border: 0;
    border-radius: 25px;
    padding: 0 24px;
    height: 40px;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s;
}
.hero_search_btn:hover {
    background: #19386d;
}
.quick_tags {
    margin-top: 14px;
    font-size: 12px;
    color: #c7dbff;
}
.quick_tags span {
    font-weight: bold;
    margin-right: 5px;
}
.quick_tags a {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.18);
    padding: 3px 9px;
    border-radius: 12px;
    text-decoration: none;
    margin-right: 4px;
    display: inline-block;
    margin-top: 4px;
}
.quick_tags a:hover {
    background: #fff;
    color: #1e3c72;
}

/* ========================================================
   4. 에러코드 전용 목록 테이블
======================================================== */
.error_table_wrap table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #2a5298;
    margin-bottom: 20px;
}
.error_table_wrap th {
    background: #f8fafc;
    color: #334155;
    font-weight: bold;
    padding: 12px 8px;
    font-size: 13px;
    border-bottom: 1px solid #e2e8f0;
    text-align: center;
}
.error_table_wrap td {
    padding: 12px 8px;
    border-bottom: 1px solid #e2e8f0;
    vertical-align: middle;
}
.td_brand { text-align: center; }
.td_part { text-align: center; }
.td_errcode { text-align: center; }

.badge_brand {
    display: inline-block;
    background: #e2e8f0;
    color: #334155;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
}
.badge_part {
    display: inline-block;
    background: #e0f2fe;
    color: #0369a1;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
}
.errcode_link strong {
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: 14px;
    color: #b91c1c;
    background: #fef2f2;
    padding: 3px 7px;
    border-radius: 4px;
    border: 1px solid #fecaca;
    letter-spacing: 0.5px;
}
.err_summary {
    color: #1e293b;
    font-size: 13px;
    font-weight: 500;
}
.cnt_cmt {
    display: inline-block;
    background: #e0e7ff;
    color: #4338ca;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 10px;
    margin-left: 4px;
}
.empty_table {
    text-align: center;
    padding: 60px 0 !important;
    color: #64748b;
}

/* ========================================================
   5. 에러코드 상세 카드 (View Skin)
======================================================== */
.err_card_header {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}
.err_badges { margin-bottom: 10px; }
.badge_brand_lg {
    background: #1e293b;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    margin-right: 6px;
}
.badge_part_lg {
    background: #0284c7;
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
}
.err_main_code {
    font-size: 26px;
    font-family: 'Consolas', monospace;
    color: #b91c1c;
    margin: 8px 0;
    font-weight: 800;
}
.err_sub_desc {
    font-size: 15px;
    color: #475569;
    font-weight: 600;
    margin: 0 0 15px 0;
}
.err_meta_bar {
    font-size: 12px;
    color: #94a3b8;
    border-top: 1px solid #f1f5f9;
    padding-top: 12px;
}
.err_meta_bar span { margin-right: 15px; }
.guide_sec_title {
    font-size: 15px;
    color: #1e3c72;
    border-left: 4px solid #1e3c72;
    padding-left: 10px;
    margin: 20px 0 12px;
    font-weight: bold;
}
.err_content_box {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    line-height: 1.8;
    font-size: 14px;
    min-height: 150px;
}
.err_attach_box {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px 20px;
    margin-top: 20px;
}
.err_attach_box h2 {
    font-size: 14px;
    color: #334155;
    margin: 0 0 10px;
}
.err_attach_box ul { list-style: none; padding: 0; margin: 0; }
.err_attach_box li { padding: 8px 0; border-bottom: 1px solid #e2e8f0; font-size: 13px; }
.err_attach_box li:last-child { border-bottom: 0; }

/* 이전/다음글 */
.bo_v_nb {list-style:none;padding:0;margin:20px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.bo_v_nb li {padding:12px 15px;font-size:13px;border-bottom:1px solid #f1f5f9}
.bo_v_nb li:last-child {border-bottom:0}
.bo_v_nb .nb_tit {color:#64748b;font-weight:bold;margin-right:15px}

/* ========================================================
   6. 작성 폼 (Write Skin)
======================================================== */
.write_header_desc {
    background: #f1f5f9;
    padding: 15px 20px;
    border-radius: 6px;
    margin-bottom: 20px;
}
.write_header_desc h3 { margin: 0 0 5px; font-size: 16px; color: #1e293b; }
.write_header_desc p { margin: 0; font-size: 12px; color: #64748b; }
.err_form_grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr;
    gap: 12px;
}
.frm_label {
    display: block;
    font-weight: bold;
    font-size: 13px;
    color: #334155;
    margin-bottom: 6px;
}
.frm_input {
    width: 100%;
    height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    padding: 0 10px;
    box-sizing: border-box;
}
.code_input {
    font-family: 'Consolas', monospace;
    font-size: 15px;
    font-weight: bold;
    color: #b91c1c;
}
.text-danger { color: #dc2626; }
.btn_b02 {
    background: #2563eb !important;
    color: #fff !important;
    border: 1px solid #1d4ed8 !important;
}
.btn_b02:hover { background: #1d4ed8 !important; }
.btn_cancel {
    background: #64748b;
    color: #fff !important;
    border: 1px solid #475569;
    padding: 8px 20px;
    border-radius: 4px;
    text-decoration: none;
}
.btn_submit {
    background: #2563eb;
    color: #fff;
    border: 1px solid #1d4ed8;
    padding: 8px 24px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .err_form_grid { grid-template-columns: 1fr; }
    .td_datetime, .td_num { display: none; }
}

/* ========================================================
   7. 에러코드 전용 댓글 영역 (#bo_vc_wrap)
======================================================== */
#bo_vc_wrap {
    margin-top: 35px;
    clear: both;
}
.bo_vc_title {
    margin-bottom: 15px;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 8px;
}
.bo_vc_title h3 {
    font-size: 16px;
    color: #1e3c72;
    margin: 0;
    font-weight: 700;
}
.bo_vc_title h3 strong {
    color: #2563eb;
    margin-left: 4px;
}

/* 댓글 없음 안내 */
.bo_vc_empty {
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    color: #64748b;
    font-size: 13px;
    margin-bottom: 20px;
}

/* 댓글 아이템 */
.cmt_item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
}
.cmt_reply {
    background: #f8fafc;
    border-left: 3px solid #3b82f6;
}
.cmt_header {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    font-size: 13px;
}
.cmt_writer {
    font-weight: bold;
    color: #1e293b;
    margin-right: 12px;
}
.cmt_date {
    color: #94a3b8;
    font-size: 12px;
}
.cmt_btn_grp {
    margin-left: auto;
}
.btn_cmt_act {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11px;
    color: #64748b;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    text-decoration: none;
    margin-left: 4px;
}
.btn_cmt_act:hover {
    color: #1e3c72;
    border-color: #1e3c72;
}
.btn_cmt_del:hover {
    color: #dc2626;
    border-color: #dc2626;
}
.cmt_content {
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    word-break: break-all;
}
.cmt_secret_icon {
    color: #dc2626;
    margin-right: 4px;
}

/* 댓글 작성 폼 */
.bo_vc_w {
    margin-top: 20px;
}
.cmt_write_box {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}
.cmt_guest_inputs {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}
.cmt_guest_inputs .frm_input {
    width: 140px;
    height: 34px;
}
.cmt_textarea_wrap {
    margin-bottom: 10px;
}
.cmt_textarea {
    width: 100%;
    height: 80px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 10px;
    font-size: 13px;
    resize: vertical;
    box-sizing: border-box;
    outline: none;
    line-height: 1.5;
}
.cmt_textarea:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37,99,235,0.1);
}
.cmt_bottom_bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.cmt_opt_left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.cmt_secret_label {
    font-size: 13px;
    color: #475569;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
}
.btn_cmt_submit {
    background: #2563eb;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    padding: 8px 18px;
    font-size: 13px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}
.btn_cmt_submit:hover {
    background: #1d4ed8;
}


/* 일반인 초기 접속 시 안내 카드 */
.search_guide_placeholder {
    background: #ffffff;
    border: 2px dashed #cbd5e1;
    border-radius: 12px;
    padding: 60px 20px;
    text-align: center;
    margin: 20px 0 40px;
}
.search_guide_placeholder .placeholder_icon {
    font-size: 38px;
    color: #94a3b8;
    margin-bottom: 12px;
}
.search_guide_placeholder h4 {
    font-size: 17px;
    color: #1e293b;
    margin: 0 0 8px 0;
    font-weight: 700;
}
.search_guide_placeholder p {
    font-size: 13px;
    color: #64748b;
    margin: 0 auto;
    max-width: 500px;
    line-height: 1.6;
}
.search_guide_placeholder strong {
    color: #2563eb;
}