@charset "utf-8";

/* --- Google Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap');

/* ### 기본 스타일 커스터마이징 시작 (사용자 기존 코드 유지) ### */
.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
}

/* ### 기본 스타일 커스터마이징 끝 ### */

/* =================================================================
   로그인 (Login) 페이지 스타일
================================================================= */
#mb_login.mbskin {
    font-family: 'Noto Sans KR', sans-serif;
    max-width: 450px;
    width: 100%;
    margin: 5rem auto;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    border: 1px solid #e9ecef;
    text-align: left;
}
#mb_login.mbskin:after {
    display: none; /* 기존 skew 효과 제거 */
}
#mb_login .mbskin_box {
    border: none;
}
#mb_login h1 {
    display: none; /* 페이지 타이틀은 탭으로 대체 */
}
.mb_log_cate {
    display: flex;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}
.mb_log_cate h2,
.mb_log_cate .join {
    flex: 1;
    margin: 0;
    padding: 1.25rem 0;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    color: #868e96;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
}
.mb_log_cate h2 {
    color: #1971c2;
    border-bottom-color: #1971c2;
}
.mb_log_cate .join:hover {
    color: #343a40;
}

#login_fs {
    padding: 2.5rem;
}
#login_fs .frm_input {
    height: 50px;
    padding: 0 16px;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 1rem;
    margin-bottom: 1rem;
}
#login_fs .frm_input:focus {
    outline: none;
    border-color: #1971c2;
    box-shadow: 0 0 0 3px rgba(25, 113, 194, 0.1);
}

#login_fs .btn_submit {
    width: 100%;
    height: 52px;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    margin-top: 1rem;
    background-color: #1971c2;
    color: white;
    transition: all 0.2s ease-in-out;
}
#login_fs .btn_submit:hover {
    background-color: #1864ab;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(25, 113, 194, 0.2);
}

#login_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
}
#login_info .login_if_auto label {
    font-size: 0.95rem;
    cursor: pointer;
}
#login_info .login_if_lpl a {
    font-size: 0.95rem;
    color: #495057;
    text-decoration: none;
}
#login_info .login_if_lpl a:hover {
    text-decoration: underline;
}

/* 소셜 로그인 */
#mb_login #sns_login {
    padding: 0 2.5rem 2.5rem;
    border-top: 1px solid #e9ecef;
}
#mb_login #sns_login h3 {
    text-align: center;
    font-size: 0.9rem;
    color: #868e96;
    margin-bottom: 1.5rem;
    position: relative;
    background: #fff;
}
#mb_login #sns_login h3:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #e9ecef;
    z-index: -1;
}
#mb_login #sns_login h3 span {
    background: #fff;
    padding: 0 1rem;
}

#mb_login #sns_login .sns-wrap {
    display: flex;
    gap: 1rem;
    flex-direction: column;
}

/* 비회원 구매/주문조회 */
#mb_login_notmb, #mb_login_od_wr {
    margin: 1.5rem;
    padding: 1.5rem;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    background-color: #f8f9fa;
}
#mb_login_notmb h2, #mb_login_od_wr h2 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
    text-align: center;
}
#guest_privacy {
    height: 100px;
    overflow-y: auto;
    padding: 1rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    margin-bottom: 1rem;
}

/* =================================================================
   회원가입 (Register) 영역 - Modern Style 적용
================================================================= */
.register {
    font-family: 'Noto Sans KR', sans-serif;
    max-width: 800px;
    margin: 3rem auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    border: 1px solid #e9ecef;
}

/* --- 진행 단계 --- */
.register .register-process-wrap {
    background-color: #f8f9fa;
    padding: 1.5rem 2.5rem;
    border-bottom: 1px solid #dee2e6;
    margin: 0;
}

.register .register-process {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.register .register-process .item {
    color: #868e96;
    font-weight: 500;
    font-size: 0.95rem;
}

.register .register-process .item.active {
    color: #1971c2; /* 모던 스타일의 강조색 */
    font-weight: 700;
}

.register .register-process .fa-arrow-right {
    color: #ced4da;
    font-size: 0.9rem;
}

/* --- 페이지 공통 제목 --- */
.register .register-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    padding: 3rem 0 1.5rem;
    color: #343a40;
}
.register .register-title.coporate {
    color: #28a745;
    font-weight: 700;
}

/* --- 폼 구조 및 섹션 --- */
.register form,
.register #register_form {
    padding: 1rem 3rem 3rem;
    margin: 0;
    background: none;
}
.register section {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    margin-bottom: 2rem;
    padding: 0;
}

.register section h2,
.register .register_form_inner h2 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #495057;
    margin: 0;
    padding: 1.5rem;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
}
.register .register_form_inner {
    background: #fff;
    border: none;
    border-radius: 0;
    padding: 0;
}
.register .register_form_inner h2 {
    padding: 1.5rem 0;
    margin: 2rem 0 1.5rem;
}

.register .register_form_inner ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.8rem 1.5rem;
}
.register .register_form_inner li {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}
.register .half_input {
    width: calc(50% - 0.75rem);
}

/* --- 약관 동의 페이지 스타일 --- */
.register .register_term {
    height: 200px;
    overflow-y: auto;
    background-color: #f8f9fa;
    padding: 1.5rem;
    line-height: 1.6;
    color: #495057;
    border-top: 1px solid #e9ecef;
}

.register #fregister_private div {
    padding: 1.5rem;
}
.register #fregister_private table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.register #fregister_private th, 
.register #fregister_private td {
    padding: 0.8rem 1rem;
    border: 1px solid #dee2e6;
    text-align: left;
    vertical-align: middle;
    word-break: auto-phrase;
}
.register #fregister_private th {
    background-color: #f8f9fa;
    font-weight: 500;
}

/* 개인정보 파기 안내 문구 스타일 */
.privacy-destruction-notice {
    padding: 1rem;
    margin: 1.5rem 0 0;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    font-size: 0.9rem;
    color: #495057;
    text-align: center;
}

.register .fregister_agree {
    padding: 1.25rem 1.5rem;
    background-color: #f8f9fa;
    border-top: 1px solid #e9ecef;
    text-align: right;
}
#fregister_term .fregister_agree {
    border-radius: 0 0 8px 8px;
}
#fregister_private .fregister_agree {
    border-radius: 0 0 8px 8px;
    margin-top: -1px;
}
.register .fregister_agree label {
    font-weight: 500;
    color: #343a40;
}

#fregister_chkall {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1.25rem 1.5rem;
    text-align: center;
    margin-top: 2rem;
}
#fregister_chkall label {
    font-weight: 700;
    font-size: 1.1rem;
}

/* --- 회원 유형 선택 --- */
.register .register-type-split {
    display: flex;
    gap: 2rem;
    margin-top: 3rem;
}
.register .register-type-split .item {
    flex: 1;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    text-align: center;
    transition: all 0.2s ease-in-out;
}
.register .register-type-split .item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    border-color: #1971c2;
}
.register .register-type-split .explain {
    padding: 2rem 1.5rem;
    height: auto;
    min-height: 200px;
}
.register .register-type-split .explain ul {
    list-style: none;
    padding: 0;
    text-align: left;
    font-size: 1rem;
    line-height: 1.8;
}
.register .register-type-split .explain li {
    padding-left: 1.5rem;
    position: relative;
}
.register .register-type-split .explain li:before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #1971c2;
}
.register .register-type-split .explain li[style*="line-through"]:before {
    content: '✖';
    color: #adb5bd;
}

.register .register-type-split .btn_confirm {
    padding: 1.5rem;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    border-radius: 0 0 8px 8px;
}
.register .register-type-split .btn_submit {
    width: 100%;
}


/* --- 접근 코드 입력 폼 스타일 --- */
.access-code-inner {
    max-width: 400px;
    margin: 0 auto;
}
.access-code-inner .input-wrap .frm_input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.access-code-inner .input-wrap .btn_submit {
    flex-shrink: 0;
    width: auto;
    padding: 0 1.5rem;
    margin: 0;
    height: 50px;
    font-size: 1rem;
    border-radius: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border: 1px solid #1971c2;
    border-left: 0;
    background-color: #1971c2;
    color: white;
    transition: background-color 0.2s;
}
.access-code-inner .input-wrap .btn_submit:hover {
    background-color: #1864ab;
}


/* --- 본인확인 페이지 스타일 (verify.php) --- */
.register .verify .register_form_inner {
    padding: 3rem 1.5rem;
    text-align: center;
}
.register .verify .register_form_inner h2.title {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 auto 2.5rem;
    padding: 0;
    border: none;
}
.register .verify .title .corporate {
    color: #28a745;
}
.register .verify .title .private {
    color: #343a40;
}
.register .verify ul {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.register .verify li {
    max-width: 400px;
}
.register .verify li:first-child {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding: 2.5rem;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}
.register .verify li label {
    margin-bottom: 0.5rem;
    text-align: center;
    font-weight: 500;
    font-size: 1.1rem;
    color: #495057;
}
.register .verify #win_hp_cert,
.register .verify .cert_btn {
    width: 100%;
    height: 52px;
    font-size: 1.1rem;
    font-weight: 700;
    background-color: #1971c2;
    color: white;
    border: none;
    border-radius: 8px;
    transition: background-color 0.2s;
    line-height: 52px;
}
.register .verify #win_hp_cert:hover,
.register .verify .cert_btn:hover {
    background-color: #1864ab;
}
/* 본인확인 후 이름이 자동 입력되므로, 이 단계에서는 숨김 처리 */
.register .verify li:has(#reg_mb_name) {
    display: none;
}
.register #msg_certify {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #a3e1af;
    background: #e6f9ea;
    color: #1f7836;
    border-radius: 8px;
}

/* --- 본인확인 버튼 스타일 (정보입력 페이지) --- */
.register .cert_btn_box {
    text-align: center;
    padding: 2.5rem 1.5rem;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
    margin-bottom: 2rem;
}
.register .cert_btn_box .cert_title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #343a40;
    margin: 0 auto 1.5rem;
}
.register .cert_btn_box .cert_btn {
    display: inline-block;
    max-width: 280px;
    width: 100%;
    height: 52px !important;
    padding: 0 20px;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease-in-out;
    background-color: #1971c2;
    color: white;
    line-height: 52px;
    margin: 5px;
}
.register .cert_btn_box .cert_btn:hover {
    background-color: #1864ab;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(25, 113, 194, 0.2);
}


/* --- 정보입력 페이지 스타일 --- */
.register label {
    display: inline;
    font-weight: 500;
    color: #495057;
    margin-bottom: 0.7rem;
    font-size: 0.9rem;
    line-height: normal;
}
.register .register_form_inner label.inline {
    display: inline;
}

.register .frm_input,
.register textarea {
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 16px;
    border: 1px solid #ced4da;
    border-radius: 8px;
    font-size: 1rem;
    color: #495057;
    transition: border-color 0.2s, box-shadow 0.2s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.register textarea {
    height: auto;
    padding: 14px 16px;
    min-height: 120px;
}

.register .frm_input::placeholder,
.register textarea::placeholder {
    color: #adb5bd;
}

.register .frm_input:focus,
.register textarea:focus {
    outline: none;
    border-color: #1971c2;
    box-shadow: 0 0 0 3px rgba(25, 113, 194, 0.1);
}

.register .input-wrap {
    position: relative;
    display: flex;
}

.register .input-wrap .frm_input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* --- 버튼 --- */
.register .btn-req,
.register .btn_frmline {
    padding: 0 1.5rem;
    height: 50px;
    border: 1px solid #ced4da;
    background-color: #f1f3f5;
    color: #495057;
    cursor: pointer;
    font-weight: 500;
    white-space: nowrap;
    transition: background-color 0.2s;
    border-left: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    margin-top: 0;
}

.register .btn_frmline {
    border-radius: 8px;
    margin-left: 0.5rem;
}

.register .btn-req:hover,
.register .btn_frmline:hover {
    background-color: #e9ecef;
}

.register .btn_confirm {
    padding: 2.5rem;
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: center;
    gap: 1rem;
    text-align: center;
}

.register .btn_confirm .btn_submit,
.register .btn_confirm .btn_close {
    flex: 1;
    max-width: 250px;
    height: 52px !important;
    padding: 16px 20px;
    font-size: 1.05rem;
    font-weight: 700;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s ease-in-out;
    display: inline-block;
    line-height: normal;
}

.register .btn_confirm .btn_submit {
    background-color: #1971c2;
    color: white;
}
.register .btn_confirm .btn_submit:hover {
    background-color: #1864ab;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(25, 113, 194, 0.2);
}
.register .btn_confirm .btn_submit.company {
    background: #28a745;
}
.register .btn_confirm .btn_submit.company:hover {
    background: #218838;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.2);
}
.register .btn_confirm .btn_close {
    background-color: #dee2e6;
    color: #495057;
    text-decoration: none;
}
.register .btn_confirm .btn_close:hover {
    background-color: #ced4da;
}

/* --- 메시지 및 아이콘 --- */
.register .input-wrap span.success,
.register .input-wrap span.failed {
    position: absolute;
    right: 125px; /* 버튼 너비에 따라 조정 */
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem !important;
    margin: 0 5px;
}
.register span.success { color: #2f9e44 !important; }
.register span.failed { color: #e03131 !important; }


/* --- Custom Checkbox Styles --- */
.chk_box {
    position: relative;
}
.chk_box label {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    font-weight: 500;
}
.chk_box .selec_chk {
    display: none; /* 기본 체크박스 숨기기 */
}
.chk_box label span:first-child {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #ced4da;
    border-radius: 4px;
    margin-right: 0.75rem;
    transition: all 0.2s;
    flex-shrink: 0;
}
.chk_box .selec_chk:checked + label span:first-child {
    background-color: #1971c2;
    border-color: #1971c2;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
}
.chk_box .chk_li {
    font-size: 1rem;
    color: #495057;
}

/* 자동등록방지 영역 스타일 조정 */
.register .is_captcha_use {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}

/* --- 반응형 디자인 --- */
@media (max-width: 768px) {
    .register, #mb_login.mbskin {
        margin: 1rem auto;
        border-radius: 0;
    }
    form,
    #register_form {
        padding: 1rem 1.5rem 2rem !important;
    }
    .register .half_input {
        width: 100%;
        margin: 0;
    }
    .register .register-title {
        font-size: 1.6rem;
        padding-top: 2rem;
    }
    .register .btn_confirm {
        flex-direction: column-reverse;
        padding: 1.5rem;
    }
    .register .btn_confirm .btn_submit,
    .register .btn_confirm .btn_close {
        max-width: 100%;
    }
    .register .input-wrap span.success,
    .register .input-wrap span.failed {
        right: 115px;
    }
    .register .register-type-split {
        flex-direction: column;
        gap: 1.5rem;
    }

    /* --- Responsive Privacy Table --- */
    .register #fregister_private table {
        border: none;
    }
    .register #fregister_private thead {
        display: none;
    }
    .register #fregister_private tr {
        display: block;
        border-bottom: 2px solid #1971c2;
        margin-bottom: 1.5rem;
    }
     .register #fregister_private tr:last-child {
        margin-bottom: 0;
        border-bottom: none;
    }
    .register #fregister_private td {
        display: flex;
        text-align: right;
        word-break: auto-phrase;
        font-size: 0.95rem;
        border: none;
        padding: 1rem 0.5rem;
        border-bottom: 1px solid #e9ecef;
        position: relative;
        min-height: 2.5em; /* Prevent collapsing */
        flex-wrap: wrap;
    }
    .register #fregister_private td:last-child {
        border-bottom: 0;
        text-align: right;
    }
    .register #fregister_private td::before {
        content: attr(data-label);
        left: 0.5rem;
        font-weight: 700;
        color: #495057;
        text-align: left;
        padding-right: 1rem;
    }
}
/* =================================================================
   기존 스타일 (유지 및 정리)
================================================================= */
.chk_li {
    padding-left: 20px
}

.tooltip_icon {
    display: inline-block;
    vertical-align: baseline;
    color: #b3b5b8;
    border: 0;
    font-size: 14px;
    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
}
/* 이하 기타 페이지 스타일... */
#reg_result {
    padding: 40px 30px;
    text-align: center;
    background: #edf3fc;
    border: 1px solid #d6e2f4;
    border-radius: 5px
}
.memo_list { border-top: 1px solid #ececec }
#scrap li { padding: 20px; border-bottom: 1px solid #ececec }
#point { text-align: center }
#mb_confirm p { padding: 0 20px 40px; border-bottom: 1px solid #e9e9e9; }
#profile table { margin-bottom: 0 }



/* 회원 비밀번호 확인 */
#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 {
}