@charset "utf-8";
/* ==========================================================================
   남자닷컴 - 회원가입 스타일 (약관동의 · 정보입력 · 가입완료) / 화이트·블랙
   style.css 다음에 로드되어 회원가입 관련 스타일만 덮어씁니다.
   ========================================================================== */

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.css");

.rg_page {
    --rg-accent:      #111111;
    --rg-accent-dark: #000000;
    --rg-accent-soft: #f4f4f5;
    --rg-ink:         #111111;
    --rg-sub:         #5e5e5e;
    --rg-muted:       #9a9a9a;
    --rg-line:        #e4e4e4;
    --rg-line-soft:   #eeeeee;
    --rg-field:       #fafafa;
    --rg-danger:      #e0413f;

    position: relative;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 48px 16px 88px;
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont,
                 "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
    color: var(--rg-ink);
    letter-spacing: -.02em;
    -webkit-font-smoothing: antialiased;
    text-align: left;
}
.rg_page:after { display: block; visibility: hidden; clear: both; content: ""; }

/* 테마 페이지 타이틀 중복 제거 (필요 없으면 이 블록만 삭제) */
#container:has(.rg_page) #container_title,
#wrapper:has(.rg_page) #container_title,
body:has(.rg_page) #wrapper_title,
body:has(.rg_page) .wrapper_title { display: none; }
#container:has(.rg_page) { padding: 0; border: 0; background: none; }

/* ── 페이지 헤더 ──────────────────────────────────────────── */
.rg_page .rg_head { margin: 0 0 24px; text-align: center; }
.rg_page .rg_title {
    margin: 0;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -.045em;
}
.rg_page .rg_lead {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rg-sub);
}

/* 목록 기본 들여쓰기 제거 */
.rg_page .rg_steps,
.rg_page .rg_notice_list,
.rg_page .sub-consents { padding-left: 0; list-style: none; }

/* ── 단계 표시 ────────────────────────────────────────────── */
.rg_page .rg_steps {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 26px;
    padding: 0;
    list-style: none;
}
.rg_page .rg_steps li {
    display: flex;
    align-items: center;
    flex: none;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: none;
    font-size: 13px;
    font-weight: 600;
    color: var(--rg-muted);
}
.rg_page .rg_steps li + li:before {
    content: "";
    width: 22px;
    height: 1px;
    background: var(--rg-line);
    margin-right: 2px;
}
.rg_page .rg_step_no {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px; height: 24px;
    border-radius: 50%;
    background: #eeeeee;
    color: var(--rg-muted);
    font-size: 12px;
    font-weight: 700;
}
.rg_page .rg_steps .is_on { color: var(--rg-ink); }
.rg_page .rg_steps .is_on .rg_step_no { background: var(--rg-accent); color: #fff; }
.rg_page .rg_steps .is_done { color: var(--rg-sub); }
.rg_page .rg_steps .is_done .rg_step_no { background: var(--rg-accent-soft); color: var(--rg-accent); }
@media (max-width: 480px) {
    .rg_page .rg_steps li span.rg_step_tx { font-size: 12px; }
    .rg_page .rg_steps li + li:before { width: 12px; }
}

/* ── 카드 공통 ────────────────────────────────────────────── */
.rg_page .rg_card,
.rg_page #fregister section,
.rg_page .register_form_inner {
    position: static;
    margin: 0 0 12px;
    border: 1px solid var(--rg-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
    overflow: hidden;
}
.rg_page .register_form_inner { overflow: visible; }
.rg_page #fregister h2,
.rg_page .register_form_inner h2 {
    margin: 0;
    padding: 17px 22px;
    border-bottom: 1px solid var(--rg-line-soft);
    background: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.03em;
    color: var(--rg-ink);
    text-align: left;
}
.rg_page .rg_req,
.rg_page .rg_opt {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 7px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0;
    vertical-align: 2px;
}
.rg_page .rg_req { background: var(--rg-accent); color: #fff; }
.rg_page .rg_opt { background: #f0f0f0; color: #7a7a7a; }

/* ── 체크박스 (공통) ──────────────────────────────────────── */
.rg_page input[type="checkbox"].selec_chk + label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding: 0;
    color: var(--rg-sub);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    cursor: pointer;
}
.rg_page input[type="checkbox"].selec_chk + label span {
    position: static;
    float: none;
    flex: none;
    top: auto; right: auto; left: auto;
    width: 20px; height: 20px;
    display: block;
    border: 1px solid #c9c9c9;
    border-radius: 6px;
    background: #fff;
    transition: background .15s ease, border-color .15s ease;
}
.rg_page input[type="checkbox"].selec_chk:checked + label { color: var(--rg-ink); }
.rg_page input[type="checkbox"].selec_chk:checked + label span {
    border-color: var(--rg-accent);
    background: var(--rg-accent) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.4l3 3 6-6.5'/%3E%3C/svg%3E") no-repeat 50% 50%;
    background-size: 14px 14px;
}
.rg_page input[type="checkbox"].selec_chk:focus-visible + label span {
    box-shadow: 0 0 0 3px rgba(17, 17, 17, .14);
}
.rg_page .chk_li { padding-left: 0; font-size: 14px; color: var(--rg-sub); }

/* ── 1단계 : 약관 동의 ────────────────────────────────────── */
.rg_page #fregister p {
    position: static;
    height: auto;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: none;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}
.rg_page #fregister p:before { display: none; }

.rg_page .rg_terms_body {
    padding: 20px 22px;
    max-height: 200px;
    overflow-y: auto;
    font-size: 13px;
    line-height: 1.8;
    color: var(--rg-sub);
    background: var(--rg-field);
    border-bottom: 1px solid var(--rg-line-soft);
}
.rg_page #fregister textarea {
    display: block;
    width: 100%;
    height: 200px;
    padding: 20px 22px;
    border: 0;
    border-bottom: 1px solid var(--rg-line-soft);
    background: var(--rg-field);
    font-family: inherit;
    font-size: 13px;
    line-height: 1.8;
    color: var(--rg-sub);
    resize: none;
}
.rg_page .fregister_terms > div { padding: 0; background: #fff; }
.rg_page .fregister_terms table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.55;
}
.rg_page .fregister_terms table th {
    padding: 11px 14px;
    border: 0;
    border-bottom: 1px solid var(--rg-line-soft);
    background: #f7f7f7;
    color: var(--rg-sub);
    font-weight: 600;
    width: 33.33%;
}
.rg_page .fregister_terms table td {
    padding: 13px 14px;
    border: 0;
    border-top: 1px solid var(--rg-line-soft);
    color: var(--rg-sub);
    vertical-align: top;
}
.rg_page .fregister_terms table th + th,
.rg_page .fregister_terms table td + td { border-left: 1px solid var(--rg-line-soft); }

.rg_page .fregister_agree {
    position: static;
    display: block;
    padding: 15px 22px;
    border: 0;
    border-top: 1px solid var(--rg-line-soft);
    background: #fafafa;
    margin: 0;
}
.rg_page .fregister_agree input[type="checkbox"] + label span { top: auto; right: auto; }

.rg_page #fregister_chkall {
    position: static;
    margin: 16px 0 0;
    padding: 18px 22px;
    border: 1px solid var(--rg-accent);
    border-radius: 12px;
    background: var(--rg-accent-soft);
    line-height: 1.4;
    text-align: left;
}
.rg_page #fregister_chkall input[type="checkbox"] + label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rg-ink);
}
.rg_page #fregister_chkall input[type="checkbox"] + label span { border-color: #c9c9c9; }

/* 소셜 회원가입 */
.rg_page #sns_register { margin: 0 0 12px; border: 0 !important; box-shadow: none; }
.rg_page #sns_register h2 { border: 0 !important; padding: 0 0 10px; font-size: 13px; color: var(--rg-muted); }
.rg_page #sns_register ul { display: flex; flex-wrap: wrap; gap: 8px; }
.rg_page #sns_register li { flex: 1 1 0; min-width: 140px; list-style: none; }
.rg_page #sns_register a { border-radius: 10px !important; }

/* ── 2단계 : 정보 입력 ────────────────────────────────────── */
.rg_page #register_form { margin: 0; background: none; }
/* 안쪽 div 의 바탕색이 둥근 모서리를 뚫고 나오지 않도록 (둥글기는 .register_form_inner 것을 그대로) */
#fregisterform .form_01 .register_form_inner { overflow: hidden; }
#fregisterform .form_01 .register_form_inner > div { overflow: hidden; }
.rg_page .register_form_inner ul { padding: 20px 22px 6px; }
.rg_page .register_form_inner li {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}
.rg_page .register_form_inner label:not(.sound_only) {
    display: block;
    margin: 0 0 7px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--rg-sub);
}
.rg_page .register_form_inner label.inline,
.rg_page .register_form_inner .chk_box label:not(.sound_only) { display: inline-flex; margin: 0; }

.rg_page .frm_input,
.rg_page textarea {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 15px;
    border: 1px solid var(--rg-line);
    border-radius: 10px;
    background: var(--rg-field);
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    color: var(--rg-ink);
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.rg_page textarea { height: 110px; padding: 14px 15px; line-height: 1.7; resize: vertical; }
.rg_page .frm_input::placeholder,
.rg_page textarea::placeholder { color: var(--rg-muted); font-weight: 400; }
.rg_page .frm_input:hover { border-color: #cfcfcf; }
.rg_page .frm_input:focus,
.rg_page textarea:focus {
    outline: 0;
    background: #fff;
    border-color: var(--rg-accent);
    box-shadow: 0 0 0 3px rgba(17, 17, 17, .10);
}
.rg_page .frm_input[readonly] { background: #f0f0f0; color: var(--rg-sub); }

/* 비밀번호 2열 */
.rg_page .register_form_inner .half_input {
    display: inline-block;
    width: calc(50% - 5px);
    vertical-align: top;
    float: none;
}
.rg_page .register_form_inner .half_input.left_input.margin_input { margin-right: 8px; }
@media (max-width: 560px) {
    .rg_page .register_form_inner .half_input { display: block; width: 100%; }
    .rg_page .register_form_inner .half_input.left_input.margin_input { margin-right: 0; }
}

/* 우편번호 + 검색 버튼 */
.rg_page .rg_zip_row { display: flex; gap: 8px; align-items: stretch; }
.rg_page .rg_zip_row .frm_input { flex: 1 1 auto; width: auto; min-width: 0; }
.rg_page .rg_zip_row .btn_frmline { flex: 0 0 auto; white-space: nowrap; }
.rg_page .btn_frmline {
    display: inline-block;
    height: 50px;
    padding: 0 16px;
    border: 1px solid var(--rg-line);
    border-radius: 10px;
    background: #fff;
    color: var(--rg-ink);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    vertical-align: top;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.rg_page .btn_frmline:hover { border-color: var(--rg-accent); color: var(--rg-accent); background: #f7f7f7; }
.rg_page #fregisterform .frm_address { margin: 8px 0 0; }
.rg_page #fregisterform #mb_addr3 { display: block; margin: 8px 0 0; }

/* 본인확인 버튼 줄 */
.rg_page .cert_req { display: inline-block; margin-left: 8px; line-height: 50px; font-size: 13px; color: var(--rg-accent); font-weight: 600; }
.rg_page #fregisterform .cert_desc { margin-left: 6px; font-weight: 500; color: var(--rg-accent); }
.rg_page #fregisterform #msg_certify {
    margin: 10px 0 0;
    padding: 12px 15px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    background: var(--rg-accent-soft);
    color: var(--rg-ink);
    font-size: 14px;
    text-align: left;
}

/* 검증 메시지 */
.rg_page #msg_mb_id,
.rg_page #msg_mb_nick {
    display: block;
    margin: 7px 0 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--rg-danger);
}

/* 툴팁 */
.rg_page .tooltip_icon { color: #c2c2c2; font-size: 15px; vertical-align: middle; }
.rg_page .tooltip_icon:hover { color: var(--rg-accent); }
.rg_page .tooltip {
    background: #111111;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: -.01em;
    box-shadow: 0 8px 20px -8px rgba(0, 0, 0, .4);
}
.rg_page .tooltip:before { border-right-color: #111111; top: 8px; }

/* 파일 첨부 */
.rg_page input[type="file"] {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 1px dashed #d2d2d2;
    border-radius: 10px;
    background: var(--rg-field);
    font-size: 13px;
    color: var(--rg-sub);
}
.rg_page .reg_mb_img_file img,
.rg_page #reg_mb_icon + img { margin: 10px 0 0; border-radius: 8px; }
.rg_page #reg_mb_icon, .rg_page #reg_mb_img { float: none; }

/* 체크박스형 항목 */
.rg_page .chk_box { position: relative; }
.rg_page .register_form_inner li.chk_box { margin-bottom: 14px; }
.rg_page .consent-line { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 0 !important; }
.rg_page .consent-line .chk_li { margin-left: -4px; }
.rg_page .consent-date { margin: 4px 0 0 30px !important; font-size: 12px; color: var(--rg-muted); }
.rg_page .sub-consents {
    margin: 10px 0 0 30px;
    padding: 12px 16px !important;
    border-left: 2px solid var(--rg-line);
    background: var(--rg-field);
    border-radius: 0 10px 10px 0;
}
.rg_page .sub-consents li { margin: 0 0 8px !important; }
.rg_page .sub-consents li:last-child { margin: 0 !important; }
.rg_page .js-open-consent {
    margin-left: 4px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--rg-accent);
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}
.rg_page .is_captcha_use { margin-bottom: 16px !important; }

/* 자동등록방지 (kcaptcha)
   fieldset 에 flex 를 걸면 legend 처리 때문에 줄이 깨져서
   테마와 같은 inline-block 방식으로 두고 크기만 맞춘다.
   테마가 #captcha #captcha_img 처럼 ID 2개를 쓰므로 같은 강도로 작성. */
.rg_page #captcha {
    display: block;
    position: relative;
    margin: 8px 0 0;
    padding: 0;
    border: 0;
    font-size: 0;          /* 요소 사이 공백문자 제거 */
    white-space: nowrap;
}
/* legend 안의 label 이 이미지 위로 겹쳐 나오던 문제 */
.rg_page #captcha legend,
.rg_page #captcha legend label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999em !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
}
.rg_page #captcha #captcha_img {
    display: inline-block;
    height: 44px;
    width: auto;
    margin: 0;
    padding: 0;
    border: 1px solid var(--rg-line);
    border-radius: 10px;
    vertical-align: middle;
}
.rg_page #captcha #captcha_key {
    display: inline-block;
    width: 130px;
    height: 44px;
    margin: 0 0 0 8px;
    padding: 0 12px;
    border: 1px solid var(--rg-line);
    border-radius: 10px;
    background: var(--rg-field);
    font-family: inherit;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .16em;
    text-align: center;
    color: var(--rg-ink);
    vertical-align: middle;
}
.rg_page #captcha #captcha_key:focus {
    outline: 0;
    background: #fff;
    border-color: var(--rg-accent);
    box-shadow: 0 0 0 3px rgba(17, 17, 17, .10);
}
/* 아이콘이 40x40 스프라이트라 크기는 그대로 두고 간격·정렬만 맞춤 */
.rg_page #captcha #captcha_mp3,
.rg_page #captcha #captcha_reload {
    margin: 0 0 0 8px;
    padding: 0;
    vertical-align: middle;
}
.rg_page #captcha #captcha_info {
    display: block;
    margin: 8px 0 0;
    font-size: 13px;
    letter-spacing: -.02em;
    color: var(--rg-muted);
    white-space: normal;
}

/* ── 버튼 ─────────────────────────────────────────────────── */
.rg_page .btn_confirm {
    display: flex;
    gap: 8px;
    margin: 24px 0 0;
    text-align: left;
}
.rg_page .btn_confirm .btn_close,
.rg_page .btn_confirm .btn_submit {
    float: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 56px !important;
    margin: 0;
    border: 0;
    border-radius: 12px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -.03em;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.rg_page .btn_confirm .btn_close {
    flex: 0 0 30%;
    border: 1px solid var(--rg-line);
    background: #fff;
    color: var(--rg-sub);
}
.rg_page .btn_confirm .btn_close:hover { border-color: #c9c9c9; color: var(--rg-ink); }
.rg_page .btn_confirm .btn_submit {
    flex: 1 1 auto;
    background: var(--rg-accent);
    color: #fff;
}
.rg_page .btn_confirm .btn_submit:hover { background: var(--rg-accent-dark); }
.rg_page .btn_confirm .btn_submit:disabled { background: #bdbdbd; cursor: default; }

/* ── 3단계 : 가입 완료 ────────────────────────────────────── */
#reg_result.rg_page {
    max-width: 520px;
    padding-bottom: 0;
    text-align: center;
}
#reg_result .rg_done_card {
    padding: 40px 28px 34px;
    border: 1px solid var(--rg-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 12px 32px -18px rgba(0, 0, 0, .18);
}
#reg_result .rg_done_mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px; height: 56px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: var(--rg-accent-soft);
    color: var(--rg-accent);
}
#reg_result .rg_done_mark svg { width: 28px; height: 28px; }
#reg_result .reg_result_p {
    margin: 0 0 8px;
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.04em;
    color: var(--rg-ink);
}
#reg_result .reg_result_p strong { color: var(--rg-accent); }
#reg_result .result_txt,
#reg_result p {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--rg-sub);
    text-align: center;
}
#reg_result .rg_done_desc { margin: 0 0 22px; }
#reg_result #result_email {
    margin: 0 0 20px;
    padding: 16px 18px;
    border: 0;
    border-radius: 12px;
    background: var(--rg-field);
    text-align: left;
    line-height: 1.9;
}
#reg_result #result_email span {
    display: inline-block;
    width: 92px;
    font-size: 13px;
    color: var(--rg-muted);
}
#reg_result #result_email strong { color: var(--rg-ink); font-size: 14px; font-weight: 600; }
#reg_result .rg_notice_list {
    margin: 22px 0 0;
    padding: 18px 20px;
    border-top: 1px solid var(--rg-line-soft);
    text-align: left;
}
#reg_result .rg_notice_list li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 12px;
    list-style: none;
    font-size: 13px;
    line-height: 1.7;
    color: var(--rg-sub);
}
#reg_result .rg_notice_list li:last-child { margin: 0; }
#reg_result .rg_notice_list li:before {
    content: "";
    position: absolute;
    top: 9px; left: 0;
    width: 3px; height: 3px;
    border-radius: 50%;
    background: var(--rg-muted);
}
.rg_page .btn_confirm_reg { display: flex; gap: 8px; margin: 12px 0 88px; }
.rg_page .btn_confirm_reg .reg_btn_submit,
.rg_page .btn_confirm_reg .reg_btn_close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    width: auto;
    height: 56px;
    line-height: 1;
    margin: 0;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -.03em;
}
.rg_page .btn_confirm_reg .reg_btn_submit { background: var(--rg-accent); color: #fff; }
.rg_page .btn_confirm_reg .reg_btn_submit:hover { background: var(--rg-accent-dark); }
.rg_page .btn_confirm_reg .reg_btn_close {
    flex: 0 0 34%;
    border: 1px solid var(--rg-line);
    background: #fff;
    color: var(--rg-sub);
}
.rg_page .btn_confirm_reg .reg_btn_close:hover { border-color: #c9c9c9; color: var(--rg-ink); }

/* ── 모바일 ───────────────────────────────────────────────── */
@media (max-width: 480px) {
    .rg_page { padding: 28px 14px 56px; }
    .rg_page .rg_title { font-size: 22px; }
    .rg_page #fregister h2,
    .rg_page .register_form_inner h2 { padding: 15px 18px; }
    .rg_page .register_form_inner ul { padding: 18px 18px 4px; }
    .rg_page .fregister_agree,
    .rg_page #fregister_chkall { padding: 15px 18px; }
    #reg_result .rg_done_card { padding: 32px 20px 28px; }
}

/* ── 접근성 ───────────────────────────────────────────────── */
.rg_page a:focus-visible,
.rg_page button:focus-visible {
    outline: 2px solid var(--rg-accent);
    outline-offset: 2px;
    border-radius: 8px;
}
@media (prefers-reduced-motion: reduce) {
    .rg_page * { transition: none !important; }
}

/* 조건에 따라 내용이 비는 항목 숨김 (휴대폰번호 미사용 등) */
.rg_page .register_form_inner li:empty { display: none; margin: 0; }
.rg_page .register_form_inner ul:empty { display: none; padding: 0; }


/* ── sound_only 보호 ──────────────────────────────────────────
   스크린리더 전용 요소가 화면에 노출/겹치지 않도록 고정합니다.
   (우편번호·기본주소·상세주소·참고항목 라벨 등)              */
.rg_page .sound_only,
.rg_page label.sound_only,
.rg_page b.sound_only,
.rg_page span.sound_only,
.rg_page strong.sound_only,
.rg_page caption {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}


/* ── 기본 정보 : 한 줄에 두 항목 ──────────────────────────── */
@media (min-width: 561px) {
    .rg_page #rg_sec_basic ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 12px;
        align-items: start;
    }
    .rg_page #rg_sec_basic ul > li { min-width: 0; }
    .rg_page #rg_sec_basic ul > li.rg_full { grid-column: 1 / -1; }
}


/* ── 배송지 관리 (회원정보 수정) ───────────────────────────── */
/* 테마가 폼 안의 p 를 빨간 경고 상자로 그려서 그것을 되돌린다 */
.rg_page #rg_sec_addr .rg_desc, #fregisterform #rg_sec_addr p.rg_desc {
    margin: 16px 22px 14px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important; text-align: left !important;
    font-size: 13px !important; font-weight: 400 !important; line-height: 1.6; color: var(--rg-muted) !important;
    position: static !important;
}
/* 테마가 p 왼쪽에 붙이는 빨간 세로줄 */
.rg_page #rg_sec_addr .rg_desc:before, .rg_page #rg_sec_addr .rg_desc:after,
#fregisterform #rg_sec_addr p.rg_desc:before, #fregisterform #rg_sec_addr p.rg_desc:after { display: none !important; content: none !important; }
/* 카드를 한 줄에 둘씩. 새 배송지 추가는 한 줄 전부 */
.rg_page #rg_sec_addr #qo_addr_panel { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 22px 22px; }
.rg_page #rg_sec_addr .qo_ad { display: flex; flex-direction: column; min-width: 0; }
.rg_page #rg_sec_addr .qo_ad_body { flex: 1 1 auto; word-break: break-all; }
.rg_page #rg_sec_addr .qo_ad_subject { flex: 1 1 auto; width: auto !important; max-width: none; min-width: 0; }
.rg_page #rg_sec_addr .qo_ad_new { grid-column: 1 / -1; }
.rg_page #rg_sec_addr .qo_ad_new_form { max-width: 560px; }
.rg_page #rg_sec_addr .qo_ad { background: var(--rg-field); }
.rg_page #rg_sec_addr .qo_ad_new { background: #fff; }
@media (max-width: 640px) {
    .rg_page #rg_sec_addr .rg_desc, #fregisterform #rg_sec_addr p.rg_desc { margin: 0 18px 12px !important; }
    .rg_page #rg_sec_addr #qo_addr_panel { grid-template-columns: 1fr; margin: 0 18px 18px; }
}
.rg_page #qo_addr_panel { display: flex; flex-direction: column; gap: 10px; }
.rg_page .qo_ad { padding: 14px 16px; border: 1px solid var(--rg-line); border-radius: 12px; background: var(--rg-field); }
.rg_page .qo_ad_head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.rg_page .qo_ad_subject { flex: 0 0 200px; width: 200px !important; max-width: 200px; height: 36px !important; padding: 0 12px; border: 1px solid var(--rg-line); border-radius: 8px; background: #fff; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--rg-ink); }
.rg_page .qo_ad_subject:focus { outline: 0; border-color: var(--rg-accent); }
.rg_page .qo_ad_head .qo_def { flex: none; display: inline-block; padding: 3px 8px; border-radius: 4px; background: var(--rg-accent); color: #fff; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.rg_page .qo_ad_body { font-size: 13px; line-height: 1.6; color: var(--rg-sub); }
.rg_page .qo_ad_body strong { color: var(--rg-ink); }
.rg_page .qo_ad_btns { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.rg_page .qo_ad_btns button { height: 32px; padding: 0 12px; border: 1px solid var(--rg-line); border-radius: 8px; background: #fff; font-family: inherit; font-size: 12px; font-weight: 600; color: var(--rg-sub); cursor: pointer; }
.rg_page .qo_ad_btns .qo_ad_def:hover { border-color: var(--rg-accent); color: var(--rg-accent); }
.rg_page .qo_ad_btns .qo_ad_del { width: 32px; padding: 0; margin-left: auto; border-radius: 50%; font-size: 16px; color: var(--rg-muted); }
.rg_page .qo_ad_btns .qo_ad_del:hover { border-color: var(--rg-danger); background: var(--rg-danger); color: #fff; }
.rg_page .qo_ad_new { padding: 10px 12px; background: #fff; border-style: dashed; }
.rg_page .qo_ad_new_toggle { display: block; width: 100%; height: 40px; padding: 0 6px; border: 0; border-radius: 8px; background: none; font-family: inherit; font-size: 13px; font-weight: 700; color: var(--rg-sub); cursor: pointer; text-align: left; }
.rg_page .qo_ad_new_toggle:hover { color: var(--rg-ink); background: var(--rg-field); }
.rg_page .qo_ad_new_form { padding: 6px 6px 8px; }
.rg_page .qo_nf_row { display: flex; gap: 8px; }
.rg_page .qo_ad_new_form input[type="text"] { display: block; flex: 1 1 0; width: 100% !important; max-width: none; height: 42px !important; margin: 0 0 8px; padding: 0 12px; border: 1px solid var(--rg-line); border-radius: 8px; background: var(--rg-field); font-family: inherit; font-size: 13px; color: var(--rg-ink); }
.rg_page .qo_ad_new_form input[type="text"]:focus { outline: 0; border-color: var(--rg-accent); background: #fff; }
.rg_page .qo_ad_new_form #qa_zip { flex: 0 0 120px; width: 120px !important; }
.rg_page .qo_nf_zip { flex: none; height: 42px; margin: 0 0 8px; padding: 0 14px; border: 1px solid var(--rg-line); border-radius: 8px; background: #fff; font-family: inherit; font-size: 12px; font-weight: 600; color: var(--rg-sub); cursor: pointer; }
.rg_page .qo_nf_zip:hover { border-color: var(--rg-accent); color: var(--rg-accent); }
.rg_page .qo_nf_foot { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.rg_page .qo_nf_foot label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--rg-sub); cursor: pointer; }
.rg_page .qo_nf_save { height: 40px; padding: 0 18px; border: 0; border-radius: 8px; background: var(--rg-accent); color: #fff; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.rg_page .qo_nf_save:hover { background: var(--rg-accent-dark); }
.rg_page .qo_nf_save:disabled { background: #bdbdbd; }
