@charset "utf-8";
/* ### 기본 스타일 커스터마이징 시작 ### */
.mbskin {
  text-align: center;
  padding: 10px;
}
.mbskin h1 {
  font-size: 1.75em;
  margin: 40px 0 25px;
}
.mbskin p {
  padding-bottom: 20px;
  border-bottom: 1px solid #c8c8c8;
}
.mbskin p strong {
  color: #4162ff;
  padding-bottom: 5px;
  display: block;
  font-size: 1.083em;
}

/* 버튼 */
.mbskin a.btn01 {
}
.mbskin a.btn01:focus,
.mbskin a.btn01:hover {
}
.mbskin a.btn02 {
}
.mbskin a.btn02:focus,
.mbskin .btn02:hover {
}
.mbskin .btn_confirm {
} /* 서식단계 진행 */
.mbskin .btn_submit {
}
.mbskin .btn_cancel {
}
.mbskin .btn_frmline {
} /* 우편번호검색버튼 등 */
.mbskin .win_btn {
} /* 새창용 */
.mbskin .win_btn a {
}
.mbskin .win_btn button {
}
.mbskin .win_btn input {
}
/* 게시판용 버튼 */
.mbskin a.btn_b01 {
}
.mbskin a.btn_b01:focus,
.mbskin .btn_b01:hover {
}
.mbskin a.btn_b02 {
}
.mbskin a.btn_b02:focus,
.mbskin .btn_b02:hover {
}
.mbskin a.btn_admin {
} /* 관리자 전용 버튼 */
.mbskin a.btn_admin:focus,
.mbskin a.btn_admin:hover {
}

/* 기본테이블 */
.mbskin .tbl_head01 {
}
.mbskin .tbl_head01 caption {
}
.mbskin .tbl_head01 thead th {
}
.mbskin .tbl_head01 thead a {
}
.mbskin .tbl_head01 thead th input {
} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.mbskin .tbl_head01 tfoot th {
}
.mbskin .tbl_head01 tfoot td {
}
.mbskin .tbl_head01 tbody th {
}
.mbskin .tbl_head01 td {
}
.mbskin .tbl_head01 a {
}
.mbskin td.empty_table {
}

/* 폼 테이블 */
.mb_skin table {
}
.mb_skin caption {
}
.mb_skin .frm_info {
}
.mb_skin .frm_file {
}

.mbskin .tbl_frm01 {
}
.mbskin .tbl_frm01 caption {
}
.mbskin .tbl_frm01 th {
}
.mbskin .tbl_frm01 td {
}
.mbskin .tbl_frm01 textarea,
.mbskin .frm_input {
}
.mbskin .tbl_frm01 textarea {
}
/*
.mbskin .tbl_frm01 #captcha {}
.mbskin .tbl_frm01 #captcha input {}
*/
.mbskin .tbl_frm01 a {
}

.mbskin .required,
.mbskin textarea.required {
} /* 필수입력 */

/* 테이블 항목별 정의 */
.mbskin .td_board {
}
.mbskin .td_chk {
}
.mbskin .td_date {
}
.mbskin .td_datetime {
}
.mbskin .td_group {
}
.mbskin .td_mb_id {
}
.mbskin .td_mng {
}
.mbskin .td_name {
}
.mbskin .td_nick {
}
.mbskin .td_num {
}
.mbskin .td_numbig {
}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* 회원가입 약관 */
#fregister {
  padding: 10px;
}
#fregister section {
  background: #fff;
  border: 1px solid #ddd;
  margin: 20px 0;
}
#fregister .chk_all {
  text-align: left;
  padding: 20px;
  background: #ecf2ee;
  border: 1px solid #dae9df;
}
#fregister h2 {
  text-align: left;
  border-bottom: 1px solid #eee;
  padding: 10px 15px;
  line-height: 1.7em;
  font-size: 1.167em;
}
#fregister textarea {
  display: block;
  padding: 10px;
  width: 100%;
  border: 0;
  background: #fff;
  height: 180px;
  line-height: 1.5em;
  color: #555;
}
.fregister_agree {
  border-top: 1px solid #eee;
  padding: 10px 15px;
  line-height: 1.7em;
  text-align: left;
  font-size: 1.083em;
}
.fregister_agree label {
  display: inline-block;
  margin-right: 5px;
}
#fregister p {
  border: 0;
  padding: 0 0 5px;
}
#fregister .btn_confirm {
  margin: 15px 0;
}
#fregister_private .tbl_head01 {
  padding: 20px;
  margin: 0;
}
#fregister_private .tbl_head01 caption {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
  top: 0;
  color: #fff;
}

/* 회원가입 입력 */
.register_inner {
  margin: 0 10px;
}
#fregisterform .form_01 {
  border: 1px solid #ececec;
  background: #fff;
  text-align: center;
  margin: 10px 0;
}
#fregisterform .form_01 ul {
  max-width: 450px;
  padding: 20px;
  clear: both;
}
#fregisterform .form_01 ul li {
  clear: both;
  text-align: left;
}
#fregisterform textarea {
  width: 100%;
  height: 90px;
}
#fregisterform #msg_certify {
  margin: 5px 0 0;
  padding: 5px;
  border: 1px solid #dbecff;
  background: #eaf4ff;
  text-align: center;
}

#fregisterform #mb_addr3 {
  display: block;
  margin: 5px 0 0;
}
#fregisterform #mb_addr_jibeon {
  display: block;
  margin: 5px 0 0;
}

#fregisterform:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#fregisterform .form_01 h2 {
  padding: 15px;
  background: #ececec;
  color: #000;
  font-size: 1.167em;
  text-align: left;
}
#fregisterform .form_01 label {
  float: left;
  width: 25%;
  padding: 10px 0;
  text-align: left;
}
#fregisterform .form_01 input {
  float: left;
  width: 75%;
  margin-bottom: 5px;
  background: #fff;
}
#fregisterform .form_01 #reg_mb_zip {
  width: 54%;
}
#fregisterform .form_01:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#fregisterform .frm_info {
  display: block;
  padding: 5px 0;
  margin-left: 27%;
  text-align: left;
  color: #b1b1b1;
  font-size: 0.92em;
}
#fregisterform .btn_frmline2 {
  display: inline-block;
  float: left;
  margin-left: 5px;
  padding: 0 5px;
  height: 45px;
  border: 0;
  background: #1ec679;
  border: 1px solid #12b46a;
  color: #fff;
  text-decoration: none;
  vertical-align: top;
  border-radius: 3px;
}
#fregisterform .btn_frmline {
  height: 40px;
  padding: 0 10px;
}
#fregisterform .rgs_name_li button {
  margin: 5px 0 0;
}

.btn_confirm {
  text-align: right;
  margin: 20px 0;
}

.personal_date .frm_label {
  position: absolute;
  font-size: 0;
  text-indent: -9999em;
  line-height: 0;
  overflow: hidden;
}
.personal_setting li.mem_pic {
  clear: both;
  margin-top: 10px;
}
.personal_setting li.mem_pic > input {
  padding: 5px;
  border: 1px solid #d9dee9;
}
.personal_setting li.mem_pic .frm_label {
  width: 60px;
}

.personal_setting li.mem_pic .mem_pic_preview {
  margin-left: 25%;
  text-align: left;
}
.personal_setting li.mem_pic .mem_pic_preview input {
  display: inline-block;
  margin-top: 5px;
  width: 15px !important;
  margin-bottom: 0;
}
.personal_setting li.mem_pic .mem_pic_preview label {
  text-align: center !important;
  width: 40px !important;
  padding: 3px 0 !important;
}

@media (max-width: 969px) {
  #fregisterform .frm_info {
    margin-left: 0;
    clear: both;
  }
  #fregisterform .form_01 ul {
    width: 100%;
    padding: 0 20px 20px;
  }
  #fregisterform .form_01 label {
    width: 100%;
  }
  #fregisterform .form_01 input {
    width: 100%;
  }
}
#fregisterform .frm_bar {
  clear: both;
  line-height: 20px;
  text-align: left;
  padding: 10px;
  margin-bottom: 0 !important;
  border: 1px solid #d9dee9;
  background: #fff;
  color: #000;
  vertical-align: middle;
}
#fregisterform .frm_bar:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#fregisterform .frm_bar label {
  position: relative;
  display: inline-block;
  width: auto;
  padding: 0;
}
#fregisterform .frm_bar input {
  display: inline-block;
  width: auto;
  margin-right: 5px;
  vertical-align: middle;
}
#fregisterform .form_01 .reg-form {
  width: auto !important;
}
#fregisterform .form_01 .reg-form .sns-wrap {
  text-align: center !important;
}
.is_captcha_use {
  margin-top: 10px;
  border: 1px solid #d9dee9;
  padding: 10px;
}
.is_captcha_use .frm_label {
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
}
.is_captcha_use .captcha {
  margin-top: 0 !important;
}

/* 회원가입 완료 */
#reg_result {
  padding: 20px 10px 10px;
}
#reg_result #result_email {
  margin: 20px 0;
  padding: 10px 50px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  background: #fff;
  line-height: 2em;
}
#reg_result #result_email span {
  display: inline-block;
  width: 150px;
}
#reg_result #result_email strong {
  color: #e8180c;
  font-size: 1.2em;
}
#reg_result h2 {
  text-align: center;
  font-size: 1.25em;
  margin: 0 0 10px;
}
#reg_result h2 strong {
  color: #ed6478;
}
#reg_result p {
  line-height: 1.7em;
}
#reg_result .btn_confirm {
  margin: 20px 0 30px;
}
#reg_result .reg_result_wr {
  background: #fff;
  padding: 10px 20px;
}
#reg_result .reg_cong {
  margin: 10px 0;
  font-size: 1.083em;
  font-weight: bold;
}
#reg_result .reg_cong strong {
  color: #3497d9;
}
#reg_result .btn_confirm a {
  display: inline-block;
  padding: 0 20px;
  height: 40px;
  line-height: 38px;
  border: 1px solid #ed6478;
  color: #ed6478;
  border-radius: 3px;
  font-weight: bold;
}

/* 아이디/비밀번호 찾기 */
/*#find_info #info_fs {margin:0 20px 10px}*/
#find_info #info_fs p {
  margin: 0 0 10px;
  line-height: 1.5em;
  font-size: 0.92em;
  color: #4162ff;
}
#find_info #info_fs #mb_email {
  width: 100%;
}
#find_info #captcha {
  margin: 5px 0;
}

/* 로그인 */
#mb_login {
  margin: 40px auto 10px;
  max-width: 500px;
  padding: 20px;
}
#mb_login h1 {
  font-size: 2em;
  text-align: center;
  margin: 0 0 20px;
}
#mb_login h2 {
  margin: 0;
}
#mb_login p {
  padding: 10px 0;
  line-height: 1.5em;
}
#mb_login #login_frm {
  position: relative;
}
#mb_login #login_frm div {
  padding: 10px 0;
  text-align: right;
}
#mb_login .frm_input {
  width: 100%;
  margin: 5px 0;
}
#mb_login .btn_submit {
  width: 100%;
  border-radius: 3px;
  text-align: center;
  height: 45px;
  margin: 5px 0;
  font-size: 1.083em;
  font-weight: bold;
  border-radius: 30px;
}
#mb_login .mb_login_join {
  margin: 20px 0 0;
  padding: 10px 0;
}
#mb_login .mb_login_join:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#mb_login .mb_login_join h2 {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}
#mb_login .mb_login_join a {
  display: block;
  float: left;
  width: 50%;
}
#login_password_lost {
  border-right: 1px solid #cdcdcd;
}

#flogin {
  padding: 20px;
  margin: 20px 0;
}

#mb_login_notmb {
  padding: 20px;
}
#mb_login_notmb h2 {
  font-size: 1.25em;
  padding: 10px;
}
#mb_login_notmb p {
  border: 0;
  padding: 20px;
  margin: 10px 0;
  color: #639578;
  background: #ebf6ea;
}
#guest_privacy p {
  border: 1px solid #ddd;
  background: #fff;
  color: #666;
  min-height: 20px;
  height: 200px;
  padding: 10px;
  text-align: left;
  overflow-y: auto;
  margin: 10px 0;
}
#mb_login_notmb .btn_submit {
  width: 100%;
  display: block;
  height: 40px;
  line-height: 40px;
}

#mb_login_od_wr {
  background: #fff;
  border-bottom: 1px solid #ccc;
  padding: 20px;
}
#mb_login_od_wr p {
  border: 0;
  text-align: left;
}
#mb_login_od_wr p strong {
  display: inline;
}
#mb_login_odinfo {
  margin: 10px 0 0;
  background: #f3f3f3;
  padding: 10px;
}
#mb_login_odinfo h2 {
  font-size: 1.167em;
}

/* 쪽지 */
#memo_view_contents {
}
#memo_view_contents h2 {
  position: absolute;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}
#memo_view_ul {
  margin: 0 0 3px;
  background: #fff;
  padding: 5px 10px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  box-shadow: 0 1px 5px rgba(50, 50, 50, 0.2);
}
.memo_view_li {
  position: relative;
  padding: 2px 0;
}
.memo_view_subj {
  display: inline-block;
  width: 60px;
  font-size: 0.92em;
  color: #777;
}
#memo_view_ul a {
}
#memo_view p {
  padding: 10px 15px;
  border-radius: 3px;
  min-height: 150px;
  height: auto !important;
  height: 150px;
  line-height: 1.8em;
  background: #fff;
  -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  box-shadow: 0 1px 5px rgba(50, 50, 50, 0.2);
}

#memo_list_ul {
}
#memo_list_ul li {
  position: relative;
  background: #fff;
  margin: 10px 0;
  border-radius: 3px;
  padding: 10px 15px;
  -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  box-shadow: 0 1px 5px rgba(50, 50, 50, 0.2);
}

#memo_list_ul .memo_link {
  display: block;
  font-weight: bold;
  font-size: 1.083em;
  margin: 0 0 5px;
}
#memo_list_ul .memo_date {
  font-size: 0.92em;
  color: #777;
  font-style: italic;
}
#memo_list_ul .memo_del {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: url(./img/btn_del.gif) no-repeat 50% 50%;
  text-indent: -9999px;
  overflow: hidden;
}

#memo_write #me_recv_mb_id {
  width: 100%;
}
#memo_write textarea {
  width: 100%;
  height: 100px;
}
#memo_write .win_btn {
  margin: 10px;
}

/* 스크랩 */
#scrap_ul li {
  position: relative;
}
#scrap_ul .scrap_board {
  display: block;
  color: #4162ff;
  margin: 0 0 5px;
}
#scrap_ul .scrap_del {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: url(./img/btn_del.gif) no-repeat 50% 50%;
  text-indent: -9999px;
  overflow: hidden;
}
#scrap_ul .scrap_link {
  font-weight: bold;
  font-size: 1.083em;
}
.scrap_tit {
  font-weight: bold;
  border-bottom: 1px solid #d7d7d7;
  padding: 0 0 10px;
  font-size: 1.167em;
}
#scrap_do #wr_content {
  margin-top: 5px;
}
#scrap_do label {
  color: #666;
}

/* 포인트 */
#point_ul {
  padding: 0;
  list-style: none;
}
#point_ul li {
  position: relative;
}
#point_ul li:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#point_ul .point_wrap01 {
  float: left;
}
#point_ul .point_wrap02 {
  float: right;
  text-align: right;
}
#point_ul .point_log {
  display: block;
  font-weight: bold;
  margin: 0 0 5px;
  font-size: 1.083em;
}
#point_ul .point_inout {
  display: block;
  font-weight: bold;
  margin: 0 0 5px;
  color: #4162ff;
  font-size: 1.083em;
}
#point_ul .point_date {
  font-style: italic;
}

#point_sum {
  margin: 10px 0 20px;
}
#point_sum:after {
  display: block;
  visibility: hidden;
  clear: both;
  content: '';
}
#point_sum .sum_row {
  float: left;
  width: 33.333%;
  text-align: center;
  background: #939db8;
  color: #fff;
}
#point_sum .sum_row:nth-child(even) {
  background: #8490af;
}
#point_sum .sum_tit,
#point_sum .sum_val {
  display: block;
  margin: 0 0 1px;
  padding: 10px;
}
#point_sum .sum_tit {
}
#point_sum .sum_val {
}

/* 회원 비밀번호 확인 */
#mb_confirm {
  margin: 30px 0;
}
#mb_confirm h1 {
  margin: 0 0 15px;
  padding: 0 10px;
  font-size: 1.3em;
}
#mb_confirm p {
  padding: 15px 10px;
  border-bottom: 1px solid #cfded8;
  border-bottom: 0;
  background: #fff;
}
#mb_confirm p strong {
  display: block;
}
#mb_confirm fieldset {
  position: relative;
  margin: 20px 0;
  text-align: left;
  color: #555;
}
#mb_confirm_id {
  font-weight: bold;
  display: block;
  font-size: 1.083em;
  margin: 5px 0;
}
#mb_confirm_pw {
  display: block;
  margin-top: 10px;
  width: 100%;
}
#mb_confirm .btn_submit {
  width: 100%;
  height: 40px;
  border-radius: 3px;
  margin: 10px 0;
}

/* 비밀글 비밀번호 확인 */
#pw_confirm fieldset {
  position: relative;
  margin: 0 0 5px;
  padding: 15px 0;
  border-top: 1px solid #fffefe;
}
#pw_wr_password {
  width: 100%;
}
#pw_confirm .btn_submit {
  margin: 5px 0;
  width: 100%;
  border-radius: 3px;
  height: 45px;
  font-weight: bold;
  font-size: 1.083em;
}

/* 폼메일 */
#formmail #subject {
  width: 100%;
}
#formmail textarea {
  width: 100%;
  height: 100px;
}
#formmail .frm_file {
  padding-left: 50px;
}
#formmail .file_wr {
  border: 1px solid #ccc;
  background: #fff;
  color: #000;
  vertical-align: middle;
  border-radius: 3px;
  padding: 5px;
  height: 40px;
}
#formmail .lb_icon {
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 3px 0 0 3px;
  height: 38px;
  line-height: 38px;
  width: 40px;
  overflow: hidden;
  text-indent: -999px;
  background: url(./img/icon_file.gif) no-repeat 50% 50% #eee;
}

/* 자기소개 */
#profile section {
  margin: 10px;
}
#profile h2 {
  margin: 0;
}
#profile .sv_wrap a {
  color: #fdff2f;
}
#profile table {
  width: 100%;
  border-collapse: collapse;
}
#profile table th {
  background: #fff;
  padding: 10px;
  width: 90px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
#profile table td {
  background: #fff;
  padding: 10px;
  border-bottom: 1px solid #eee;
}
#profile p {
  background: #fff;
  padding: 10px;
  margin: 10px 0;
  -webkit-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  -moz-box-shadow: 0 0 5px rgba(50, 50, 50, 0.2);
  box-shadow: 0 1px 5px rgba(50, 50, 50, 0.2);
}

/* ========================================= */
/* 회원가입/수정 모던 카드형 UI 개편 CSS (2026 추가) */
/* ========================================= */
.register-modern {
  max-width: 650px;
  margin: 40px auto;
  padding: 0;
}

/* Base Card Container */
.register-modern .form_01 {
  background: #ffffff;
  border: 1px solid #eaeef2;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(18, 29, 51, 0.05);
  margin-bottom: 24px;
  text-align: left;
  overflow: hidden;
}

/* Card Header */
.register-modern .form_01 h2 {
  background: #f8fafc;
  border-bottom: 1px solid #eaeef2;
  padding: 20px 24px;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: #2d3748;
}

/* Card Body (UL reset) */
.register-modern .form_01 ul {
  max-width: 100% !important;
  padding: 24px 24px 10px 24px !important;
  margin: 0;
  list-style: none;
}

.register-modern .form_01 ul li {
  padding: 0 0 20px 0;
  border-bottom: none;
  clear: both;
}

/* Label above Input */
.register-modern .form_01 label {
  float: none !important;
  width: 100% !important;
  display: block;
  margin-bottom: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #4a5568;
  padding: 0;
}

.register-modern .form_01 label .sound_only {
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  text-indent: 0 !important;
  color: #e53e3e;
  font-size: 0.85em;
  margin-left: 4px;
  font-weight: bold;
  overflow: visible !important;
  clip: auto !important;
}

/* Modern Input Fields */
.register-modern .form_01 input[type='text'],
.register-modern .form_01 input[type='password'],
.register-modern .form_01 input[type='email'],
.register-modern .form_01 input[type='url'],
.register-modern .form_01 textarea {
  float: none !important;
  width: 100% !important;
  display: block;
  box-sizing: border-box;
  padding: 14px 16px;
  border: 1px solid #cbd5e0 !important;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff !important;
  color: #2d3748;
  transition: all 0.2s ease-in-out;
  height: auto;
}

.register-modern .form_01 input:focus,
.register-modern .form_01 textarea:focus {
  border-color: #3182ce !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.15) !important;
}

.register-modern .form_01 input::placeholder,
.register-modern .form_01 textarea::placeholder {
  color: #a0aec0;
}

/* Input Info Hint Text */
.register-modern .form_01 .frm_info {
  margin-left: 0 !important;
  margin-top: 8px !important;
  font-size: 0.85em;
  color: #718096;
  display: block;
  line-height: 1.4;
}

/* Address Field Specialized Styling */
.register-modern #ads br {
  display: none;
}

.register-modern #ads input[name='mb_zip'] {
  width: calc(100% - 150px) !important;
  display: inline-block !important;
  vertical-align: middle;
}

.register-modern .btn_frmline2 {
  width: 95px !important;
  margin-left: 8px !important;
  float: none !important;
  display: inline-block;
  text-align: center;
  border-radius: 8px;
  height: 48px !important;
  line-height: 48px !important;
  font-weight: 600;
  background: #fff !important;
  color: #3182ce !important;
  border: 1px solid #3182ce !important;
  vertical-align: middle;
  transition: all 0.2s;
}

.register-modern .btn_frmline2:hover {
  background: #eef4ff !important;
}

.register-modern #ads input[name='mb_addr1'],
.register-modern #ads input[name='mb_addr2'],
.register-modern #ads input[name='mb_addr3'] {
  margin-top: 10px;
}

/* Phone / Ipin Authenticaton Buttons */
.register-modern .btn_frmline.btn {
  width: 100%;
  margin-top: 12px;
  height: 50px;
  border-radius: 8px;
  background: #edeff5;
  border: 1px solid #d9dee9;
  color: #4a5568;
  font-weight: 600;
  transition: background 0.2s;
}

.register-modern .btn_frmline.btn:hover {
  background: #e2e8f0;
}

.register-modern #msg_certify {
  margin-top: 10px;
}

/* Checkboxes & Switches */
.register-modern .frm_bar {
  padding: 16px;
  border-radius: 8px;
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  margin-bottom: 12px !important;
  line-height: 1.2 !important;
}

/* 부모 컨테이너(bo_chk) 자체를 Flex로 묶어 체크박스와 텍스트를 정가운데 정렬 */
.register-modern .bo_chk.li_chk {
  display: flex !important;
  align-items: center;
  gap: 8px;
}

.register-modern .bo_chk label.frm_label {
  width: auto !important;
  margin-bottom: 0;
  font-weight: 500;
  color: #2d3748;
  cursor: pointer;
}

.register-modern .bo_chk input[type='checkbox'] {
  margin: 0 !important;
  width: 18px;
  height: 18px;
  flex-shrink: 0; /* 체크박스 크기 찌그러짐 방지 */
}

/* Captcha Field Layout Fix */
.register-modern .is_captcha_use {
  border: none;
  padding: 0;
  background: transparent;
}

.register-modern .is_captcha_use .frm_label {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  font-size: 0.95rem !important;
  line-height: normal !important;
  display: block;
  margin-bottom: 10px !important;
  text-indent: 0;
}

/* Submit & Cancel Buttons */
.register-modern .btn_top {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 30px;
  margin-bottom: 80px; /* enough space at bottom */
}

.register-modern .btn_top .btn_submit,
.register-modern .btn_top .btn_l {
  flex: 1;
  max-width: 250px;
  height: 56px;
  line-height: 56px !important;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  float: none;
  display: block;
}

.register-modern .btn_top .btn_submit {
  background: #003190;
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 49, 144, 0.25);
}

.register-modern .btn_top .btn_submit:hover {
  background: #002266;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 49, 144, 0.3);
}

.register-modern .btn_top .btn_b01 {
  background: #e2e8f0;
  color: #4a5568;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.register-modern .btn_top .btn_b01:hover {
  background: #cbd5e0;
}

/* Mobile Adjustments for Modern Form */
@media (max-width: 600px) {
  .register-modern {
    margin: 20px auto;
    padding: 0 10px;
  }
  .register-modern .form_01 ul {
    padding: 20px 15px 5px 15px !important;
  }
  .register-modern .btn_top .btn_submit,
  .register-modern .btn_top .btn_b01 {
    height: 50px;
    line-height: 50px !important;
    font-size: 1rem;
  }
}

/* ========================================= */
/* 추가 보완 CSS: 필수마크, 우편번호 정렬, 캡차 정렬 */
/* ========================================= */

/* 1. 필수 표시 별표(*) 처리 */
.register-modern .form_01 label .sound_only {
  font-size: 0 !important; /* 글자 숨김 */
  display: inline-block !important;
  overflow: visible !important;
  color: transparent !important;
  text-indent: 0 !important;
}
.register-modern .form_01 label .sound_only::after {
  content: '*';
  font-size: 0.8rem;
  color: #e53e3e;
  margin-left: 2px;
  /* vertical-align: middle; */
}

/* 2. 자동등록방지 라벨 숨김 (우선순위 강제) */
.register-modern .is_captcha_use > .frm_label,
.register-modern .is_captcha_use span.frm_label {
  display: none !important;
}

/* 3. 자동등록방지(Captcha) 폼 반응형 가로 배치 */
.register-modern #captcha {
  display: flex !important;
  flex-wrap: wrap; /* 창이 좁아지면 자동으로 줄바꿈 발생 */
  align-items: center;
  gap: 8px; /* 사이 여백 */
  max-width: 100%;
}

/* 동적으로 생성되는 오디오 태그가 레이아웃을 망치지 않게 전체 너비 점유 및 최상단 배치 */
.register-modern #captcha audio {
  width: 100%;
  max-width: 100%;
  order: -1;
  margin-bottom: 5px;
}

.register-modern #captcha img {
  border: 1px solid #e1e6eb;
  border-radius: 4px;
  max-width: 100%; /* 핸드폰에서 삐져나가지 않도록 */
  height: auto;
  flex-shrink: 0;
}

/* 캡차 버튼들 찌그러짐 방지 */
.register-modern #captcha button {
  flex-shrink: 0;
}

/* 캡차 인풋 반응형 폭 조절 (공간이 없으면 아래로 떨어지며 자연스레 100% 차지) */
.register-modern .is_captcha_use input[type='text'] {
  width: auto !important; /* 고정너비 해제 */
  display: block !important;
  /* flex: 1 1 150px; 기본 150px, 빈공간 생기면 채우고, 좁으면 줄바꿈되어 100% 됨 */
  flex: 1 1 0;

  min-width: 0;
  max-width: 100%;
  margin-bottom: 0 !important;
  height: 48px !important;
}

/* 하단의 캡차 설명 문구 강제 줄바꿈 처리 */
.register-modern #captcha_info {
  display: block;
  width: 100%;
  margin-top: 5px;
  color: #718096;
  font-size: 0.9em;
}

/* =========================================
   비밀번호 찾기 모던 UI 연동 (.pw-lost-modern)
   ========================================= */
.pw-lost-modern {
  max-width: 450px; /* 로그인 컨테이너와 유사한 최적의 폭 */
  margin: 0 auto !important; /* PC/모바일 정중앙 안착 */
  padding: 40px 20px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08); /* 고급 카드 섀도우 */
}

/* 제목 정중앙 배치 */
.pw-lost-modern #win_title {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  text-align: center;
  margin-bottom: 24px;
  border-bottom: none !important;
}

/* 서브 설명 문구 예쁘게 */
.pw-lost-modern #info_fs p {
  color: #4b5563;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 24px;
  text-align: center;
  word-break: keep-all;
}

/* 이메일 인풋 꽉 차게 */
.pw-lost-modern #mb_email {
  width: 100% !important;
  margin-bottom: 24px;
}

/* 제출 버튼 최상급 디자인 세팅 */
.pw-lost-modern .win_btn {
  margin-top: 24px;
}
.pw-lost-modern .btn_submit {
  width: 100%;
  display: block;
  text-align: center;
  border-radius: 8px;
  height: 52px !important;
  line-height: 52px !important;
  font-size: 16px;
  font-weight: 700;
  background: linear-gradient(135deg, #000 0%, #000 100%) !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(13, 71, 181, 0.2);
  transition: all 0.2s ease;
}

.pw-lost-modern .btn_submit:hover {
  /* 마우스 오버 시 색상 변경 부분 (현재 #333 짙은 회색) */
  background: linear-gradient(135deg, #ff3a3a 0%, #ff3a3a 100%) !important;
}
