@charset "utf-8";
/* biz_02 (FORGE) 테마 · 회원 스킨 (로그인 · 회원가입 · 정보수정 등)
   색·서체는 테마 공통 css/default.css 의 :root 변수를 그대로 씁니다. */

/* ── 카드 공통 : 위쪽에 오렌지 굵은 라벨 바 ───────────────── */
.auth,.join-wrap{position:relative}
.auth .card,.join-wrap .card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--org);padding:44px 42px}

/* ── 로그인 ──────────────────────────────────────────────── */
.auth{max-width:460px;margin:0 auto}
.auth h2{font-size:26px;font-weight:900;text-align:center;letter-spacing:-.01em;margin-bottom:6px}
.auth h2::after{content:"LOGIN";display:block;font-family:var(--latin);font-weight:600;font-size:12px;letter-spacing:.34em;color:var(--org);margin-top:6px}
.auth .sub{text-align:center;font-size:13px;color:var(--gray);margin-bottom:32px}
.auth .fld label{display:block;font-family:var(--latin);font-weight:600;font-size:12px;letter-spacing:.16em;color:var(--ink2);margin-bottom:8px;text-transform:uppercase}
.auth .fld input{width:100%;border:2px solid var(--line);background:#fff;padding:13px 14px;font-size:15px;transition:border-color .25s}
.auth .fld input:focus{outline:0;border-color:var(--ink)}
.auth .opts{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--gray);margin:-4px 0 22px;flex-wrap:wrap}
.auth .opts a:hover{color:var(--org)}
.auth .join{text-align:center;font-size:13.5px;color:var(--gray);margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.auth .join a{color:var(--org);font-weight:700;margin-left:8px;text-decoration:underline;text-underline-offset:4px}
.auth .guest_privacy{max-height:150px;overflow-y:auto;border:1px solid var(--line);background:#FAFBFC;padding:14px 16px;font-size:13px;line-height:1.85;color:var(--gray);margin-bottom:14px}

/* 소셜 로그인 */
.or{display:flex;align-items:center;gap:14px;font-family:var(--latin);font-weight:600;font-size:12px;letter-spacing:.24em;color:var(--gray-l);margin:26px 0 16px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.sns,.sns ul{display:grid;gap:10px}
.sns li{list-style:none}
.sns a{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 14px;border:2px solid var(--line);background:#fff;font-size:14px;font-weight:500}
.sns a:hover{border-color:var(--ink)}
.sns a img{display:inline-block}

/* ── 가입 단계 표시 ──────────────────────────────────────── */
.join-wrap{max-width:760px;margin:0 auto}
.steps{display:flex;justify-content:center;margin-bottom:34px}
.steps li{display:flex;align-items:center;font-size:13px;color:var(--gray-l)}
.steps li+li::before{content:"";width:46px;height:2px;background:var(--line);margin:0 12px}
.steps b{width:28px;height:28px;border:2px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-family:var(--latin);font-weight:700;font-size:15px;margin-right:9px;background:#fff}
.steps li.on{color:var(--ink);font-weight:700}
.steps li.on b{background:var(--org);border-color:var(--org);color:#fff}
.steps li.done{color:var(--gray)}
.steps li.done b{background:var(--ink);border-color:var(--ink);color:#fff}

.card h3{font-size:19px;font-weight:900;padding-bottom:14px;margin-bottom:24px;border-bottom:2px solid var(--ink)}
.card h3 small{font-size:12.5px;font-weight:400;color:var(--gray);margin-left:10px}

/* ── 약관 동의 (번호 붙은 조항 상자) ─────────────────────── */
.terms{border:1px solid var(--line);background:#fff;margin-bottom:26px;counter-reset:b02term}
.terms .all{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:2px solid var(--ink);background:#F1F3F5;font-weight:700;font-size:14.5px}
.terms .all input{width:18px;height:18px;accent-color:var(--org)}
.terms .it{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line);background:#FAFBFC}
.terms .it label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--ink)}
.terms .it label::before{counter-increment:b02term;content:counter(b02term,decimal-leading-zero);font-family:var(--latin);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--org);margin-right:2px}
.terms .it input{width:17px;height:17px;accent-color:var(--org)}
.terms .it .req{color:var(--org);font-size:12px;font-weight:700;margin-left:4px}
.terms .it .opt{color:var(--gray-l);font-size:12px;margin-left:4px}
.b02_join .terms-box{max-height:190px;overflow-y:auto;padding:16px 20px;font-size:13px;line-height:1.85;color:var(--gray);border-bottom:1px solid var(--line);white-space:pre-line;background:#fff}
.b02_join .terms-box:last-child{border-bottom:0}
.b02_join .tbl-terms{width:100%;border-collapse:collapse;font-size:12.5px;white-space:normal}
.b02_join .tbl-terms th,.b02_join .tbl-terms td{border:1px solid var(--line);padding:9px 11px;text-align:left;color:var(--gray)}
.b02_join .tbl-terms th{background:#F1F3F5;color:var(--ink2);font-weight:700}
.formfoot{display:flex;gap:10px;margin-top:12px}
.formfoot .btn{flex:1;height:52px}

/* ── 가입 완료 ───────────────────────────────────────────── */
.b02_result{text-align:center}
.b02_result::before{content:"✓";display:flex;align-items:center;justify-content:center;width:74px;height:74px;margin:0 auto 22px;background:var(--org);color:#fff;font-size:38px;font-weight:700;line-height:1}
.b02_result .lead{font-size:22px;font-weight:900;line-height:1.55;margin-bottom:18px;letter-spacing:-.01em}
.b02_result .lead strong{color:var(--org)}
.b02_result .txt{font-size:14px;color:var(--gray);line-height:1.95;margin-bottom:16px}
.b02_result .txt.small{font-size:12.5px;color:var(--gray-l)}
.b02_result .result_email{background:#FAFBFC;border:1px solid var(--line);border-left:4px solid var(--org);padding:18px 22px;margin:0 auto 20px;max-width:430px;text-align:left}
.b02_result .result_email div{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:14px}
.b02_result .result_email span{color:var(--gray-l)}
.b02_result .result_email strong{font-weight:700}

/* ── 회원정보 입력폼 (코어 마크업을 테마 모양으로) ───────── */
.b02_regform #register_form{background:#fff;border:1px solid var(--line);border-top:5px solid var(--org);padding:40px 38px}
.b02_regform .register_form_inner{margin-bottom:36px}
.b02_regform .register_form_inner:last-child{margin-bottom:0}
.b02_regform .register_form_inner h2{font-size:17px;font-weight:900;padding-bottom:12px;margin-bottom:22px;border-bottom:2px solid var(--ink)}

/* 두 칸 격자 : half_input 이 붙은 줄만 반 칸 */
.b02_regform .register_form_inner ul{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}
.b02_regform .register_form_inner li{grid-column:1/-1;list-style:none;margin:0 0 18px;position:relative;min-width:0}
.b02_regform .register_form_inner li.half_input{grid-column:auto}
.b02_regform .register_form_inner li.half_input,
.b02_regform .register_form_inner li.full_input{width:auto}
.b02_regform .register_form_inner li.half_input input{width:100%}

/* 라벨 — 대문자 영문 병기 느낌의 굵은 소형 라벨 */
.b02_regform label,.b02_regform .frm_label{display:block;margin-bottom:8px;color:var(--ink2);font-size:12px;font-weight:700;letter-spacing:.1em}
.b02_regform label.inline,.b02_regform .chk_box label{display:inline-block;margin:0 0 0 6px;color:var(--ink);font-size:14px;font-weight:400;letter-spacing:0}
.b02_regform .cert_desc{color:var(--gray-l);font-size:11.5px;font-weight:400;letter-spacing:0}
.b02_regform .cert_req{margin-left:6px;color:var(--org);font-size:12px}

/* 입력칸 — 각지고 보더 굵게 */
.b02_regform input[type=text],.b02_regform input[type=password],.b02_regform input[type=email],
.b02_regform input[type=tel],.b02_regform input[type=date],.b02_regform select,.b02_regform textarea{width:100%;border:2px solid var(--line);background:#fff;padding:12px 13px;font-size:15px;color:var(--ink);border-radius:0;transition:border-color .25s}
.b02_regform input:focus,.b02_regform select:focus,.b02_regform textarea:focus{outline:0;border-color:var(--ink)}
.b02_regform textarea{min-height:120px;resize:vertical}
.b02_regform input.twopart_input{width:160px;display:inline-block;vertical-align:middle}
.b02_regform input.frm_address{margin-top:8px}
.b02_regform .btn_frmline{height:48px;margin-left:6px;padding:0 18px;vertical-align:middle;border:2px solid var(--ink);color:var(--ink);background:#fff;font-weight:700}
.b02_regform .btn_frmline:hover{background:var(--ink);color:#fff}
.b02_regform li br{line-height:0}

/* 체크상자 줄 */
.b02_regform .chk_box{display:flex;align-items:flex-start;flex-wrap:wrap;gap:2px 6px}
.b02_regform li.chk_box{display:block}
.b02_regform li.chk_box>input[type=checkbox]{float:left;margin-top:4px;accent-color:var(--org)}
.b02_regform li.chk_box>label{display:inline-block;margin:0 0 0 24px;color:var(--ink);font-size:14px;font-weight:400;letter-spacing:0}
.b02_regform li.chk_box .chk_li{display:block;margin:6px 0 0 24px;color:var(--gray-l);font-size:12px}
.b02_regform li.chk_box.is-inline{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.b02_regform li.chk_box.is-inline>label{margin-left:4px}
.b02_regform .selec_chk{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--gray)}
.b02_regform .sub-consents{margin-left:24px}
.b02_regform .consent-line{font-size:13px;color:var(--gray)}
.b02_regform .consent-date{font-size:12px;color:var(--gray-l)}
.b02_regform #msg_mb_id,.b02_regform #msg_mb_nick{display:block;margin-top:6px;font-size:12px;color:var(--org)}
.b02_regform #msg_certify{margin-top:10px;padding:12px 14px;border:1px solid var(--org);background:#FFF7ED;color:var(--org-d);font-size:13px}
.b02_regform .reg_mb_img_file,.b02_regform .is_captcha_use{grid-column:1/-1}
.b02_regform li.reg_mb_img_file input[type=file]{display:block;margin-bottom:6px}
.b02_regform li.reg_mb_img_file img{margin:6px 0;border:1px solid var(--line)}
.b02_regform li.is_captcha_use{padding-top:2px}
.b02_regform #captcha{width:100%}
.b02_regform #captcha #captcha_key{margin-left:4px}
.b02_regform .tbl_wrap{overflow:visible}
.b02_regform .tbl_frm01{margin:0}

/* 설명 말풍선 — 물음표를 눌렀을 때만 */
.b02_regform .tooltip_icon{width:20px;height:20px;margin-left:4px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--gray-l);font-size:11px;line-height:1;vertical-align:middle}
.b02_regform .tooltip_icon:hover{border-color:var(--org);color:var(--org)}
.b02_regform .tooltip{display:none;position:absolute;left:0;top:100%;z-index:20;max-width:380px;margin-top:6px;padding:11px 14px;background:var(--ink);color:#fff;font-size:12px;font-weight:400;line-height:1.7;letter-spacing:0;box-shadow:0 16px 30px -18px rgba(31,41,51,.7)}
.b02_regform .tooltip_icon:hover+.tooltip,.b02_regform .tooltip_icon:focus+.tooltip{display:block}

/* 아래 단추줄 */
.b02_regform .btn_confirm{display:flex;justify-content:center;gap:10px;margin-top:32px}
.b02_regform .btn_confirm .btn_submit,.b02_regform .btn_confirm .btn_close,.b02_regform .btn_confirm .btn_cancel{min-width:170px;height:52px}

/* ── 그 밖의 회원 페이지 (비밀번호 확인·찾기·쪽지 등) ────── */
.mbskin{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--line);border-top:5px solid var(--org);padding:42px 38px}
.mbskin h1,.mbskin h2{font-size:23px;font-weight:900;text-align:center;margin-bottom:20px}
.mbskin input[type=text],.mbskin input[type=password],.mbskin input[type=email]{width:100%;border:2px solid var(--line);padding:12px 14px;font-size:15px;margin-bottom:12px}
.mbskin input:focus{outline:0;border-color:var(--ink)}
.mbskin .btn_submit{width:100%;height:50px}

/* ── 반응형 ──────────────────────────────────────────────── */
@media (max-width:900px){
  .auth .card,.join-wrap .card{padding:30px 20px}
  .steps li+li::before{width:20px;margin:0 7px}
  .steps li span{display:none}
  .steps b{margin:0}
  .b02_regform #register_form{padding:24px 18px}
  .b02_regform .register_form_inner ul{grid-template-columns:1fr}
  .b02_regform .register_form_inner li.half_input{grid-column:1/-1}
  .b02_regform .btn_confirm .btn_submit,.b02_regform .btn_confirm .btn_close{min-width:0;flex:1}
  .mbskin{padding:28px 20px}
}
@media (max-width:600px){
  .b02_regform input.twopart_input{width:calc(100% - 130px)}
  .b02_regform .btn_frmline{padding:0 12px}
  .formfoot{flex-direction:column}
}
