/*
|--------------------------------------------------------------------------
| 정육대 회원스킨 공통 디자인
|--------------------------------------------------------------------------
| 로그인, 회원가입, 회원정보, 가입완료, 비밀번호 찾기,
| 쪽지, 포인트, 프로필, 스크랩, 메일보내기를 한 파일에서 관리합니다.
|--------------------------------------------------------------------------
*/

:root {
    --member-max-width: 768px;
    --member-content-width: 680px;
    --member-small-width: 480px;

    --member-blue-900: #1d4f85;
    --member-blue-700: #2d6daa;
    --member-blue-500: #4b91d2;
    --member-blue-100: #eaf4ff;
    --member-blue-050: #f4f9ff;

    --member-text: #17212a;
    --member-text-sub: #6f838f;
    --member-text-muted: #93a2ab;

    --member-line: #dfe7ec;
    --member-line-light: #edf1f3;
    --member-bg: #f6f9fc;
    --member-white: #fff;

    --member-danger: #e84555;
    --member-success: #2c8a62;

    --member-radius-large: 20px;
    --member-radius-medium: 14px;
    --member-radius-small: 10px;

    --member-shadow:
        0 11px 30px rgba(36, 63, 80, .075);
}

/* =========================================================
   공통 초기화
========================================================= */
.member-ui-page,
.member-ui-page *,
.register,
.register *,
.mbskin,
.mbskin *,
.new_win,
.new_win *,
.member_cert_refresh,
.member_cert_refresh * {
    box-sizing: border-box;
}

.member-ui-page {
    width: 100%;
    max-width: var(--member-max-width);
    min-height: calc(100vh - 110px);
    margin: 0 auto;
    padding: 24px 16px 115px;
    background: var(--member-bg);
    color: var(--member-text);
}

.member-ui-shell {
    width: 100%;
    max-width: var(--member-content-width);
    margin: 0 auto;
}

.member-ui-shell-wide {
    max-width: 720px;
}

.member-ui-shell-small {
    max-width: var(--member-small-width);
}

.member-ui-intro {
    margin-bottom: 20px;
    text-align: center;
}

.member-ui-intro > strong {
    display: block;
    color: var(--member-text);
    font-size: 21px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: -.65px;
}

.member-ui-intro > p {
    margin: 8px 0 0;
    color: var(--member-text-sub);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.7;
}

.member-ui-card {
    width: 100%;
    padding: 24px;
    border: 1px solid var(--member-line);
    border-radius: var(--member-radius-large);
    background: var(--member-white);
    box-shadow: var(--member-shadow);
}

.member-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 15px;
}

.member-card-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.member-card-heading h2 {
    margin: 0;
    color: var(--member-text);
    font-size: 16px;
    font-weight: 650;
    letter-spacing: -.4px;
}

.member-required-label {
    display: inline-flex;
    min-width: 34px;
    height: 22px;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    background: #fff0f2;
    color: var(--member-danger);
    font-size: 9px;
    font-weight: 700;
}

.member-type-badge {
    display: inline-flex;
    min-width: 80px;
    height: 28px;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    padding: 0 12px;
    border-radius: 999px;
    background: #edf2f5;
    color: #5d7483;
    font-size: 10px;
    font-weight: 700;
}

.member-type-badge.seller {
    background: var(--member-blue-100);
    color: var(--member-blue-700);
}

/* =========================================================
   입력 요소
========================================================= */
.member-input,
.register .frm_input,
.new_win .frm_input,
.mbskin .frm_input,
.member_cert_refresh .frm_input,
#mb_login_od input {
    display: block;
    width: 100%;
    min-width: 0;
    height: 49px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #d9e3e9;
    border-radius: 12px;
    outline: 0;
    background: #f8fafb;
    color: var(--member-text);
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.member-input:focus,
.register .frm_input:focus,
.new_win .frm_input:focus,
.mbskin .frm_input:focus,
.member_cert_refresh .frm_input:focus,
#mb_login_od input:focus {
    border-color: var(--member-blue-500);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(75, 145, 210, .1);
}

.member-input::placeholder,
.register .frm_input::placeholder,
.new_win .frm_input::placeholder,
.mbskin .frm_input::placeholder {
    color: #9eacb4;
}

.member-field {
    position: relative;
    margin-bottom: 11px;
}

.member-field-icon > svg {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 2;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    fill: none;
    stroke: #8ea1ac;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}

.member-field-icon .member-input {
    padding-right: 46px;
    padding-left: 45px;
}

.member-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    z-index: 3;
    display: grid;
    width: 36px;
    height: 36px;
    transform: translateY(-50%);
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #879ba7;
    cursor: pointer;
}

.member-password-toggle:hover,
.member-password-toggle:focus {
    background: #eef4f7;
    color: var(--member-blue-700);
}

.member-password-toggle svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* =========================================================
   버튼
========================================================= */
.member-primary-button,
.member-secondary-button,
.register .btn_submit,
.register .btn_close,
.mbskin .btn_submit,
.new_win .btn_submit,
.new_win .btn_close,
.new_win .btn_b01,
.new_win .btn_b02,
.member_cert_refresh .btn_submit,
.member_cert_refresh .btn_frmline {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    height: 47px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 16px;
    border-radius: 12px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.member-primary-button,
.register .btn_submit,
.mbskin .btn_submit,
.new_win .btn_submit,
.member_cert_refresh .btn_submit {
    border: 0;
    background:
        linear-gradient(
            135deg,
            var(--member-blue-900),
            var(--member-blue-500)
        );
    color: #fff;
    box-shadow:
        0 8px 18px rgba(40, 105, 174, .2);
}

.member-primary-button:hover,
.member-primary-button:focus,
.register .btn_submit:hover,
.mbskin .btn_submit:hover,
.new_win .btn_submit:hover {
    color: #fff;
    filter: brightness(.98);
}

.member-secondary-button,
.register .btn_close,
.new_win .btn_close,
.new_win .btn_b01,
.new_win .btn_b02 {
    border: 1px solid var(--member-line);
    background: #fff;
    color: #5f7480;
    box-shadow: none;
}

.member-action-row {
    display: flex;
    width: 100%;
    gap: 9px;
    margin-top: 18px;
}

.member-action-row > * {
    flex: 1;
}

.member-action-row-two {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

/* =========================================================
   로그인
========================================================= */
.member-login-shell {
    max-width: 680px;
}

.member-login-card {
    padding: 25px;
}

.member-social-login-card {
    margin-top: 15px;
    padding: 20px 25px 25px;
}

.member-social-login-card .member-divider {
    margin-top: 0;
}

.member-login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 15px;
    color: var(--member-text-sub);
    font-size: 11px;
}

.member-check-inline {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: var(--member-text-sub);
    cursor: pointer;
}

.member-check-inline input,
.member-switch-check input,
.member-all-agree input {
    appearance: none;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 0;
    border: 1px solid #c9d5dc;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
}

.member-check-inline input:checked,
.member-switch-check input:checked,
.member-all-agree input:checked {
    border-color: var(--member-blue-700);
    background:
        var(--member-blue-700)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        center / 15px 15px
        no-repeat;
}

.member-text-link {
    color: #516a78;
    text-decoration: none;
}

.member-text-link:hover,
.member-text-link:focus {
    color: var(--member-blue-700);
}

.member-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0 17px;
    color: #99a7af;
    font-size: 10px;
}

.member-divider::before,
.member-divider::after {
    height: 1px;
    flex: 1;
    background: var(--member-line-light);
    content: "";
}

/* =========================================================
   소셜로그인·소셜가입
========================================================= */
.member-social-area {
    width: 100%;
}

.member-social-area #sns_login,
.member-social-register #sns_register,
.member-social-area .sns-wrap-over,
.member-social-register .sns-wrap-over {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.member-social-area h3,
.member-social-register h2,
.member-social-register h3,
.member-social-area .sns-wrap-over > h3,
.member-social-register .sns-wrap-over > h2,
.member-social-register .sns-wrap-over > h3 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

.member-social-area #sns_login > .sns-wrap,
.member-social-register #sns_register > .sns-wrap,
.member-social-area .sns-wrap-over > .sns-wrap,
.member-social-register .sns-wrap-over > .sns-wrap {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.member-social-area .sns-wrap > a,
.member-social-area .sns-wrap > li,
.member-social-register .sns-wrap > a,
.member-social-register .sns-wrap > li {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: hidden !important;
}

.member-social-area .sns-icon,
.member-social-register .sns-icon,
.member-social-area a[class*="sns-"],
.member-social-register a[class*="sns-"],
.member-social-area a[class*="social_"],
.member-social-register a[class*="social_"] {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    float: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 9px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    color: inherit !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.member-social-area .sns-icon:nth-child(odd),
.member-social-register .sns-icon:nth-child(odd) {
    margin-right: 0 !important;
}

.member-social-area .sns-icon .txt,
.member-social-register .sns-icon .txt,
.member-social-area .sns-icon span,
.member-social-register .sns-icon span {
    display: block !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.member-social-area .sns-icon .txt i,
.member-social-register .sns-icon .txt i {
    display: inline !important;
    position: static !important;
    color: inherit !important;
    font-style: normal !important;
    font-size: inherit !important;
}

.member-social-area .sns-icon .ico,
.member-social-register .sns-icon .ico,
.member-social-area img,
.member-social-register img {
    position: static !important;
    max-width: 22px !important;
    max-height: 22px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.member-social-area .sns-naver,
.member-social-register .sns-naver {
    border: 0 !important;
    background: #03c75a !important;
    color: #fff !important;
}

.member-social-area .sns-kakao,
.member-social-register .sns-kakao {
    border: 0 !important;
    background: #fee500 !important;
    color: #181600 !important;
}

.member-social-area .sns-google,
.member-social-register .sns-google {
    border: 1px solid #dce3e8 !important;
    background: #fff !important;
    color: #394953 !important;
}

.member-social-register {
    margin-bottom: 15px;
    padding: 17px;
    border: 1px solid var(--member-line);
    border-radius: 16px;
    background: #fff;
}

/* =========================================================
   로그인 회원가입 진입
========================================================= */
.member-register-entry {
    margin-top: 15px;
    padding: 20px;
    border: 1px solid var(--member-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(36, 63, 80, .05);
}

.member-register-entry-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
}

.member-register-entry-title strong {
    color: #263842;
    font-size: 14px;
    font-weight: 650;
}

.member-register-entry-title a {
    color: var(--member-blue-700);
    font-size: 10px;
    text-decoration: none;
}

.member-register-entry-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.member-register-entry-item {
    display: flex;
    min-height: 78px;
    flex-direction: column;
    justify-content: center;
    padding: 13px;
    border: 1px solid var(--member-line);
    border-radius: 13px;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.member-register-entry-item.seller {
    border-color: #c8dcf0;
    background: var(--member-blue-050);
}

.member-register-entry-item strong {
    color: #253a45;
    font-size: 12px;
    font-weight: 650;
}

.member-register-entry-item span {
    display: block;
    margin-top: 5px;
    color: #84949e;
    font-size: 9px;
    line-height: 1.5;
}

.member-ui-footnote {
    margin: 15px 0 0;
    color: #95a3ab;
    font-size: 10px;
    line-height: 1.65;
    text-align: center;
}

/* =========================================================
   회원가입 약관
========================================================= */
.member-register-agree-page #fregister {
    width: 100%;
}

.member-agreement-card {
    margin-bottom: 13px;
    padding: 21px;
}

.member-agreement-content {
    display: block;
    width: 100%;
    height: 240px;
    padding: 17px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #e1e7eb;
    border-radius: 12px;
    outline: 0;
    background: #f8fafb;
    color: #60747f;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.75;
    word-break: break-word;
}

.member-agreement-content:focus {
    border-color: var(--member-blue-500);
    box-shadow: 0 0 0 3px rgba(75, 145, 210, .09);
}

.member-agreement-content section + section {
    margin-top: 24px;
}

.member-agreement-content h1,
.member-agreement-content h2,
.member-agreement-content h3,
.member-agreement-content h4 {
    margin: 0 0 9px;
    color: #293e49;
    font-weight: 650;
    line-height: 1.5;
}

.member-agreement-content h2 {
    padding-bottom: 8px;
    border-bottom: 1px solid #e6ebee;
    font-size: 14px;
}

.member-agreement-content h3 {
    font-size: 12px;
}

.member-agreement-content p {
    margin: 0 0 9px;
}

.member-agreement-content ul,
.member-agreement-content ol {
    margin: 8px 0;
    padding-left: 19px;
}

.member-agreement-content li + li {
    margin-top: 4px;
}

.member-agreement-content table {
    width: 100%;
    border-collapse: collapse;
}

.member-agreement-content th,
.member-agreement-content td {
    padding: 9px;
    border: 1px solid #e1e7eb;
    font-size: 10px;
    line-height: 1.55;
    text-align: left;
    vertical-align: top;
}

.member-agreement-content th {
    background: #f1f5f7;
    color: #405663;
    font-weight: 600;
}

.member-agreement-plain {
    white-space: normal;
}

.member-switch-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #657985;
    font-size: 11px;
    cursor: pointer;
}

.member-table-scroll {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e1e7eb;
    border-radius: 12px;
}

.member-table-scroll table,
#fregister_private table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.member-table-scroll th,
.member-table-scroll td,
#fregister_private th,
#fregister_private td {
    padding: 13px 11px;
    border-right: 1px solid #e7ecef;
    border-bottom: 1px solid #e7ecef;
    color: #607480;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
    vertical-align: top;
}

.member-table-scroll th,
#fregister_private th {
    background: #f4f7f9;
    color: #455b67;
    font-weight: 600;
    text-align: center;
}

.member-table-scroll tr:last-child td,
#fregister_private tr:last-child td {
    border-bottom: 0;
}

.member-table-scroll th:last-child,
.member-table-scroll td:last-child,
#fregister_private th:last-child,
#fregister_private td:last-child {
    border-right: 0;
}

.member-all-agree {
    display: flex;
    min-height: 59px;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    border: 1px solid #c9dcf0;
    border-radius: 14px;
    background: var(--member-blue-050);
    color: #294d6e;
    cursor: pointer;
}

.member-all-agree strong {
    font-size: 12px;
    font-weight: 650;
}

.member-all-agree input {
    pointer-events: auto;
}

.member-all-agree:hover {
    border-color: #91b8dd;
    background: #eef7ff;
}

/* =========================================================
   회원정보 입력·수정
========================================================= */
.member-register-form-page .register_form_inner {
    margin-bottom: 14px;
    padding: 22px;
    border: 1px solid var(--member-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 23px rgba(36, 63, 80, .05);
}

.member-register-form-page .register_form_inner h2 {
    margin: 0 0 17px;
    padding-bottom: 11px;
    border-bottom: 1px solid var(--member-line-light);
    color: var(--member-text);
    font-size: 16px;
    font-weight: 650;
    letter-spacing: -.4px;
}

.member-register-form-page .register_form_inner ul {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.member-register-form-page
.register_form_inner li {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.member-register-form-page
.register_form_inner li:not(.half_input) {
    grid-column: 1 / -1;
}

.member-register-form-page
.register_form_inner li.half_input {
    width: auto;
    float: none;
}

.member-register-form-page
.register_form_inner label:not(.inline) {
    display: block;
    margin: 0 0 7px;
    color: #435864;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.45;
}

.member-register-form-page
.register_form_inner .frm_input {
    width: 100% !important;
    max-width: none !important;
}

.member-register-form-page
.register_form_inner .half_input,
.member-register-form-page
.register_form_inner .full_input {
    width: 100% !important;
}

.member-register-form-page
.register_form_inner .frm_address {
    margin-top: 8px;
}

.member-register-form-page
#reg_zip_find,
.member-register-form-page
.btn_frmline,
.member-register-form-page
.win_sa_cert {
    display: inline-flex;
    width: auto;
    min-width: 110px;
    height: 39px;
    align-items: center;
    justify-content: center;
    margin: 0 5px 7px 0;
    padding: 0 12px;
    border: 1px solid #c8d9e7;
    border-radius: 10px;
    background: #fff;
    color: var(--member-blue-700);
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}

.member-register-form-page
#msg_mb_id,
.member-register-form-page
#msg_mb_nick,
.member-register-form-page
#msg_certify {
    display: block;
    margin-top: 6px;
    color: #6d8290;
    font-size: 10px;
    line-height: 1.55;
}

.member-register-form-page
.cert_desc,
.member-register-form-page
.cert_req {
    color: var(--member-blue-700);
    font-size: 9px;
}

.member-register-form-page
.tooltip_icon {
    display: inline-grid;
    width: 21px;
    height: 21px;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #eef3f6;
    color: #758a96;
    cursor: pointer;
}

.member-register-form-page
.tooltip {
    display: none;
    position: absolute;
    z-index: 20;
    max-width: 310px;
    padding: 10px 12px;
    border: 1px solid #dce5ea;
    border-radius: 9px;
    background: #fff;
    color: #60747f;
    font-size: 10px;
    line-height: 1.55;
    box-shadow: 0 8px 22px rgba(30, 54, 70, .12);
}

.member-register-form-page
.chk_box {
    display: flex;
    min-height: 43px;
    align-items: center;
    gap: 8px;
    padding: 0 12px !important;
    border: 1px solid #e3e9ed !important;
    border-radius: 11px;
    background: #f9fbfc;
}

.member-register-form-page
.chk_box .selec_chk {
    position: static !important;
    width: 18px;
    height: 18px;
    margin: 0;
    opacity: 1 !important;
}

.member-register-form-page
.chk_box label {
    display: none !important;
}

.member-register-form-page
.chk_li {
    color: #617580;
    font-size: 10px;
    line-height: 1.5;
}

.member-register-form-page
.is_captcha_use {
    display: block;
    padding: 18px !important;
    border: 1px solid #dce6ec !important;
    border-radius: 14px;
    background: #f8fbfd;
}
.member-register-form-page .member-captcha-title {display:block;margin-bottom:5px;color:#334a56;font-size:13px;font-weight:650;}
.member-register-form-page .member-captcha-desc {margin:0 0 13px;color:#83949e;font-size:10px;line-height:1.6;}
.member-register-form-page #captcha {display:grid !important;width:100% !important;grid-template-columns:126px minmax(104px,auto) minmax(84px,auto) 1fr;gap:8px !important;align-items:center;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;}
.member-register-form-page #captcha legend {position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;}
.member-register-form-page #captcha_img {display:block !important;width:126px !important;min-width:126px !important;height:46px !important;margin:0 !important;object-fit:fill !important;border:1px solid #ccd8df !important;border-radius:10px !important;background:#fff !important;opacity:1 !important;visibility:visible !important;}
.member-register-form-page #captcha_mp3,.member-register-form-page #captcha_reload {display:inline-flex !important;width:100% !important;min-width:0 !important;height:46px !important;align-items:center;justify-content:center;margin:0 !important;padding:0 11px !important;border:1px solid #cedae2 !important;border-radius:10px !important;background:#fff !important;color:#536b78 !important;font-family:inherit !important;font-size:10px !important;font-weight:600 !important;line-height:1.2 !important;text-indent:0 !important;white-space:nowrap !important;cursor:pointer;}
.member-register-form-page #captcha_mp3 span,.member-register-form-page #captcha_reload span {display:none !important;}
.member-register-form-page #captcha_key {grid-column:1/2;display:block !important;width:126px !important;height:44px !important;margin:0 !important;padding:0 12px !important;border:1px solid #d5e0e6 !important;border-radius:10px !important;outline:0 !important;background:#fff !important;color:#17212a !important;font-family:inherit !important;font-size:15px !important;font-weight:650 !important;letter-spacing:2px !important;text-align:center !important;}
.member-register-form-page #captcha_key:focus {border-color:var(--member-blue-500) !important;box-shadow:0 0 0 4px rgba(75,145,210,.1) !important;}
.member-register-form-page #captcha_info {grid-column:2/-1;display:block !important;margin:0 !important;color:#697d88 !important;font-size:10px !important;line-height:1.55 !important;}
.member-register-form-page .member-field-message {display:block;min-height:18px;margin-top:6px;color:#82939d;font-size:10px;line-height:1.5;}
.member-register-form-page .member-field-message:empty {display:none;min-height:0;margin-top:0;}
.member-register-form-page .member-field-message.is-error {color:#dc3f4f;}
.member-register-form-page .member-field-message.is-success {color:#27845d;}
/* 회원가입 중복확인 상태색: 기존 #msg_mb_id/#msg_mb_nick 회색 규칙보다 우선 적용 */
.member-register-form-page #msg_mb_id.is-error,
.member-register-form-page #msg_mb_nick.is-error,
.member-register-form-page #msg_mb_email.is-error,
.member-register-form-page #msg_mb_hp.is-error {
    color: #dc3f4f !important;
}

.member-register-form-page #msg_mb_id.is-success,
.member-register-form-page #msg_mb_nick.is-success,
.member-register-form-page #msg_mb_email.is-success,
.member-register-form-page #msg_mb_hp.is-success {
    color: #27845d !important;
}


.member-register-form-page
.btn_confirm {
    display: flex;
    gap: 9px;
    margin-top: 16px;
}

.member-register-form-page
.btn_confirm > * {
    flex: 1;
}

.member-register-form-page
input[type="file"] {
    display: block;
    width: 100%;
    padding: 11px;
    border: 1px dashed #cdd9e0;
    border-radius: 11px;
    background: #f9fbfc;
    color: #687b87;
    font-size: 10px;
}

/* =========================================================
   가입 완료
========================================================= */
.member-result-card {
    padding: 32px 28px;
    text-align: center;
}

.member-result-icon {
    display: grid;
    width: 66px;
    height: 66px;
    place-items: center;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #e9f7f1;
    color: var(--member-success);
}

.member-result-icon svg {
    width: 33px;
    height: 33px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.member-result-card h2 {
    margin: 0;
    color: var(--member-text);
    font-size: 19px;
    font-weight: 500;
    letter-spacing: -.5px;
}

.member-result-card h2 strong {
    font-weight: 700;
}

.member-result-notice {
    margin-top: 17px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f3f8fc;
    color: #577181;
    font-size: 11px;
    line-height: 1.7;
}

.member-result-notice.seller {
    background: var(--member-blue-050);
    color: #426b91;
}

.member-result-email {
    margin-top: 16px;
    padding: 17px;
    border: 1px solid var(--member-line);
    border-radius: 13px;
    background: #fff;
    text-align: left;
}

.member-result-email > p {
    margin: 0 0 12px;
    color: #70838f;
    font-size: 11px;
    line-height: 1.7;
}

.member-result-email dl,
.member-result-email dl > div {
    margin: 0;
}

.member-result-email dl > div {
    display: grid;
    grid-template-columns: 90px 1fr;
    padding: 9px 0;
    border-top: 1px solid var(--member-line-light);
}

.member-result-email dt {
    color: #8a9aa4;
    font-size: 10px;
}

.member-result-email dd {
    margin: 0;
    color: #344955;
    font-size: 11px;
    font-weight: 600;
}

.member-result-security {
    margin: 17px 0 0;
    color: #8b9aa3;
    font-size: 10px;
    line-height: 1.7;
}

/* =========================================================
   비밀번호·회원정보 확인
========================================================= */
.member-confirm-card {
    padding: 29px 25px;
    text-align: center;
}

.member-confirm-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 auto 16px;
    border-radius: 18px;
    background: var(--member-blue-100);
    color: var(--member-blue-700);
}

.member-confirm-icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.member-confirm-card h2 {
    margin: 0;
    color: var(--member-text);
    font-size: 17px;
    font-weight: 650;
}

.member-confirm-card > p {
    margin: 8px 0 18px;
    color: var(--member-text-sub);
    font-size: 11px;
    line-height: 1.7;
}

.member-confirm-card form {
    display: grid;
    gap: 10px;
}

.member-readonly-row {
    display: flex;
    min-height: 45px;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 0 14px;
    border-radius: 11px;
    background: #f5f8fa;
}

.member-readonly-row span {
    flex: 0 0 auto;
    color: #8999a2;
    font-size: 10px;
}

.member-readonly-row strong {
    min-width: 0;
    color: #344955;
    font-size: 11px;
    font-weight: 650;
    word-break: break-all;
}

/* =========================================================
   비회원 구매
========================================================= */
.member-guest-card {
    margin-top: 15px;
}

.member-guest-card h2 {
    margin: 0 0 8px;
    color: var(--member-text);
    font-size: 16px;
    font-weight: 650;
}

.member-guest-card > p,
#mb_login_odinfo {
    color: var(--member-text-sub);
    font-size: 11px;
    line-height: 1.7;
}

#guest_privacy {
    max-height: 150px;
    margin: 13px 0;
    padding: 13px;
    overflow-y: auto;
    border: 1px solid var(--member-line);
    border-radius: 10px;
    background: #f7f9fa;
    color: #687b86;
    font-size: 10px;
    line-height: 1.7;
}

#mb_login_od form {
    display: grid;
    gap: 8px;
}

/* =========================================================
   팝업형 회원 페이지
========================================================= */
.new_win,
.member_cert_refresh,
#profile,
#memo_list,
#memo_view,
#memo_write,
#point,
#scrap,
#formmail {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    padding: 18px;
    background: var(--member-bg);
    color: var(--member-text);
}

.new_win h1,
.new_win h2,
.new_win h3,
.member_cert_refresh h2,
#profile h1,
#memo_list h1,
#memo_view h1,
#memo_write h1,
#point h1,
#scrap h1,
#formmail h1 {
    margin: 0 0 14px;
    color: var(--member-text);
    font-size: 17px;
    font-weight: 650;
    line-height: 1.45;
    letter-spacing: -.4px;
}

.new_win_con,
.new_win_con2,
.member_cert_refresh > form,
#profile .new_win_con,
#memo_list .new_win_con2,
#memo_view .new_win_con2,
#memo_write .new_win_con2,
#point .new_win_con2,
#scrap .new_win_con,
#formmail .new_win_con {
    padding: 21px;
    border: 1px solid var(--member-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(36, 63, 80, .055);
}

.new_win fieldset,
.new_win form,
.member_cert_refresh fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.new_win p,
.new_win .frm_info,
.new_win .win_desc,
.member_cert_refresh p {
    color: var(--member-text-sub);
    font-size: 11px;
    line-height: 1.7;
}

.new_win .win_btn,
.new_win .btn_confirm,
.member_cert_refresh .cert_btn {
    display: flex;
    gap: 8px;
    margin-top: 15px;
}

.new_win .win_btn > *,
.new_win .btn_confirm > *,
.member_cert_refresh .cert_btn > * {
    flex: 1;
}

.new_win ul,
.new_win ol,
.member_cert_refresh ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.new_win li {
    border-bottom: 1px solid var(--member-line-light);
}

/* =========================================================
   비밀번호 찾기·재설정
========================================================= */
#find_info .new_win_con + .new_win_con {
    margin-top: 12px;
}

#find_info #info_fs,
#pw_reset #info_fs {
    display: grid;
    gap: 10px;
}

#find_info .cert_btn {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 7px;
}

#pw_reset b {
    display: block;
    padding: 12px;
    border-radius: 10px;
    background: #f5f8fa;
    color: #405764;
    font-size: 11px;
}

/* =========================================================
   본인인증
========================================================= */
.member_cert_refresh {
    max-width: 720px;
}

.member_cert_refresh section {
    margin-bottom: 14px;
    padding: 19px;
    border: 1px solid var(--member-line);
    border-radius: 15px;
    background: #fff;
}

.member_cert_refresh_agree {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px !important;
}

.member_cert_refresh_agree input {
    width: 18px;
    height: 18px;
}

.member_cert_refresh table {
    width: 100%;
    border-collapse: collapse;
}

.member_cert_refresh th,
.member_cert_refresh td {
    padding: 11px;
    border: 1px solid #e3e9ed;
    color: #627681;
    font-size: 10px;
    line-height: 1.55;
    text-align: left;
}

.member_cert_refresh th {
    background: #f4f7f9;
    color: #405663;
    font-weight: 600;
    text-align: center;
}

/* =========================================================
   쪽지·포인트·스크랩
========================================================= */
#memo_list .win_ul,
#memo_view .win_ul,
#memo_write .win_ul {
    display: flex;
    gap: 6px;
    margin-bottom: 12px;
}

#memo_list .win_ul a,
#memo_view .win_ul a,
#memo_write .win_ul a {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid var(--member-line);
    border-radius: 9px;
    background: #fff;
    color: #5f7480;
    font-size: 10px;
    text-decoration: none;
}

.memo_li,
.memo_view_li,
.point_list li,
#scrap li {
    padding: 13px 4px;
}

.memo_name,
.memo_from,
.point_tit,
.scrap_tit {
    color: #344955;
    font-size: 11px;
    font-weight: 600;
}

.memo_preview,
.memo_datetime,
.memo_view_date,
.point_date,
.scrap_datetime {
    color: #8b9aa3;
    font-size: 9px;
    line-height: 1.55;
}

.memo_del,
.scrap_del,
.point_num {
    color: var(--member-blue-700);
    font-size: 10px;
}

#memo_view_contents,
#memo_view_ul {
    padding: 14px;
    border-radius: 11px;
    background: #f7f9fa;
    color: #5f7480;
    font-size: 11px;
    line-height: 1.75;
}

/* =========================================================
   프로필
========================================================= */
#profile .my_profile_img {
    display: block;
    width: 86px;
    height: 86px;
    margin: 0 auto 13px;
    overflow: hidden;
    border-radius: 50%;
    object-fit: cover;
}

#profile .profile_name {
    margin-bottom: 15px;
    color: #344955;
    font-size: 14px;
    font-weight: 650;
    text-align: center;
}

#profile table {
    width: 100%;
    border-collapse: collapse;
}

#profile th,
#profile td {
    padding: 11px;
    border-bottom: 1px solid var(--member-line-light);
    color: #60747f;
    font-size: 10px;
    line-height: 1.6;
    text-align: left;
}

/* =========================================================
   메일보내기·스크랩 팝업
========================================================= */
#formmail .form_01 li,
#memo_write .form_01 li {
    margin-bottom: 10px;
}

#formmail textarea,
#memo_write textarea,
#scrap_do textarea {
    width: 100%;
    min-height: 130px;
    padding: 13px;
    resize: vertical;
    border: 1px solid #d9e3e9;
    border-radius: 11px;
    outline: 0;
    background: #f8fafb;
    color: #566c78;
    font-family: inherit;
    font-size: 11px;
    line-height: 1.7;
}

/* =========================================================
   공통 테이블
========================================================= */
.tbl_wrap {
    width: 100%;
    overflow-x: auto;
}

.tbl_head01 table,
.tbl_head02 table,
.tbl_frm01 table {
    width: 100%;
    border-collapse: collapse;
}

.tbl_head01 th,
.tbl_head01 td,
.tbl_head02 th,
.tbl_head02 td,
.tbl_frm01 th,
.tbl_frm01 td {
    padding: 11px;
    border: 1px solid #e3e9ed;
    color: #60747f;
    font-size: 10px;
    line-height: 1.6;
    text-align: left;
}

.tbl_head01 th,
.tbl_head02 th,
.tbl_frm01 th {
    background: #f4f7f9;
    color: #405663;
    font-weight: 600;
}

/* =========================================================
   기존 그누보드 체크박스·기타
========================================================= */
.register .selec_chk,
.new_win .selec_chk,
.member_cert_refresh .selec_chk {
    accent-color: var(--member-blue-700);
}

.sound_only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
}

.empty_table,
.empty_li {
    padding: 45px 15px !important;
    color: #8b9aa3 !important;
    font-size: 11px !important;
    text-align: center !important;
}

/* =========================================================
   반응형
========================================================= */
@media (max-width: 700px) {
    .member-ui-page {
        padding-right: 12px;
        padding-left: 12px;
    }
}

@media (max-width: 560px) {
    .member-ui-page {
        min-height: auto;
        padding-top: 18px;
        padding-bottom: 108px;
    }

    .member-ui-intro > strong {
        font-size: 18px;
    }

    .member-ui-card {
        padding: 19px 16px;
        border-radius: 17px;
    }

    .member-action-row {
        gap: 7px;
    }

    .member-social-area #sns_login > .sns-wrap,
    .member-social-register #sns_register > .sns-wrap,
    .member-social-area .sns-wrap-over > .sns-wrap,
    .member-social-register .sns-wrap-over > .sns-wrap {
        grid-template-columns:
            repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .member-social-area .sns-icon,
    .member-social-register .sns-icon,
    .member-social-area a[class*="sns-"],
    .member-social-register a[class*="sns-"] {
        height: 43px !important;
        gap: 4px !important;
        padding: 0 5px !important;
        border-radius: 10px !important;
        font-size: 9px !important;
    }

    .member-social-area img,
    .member-social-register img {
        max-width: 19px !important;
        max-height: 19px !important;
    }

    .member-register-entry {
        padding: 17px 15px;
    }

    .member-register-entry-grid {
        grid-template-columns: 1fr;
    }

    .member-register-entry-item {
        min-height: 67px;
    }

    .member-agreement-card {
        padding: 17px 15px;
    }

    .member-agreement-content {
        height: 195px;
    }

    .member-register-form-page
    .register_form_inner {
        padding: 18px 15px;
        border-radius: 15px;
    }

    .member-register-form-page
    .register_form_inner ul {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .member-register-form-page #captcha {grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:7px !important;}
    .member-register-form-page #captcha_img {width:100% !important;min-width:0 !important;grid-column:1/-1;}
    .member-register-form-page #captcha_mp3,.member-register-form-page #captcha_reload {width:100% !important;}
    .member-register-form-page #captcha_key {grid-column:1/-1;width:100% !important;}
    .member-register-form-page #captcha_info {grid-column:1/-1;text-align:center;}

    .member-register-form-page
    .register_form_inner li,
    .member-register-form-page
    .register_form_inner li.half_input {
        grid-column: 1;
    }

    .member-result-card {
        padding: 27px 18px;
    }

    .new_win,
    .member_cert_refresh,
    #profile,
    #memo_list,
    #memo_view,
    #memo_write,
    #point,
    #scrap,
    #formmail {
        padding: 12px;
    }

    .new_win_con,
    .new_win_con2,
    .member_cert_refresh > form {
        padding: 17px 14px;
    }

    #find_info .cert_btn {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 380px) {
    .member-login-options {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-social-area #sns_login > .sns-wrap,
    .member-social-register #sns_register > .sns-wrap,
    .member-social-area .sns-wrap-over > .sns-wrap,
    .member-social-register .sns-wrap-over > .sns-wrap {
        gap: 3px !important;
    }

    .member-social-area .sns-icon,
    .member-social-register .sns-icon,
    .member-social-area a[class*="sns-"],
    .member-social-register a[class*="sns-"] {
        height: 40px !important;
        gap: 2px !important;
        padding: 0 3px !important;
        font-size: 8px !important;
    }

    .member-social-area img,
    .member-social-register img {
        max-width: 17px !important;
        max-height: 17px !important;
    }

    .member-action-row-two {
        flex-direction: column;
    }
}


/* =========================================================
   판매자회원 사업자등록증
========================================================= */
.member-register-form-page
.seller-document-section {
    border-color: #c8dcef;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f4f9ff 100%
        );
}

.member-register-form-page
.seller-document-notice {
    margin: -3px 0 17px;
    padding: 13px 15px;
    border: 1px solid #c9def2;
    border-radius: 11px;
    background: #edf6ff;
    color: #426a8e;
    font-size: 10px;
    line-height: 1.7;
}

.member-register-form-page
.seller-current-document {
    margin-bottom: 9px;
    padding: 11px 13px;
    border-radius: 10px;
    background: #f0f4f7;
    color: #697c87;
    font-size: 10px;
    line-height: 1.6;
}

.member-register-form-page
.seller-current-document strong {
    margin-left: 5px;
    color: #2f4653;
    font-weight: 650;
}

.member-register-form-page
.seller-document-help {
    margin: 8px 0 0;
    color: #7f909a;
    font-size: 9px;
    line-height: 1.65;
}

/* =========================================================
   회원 페이지 최종 가독성·반응형 보정
   - 로그인·회원가입·회원정보·비밀번호·소셜로그인 기능은 변경하지 않습니다.
   - 본문 모바일 14px, 입력창 13px, 보조정보 최소 11px 기준입니다.
========================================================= */

:root {
    --member-max-width: 768px;
    --member-content-width: 680px;
    --member-small-width: 480px;

    --member-blue-900: #294f65;
    --member-blue-700: #315e78;
    --member-blue-500: #6f91a4;
    --member-blue-100: #e7f0f4;
    --member-blue-050: #f1f6f8;

    --member-text: #263b47;
    --member-text-sub: #607782;
    --member-text-muted: #81929b;

    --member-line: #d7e1e6;
    --member-line-light: #e8eef1;
    --member-bg: #f6f8f9;
    --member-white: #fff;

    --member-danger: #c8454d;
    --member-success: #39775f;

    --member-radius-large: 10px;
    --member-radius-medium: 9px;
    --member-radius-small: 7px;

    --member-shadow: none;
}

/* 공통 글꼴·기본 크기 */
.member-ui-page,
.register,
.mbskin,
.new_win,
.member_cert_refresh,
#profile,
#memo_list,
#memo_view,
#memo_write,
#point,
#scrap,
#formmail {
    font-family:
        "Pretendard Variable",
        "Pretendard",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Noto Sans KR",
        sans-serif !important;
    color: var(--member-text) !important;
    font-size: 15px !important;
    font-weight: 400;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.member-ui-page {
    padding:
        24px 16px
        calc(150px + env(safe-area-inset-bottom)) !important;
    background: var(--member-bg) !important;
}

/* 제목과 설명 */
.member-ui-intro {
    margin-bottom: 18px !important;
}

.member-ui-intro > strong {
    color: var(--member-text) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: -.035em !important;
}

.member-ui-intro > p {
    margin-top: 8px !important;
    color: var(--member-text-sub) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.member-ui-card,
.member-register-form-page .register_form_inner,
.new_win_con,
.new_win_con2,
.member_cert_refresh > form,
#profile .new_win_con,
#memo_list .new_win_con2,
#memo_view .new_win_con2,
#memo_write .new_win_con2,
#point .new_win_con2,
#scrap .new_win_con,
#formmail .new_win_con {
    border-color: var(--member-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* 공통 카드 제목 */
.member-card-heading h2,
.member-register-form-page .register_form_inner h2 {
    color: var(--member-text) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.member-required-label,
.member-type-badge {
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.member-type-badge {
    min-width: 84px !important;
    height: 30px !important;
}

/* 입력 요소 */
.member-input,
.register .frm_input,
.new_win .frm_input,
.mbskin .frm_input,
.member_cert_refresh .frm_input,
#mb_login_od input,
#formmail textarea,
#memo_write textarea,
#scrap_do textarea {
    border-color: #cfdbe1 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--member-text) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    box-shadow: none !important;
}

.member-input,
.register .frm_input,
.new_win .frm_input,
.mbskin .frm_input,
.member_cert_refresh .frm_input,
#mb_login_od input {
    height: 50px !important;
}

.member-input:focus,
.register .frm_input:focus,
.new_win .frm_input:focus,
.mbskin .frm_input:focus,
.member_cert_refresh .frm_input:focus,
#mb_login_od input:focus,
#formmail textarea:focus,
#memo_write textarea:focus,
#scrap_do textarea:focus {
    border-color: var(--member-blue-500) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(49, 94, 120, .08) !important;
}

.member-input::placeholder,
.register .frm_input::placeholder,
.new_win .frm_input::placeholder,
.mbskin .frm_input::placeholder {
    color: #92a1a9 !important;
}

.member-field {
    margin-bottom: 12px !important;
}

.member-field-icon > svg {
    width: 19px !important;
    height: 19px !important;
    stroke: #71848f !important;
}

.member-password-toggle {
    width: 38px !important;
    height: 38px !important;
    border-radius: 7px !important;
}

.member-password-toggle:hover,
.member-password-toggle:focus {
    background: #edf4f7 !important;
    color: var(--member-blue-700) !important;
}

/* 공통 버튼: 청회색 단색 */
.member-primary-button,
.member-secondary-button,
.register .btn_submit,
.register .btn_close,
.mbskin .btn_submit,
.new_win .btn_submit,
.new_win .btn_close,
.new_win .btn_b01,
.new_win .btn_b02,
.member_cert_refresh .btn_submit,
.member_cert_refresh .btn_frmline,
.member-register-form-page #reg_zip_find,
.member-register-form-page .btn_frmline,
.member-register-form-page .win_sa_cert {
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    box-shadow: none !important;
    filter: none !important;
}

.member-primary-button,
.register .btn_submit,
.mbskin .btn_submit,
.new_win .btn_submit,
.member_cert_refresh .btn_submit {
    border: 1px solid var(--member-blue-700) !important;
    background: var(--member-blue-700) !important;
    color: #fff !important;
}

.member-primary-button:hover,
.member-primary-button:focus,
.register .btn_submit:hover,
.register .btn_submit:focus,
.mbskin .btn_submit:hover,
.mbskin .btn_submit:focus,
.new_win .btn_submit:hover,
.new_win .btn_submit:focus,
.member_cert_refresh .btn_submit:hover,
.member_cert_refresh .btn_submit:focus {
    border-color: var(--member-blue-900) !important;
    background: var(--member-blue-900) !important;
    color: #fff !important;
}

.member-secondary-button,
.register .btn_close,
.new_win .btn_close,
.new_win .btn_b01,
.new_win .btn_b02,
.member-register-form-page #reg_zip_find,
.member-register-form-page .btn_frmline,
.member-register-form-page .win_sa_cert {
    border: 1px solid #b9ccd7 !important;
    background: #fff !important;
    color: var(--member-blue-700) !important;
}

.member-secondary-button:hover,
.member-secondary-button:focus,
.register .btn_close:hover,
.register .btn_close:focus,
.new_win .btn_close:hover,
.new_win .btn_close:focus,
.new_win .btn_b01:hover,
.new_win .btn_b01:focus,
.new_win .btn_b02:hover,
.new_win .btn_b02:focus,
.member-register-form-page #reg_zip_find:hover,
.member-register-form-page #reg_zip_find:focus,
.member-register-form-page .btn_frmline:hover,
.member-register-form-page .btn_frmline:focus {
    border-color: var(--member-blue-700) !important;
    background: #edf4f7 !important;
    color: var(--member-blue-900) !important;
}

/* 로그인 */
.member-login-card {
    padding: 24px !important;
}

.member-login-options {
    color: var(--member-text-sub) !important;
    font-size: 12px !important;
}

.member-check-inline,
.member-text-link {
    color: var(--member-text-sub) !important;
    font-size: 12px !important;
}

.member-check-inline input,
.member-switch-check input,
.member-all-agree input {
    width: 20px !important;
    height: 20px !important;
    flex-basis: 20px !important;
    border-radius: 5px !important;
}

.member-divider {
    margin: 23px 0 16px !important;
    color: #7d8f99 !important;
    font-size: 12px !important;
}

.member-register-entry {
    border-color: var(--member-line) !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.member-register-entry-title strong {
    color: var(--member-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.member-register-entry-title a {
    color: var(--member-blue-700) !important;
    font-size: 12px !important;
}

.member-register-entry-item {
    min-height: 74px !important;
    border-color: var(--member-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.member-register-entry-item:hover,
.member-register-entry-item:focus {
    border-color: #9fbccd !important;
    background: #f2f7f9 !important;
}

.member-register-entry-item strong {
    color: var(--member-text) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.member-register-entry-item span {
    color: var(--member-text-sub) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

.member-ui-footnote {
    color: #71848f !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
}

/* 소셜 로그인 */
.member-social-area h3,
.member-social-register h2,
.member-social-register h3,
.member-social-area .sns-wrap-over > h3,
.member-social-register .sns-wrap-over > h2,
.member-social-register .sns-wrap-over > h3 {
    font-size: 13px !important;
}

.member-social-area .sns-icon,
.member-social-register .sns-icon,
.member-social-area a[class*="sns-"],
.member-social-register a[class*="sns-"],
.member-social-area a[class*="social_"],
.member-social-register a[class*="social_"] {
    min-height: 46px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* 약관 */
.member-agreement-card {
    padding: 20px !important;
}

.member-switch-check {
    color: var(--member-text-sub) !important;
    font-size: 12px !important;
}

.member-agreement-content {
    color: #405965 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.member-agreement-content h1,
.member-agreement-content h2,
.member-agreement-content h3,
.member-agreement-content h4 {
    color: var(--member-text) !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

.member-agreement-content h2 {
    font-size: 17px !important;
}

.member-agreement-content h3 {
    font-size: 15px !important;
}

.member-agreement-content p,
.member-agreement-content li {
    font-size: 14px !important;
    line-height: 1.8 !important;
}

.member-agreement-content th,
.member-agreement-content td,
.member-table-scroll th,
.member-table-scroll td,
#fregister_private th,
#fregister_private td {
    padding: 12px 11px !important;
    color: #526a76 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.member-all-agree {
    min-height: 60px !important;
    border-color: #b9ccd7 !important;
    border-radius: 9px !important;
    background: #edf4f7 !important;
    color: var(--member-blue-900) !important;
}

.member-all-agree strong {
    font-size: 14px !important;
    font-weight: 700 !important;
}

/* 회원정보 입력 */
.member-register-form-page .register_form_inner {
    padding: 22px !important;
    border-radius: 10px !important;
}

.member-register-form-page
.register_form_inner label:not(.inline),
.member-register-form-page .frm_label {
    color: #405965 !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.5 !important;
}

.member-register-form-page
#msg_mb_id,
.member-register-form-page
#msg_mb_nick,
.member-register-form-page
#msg_certify,
.member-register-form-page
.cert_desc,
.member-register-form-page
.cert_req,
.member-register-form-page
.chk_li,
.member-register-form-page
.member-captcha-desc,
.member-register-form-page
#captcha_info,
.member-register-form-page
.member-field-message,
.member-register-form-page
.seller-document-help,
.member-register-form-page
.seller-current-document,
.member-register-form-page
.seller-document-notice {
    font-size: 11px !important;
    line-height: 1.6 !important;
}

.member-register-form-page .tooltip {
    border-radius: 8px !important;
    color: #526a76 !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
    box-shadow: 0 6px 16px rgba(38, 59, 71, .10) !important;
}

.member-register-form-page .chk_box {
    min-height: 46px !important;
    border-radius: 8px !important;
    background: #f7f9fa !important;
}

.member-register-form-page .is_captcha_use {
    border-radius: 9px !important;
    background: #f7f9fa !important;
}

.member-register-form-page .member-captcha-title {
    font-size: 14px !important;
}

.member-register-form-page #captcha_img,
.member-register-form-page #captcha_mp3,
.member-register-form-page #captcha_reload,
.member-register-form-page #captcha_key {
    border-radius: 8px !important;
}

.member-register-form-page #captcha_mp3,
.member-register-form-page #captcha_reload {
    font-size: 12px !important;
}

.member-register-form-page input[type="file"] {
    border-radius: 8px !important;
    color: #607782 !important;
    font-size: 12px !important;
}

.member-register-form-page .seller-document-section {
    border-color: #cbdbe3 !important;
    background: #fff !important;
}

.member-register-form-page .seller-document-notice {
    border-color: #cbdbe3 !important;
    border-radius: 8px !important;
    background: #edf4f7 !important;
    color: #405f70 !important;
}

.member-register-form-page .seller-current-document {
    border-radius: 8px !important;
    background: #f2f5f6 !important;
}

/* 가입 완료 */
.member-result-card {
    padding: 30px 24px !important;
}

.member-result-icon {
    border-radius: 10px !important;
    background: #e8f3ef !important;
}

.member-result-card h2 {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.member-result-notice,
.member-result-email > p,
.member-result-security {
    font-size: 12px !important;
    line-height: 1.7 !important;
}

.member-result-email {
    border-radius: 9px !important;
}

.member-result-email dt,
.member-result-email dd {
    font-size: 12px !important;
}

/* 비밀번호·회원 확인 */
.member-confirm-card {
    padding: 28px 24px !important;
}

.member-confirm-icon {
    border-radius: 10px !important;
}

.member-confirm-card h2 {
    font-size: 18px !important;
}

.member-confirm-card > p {
    font-size: 13px !important;
}

.member-readonly-row {
    min-height: 48px !important;
    border-radius: 8px !important;
}

.member-readonly-row span,
.member-readonly-row strong {
    font-size: 12px !important;
}

/* 비회원 구매 */
.member-guest-card h2 {
    font-size: 17px !important;
}

.member-guest-card > p,
#mb_login_odinfo,
#guest_privacy {
    font-size: 12px !important;
    line-height: 1.7 !important;
}

#guest_privacy {
    border-radius: 8px !important;
}

/* 팝업형 회원 페이지 */
.new_win,
.member_cert_refresh,
#profile,
#memo_list,
#memo_view,
#memo_write,
#point,
#scrap,
#formmail {
    padding: 16px !important;
    background: var(--member-bg) !important;
}

.new_win h1,
.new_win h2,
.new_win h3,
.member_cert_refresh h2,
#profile h1,
#memo_list h1,
#memo_view h1,
#memo_write h1,
#point h1,
#scrap h1,
#formmail h1 {
    color: var(--member-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.new_win p,
.new_win .frm_info,
.new_win .win_desc,
.member_cert_refresh p {
    color: var(--member-text-sub) !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}

#pw_reset b {
    border-radius: 8px !important;
    color: #405965 !important;
    font-size: 13px !important;
}

.member_cert_refresh section {
    border-radius: 9px !important;
}

.member_cert_refresh th,
.member_cert_refresh td,
.tbl_head01 th,
.tbl_head01 td,
.tbl_head02 th,
.tbl_head02 td,
.tbl_frm01 th,
.tbl_frm01 td,
#profile th,
#profile td {
    color: #526a76 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

#memo_list .win_ul a,
#memo_view .win_ul a,
#memo_write .win_ul a {
    min-height: 38px !important;
    border-radius: 7px !important;
    font-size: 12px !important;
}

.memo_name,
.memo_from,
.point_tit,
.scrap_tit {
    font-size: 13px !important;
}

.memo_preview,
.memo_datetime,
.memo_view_date,
.point_date,
.scrap_datetime {
    font-size: 11px !important;
    line-height: 1.6 !important;
}

.memo_del,
.scrap_del,
.point_num {
    font-size: 12px !important;
}

#memo_view_contents,
#memo_view_ul {
    border-radius: 8px !important;
    color: #526a76 !important;
    font-size: 13px !important;
    line-height: 1.8 !important;
}

#profile .profile_name {
    font-size: 15px !important;
}

.empty_table,
.empty_li {
    color: #71848f !important;
    font-size: 13px !important;
}

/* 키보드 접근성 */
.member-ui-page a:focus-visible,
.member-ui-page button:focus-visible,
.member-ui-page input:focus-visible,
.member-ui-page select:focus-visible,
.member-ui-page textarea:focus-visible,
.new_win a:focus-visible,
.new_win button:focus-visible,
.new_win input:focus-visible,
.new_win textarea:focus-visible {
    outline: 2px solid rgba(49, 94, 120, .30) !important;
    outline-offset: 2px !important;
}

/* 모바일 */
@media (max-width: 560px) {
    .member-ui-page,
    .register,
    .mbskin,
    .new_win,
    .member_cert_refresh,
    #profile,
    #memo_list,
    #memo_view,
    #memo_write,
    #point,
    #scrap,
    #formmail {
        font-size: 14px !important;
    }

    .member-ui-page {
        padding:
            18px 10px
            calc(142px + env(safe-area-inset-bottom)) !important;
    }

    .member-ui-intro > strong {
        font-size: 20px !important;
    }

    .member-ui-intro > p {
        font-size: 13px !important;
    }

    .member-ui-card,
    .member-login-card,
    .member-agreement-card,
    .member-register-form-page .register_form_inner {
        padding: 17px 14px !important;
        border-radius: 9px !important;
    }

    .member-input,
    .register .frm_input,
    .new_win .frm_input,
    .mbskin .frm_input,
    .member_cert_refresh .frm_input,
    #mb_login_od input,
    #formmail textarea,
    #memo_write textarea,
    #scrap_do textarea {
        font-size: 13px !important;
    }

    .member-primary-button,
    .member-secondary-button,
    .register .btn_submit,
    .register .btn_close,
    .mbskin .btn_submit,
    .new_win .btn_submit,
    .new_win .btn_close,
    .new_win .btn_b01,
    .new_win .btn_b02,
    .member_cert_refresh .btn_submit,
    .member_cert_refresh .btn_frmline {
        font-size: 13px !important;
    }

    .member-login-options {
        font-size: 12px !important;
    }

    .member-social-area #sns_login > .sns-wrap,
    .member-social-register #sns_register > .sns-wrap,
    .member-social-area .sns-wrap-over > .sns-wrap,
    .member-social-register .sns-wrap-over > .sns-wrap {
        gap: 6px !important;
    }

    .member-social-area .sns-icon,
    .member-social-register .sns-icon,
    .member-social-area a[class*="sns-"],
    .member-social-register a[class*="sns-"],
    .member-social-area a[class*="social_"],
    .member-social-register a[class*="social_"] {
        min-height: 44px !important;
        padding: 0 7px !important;
        font-size: 11px !important;
    }

    .member-register-entry {
        padding: 15px 13px !important;
        border-radius: 9px !important;
    }

    .member-register-entry-item {
        min-height: 70px !important;
    }

    .member-register-entry-item strong {
        font-size: 14px !important;
    }

    .member-register-entry-item span {
        font-size: 12px !important;
    }

    .member-agreement-content {
        height: 220px !important;
        font-size: 14px !important;
    }

    .member-agreement-content p,
    .member-agreement-content li {
        font-size: 14px !important;
    }

    .member-card-heading h2,
    .member-register-form-page .register_form_inner h2 {
        font-size: 16px !important;
    }

    .member-register-form-page
    .register_form_inner label:not(.inline),
    .member-register-form-page .frm_label {
        font-size: 12px !important;
    }

    .member-register-form-page .btn_confirm {
        margin-bottom: 18px !important;
    }

    .member-result-card {
        padding: 26px 17px !important;
    }

    .new_win,
    .member_cert_refresh,
    #profile,
    #memo_list,
    #memo_view,
    #memo_write,
    #point,
    #scrap,
    #formmail {
        padding: 10px !important;
    }

    .new_win_con,
    .new_win_con2,
    .member_cert_refresh > form {
        padding: 16px 13px !important;
        border-radius: 9px !important;
    }

    .new_win h1,
    .new_win h2,
    .new_win h3,
    .member_cert_refresh h2,
    #profile h1,
    #memo_list h1,
    #memo_view h1,
    #memo_write h1,
    #point h1,
    #scrap h1,
    #formmail h1 {
        font-size: 17px !important;
    }
}

@media (max-width: 380px) {
    .member-social-area #sns_login > .sns-wrap,
    .member-social-register #sns_register > .sns-wrap,
    .member-social-area .sns-wrap-over > .sns-wrap,
    .member-social-register .sns-wrap-over > .sns-wrap {
        grid-template-columns: 1fr !important;
    }

    .member-social-area .sns-icon,
    .member-social-register .sns-icon,
    .member-social-area a[class*="sns-"],
    .member-social-register a[class*="sns-"],
    .member-social-area a[class*="social_"],
    .member-social-register a[class*="social_"] {
        min-height: 44px !important;
        font-size: 12px !important;
    }

    .member-action-row-two {
        flex-direction: column !important;
    }
}

/* =========================================================
   로그인·회원 페이지 작은 글자 최종 정리
   - 기존 실험성 중복 보정 없이 이 규칙만 사용합니다.
========================================================= */

/* PC/모바일 공통: 브라우저 기본 글자 렌더링 사용 */
.member-ui-page,
.member-ui-page *,
.register,
.register *,
.mbskin,
.mbskin *,
.new_win,
.new_win *,
.member_cert_refresh,
.member_cert_refresh * {
    font-synthesis: none !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: auto !important;
    -moz-osx-font-smoothing: auto !important;
}

/* 로그인 화면의 작은 보조문구 */
.member-divider,
.member-login-options,
.member-check-inline,
.member-text-link,
.member-register-entry-title a,
.member-register-entry-item span,
.member-ui-footnote {
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
    word-spacing: 0 !important;
    color: #526a76 !important;
    transform: none !important;
    filter: none !important;
}

/* 간편 로그인 구분문구 */
.member-divider {
    margin: 24px 0 18px !important;
    gap: 14px !important;
    color: #607782 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.member-divider::before,
.member-divider::after {
    background: #dde6ea !important;
}

/* 로그인 관련 링크 */
.member-text-link,
.member-register-entry-title a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* 회원가입 안내의 설명 문구는 한 단계만 낮춤 */
.member-register-entry-item span,
.member-ui-footnote {
    font-size: 13px !important;
    line-height: 1.6 !important;
}

/* 모바일에서도 동일한 글꼴 설정을 사용하되 크기만 과도하게 줄이지 않음 */
@media (max-width: 560px) {
    .member-divider,
    .member-login-options,
    .member-check-inline,
    .member-text-link {
        font-size: 13px !important;
    }

    .member-register-entry-title a,
    .member-register-entry-item span,
    .member-ui-footnote {
        font-size: 12px !important;
    }
}

/* =========================================================
   로그인 모바일 간편로그인 1열
   - 로그인 화면에만 적용
   - PC 및 회원가입 소셜버튼은 기존 유지
========================================================= */
@media (max-width: 560px) {
    .member-social-area #sns_login > .sns-wrap,
    .member-social-area .sns-wrap-over > .sns-wrap {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .member-social-area #sns_login .sns-icon,
    .member-social-area #sns_login a[class*="sns-"],
    .member-social-area #sns_login a[class*="social_"] {
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
    }

    .member-social-area #sns_login .sns-icon .txt,
    .member-social-area #sns_login .sns-icon span {
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
    }
}


/* 회원가입 입력 도움말 / 휴대폰 본인인증 준비 UI */
.member-register-form-page .member-field-guide {
    display: block;
    margin-top: 6px;
    color: #7a8e99;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.55;
}

.member-register-form-page .member-phone-input-row {
    display: flex;
    align-items: stretch;
    gap: 8px;
}

.member-register-form-page .member-phone-input-row .frm_input {
    flex: 1 1 auto;
    min-width: 0;
}

.member-register-form-page .member-phone-input-row .member-hp-cert-button {
    flex: 0 0 auto;
    min-width: 124px;
    height: 49px;
    margin: 0;
}

@media (max-width: 520px) {
    .member-register-form-page .member-phone-input-row {
        display: grid;
        grid-template-columns: 1fr;
    }

    .member-register-form-page .member-phone-input-row .member-hp-cert-button {
        width: 100%;
    }
}

/* =========================================================
   아이디·비밀번호 찾기
========================================================= */
.member-find-shell {
    max-width: 560px;
}

.member-find-card + .member-find-card {
    margin-top: 14px;
}

.member-find-heading {
    margin-bottom: 8px;
}

.member-find-description {
    margin: 0 0 15px;
    color: var(--member-text-sub);
    font-size: 12px;
    line-height: 1.65;
    word-break: keep-all;
}

.member-find-email-field {
    margin-bottom: 14px;
}

.member-find-captcha {
    margin-top: 4px;
    padding: 14px;
    border: 1px solid var(--member-line-light);
    border-radius: 12px;
    background: #f8fafb;
}

.member-find-page #captcha {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0;
}

.member-find-page #captcha #captcha_img {
    height: 40px;
    margin: 0;
    border: 1px solid #d7e1e7;
    border-radius: 8px;
}

.member-find-page #captcha #captcha_key {
    width: 110px;
    height: 40px;
    margin: 0;
    padding: 0 10px;
    border: 1px solid #d9e3e9;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    line-height: 40px;
}

.member-find-page #captcha #captcha_mp3,
.member-find-page #captcha #captcha_reload {
    position: static;
    width: 40px;
    height: 40px;
    margin: 0;
    border-radius: 8px;
}

.member-find-page #captcha #captcha_info {
    display: block;
    width: 100%;
    margin: 2px 0 0;
    color: var(--member-text-muted);
    font-size: 10px;
    letter-spacing: 0;
    line-height: 1.5;
}

.member-find-page #captcha.recaptcha {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.member-find-submit {
    margin-top: 16px;
}

.member-find-cert-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.member-find-footnote {
    margin-top: 16px;
}

.member-find-mobile-br {
    display: none;
}

@media (max-width: 560px) {
    .member-find-card {
        padding: 20px 16px;
    }

    .member-find-description {
        font-size: 11px;
    }

    .member-find-captcha {
        padding: 12px;
    }

    .member-find-page #captcha {
        align-items: stretch;
    }

    .member-find-page #captcha.m_captcha #captcha_img {
        display: block;
        width: 100%;
        max-width: 180px;
        height: auto;
        min-height: 40px;
        margin: 0;
    }

    .member-find-page #captcha.m_captcha #captcha_key {
        width: calc(100% - 48px);
        max-width: 190px;
        height: 40px;
        margin: 0;
    }

    .member-find-page #captcha.m_captcha #captcha_reload {
        width: 40px;
        height: 40px;
    }

    .member-find-cert-buttons {
        grid-template-columns: 1fr;
    }

    .member-find-mobile-br {
        display: inline;
    }
}
