@charset "utf-8";

/* ### 기본 스타일 커스터마이징 시작 ### */

/* 버튼 */
.mbskin a.btn01 {}
.mbskin a.btn01:focus, .mbskin .btn01:hover {}
.mbskin a.btn02 {}
.mbskin a.btn02:focus, .mbskin .btn02:hover {}
.mbskin .btn_confirm {} /* 서식단계 진행 */
.mbskin .btn_submit {}
.mbskin button.btn_submit {}
.mbskin fieldset .btn_submit {}
.mbskin .btn_cancel {}
.mbskin button.btn_cancel {}
.mbskin .btn_cancel:focus, .mbskin .btn_cancel:hover {}
.mbskin a.btn_frmline, .mbskin button.btn_frmline {} /* 우편번호검색버튼 등 */
.mbskin button.btn_frmline {}
.mbskin .win_btn {} /* 새창용 */
.mbskin .win_btn button {}
.mbskin .win_btn input {}
.mbskin .win_btn a {}
.mbskin .win_btn a:focus, .mbskin .win_btn a:hover {}

/* 게시판용 버튼 */
.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{position: relative;margin:20px auto 90px;border:1px solid #ddd;width:400px;background:#fff;text-align:center;
}
.mbskin:before,.mbskin:after{
content:"";
position:absolute;z-index:-1;top:2%;bottom:0;left:10px;right:10px;
-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);
  -moz-box-shadow:0 0 20px rgba(0,0,0,0.8);
       box-shadow:0 0 20px rgba(0,0,0,0.8);
-moz-border-radius:100px / 10px;
     border-radius:100px / 10px;}
.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 .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;}


/* 기본테이블 */

.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 {}

/* 폼 테이블 */
.mbskin table {}
.mbskin caption {}
.mbskin .frm_info {}
.mbskin .frm_file {}

.mbskin .tbl_frm01 {}
.mbskin .tbl_frm01 th {width:85px;}
.mbskin .tbl_frm01 td {}
.mbskin .tbl_frm01 textarea, .mb_skin tbl_frm01 .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 {}

.mbskin .txt_active {}
.mbskin .txt_expired {}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* 회원가입 약관 */
#fregister {padding:0px 0px;}
#fregister .join_page{width:1000px;margin:0 auto;padding:50px 0;}
#fregister .join_page h1{text-align:center;margin:0;font-size:60px;font-weight: 700;}
#fregister .join_page p{font-size:14px;}

#fregister .terms{width:90%;margin:0 auto;}
#fregister .terms h4{margin-top:40px;background:#b3b3b3;width:140px;text-align:center;color:#fff;font-weight:normal;border-radius: 30px; padding:5px; margin-bottom:10px;}
#fregister .terms_box{width:100%;margin:0 auto;background:#f9f9f9;height:150px;border-color: #dfdfdf;}
#fregister .terms_box p{padding:10px;}

#fregister .pri{width:90%;margin:0 auto;}
#fregister .pri h4{margin-top:40px;background:#b3b3b3;width:200px;text-align:center;color:#fff;font-weight:normal;border-radius: 30px; padding:5px; margin-bottom:10px;}
#fregister .pri_table {text-align:center; width: 100%; border: 1px solid #dfdfdf; border-collapse: collapse; border-top:3px solid #dfdfdf; }
#fregister .pri_table th, td {border: 1px solid #dfdfdf;padding: 10px;font-size:14px;}
#fregister .pri_tit td{background:#f0f0f0;font-weight:bold;color:#333;}

#fregister .join_btn{width:300px;margin:50px auto 0 auto;background:#959595;border-radius: 3px;border:0px; color: #fff; letter-spacing:6px;font-size:1em; padding-top:10px; padding-bottom:10px;}
#fregister .join_btn:hover {
    background: #707070;
}

#fregister .under-line {width: 110px; margin:0 auto; border-bottom: 5px solid #c1c1c1; margin-top:30px;}

#sns_register {width: 1000px; margin: 0 auto !important; margin-top:50px !important;}
#fregister_chkall {float: right;}

@media screen and ( max-width:1000px){
	#fregister .join_page{width:90%}
  #sns_register {width: 90%; }
  #sns_register .sns-icon {width: 98% !important;}
}



/* 회원가입 입력 */
#register_form{background:#fff;padding:20px;margin-bottom:20px; padding:50px 0px;}
#fregisterform #msg_certify {margin:5px 0 0;padding:5px;border:1px solid #dbecff;background:#eaf4ff;text-align:center}
#fregisterform .frm_address {margin:5px 0 0}
#fregisterform .reg_mb_signature {margin-bottom:10px !important;}
#fregisterform .tbl_wrap li {padding-bottom: 10px;}

#fregisterform input {padding:10px; width: 100%; margin-bottom:10px; border-radius: 8px; background: #f9f9f9;}
#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 .btn_confirm .btn_submit{height:45px;;padding:0 30px;font-weight:bold;font-size:1.083em}
#fregisterform .btn_confirm .btn_cancel{line-height:45px;height:45px;padding:0 30px;font-weight:bold;font-size:1.083em}
#fregisterform .frm_info{display:block;color:#000;font-size:0.92em}
#fregisterform .form_01 div{margin: 0 0 50px}
#fregisterform .captcha{display:block;margin:5px 0 0}
#fregisterform .reg_mb_img_file img{max-width:100%;height:auto}

#fregisterform {padding:0px 0px;}
#fregisterform .join_page{width:1000px;margin:0 auto;padding:50px 0;}
#fregisterform .join_page h1{text-align:center;margin:0;font-size:60px;font-weight: 700;}
#fregisterform .join_page p{font-size:14px;}

#fregisterform .under-line {width: 110px; margin:0 auto; border-bottom: 5px solid #c1c1c1; margin-top:30px;}

#fregisterform .join_page_spacing {width: 500px; margin:0 auto; margin-top:100px;}

#fregisterform .join_page_spacing h2 { margin-top:40px;background:#b3b3b3;width:140px;text-align:center;color:#fff;font-weight:normal;border-radius: 30px; padding:5px; margin-bottom:10px; }

#fregisterform .btn_submit {
  width:200px; background: #959595; color:#fff; margin:0px; border-radius: 10px;
}
#fregisterform .btn_submit:hover {
  width:200px; background: #707070; color:#fff;
}
#fregisterform .btn_cancel {
  border-radius: 10px;
}

@media screen and ( max-width:1000px){
	#fregisterform .join_page{width:90%}
  #fregisterform .join_page_spacing {width: 80%;}
}


/* 회원가입 완료 */
#reg_result {padding:100px 0 40px;text-align:center;background:#fff; padding:50px 0px;}
#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 .btn_confirm {margin:50px 0}
#reg_result .reg_result_p{font-size:1.25em;margin:0 0 10px;}
#reg_result .reg_result_p strong{color:#3497d9}
#reg_result .btn_submit{
  padding: 0 30px;font-weight:bold;height:40px;line-height:40px;display:inline-block;margin:30px 0 0 ;font-size:1.083em;
  background: #444; color:#fff; border-radius: 10px;
}

#reg_result {padding:50px 0px;}
#reg_result .join_page{width:1000px;margin:0 auto;padding:50px 0;}
#reg_result .join_page h1{text-align:center;margin:0;font-size:30px;font-weight: 700;}
#reg_result .join_page p{font-size:14px;}

#reg_result .under-line {width: 110px; margin:0 auto; border-bottom: 5px solid #000; margin-top:30px;}



/* 아이디/비밀번호 찾기 */
#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;}

/* 로그인 */
#mb_login {margin-bottom:50px;}
#login_fs{padding:0 50px}
#mb_login #login_fs .frm_input{margin:0 0 10px}
#mb_login #login_fs .btn_submit {margin:0 0 20px}
#mb_login #login_info{background:#f6f6f6;padding:25px 10px;border-top:1px solid #e8e8e8;margin:40px 0 0 }
#mb_login #login_info:after {display:block;visibility:hidden;clear:both;content:""}
#mb_login #login_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#mb_login #login_info a{display:inline-block;width:50%;float:left}
#login_password_lost{border-right:1px solid #ddd}

#mb_login_notmb{margin:30px auto;padding:20px 30px;margin-top:0;padding:20px 30px 0;border-top:1px solid #ddd}
#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;margin-top:0;padding:20px 30px 0;border-top:1px solid #ddd}
#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}

#sns_login {padding:20px 0px !important;}

.login_wrap{width:500px;margin:0 auto;
/*border:2px solid #f0f0f0;border-top:5px solid #f0f0f0;*/
margin-top:50px; margin-bottom:0px;}

.login_box{width:500px;height:auto;text-align:center;padding:50px;}
.login_box input[type="text"], input[type="password"] {width:100%;margin:0 auto;height:50px; /* 높이 초기화 */ line-height: normal;margin:10px 0;padding:15px;}
.login_box h1{font-size:60px;margin:0;font-weight:bold;color: #858585;}
.login_box h4{
  background: #bdbdbd;
	border-radius: 30px;
	width: 80%;
	margin: 0 auto 10px auto;
	color: #fff;
	font-weight: normal;
	font-size: 12px;
  padding:5px 10px;
}
.login_btn button{
  width:100%;display:block;text-align:center;background:#959595;border: 0px;margin:0 auto;text-decoration: none;color:#fff!important;letter-spacing:10px;font-weight:bold;
  padding-top:20px; padding-bottom:20px;
}

.login_btn button:hover {
    background: #707070;
}

.join_box{width:500px;height:auto;background:#f5f5f5;padding:50px}
.join_box h4{font-weight:normal;text-align:center;font-size:14px;margin-top:0;}
.join_btn {padding-top:20px;}
.join_btn ul{
  width: 420px;
  overflow: hidden;
  padding: 0;
  margin: 0 auto;}
.join_btn ul li{width:200px;height:30px;float:left;border-radius:30px;background:#908b8b;margin:0 5px}
.join_btn ul li:hover{background:#265869;transition:all 1s;}
.join_btn ul li a{text-align:center;line-height:30px;display:block;color:#fff;font-size:14px;}

@media screen and ( max-width:600px){
  .login_wrap{width:90%;text-align:center;}
	.login_box{width:90%;padding:30px 0;margin:0 auto;}
	.login_box h4{width:90%;}
	.login_box h4 span{display:block;}
  .join_box{width:100%;padding:30px 0;margin:0 auto;}
	.join_box h4{padding:15px;}
	.join_btn ul{width:250px;text-align:center;margin:0 auto;}
	.join_btn ul li{float:none;width:auto;margin:10px 0;}
}

/* 회원정보 찾기 */
.pass_lost {position:relative;}
.pass_lost_wrap {width: 500px; margin: 0 auto; margin-top: 50px; margin-bottom: 0px;}
.pass_lost .tbl_wrap {margin:0 20px}
.pass_lost #win_title {font-size:1.25em;height:50px;line-height:30px;padding:10px 20px;background:#cdcdcd;color:#fff;}
.pass_lost #win_title .sv {font-size:0.75em;line-height:1.2em}
.pass_lost .win_ul {border-right:1px solid #dfe6e7;}
.pass_lost .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.pass_lost .win_ul li{float:left;background:#fff;width:33.333%;text-align:center;border:1px solid #ccc;margin-left:-1px}
.pass_lost .win_ul li a{display:block;padding:10px 0}
.pass_lost .win_ul .selected{background:#fff;border-color:#253dbe;position:relative;z-index:5}
.pass_lost .win_ul .selected a{color:#253dbe;font-weight:bold}
.pass_lost .win_desc {margin:5px 0;font-size:0.92em;color:#3598db;}
.pass_lost .frm_info{font-size:0.92em;color:#3598db}
.pass_lost .win_total{text-align:right;margin:10px 0}
.pass_lost .win_total span{display:inline-block;line-height:30px;font-size:0.92em;color:#4e546f;background:#d4d4d4;padding:0 10px;border-radius:5px;}
.pass_lost .pass_lost_con{margin:20px;}
.pass_lost .pass_lost_con:after {display:block;visibility:hidden;clear:both;content:""}
.pass_lost .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.pass_lost .win_btn{text-align:right}
.pass_lost .btn_close {position:absolute;top:0;right:0;height:50px;width:50px;background:url(../img/close_btn.gif) no-repeat 50% 50%;border:0;text-indent:-999px;overflow:hidden;cursor:pointer}
.pass_lost .btn_submit {padding:0 20px;height:40px;font-weight:bold;font-size:1.083em;float:right}

/* 검색결과 색상 */
.sch_word {color:#00c4ac}


/* 쪽지 */
#memo_list .memo_name,#memo_list .memo_name .sv_wrap{font-weight:bold}
#memo_list .memo_datetime{float:right;font-size:0.92em;color:#777;font-style:italic}
#memo_list .memo_del{margin-left: 5px; color: #49857c;font-size: 15px;}

#memo_view_contents {margin:10px 0;border:1px solid #ddd;}
#memo_view_contents h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#memo_view_ul {margin:0;border-bottom:1px solid #eee;list-style:none;background:#f3f3f3;}
#memo_view_ul:after {display:block;visibility:hidden;clear:both;content:""}
.memo_view_li {position:relative;padding:10px;float:left;width:50%;}
.memo_view_name strong,.memo_view_name .sv_wrap{font-weight:bold !important}
.memo_view_subj{display: inline-block;height: 20px;line-height: 18px;border: 1px solid #3497d9;color: #3497d9;padding: 0 5px;border-radius: 15px;font-size: 11px;}
.memo_view_li .profile_img img{border-radius:50%}
.memo_view_date{text-align:right;color:#555;font-style:italic}
.memo_view_date strong{font-weight:normal}
#memo_view .btn_b02{float:right}
#memo_view .btn_b02.reply_btn{margin-left:4px}
#memo_view p {padding:10px;border-top:1px solid #ddd;min-height:150px;height:auto !important;height:150px;background:#fff;line-height:1.8em}

#memo_write textarea {height:100px}

/* 스크랩 */
#scrap .scrap_tit{font-weight:bold;display:block;font-size:1.083em;margin-bottom:5px;line-height:1.3em}
#scrap .scrap_cate{ display:block;color:#3598db ;font-size:0.92em;float:left}
#scrap .scrap_datetime{;color:#777;font-style:italic;float:right}
#scrap .scrap_del{position:absolute;top:5px;right:10px;font-size:18px;color:#49857c}
#scrap .scrap_del:hover{color:#98ca69}
#scrap_do table {margin:0 0 10px;width:100%}
#scrap_do textarea {height:100px}
#scrap_do .scrap_tit{background:#f3f3f3;padding:10px 15px;font-size:1.083em;font-weight:bold}
#scrap_do label{display:block;margin:0 0 5px;font-size:0.92em}
/*포인트*/
#point .point_top{line-height:15px;margin:0 0 5px}
#point .point_top:after {display:block;visibility:hidden;clear:both;content:""}
#point .point_tit{font-weight:bold;float:left;font-size:1.083em;display:block;}
#point .point_num{font-size:1.25em;color:#00c4ac;font-weight:bold;float:right;}
#point .point_date1{float:left;color:#555;font-style:italic}
#point .point_date{float:right;color:#555;font-style:italic}
#point .txt_expired {color:#aaa;}
#point .point_all{background:#ae99da;border:0;border-bottom:2px solid #9781c5;color:#fff;font-weight:bold;font-size:1.083em}
#point .point_all span,#point .point_status span{float:right;}
#point .point_status{background:#737373;border:0;color:#fff;font-weight:bold;font-size:1.083em}
#point .point_status  span{margin-left:10px}

/* 회원 비밀번호 확인 */
#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: #eee;text-align: center;color: #888;}
#formmail .frm_file {padding-left: 50px;}
#formmail .frm_info{color: #3497d9;font-size: 0.92em;}

/* 자기소개 */
#profile h1 a{color:#fff}
#profile table {margin-bottom:0}
#profile table th{text-align:left;padding:10px;width:100px}
#profile section {color: #2d4c7b;background: #eff9f9;padding: 10px;border: 1px solid #bfd4dc;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%;border:1px solid #aaa}
#profile .profile_img img{border-radius:50%}
#profile .profile_name .sv_wrap{font-weight:bold;text-align:left}

/* ============================================================================
   회원 화면 디자인 — 진주나인 스타일 (2026-08-17)

   마크업은 한 줄도 건드리지 않았다. 이 블록만으로 로그인·약관동의·회원가입
   세 화면을 카드형으로 바꾼다. 되돌리려면 이 주석 아래를 통째로 지우면 된다.

   ⚠️ 위쪽 기존 규칙을 덮어쓰는 것이 목적이라 파일 맨 끝에 둔다. 순서를 바꾸지 말 것.
   ⚠️ 회원가입 입력 항목(주소·성별·이미지 등)은 그대로다 — 디자인만 바꿨다.
   ============================================================================ */

:root {
  --jn-ink:        #2a3e33;   /* 제목·버튼 딥그린 */
  --jn-ink-hover:  #345835;
  --jn-card:       #ffffff;
  --jn-field:      #f8fafc;   /* 입력칸 배경 */
  --jn-line:       #e2e8f0;   /* 테두리 */
  --jn-line-soft:  #f1f5f9;
  --jn-muted:      #64748b;   /* 보조 문구 */
  --jn-text:       #334155;
  --jn-strong:     #1e293b;
  --jn-radius:     16px;
  --jn-radius-sm:  8px;
  --jn-shadow:     0 10px 30px rgba(0,0,0,0.08);
  --jn-focus:      0 0 0 3px rgba(42,62,51,0.10);
  --jn-field-h:    52px;
  --jn-btn-h:      56px;
}

/* ── 공통 : 입력칸 ──────────────────────────────────────────────────────── */
#mb_login .frm_input,
#fregisterform .frm_input,
#fregisterform input[type="text"],
#fregisterform input[type="password"],
#fregisterform input[type="email"],
#fregisterform input[type="tel"] {
  width: 100%;
  height: var(--jn-field-h);
  padding: 0 16px;
  border: 1px solid var(--jn-line);
  border-radius: var(--jn-radius-sm);
  background: var(--jn-field);
  font-size: 15px;
  color: var(--jn-strong);
  box-sizing: border-box;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
}
#mb_login .frm_input:focus,
#fregisterform .frm_input:focus,
#fregisterform input[type="text"]:focus,
#fregisterform input[type="password"]:focus,
#fregisterform input[type="email"]:focus,
#fregisterform input[type="tel"]:focus {
  border-color: var(--jn-ink);
  background: var(--jn-card);
  outline: none;
  box-shadow: var(--jn-focus);
}
#fregisterform .frm_input[readonly] { background: var(--jn-line-soft); color: var(--jn-muted); }

/* ── 로그인 ─────────────────────────────────────────────────────────────── */
/* ⚠️ 기존 규칙이 .login_box 를 width:500px + padding:50px 로 잡아 두었고(합 600px),
   입력칸은 .login_box input[type="text"] 로 우리보다 구체성이 높은 데다 box-sizing 이 없어
   width:100% 에 padding 이 더해졌다. 그래서 카드 밖으로 넘쳐 잘려 보였다.
   여기서 폭을 풀고 box-sizing 을 카드 전체에 걸어 바로잡는다. */
#mb_login { margin-bottom: 50px; }
#mb_login .login_wrap,
#mb_login .login_wrap * { box-sizing: border-box; }
#mb_login .login_wrap {
  width: 440px; max-width: 92%;
  margin: 80px auto;
  background: var(--jn-card);
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
  overflow: hidden;
}
#mb_login .login_box {
  width: 100%;                    /* 기존 500px 고정을 푼다 */
  padding: 50px 40px 40px;
  text-align: center;
}
/* 기존 `.login_box input[type="text"]`(0,2,1) 보다 구체성을 높여 확실히 덮는다 */
#mb_login .login_box input[type="text"],
#mb_login .login_box input[type="password"],
#mb_login .login_box .frm_input {
  width: 100%;
  height: var(--jn-field-h);
  margin: 0 0 12px;
  padding: 0 16px;
  line-height: normal;
  border: 1px solid var(--jn-line);
  border-radius: var(--jn-radius-sm);
  background: var(--jn-field);
  font-size: 15px;
  box-sizing: border-box;
}
#mb_login .login_box h1 {
  margin: 0 0 10px; font-size: 28px; font-weight: 700;
  color: var(--jn-ink); letter-spacing: -.5px;
}
#mb_login .login_box h4 {
  margin: 0 0 30px; padding: 0; width: auto; background: none;
  font-size: 14px; font-weight: 500; color: var(--jn-muted); line-height: 1.6;
}
#mb_login .login_box .frm_input { margin-bottom: 12px; text-align: left; }
#mb_login .login_box br { display: none; }

#mb_login .login_btn { margin-top: 20px; }
#mb_login .login_btn button,
#mb_login .login_btn input[type="submit"] {
  width: 100%; height: var(--jn-btn-h);
  padding: 0;                      /* 기존 padding 20px 상하 제거 — 높이로 잡는다 */
  background: var(--jn-ink); color: #fff !important;
  border: 0; border-radius: var(--jn-radius-sm);
  font-size: 16px; font-weight: 700; letter-spacing: 1px;
  text-decoration: none;
  cursor: pointer; transition: background .2s;
}
#mb_login .login_btn button:hover,
#mb_login .login_btn input[type="submit"]:hover { background: var(--jn-ink-hover); }

#mb_login .join_box {
  width: 100%;                     /* 기존 500px 고정을 푼다 */
  padding: 26px 40px 34px;
  background: var(--jn-field);
  border-top: 1px solid var(--jn-line);
  text-align: center;
}
#mb_login .join_box h4 {
  margin: 0 0 16px; padding: 0; width: auto; background: none;
  font-size: 13px; font-weight: 500; color: var(--jn-muted); line-height: 1.7;
}
#mb_login .join_btn { padding-top: 0; }
#mb_login .join_btn ul {
  width: 100%;                     /* 기존 420px 고정을 푼다 */
  display: flex; gap: 10px; overflow: visible;
  list-style: none; margin: 0; padding: 0;
}
#mb_login .join_btn ul li {
  /* 기존: width:200px; height:30px; float:left; 회색 알약 배경 — 전부 되돌린다 */
  width: auto; height: auto; flex: 1; float: none;
  margin: 0; background: none; border-radius: 0;
}
#mb_login .join_btn ul li:hover { background: none; }
#mb_login .join_btn ul li a {
  display: block; height: 46px; line-height: 46px;
  background: var(--jn-card); color: var(--jn-text);
  border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  font-size: 14px; font-weight: 600; text-decoration: none;
  transition: background .2s, border-color .2s, color .2s;
}
#mb_login .join_btn ul li a:hover { background: var(--jn-line-soft); border-color: #cbd5e1; color: var(--jn-strong); }

/* ── 회원가입 약관 동의 ─────────────────────────────────────────────────── */
#fregister { padding: 40px 0; background: transparent; }
#fregister .join_page {
  width: auto; max-width: 500px;
  margin: 60px auto 40px;
  padding: 50px 40px 40px;
  background: var(--jn-card);
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
  box-sizing: border-box;
}
#fregister .join_page h1 {
  margin: 0 0 10px; font-size: 28px; font-weight: 700;
  color: var(--jn-ink); text-align: center; letter-spacing: -.5px;
}
#fregister .join_page h4 {
  /* 마크업에 인라인 style 이 남아 있어 여기서 되돌린다 */
  margin: 0 0 30px !important; padding: 0 !important;
  font-size: 14px !important; font-weight: 500 !important;
  color: var(--jn-muted) !important; letter-spacing: 0 !important;
  text-align: center !important; line-height: 1.6;
}
#fregister .under-line { display: none; }

#fregister .terms,
#fregister .pri { width: 100%; margin: 0 auto 30px; position: relative; }
#fregister .terms h4,
#fregister .pri h4 {
  width: 100%; margin: 0 0 12px; padding: 0 0 10px;
  background: none; border: 0; border-bottom: 2px solid var(--jn-line-soft); border-radius: 0;
  font-size: 15px; font-weight: 700; color: var(--jn-ink); text-align: left;
}
#fregister .terms_box {
  width: 100%; height: 160px; margin: 0 0 10px; padding: 16px;
  background: var(--jn-field);
  border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  color: #475569; font-size: 13px; line-height: 1.6;
  resize: none; outline: none; box-sizing: border-box;
}
#fregister p { margin-top: 10px; font-size: 14px; font-weight: 500; color: var(--jn-text); }
#fregister p input[type="checkbox"] { margin-right: 8px; transform: scale(1.1); }
#fregister_chkall { float: right; font-size: 13px; color: var(--jn-muted); }
#fregister_chkall input[type="checkbox"] { margin-left: 6px; transform: scale(1.1); }

#fregister .pri_table {
  width: 100%; margin-bottom: 10px;
  border-collapse: collapse; border-style: hidden; border-radius: var(--jn-radius-sm);
  overflow: hidden; background: var(--jn-field);
}
#fregister .pri_table th,
#fregister .pri_table td {
  border: 1px solid var(--jn-line); padding: 12px;
  font-size: 13px; text-align: center; color: #475569; line-height: 1.4;
}
#fregister .pri_tit td { background: var(--jn-line-soft); font-weight: 600; color: var(--jn-strong); }

#fregister .join_btn {
  display: block; width: 100%; height: var(--jn-btn-h);
  margin: 30px 0 0; padding: 0;
  background: var(--jn-ink); color: #fff;
  border: 0; border-radius: var(--jn-radius-sm);
  font-size: 16px; font-weight: 700; letter-spacing: 1px;
  cursor: pointer; transition: background .2s;
}
#fregister .join_btn:hover { background: var(--jn-ink-hover); }

/* ── 회원가입 입력 폼 ───────────────────────────────────────────────────── */
#fregisterform .join_page {
  width: auto; max-width: 560px;
  margin: 60px auto 40px;
  padding: 50px 40px 40px;
  background: var(--jn-card);
  border-radius: var(--jn-radius);
  box-shadow: var(--jn-shadow);
  box-sizing: border-box;
}
#fregisterform .join_page h1 {
  margin: 0 0 10px; font-size: 28px; font-weight: 700;
  color: var(--jn-ink); text-align: center; letter-spacing: -.5px;
}
#fregisterform .under-line { display: none; }
#fregisterform .join_page_spacing { padding: 0; }

#fregisterform .tbl_frm01 { margin-bottom: 30px; }
#fregisterform .tbl_frm01 h2 {
  position: static; width: auto; height: auto; margin: 0 0 15px; padding: 0 0 10px;
  overflow: visible; clip: auto; font-size: 15px; font-weight: 700;
  color: var(--jn-ink); border-bottom: 2px solid var(--jn-line-soft);
}
#fregisterform .tbl_frm01 ul { list-style: none; margin: 0; padding: 0; }
#fregisterform .tbl_frm01 li { margin-bottom: 14px; }
#fregisterform .tbl_frm01 li:after { content: ""; display: block; clear: both; }

/* 라벨은 원래 스크린리더 전용(sound_only)이라 그대로 둔다 — placeholder 가 라벨 역할 */
#fregisterform .half_input { width: 100%; }
#fregisterform .frm_info,
#fregisterform .frm_file_info {
  display: block; margin-top: 6px;
  font-size: 12.5px; color: var(--jn-muted); line-height: 1.6;
}
#fregisterform #msg_certify {
  margin-top: 8px; padding: 10px 14px;
  background: var(--jn-line-soft); border-radius: var(--jn-radius-sm);
  font-size: 13px; color: var(--jn-ink);
}
#fregisterform .btn_frmline {
  height: 46px; margin-top: 8px; padding: 0 16px;
  background: var(--jn-card); color: var(--jn-text);
  border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background .2s;
}
#fregisterform .btn_frmline:hover { background: var(--jn-line-soft); }

#fregisterform input[type="radio"],
#fregisterform input[type="checkbox"] { margin-right: 6px; transform: scale(1.05); }
#fregisterform label { font-size: 14px; color: var(--jn-text); }
#fregisterform label.sound_only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
#fregisterform select {
  height: var(--jn-field-h); padding: 0 12px;
  border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  background: var(--jn-field); font-size: 15px; color: var(--jn-strong);
}
#fregisterform textarea {
  width: 100%; padding: 14px 16px;
  border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  background: var(--jn-field); font-size: 14px; color: var(--jn-strong);
  line-height: 1.6; box-sizing: border-box; resize: vertical;
}
#fregisterform textarea:focus { border-color: var(--jn-ink); background: var(--jn-card); outline: none; box-shadow: var(--jn-focus); }

/* 자동등록방지 */
#fregisterform #captcha {
  margin: 4px 0 0; padding: 20px; border: 1px solid var(--jn-line);
  border-radius: var(--jn-radius-sm); background: var(--jn-field); text-align: center;
}
#fregisterform #captcha legend { display: none; }
#fregisterform #captcha img { display: inline-block; vertical-align: middle; margin: 0 5px 12px; border: 1px solid #cbd5e1; border-radius: 6px; }
#fregisterform #captcha #captcha_key {
  display: inline-block !important; width: 140px; height: 46px; margin: 0 5px 12px; padding: 0 10px;
  border: 2px solid #cbd5e1; border-radius: var(--jn-radius-sm); background: #fff;
  font-size: 18px; font-weight: 700; text-align: center; color: var(--jn-ink); vertical-align: middle; box-sizing: border-box;
}
#fregisterform #captcha #captcha_key:focus { border-color: var(--jn-ink); outline: none; box-shadow: var(--jn-focus); }
#fregisterform #captcha_mp3,
#fregisterform #captcha_reload {
  display: inline-block; margin: 0 4px; padding: 8px 12px;
  background: #fff; border: 1px solid #cbd5e1; border-radius: 6px;
  font-size: 13px; font-weight: 500; color: #475569; cursor: pointer; transition: background .2s;
}
#fregisterform #captcha_mp3:hover,
#fregisterform #captcha_reload:hover { background: var(--jn-line-soft); color: #000; }
#fregisterform #captcha_info {
  display: block; margin-top: 6px; padding: 12px; clear: both;
  background: #fff; border: 1px solid var(--jn-line); border-radius: var(--jn-radius-sm);
  font-size: 13px; color: #475569;
}

#fregisterform .btn_confirm { display: flex; gap: 10px; margin-top: 30px; }
#fregisterform .btn_confirm .btn_submit {
  flex: 2; height: var(--jn-btn-h);
  background: var(--jn-ink); color: #fff; border: 0; border-radius: var(--jn-radius-sm);
  font-size: 16px; font-weight: 700; letter-spacing: 1px; cursor: pointer; transition: background .2s;
}
#fregisterform .btn_confirm .btn_submit:hover { background: var(--jn-ink-hover); }
#fregisterform .btn_confirm .btn_close,
#fregisterform .btn_confirm a {
  display: flex; align-items: center; justify-content: center;
  flex: 1; height: var(--jn-btn-h);
  background: var(--jn-line-soft); color: #475569;
  border: 0; border-radius: var(--jn-radius-sm);
  font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .2s;
}
#fregisterform .btn_confirm .btn_close:hover,
#fregisterform .btn_confirm a:hover { background: var(--jn-line); color: var(--jn-strong); }

/* ── 가입 완료 ──────────────────────────────────────────────────────────── */
#reg_result {
  max-width: 500px; margin: 80px auto; padding: 50px 40px;
  background: var(--jn-card); border-radius: var(--jn-radius); box-shadow: var(--jn-shadow);
  text-align: center; box-sizing: border-box;
}
#reg_result h1 { margin: 0 0 16px; font-size: 26px; font-weight: 700; color: var(--jn-ink); }

/* ── 좁은 화면 ──────────────────────────────────────────────────────────── */
@media screen and (max-width: 600px) {
  #mb_login .login_wrap { width: auto; margin: 40px 16px; }
  #mb_login .login_box { padding: 36px 24px 28px; }
  #mb_login .join_box  { padding: 22px 24px 26px; }
  #fregister .join_page,
  #fregisterform .join_page { margin: 30px 16px; padding: 36px 22px 28px; }
  #fregisterform .btn_confirm { flex-direction: column-reverse; }
  #mb_login .join_btn ul { flex-direction: column; }
}
