@charset "utf-8";
/* =============================================================================
 * style.css — 전체 스타일 및 반응형 처리
 * 로드순서: common.css(리셋) → design.css(디자인시스템) → style.css(본 파일)
 * 구성: [1] 반응형 개선안(구 renewal.css) → [2] 모바일 스킨(구 style_mobile.css)
 *       → [3] 커스텀/회원·게시판 폼/PC 보강(구 common.css).
 *       캐스케이드 순서 = 통합 전 동작과 동일(화면 틀어짐 없음).
 * ============================================================================= */

/* ===== [1] 반응형 개선안 (구 renewal.css) ===== */

* {-webkit-tap-highlight-color:transparent;}

/* 회원 비밀번호 재확인(member_confirm) 폼 */
#mb_confirm {margin:0;padding:16px;}
#mb_confirm #win_title {padding:12px 6px;margin-bottom:12px;font-size:16px;}
#mb_confirm .confirm_title {margin:0;padding:12px 6px;font-size:16px;border-top: 3px solid #4e5d60;border-bottom: 1px solid #e9e9e9;margin-bottom:20px;}
#mb_confirm .form_container {padding-left:6px;padding-right:6px;}
#mb_confirm .confirm_desc {padding:0;font-size:14px;margin-bottom:16px;}
#mb_confirm .confirm_desc strong {display:block;margin-bottom:8px;}
#mb_confirm .mb_confirm_table {margin-bottom:10px;}
#mb_confirm .mb_confirm_table .rd_input {width:100%;}
#mb_confirm .mb_confirm_table .rd_input input {width:100%;margin:0;padding-left:10px;}
#mb_confirm .mb_confirm_submit {margin-bottom:10px;}
#mb_confirm .mb_confirm_submit .rd_btn {width:100%;}
#mb_confirm .btn_confirm .rd_btn {width:100%;}

/* 비밀글 비밀번호 확인(password) 폼 */
#pw_confirm {margin:0;padding:16px;}
#pw_confirm #win_title {padding:12px 6px;margin-bottom:12px;font-size:16px;}
#pw_confirm .form_container {padding-left:6px;padding-right:6px;}
#pw_confirm .confirm_desc {padding:0;font-size:14px;margin-bottom:16px;}
#pw_confirm .confirm_desc strong {display:block;margin-bottom:8px;}
#pw_confirm .pw_confirm_table {margin-bottom:10px;}
#pw_confirm .pw_confirm_table .rd_input {width:100%;}
#pw_confirm .pw_confirm_table .rd_input input {width:100%;margin:0;padding-left:10px;}
#pw_confirm .pw_confirm_submit {margin-bottom:10px;}
#pw_confirm .pw_confirm_submit .rd_btn {width:100%;}
#pw_confirm .btn_confirm .rd_btn {width:100%;}

/* 모바일 헤더 한 줄 정렬 (메뉴 - 로고(중앙) - 검색) */
.h_menu {display:flex;flex-wrap:wrap;align-items:center;}
.h_menu .menu_btn {order:1;}
.h_menu .h_logo {order:2;flex:1;width:auto;}
.h_menu .search_btn {order:3;}
.h_menu .search {order:4;width:100%; transition: 
    opacity 0.2s ease, 
    visibility 0.2s ease, 
    height 0.2s ease, 
    margin-bottom 0.2s ease;}

/* 모바일 헤더 메뉴/검색 버튼 좌우 간격 정렬 */
.h_menu .menu_btn, .h_menu .search_btn {width:auto;padding:0 15px;}
.h_menu .menu_btn a, .h_menu .search_btn a {display:flex;align-items:center;height:57px;}

/* 모바일 헤더 검색폼 (디자인 시스템 rd_input) */
.h_menu .search .rd_input {display:flex;align-items:center;width:100%;height:31px;float:none;padding:0;box-sizing:border-box;}
.h_menu .search .rd_input input {float:none;width:100%;padding:0 58px 0 10px;box-sizing:border-box;}
.h_menu .search .r_side {gap:6px;height:auto;padding:0;line-height:normal;float:none;}
.h_menu .search .r_side .rd_icon {cursor:pointer;}
.h_menu .search .r_side .times {margin-left:0;}

/* 사이드메뉴(snb) 닫기 버튼 (디자인 시스템 아이콘) */
.snb .exit {display:flex;align-items:center;justify-content:center;width:40px;height:50px;}

/* 사이드메뉴 검색폼 (디자인 시스템 rd_input) */
.s_search .rd_input {display:flex;align-items:center;width:100%;height:41px;}
.s_search .rd_input input {float:none;width:100%;height:41px;line-height:41px;padding:0 56px 0 10px;box-sizing:border-box;}
.s_search .r_side .rd_icon {cursor:pointer;}
.s_search .r_side .rd_icon.search_black {width:20px;height:20px;background-size:20px auto;}
.s_search .r_side .rd_icon.delete {width:16px;height:16px;background-size:16px auto;}
.s_search .r_side .times {margin-left:0;}

/* 사이드메뉴 회원메뉴 아이콘 (어두운 배경용 흰색 처리) */
.join p {margin-bottom:10px;font-size:16px;}
.join li a {display:block;}
.join .rd_icon {width:32px;height:32px;background-size:32px auto;margin:0 auto 4px;filter:brightness(0) invert(1);}

/* 회원메뉴 리스트 - DOM 유효화(div>ul) + 항목 중앙정렬(2개일 때도 가운데) */
.join .join_list {display:flex;justify-content:center;}
.join .join_list li {float:none;width:33.33%;}

/* footer 항상 하단 고정 (sticky footer) */
.wrap {display:flex;flex-direction:column;min-height:100vh;}
.wrap .container {flex:1;}
/* footer 하단 메뉴 - 가운데 정렬, 구분선은 항목 사이에만 */
.footer .f_lnb {display:flex;}
.footer .f_lnb li {float:none;width:auto;flex:0 0 auto;padding:0 14px;overflow:visible;}
.footer .f_lnb li:first-child {padding-left:0;}
.footer .f_lnb li:last-child {padding-right:0;}

/* 최신글 더보기 - 우측 하단 텍스트 링크 */
.recent .more {text-align:right;padding-right:6px;}
.recent .more .more_link {display:inline-flex;align-items:center;gap:2px;padding:0;background:none;font-size:13px;color:#868E96;}
.recent .more .more_link .rd_icon {width:16px;height:16px;background-size:16px auto;}
.recent .re_title.active + .re_content .more {height:auto;padding-bottom:6px;}

/* 최신글 카드형 컨테이너 (모던) */
.recent {margin-bottom:10px;border:1px solid #E9ECEF;border-radius:10px;background:#fff;overflow:hidden;}
.recent .re_title {padding:0 38px 0 16px;border-bottom:1px solid #E9ECEF;background:#F5F6F8;color:#495057;font-size:16px;}
.recent .re_title.active {background:#fff;color:#22b8cf;border-bottom-color:#22b8cf;}

/* +/- 토글 아이콘 (fontawesome → rd_icon, 접힘:gray 펼침:blue) */
.recent .re_title:after {display:none;}
.recent .re_title .re_toggle {position:absolute;top:50%;right:12px;transform:translateY(-50%);width:20px;height:20px;background-size:20px auto;background-position:center;background-repeat:no-repeat;background-image:url('../img/design/ico_plus_gray700.svg'); }
.recent .re_title.active .re_toggle {background-image:url('../img/design/ico_minus_blue.svg');}

/* 목록 행 간격/구분선 + 가독성 */
.recent .re_content li {padding:12px 4px;border-bottom:1px solid #F1F3F5;}
.recent .re_content li:last-child {border-bottom:none;}
.recent .re_content li a {color:#222;}
.recent .re_title.active + .re_content li a p:last-child {margin-top:4px;font-size:12px;color:#9EA6AD;line-height:18px;}

/* 목록 플래그 아이콘 (인기글/첨부 → 디자인시스템, 전역 / 기존 gif 크기 유지) */
.rd_icon.list_flag {display:inline-block;vertical-align:middle;background-size:contain;}
.rd_icon.star_single_yellow.list_flag {width:15px;height:15px;}
.rd_icon.attach_black.list_flag {width:15px;height:15px;}
.rd_icon.download_black.list_flag {width:15px;height:15px;}
.rd_icon.new_blue.list_flag {width:15px;height:15px;}

/* 전국 진로진학 정보센터 - 섹션 카드 + 디자인시스템 칩 그리드 (모던) */
.map_link {margin:0 20px 40px;padding:20px;border:1px solid #E9ECEF;border-radius:12px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.05);box-sizing:border-box; width: 380px;}
.map_link h3 {margin:0 0 14px;padding:0 0 0 10px;border-left:3px solid #22b8cf;font-size:18px;color:#222;line-height:1.1;}
.map_link .area_list {display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:0;border:none;}
.map_link .area_list li {display:block;width:auto;border:none;}
.map_link .area_list li:nth-child(2n-1) {border-right:none;}
.map_link .area_list li a {display:flex;width:100%;min-width:0;padding:0;font-size:13px;color:#495057;}

/* PC 버전으로 보기 버튼 (디자인시스템 rd_btn) */
#device_change {display:flex;align-items:center;justify-content:center;width:calc(100% - 40px);margin:10px auto;padding:0 12px;border:1px solid #CCD1D7;border-radius:4px;text-align:center;}
#device_change .txt {top:0;}

/* 관련기관 로고 링크 - 카드 그리드 (모던) */
.icon_link {display:grid;grid-template-columns:repeat(4,1fr);gap:0 8px;margin:10px 20px;}
.icon_link a {float:none;width:auto;margin:0;height:64px;border:1px solid #E9ECEF;border-radius:10px;background:#fff;transition:box-shadow .2s;}
.icon_link a:active {box-shadow:0 2px 8px rgba(0,0,0,.08);}
.icon_link a img {max-width:92%;max-height:74%;width:auto;height:auto;}

/* 게시판 목록 제목 (모던 섹션 헤더) */
h2#container_title {margin:16px 0;padding:2px 0 2px 12px;border-left:4px solid #22b8cf;font-size:20px;font-weight:bold;color:#222;line-height:1.3;}

/* 게시판 목록(board list) - 디자인시스템 적용 + 간격/폰트/정렬 정리 */
#bo_list .bo_fx {display:flex;align-items:center;margin-bottom:12px;padding:0;}
#bo_list .bo_fx.mg-top {margin-top:6px;}
#bo_list #bo_list_total {float:none;height:auto;line-height:1.4;font-size:13px;color:#868E96;}
#bo_list .btn_bo_user, #bo_list .btn_bo_adm {float:none;display:flex;gap:6px;align-items:center;margin-right: 6px;}
#bo_list .btn_bo_user li, #bo_list .btn_bo_adm li {float:none;margin:0;}
#bo_list .btn_bo_adm input {padding:0;border:0;background:none;}

/* 목록 테이블 → 깔끔한 행 리스트 */
#bo_list .tbl_head01 table {width:100%;border-collapse:collapse;}
#bo_list .tbl_head01 thead th {padding:10px 8px;border-top:2px solid #495057;border-bottom:1px solid #E9ECEF;font-size:13px;color:#868E96;font-weight:600;text-align:left;}
#bo_list .tbl_head01 tbody td {padding:14px 8px;border-bottom:1px solid #F1F3F5;font-size:15px;vertical-align:middle;}
#bo_list .td_subject {text-align:left;}
#bo_list .td_subject a {display:block;color:#222;line-height:1.6;}
/* 목록 행: 답변글 화살표 아이콘 크기 보정 (margin-left 깊이 유지) */
#bo_list .td_subject > .rd_icon.arrow_curveRight_black {width:15px;height:15px;background-size:15px auto;vertical-align:middle;margin-right:2px;}
/* 새글 아이콘: 제목 a 뒤 형제로 정렬 */
#bo_list .td_subject > .rd_icon.new_blue {vertical-align:middle;margin-left:4px;}
/* 아이콘(답변글 앞 / 새글 뒤)이 붙는 제목은 인라인 → 아이콘과 한 줄 정렬 */
#bo_list .td_subject > .rd_icon + a, #bo_list .td_subject > a:has(+ .rd_icon) {display:inline;vertical-align:middle;}
#bo_list .td_date {width:84px;color:#9EA6AD;font-size:13px;white-space:nowrap;}
#bo_list .bo_notice td {background:#F8FBFC;}

/* 게시판 검색 영역 */
#bo_sch {margin:20px 16px;padding:0;border:0;text-align:center;}
#bo_sch legend {display: none;}
#bo_sch form {display:flex;gap:6px;align-items:center;justify-content:center;}
#bo_sch .rd_select {flex:0 0 auto;}
#bo_sch .rd_input {flex:1;}
#bo_sch .rd_input input {width:100%;box-sizing:border-box;padding-right:36px;}
#bo_sch .rd_input input.required {background:#fff;}
#bo_sch .rd_input .r_side .search_black {width:20px;height:20px;background-size:20px auto;cursor:pointer;}
.rd_input .msg_sound_only {display: none;}
/* =========================================================================
 * FAQ / 1:1문의(qalist) / 현재접속자(current_connect)
 *  - 공지사항(board)과 동일하게 .rd_board 컴포넌트 + 디자인시스템 폼요소 사용
 *  - 여기서는 board 컴포넌트에 없는 부분(카테고리 pill/상태배지/아코디언)만 보강
 * ========================================================================= */

/* 공통: 카테고리 nav (faq/qalist/board 공용) */
#bo_cate {margin:0 0 14px;}
#bo_cate > h2 {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
#bo_cate_ul {display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;}
#bo_cate_ul li {float:none;margin:0;}
#bo_cate_ul li a {display:block;padding:7px 14px;border:1px solid #dee2e6;border-radius:20px;font-size:13px;color:#495057;line-height:1;}
#bo_cate_ul li a:hover, #bo_cate_ul li a#bo_cate_on {border-color:#22b8cf;background:#22b8cf;color:#fff;}

/* 공통: 비어있는 목록/테이블 안내 */
.empty_table, .empty_list {padding:40px 8px;text-align:center;color:#868E96;font-size:14px;}

/* 공통: 목록 상단/하단 버튼줄 (board .bo_fx 와 동일) */
#bo_list_admin .bo_fx {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:0;}
#bo_list .bo_fx {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:0;}
#bo_list .bo_fx.mg-top {margin-top:10px;margin-bottom:0;}
#bo_list .btn_bo_user, #bo_list .btn_bo_adm {float:none;display:flex;gap:6px;align-items:center;margin:0;}
#bo_list .btn_bo_user li, #bo_list .btn_bo_adm li {float:none;margin:0;}
#list_chk {margin-bottom:8px;}

/* 1:1문의(qalist) : .rd_board 테이블 - 분류 배지/글쓴이/상태 컬럼 보강 */
#bo_list .bo_cate_link {display:inline-block;margin-right:6px;padding:2px 8px;border-radius:3px;background:#e6f7f9;font-size:12px;font-weight:600;color:#1098ad;vertical-align:middle;}
#bo_list .td_num {width:60px;color:#868E96;font-size:13px;}
#bo_list .td_name {width:120px;color:#495057;}
#bo_list .td_status {width:92px;white-space:nowrap;}
#bo_list .qa_stat {display:inline-block;min-width:64px;padding:4px 0;border-radius:12px;font-size:12px;font-weight:600;text-align:center;}
#bo_list .qa_stat.done {background:#e6f7f9;color:#1098ad;}
#bo_list .qa_stat.rdy {background:#f1f3f5;color:#868E96;}
@media (max-width:1024px) {
    #bo_list .td_num, #bo_list .td_name {display:none;}
    /* 좁은 화면에서 컬럼이 짓눌리지 않도록 하한 확보 : 체크박스 th 최소 30px, 날짜 th 최소 45px (관리자/일반 래퍼 모두 커버 위해 .rd_board 스코프) */
    .rd_board.list_board .th_chk, .rd_board.list_board .td_chk {width:30px;min-width:30px;padding-left:0;padding-right:0;text-align:center;}
    .rd_board.list_board .th_date, .rd_board.list_board .td_date {width:auto;min-width:45px; text-align: center !important;}
}

/* FAQ : 아코디언 (board rd_board 톤에 맞춘 테두리/색, 폼은 #bo_sch 공용) */
#faq_wrap {margin:0 16px;}
#faq_con > h2 {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
#faq_con > ol {margin:0;padding:0;list-style:none;border-top:1px solid #CCD1D7;}
#faq_con > ol > li {border-bottom:1px solid #CCD1D7;}
#faq_con > ol > li > h3 {margin:0;}
#faq_con > ol > li > h3 > a {display:block;position:relative;padding:15px 40px 15px 15px;font-size:15px;font-weight:500;line-height:1.5;color:#3B4248;}
#faq_con > ol > li > h3 > a:after {content:"\f107";position:absolute;top:50%;right:16px;transform:translateY(-50%);font-family:FontAwesome;font-size:16px;color:#adb5bd;}
#faq_con .con_inner {display:none;padding:18px 15px;border-top:1px solid #E9ECEF;background:#F5F6F8;font-size:14px;line-height:1.7;color:#495057;}
#faq_con .con_inner img {max-width:100%;height:auto;}
#faq_con .con_closer {margin-top:14px;text-align:right;}
#faq_hhtml:not(:empty), #faq_thtml:not(:empty) {margin:0 16px 14px;}

/* 현재접속자(current_connect) : .rd_board 만으로 스타일 완성, 여백만 지정 */
#current_connect_wrap {margin:0 16px;}

/* 페이지네이션(pg_wrap) - 디자인시스템 rd_pagenation paging 스타일 (마크업 유지, 스타일만) */
.pg_wrap {display:flex;justify-content:center;margin:20px 0;padding:0;}
.pg_wrap .pg {display:inline-flex;align-items:center;}
.pg_wrap .pg_page, .pg_wrap .pg_current {display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin:0 5px;padding:0 4px;border-radius:2px;background:none;font-size:15px;font-weight:400;line-height:24px;color:#3B4248;text-decoration:none;box-sizing:border-box;}
.pg_wrap a.pg_page:hover {background:#CCD1D7;}
.pg_wrap .pg_current {background:#22b8cf;color:#fff;font-weight:500;}
.pg_wrap .pg_start, .pg_wrap .pg_prev, .pg_wrap .pg_next, .pg_wrap .pg_end {color:#868E96;background:none;}
.pg_wrap .pg_page .rd_icon {width:24px;height:24px;background-size:18px auto;}

/* 회원가입 입력 폼 컨테이너 */
.mbskin .register_form_wrap {padding:16px;}
/* 회원가입 입력폼 - 테이블 간격 */
#fregisterform .rd_table {margin-bottom:16px;}
#fregisterform .rd_table table {table-layout:fixed;width:100%;}
#fregisterform .rd_table th, #fregisterform .rd_table td, #fregisterform .rd_table th *, #fregisterform .rd_table td * {line-height:1.2;}
#fregisterform .rd_table td {overflow:hidden;word-break:break-word;}
#fregisterform .rd_checkbox label::before {min-width:18px;}
/* 회원가입 입력폼 - 필수 항목 * 표시 */
#fregisterform th:has(strong.sound_only)::after {content:'*';color:#e8180c;font-weight:700;}
/* 회원가입 입력폼 - 테이블 캡션 */
#fregisterform .rd_table caption {caption-side:top;text-align:left;padding-bottom:8px;font-size:14px;font-weight:700;color:#4b8b99;}
/* 회원가입 입력폼 - 인풋/셀렉트 전체 너비 */
#fregisterform .rd_input {width:100%;}
#fregisterform .rd_input input {width:100%;box-sizing:border-box;}
#fregisterform .rd_table th {min-width:90px;width:90px;}
#fregisterform .file_wrap {overflow:hidden;max-width:100%;margin-top:8px;}
#fregisterform input[type="file"] {max-width:100%;box-sizing:border-box;}
#fregisterform #reg_mb_icon ~ img {display:block;max-width:100%;height:auto;margin-top:6px;}
#fregisterform .rd_select {width:100%;font-size:15px;}
/* 회원가입 입력폼 - 텍스트에리어 */
#fregisterform .rd_textarea {width:100%;height:80px;box-sizing:border-box;}
/* 회원가입 입력폼 - 성별 라디오 가로 정렬 */
#fregisterform .rd_radio {display:inline-flex;margin-right:16px;}
/* 회원가입 입력폼 - 안내 문구 */
#fregisterform .frm_info {display:block;margin-top:0;padding-top:0;font-size:12px;color:#868E96;}
#fregisterform .frm_info.mb_4 {margin-bottom:4px;}
#fregisterform .frm_info.mt_4 {margin-top:4px;}
/* 회원가입 입력폼 - 우편번호 한 줄 */
#fregisterform .zip_row {display:flex;align-items:center;gap:6px;}
#fregisterform .zip_row .rd_input {flex:1;margin-bottom:0;}
/* 회원가입 입력폼 - 하단 버튼 */
#fregisterform .btn_confirm {display:flex;gap:8px;margin-top:20px;}
#fregisterform .btn_confirm .rd_btn {appearance:none;-webkit-appearance:none;box-sizing:border-box;text-decoration:none;font-family:inherit;}
#fregisterform .btn_confirm a.rd_btn {display:inline-flex;align-items:center;justify-content:center;}

/* 게시판 목록 테이블(rd_board) - 헤더/셀 높이·폰트 조정 */
.rd_board.list_board {margin-bottom: 10px;}
.rd_board.list_board table th { height: 36px; font-size: 14px; line-height: 14px; }
.rd_board.list_board table th a { font-size: 14px; line-height: 14px; }
.rd_board.list_board table td { height: 40px; font-size: 15px;  }
.rd_board.list_board table td.td_subject {text-align: left; padding-left: 15px; line-height: 1.6;}
.rd_board.list_board table td.td_subject a {line-height: 1.6;}
.rd_board.list_board table td .arrow_curveRight_black {height: 15px; background-size:15px; width: 20px;}
/* 상단 gnb(로그인 전) 아이콘 - white 변형 사용 (login은 white 변형이 없어 filter로 흰색 처리, 사이드메뉴와 동일) */
.h_gnb .rd_icon {width:14px;height:14px;background-size:14px auto !important;margin-right:4px;vertical-align:middle; margin-bottom:2px;}
.h_gnb .rd_icon.login {filter:brightness(0) invert(1);} /* 시안 배경이므로 흰색으로 반전 */

/* 헤더 로고 크기 */
.h_logo img {max-width:170px;}

/* 최신글 리스트 불릿 위치(제목 첫 줄 중앙 정렬) */
.recent .re_title.active + .re_content li::before {top:20px;}

/* ===== 게시판 상세(view) - 디자인시스템 모던 ===== */
#bo_v_table {margin:16px 16px 0;padding:0;font-size:13px;color:#868E96;}
#bo_v {width:auto !important;margin:0 16px 20px;padding:0;}
#bo_v_title {padding:8px 0 12px;border:0;font-size:20px;font-weight:bold;color:#222;line-height:1.4;}

/* 메타 정보 (작성자/작성일/조회/댓글) */
#bo_v_info {display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 0;border-top:1px solid #E9ECEF;border-bottom:1px solid #E9ECEF;color:#868E96;font-size:13px;}
#bo_v_info .bo_v_meta {display:inline-flex;align-items:flex-end;gap:4px;line-height:1;}
#bo_v_info .bo_v_meta .rd_icon {flex:0 0 auto;width:16px;height:16px;background-size:16px auto;}
#bo_v_info strong {font-weight:400;}

/* 첨부파일 / 관련링크 카드 */
#bo_v_file, #bo_v_link {margin:12px 0;padding:10px 12px;border:1px solid #E9ECEF;border-radius:8px;background:#F8F9FA; font-size: 13px;}
#bo_v_file ul, #bo_v_link ul {margin:0;padding:0;list-style:none;}
#bo_v_file li, #bo_v_link li {display:flex; gap:8px;padding:6px 0;border:0;background:none;}
#bo_v_file li > .rd_icon, #bo_v_link li > .rd_icon {flex:0 0 auto;width:18px;height:18px;background-size:18px auto; }
#bo_v_file .bo_v_file_info, #bo_v_link .bo_v_link_info {flex:1;min-width:0;}
#bo_v_file .bo_v_file_info a, #bo_v_link .bo_v_link_info a {display:inline;padding:0;color:#222;}
#bo_v_file .bo_v_file_cnt, #bo_v_link .bo_v_link_cnt {display:inline-block;margin:2px 8px 0 0;color:#9EA6AD;font-size:12px;}

/* 연락처정보 (qaview) : #bo_v_file 박스 톤. dl 을 라벨/값 그리드로 정렬 (기본 dl 이 붙어 보이던 문제) */
#bo_v_contact {margin:12px 0;padding:12px 14px;border:1px solid #E9ECEF;border-radius:8px;background:#F8F9FA;}
#bo_v_contact > h2 {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#bo_v_contact dl {display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center;margin:0;}
#bo_v_contact dt {font-size:13px;font-weight:600;color:#868E96;}
#bo_v_contact dd {margin:0;font-size:13px;color:#222;word-break:break-all;}

/* 답변등록 (qaview) : 본문과 간격 확보 + 제목 크기 축소 */
#bo_v_ans {margin:24px 0 8px;padding-top:20px;border-top:1px solid #E9ECEF;}
#bo_v_ans > h2 {margin:0 0 14px;padding:0;font-size:17px;font-weight:700;color:#222;}
#bo_v_ans #ans_msg {margin:0;padding:20px 16px;background:#F8F9FA;border:1px solid #E9ECEF;border-radius:8px;text-align:center;font-size:14px;color:#868E96;}
#bo_v_ans .btn_confirm {margin-top:16px;}

/* 본문 */
#bo_v_atc {padding:16px 0;}
#bo_v_con {margin-bottom:20px;font-size:15px;line-height:1.7;color:#222; word-break: break-all;}

/* 버튼 그룹 - 2줄 구조: (1줄) 이전/다음 50:50 풀너비, (2줄) 액션 우측 정렬 */
#bo_v_top, #bo_v_bot {display:flex;flex-direction:column;gap:8px;margin:16px 0;padding:0; flex-wrap:wrap;}
#bo_v .bo_v_nb {float:none;display:flex;gap:8px;margin:0;padding:0;list-style:none;}
#bo_v .bo_v_nb li {float:none;flex:1;margin:0;}
#bo_v .bo_v_nb li a {width:100%;}
#bo_v .bo_v_com {float:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:0;padding:0;list-style:none;}
#bo_v .bo_v_com li {float:none;margin:0;}

/* 추천 / 비추천 / 스크랩 */
#bo_v_act {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:20px 0;}
#bo_v_act .bo_v_act_gng {display:inline-flex;align-items:center;}

/* ===== 댓글 ===== */
#bo_vc {margin:20px 0;padding:16px;border:1px solid #E9ECEF;border-radius:10px;background:#F8F9FA;}
#bo_vc header {margin-bottom: 10px; font-size: 14px;}
#bo_vc h1 {margin-bottom:8px;font-size:15px;color:#222;}
#bo_vc h2 {margin:8px 0;font-size:15px;color:#222;}
#bo_vc article {padding:12px 0;border-top:1px solid #E9ECEF;}
#bo_vc p {color:#222;line-height:1.6;}
#bo_vc .bo_vc_act {float:none;display:flex;gap:6px;justify-content:flex-end;}
#bo_vc .bo_vc_act li {float:none;margin:0;}
#bo_vc_empty {padding:20px 0;text-align:center;color:#9EA6AD;}

/* 댓글 작성폼 */
#bo_vc_w {margin-top:16px;padding:16px;border:1px solid #E9ECEF;border-radius:10px;}
#bo_vc_w h2 {margin-bottom:8px;font-size:15px;color:#222;}
#bo_v .rd_input {width:100%;}
#bo_v .rd_input input {width:100%;}
#bo_v .rd_textarea {width:100%;height:90px;box-sizing:border-box;}
#bo_v .btn_confirm {margin:10px 0;text-align:right;}

/* ===== 스크랩 목록(scrap) ===== */
#scrap {padding:16px;}
#scrap #win_title {margin:0 0 16px;padding:2px 0 2px 12px;border:0;border-left:4px solid #22b8cf;font-size:20px;font-weight:bold;color:#222;line-height:1.3;}
#scrap #scrap_ul {margin:0;padding:0;list-style:none;}
#scrap #scrap_ul li {position:static;display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #E9ECEF;}
#scrap #scrap_ul li .rd_icon {flex:0 0 auto;}
#scrap #scrap_ul .scrap_info {display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
#scrap #scrap_ul .scrap_board {display:inline-block;margin:0;font-size:12px;font-weight:bold;color:#22b8cf;}
#scrap #scrap_ul .scrap_link {color:#222;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#scrap #scrap_ul .scrap_link:hover {text-decoration:underline;}
#scrap #scrap_ul .scrap_del {flex:0 0 auto;padding:10px 15px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:13px;color:#222;line-height:1.2;}
#scrap #scrap_ul .scrap_del:hover {border-color:#ffc9c9;color:#fa5252;}
#scrap #scrap_ul .empty_list {display:block;padding:40px 0;text-align:center;color:#868E96;}
#scrap .win_btn {display:flex;justify-content:center;margin:20px 0 0;}
#scrap .win_btn button {width:100%;max-width:100px;height:40px;border:0;border-radius:4px;background:#f1f3f5;color:#495057;font-size:15px;font-weight:600;cursor:pointer;box-sizing:border-box; border:1px solid #CCD1D7}
#scrap .win_btn button:hover {background:#e9ecef;}

/* ===== 스크랩하기 폼(scrap_do) ===== */
#scrap_do {padding:16px;}
#scrap_do #win_title {margin:0 0 16px;padding:2px 0 2px 12px;border:0;border-left:4px solid #22b8cf;font-size:20px;font-weight:bold;color:#222;line-height:1.3;}
#scrap_do .tbl_wrap {margin:0;}
#scrap_do .rd_textarea {width:100%;height:100px;box-sizing:border-box;}
#scrap_do .win_desc {margin:12px 0 0;padding:0;font-size:13px;color:#868E96;line-height:1.5;}
#scrap_do .win_btn {display:flex;justify-content:center;margin:16px 0 0;}
#scrap_do .win_btn .btn_submit {width:100%;max-width:160px;height:48px;border:0;border-radius:4px;background:#22b8cf;color:#fff;font-size:16px;font-weight:600;cursor:pointer;box-sizing:border-box;}
#scrap_do .win_btn .btn_submit:hover {background:#1ba7bd;}

/* ===== 스크랩 팝업 버튼: new_win .win_btn 의 기존 스타일을 rd_btn 으로 복원 ===== */
#scrap .win_btn .rd_btn, #scrap_do .win_btn .rd_btn {display:inline-flex;align-items:center;justify-content:center;width:100%;height:36px;padding:0 8px;border:none;line-height:normal;background:none;text-decoration:none;}
#scrap_do .win_btn .rd_btn.blue {background:#22b8cf;}
#scrap .win_btn .rd_btn.gray {background:#F0F2F4;border:1px solid #CCD1D7;}

/* ===== 게시물 복사/이동 팝업 (bbs/move.php) : 게시판 선택 목록 형태로 정리 ===== */
#copymove {padding:20px 16px;box-sizing:border-box;color:#222;}
#copymove #win_title {margin:0;font-size:20px;font-weight:700;color:#222;}
#copymove .tbl_head01 {margin:14px 0 0;}
#copymove .tbl_head01 caption {padding:6px 0 12px;font-size:13px;color:#868e96;text-align:left;caption-side:top;}
#copymove .tbl_head01 table {width:100%;border-collapse:collapse;border-top:2px solid #495057;}
#copymove .tbl_head01 thead th {padding:10px 12px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:13px;font-weight:700;color:#495057;text-align:left;}
#copymove .tbl_head01 thead th:first-child {width:44px;text-align:center;}
#copymove .tbl_head01 tbody td {padding:10px 12px;border-bottom:1px solid #f1f3f5;font-size:14px;color:#3b4248;vertical-align:middle;}
#copymove .tbl_head01 tbody td.td_chk {text-align:center;}
#copymove .tbl_head01 tbody tr:hover {background:#f8fdfe;}
#copymove .tbl_head01 tbody td label {display:block;cursor:pointer;line-height:1.4;}
#copymove .tbl_head01 input[type=checkbox] {width:16px;height:16px;vertical-align:middle;cursor:pointer;accent-color:#22b8cf;}
#copymove .copymove_currentbg {background:#eef6f8;}
#copymove .copymove_current {display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;background:#22b8cf;color:#fff;font-size:11px;font-weight:600;vertical-align:middle;}
#copymove .win_btn {display:flex;gap:8px;justify-content:center;margin-top:18px;}
#copymove .win_btn .btn_submit, #copymove .win_btn .btn_cancel {flex:1;max-width:160px;height:46px;border:0;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;box-sizing:border-box;}
#copymove .win_btn .btn_submit {background:#22b8cf;color:#fff;}
#copymove .win_btn .btn_cancel {background:#f1f3f5;color:#495057;}
#copymove .win_btn .btn_cancel:hover {background:#e9ecef;}

/* ===================== 회원 팝업 공통 (쪽지/자기소개/메일보내기/포인트) =====================
 * .new_win 공통 셸. 이미 스타일된 #scrap/#scrap_do/#copymove 는 각자 id 규칙이 우선하므로 영향 없음 */
.new_win {padding:20px 16px;box-sizing:border-box;color:#222;}
.new_win #win_title {margin:0 0 16px;padding:2px 0 2px 12px;border-left:4px solid #22b8cf;font-size:20px;font-weight:700;color:#222;line-height:1.3;}
.new_win .win_desc {margin:12px 0;font-size:13px;color:#868e96;line-height:1.6;}
.new_win .empty_list {display:block;padding:40px 0;text-align:center;font-size:14px;color:#868e96;}
/* 상단 탭 (받은/보낸/쓰기 등) */
.new_win .win_ul {display:flex;gap:6px;margin:0 0 16px;padding:0;list-style:none;}
.new_win .win_ul li {flex:1;margin:0;float:none;}
.new_win .win_ul li a {display:block;padding:10px 8px;border:1px solid #e9ecef;border-radius:6px;background:#f8f9fa;text-align:center;font-size:13px;font-weight:600;color:#495057;text-decoration:none;}
.new_win .win_ul li a:hover {border-color:#22b8cf;color:#22b8cf;}
/* 하단 버튼 영역 */
.new_win .win_btn {display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px;}
.new_win .win_btn .btn_submit, .new_win .win_btn > button, .new_win .win_btn > a {flex:0 0 auto;min-width:110px;height:46px;padding:0 16px;border:0;border-radius:4px;font-size:15px;font-weight:600;line-height:46px;text-align:center;cursor:pointer;text-decoration:none;box-sizing:border-box; }
.new_win .win_btn .btn_submit {background:#22b8cf;color:#fff;}
.new_win .win_btn > button, .new_win .win_btn > a {background:#f1f3f5;color:#495057;}
.new_win .win_btn > button:hover, .new_win .win_btn > a:hover {background:#e9ecef;}

/* 자기소개(profile) : 인사말 섹션 */
#profile section {margin-top:16px;}
#profile section h2 {margin:0 0 10px;font-size:15px;font-weight:700;color:#222;}
#profile section p {margin:0;padding:16px;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa;font-size:14px;line-height:1.7;color:#495057;word-break:break-all;}

/* new_win 팝업 하단 버튼 : 디자인 시스템 rd_btn 적용 (new_win 기본 버튼 스타일 무력화) */
.new_win .win_btn .rd_btn {height:44px;min-width:112px;padding:0 12px;line-height:normal;}
.new_win .win_btn .rd_btn.blue {background:#22b8cf;border:none;}
.new_win .win_btn .rd_btn.blue:hover {background:#309fb0;}
.new_win .win_btn .rd_btn.gray {background:#F0F2F4;border:1px solid #CCD1D7;}
.new_win .win_btn .rd_btn.gray:hover {background:#e9ecef;}
.new_win .win_btn .rd_btn.lineRed {background:#fff;border:1px solid #ffc9c9;}
.new_win .win_btn .rd_btn.lineRed:hover {background:#fff5f5;}

/* 쪽지함 목록(memo) */
#memo_list_ul {margin:0;padding:0;list-style:none;}
#memo_list_ul li {position:relative;padding:14px 62px 14px 0;border-bottom:1px solid #f1f3f5;}
#memo_list_ul .memo_link {display:block;font-size:14px;font-weight:600;color:#222;text-decoration:none;}
#memo_list_ul .memo_link:hover {color:#22b8cf;}
#memo_list_ul .memo_read {display:inline-block;margin:4px 8px 0 0;font-size:12px;color:#adb5bd;}
#memo_list_ul .memo_send {display:inline-block;margin-top:4px;font-size:12px;color:#868e96;}
#memo_list_ul .memo_del {position:absolute;top:14px;right:0;padding:5px 10px;border:1px solid #e9ecef;border-radius:4px;font-size:12px;color:#868e96;text-decoration:none;}
#memo_list_ul .memo_del:hover {border-color:#ffc9c9;color:#fa5252;}

/* 쪽지 읽기(memo_view) */
#memo_view_contents {margin-top:16px;}
#memo_view_contents > header h1 {margin:0 0 10px;font-size:15px;font-weight:700;color:#222;}
#memo_view_ul {margin:0 0 12px;padding:12px 14px;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa;list-style:none;}
#memo_view_ul .memo_view_li {padding:3px 0;font-size:13px;}
#memo_view_ul .memo_view_subj {display:inline-block;width:70px;color:#868e96;}
#memo_view_contents > p {margin:0;padding:16px 4px;font-size:14px;line-height:1.7;color:#333;word-break:break-all;}

/* 포인트내역(point) */
#point_ul {margin:0;padding:0;list-style:none;}
#point_ul li {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #f1f3f5;}
#point_ul .point_wrap01 {flex:1;min-width:0;}
#point_ul .point_date {display:block;font-size:12px;color:#adb5bd;}
#point_ul .point_log {display:block;margin-top:2px;font-size:14px;color:#222;word-break:break-all;}
#point_ul .point_wrap02 {flex:0 0 auto;text-align:right;}
#point_ul .point_expdate {display:block;font-size:11px;color:#adb5bd;}
#point_ul .point_inout {display:block;font-size:14px;font-weight:700;color:#22b8cf;}
#point_sum {display:flex;gap:8px;margin:16px 0;}
#point_sum .sum_row {flex:1;padding:12px 8px;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa;text-align:center;}
#point_sum .sum_tit {display:block;font-size:12px;color:#868e96;}
#point_sum .sum_val {display:block;margin-top:4px;font-size:16px;font-weight:700;color:#222;}

/* 전체게시물(new.php) : 검색 + 목록 (전체 프레임 페이지) */
#new_sch {margin:0 0 16px;padding:14px 16px;border:1px solid #e9ecef;border-radius:8px;background:#f8f9fa;}
#new_sch legend {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
#new_sch form {display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0;}
#new_sch select, #new_sch .frm_input {height:40px;padding:0 10px;border:1px solid #ccd1d7;border-radius:4px;background:#fff;font-size:14px;color:#3b4248;box-sizing:border-box;}
#new_sch .frm_input {flex:1;min-width:120px;}
#new_sch .btn_submit {height:40px;padding:0 18px;border:0;border-radius:4px;background:#22b8cf;color:#fff;font-size:14px;font-weight:600;cursor:pointer;}
#new_tbl {width:100%;border-collapse:collapse;border-top:2px solid #495057;}
#new_tbl thead th {padding:10px 8px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:13px;font-weight:700;color:#495057;text-align:left;}
#new_tbl tbody td {padding:12px 8px;border-bottom:1px solid #f1f3f5;font-size:14px;color:#3b4248;vertical-align:middle;}
#new_tbl tbody td a {color:#222;text-decoration:none;}
#new_tbl tbody td a:hover {color:#22b8cf;text-decoration:underline;}
#new_tbl .td_board {width:120px;}
#new_tbl .td_board a {color:#22b8cf;font-size:13px;}
#new_tbl .td_date {width:56px;text-align:right;color:#9ea6ad;font-size:13px;white-space:nowrap;}
#new_tbl .empty_table {padding:40px 8px;text-align:center;color:#868e96;}

/* 회원가입약관 페이지 컨테이너 */
.mbskin .register_wrap {padding:16px;}
/* 회원가입약관 섹션 배경/패딩 제거 */
#fregister section {padding:0 0 24px;background:none;margin-bottom:24px;}
/* 회원가입약관 본문 박스 */
#fregister .terms_box {max-height:150px;overflow-y:scroll;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:13px;color:#555;line-height:1.6;background:#fafafa;white-space:pre-line;}
/* 회원가입약관 섹션 타이틀 */
#fregister h2 {font-size:16px;font-weight:700;text-align:left;color:#222;}
/* 회원가입약관 안내 문구 */
#fregister .register_notice {font-size:14px;margin-bottom:16px;}
/* 회원가입약관 동의 체크박스 정렬 */
#fregister .fregister_agree {display:flex;align-items:center;justify-content:flex-end;text-align:left;}
#fregister .fregister_agree label {display:flex;align-items:center;margin-right:0;}

/* 회원가입 완료 */
/* span/strong + a.btn02 마크업 기준 (기존 dl/rd_btn 규칙은 마크업과 불일치했음) */
#reg_result {max-width:600px;margin:0 auto;padding:32px 16px;text-align:center;}
#reg_result > p {margin:0 0 16px;font-size:15px;line-height:1.7;color:#495057;}
#reg_result > p:first-of-type {margin-bottom:20px;font-size:18px;font-weight:600;color:#222;}
#reg_result > p:first-of-type strong {color:#22b8cf;}
#result_email {max-width:420px;margin:20px auto;padding:18px 20px;background:#f8f9fa;border:1px solid #E9ECEF;border-radius:10px;text-align:left;line-height:2.1;}
#result_email span {display:inline-block;width:90px;font-size:13px;color:#868E96;}
#result_email strong {font-size:14px;font-weight:700;color:#222;word-break:break-all;}
#reg_result .btn_confirm {justify-content:center;margin-top:24px;}
#reg_result .btn_confirm .btn02 {display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:280px;height:50px;border-radius:6px;background:#22b8cf;color:#fff;font-size:16px;font-weight:600;text-decoration:none;box-sizing:border-box;}
#reg_result .btn_confirm .btn02:hover {background:#1ba7bd;}

/* 아이디/비밀번호 찾기 */
#find_info {padding:16px;}
#find_info #win_title {padding:6px 6px;margin-bottom:12px;font-size:16px;}
/* 로그인 */
#mb_login {margin:0;padding:16px;}
#mb_login h1 {margin:0;padding:12px 0;font-size:16px;}
#mb_login #login_frm {position:static;padding:0;}
#mb_login #login_frm .rd_input {width:100%;margin:0;padding:0;}
#mb_login #login_frm .login_id_wrap {margin-bottom:8px;}
#mb_login #login_frm .rd_input input {width:100%;box-sizing:border-box;}
#mb_login #login_frm .login_auto {display:block;margin:10px 0;padding: 0;text-align: left;}
#mb_login #login_frm .login_auto .checkbox_txt {font-size: 14px;}
#mb_login #login_frm .btn_submit {display:block;width:100%;appearance:none;-webkit-appearance:none;box-sizing:border-box;font-family:inherit;margin-top:10px;}
#mb_login #login_frm button[type="submit"] {display:block;width:100%;box-sizing:border-box;margin-top:10px;}
#mb_login section {margin-top:20px;padding:16px;border:1px solid #E9ECEF;border-radius:8px;background:#F8F9FA;}
#mb_login section h2 {margin:0 0 8px;font-size:14px;font-weight:700;color:#222;}
#mb_login section p {margin:0 0 12px;font-size:13px;color:#868E96;line-height:1.6;}
#mb_login .login_links {display:flex;gap:8px;}
#mb_login .login_links .rd_btn {flex:1;appearance:none;-webkit-appearance:none;text-decoration:none;box-sizing:border-box;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;padding:0;}
#mb_login .login_links .rd_btn .txt {font-size:15px;}
#mb_login .btn_confirm {margin-top:16px;}
#mb_login .btn_confirm .rd_btn {width:100%;display:inline-flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none;text-decoration:none;box-sizing:border-box;font-family:inherit;}

#find_info #captcha {display:block;width:100%;margin:0;box-sizing:border-box; margin-top: 20px;}
#find_info #captcha legend {margin-bottom: 10px;}
#find_info #info_fs {margin-left:6px;margin-right:6px;}
#find_info #info_fs p {font-size:14px;margin-bottom:12px;letter-spacing:-0.5px;}
#find_info .rd_input {width:100%;}
#find_info .rd_input input {width:100%;box-sizing:border-box;}
#find_info .btn_confirm {display:flex;gap:8px;margin-top:16px;margin-left:6px;margin-right:6px;}
#find_info .btn_confirm .rd_btn {flex:1;appearance:none;-webkit-appearance:none;box-sizing:border-box;font-family:inherit;}

/* ===== 게시판 글쓰기(bo_w) - 디자인시스템(rd_) 폼 ===== */
#bo_w {margin:0 16px;}
#bo_w #container_title {margin:16px 0;}
#bo_w .tbl_wrap {margin:0;}
/* 입력칸: rd_input 전폭 */
#bo_w .rd_input {display:flex;width:100%;}
#bo_w .rd_input input {width:100%;box-sizing:border-box;}
/* 분류 select 전폭 */
#bo_w .rd_select {width:100%;box-sizing:border-box;}
/* 옵션 체크박스(공지/html/비밀글/메일) 가로 정렬 */
#bo_w .wr_option_box {display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;}
/* 본문 입력(에디터 미사용 시 textarea) */
#bo_w .wr_content textarea {width:100%;min-height:200px;padding:10px;border:1px solid #CCD1D7;border-radius:4px;box-sizing:border-box;color:#3B4248;line-height:1.6;}
#bo_w #char_count_desc {margin-bottom:8px;font-size:13px;color:#868E96;}
#bo_w #char_count_wrap {margin-top:6px;text-align:right;font-size:13px;color:#868E96;}
/* 파일 첨부 영역 간격 */
#bo_w .frm_file {margin-bottom:8px;}
#bo_w td .rd_input {margin-top:6px;}
/* 작성완료/취소 버튼 행 */
#bo_w .btn_confirm {display:flex;gap:8px;margin:16px 0; justify-content: center;}
#bo_w .btn_confirm .rd_btn {display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
/* 에디터 단축키 일람 버튼/패널 */
#bo_w .cke_sc {text-align:left;}
#bo_w .cke_sc_def {margin:0 0 8px;padding:12px;border:1px solid #E9ECEF;border-radius:8px;background:#F8F9FA;text-align:center;}
#bo_w .cke_sc_def dl {margin:0 0 10px;text-align:left;overflow:hidden;}
#bo_w .cke_sc_def dt {float:left;clear:left;width:40%;padding:5px 0;font-weight:bold;color:#495057;}
#bo_w .cke_sc_def dd {float:left;width:60%;margin:0;padding:5px 0;color:#495057;}
#bo_w .cke_sc_def .btn_cke_sc_close {margin:0 auto;}

/* ===== 검색 결과 페이지(search) ===== */
/* 상단 검색 영역 - 헤더/사이드메뉴와 동일한 rd_input + 검색아이콘 + X(초기화) */
#sch_res_detail {text-align:left; border:none; max-width:500px; margin:0 auto;}
#sch_res_detail .sch_opt {display:flex;gap:6px;margin:0 0 8px;}
#sch_res_detail .sch_opt .rd_select {flex:1;min-width:0;box-sizing:border-box;}
#sch_res_detail .sch_field {margin:0 0 10px;}
#sch_res_detail .sch_field .rd_input {display:flex;width:100%;}
#sch_res_detail .sch_field .rd_input input {width:100%;height:36px;line-height:36px;box-sizing:border-box;padding:0 58px 0 12px;}
#sch_res_detail .sch_field .rd_input .r_side .rd_icon {cursor:pointer;}
#sch_res_detail .sch_field .rd_input .r_side .delete  { margin-right: 5px; background-size:18px;}
#sch_res_detail .sch_sop {display:flex;align-items:center;justify-content:center;gap:20px;margin:0;}
#sch_res_detail .sch_sop label {margin-left: 5px;}
/* 검색 입력칸(헤더/사이드메뉴/검색페이지) placeholder 폰트 2px 축소 */
.h_menu .search .rd_input input::placeholder, .s_search .rd_input input::placeholder, #sch_res_detail .rd_input input::placeholder {font-size:14px;}

/* 검색 결과 영역 */
#sch_result {margin-bottom: 20px;}
#sch_result hr {display:none;}
#sch_result .empty_list {padding:40px 0;text-align:center;color:#9EA6AD;}
#sch_res_ov {margin:16px 0;padding:14px 16px;border:1px solid #E9ECEF;border-radius:10px;background:#F8F9FA;}
#sch_res_ov h2 {margin:0 0 8px;font-size:15px;color:#222;}
#sch_res_ov dl {display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 6px;}
#sch_res_ov dt {float:none;font-size:13px;}
#sch_res_ov dd {float:none;margin:0;font-size:13px;color:#222;}
#sch_res_ov .sch_word {color:#22b8cf;}
#sch_res_ov p {font-size:13px;}
#sch_res_board {display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;padding:0;list-style:none;}
#sch_res_board li {margin:0;}
#sch_res_board a {display:inline-flex;align-items:center;gap:4px;margin:0;padding:6px 12px;border:1px solid #E9ECEF;border-radius:16px;background:#fff;font-size:13px;color:#495057;line-height:1.2;letter-spacing:normal;}
#sch_res_board a strong {color:#495057;font-weight:600;}
#sch_res_board a.sch_on {border-color:#22b8cf;color:#22b8cf;}
#sch_res_board a.sch_on strong {color:#22b8cf;}
#sch_res_board .cnt_cmt {font-weight:normal;}
.sch_res_list {margin:0;padding:0;}
.sch_res_list > h2 {margin:16px 0 10px;padding:0 0 0 10px;border-left:3px solid #22b8cf;font-size:16px;}
.sch_res_list > h2 a {color:#222;font-size:17px;}
.sch_res_list ul {margin:0;padding:0;list-style:none;}
.sch_res_list li {position:relative;margin:0;padding:14px 0;border-bottom:1px solid #F1F3F5;}
.sch_res_list .sch_res_title {display:block;margin:0 26px 6px 0;color:#222;font-weight:600;font-size:15px;line-height:1.4;}
.sch_res_list .sch_res_title .cmt_def {display:inline-block;margin-right:4px;padding:1px 6px;border-radius:4px;background:#EEF6F8;color:#22b8cf;font-size:11px;font-weight:400;vertical-align:middle;}
.sch_res_list .sch_res_new {position:absolute;top:14px;right:0;}
.sch_res_list .sch_res_new .rd_icon {width:18px;height:18px;background-size:18px auto;}
.sch_res_list p {margin:0 0 6px;color:#495057;font-size:14px;line-height:1.5;}
.sch_res_list .sch_res_meta {display:flex;align-items:center;gap:8px;font-size:12px;color:#9EA6AD;}
.sch_more {margin:10px 0 0;padding:0;text-align:right;}
.sch_more a {color:#22b8cf;font-size:13px;line-height:1.4;}
.sch_more a strong {font-weight:600;font-size:inherit;}

/* ===== [2] 모바일 스킨 (구 style_mobile.css, 리셋부 제외) ===== */
input:focus{outline:none;}

/*common*/
.wrap {min-width:320px;width:100%;height:100%;}
/*snb*/
.snb{position:fixed;top:0;right:0;bottom:0;left:0;}
.snb>div{float:left;}
.snb_inner{overflow-y:auto;position:absolute;width:280px;height:100%;background-color:#333/*005487*/;}
/*snb_off 버튼*/
.exit {position:relative;width:60px;height:60px;/*background-color:rgba(0,0,0,.8);*/text-align:center;cursor:pointer;}
.exit i{font-size:36px;color:#fff;line-height:60px;}
/*side bar list */
.s_lnb{margin:5px 12px 10px;padding:10px 0px;border-top-left-radius:10px;border-bottom-right-radius:10px;background-color:#fff;clear:both;}
.s_lnb>li{position:relative;border-bottom:1px solid #d9d9d9;width:241px;margin:0 auto;}
.s_lnb>li .sub:after{content:"\f078";display:block;position:absolute;top:0;right:10px;font-family:fontawesome;font-size:14px;line-height:40px;color:#a9a9a9;cursor:pointer;}
.s_lnb>li.active .sub:after{content:"\f077";}
.s_lnb>li:last-child{border-bottom:none;}
.s_lnb a{display:block;padding:0 10px;font-size:13px;line-height:40px;color:#222;}
.s_lnb>li .sub li{padding-left:5px;background-color:#ddd;transition:all .4s ease;}
/* side bar 검색창 */
.s_search{width:253px;height:41px;margin:10px auto 20px;line-height:41px;}
.s_search input{float:left;width:219px;height:41px;padding:0 10px;border:1px solid #a9a9a9;border-radius:10px;box-sizing:border-box;line-height:31px;}
.s_search a{display:block;float:left;width:34px;height:31px;border:1px solid #a9a9a9;border-bottom-right-radius:10px;background-color:#fff;border-left:none;box-sizing:border-box;}
.s_search i{width:34px;height:31px;margin:0; font-size:17px;line-height:31px;text-align:center;color:#333;}
/**/
.join{margin:10px;padding:10px 20px;border-top:1px solid #fff;border-bottom:1px solid #fff;}
.join:after{content:"";display:block;clear:both;}
.join p{margin:5px 0 20px;color:#fff;text-align:center;font-weight:normal;}
.join li{float:left;width:33.33%;text-align:center;}
.join a{font-size:12px;color:#fff;}
.join i{font-size:32px;color:#fff;}
/**/
.snb .logo h1{font-size:16px;color:#fff;text-align:center;line-height:36px;}

/*snb 기능*/
/* 닫힐 때 z-index 를 -1 로 떨구면 슬라이드아웃(0.4s) 중 패널이 콘텐츠 뒤로 숨어 뒷배경이 보임 → z-index 는 고정, visibility 전환을 슬라이드 종료 후로 지연 */
.snb{background-color:transparent;z-index:200;visibility:hidden;transition:background-color .4s ease, visibility 0s linear .4s;}
.snb.active{background-color:rgba(0,0,0,.5);visibility:visible;transition:background-color .4s ease, visibility 0s linear 0s;}
.snb .snb_inner{transform:translateX(-100%);transition:transform .4s ease;}
.snb.active .snb_inner{transform:translateX(0%);}
.sub li{/*display:none;*/opacity:0;visibility:hidden;height:0;}
.s_lnb>li.active .sub li{/*display:block;*/opacity:1;visibility:visible;height:40px;}

/*gnb*/
/* 상단 유틸바 : PC/모바일 모두 시안(#22b8cf) 배경으로 통일 */
.h_gnb{width:100%;height:33px;line-height:33px;background-color:#22b8cf;}
.h_gnb_inner{width:100%;margin:0 auto;}
.h_gnb ul{height:33px; display: flex; align-items: center; justify-content: flex-end;} 
.h_gnb li{float:left; height: 33px;}
.h_gnb a{position:relative;padding: 5px 10px;font-size:12px;color:#fff;}
.h_gnb a i{padding:0 5px;color:#fff;}
/* 항목 구분점(•) : 선행 방식(각 항목 앞). 첫 항목/모바일 첫 노출 항목은 숨겨 앞·뒤 점 잔여 없음 */
.h_gnb li a:before{content:"•";margin-right:6px;color:rgba(255,255,255,.6);font-size:11px;vertical-align:middle;}
.h_gnb li:first-child a:before{display:none;}
.h_gnb li.gnb_m_first a:before{display:none;}
/* 모바일(≤1024px) : PC 전용 항목 숨김 */
.h_gnb li.gnb_pc{display:none;}
/*h_menu*/
.h_menu{}
.h_menu:after{content:""; display:block;clear:both;}
.h_menu div {float:left;height:57px;padding:0 15px;font-size:14px;font-weight:bold;line-height:57px;}
.h_menu .menu_btn i,.h_menu .search_btn i{margin-right:5px;}
.h_menu .search_btn{float:right;width:auto;}
.h_logo{width:calc(100% - 180px); text-align:center;}
.h_logo h1{height:57px;display: flex; align-items: center; justify-content: center;}
.h_logo img{width:100%;max-width:217px;max-height:45px;}
/*h_menu - search*/
.h_menu .search{width:100%;height:31px;line-height:31px;margin-bottom:16px;box-sizing:border-box;}
.search input{float:left;width:calc(100% - 33px);height:31px;padding:0 5px;box-sizing:border-box;line-height:31px;}
.h_menu .search .times{margin-left:-34px;background-color:transparent;color:#999;}
.h_menu .search i{width:34px;height:31px;margin-left:-5px;background-color:#333;font-size:17px;color:#fff;line-height:31px;text-align:center;}


/*h_menu - search 기능 */
.h_menu .search{/*display:none;*/opacity:0;visibility:hidden;height:0;margin-bottom:0px;}
.search_btn.active ~ .search{/*display:block;*/opacity:1;visibility:visible;height:31px;margin-bottom:16px;}


/*푸터*/
.footer{width:100%; }
.f_container{width:100%; margin:0 auto; color:#e4e4e4;}
.f_container:after{content:""; display:block; clear: both;}
.f_lnb{height:31px;border-top:1px solid #ebebeb;border-bottom:1px solid #ebebeb;}
.f_lnb:after{content:"";display:block;clear:both;}
.f_lnb li{float:left;position:relative;width:20%;text-align:center;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.f_lnb li:after{content:"";display:block;position:absolute;top:50%;left:0;width:1px;height:12px;margin-top:-6px;background:#d0d0d0;}
.f_lnb li:first-child:after{display:none;}
.f_menu {padding:15px 0; line-height:16px;}
.f_lnb a{display:block;font-size:12px;font-weight:bold;line-height:31px;}
.address,.copylight{font-size:11px; color:#222; font-weight:100;font-weight:bold;text-align:center;}

/*slider*/
.slider {position:relative;}
.s_images{overflow:hidden;position:relative;width:100%;height:150px; }
.s_img{float:left;height: 150px;background-position:center;background-size:cover;text-align:center;}
/* .bxslider .s_img:nth-child(2){background-image:url(../images/main_banner/visual_01re.jpg);}
.bxslider .s_img:nth-child(3){background-image:url(../images/main_banner/visual_02re.jpg);}
.bxslider .s_img:nth-child(4){background-image:url(../images/main_banner/visual_03re.jpg);}
.bxslider .s_img:nth-child(5){background-image:url(../images/main_banner/visual_04.jpg);} */
.bx-wrapper{overflow:hidden;}
.bx-pager {position:absolute;bottom:30px;left:50%;margin-left:-38px;}
.bx-pager-item{float:left;}
.bx-pager-item a{display:block;width:12px; height:12px;margin:0 5px;border-radius:50%;background-color:#fff;cursor:pointer;  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);}
.bx-pager-item a.active{background-color:#22b8cf;}
.bx-controls-direction {position:absolute;top:0;left:50%;width:100%; height:30px;transform:translateX(-50%); }
.bx-controls-direction a{position:absolute;top:50%;width:60px;height:60px;margin-top:-30px;text-align:center;}
.bx-controls-direction a i{cursor:pointer;line-height:60px;font-size:60px;color:#e4e4e4;transition:all .4s ease;}
.bx-controls-direction a i:hover{color:#22b8cf;}
.bx-prev {left:0;display:none;}
.bx-next{right:0;display:none;}

/*icon link*/
.icon_link{margin:5px 0;}
.icon_link:after{content:""; display:block;clear:both;}
.icon_link i{color:#fff;}
.icon_link a{overflow:hidden;float:left;display: inline-flex;justify-content:center;align-items:center;margin-right:6px;width:calc((100% - 18px)/4);height:95px;text-align:center;background:#f5f6f8;}
.icon_link a:last-child{margin-right:0;}
.icon_link a img{mix-blend-mode: multiply;}

/* .site_link.renewal .icon_link a:nth-child(1) img{width:142.5px;}
.site_link.renewal .icon_link a:nth-child(2) img{width:162px;}
.site_link.renewal .icon_link a:nth-child(3) img{width:114px;}
.site_link.renewal .icon_link a:nth-child(4) img{width:171px;} */

/*news*/

.re_title{position:relative;height:40px;padding-left:26px;border-bottom:1px solid #ebebeb;font-family: 'NanumSquare', sans-serif !important;font-size:18px;color:#848484;font-weight:bold;line-height:40px;cursor:pointer;background:#f5f6f8;}
.re_title:after{content:"\f0fe";display:block;position:absolute;top:0;left:4px;font-family:fontawesome;font-size:18px;line-height:40px;color:#848484;}
.re_title.active{color:#22b8cf;background:#fff;border-bottom:1px solid #22b8cf;}
.re_title.active:after{content:"\f146";color:#22b8cf;}
/* .recent:last-child  .re_title{border-bottom:1px solid #ebebeb;} */
.re_title i{margin-right:5px; font-size:18px;line-height:40px;}
.re_content{padding:15px; border-top:1px solid #ddd;font-size:14px;transition:height .4s ease,opacity .4s ease .2s;}
.re_content li{padding:10px 0;border-bottom:1px solid #e9ecef;}
.re_content li:last-child{border-bottom:none;}
.re_content li:after{content:"";display:block;clear:both;}
.re_content p{overflow:hidden;text-overflow:ellipsis;white-space: nowrap;line-height:24px;}
/* .re_content li p:first-child{width:60%; float:left;}
.re_content li p:last-child{float:right;} */
.more {margin-top:20px;margin-right:0;text-align:right;}
.more a{display:inline-block;padding:6px; background-color:#22b8cf;font-size:12px;color:#fff;}
/*news 기능 */
.re_content{/*display:none;*/opacity:0;visibility:hidden;height:0px;padding:0;border-top:none;}
.re_content p{line-height:0;}
.re_content .more{margin-top:0;height:0;}
.re_title.active + .re_content{/*display:block;*/opacity:1;visibility:visible;height:auto;/*border-top:1px solid #ddd;*/}
.re_title.active + .re_content p{line-height:24px;}
.re_title.active + .re_content li{position:relative;padding-left:25px;letter-spacing: -0.04px;}
.re_title.active + .re_content li::before{content: "";position:absolute;top:18px;left:10px;width:5px;height: 5px;background: #22b8cf;border-radius: 50%;}
.re_title.active + .re_content .more{margin-top:4px;height:40px;}
/*banner*/
.banner {padding:13px 15px;}
.banner:after{content:"";display:block;clear:both;}
.banner>div{float:left;width:50%;cursor:pointer;}
.banner>div:last-child div{float:right;}
.banner .b_btn{height:27px;border:1px solid #ebebeb;font-size:12px;line-height:27px;text-align:center;}
.banner>div>div{width:calc(100% - 5px);}

/*sub1*/
/*컨테이너*/
.container .c_inner{width:100%;min-height:600px;margin:0 auto;}
.container .c_inner:after{content:"";display:block;clear:both;}

#ctt_con img {max-width:100%}



.map_link h3{margin:20px 20px 0;padding-bottom:16px;font-family: 'NanumSquare', sans-serif !important;font-size:20px;color:#212121;}
.map_link .area_list{margin:0 auto 50px;width:calc(100% - 40px);font-size:0;border:1px solid #dee2e6;box-sizing:border-box;}
.map_link .area_list li{display:inline-block;width:50%;text-align:center;border-top:1px solid #dee2e6;box-sizing:border-box;}
.map_link .area_list li:nth-child(1),.map_link .area_list li:nth-child(2){border-top:none;}
.map_link .area_list li:nth-child(2n-1){border-right:1px solid #dee2e6;}
.map_link .area_list li a{display:block;padding:15px 0;font-size:16px;color:#212121;}


#bo_list_total {min-width:120px;}
#bo_v_top .bo_v_nb{width: 100%;text-align:center;}
#bo_v_top .bo_v_nb li{float: initial;display:inline-block;font-size:0;}
#bo_v_top .bo_v_nb li a{font-size:14px !important;}
#bo_v_top .bo_v_com{padding-top:4px;width: 100%;text-align:center;font-size:0;}
#bo_v_top .bo_v_com li{float: initial;display:inline-block;}
#bo_v_top .bo_v_com li a{font-size:14px !important;}

#bo_v_bot {display: flex; justify-content: space-between; flex-direction: row;}
#bo_v_bot .bo_v_nb{text-align:center;}
#bo_v_bot .bo_v_nb li{float: initial;display:inline-block; flex:0 0 auto;}
#bo_v_bot .bo_v_nb li a{font-size:14px !important;}
#bo_v_bot .bo_v_com li{float: initial;display:inline-block;}
#bo_v_bot .bo_v_com li a{font-size:14px !important;}


/* ===== [3] 커스텀 / 회원·게시판 폼 / PC 보강 (구 common.css) ===== */
/* ---- 공통 : 컨텐츠 최대폭 중앙 정렬 ---- */
.wrap .h_gnb_inner { max-width:1200px; margin:0 auto; }
.wrap .h_menu { max-width:1200px; margin:0 auto; }
.wrap .container { width:100%; box-sizing:border-box; }
.wrap .footer .f_container { max-width:1200px; margin:0 auto; box-sizing: border-box; }

/* ---- 모바일 기본 : PC 전용 요소 숨김 (1024px 이하) ---- */
.wrap .h_lnb { display:none; }
.wrap .lnb_side { display:none; }
.wrap .article .route { display:none; }

/* ---- 모바일 : 서브페이지 본문 좌우 여백 (내용이 화면 가장자리에 붙지 않도록) ---- */
.wrap .container .c_inner { padding:20px 16px 40px; box-sizing:border-box; }
/* ---- 모바일 : 상단 유틸바가 좁은 화면에서 넘치지 않도록 부가 메뉴 숨김 (PDF 개선안 기준) ---- */
.wrap .h_gnb { overflow:hidden; }

/* ---- 모바일 메인(index) : style_mobile.css 가 renewal.css(개선안) 를 덮어써서 깨진 부분 복원 ---- */
/* 제휴 로고 : 4열 그리드 (style_mobile 의 float/calc 리셋 → 18px 로 찌그러지던 문제 해결) */
.wrap .news .site_link .icon_link { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:10px 0; }
.wrap .news .site_link .icon_link a { overflow:hidden; float:none; display:flex; align-items:center; justify-content:center; width:auto; height:64px; margin:0; padding:6px; border:1px solid #e9ecef; border-radius:10px; background:#fff; box-sizing:border-box; }
.wrap .news .site_link .icon_link a picture { display:contents; } /* picture 를 흐름에서 제거해 img 가 a 의 직접 flex 아이템처럼 동작 */
.wrap .news .site_link .icon_link a img { max-width:92%; max-height:74%; width:auto; height:auto; mix-blend-mode:multiply; }
/* 전국 진로진학 정보센터 : 4열 지역 그리드 (style_mobile 의 2열/글자세로겹침 리셋) */
.wrap .news .map_link .area_list { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; width:100%; margin:0; border:none; font-size:14px; }
.wrap .news .map_link .area_list li { display:block; width:auto; border:none; text-align:center; }
.wrap .news .map_link .area_list li a { display:block; width:auto; padding:10px 2px; font-size:13px; color:#222; white-space:nowrap; }
.wrap .news .map_link .area_list li a:hover { color:#22b8cf; }

/* ---- 메인 : 모바일 레이아웃은 style_mobile.css / renewal.css 가 담당 (슬라이더 150px, 로고·지도 목록) ---- */
/* 슬라이더 이미지가 부모 밖으로 넘치지 않도록만 보정 */
.wrap .slider.renewal .s_images { max-width:100%; }
/* 메인 슬라이드 배경 : 모바일 기본(visual_mo_*). PC 는 하단 @media(min-width:1025px)에서 visual_*re 로 교체 */
.wrap .slider.renewal .s_img.slide_1 { background-image:url('../images/main_banner/visual_mo_01.jpg'); }
.wrap .slider.renewal .s_img.slide_2 { background-image:url('../images/main_banner/visual_mo_02.jpg'); }
.wrap .slider.renewal .s_img.slide_3 { background-image:url('../images/main_banner/visual_mo_03.jpg'); }

/* ---- 메인 최신글 위젯 (.re_tab/.ta_title/.ta_content — script.js main_tab 이 열림 전환) ---- */
/* 모바일(≤1024px) : 아코디언 (구 모바일 사이트와 동일). 콘텐츠를 문서 흐름에 유지해 아래 제휴로고/지도와 겹치지 않게 함. PC 탭 레이아웃은 하단 @media(min-width:1025px) 참고 */
.wrap .news .recent_post { margin:16px; }
.wrap .news .recent_post .re_tab { margin-bottom:10px; border:1px solid #dee2e6; border-radius:8px; background:#fff; overflow:hidden; }
.wrap .news .recent_post .ta_title { display:flex; align-items:center; justify-content:space-between; padding:0 16px; background:#f8f9fa; font-size:16px; font-weight:700; line-height:42px; color:#222; cursor:pointer; background: #fff; border-bottom: 1px solid #E9ECEF;  background: #F5F6F8;  color: #495057;}
.wrap .news .recent_post .ta_title .re_toggle { flex:0 0 auto;  background-size:20px auto;} /* 디자인시스템 rd_icon (plus_gray700) */
.wrap .news .recent_post .ta_title.active { background: #fff; color:#22b8cf; border-bottom:1px solid #22b8cf; }
.wrap .news .recent_post .ta_title.active .re_toggle { background-image:url('../img/design/ico_minus_blue.svg'); } /* 열림 상태 : minus(흰색) 아이콘 */
.wrap .news .recent_post .ta_content { display:none; padding:2px 16px 12px; box-sizing:border-box; font-size:15px; color:#414141; }
.wrap .news .recent_post .ta_content ul { padding-top:6px; }
.wrap .news .recent_post .ta_content li { padding:14px 0; border-bottom:1px solid #e9ecef; }
.wrap .news .recent_post .ta_content li a { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.wrap .news .recent_post .ta_content li .re_subject { overflow:hidden; position:relative; flex:1; min-width:0; margin:0; padding-left:14px; white-space:nowrap; text-overflow:ellipsis; color:#222; }
.wrap .news .recent_post .ta_content li .re_subject:before { content:""; position:absolute; top:50%; left:2px; transform:translateY(-50%); width:5px; height:5px; background:#22b8cf; border-radius:50%; }
.wrap .news .recent_post .ta_content li .re_flags { flex:0 0 auto; display:inline-flex; align-items:center; gap:4px; }
.wrap .news .recent_post .ta_content li .re_date { flex:0 0 auto; margin:0; font-size:13px; color:#9EA6AD; }
.wrap .news .recent_post .ta_content .more { clear:both; margin:0; padding-top:10px; text-align:right; }
.wrap .news .recent_post .ta_content .more a { display:inline-flex; align-items:center; height:auto; padding:4px 6px; background:none; font-size:13px; font-weight:700; color:#868E96; }

.pc_hidden {display: none;}

.reply {display: flex; align-items: center; gap:5px; margin-top: 10px;}
.reply label {cursor: pointer;}

input::placeholder {font-size: 14px;}

/* ---- 모바일 : 제휴로고(icon_link)를 슬라이더 바로 아래(최신글 위)로 이동 — 구 사이트 순서 ---- */
/* site_link 를 display:contents 로 풀어 icon_link/map_link 를 .news 의 flex 아이템으로 승격 → order 로 재배치 */
@media (max-width:1024px) {
    .wrap .news { display:flex; flex-direction:column; }
    .wrap .news .site_link { display:contents; }
    .wrap .news .site_link .icon_link { order:1; }
    .wrap .news .recent_post { order:2; }
    .wrap .news .site_link .map_link { order:3; }
}

/* =========================================================================
 * PC (1025px 이상)
 * ========================================================================= */
@media (min-width:1025px) {

    /* 모바일 전용 요소 숨김 : 햄버거 / 검색버튼 / 슬라이드 사이드메뉴 */
    .wrap .snb { display:none; }
    .wrap .h_menu .menu_btn { display:none; }
    .wrap .h_menu .search_btn { display:none; }

    /* 상단 유틸 gnb : 우측 정렬 + 시안(#22b8cf) 배경으로 모바일과 통일 */
    .wrap .h_gnb { height:auto; line-height:normal; background:#22b8cf; }
    .wrap .h_gnb .h_gnb_inner { max-width:1200px; margin:0 auto; }
    .wrap .h_gnb .h_gnb_inner ul { float:none; height:auto; display:flex; justify-content:flex-end; align-items:center; gap:10px; padding:7px 15px; }
    .wrap .h_gnb .h_gnb_inner ul li { float:none; height: auto; }
    .wrap .h_gnb .h_gnb_inner ul li.gnb_pc { display:block; } /* PC : 전용 항목 노출 */
    .wrap .h_gnb .h_gnb_inner ul li a { padding:0; font-size:13px; color:#fff; }
    .wrap .h_gnb .h_gnb_inner ul li a:hover { color:#e6fbff; }
    .wrap .h_gnb .h_gnb_inner ul li.gnb_m_first a:before { display:inline-block; } /* PC : 앞 항목이 있으므로 구분점 복원 */
    .wrap .h_gnb .rd_icon.login { filter:brightness(0) invert(1); } /* 시안 배경이므로 흰색으로 반전 */

    /* 로고 + 가로메뉴 + 검색 : 한 줄 배치. 모바일 .h_menu div{float;height:57;line-height:57;bold} 리셋 */
    .wrap .h_menu { flex-wrap:nowrap; align-items:center; height:auto; padding:12px 15px; box-sizing:border-box; }
    .wrap .h_menu > div { float:none; height:auto; line-height:normal; font-weight:normal; padding:0; }
    .wrap .h_menu .h_logo { order:1; flex:0 0 auto; }
    .wrap .h_menu .h_logo img { max-width:220px; }
    .wrap .h_menu .h_lnb { order:2; flex:1; display:flex; justify-content:center; align-items:center; gap:10px; margin:0; }
    /* 검색창: style_mobile.css .h_menu .search{opacity:0;visibility:hidden;height:0} 리셋 (PC 상시 노출) */
    .wrap .h_menu .search { order:3; flex:0 0 220px; width:220px; height:auto; opacity:1; visibility:visible; margin-bottom:0; }

    /* PC 가로 1차 메뉴 (모바일 3열 float/박스 리셋) */
    .wrap .h_lnb { margin:0; }
    .wrap .h_lnb li { float:none; width:auto; }
    .wrap .h_lnb > li { position:relative; }
    .wrap .h_lnb > li > a { display:block; height:auto; padding:14px 22px; border:none; font-size:20px; font-weight:700; line-height:normal; letter-spacing:-0.6px; text-align:center; color:#212121; transition:color .3s ease; }
    .wrap .h_lnb > li > a:hover, .wrap .h_lnb > li.on > a { color:#22b8cf; }

    /* PC 2차 드롭다운 (script.js 가 mouseenter 시 li 에 .on 부여) */
    /* width:auto !important — script.js h_sub_w() 가 인라인 width:1px 를 넣으므로 덮어씀 */
    /* display 대신 opacity/visibility/transform 사용 → 페이드+슬라이드다운 트랜지션(구 사이트와 동일) */
    .wrap .h_lnb > li > .sub { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(-10px); width:auto !important; min-width:160px; padding:8px 0; background:#fff; border:1px solid #e5e5e5; box-shadow:0 6px 16px rgba(0,0,0,.08); opacity:0; visibility:hidden; transition:opacity .4s ease, transform .4s ease, visibility .4s; z-index:900;  pointer-events: none;}
    .wrap .h_lnb > li.on > .sub { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);  pointer-events: auto;}
    /* style_mobile.css .sub li{opacity:0;visibility:hidden;height:0} (모바일 아코디언용) 를 PC 드롭다운에서 리셋 */
    .wrap .h_lnb > li > .sub > li { float:none; width:auto; opacity:1; visibility:visible; height:auto; }
    .wrap .h_lnb > li > .sub > li > a { font-family: 'NanumSquare', sans-serif !important;display:block; height:auto; padding:0 20px; height: 40px; line-height: 40px; font-size:16px; font-weight:400; color:#333; white-space:nowrap; }
    .wrap .h_lnb > li > .sub > li > a:hover {  font-weight:700; }

    /* 컨텐츠 영역 : 좌측 서브메뉴 + 본문 2단 */
    .wrap .container .c_inner { max-width:1200px; margin:0 auto; padding:30px 15px 60px; box-sizing:border-box; }
    .wrap .container .section { display:flex; align-items:flex-start; gap:40px; }
    .wrap .lnb_side { display:block; flex:0 0 200px; }
    .wrap .lnb_side .s_title h2 { margin:0; font-size:18px; margin-bottom: 20px; font-weight:bold; text-align:center; color:#222; }
    .wrap .lnb_side .s_list li { position:relative; border-top:1px solid #e4e4e4; }
    .wrap .lnb_side .s_list li a { display:block; height:40px; padding:0 20px; font-size:14px; font-weight:normal; line-height:40px; color:#222; box-sizing:border-box; }
    .wrap .lnb_side .s_list li:hover { border-color:#555; background-color:#555; }
    .wrap .lnb_side .s_list li:hover a, .wrap .lnb_side .s_list li.on a { font-weight:bold; color:#fff; }
    .wrap .lnb_side .s_list li.on { border-color:#222; background-color:#222; }
    .wrap .lnb_side .s_list li.on a:after { content:">"; display:block; position:absolute; top:0; right:15px; }
    .wrap .article { flex:1; min-width:0; margin-top:10px; }

    /* 우측 상단 경로(breadcrumb) */
    .wrap .article .route { display:block; margin-bottom:40px; padding-bottom:15px; border-bottom:1px solid #ddd; text-align:right; font-size:13px; color:#666; }
    .wrap .article .route .rd_icon.home { margin-right:3px; vertical-align:middle; }

    /* ===== 메인 (index) PC 레이아웃 : theme/basic 이식 ===== */

    /* 슬라이더 : 모바일 150px → PC 380px */
    .wrap .slider.renewal .s_images { height:380px; }
    .wrap .slider.renewal .s_img { height:380px; line-height:380px; }
    /* PC 슬라이드 배경 : visual_*re (모바일 visual_mo_* 교체) */
    .wrap .slider.renewal .s_img.slide_1 { background-image:url('../images/main_banner/visual_01re.jpg'); }
    .wrap .slider.renewal .s_img.slide_2 { background-image:url('../images/main_banner/visual_02re.jpg'); }
    .wrap .slider.renewal .s_img.slide_3 { background-image:url('../images/main_banner/visual_03re.jpg'); }

    /* 본문 : 최신글 탭(좌) + 사이드 로고/지도(우) 2단 */
    .wrap .news { display:flex; align-items:flex-start; gap:30px; max-width:1200px; margin:30px auto; padding:0 15px; box-sizing:border-box; }
    .wrap .news .recent_post {  position:relative; display:flex; min-width:0; min-height:430px; margin:0; flex:1; }
    /* 사이드 = 제휴로고(중앙 세로컬럼) + 정보센터(우) : php5 3단 구성 */
    .wrap .news .site_link {  min-width:0; display:flex; align-items:flex-start; gap:24px; flex-shrink: 1; }

    /* 최신글 탭 : PC 는 상단 탭 헤더(가로 4분할) + 하단 오버레이 콘텐츠. 모바일 아코디언 스타일 리셋 */
    .wrap .news .recent_post .re_tab { flex:1; margin:0; border:none; border-radius:0; background:none; overflow:visible; }
    .wrap .news .recent_post .ta_title { display:block; padding:0 22px; border-bottom:1px solid #adb5bd; background:transparent; font-size:16px; font-weight:400; text-align:center; line-height:49px; color:#495057; }
    .wrap .news .recent_post .ta_title .re_toggle { display:none; }
    .wrap .news .recent_post .ta_title.active { border-bottom:2px solid #22b8cf; background:transparent; font-weight:800; color:#22b8cf; }
    .wrap .news .recent_post .ta_content { position:absolute; left:0; right:0; margin:0; padding:0; font-size:16px; }

    /* 제휴 로고 : 중앙 세로 컬럼 (1열 4행) */
    /* ※ style_mobile.css(.icon_link a{float:left;width:25%;height:95px;background:#f5f6f8}) 가 renewal 뒤에 로드되어 이기므로 여기서 전부 리셋 */
    .wrap .news .site_link .icon_link { flex:0 0 180px; display:grid; grid-template-columns:1fr; gap:12px; margin:0; }
    .wrap .news .site_link .icon_link a { float:none; display:flex; align-items:center; justify-content:center; width:auto; height:66px; margin:0; border:1px solid #E9ECEF; border-radius:10px; background:#fff; box-sizing:border-box; }
    .wrap .news .site_link .icon_link a img { max-width:88%; max-height:64%; width:auto; height:auto; }
    /* 전국 진로진학 정보센터 : 우측 컬럼 (※ style_mobile 이 renewal 을 덮으므로 h3·li a 는 값 전부 명시) */
    .wrap .news .site_link .map_link { flex:1; min-width:0; margin:0; padding:20px; max-width:380px; }
    .wrap .news .map_link h3 { margin:0 0 25px; padding:0 0 0 10px; border-left:3px solid #22b8cf; font-size:18px; color:#222; line-height:1.2; }
    .wrap .news .map_link .map_inner { display:flex; align-items:flex-start; gap:16px; }
    .wrap .news .map_link .area_list { flex:0 0 auto; display:grid; grid-template-columns:repeat(2, 1fr); gap:6px; width:auto; margin:0; border:none; }
    .wrap .news .map_link .area_list li { display:block; width:auto; border:none; }
    .wrap .news .map_link .area_list li a { display:flex; align-items:center; justify-content:center; padding:8px 4px; font-size:13px; color:#495057;  width: 58px;}
    .wrap .news .map_link .area_list li a:hover { color:#22b8cf; }
    .wrap .news .map_link .area_map { flex:1; min-width:0; text-align:center; }
    .wrap .news .map_link .area_map img { max-width:100%; height:auto; }

    /* 푸터 */
    .wrap .footer .f_container { display:flex; align-items:center; gap:40px; padding:40px 15px; }
    .wrap .footer .f_lnb { display:flex;  margin-bottom:10px; }
    .wrap .footer .f_lnb li { flex:0 0 auto; }
}

/* =========================================================================
 * 로그인 (bbs/login.php) - 디자인시스템 rd_ 컴포넌트 (PC/모바일 공통, _head.sub 단독)
 * ========================================================================= */
#mb_login { max-width:440px; margin:0 auto; padding:30px 16px 60px; box-sizing:border-box; }
#mb_login .mb_login_title { margin:0 0 20px; font-size:20px; font-weight:700; color:#222; }
#mb_login #login_frm { margin-bottom:16px; }
#mb_login #login_frm .rd_input { display:flex; width:100%; margin-bottom:8px; }
#mb_login #login_frm .rd_input input { width:100%; height:44px; line-height:44px; padding:0 12px; background:#f7f8fa; border-color:#e5e8eb; box-sizing:border-box; }
#mb_login .login_auto { margin:12px 0 14px; }
#mb_login .btn_login_submit { width:100%; height:48px; }
#mb_login .btn_login_submit .txt { font-size:16px; font-weight:600; }
#mb_login .login_info { margin-bottom:16px; padding:18px 16px; background:#f8f9fa; border:1px solid #eceef0; border-radius:8px; }
#mb_login .login_info h2 { margin:0 0 10px; font-size:15px; font-weight:700; color:#222; }
#mb_login .login_info p { margin:0 0 16px; font-size:13px; line-height:1.6; color:#868e96; }
#mb_login .login_info_btns { display:flex; gap:8px; }
#mb_login .login_info_btns .rd_btn { flex:1; height:40px; padding:0; }
#mb_login .btn_confirm .rd_btn { width:100%; height:46px; }

/* =========================================================================
 * 회원가입 약관 동의 (bbs/register.php)
 * ========================================================================= */
#mb_register { max-width:760px; margin:0 auto; }
#mb_register .register_desc { margin:0 0 20px; padding:14px 16px; background:#fff4f4; border:1px solid #ffd9d9; border-radius:8px; font-size:14px; font-weight:600; color:#e03131; text-align:center; line-height:1.5; }
#mb_register section { margin-bottom:24px; }
#mb_register section h2 { margin:0 0 10px; font-size:17px; font-weight:700; color:#222; }
#mb_register .term_box {border:1px solid #ddd; width:100%; height:180px; box-sizing:border-box; background:#f8f9fa; resize:none; font-size: 13px; }
#mb_register .fregister_agree { margin-top:12px; text-align:right; }
#mb_register .fregister_agree .rd_checkbox { display:inline-flex; }
#mb_register .private_table { width:100%; overflow-x:auto; }
#mb_register .private_table table { width:100%; border-collapse:collapse; table-layout:fixed; }
#mb_register .private_table th { padding:12px 8px; background:#f2f4f6; border:1px solid #e5e8eb; font-size:14px; font-weight:600; color:#495057; text-align:center; }
#mb_register .private_table td { padding:12px 10px; border:1px solid #e5e8eb; font-size:13px; color:#495057; text-align:center; word-break:keep-all; }
#mb_register .btn_confirm { margin-top:10px; }
#mb_register .btn_register_submit .txt { font-size:16px; font-weight:600; }

/* =========================================================================
 * 공통 회원/게시판 폼 (그누보드 .mbskin / .tbl_frm01 / .frm_input) 디자인시스템 이식
 *  - 적용: register_form, member_confirm, password, profile, write, qawrite,
 *          memo_form, formmail, register_email, scrap_popin 등
 * ========================================================================= */
.mbskin { margin:0 auto; }
.mbskin > h1 { margin:0 0 20px; font-size:20px; font-weight:700; color:#222; }

/* 폼 테이블 (라벨 좌 / 입력 우) */
.tbl_frm01 { margin-bottom:24px; }
.tbl_frm01 caption { padding:0 0 10px; font-size:16px; font-weight:700; color:#22b8cf; text-align:left; display: none;}
.tbl_frm01 table { width:100%; border-collapse:collapse; border-top:2px solid #495057; table-layout:fixed; }
.tbl_frm01 th { width:110px; padding:14px 12px; background:#f8f9fa; border-bottom:1px solid #e9ecef; font-size:14px; font-weight:600; color:#495057; text-align:left; vertical-align:middle; word-break:keep-all; }
.tbl_frm01 td { padding:10px 12px; border-bottom:1px solid #e9ecef; font-size:14px; color:#495057; vertical-align:middle; }
.tbl_frm01 .frm_info { display:block; margin-bottom:6px; font-size:12px; line-height:1.5; color:#868e96; }

/* 입력요소 (디자인시스템 rd_input 룩) */
.mbskin .frm_input, .tbl_frm01 .frm_input { height:40px; padding:0 12px; border:1px solid #ccd1d7; border-radius:4px; background:#fff; font-size:15px; color:#3b4248; box-sizing:border-box; vertical-align:middle; }
.tbl_frm01 .frm_input[type=file] {border:none;  height: auto; padding-left: 0; margin-bottom: 0;}
.mbskin .frm_input:focus, .tbl_frm01 .frm_input:focus { border-color:#5e666e; outline:none; }
.tbl_frm01 td .frm_input { width:100%; max-width:100%; }
.tbl_frm01 td .frm_input[size="5"], .tbl_frm01 td .frm_input[size="6"] { width:120px; }
.tbl_frm01 .frm_address { display:block; width:100%; margin-top:6px; }
/* 입력 아래 안내문구(예)/공식명칭 등) : 입력과 붙지 않게 상단 간격 */
.tbl_frm01 .frm_hint { display:block; margin-top:6px; font-size:12px; line-height:1.5; color:#868e96; }
.tbl_frm01 td .frm_address + label { display:block; margin-top:4px; font-size:12px; color:#868e96; }
/* 우편번호 입력 + 주소검색 버튼 한 줄 정렬 (버튼 margin-top 으로 어긋나던 문제 해결) */
.tbl_frm01 .zip_search { display:flex; gap:6px; align-items:center; margin-bottom:6px; }
.tbl_frm01 .zip_search .frm_input { width:120px; flex:0 0 auto; }
.tbl_frm01 .zip_search .btn_frmline { margin:0; flex:0 0 auto; }
.tbl_frm01 select { height:40px; padding:0 8px; border:1px solid #ccd1d7; border-radius:4px; background:#fff; font-size:14px; color:#3b4248; box-sizing:border-box; }
.tbl_frm01 textarea { width:100%; min-height:90px; padding:10px 12px; border:1px solid #ccd1d7; border-radius:4px; font-size:14px; color:#3b4248; box-sizing:border-box; resize:vertical; }
/* 라디오/체크박스 : frm_input 박스 스타일(높이40/테두리) 무효화 → 네이티브 인라인 컨트롤로 표시 (성별 라디오가 큰 박스로 커지던 문제 해결) */
.tbl_frm01 input[type=checkbox], .tbl_frm01 input[type=radio],
.mbskin input[type=checkbox], .mbskin input[type=radio] { width:auto; height:auto; min-height:0; padding:0; border:0; border-radius:0; background:none; vertical-align:middle; margin-right:4px; }
/* 디자인시스템 rd_radio/rd_checkbox 컴포넌트 : 위 리셋이 input 을 다시 보이게 하므로 재차 숨김(디자인 컨트롤은 label::before 로 렌더) */
.tbl_frm01 .rd_radio input[type=radio], .tbl_frm01 .rd_checkbox input[type=checkbox],
.mbskin .rd_radio input[type=radio], .mbskin .rd_checkbox input[type=checkbox] { position:absolute; width:1px; height:1px; margin:0; visibility:hidden; }
.tbl_frm01 td .rd_radio, .tbl_frm01 td .rd_checkbox { vertical-align:middle; }
.tbl_frm01 td .rd_radio + .rd_radio { margin-left:20px; } /* 성별 남자/여자 간격 */
.tbl_frm01 input[type=file] { max-width:100%; font-size:13px; }
.mbskin .reg_profile_notice { margin:0 0 7px 2px; font-size:13px; font-weight:600; color:#22b8cf; } /* 자기소개 '전공과목 필수 입력' 안내 (인라인 style 대체) */

/* 라인 버튼 (주소검색 / 본인확인) */
.btn_frmline { height:40px; padding:0 14px; margin:6px 0 0 6px; border:1px solid #22b8cf; border-radius:4px; background:#fff; font-size:13px; color:#22b8cf; cursor:pointer; vertical-align:middle; white-space:nowrap; }
.btn_frmline:hover { background:#f5fcfd; }

/* 하단 확인/취소 버튼 영역 (그누보드 폼 공통 : .mbskin / qawrite / write 등) */
.btn_confirm { display:flex; gap:8px; margin-top:10px;justify-content: center; }
.btn_confirm .btn_submit:not(.rd_btn), .btn_confirm .btn_cancel:not(.rd_btn), .btn_confirm input[type=submit]:not(.rd_btn) { height:40px; border:0; border-radius:4px; font-size:16px; font-weight:500; line-height:40px; text-align:center; cursor:pointer; box-sizing:border-box; text-decoration:none; min-width:100px; }
.btn_confirm .btn_submit:not(.rd_btn), .btn_confirm input[type=submit].btn_submit:not(.rd_btn) { background:#22b8cf; color:#fff; }
.btn_confirm .btn_cancel:not(.rd_btn) { background:#f1f3f5; color:#495057; }
.btn_confirm .btn_cancel:not(.rd_btn):hover { background:#e9ecef; }

/* 자동등록방지(captcha) 공통 */
.mbskin #captcha.captcha { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0 0; padding:0; border:0; }
.mbskin #captcha #captcha_img { height:40px; width:auto; }
.mbskin #captcha #captcha_mp3, .mbskin #captcha #captcha_reload { vertical-align: middle; height:32px; padding:0 8px; border:1px solid #ccd1d7; border-radius:4px; background:#fff; font-size:12px; color:#495057; cursor:pointer; }
.mbskin #captcha .captcha_box {margin-left: 5px; height:32px; padding:0 10px; border:1px solid #ccd1d7; border-radius:4px; box-sizing:border-box; }
.mbskin #captcha #captcha_info { flex-basis:100%; margin-top:2px; font-size:12px; color:#868e96; display: block; }

/* =========================================================================
 * 아이디/비밀번호 찾기 팝업 (bbs/password_lost.php) - head.sub 단독
 * ========================================================================= */
#find_info { max-width:460px; margin:0 auto; padding:24px 16px 30px; box-sizing:border-box; }
#find_info #win_title { margin:0 0 18px; font-size:18px; font-weight:700; color:#222; }
#find_info #info_fs { border:0; padding:0; margin:0 0 4px; }
#find_info #info_fs p { margin:0 0 14px; font-size:14px; line-height:1.6; color:#495057; }
#find_info #info_fs .frm_input { width:100%; height:44px; }
#find_info .win_btn { display:flex; gap:8px; margin-top:22px; justify-content: center; }
#find_info .win_btn .btn_submit, #find_info .win_btn button {min-width:100px; height:40px; border:0; border-radius:4px; font-size:16px; font-weight:500; cursor:pointer; box-sizing:border-box; }
#find_info .win_btn .btn_submit { background:#22b8cf; color:#fff; }
#find_info .win_btn button { background:#f1f3f5; color:#495057; }

/* =========================================================================
 * 회원 비밀번호 확인 (bbs/member_confirm.php) - 일부 renewal.css 병행
 * ========================================================================= */
#mb_confirm { max-width:470px; margin:0 auto; padding:24px 16px 30px; box-sizing:border-box; }
#mb_confirm #win_title { margin:0 0 18px; padding-bottom:14px; border-bottom:2px solid #495057; font-size:18px; font-weight:700; color:#222; }
#mb_confirm .form_container { padding:0; }
#mb_confirm .confirm_desc { margin:0 0 16px; font-size:14px; line-height:1.6; color:#495057; }
#mb_confirm .confirm_desc strong { display:block; margin-bottom:6px; font-size:15px; color:#222; }
#mb_confirm .mb_confirm_table { margin-bottom:14px; }
#mb_confirm .mb_confirm_table th { width:110px; }
#mb_confirm .mb_confirm_table .rd_input { display:flex; width:100%; }
#mb_confirm .mb_confirm_table .rd_input input { width:100%; height:40px; }
#mb_confirm .mb_confirm_submit { margin-bottom:8px; }
#mb_confirm .mb_confirm_submit .rd_btn { width:100%; height:48px; }
#mb_confirm .btn_confirm .rd_btn { width:100%; height:46px; }

/* =========================================================================
 * 비밀글 비밀번호 확인 (bbs/password.php)
 * ========================================================================= */
#pw_confirm { max-width:495px; margin:0 auto; padding:24px 16px 30px; box-sizing:border-box; }
#pw_confirm #win_title { margin:0 0 18px; padding-bottom:14px; border-bottom:2px solid #495057; font-size:18px; font-weight:700; color:#222; }
#pw_confirm .form_container { padding:0; }
#pw_confirm .confirm_desc { margin:0 0 16px; font-size:14px; line-height:1.6; color:#495057; }
#pw_confirm .confirm_desc strong { display:block; margin-bottom:6px; font-size:15px; color:#222; }
#pw_confirm .pw_confirm_table { margin-bottom:14px; }
#pw_confirm .pw_confirm_table th { width:110px; }
#pw_confirm .pw_confirm_table .rd_input { display:flex; width:100%; }
#pw_confirm .pw_confirm_table .rd_input input { width:100%; height:40px; }
#pw_confirm .pw_confirm_submit { margin-bottom:8px; }
#pw_confirm .pw_confirm_submit .rd_btn { width:100%; height:48px; }
#pw_confirm .btn_confirm .rd_btn { width:100%; height:46px; }

/* =========================================================================
 * 게시판 본문(view.php) : 스크린리더용 섹션 라벨(페이지 정보/본문/첨부파일/관련링크) 숨김
 * ========================================================================= */
#bo_v_info > h2, #bo_v_atc > #bo_v_atc_title, #bo_v_file > h2, #bo_v_link > h2 { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* SNS 공유 아이콘 : 가로 정렬 */
#bo_v_sns { display:flex; gap:8px; margin:16px 0; padding:0; list-style:none; }
#bo_v_sns li { float:none; margin:0; }
#bo_v_sns li a img { display:block; width:22px; height:22px; }

/* =========================================================================
 * 작성자 회원 팝업메뉴(sv_wrap) : 기본 숨김, 호버 시 표시 (검색/목록/댓글 작성자)
 *  - .sv(쪽지/메일/자기소개/전체게시물)가 인라인으로 노출되던 문제 해결
 * ========================================================================= */
.sv_wrap { position:relative; display:inline-block; }
.sv_wrap .sv { display:none; position:absolute; top:100%; left:0; z-index:1000; min-width:110px; padding:6px 0; background:#fff; border:1px solid #d5d5d5; border-radius:4px; box-shadow:0 4px 12px rgba(0,0,0,.12); white-space:nowrap; }
.sv_wrap:hover .sv, .sv_wrap.on .sv { display:block; }
.sv_wrap .sv a { display:block; padding:7px 14px; font-size:13px; color:#444; }
.sv_wrap .sv a:hover { background:#f5fcfd; color:#22b8cf; }

/* =========================================================================
 * [4] 올드 사이트 매칭 : NanumSquare 폰트 + 메인 슬라이더/하단/푸터 보강
 *  - 참조: https://totaljinhak-old.e-riro.com/index.php?device=pc
 * ========================================================================= */
/* NanumSquare 적용 (구 사이트: 상단 메뉴 / 최신글 탭 제목 / 정보센터 제목) */
.wrap .h_lnb > li > a,
.wrap .news .recent_post .ta_title,
.wrap .news .map_link h3 { font-family:'NanumSquare','Nanum Gothic',sans-serif; }
/* 전국 진로진학 정보센터 : 제목 시안 컬러 (구 사이트 #0d9bb9) */
.wrap .news .map_link h3 { color:#0d9bb9; letter-spacing:-1px; }

#ctt {padding:16px;}
.content_header {display: none;}

.btn_bo_adm {display: flex; gap:10px;}
.header {border-bottom:1px solid #ced4da}

.ctt_admin {text-align: right;}
.btn_bo_user {display: flex; gap:10px;}

 
/* 에디터 */
.ck-editor__editable_inline { min-height: 200px; }

/* 빈 상태 */
.alarm_empty {margin:0; padding:40px 0; text-align:center; font-size:15px; color:#898989;}


.container .c_inner .qaview_btns {display: flex; justify-content: space-between; flex-direction: row !important;}
.container .c_inner .qaview_btns .bo_v_nb {width: auto !important;}
.container .c_inner .qaview_btns .bo_v_com {width: auto !important; justify-content: flex-end; padding-top: 0;}


/* 알림함 (alarm.php) - 아코디언 : 타이틀 클릭 시 하위 본문/링크 토글 (블랙 톤) */
.alarm_wrap {display:block;max-width:800px;margin:0 auto;padding:24px 16px 40px;box-sizing:border-box;}

.alarm_list {display:block;margin:16px 0 0;padding:0;list-style:none;}
/* 항목은 반드시 세로 스택(헤더 아래 본문) - display:block/clear 로 좌우 깨짐 방지 */
.alarm_list .alarm_item {display:block;width:100%;margin-bottom:10px;border:1px solid #ddd;border-radius:8px;background:#fff;overflow:hidden;box-sizing:border-box;}
.alarm_list .alarm_item:last-child {margin-bottom:0;}

/* 타이틀(헤더) : 제목 + 일시 + 토글 아이콘 */
.alarm_item .alarm_head {display:flex;align-items:center;gap:10px;width:100%;float:none;padding:16px;border:0;background:#fff;text-align:left;cursor:pointer;box-sizing:border-box;font-family:inherit;}
.alarm_item .alarm_head:hover {background:#f7f7f7;}
.alarm_msg {flex:1 1 auto;min-width:0;font-size:15px;font-weight:600;color:#222;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.alarm_date {flex:0 0 auto;font-size:14px;color:#888;}
.alarm_toggle {flex:0 0 auto;width:18px;height:18px;background-size:18px auto;transition:transform .25s ease;}
.alarm_item.open .alarm_toggle {transform:rotate(180deg);}
.alarm_item.open .alarm_msg {white-space:normal;color:#111;font-weight:700;}

/* 본문 + 링크 영역 (기본 숨김 : hidden 속성). 헤더 아래 전체 폭으로 표시 */
.alarm_item .alarm_body {display:block;width:100%;float:none;clear:both;padding:0 16px 16px;border-top:1px solid #eee;box-sizing:border-box;}
.alarm_item .alarm_body[hidden] {display:none;}
.alarm_content {margin:14px 0 0;font-size:14px;line-height:1.7;color:#333;}
.alarm_link_area {margin-top:14px;}
.alarm_link {display:inline-flex;align-items:center;gap:2px;padding:8px 14px;border:1px solid #222;border-radius:6px;font-size:15px;font-weight:600;color:#222;text-decoration:none;}
.alarm_link:hover {background:#222;color:#fff;}
.alarm_link .rd_icon {width:16px;height:16px;background-size:16px auto;}
.alarm_link:hover .rd_icon {filter:brightness(0) invert(1);}

/* 빈 상태 */
.alarm_empty {padding:60px 0;text-align:center;font-size:14px;color:#888;}

/* pc전용 */
@media (min-width:1025px) {
   
    /* 슬라이더 : 높이감 복원 (380 → 420) */
    .wrap .slider.renewal .s_images { height:420px; }
    .wrap .slider.renewal .s_img { height:420px; line-height:420px; }

    /* 제휴 로고 : 구 사이트(회색 박스 + hover 확대) */
    .wrap .news .site_link .icon_link a { height:99px; border:0; border-radius:0; background:#f1f3f5; overflow:hidden; transition:background .3s; }
    .wrap .news .site_link .icon_link a:hover { background:#e2e6ea; }
    .wrap .news .site_link .icon_link a img { max-width:82%; max-height:60%; transition:transform .3s; }
    .wrap .news .site_link .icon_link a:hover img { transform:scale(1.12); }

    /* 정보센터 박스 : 4px 시안 테두리 (구 사이트) */
    .wrap .news .site_link .map_link { border:4px solid #22b8cf; border-radius:0; padding:24px 20px; }
    /* 지역 리스트 : 셀 테두리 그리드 (구 사이트) */
    .wrap .news .map_link .area_list { gap:0; border-top:1px solid #ddd; border-left:1px solid #ddd; }
    .wrap .news .map_link .area_list li { border-right:1px solid #ddd; border-bottom:1px solid #ddd; }
    .wrap .news .map_link .area_list li a { height:40px; padding:0; }

    /* 푸터 : 구 사이트(회색 배경 + 로고 좌측 + 링크 구분선) */
    .wrap .footer { background:#f1f3f5; border-top:none; }
    .wrap .footer .f_container { display:flex; align-items:center; gap:0; padding:28px 15px; }
    .wrap .footer .f_logo { flex:0 0 250px; }
    .wrap .footer .f_logo img { max-width:217px; }
    .wrap .footer .f_menu { flex:1; }
    .wrap .footer .f_lnb { display:flex; height:auto; margin:0 0 12px; border:0; }
    .wrap .footer .f_lnb li { position:relative; float:none; flex:0 0 auto; width:auto; text-align:left; overflow:visible; }
    .wrap .footer .f_lnb li:after { content:""; position:absolute; top:50%; right:0; width:1px; height:12px; margin-top:-6px; background:#c5c9cd; border:0; }
    .wrap .footer .f_lnb a {  font-size:14px; font-weight:bold; color:#121212; line-height:1.2; }
    .wrap .footer .f_lnb li:first-child a { padding-left:0; }
    .wrap .footer .address, .wrap .footer .copylight { text-align:left; font-size:13px; color:#848484; font-weight:bold; line-height:1.6; }
    #bo_sch {margin-top: 50px;}
    #bo_sch .rd_input {max-width:300px;}

}

/* 중간 분기 */
@media (max-width:1300px) {
.wrap .h_lnb > li > a {padding:14px 10px; font-size: 18px;;}

}

/* 모바일 */
@media (max-width:1024px) {
    .map_link .area_map {display: none;}
    .footer .f_logo {display: none;}
    .footer .f_lnb {justify-content: center;}
    .footer .address {padding:10px; color:#666;}
    .footer .copylight { color:#666;}

    .wrap .news .site_link .icon_link {margin:10px 16px 0;}
    .wrap .news .map_link {width:auto; margin:0 16px 20px;}
    .wrap .news .map_link h3 {margin:0 0 20px 0; padding-bottom: 0;}
    .wrap .news .map_link .area_list li a  {font-size: 14px;}
    .bx-pager{bottom:10px;}

    #mb_login .login_info_btns .rd_btn .txt {font-size: 14px;}
    .tbl_frm01 th {width: 90px; padding:14px 1px 14px 5px; font-size: 13px;}

    #bo_v {margin:0 0 20px;}
    #bo_v_table {margin: 16px 0 0;}
    .h_logo img {max-width:180px;}

    .pc_hidden {display: block;} 
    .mob_hidden {display: none;} 
    .rd_board.list_board table td .arrow_curveRight_black {background-size:15px;}

    .container .c_inner {min-height: 400px;}
    

    body:has(.container) #scrap {padding:0;}
    #bo_sch {margin:20px 0;}
    #bo_w {margin:0;}
    #bo_v_file, #bo_v_link {font-size: 11px;}
    #bo_vc_empty {font-size: 14px;}
    #daum_juso_pagemb_zip {position: absolute !important; left:1% !important;  width:98% !important}

    .h_gnb a {padding-left: 0;}

    #bo_v_bot .bo_v_com:has(.copy_btn) {width: 100%;}
    #bo_v_bot .bo_v_com:has(.copy_btn) li {flex:1; display: inline-flex;}
    #bo_v_bot .bo_v_com:has(.copy_btn) .rd_btn { padding:0 2px; min-width:30px; flex:1; }
    #bo_v_bot .bo_v_com:has(.copy_btn) .write_btn {min-width:51px;}

    .qaview_btns .rd_btn {min-width: 43px; padding:0 3px; }

    .alarm_list .alarm_item {padding:0;}
    .alarm_item .alarm_head {flex-wrap:wrap;padding:10px;gap:6px;}
    .alarm_date {order:1; font-size: 12px;}
    .alarm_toggle {order:2;margin-left:auto; }
    .alarm_item .alarm_body {padding:10px; margin-top: 0;}
    .alarm_item .alarm_content {margin-top: 0;}
    .alarm_msg {order:3;flex:0 0 100%;font-size:14px;white-space:normal;overflow:visible;text-overflow:clip;}

     .snb_inner .join {padding:10px;}
}

