@charset "utf-8";

/* ### 기본 스타일 커스터마이징 시작 ### */
/* 기본박스 */
.mbskin {position:relative;margin:100px auto 0;width:360px;text-align:center}
.mbskin:after {right:10px;left:auto;
  -webkit-transform:skew(8deg) rotate(3deg);
    -moz-transform:skew(8deg) rotate(3deg);
    -ms-transform:skew(8deg) rotate(3deg);
     -o-transform:skew(8deg) rotate(3deg);
      transform:skew(8deg) rotate(3deg)}
.mbskin .mbskin_box{border:1px solid #dde7e9;background:#fff}
.mbskin .frm_input {width:100%}
.mbskin .btn_submit {width:100%;margin:10px 0 0;height:45px;font-weight:bold;font-size:1.25em}
.mbskin h1 {margin:60px 0 30px;font-size:2em}
/* ### 기본 스타일 커스터마이징 끝 ### */

/* 회원가입 약관 */
.register {margin:0 auto}
.register:after {display:block;visibility:hidden;clear:both;content:""}
.register .btn_confirm .btn_submit,
.register .btn_confirm .btn_close {float:left;height:50px !important;width:49.5%;font-weight:bold;font-size:1.083em}
.register .btn_confirm {text-align:left}
.register .btn_confirm .btn_submit {margin-left:1%}

#fregister p {position:relative;text-align:center;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;border-radius:5px;font-weight:bold}
#fregister p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453}
#fregister p i {font-size:1.2em;vertical-align:middle}
#fregister section {margin:10px auto 15px;border:1px solid #dde7e9;position:relative;border-radius:3px}
#fregister_chkall {position:relative;text-align:center;background:#f5f7fa;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px}
#fregister h2 {text-align:left;padding:20px;border-bottom:1px solid #dde7e9;font-size:1.2em}
#fregister textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em}
.fregister_terms div {padding:20px;background:#fff}
.fregister_terms table {width:100%;border-collapse:collapse;font-size:1em;}
.fregister_terms table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
.fregister_terms table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
.fregister_terms table td {border:1px solid #e7e9ec;padding:10px;border-top:0}

.fregister_agree {position:absolute;top:0;right:0}
.fregister_agree input[type="checkbox"] + label {color:#676e70}
.fregister_agree input[type="checkbox"] + label:hover {color:#2172f8}
.fregister_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.fregister_agree input[type="checkbox"]:checked + label {color:#000}
.fregister_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.fregister_agree.chk_all input[type="checkbox"] + label span {top:18px}

.chk_li {padding-left:20px}

#sns_register .login-sns,
#sns_register h2 {border:0 !important}

/* 회원가입 입력 */
#register_form {background:#fff;margin-bottom:20px}
#register_form h2 {padding:20px;border-bottom:1px solid #dde7e9}
.register_form_inner {background:#f7f7f7;border:1px solid #dde7e9;border-radius:3px}
.register_form_inner ul {padding:20px}
.register_form_inner label {display:block;margin-bottom:10px;line-height:24px}
.register_form_inner label.inline {display:inline}

#fregisterform .cert_desc {color:#3a8afd;}
#fregisterform .cert_req {margin-left:5px;line-height:35px;}
#fregisterform #msg_certify {margin:5px 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address {margin:5px 0 0}
#fregisterform #mb_addr3 {display:inline-block;margin:5px 0 0;vertical-align:middle}
#fregisterform #mb_addr_jibeon {display:block;margin:5px 0 0}
#fregisterform .btn_confirm {text-align:center}
#fregisterform .form_01 div {margin:0 0 20px}
#fregisterform .captcha {display:block;margin:5px 0 0}
#fregisterform .reg_mb_img_file img {max-width:100%;height:auto}
#reg_mb_icon, #reg_mb_img {float:right}
#fregisterform .consent-line {display: flex; margin: 0 !important;}
#fregisterform .consent-line .chk_li {padding-left: 0;}
#fregisterform .consent-date { margin: 5px 0 0 20px !important; }
#fregisterform .consent-group .sub-consents {padding: 0 20px 0px}
#fregisterform .js-open-consent {display: block; margin-left: 10px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }

/* 회원가입 완료 */
#reg_result {padding:40px 30px;text-align:center;background:#edf3fc;border:1px solid #d6e2f4;border-radius:5px}
#reg_result h2 {font-size:2em;margin:0 0 20px}
#reg_result h2 strong {color:#ed6478}
#reg_result #result_email {margin:20px 0;padding:10px 50px;border-top:1px solid #e9e9e9;border-bottom:1px solid #dde4e9;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 p {line-height:1.8em}
#reg_result .result_txt {text-align:left}
#reg_result .btn_confirm {margin:50px 0}
#reg_result i {font-size:3em}
#reg_result .reg_result_p {font-size:1.25em;margin:0 0 10px;color:#3684fa}

.btn_confirm_reg {margin:20px 0;text-align:center}
.reg_btn_submit {display:inline-block;background:#3a8afd;color:#fff;text-align:center;border-radius:3px;width:280px;height:57px;line-height:57px;font-size:1.2em;margin:0 auto;font-weight:bold}

.mb_log_cate h2 {width:50%;float:left;padding:20px 0;text-align:center}
.mb_log_cate .join {width:50%;float:left;padding:20px 0;text-align:center;background:#f7f7f7;color:#6e6e6e}
.mb_log_cate:after {display:block;visibility:hidden;clear:both;content:""}

.tooltip_icon {display:inline-block;vertical-align:baseline;color:#b3b5b8;border:0;font-size:1.4em;background:transparent;cursor:pointer}
.tooltip_icon:hover {color:#448bf5}
.tooltip {position:absolute;width:auto;color:#fff;background:#000;padding:10px;font-size:small;line-height:18px;display:none;z-index:9;font-weight:normal;margin-left:15px;margin-top:10px}
.tooltip:before {content:"";position:absolute;top:0;left:-10px;width:0;height:0;border-style:solid;border-top:0px solid transparent;border-bottom:10px solid transparent;border-left:0;border-right:10px solid #000}

/* 아이디/비밀번호 찾기 */
#find_info h3 {display:none;margin-bottom:30px;text-align:center;font-size:1.1em;}
#find_info .new_win_con {background:#f7f7f7;}
#find_info.cert .new_win_con {width:460px;float:left;}
#find_info.cert .new_win_con:nth-child(2) {margin-left:10px;}
#find_info.cert h3 {display:block;}
#find_info #mb_hp_label {display:inline-block;margin-left:10px}
#find_info p {line-height:1.5em}
#find_info #mb_email {margin:10px 0}
#find_info .find_btn .btn_submit {width:30%;word-break:keep-all;}

/* 비밀번호 재설정 */
#pw_reset #info_fs {margin-bottom: 10px}
#pw_reset .frm_input {margin:10px 0 0}

/* 기존 회원 본인인증 */
#member_cert_refresh p {position:relative;text-align:center;color:#fff;height:50px;line-height:50px;font-size:1.1em;background:#f2838f;margin:0 0 10px;border-radius:5px;font-weight:bold}
#member_cert_refresh p:before {content:"";position:absolute;top:0;left:0;width:5px;height:50px;border-radius:5px 0 0 5px;background:#da4453}
#member_cert_refresh p i {font-size:1.2em;vertical-align:middle}
#member_cert_refresh section {margin:10px auto 15px;border:1px solid #dde7e9;position:relative;border-radius:3px}
#member_cert_refresh_chkall {position:relative;text-align:center;background:#f5f7fa;line-height:50px;border:1px solid #e5e9f0;border-radius:3px;margin-bottom:15px}
#member_cert_refresh h2 {text-align:left;padding:20px;border-bottom:1px solid #dde7e9;font-size:1.2em}
#member_cert_refresh textarea {display:block;padding:20px;width:100%;height:150px;background:#fff;border:0;line-height:1.6em}
#member_cert_refresh_private {position:relative}
#member_cert_refresh_private div {padding:20px;background:#fff}
#member_cert_refresh_private table {width:100%;border-collapse:collapse;font-size:1em;}
#member_cert_refresh_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
#member_cert_refresh_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf;font-weight:bold;}
#member_cert_refresh_private table td {border:1px solid #e7e9ec;padding:10px;border-top:0}

.member_cert_refresh_agree {position:absolute;top:0;right:0}
.member_cert_refresh_agree input[type="checkbox"] + label {color:#676e70}
.member_cert_refresh_agree input[type="checkbox"] + label:hover {color:#2172f8}
.member_cert_refresh_agree input[type="checkbox"] + label span {position:absolute;top:20px;right:15px;width:17px;height:17px;display:block;background:#fff;border:1px solid #999;border-radius:3px}
.member_cert_refresh_agree input[type="checkbox"]:checked + label {color:#000}
.member_cert_refresh_agree input[type="checkbox"]:checked + label span {background:url('./img/chk.png') no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.member_cert_refresh_agree.chk_all input[type="checkbox"] + label span {top:18px}

#member_cert_refresh #find_info {margin:50px 0}
#member_cert_refresh #find_info .find_btn {padding:10px 20px;background:#fff}
#member_cert_refresh #find_info .find_btn > div {margin:10px 0}

/* 로그인 */
#mb_login {}
#mb_login h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#login_fs {padding:35px}
#mb_login #login_fs .frm_input {margin:0 0 10px}
#mb_login #login_fs .btn_submit {margin:0 0 15px}

#login_info {}
#login_info:after {display:block;visibility:hidden;clear:both;content:""}
#login_info .login_if_auto {float:left}
#login_info .login_if_auto label {vertical-align:baseline;padding-left:5px}
#login_info .login_if_lpl {float:right}
#login_password_lost {display:inline-block;border:1px solid #d5d9dd;color:#3a8afd;border-radius:2px;padding:2px 5px;line-height:20px}

#mb_login_notmb {margin:30px auto;padding:20px 30px;border: 1px solid #dde7e9}
#mb_login_notmb h2 {font-size:1.25em;margin:20px 0 10px}
#guest_privacy {border:1px solid #ccc;text-align:left;line-height:1.6em;color:#666;background:#fafafa;padding:10px;height:150px;margin:10px 0;overflow-y:auto}
#mb_login_notmb .btn_submit {display:block;text-align:center;line-height:45px}

#mb_login_od_wr {margin:30px auto;padding:20px 30px;border: 1px solid #dde7e9}
#mb_login_od_wr h2 {font-size:1.25em;margin:20px 0 10px}
#mb_login_od_wr .frm_input {margin:10px 0 0}
#mb_login_od_wr p {background:#f3f3f3;margin:20px 0 0;padding:15px 20px;line-height:1.5em}

#mb_login #sns_login {margin-top:0;border-color:#edeaea;padding:25px}
#mb_login #sns_login:after {display:block;visibility:hidden;clear:both;content:""}
#mb_login #sns_login h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#mb_login #sns_login .sns-wrap {margin:0 !important}
#mb_login #sns_login .sns-icon {width:49% !important;float:left !important}
#mb_login #sns_login .sns-icon:nth-child(odd) {margin-right:2%}
#mb_login #sns_login .txt {font-size:0.95em;padding-left:5px !important;border-left:0 !important}

/* 쪽지 */
.memo_list {border-top:1px solid #ececec}
.memo_list li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.memo_list li:after {display:block;visibility:hidden;clear:both;content:""}
.memo_list li.read {background:#f6f6f6}
.memo_list li.empty_li {text-align:center;padding:20px 0;color:#666}

.memo_list .memo_li {float:left}
.memo_list .profile_big_img {position:relative;margin-right:15px}
.memo_list .profile_big_img img {border-radius:50%;width:52px;height:52px}
.memo_list .memo_li.memo_name {padding-top:5px;float:none}
.memo_list .memo_preview a{display:block;margin-right:30px;padding-top:10px;font-weight:normal !important;font-size:1.2em}
.memo_list .memo_preview a:hover{text-decoration:underline}
.memo_list .memo_name a,
.memo_list .memo_name .sv_wrap {font-weight:bold}
.memo_list .no_read {position:absolute;bottom:0;right:0;display:inline-block;background:#3a8afd;border:1px solid #e1edff;text-indent:-9999px;border-radius:10px;width:10px;height:10px;box-shadow:0 0 10px 3px #9ec3f9}
.memo_list .no_read {animation:blinker 1s linear infinite}

@keyframes blinker {
	50% {opacity:0}
	}

#memo_list h1#win_title {padding:10px 10px 10px 20px}
#memo_list .memo_datetime {font-size:0.92em;color:#888d92}
#memo_list .memo_del {position:absolute;right:15px;top:15px;padding:10px;color:#c7c9cb;font-size:1.4em}
#memo_list .memo_cnt {margin-top:5px;font-weight:normal;display:inline-block;font-size:1.2em}
#memo_list .pg_wrap {margin-top:10px;width:100%;float:inherit;text-align:center}

#memo_view_contents {margin-bottom:20px;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#memo_view_ul {margin:0;list-style:none;background:#f6f6f6}
#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""}
.memo_view_li {position:relative;/*padding:10px;float:left;width:50%*/}

.memo_view_li .profile_img img {display:none}
.memo_from {position:relative;background:#fff;border-bottom:1px solid #ececec;padding:15px 20px}
.memo_from li {float:left}
.memo_from li.memo_profile img {width:40px;height:40px;border-radius:50%}
.memo_from li:first-child {margin-right:10px}
.memo_from li.memo_view_nick {width:80%}
.memo_from li.memo_view_nick a {font-weight:bold !important}
.memo_from li.memo_view_date {display:block;color:#555;line-height:24px}
.memo_from li.memo_op_btn {position:absolute}
.memo_from li.list_btn {right:53px;}
.memo_from li.del_btn {right:15px;}
.memo_from:after {display:block;visibility:hidden;clear:both;content:""}

.memo_btn {width:100%}
.memo_btn a {display:inline-block;width:50%;font-size:1em;color:#888d92;padding:20px}
.memo_btn a.btn_right {float:right;text-align:right}
.memo_btn a i {font-size:1.2em;color:#acabab;vertical-align:bottom}

#memo_view p {padding:10px;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em}
#memo_view textarea {height:100px}

#memo_write .form_01 {padding:20px;border-top:1px solid #ececec}

.reply_btn {display:inline-block;width:150px;height:45px;line-height:50px;padding:0 10px;font-weight:bold;background:#3a8afd;color:#fff;border-radius:3px;vertical-align:bottom;margin-right:5px}
#memo_write .reply_btn {font-size:1em}

/* 스크랩 */
#scrap li:after {display:block;visibility:hidden;clear:both;content:""}
#scrap li {position:relative;padding:20px;border-bottom:1px solid #ececec}
#scrap .scrap_tit {font-weight:bold;display:block;font-size:1.083em;margin-bottom:10px;line-height:1.3em}
#scrap .scrap_cate {float:left;display:block;color:#ac92ec;background:#eeeaf8;padding:3px;border-radius:3px;font-size:0.92em;margin-right:10px}
#scrap .scrap_datetime {color:#777;line-height:18px}
#scrap .scrap_del {position:absolute;top:15px;right:15px;font-size:18px;color:#c7c9cb}
#scrap .scrap_del:hover {color:#3a8afd}

#scrap_do .new_win_con {padding:0 20px}
#scrap_do textarea {width:100%;height:100px}
#scrap_do .scrap_tit {margin-bottom:10px;background:#f3f3f3;padding:10px 15px;font-size:1.2em;font-weight:bold}
#scrap_do label {display:block;margin:0 0 5px;font-size:1em}
#scrap_do .win_btn:after {display:block;visibility:hidden;clear:both;content:""}
#scrap .win_btn, #scrap_do .win_btn {margin:20px 0;text-align:center}
#scrap_do .win_btn .btn_submit {float:inherit}
#scrap_do .win_desc {margin:0 20px}

/*포인트*/
#point {text-align:center}
#point h1 {text-align:left}
#point .point_all {margin:20px 20px 15px;border-radius:5px;background:#edf3fc;border:1px solid #d6e2f4;color:#485172;font-size:1.083em}
#point .point_all:after {display:block;visibility:hidden;clear:both;content:""}
#point .point_all li {float:left;width:50%;padding:20px;text-align:left}
#point .point_all li span {float:right;color:#485172;font-weight:bold}
#point .point_all li:last-child {border-left:1px solid #d6e2f4}
#point .point_all .full_li {width:100%;border-bottom:1px solid #d6e2f4;text-align:left}
#point .point_all .full_li span {color:#000;font-weight:bold;font-size:1.2em}
#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em;text-align:left}
#point .point_status:after {display:block;visibility:hidden;clear:both;content:""}
#point .point_status span{margin-left:10px;float:right}

.point_list {}
.point_list li:first-child {border-top:1px solid #ececec}
.point_list li {border-bottom:1px solid #ececec;background:#fff;padding:15px;list-style:none;position:relative}
.point_list li:after {display:block;visibility:hidden;clear:both;content:""}

.point_list .point_use {background:#f6f6f6}
.point_list .point_use .point_num {font-size:1.25em;color:#ff4f76;font-weight:bold;float:right}
.point_list .point_num {font-size:1.25em;color:#3a8afd;font-weight:bold;position:absolute;right:15px;top:25px}
.point_list .point_top {line-height:15px;margin:0 0 5px}
.point_list .point_top:after {display:block;visibility:hidden;clear:both;content:""}
.point_list .point_tit {font-weight:bold;float:left;font-size:1.083em;display:block}
.point_list .point_date1 {float:left;color:#888d92}
.point_list .point_date {float:left;color:#888d92}
.point_list .txt_expired {color:red;margin-left:5px}

#point .pg_wrap {width:100%;float:inherit;text-align:center}
#point .btn_close {margin:20px auto}

/* 회원 비밀번호 확인 */
#mb_confirm {}
#mb_confirm h1 {margin:60px 0 30px;font-size:2em}
#mb_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565}
#mb_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px}
#mb_confirm fieldset {padding:50px;text-align:left}
#mb_confirm fieldset .frm_input {background-color:#fff !important}
#mb_confirm label {letter-spacing:-0.1em}
#mb_confirm_id {display:block;margin:5px 0 10px;font-weight:bold}
#mb_confirm .confirm_id {font-size:0.92em;color:#666}

/* 비밀글 비밀번호 확인 */
#pw_confirm h1 {margin:60px 20px 30px;font-size:2em}
#pw_confirm p {padding:0 20px 40px;border-bottom:1px solid #e9e9e9;font-size:1.083em;line-height:1.4em;color:#656565}
#pw_confirm p strong {display:block;color:#3ca1ff;font-size:1.167em;margin:0 0 5px}
#pw_confirm fieldset {padding:50px;text-align:center}
#pw_confirm fieldset .frm_input {background-color:#fff !important}
#pw_confirm label {letter-spacing:-0.1em}
#pw_confirm_id {display:inline-block;margin-right:20px;font-weight:bold}
#mb_confirm_id {}

/* 폼메일 */
#formmail textarea {height:100px}
#formmail .formmail_flie {position:relative}
#formmail .formmail_flie .file_wr {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#formmail .lb_icon {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;background:#fff;text-align:center;color:#b2b2b2}
#formmail .frm_file {padding-left:50px}
#formmail .frm_info {color:#3497d9;font-size:0.92em}
.chk_box {position:relative}
.chk_box input[type="radio"] {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box input[type="radio"] + label {position:relative;padding-left:23px;display:inline-block;color:#676e70}
.chk_box input[type="radio"] + label span {position:absolute;top:0;left:0;width:15px;height:15px;display:block;background:#f7f8f9;border:1px solid #cdd6df;border-radius:50%}
.chk_box input[type="radio"]:checked + label {color:#3a8afd}
.chk_box input[type="radio"]:checked + label span {border-color:#3a8afd}
.chk_box input[type="radio"]:checked + label span:before {width:7px;height:7px;background:#3a8afd;content:'';position:absolute;top:3px;left:3px;border-radius:50%}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}

/* 자기소개 */
#profile h1 a {}
#profile table {margin-bottom:0}
#profile table th {text-align:left;padding:10px;width:100px}
#profile section {color:#6794d3;background:#fff;padding:10px;border:1px solid #eee;margin:10px 0}
#profile h2 {margin:0 0 5px}
#profile .profile_name {text-align:center;font-weight:bold}
#profile .my_profile_img {display:block;margin:20px 0 5px}
#profile .my_profile_img img {border-radius:50%}
#profile .profile_img img {border-radius:50%}
#profile .profile_name .sv_wrap {font-weight:bold;text-align:left}

/* ==========================================================
   연구실 베이스 — 회원 스킨 (lab)
   로그인 / 회원가입 약관 / 회원정보 입력 / 가입완료
   색상은 아래 --point 하나만 바꾸면 사이트별 커스텀 가능.
   ========================================================== */
.lab-mb {
    --point: #0f2557;
    --point-dark: #0a1a3e;
    --point-tint: #f2f5fa;
    --point-line: #c6d2e6;
    --ink: #1a1d24;
    --ink-2: #4b5160;
    --ink-3: #8a90a0;
    --line: #e3e6ec;
    --line-2: #eef0f4;
    --bg: #f6f7f9;

    max-width: 1400px;
    margin: 0 auto;
    padding: 72px clamp(20px, 5vw, 64px) 96px;
    box-sizing: border-box;
    background: #fff;
    color: var(--ink);
    font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Malgun Gothic', sans-serif;
    letter-spacing: -0.01em;
}
.lab-mb *, .lab-mb *:before, .lab-mb *:after { box-sizing: border-box; }
.lab-mb input, .lab-mb button, .lab-mb textarea, .lab-mb select { font-family: inherit; }
.lab-mb input:focus, .lab-mb textarea:focus, .lab-mb select:focus {
    outline: 2px solid var(--point-line); outline-offset: -1px; border-color: var(--point-line) !important;
    box-shadow: none;
}
.lab-mb button, .lab-mb label { word-break: keep-all; }

/* ---------- 공통 타이틀 ---------- */
.lab-mb-head { display:flex; flex-direction:column; gap:8px; align-items:center; }
.lab-mb-head h2 { margin:0; padding:0; border:0; font-size:34px; font-weight:800; letter-spacing:-0.02em; color:var(--ink); background:none; text-align:center; }
.lab-mb-bar { width:36px; height:3px; background:var(--point); border-radius:2px; }

/* ---------- 공통 버튼 ---------- */
.lab-mb .lab-btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:7px;
    padding:15px; width:100%; border-radius:10px; border:0;
    background:var(--point); color:#fff; font-size:15.5px; font-weight:700; line-height:1.2;
    cursor:pointer; text-decoration:none; height:auto; float:none; transition:background .15s;
}
.lab-mb .lab-btn-primary:hover { background:var(--point-dark); color:#fff; }
.lab-mb .lab-btn-primary i { font-size:12px; }
.lab-mb .lab-btn-cancel {
    display:inline-flex; align-items:center; justify-content:center;
    padding:15px; width:100%; border-radius:10px; border:1px solid var(--line);
    background:#fff; color:var(--ink-2); font-size:15.5px; font-weight:700; line-height:1.2;
    cursor:pointer; text-decoration:none; height:auto; float:none;
}
.lab-mb .lab-btn-cancel:hover { border-color:var(--point-line); background:var(--bg); color:var(--ink); }
.lab-mb .lab-btns { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin:28px 0 0; text-align:left; }
.lab-mb .lab-btns-one { grid-template-columns:1fr; max-width:280px; margin-left:auto; margin-right:auto; }

/* ---------- 체크박스(네이티브) ---------- */
.lab-mb .lab-check { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-2); cursor:pointer; }
.lab-mb .lab-check input[type=checkbox] { width:16px; height:16px; accent-color:var(--point); margin:0; }

/* ==========================================================
   1) 로그인
   ========================================================== */
#mb_login.lab-mb { background:#fff; min-height:0; }
.lab-login-grid {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(min(440px,100%), 1fr));
    gap:clamp(24px,4vw,56px); align-items:stretch; max-width:1080px; margin:56px auto 0;
}
/* 안내 패널 없이 로그인 카드만 쓸 때 (기본) */
.lab-login-grid:not(:has(.lab-login-hero)) { grid-template-columns:1fr; max-width:520px; }
.lab-login-hero {
    background:linear-gradient(155deg, var(--point), var(--point-dark));
    border-radius:24px; padding:clamp(36px,4vw,52px); color:#fff;
    position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; min-height:360px;
}
.lab-login-ghost { position:absolute; right:-30px; bottom:-70px; font-size:240px; font-weight:800; letter-spacing:-0.05em; line-height:1; color:rgba(255,255,255,0.07); }
.lab-login-kick { position:relative; font-size:13px; font-weight:800; letter-spacing:0.2em; opacity:.7; }
.lab-login-hero h3 { position:relative; margin:20px 0 0; font-size:clamp(26px,2.8vw,34px); font-weight:800; line-height:1.3; letter-spacing:-0.02em; color:#fff; }
.lab-login-hero p { position:relative; margin:18px 0 0; font-size:15px; line-height:1.7; opacity:.82; max-width:340px; color:#fff; }

.lab-login-card { border:1px solid var(--line); border-radius:24px; padding:clamp(32px,4vw,48px); display:flex; flex-direction:column; justify-content:center; }
.lab-login-card form { margin:0; }
.lab-login-card fieldset { border:0; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; background:none; }
.lab-login-card .lab-fld { display:flex; flex-direction:column; gap:7px; }
.lab-login-card .lab-fld > label { font-size:13px; font-weight:700; color:var(--ink-2); margin:0; display:block; }
.lab-login-card .lab-inp { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:0 16px; background:#fff; }
.lab-login-card .lab-inp i { color:var(--ink-3); font-size:14px; }
.lab-login-card .lab-inp input {
    flex:1; width:100%; border:0 !important; outline:none; padding:14px 0; font-size:15px; background:transparent;
    height:auto; margin:0 !important; border-radius:0; box-shadow:none;
}
.lab-login-card .lab-inp:focus-within { border-color:var(--point-line); box-shadow:0 0 0 3px rgba(15,37,87,.06); }
.lab-login-card .lab-inp input:focus { outline:none !important; }
.lab-login-card .lab-btn-primary { margin-top:6px; }
.lab-login-sub { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-top:4px; }
.lab-login-sub a { font-size:14px; font-weight:600; color:var(--point); text-decoration:none; }
.lab-login-sub a:hover { color:var(--point-dark); text-decoration:underline; }
.lab-or { display:flex; align-items:center; gap:14px; margin:18px 0 4px; }
.lab-or:before, .lab-or:after { content:""; flex:1; height:1px; background:var(--line); }
.lab-or span { font-size:12.5px; color:var(--ink-3); font-weight:600; }
.lab-mb .lab-btn-ghost {
    display:flex; align-items:center; justify-content:center; gap:9px; padding:14px;
    border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--ink);
    font-size:15px; font-weight:700; text-decoration:none;
}
.lab-mb .lab-btn-ghost i { font-size:13px; color:var(--point); }
.lab-mb .lab-btn-ghost:hover { border-color:var(--point-line); background:var(--point-tint); color:var(--ink); }

/* 쇼핑몰 비회원 영역 */
.lab-guest { max-width:1080px; margin:40px auto 0; border:1px solid var(--line); border-radius:16px; padding:32px; }
.lab-guest h2 { margin:0 0 12px; font-size:20px; font-weight:800; border:0; padding:0; }
.lab-guest input[type=text], .lab-guest input[type=password] {
    width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:9px; font-size:14.5px; margin:0 0 10px;
}
.lab-guest .btn_confirm { margin-top:16px; max-width:320px; }

/* ==========================================================
   2) 회원가입 공통 (약관 / 정보입력 / 완료)
   ========================================================== */
.lab-join .lab-join-inner { max-width:860px; margin:44px auto 0; }
.lab-join form { margin:0; }

/* 단계 표시 */
.lab-steps { display:flex; align-items:center; gap:20px; margin:0 0 36px; padding:0; list-style:none; flex-wrap:wrap; }
.lab-steps li { display:flex; align-items:center; gap:11px; font-size:14.5px; font-weight:700; color:var(--ink-3); }
.lab-steps li span {
    width:30px; height:30px; flex:none; border-radius:50%;
    background:var(--line-2); color:var(--ink-3);
    display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:800;
}
.lab-steps li.on { color:var(--point); }
.lab-steps li.on span { background:var(--point); color:#fff; }
.lab-steps li.done { color:var(--ink-3); }
.lab-steps li.done span { background:var(--point-tint); color:var(--point); }

/* 안내 바 */
.lab-join .lab-notice {
    display:flex; align-items:center; gap:12px;
    background:var(--point-tint); border:1px solid var(--point-line); border-radius:14px;
    padding:18px 24px; margin:0 0 24px;
    font-size:14.5px; font-weight:700; color:var(--point); line-height:1.5;
    height:auto; text-align:left; box-shadow:none;
}
.lab-join .lab-notice:before { display:none; }
.lab-join .lab-notice i { color:var(--point); font-size:17px; }

/* 약관 카드 */
.lab-join .lab-agree-card { border:1px solid var(--line); border-radius:16px; overflow:hidden; margin:0 0 16px; position:static; }
.lab-join .lab-agree-head {
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    padding:20px 24px; background:var(--bg); border-bottom:1px solid var(--line); cursor:pointer; margin:0;
}
.lab-join .lab-agree-title { font-size:16.5px; font-weight:800; letter-spacing:-0.01em; color:var(--ink); }
.lab-join .lab-agree-title em { font-style:normal; color:#e5484d; }
.lab-join .lab-agree-head input[type=checkbox] { width:19px; height:19px; accent-color:var(--point); margin:0; flex:none; }
.lab-join .lab-agree-body { padding:22px 24px; background:#fff; }
.lab-join .lab-agree-body textarea {
    display:block; width:100%; height:190px; padding:0; border:0; background:#fff;
    font-size:14.5px; line-height:1.8; color:var(--ink-2); resize:vertical;
}
.lab-join .lab-agree-body textarea:focus { outline:none !important; }
.lab-join .lab-agree-tbl { width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.lab-join .lab-agree-tbl th {
    padding:13px 16px; font-size:13.5px; font-weight:800; text-align:center; color:var(--ink);
    background:var(--bg); border:0; border-bottom:1px solid var(--line); width:33.33%;
}
.lab-join .lab-agree-tbl td { padding:14px 16px; font-size:13.5px; color:var(--ink-2); line-height:1.5; border:0; border-top:1px solid var(--line-2); }
.lab-join .lab-agree-tbl tbody tr:first-child td { border-top:0; }

/* 모두 동의 */
.lab-join .lab-agree-all {
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    background:var(--point); border-radius:14px; padding:20px 24px; margin:8px 0 0; cursor:pointer;
    border:0; line-height:1.4; text-align:left;
}
.lab-join .lab-agree-all span { font-size:16px; font-weight:800; color:#fff; }
.lab-join .lab-agree-all input[type=checkbox] { width:20px; height:20px; accent-color:#fff; margin:0; flex:none; }

/* ==========================================================
   3) 회원정보 입력 폼 (register_form)
   ========================================================== */
.lab-join #register_form { background:none; margin:0; counter-reset:labsec; }
.lab-join .register_form_inner { background:none; border:0; border-radius:0; margin:0 0 32px; }
.lab-join .register_form_inner h2 {
    display:flex; align-items:center; gap:12px;
    padding:0 0 14px; margin:0 0 8px; border:0; border-bottom:2px solid var(--ink);
    font-size:18px; font-weight:800; letter-spacing:-0.01em; color:var(--ink); text-align:left;
}
.lab-join .register_form_inner h2:before {
    counter-increment:labsec; content:counter(labsec);
    width:26px; height:26px; flex:none; border-radius:8px; background:var(--point); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800;
}
.lab-join .register_form_inner ul { padding:0; margin:0; list-style:none; }
.lab-join .register_form_inner > ul > li {
    display:grid; grid-template-columns:minmax(120px,180px) 1fr; align-items:center;
    border-bottom:1px solid var(--line-2); padding:8px 0; margin:0; float:none; width:auto;
}
.lab-join .register_form_inner > ul > li:last-child { border-bottom:0; }
.lab-join .register_form_inner > ul > li > label,
.lab-join .register_form_inner > ul > li > .frm_label {
    padding:12px 8px; margin:0; font-size:14.5px; font-weight:700; color:var(--ink);
    display:flex; align-items:center; gap:5px; line-height:1.4;
}
.lab-join .register_form_inner > ul > li > label.sound_only { padding:0; }
.lab-join .register_form_inner > ul > li > input,
.lab-join .register_form_inner > ul > li > textarea,
.lab-join .register_form_inner > ul > li > select,
.lab-join .register_form_inner > ul > li > span,
.lab-join .register_form_inner > ul > li > div,
.lab-join .register_form_inner > ul > li > button,
.lab-join .register_form_inner > ul > li > img { grid-column:2; }
.lab-join #fregisterform .frm_input {
    width:100%; max-width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:9px;
    font-size:14.5px; background:#fff; height:auto; margin:8px 0; box-shadow:none; color:var(--ink);
}
.lab-join #fregisterform #reg_mb_name,
.lab-join #fregisterform #reg_mb_nick,
.lab-join #fregisterform #reg_mb_tel,
.lab-join #fregisterform #reg_mb_hp { max-width:360px; }
.lab-join #fregisterform .twopart_input { max-width:180px; display:inline-block; vertical-align:middle; }
.lab-join #fregisterform textarea {
    width:100%; padding:13px 15px; border:1px solid var(--line); border-radius:9px;
    font-size:14.5px; line-height:1.7; min-height:110px; margin:8px 0;
}
.lab-join #fregisterform .btn_frmline {
    display:inline-flex; align-items:center; justify-content:center; height:46px; padding:0 18px;
    margin:8px 0 8px 8px; border:1px solid var(--line); border-radius:9px;
    background:#fff; color:var(--ink-2); font-size:14px; font-weight:700; cursor:pointer; vertical-align:middle;
}
.lab-join #fregisterform .btn_frmline:hover { border-color:var(--point-line); background:var(--point-tint); color:var(--point); }
.lab-join #fregisterform .cert_desc { color:var(--point); font-size:12.5px; font-weight:600; }
.lab-join #fregisterform .cert_req { margin-left:5px; line-height:1; color:#e5484d; font-weight:800; font-size:13px; }
.lab-join #fregisterform #msg_certify { margin:8px 0; padding:12px 16px; border:1px solid var(--point-line); background:var(--point-tint); border-radius:9px; color:var(--point); font-size:13.5px; text-align:left; }
.lab-join #fregisterform #msg_mb_id, .lab-join #fregisterform #msg_mb_nick { display:block; padding:0 8px 6px; font-size:12.5px; color:var(--ink-3); }
.lab-join #fregisterform .form_01 div { margin:0; }
.lab-join #fregisterform .reg_mb_img_file img { max-width:120px; height:auto; border-radius:9px; margin:8px 0; display:block; }
.lab-join #fregisterform input[type=file] { padding:10px 0; font-size:13.5px; }

/* 필수 표시 — 라벨 안 "(필수)" 를 붉게 */
.lab-join .register_form_inner > ul > li > label { position:relative; }

/* 체크박스 행 (정보공개·수신설정) */
.lab-join .register_form_inner > ul > li.chk_box {
    display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:12px 8px;
}
.lab-join .register_form_inner > ul > li.chk_box .chk_li { padding-left:6px; font-size:14.5px; color:var(--ink-2); }
.lab-join .chk_box input[type=checkbox] + label span { border-radius:5px; border-color:var(--line); width:17px; height:17px; }
.lab-join .chk_box input[type=checkbox]:checked + label span { background-color:var(--point); border-color:var(--point); }
.lab-join #fregisterform .consent-line { display:flex; align-items:center; gap:6px; margin:0 !important; }
.lab-join #fregisterform .sub-consents { padding:6px 0 0 24px; }
.lab-join #fregisterform .sub-consents li { padding:6px 0; }
.lab-join #fregisterform .consent-date { margin:4px 0 0 24px !important; font-size:12.5px; color:var(--ink-3); }
.lab-join #fregisterform .js-open-consent { margin-left:8px; font-size:12.5px; color:var(--point); background:none; border:0; cursor:pointer; text-decoration:underline; }

/* 자동등록방지 */
.lab-join .is_captcha_use { display:flex !important; flex-wrap:wrap; align-items:center; gap:12px; padding:8px !important; grid-template-columns:none !important; font-size:0; }
.lab-join .is_captcha_use > * { font-size:14.5px; }
.lab-join #captcha { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lab-join #captcha #captcha_img { border:1px solid var(--line); border-radius:8px; }
.lab-join #captcha #captcha_mp3, .lab-join #captcha #captcha_reload {
    width:44px; height:44px; border-radius:8px; border:1px solid var(--line);
    background:#fff; color:var(--ink-2); cursor:pointer; padding:0;
}
.lab-join #captcha #captcha_key {
    padding:13px 15px; border:1px solid var(--line); border-radius:9px; font-size:14.5px; min-width:200px; height:auto;
}
.lab-join #captcha_info { display:block; width:100%; font-size:12.5px; color:var(--ink-3); }

/* 툴팁 */
.lab-join .tooltip_icon { color:var(--ink-3); font-size:14px; padding:0; }
.lab-join .tooltip_icon:hover { color:var(--point); }
.lab-join .tooltip { border-radius:8px; background:var(--ink); }
.lab-join .tooltip:before { border-right-color:var(--ink); }

/* 하단 버튼 */
.lab-join #fregisterform .btn_confirm { text-align:left; margin:28px 0 0; }

/* ==========================================================
   4) 가입 완료
   ========================================================== */
#reg_result.lab-mb .reg_result_p {
    text-align:center; font-size:19px; font-weight:700; color:var(--ink); line-height:1.7;
    margin:12px 0 28px; padding:36px 24px; border:1px solid var(--line); border-radius:16px; background:var(--bg);
}
#reg_result.lab-mb .reg_result_p i { font-size:34px; color:var(--point); margin-bottom:14px; display:inline-block; }
#reg_result.lab-mb .reg_result_p strong { color:var(--point); }
#reg_result.lab-mb .result_txt, #reg_result.lab-mb p { font-size:14.5px; line-height:1.8; color:var(--ink-2); text-align:center; margin:0 0 14px; }
#reg_result.lab-mb #result_email {
    margin:0 auto 20px; max-width:520px; padding:20px 24px; border:1px solid var(--point-line);
    background:var(--point-tint); border-radius:12px; font-size:14.5px; line-height:2; text-align:center;
}
#reg_result.lab-mb #result_email span { display:inline-block; min-width:96px; color:var(--ink-3); font-weight:700; }
#reg_result.lab-mb #result_email strong { color:var(--point); }

/* ==========================================================
   반응형
   ========================================================== */
@media (max-width:860px) {
    .lab-mb { padding:48px 20px 64px; }
    .lab-mb-head h2 { font-size:28px; }
    .lab-join .lab-join-inner { margin-top:32px; }
    .lab-steps { gap:12px; }
    .lab-steps li { font-size:13px; }
    .lab-join .register_form_inner > ul > li { grid-template-columns:1fr; padding:12px 0; }
    .lab-join .register_form_inner > ul > li > label { padding:0 0 4px; }
    .lab-join .register_form_inner > ul > li > input,
    .lab-join .register_form_inner > ul > li > textarea,
    .lab-join .register_form_inner > ul > li > select,
    .lab-join .register_form_inner > ul > li > span,
    .lab-join .register_form_inner > ul > li > div,
    .lab-join .register_form_inner > ul > li > button,
    .lab-join .register_form_inner > ul > li > img { grid-column:1; }
    .lab-join #fregisterform #reg_mb_name,
    .lab-join #fregisterform #reg_mb_nick,
    .lab-join #fregisterform #reg_mb_tel,
    .lab-join #fregisterform #reg_mb_hp { max-width:100%; }
    .lab-login-hero { min-height:240px; }
    .lab-login-ghost { font-size:160px; right:-16px; bottom:-46px; }
}

/* ==========================================================
   5) 기본 스킨(id 선택자) 우선순위 덮어쓰기
   basic style.css 의 #fregister / #register_form 규칙이
   위 클래스 규칙보다 특정도가 높아 아래에서 다시 지정한다.
   ========================================================== */
#fregister p.lab-notice {
    position:static; display:flex; align-items:center; gap:12px;
    height:auto; line-height:1.5; text-align:left; border-radius:14px;
    background:var(--point-tint); border:1px solid var(--point-line);
    color:var(--point); font-size:14.5px; font-weight:700; padding:18px 24px; margin:0 0 24px;
}
#fregister p.lab-notice:before { content:none; display:none; }
#fregister p.lab-notice i { font-size:17px; color:var(--point); vertical-align:baseline; }

#fregister section.lab-agree-card { margin:0 0 16px; border:1px solid var(--line); border-radius:16px; position:static; overflow:hidden; }
#fregister .lab-agree-card .lab-agree-head { padding:20px 24px; border-bottom:1px solid var(--line); background:var(--bg); font-size:16.5px; text-align:left; }
#fregister .lab-agree-body { padding:22px 24px; }
#fregister .lab-agree-body textarea { padding:0; height:190px; border:0; background:#fff; line-height:1.8; }
#fregister .lab-agree-body table { font-size:13.5px; }
#fregister .lab-agree-tbl th { background:var(--bg); border:0; border-bottom:1px solid var(--line); padding:13px 16px; color:var(--ink); }
#fregister .lab-agree-tbl td { border:0; border-top:1px solid var(--line-2); padding:14px 16px; }
#fregister .lab-agree-tbl tbody tr:first-child td { border-top:0; }

#fregister_chkall.lab-agree-all {
    position:static; display:flex; justify-content:space-between; align-items:center; gap:12px;
    background:var(--point); border:0; border-radius:14px; padding:20px 24px; margin:8px 0 0;
    line-height:1.4; text-align:left;
}
#fregister_chkall.lab-agree-all span { font-size:16px; font-weight:800; color:#fff; }
#fregister_chkall.lab-agree-all input[type=checkbox] { position:static; width:20px; height:20px; opacity:1; z-index:auto; accent-color:#fff; margin:0; flex:none; }

#fregister .lab-btns { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin:28px 0 0; text-align:left; }
#fregister .lab-btns .lab-btn-primary,
#fregister .lab-btns .lab-btn-cancel { float:none; width:100%; height:auto !important; font-size:15.5px; margin:0; }

/* register_form — 섹션 헤더 / 입력행 */
#register_form.form_01 { background:none; margin:0; counter-reset:labsec; }
#register_form .register_form_inner { background:none; border:0; border-radius:0; margin:0 0 32px; }
#register_form .register_form_inner h2 {
    display:flex; align-items:center; gap:12px;
    padding:0 0 14px; margin:0 0 8px; border:0; border-bottom:2px solid var(--ink);
    font-size:18px; font-weight:800; color:var(--ink); text-align:left; background:none;
}
#register_form .register_form_inner h2:before {
    counter-increment:labsec; content:counter(labsec);
    width:26px; height:26px; flex:none; border-radius:8px; background:var(--point); color:#fff;
    display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800;
}
#register_form .register_form_inner ul { padding:0; margin:0; list-style:none; }
#register_form .register_form_inner > ul > li {
    display:grid; grid-template-columns:minmax(120px,180px) 1fr; align-items:center;
    border-bottom:1px solid var(--line-2); padding:8px 0; margin:0; float:none; width:auto;
}
#register_form .register_form_inner > ul > li:last-child { border-bottom:0; }
#register_form .register_form_inner > ul > li.half_input,
#register_form .register_form_inner > ul > li.left_input,
#register_form .register_form_inner > ul > li.margin_input { width:auto; float:none; margin-right:0; }
#register_form .register_form_inner > ul > li > label,
#register_form .register_form_inner > ul > li > .frm_label {
    display:flex; align-items:center; gap:5px; padding:12px 8px; margin:0;
    font-size:14.5px; font-weight:700; color:var(--ink); line-height:1.4;
}
#register_form .register_form_inner > ul > li > label.sound_only { padding:0; }
#register_form .register_form_inner > ul > li > input,
#register_form .register_form_inner > ul > li > textarea,
#register_form .register_form_inner > ul > li > select,
#register_form .register_form_inner > ul > li > span,
#register_form .register_form_inner > ul > li > div,
#register_form .register_form_inner > ul > li > button,
#register_form .register_form_inner > ul > li > img { grid-column:2; }
#register_form .register_form_inner > ul > li.chk_box {
    display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:12px 8px;
}
#register_form .register_form_inner > ul > li.is_captcha_use { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:8px; }
#fregisterform .btn_confirm.lab-btns { display:grid; grid-template-columns:1fr 2fr; gap:10px; margin:28px 0 0; text-align:left; }
#fregisterform .btn_confirm.lab-btns .lab-btn-primary,
#fregisterform .btn_confirm.lab-btns .lab-btn-cancel { float:none; width:100%; height:auto !important; margin:0; }

@media (max-width:860px) {
    #register_form .register_form_inner > ul > li { grid-template-columns:1fr; padding:12px 0; }
    #register_form .register_form_inner > ul > li > label { padding:0 0 4px; }
    #register_form .register_form_inner > ul > li > input,
    #register_form .register_form_inner > ul > li > textarea,
    #register_form .register_form_inner > ul > li > select,
    #register_form .register_form_inner > ul > li > span,
    #register_form .register_form_inner > ul > li > div,
    #register_form .register_form_inner > ul > li > button,
    #register_form .register_form_inner > ul > li > img { grid-column:1; }
}

/* 섹션 간 여백 (기본 스킨의 .form_01 div 규칙보다 뒤에 위치) */
.lab-join #register_form .register_form_inner { margin:0 0 32px; }
.lab-join #register_form .register_form_inner:last-of-type { margin-bottom:0; }

/* 필수 표시 — 기본 스킨의 require.png 배경 제거하고 라벨의 * 로 통일 */
.lab-join #fregisterform .frm_input.required,
.lab-join #fregisterform input.required,
.lab-join #fregisterform textarea.required { background-image:none; }
.lab-join .lab-req { font-style:normal; font-weight:800; color:#e5484d; margin-left:2px; }
.lab-join .cert_req { margin-left:6px; line-height:1; }

/* 자동등록방지 — 기본 아이콘(배경 이미지)은 유지하고 틀만 재정의 */
.lab-join #captcha { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.lab-join #captcha #captcha_mp3,
.lab-join #captcha #captcha_reload {
    width:44px; height:44px; border-radius:8px; border:1px solid var(--line);
    background-color:#fff; background-position:50% 50%; cursor:pointer; padding:0;
}
.lab-join #captcha #captcha_mp3:hover,
.lab-join #captcha #captcha_reload:hover { border-color:var(--point-line); background-color:var(--point-tint); }
.lab-join #captcha #captcha_key {
    padding:13px 15px; border:1px solid var(--line); border-radius:9px;
    font-size:14.5px; min-width:220px; height:auto; background-image:none;
}
.lab-join #captcha_info { display:block; width:100%; margin-top:6px; font-size:12.5px; color:var(--ink-3); }

/* 섹션 3·4 본문 여백 */
.lab-join #register_form .register_form_inner h2 + ul > li:first-child { padding-top:14px; }

/* ---------- 최종 보정 ----------
   default.css 의 !important 및 앞선 초기화 규칙을 다시 덮어쓴다. */
.lab-join #fregisterform #register_form .register_form_inner { margin:0 0 36px; }
.lab-join #fregisterform #register_form .register_form_inner:last-of-type { margin-bottom:0; }

.lab-join #fregisterform .required,
.lab-join #fregisterform textarea.required { background-image:none !important; }

.lab-join #captcha #captcha_mp3,
.lab-join #captcha #captcha_reload {
    display:inline-flex; align-items:center; justify-content:center;
    font-size:0; text-indent:0; overflow:hidden;
    background-image:none !important;
}
.lab-join #captcha #captcha_mp3 span,
.lab-join #captcha #captcha_reload span { display:none; }
.lab-join #captcha #captcha_mp3:before,
.lab-join #captcha #captcha_reload:before {
    font-family:"Font Awesome 6 Free"; font-weight:900; font-size:15px; color:var(--ink-2);
}
.lab-join #captcha #captcha_mp3:before { content:"\f028"; }
.lab-join #captcha #captcha_reload:before { content:"\f2f9"; }
.lab-join #captcha #captcha_key { background-image:none !important; }

/* ==========================================================
   6) 아이디·비밀번호 찾기 / 비밀번호 재설정
   ========================================================== */
#find_info.lab-find, #pw_reset.lab-find { padding:72px clamp(20px,5vw,64px) 96px; }
.lab-find .lab-find-card {
    max-width:620px; margin:52px auto 0; border:1px solid var(--line);
    border-radius:24px; padding:clamp(32px,4vw,48px); background:#fff;
}
.lab-find .lab-find-card form { margin:0; }
.lab-find fieldset { border:0; margin:0; padding:0; background:none; }
.lab-find .lab-find-notice {
    display:flex; align-items:flex-start; gap:14px;
    background:var(--point-tint); border:1px solid var(--point-line); border-radius:14px;
    padding:18px 22px; margin:0 0 28px;
    font-size:14.5px; font-weight:600; color:var(--ink-2); line-height:1.6;
    height:auto; text-align:left;
}
.lab-find .lab-find-notice i { color:var(--point); font-size:18px; margin-top:2px; flex:none; }
.lab-find .lab-find-notice strong { color:var(--point); }

.lab-find .lab-fld { display:flex; flex-direction:column; gap:7px; margin:0 0 20px; }
.lab-find .lab-fld > label { font-size:13px; font-weight:700; color:var(--ink-2); margin:0; display:block; }
.lab-find .lab-inp { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:0 16px; background:#fff; }
.lab-find .lab-inp i { color:var(--ink-3); font-size:14px; }
.lab-find .lab-inp input {
    flex:1; width:100%; border:0 !important; outline:none; padding:14px 0; font-size:15px;
    background:transparent; height:auto; margin:0 !important; border-radius:0; box-shadow:none;
    background-image:none !important;
}
.lab-find .lab-inp:focus-within { border-color:var(--point-line); box-shadow:0 0 0 3px rgba(15,37,87,.06); }

/* 자동등록방지 */
.lab-find .lab-find-captcha { gap:9px; margin-bottom:28px; }
.lab-find #captcha { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.lab-find #captcha #captcha_img { border:1px solid var(--line); border-radius:8px; }
.lab-find #captcha #captcha_mp3,
.lab-find #captcha #captcha_reload {
    width:44px; height:44px; border-radius:8px; border:1px solid var(--line);
    background-color:#fff; background-image:none !important; cursor:pointer; padding:0;
    display:inline-flex; align-items:center; justify-content:center; font-size:0; overflow:hidden;
    text-indent:0;   /* 기본 CSS 가 text-indent:-999px 로 글자를 밀어내 아이콘까지 사라진다 */
}
.lab-find #captcha #captcha_mp3 span,
.lab-find #captcha #captcha_reload span { display:none; }
.lab-find #captcha #captcha_mp3:before,
.lab-find #captcha #captcha_reload:before {
    font-family:"Font Awesome 6 Free"; font-weight:900; font-size:15px; color:var(--ink-2);
}
.lab-find #captcha #captcha_mp3:before { content:"\f028"; }
.lab-find #captcha #captcha_reload:before { content:"\f2f9"; }
.lab-find #captcha #captcha_mp3:hover,
.lab-find #captcha #captcha_reload:hover { border-color:var(--point-line); background-color:var(--point-tint); }
.lab-find #captcha #captcha_key {
    flex:1; min-width:160px; padding:13px 15px; border:1px solid var(--line); border-radius:9px;
    font-size:14.5px; height:auto; background-image:none !important;
}
.lab-find #captcha_info { display:block; width:100%; margin-top:6px; font-size:12.5px; color:var(--ink-3); }

.lab-find .win_btn { margin:0; text-align:left; }
.lab-find .lab-btn-primary i { margin-right:2px; }

/* 본인인증으로 찾기 */
.lab-find .lab-find-cert h3 { margin:0 0 12px; font-size:14px; font-weight:700; color:var(--ink-2); text-align:center; border:0; padding:0; }
.lab-find .lab-find-cert .cert_btn { display:flex; flex-direction:column; gap:8px; }

.lab-find .lab-find-back { display:flex; justify-content:center; margin-top:20px; }
.lab-find .lab-find-back a { font-size:14px; font-weight:600; color:var(--ink-2); text-decoration:none; }
.lab-find .lab-find-back a:hover { color:var(--point); }
.lab-find .lab-find-back i { font-size:11px; margin-right:6px; }

/* 기본 스킨(new_win·id 선택자) 잔재 무력화 */
#find_info.lab-find .new_win_con, #pw_reset.lab-find .new_win_con { border:0; padding:0; background:none; }
#find_info.lab-find .frm_input, #pw_reset.lab-find .frm_input { margin:0; }

/* ==========================================================
   7) 비밀글 · 수정/삭제 비밀번호 확인 (password.skin)
   ========================================================== */
#pw_confirm.lab-gate { padding:80px clamp(20px,5vw,64px) 96px; }
.lab-gate .lab-gate-card {
    max-width:560px; margin:0 auto; border:1px solid var(--line);
    border-radius:24px; overflow:hidden; background:#fff;
}
.lab-gate .lab-gate-head {
    padding:clamp(40px,5vw,56px) clamp(28px,4vw,44px) clamp(24px,3vw,32px);
    text-align:center; border-bottom:1px solid var(--line);
}
.lab-gate .lab-gate-icon {
    display:inline-flex; align-items:center; justify-content:center;
    width:60px; height:60px; border-radius:50%;
    background:var(--point-tint); border:1px solid var(--point-line);
    color:var(--point); font-size:24px; margin-bottom:22px;
}
.lab-gate .lab-gate-head h3 {
    margin:0; padding:0; border:0; background:none;
    font-size:clamp(22px,2.6vw,28px); font-weight:800; line-height:1.35;
    letter-spacing:-0.02em; color:var(--ink);
}
.lab-gate .lab-gate-head p {
    margin:16px 0 0; font-size:14.5px; line-height:1.7; color:var(--ink-3);
    height:auto; text-align:center; background:none; border:0;
}
.lab-gate .lab-gate-body { padding:clamp(28px,4vw,40px); display:flex; flex-direction:column; gap:14px; }
.lab-gate .lab-gate-body form { margin:0; }
.lab-gate fieldset { border:0; margin:0; padding:0; background:none; display:flex; flex-direction:column; gap:14px; }
.lab-gate .lab-fld { display:flex; flex-direction:column; gap:7px; margin:0; }
.lab-gate .lab-fld > label { font-size:13px; font-weight:700; color:var(--ink-2); margin:0; display:block; }
.lab-gate .lab-inp { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:10px; padding:0 16px; background:#fff; }
.lab-gate .lab-inp i { color:var(--ink-3); font-size:14px; }
.lab-gate .lab-inp input {
    flex:1; width:100%; border:0 !important; outline:none; padding:15px 0; font-size:15px;
    background:transparent; height:auto; margin:0 !important; border-radius:0; box-shadow:none;
    background-image:none !important;
}
.lab-gate .lab-inp:focus-within { border-color:var(--point-line); box-shadow:0 0 0 3px rgba(15,37,87,.06); }
.lab-gate .lab-gate-back { text-align:center; margin-top:4px; }
.lab-gate .lab-gate-back a { font-size:14px; font-weight:600; color:var(--ink-2); text-decoration:none; }
.lab-gate .lab-gate-back a:hover { color:var(--point); }
.lab-gate .lab-gate-back i { font-size:11px; margin-right:6px; }

/* 기본 스킨(.mbskin / #pw_confirm) 잔재 무력화 */
#pw_confirm.lab-gate:after { display:none; content:none; }
#pw_confirm.lab-gate h1 { display:none; }
#pw_confirm.lab-gate .frm_input { background-color:#fff; }
/* 기본 스킨의 #pw_confirm 규칙(패딩 50px·문단 밑줄) 덮어쓰기 */
#pw_confirm.lab-gate fieldset {
    padding:0; margin:0; border:0; background:none;
    display:flex; flex-direction:column; gap:14px;
}
#pw_confirm.lab-gate .lab-gate-head p { border:0; padding:0; }
#pw_confirm.lab-gate .lab-gate-body { padding:clamp(28px,4vw,40px); }
