@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_private {position:relative}
#fregister_private div {padding:20px;background:#fff}
#fregister_private table {width:100%;border-collapse:collapse;font-size:1em;}
#fregister_private table caption {position:absolute;font-size:0;line-height:0;overflow:hidden}
#fregister_private table th {background:#f7f7f9;width:33.33%;color:#000;padding:10px;border:1px solid #d8dbdf}
#fregister_private 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}

/* 회원가입 완료 */
#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;}

/* 아이디/비밀번호 찾기 - ONCAP 카드형 레이아웃 복구 (2026-07-06)
   #mb_login(로그인 페이지)에 이미 적용된 카드 디자인 톤(둥근 모서리 카드, #2563eb 포인트 컬러,
   48px 입력창)을 여기에도 동일하게 적용한다. 마크업 자체(#find_info > .new_win_con > form,
   cert_no/token hidden input, captcha_html() 출력)는 손대지 않고 CSS만 추가한다. */
#find_info {max-width:520px;margin:40px auto;padding:0 16px;box-sizing:border-box;}
/* 본인인증(휴대폰/아이핀/간편인증)으로 찾기 옵션이 켜지면(101~102줄) .new_win_con이 460px씩
   2개가 float:left로 나란히 배치된다 - 520px 컨테이너에 넣으면 줄바꿈/삐침이 생기므로 이
   모드에서만 컨테이너 폭을 두 카드가 들어갈 만큼 넓힌다. */
#find_info.cert {max-width:960px;}
#find_info .new_win_con {background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,0.06);padding:28px;box-sizing:border-box;}
#find_info p {color:#4b5563;font-size:14px;}
#find_info .frm_input.full_input {width:100%;height:48px;padding:0 14px;border:1px solid #cbd5e1;border-radius:6px;font-size:15px;box-sizing:border-box;margin:10px 0 0;}
#find_info .frm_input.full_input:focus {outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.12);}
#find_info .captcha {margin-top:16px;}
#find_info .win_btn {margin-top:22px;}
#find_info .win_btn .btn_submit {width:100%;height:48px;border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:15px;font-weight:700;cursor:pointer;}
#find_info .win_btn .btn_submit:hover {background:#1d4ed8;}
@media (max-width:640px) {
    #find_info {margin:20px auto;padding:0 12px;}
    #find_info .new_win_con {padding:20px 16px;border-radius:12px;}
}

/* 자동등록방지(캡차) - 사이트 전역에 이 스타일이 로딩되는 곳이 없어(theme/oncap/html/css/default.css에는
   있지만 head.php의 <link> 목록에서 빠져 있음) #captcha_img/#captcha_key 등이 브라우저 기본 스타일로
   깨져 보였다. default.css에 이미 있던 값을 그대로 옮겨와 회원 스킨 공통(로그인/회원가입/비번찾기 등
   captcha를 쓰는 모든 화면)에 적용한다 - 값 변경 없이 위치만 옮긴 것이라 회귀 위험이 없다. */
#captcha {display:inline-block;position:relative;}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden;}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0;}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px;}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../../../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px;}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top;}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em;}

/* 비밀번호 재설정 */
#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}

/* =================================================================
   AI이사 2단 레이아웃 회원가입 및 로그인 통합 디자인
   ================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&family=Outfit:wght@300;400;500;600;700;800&display=swap');

/* 회원가입/로그인 페이지 전체 배경 연회색 설정 */
body:has(.register-wrap),
body:has(#mb_login) {
    background-color: #f8f9fa !important;
}

/* 2단 회원가입 레이아웃 감싸기 */
.register-wrap {
    max-width: 1100px;
    margin: 50px auto;
    padding: 0 20px;
    box-sizing: border-box;
    font-family: 'Outfit', 'Noto Sans KR', sans-serif;
}

.register-box {
    display: flex;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    box-sizing: border-box;
}

/* 왼쪽 배너 영역 */
.register-left {
    flex: 1;
    background: linear-gradient(135deg, #0f2b5c 0%, #1e40af 100%);
    padding: 60px 40px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    position: relative;
}
.register-left::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 80% 20%, rgba(59, 130, 246, 0.15) 0%, transparent 50%);
    pointer-events: none;
}
.banner-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0.5px;
}
.register-left h2 {
    font-size: 36px;
    font-weight: 800;
    margin: 0 0 15px;
    color: #fff;
    border: none !important;
    padding: 0 !important;
}
.banner-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin-bottom: 40px;
}
.benefit-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.benefit-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 500;
    color: #f1f5f9;
}
.benefit-list li i {
    font-size: 18px;
    color: #60a5fa;
}
.banner-footer {
    font-size: 12px;
    color: #94a3b8;
    margin-top: 60px;
}

/* 오른쪽 입력 영역 */
.register-right {
    flex: 1.2;
    padding: 50px 40px;
    box-sizing: border-box;
}
.register-header {
    margin-bottom: 30px;
}
.register-header h3 {
    font-size: 24px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px;
}
.register-header p {
    font-size: 14px;
    color: #64748b;
    margin: 0;
}

/* 카카오 간편 가입 버튼 */
.kakao-signup-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    background: #FEE500;
    border-radius: 6px;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}
.kakao-signup-btn:hover {
    background: #F0D400;
}
.kakao-signup-btn .kakao-icon {
    font-size: 18px;
    color: #191919;
}
.kakao-signup-btn .kakao-text {
    font-size: 14px;
    font-weight: 700;
    color: #191919;
}

/* 구분선 */
.signup-divider, .social-divider {
    display: flex;
    align-items: center;
    margin: 20px 0;
    color: #94a3b8;
    font-size: 12.5px;
}
.signup-divider::before, .signup-divider::after,
.social-divider::before, .social-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e2e8f0;
}
.signup-divider span, .social-divider span {
    padding: 0 10px;
}

/* 파란색 안내문구 박스 */
.blue-info-box {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 20px;
    font-weight: 500;
}

/* 입력 폼 스타일 */
.signup-form-fields {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.input-group {
    display: flex;
    flex-direction: column;
    position: relative;
}
.group-label {
    font-size: 13.5px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
}
.signup-input {
    width: 100%;
    height: 48px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 0 14px;
    font-size: 14px;
    color: #1e293b;
    box-sizing: border-box;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.signup-input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    outline: none;
}
.signup-input::placeholder {
    color: #94a3b8;
}

/* 비밀번호 토글 */
.password-group {
    position: relative;
}
.password-group .signup-input {
    padding-right: 54px;
}
.password-view-toggle {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #64748b;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

/* 실시간 검증 메시지 */
.validation-msg {
    font-size: 12px;
    margin-top: 5px;
    font-weight: 500;
    display: block;
}
.validation-msg.success { color: #10b981; }
.validation-msg.error { color: #ef4444; }
.validation-msg.warning { color: #f59e0b; }
.validation-msg.info { color: #3b82f6; }

/* 주소 및 주소검색 한 줄 배치 */
.address-zip-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
}
.address-zip-row .signup-input {
    flex: 1;
}
.address-search-btn {
    height: 48px;
    background: #2563eb;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 0 16px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}
.address-search-btn:hover {
    background: #1d4ed8;
}

/* 약관 섹션 디자인 */
#fregister_term, #fregister_private {
    margin-bottom: 20px;
    text-align: left;
}
#fregister_term h4, #fregister_private h4 {
    font-size: 14px;
    font-weight: 700;
    color: #334155;
    margin: 0 0 8px;
}
.agree-textarea {
    width: 100%;
    height: 100px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 12px;
    font-size: 12.5px;
    line-height: 1.6;
    color: #475569;
    border-radius: 6px;
    resize: none;
    box-sizing: border-box;
    margin-bottom: 8px;
}
.table-container {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    margin-bottom: 8px;
}
.table-container table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    text-align: left;
}
.table-container th {
    background: #f1f5f9;
    padding: 10px;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-weight: 700;
}
.table-container td {
    padding: 10px;
    border-bottom: 1px solid #f1f5f9;
    color: #475569;
}
.agree-chk-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.agree-chk-row label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    color: #475569;
}
.agree-chk-row input[type="checkbox"],
#fregister_chkall input[type="checkbox"],
.agree-checkbox-group input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* 커스텀 체크박스 스타일 */
.agree-chk-row label span,
#fregister_chkall label span,
.agree-checkbox-group label span.checkbox-custom {
    display: inline-block;
    width: 18px;
    height: 18px;
    background-color: #fff;
    border: 2px solid #cbd5e1;
    border-radius: 4px;
    margin-right: 8px;
    position: relative;
    flex-shrink: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.agree-chk-row input[type="checkbox"]:checked ~ label span,
#fregister_chkall input[type="checkbox"]:checked ~ label span,
.agree-checkbox-group input[type="checkbox"]:checked ~ .checkbox-custom {
    background-color: #2563eb;
    border-color: #2563eb;
}
.agree-chk-row label span::after,
#fregister_chkall label span::after,
.agree-checkbox-group label span.checkbox-custom::after {
    content: "";
    position: absolute;
    display: none;
    left: 5px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.agree-chk-row input[type="checkbox"]:checked ~ label span::after,
#fregister_chkall input[type="checkbox"]:checked ~ label span::after,
.agree-checkbox-group input[type="checkbox"]:checked ~ .checkbox-custom::after {
    display: block;
}

/* 전체동의 상자 */
#fregister_chkall {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 14px;
    margin: 25px 0 20px;
    display: flex;
    align-items: center;
}
#fregister_chkall label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    color: #1e293b;
    width: 100%;
}

/* 동의 체크박스(가입폼 하단) */
.agree-checkbox-group {
    margin-top: 5px;
}
.checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    color: #475569;
}
.checkbox-text a {
    color: #2563eb;
    text-decoration: underline;
    font-weight: 600;
}

/* 가입완료 버튼 */
.submit-btn-group, .btn_confirm {
    margin-top: 25px;
    display: flex;
    gap: 10px;
}
.signup-submit-btn, .btn_confirm .btn_submit {
    flex: 1;
    height: 48px;
    background: #2563eb;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    text-align: center;
    line-height: 48px;
}
.signup-submit-btn:hover, .btn_confirm .btn_submit:hover {
    background: #1d4ed8;
}
.btn_confirm .btn_close {
    flex: 0 0 100px;
    height: 48px;
    line-height: 48px;
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    text-decoration: none;
    text-align: center;
    font-weight: 600;
    transition: background-color 0.2s ease;
}
.btn_confirm .btn_close:hover {
    background: #e2e8f0;
}

/* =================================================================
   로그인 디자인 톤 통일 (파란색 메인 테마 적용)
   ================================================================= */
#mb_login.login-page {
    max-width: 450px !important;
    margin: 50px auto !important;
    font-family: 'Outfit', 'Noto Sans KR', sans-serif;
}
#mb_login .login-card {
    background: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    padding: 30px !important;
}
#mb_login .login-top {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
}
#mb_login .login-tab {
    flex: 1;
    text-align: center;
    padding: 12px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}
#mb_login .login-tab.is-active {
    background: #2563eb !important;
    color: #fff !important;
}
#mb_login .login-social-kakao {
    background: #FEE500 !important;
    color: #191919 !important;
    border-radius: 6px !important;
    height: 48px !important;
    font-weight: 700 !important;
}
#mb_login .login-social-kakao span {
    color: #191919 !important;
}
#mb_login .login-divider span {
    font-weight: 500;
}
#mb_login .login-field .frm_input {
    border-radius: 6px !important;
    border: 1px solid #cbd5e1 !important;
    height: 48px !important;
    padding: 0 14px !important;
}
#mb_login .login-field .frm_input:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
    outline: none;
}
#mb_login .login-password-toggle {
    border-radius: 6px !important;
    height: 48px !important;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    font-weight: 700 !important;
}
#mb_login .login-submit {
    height: 48px !important;
    border-radius: 6px !important;
    background: #2563eb !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    transition: background-color 0.2s ease;
}
#mb_login .login-submit:hover {
    background: #1d4ed8 !important;
}
#mb_login .login-links a {
    color: #64748b;
    text-decoration: none;
}
#mb_login .login-links a:hover {
    color: #2563eb;
    text-decoration: underline;
}

/* =================================================================
   반응형 모바일 (768px 이하) - 지시서 사양 필수 적용
   ================================================================= */
@media (max-width: 768px) {
    .register-wrap {
        width: 100%;
        padding: 20px 15px;
        box-sizing: border-box;
    }

    .register-box {
        display: block;
        width: 100%;
    }

    .register-left,
    .register-right {
        width: 100%;
    }

    .register-left {
        margin-bottom: 20px;
        padding: 40px 25px;
        border-radius: 12px;
    }
    
    .register-right {
        padding: 0;
    }

    .register-right input,
    .register-right select,
    .register-right button {
        width: 100%;
        box-sizing: border-box;
    }
    
    .address-zip-row {
        flex-direction: column;
        gap: 8px;
    }
    
    .address-search-btn {
        width: 100% !important;
    }
    
    .btn_confirm {
        flex-direction: column-reverse;
        gap: 8px;
    }
    
    .btn_confirm .btn_close {
        width: 100% !important;
        flex: 1;
    }
}

/* 소셜 가입 및 계정 연결 스타일 */
.social-register-container h2 {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    text-align: center;
    margin-bottom: 20px;
}
.member-connect-section {
    margin-top: 25px;
    text-align: center;
    border-top: 1px solid #f1f5f9;
    padding-top: 20px;
}
.member-connect-section p {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 10px;
}
.connect-linking-btn {
    background: #f1f5f9;
    color: #475569;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}
.connect-linking-btn:hover {
    background: #e2e8f0;
}

/* 리모델(remodal) 디자인 톤 통일 */
.remodal {
    border-radius: 12px !important;
    padding: 25px !important;
    max-width: 400px !important;
}
.connect-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 15px;
    color: #94a3b8;
    cursor: pointer;
}
.connect-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
}
.connect-desc {
    font-size: 12.5px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 20px;
}
.linking-form-fields {
    display: flex;
    flex-direction: column;
}
.linking-input {
    height: 46px !important;
}

.password-group{
    position:relative;
}

.password-group .signup-input{
    width:100%;
    padding-right:52px;
}

.password-group .password-view-toggle{
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border:0;
    background:transparent;
    cursor:pointer;
    font-size:18px;
    line-height:34px;
    padding:0;
}
.register-right{
    padding:38px 28px;
}

.register-header h3{
    font-size:24px;
    font-weight:800;
    color:#111827;
    margin-bottom:14px;
}

.register-header p{
    font-size:15px;
    line-height:1.7;
    color:#64748b;
}

.signup-form-fields{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.input-group{
    margin:0;
}

.signup-input{
    width:100%;
    height:56px;
    border:1px solid #d5deea;
    border-radius:12px;
    padding:0 16px;
    font-size:16px;
    color:#111827;
    background:#fff;
    box-sizing:border-box;
}

.signup-input::placeholder{
    color:#9aa9bd;
}

.password-group{
    position:relative;
}

.password-group .signup-input{
    padding-right:56px;
}

.password-view-toggle{
    position:absolute;
    right:14px;
    top:28px;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    border:0;
    background:#f8fafc;
    border-radius:50%;
    cursor:pointer;
    font-size:16px;
    line-height:34px;
    padding:0;
}

.group-label{
    display:block;
    margin:6px 0 8px;
    font-size:15px;
    font-weight:700;
    color:#475569;
}

.address-zip-row{
    display:flex;
    gap:10px;
    align-items:center;
}

.address-zip-row .signup-input{
    flex:1;
}

.address-search-btn{
    width:110px;
    height:56px;
    border:0;
    border-radius:12px;
    background:#111827;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

.agree-checkbox-group{
    margin-top:4px;
    padding:14px 16px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:12px;
}

.checkbox-label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:15px;
    line-height:1.6;
    color:#475569;
}

.checkbox-label input{
    margin-top:5px;
    transform:scale(1.2);
}

.signup-submit-btn{
    width:100%;
    height:58px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#8ac926 0%,#5fad18 100%);
    color:#fff;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(95,173,24,.25);
}

.submit-btn-group{
    margin-top:16px;
}

@media (max-width:768px){
    .register-right{
        padding:30px 22px;
    }

    .address-zip-row{
        flex-direction:column;
        align-items:stretch;
    }

    .address-search-btn{
        width:100%;
    }
}

@media (max-width:480px){
    .register-right{
        padding:24px 16px;
    }

    .register-header h3{
        font-size:22px;
    }

    .signup-input,
    .address-search-btn,
    .signup-submit-btn{
        height:54px;
        font-size:15px;
    }

    .checkbox-label{
        font-size:14px;
    }
}

.address-group{
    display:block;
}

.address-zip-row{
    display:flex;
    gap:10px;
    align-items:center;
}

.address-zip-row .signup-input{
    flex:1;
}

.address-search-btn{
    width:110px;
    height:56px;
    border:0;
    border-radius:12px;
    background:#111827;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

.address-detail-input{
    width:100%;
}

@media (max-width:768px){
    .address-zip-row{
        flex-direction:column;
        align-items:stretch;
    }

    .address-search-btn{
        width:100%;
    }
}

/* 카카오 소셜 버튼 - 회원가입/로그인 공통 */
.sns-wrap{
    margin-bottom:20px;
}

.sns-icon.sns-kakao{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:54px;
    border-radius:14px;
    background:#FEE500;
    color:#191919;
    font-weight:800;
    text-decoration:none;
    box-sizing:border-box;
}

.sns-icon.sns-kakao:hover{
    opacity:.9;
}

.sns-icon .ico{
    width:100%;
    height:2px;
    background:url('/img/kakao.png') no-repeat center;
    background-size:contain;
    flex-shrink:0;
}

.sns-icon .txt{
    color:#191919;
}

.sns-icon .txt i{
    font-style:normal;
}

.register-right .sns-wrap{
    width:100%;
    margin:0 0 18px;
}

.register-right .sns-icon.sns-kakao{
    min-height:54px;
    margin:0;
    transition:all .2s ease;
}

.register-right .sns-icon.sns-kakao:hover{
    background:#FDDC00;
    opacity:1;
}

.register-right .sns-icon.sns-kakao .ico{
    width:24px;
    height:24px;
}
