/* 황금곳간 회원가입 전용 CSS (gm-shop.css 공통 클래스 보조)
   - 공통 클래스(.field .inp .chk .terms-box .join-steps .btn 등)는 gm-shop.css 사용
   - 여기에는 회원가입 페이지에만 필요한 보조 스타일만 정의한다. */

/* 코어 상단 페이지명(#wrapper_title)은 시안 page-title 로 대체 → 가입 관련 페이지에서만 숨김 */
.shop-content:has(main.register) #wrapper_title,
.shop-content:has(#gm_join_marketer) #wrapper_title{display:none;}

/* 가입 유형 선택 카드 (셀러가입 / 마케터 가입) */
.join-type-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;}
.join-type-cards .jcard{
    position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
    padding:24px 18px 20px;border:1.5px solid var(--line);border-radius:16px;background:#fff;
    cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;font-family:inherit;
    color:var(--txt);text-decoration:none;
}
.join-type-cards .jcard:hover{border-color:#cfe0b6;}
.join-type-cards .jcard.on{border-color:var(--point);background:#f7faf2;box-shadow:0 0 0 3px #eef6e2;}
.join-type-cards .jcard-txt{display:flex;flex-direction:column;gap:6px;}
.join-type-cards .jcard b{font-size:15.5px;font-weight:800;letter-spacing:-0.3px;}
.join-type-cards .jcard b small{font-size:12px;font-weight:700;color:var(--txt-sub);}
.join-type-cards .jcard.on b{color:var(--point-dark);}
.join-type-cards .jcard-desc{font-size:12.5px;color:var(--txt-sub);line-height:1.65;font-weight:500;}
.join-type-cards .jcard-ico{width:46px;height:46px;border-radius:14px;background:#f4f6f0;color:#9aa792;
    display:flex;align-items:center;justify-content:center;}
.join-type-cards .jcard-ico svg{width:26px;height:26px;}
.join-type-cards .jcard.on .jcard-ico{background:var(--point);color:#fff;}
.join-type-cards .jcard-badge{
    position:absolute;top:10px;right:10px;font-size:10.5px;font-weight:800;letter-spacing:-0.2px;
    padding:3px 8px;border-radius:999px;background:#eef6e2;color:var(--point-dark);
}
.join-type-cards .jcard-badge.wait{background:#f2f2f0;color:#999;}
.join-type-cards .jcard.is-wait{background:#fbfbfa;}
.join-type-cards .jcard.is-wait b,
.join-type-cards .jcard.is-wait .jcard-desc{color:#a5a5a0;}

/* 마케터 가입 준비중 안내 페이지 */
#gm_join_marketer .gm-ready{text-align:center;padding:20px 0 0;}
#gm_join_marketer .r-emoji{font-size:56px;display:block;margin-bottom:14px;line-height:1;}
#gm_join_marketer h1{font-size:23px;font-weight:900;letter-spacing:-0.6px;margin-bottom:10px;}
#gm_join_marketer h1 b{color:var(--point-dark);}
#gm_join_marketer .r-desc{font-size:14px;color:var(--txt-sub);line-height:1.75;margin-bottom:24px;}
#gm_join_marketer .gm-ready-btns{display:flex;flex-direction:column;gap:10px;margin-top:16px;}
#gm_join_marketer .r-foot{font-size:12.5px;color:#aaa;line-height:1.8;margin:20px 0 60px;}
#gm_join_marketer .r-foot a{color:var(--point-dark);font-weight:700;}

/* 약관 본문 접기/펼치기 */
.terms-body{display:none;padding:14px 18px;background:#fafaf8;border-bottom:1px solid #f2f2ee;}
.terms-body.open{display:block;}
.terms-body textarea{
    width:100%;height:150px;border:1px solid var(--line);border-radius:10px;
    padding:12px;font-size:12.5px;line-height:1.7;color:#666;background:#fff;
    resize:vertical;font-family:inherit;outline:none;
}
.terms-body table{width:100%;border-collapse:collapse;font-size:12.5px;background:#fff;border-radius:10px;overflow:hidden;}
.terms-body th,.terms-body td{border:1px solid #eee;padding:8px 10px;text-align:left;line-height:1.55;color:#666;}
.terms-body th{background:#f4f8ee;color:var(--point-dark);font-weight:700;}

/* 폼 섹션 제목 */
.gm-join-sec{
    font-size:16.5px;font-weight:800;margin:34px 0 16px;
    display:flex;align-items:center;gap:8px;letter-spacing:-0.3px;
}
.gm-join-sec::before{content:'';width:5px;height:17px;border-radius:3px;background:var(--point);}
.gm-join-sec small{font-size:12px;color:var(--txt-sub);font-weight:500;}

/* 입력 보조 */
.inp[readonly]{background:#f6f6f4;color:#999;}
.field .msg-hint{display:block;font-size:12px;color:#aaa;margin-top:6px;}
.field .msg-hint:empty{display:none;}
.field input[type=file].inp{padding:11px 14px;height:auto;font-size:13.5px;cursor:pointer;}
.field input[type=file].inp::file-selector-button{
    border:1px solid var(--line);border-radius:8px;background:#f7f9f3;color:#555;
    padding:6px 12px;margin-right:10px;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;
}
.gm-file-now{font-size:12.5px;color:var(--point-dark);margin-top:6px;font-weight:600;}

/* 본인확인 버튼 줄 */
.gm-cert-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.gm-cert-row .btn{height:44px;}
#msg_certify{font-size:13px;color:var(--point-dark);font-weight:700;margin-top:8px;}

/* 수신동의(선택) 목록 */
.gm-consent-list{border:1.5px solid var(--line);border-radius:12px;overflow:hidden;}
.gm-consent-row{
    padding:13px 18px;display:flex;justify-content:space-between;align-items:center;
    border-bottom:1px solid #f2f2ee;gap:10px;
}
.gm-consent-row:last-child{border-bottom:none;}
.gm-consent-row .chk{font-size:13.5px;}
.gm-consent-row.is-sub{padding-left:44px;background:#fbfbf9;}
.gm-consent-row .js-open-consent{
    font-size:12px;color:#aaa;text-decoration:underline;flex-shrink:0;background:none;border:none;cursor:pointer;font-family:inherit;
}
.gm-consent-date{font-size:11.5px;color:#bbb;margin-left:30px;}

/* 자동등록방지(캡차) */
.gm-captcha #captcha{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.gm-captcha #captcha #captcha_key{height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;font-size:15px;outline:none;}
.gm-captcha #captcha #captcha_key:focus{border-color:var(--point);}
.gm-captcha #captcha button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px;cursor:pointer;}

/* 가입 결과(register_result) */
.gm-result{text-align:center;padding:14px 0 0;}
.gm-result .r-emoji{font-size:58px;display:block;margin-bottom:14px;}
.gm-result h2{font-size:22px;font-weight:900;letter-spacing:-0.5px;margin-bottom:8px;}
.gm-result h2 b{color:var(--point-dark);}
.gm-result .r-desc{font-size:14px;color:var(--txt-sub);line-height:1.75;margin-bottom:22px;}
.gm-approve-notice{
    background:#f4f8ee;border:1px solid #e2eed2;border-radius:14px;
    padding:20px 22px;text-align:left;font-size:13.5px;color:#555;line-height:1.8;margin-bottom:16px;
}
.gm-approve-notice b{color:var(--point-dark);display:block;font-size:14.5px;margin-bottom:6px;}
.gm-result-info{
    border:1px solid var(--line);border-radius:14px;background:#fff;
    padding:18px 22px;text-align:left;font-size:13.5px;margin-bottom:16px;
}
.gm-result-info dl{display:flex;gap:12px;margin:4px 0;}
.gm-result-info dt{width:90px;color:#999;flex-shrink:0;}
.gm-result-info dd{font-weight:700;word-break:break-all;}
.gm-result .r-foot{font-size:12.5px;color:#aaa;line-height:1.8;margin:18px 0 26px;}

@media (max-width:768px){
    .gm-join-sec{margin-top:26px;}
    .join-type-cards{grid-template-columns:1fr;gap:10px;}
    .join-type-cards .jcard{flex-direction:row;text-align:left;padding:16px 16px;gap:14px;align-items:center;}
    .join-type-cards .jcard-ico{flex-shrink:0;width:42px;height:42px;order:1;}
    .join-type-cards .jcard-txt{order:2;flex:1;min-width:0;}
    .join-type-cards .jcard-badge{position:static;order:3;flex-shrink:0;align-self:center;}
    .join-type-cards .jcard-desc br{display:none;}
}

/* ===== 휴대전화 SMS 인증 / 계좌 정보 (2026-07-30) ===== */
.gm-hp-row{align-items:flex-start;}
.gm-hp-btn{height:50px;flex-shrink:0;white-space:nowrap;padding:0 14px;font-size:13.5px;}
.gm-hp-auth{margin-top:10px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;}
.gm-hp-auth .inp-row{align-items:flex-start;}
.gm-hp-auth .inp{letter-spacing:2px;font-weight:700;}
.gm-hp-timer{margin:8px 2px 0;font-size:12.5px;color:#e5342b;font-weight:700;}
#gm_hp_msg{display:block;margin-top:7px;}
#gm_hp_msg.ok{color:#1f8a4c;font-weight:700;}
#gm_hp_msg.err{color:#e5342b;font-weight:700;}
.field label small{font-weight:500;color:#9aa5ae;font-size:12px;margin-left:2px;}
@media (max-width:520px){
    .gm-hp-row{flex-wrap:wrap;}
    .gm-hp-row .inp{flex:1 1 100%;}
    .gm-hp-btn{width:100%;height:44px;}
    .gm-hp-auth .inp-row{flex-wrap:wrap;}
    .gm-hp-auth .inp-row .inp{flex:1 1 100%;}
    .gm-hp-auth .gm-hp-btn{width:100%;height:44px;}
}
