/* auth/form/_form.blade.php 의 <style> 블록에서 옮김 (2026.10.15) */
label:not(.form-check-label):not(.custom-file-label) {
    font-weight: 700;
    top: 4px;
}

.btn_company_search {
    border: 1px solid blue;
    width:10%;
    box-sizing: border-box;
}
/* 2026.10.15 : 가입 화면 안내 (일반회원 / 기업 담당자) */
.join_type_guide { color:gray; margin:6px 0 14px; line-height:1.8; }
.join_type_guide .join_type_link a { color:#021c56; font-weight:700; text-decoration:underline; }

/* ===== 2026.10.16 : 회원가입(일반·기업 담당자) 화면 다듬기 — 흰 카드, 라벨 왼쪽 고정 폭 + 입력칸, 도움말은 입력칸 아래 =====
   (입력칸 name·id·제출 동작은 그대로, 모양만) */
.login_wrap { padding-bottom: 60px; background-color: #eef2f6; }
.login_wrap .join_card { width: 100%; max-width: 760px; height: auto; margin: 0 auto; padding: 40px 48px 44px; border-radius: 10px;
                         box-shadow: 0 10px 30px rgba(2, 28, 86, .12); }
.join_card .txt1 { font-size: 1.75rem; font-weight: 600; color: #021c56; margin-bottom: 6px; }
.join_card .register_tab, .join_card .register_form, .join_card fieldset { padding: 0; margin: 0; }

/* 안내 + 다른 가입 유형 링크 */
.join_card .join_type_guide { margin: 0 0 8px; color: #666; font-size: 14px; line-height: 1.7; text-align: center; }
.join_card .join_type_guide .join_type_link a { display: inline-block; margin-left: 4px; padding: 1px 12px; border: 1px solid #021c56; border-radius: 999px;
                                               font-size: 13px; text-decoration: none; }
.join_card .join_type_guide .join_type_link a:hover { background: #021c56; color: #fff; }

/* 구역 제목 */
.join_card .register_subject { margin: 28px 0 18px; padding: 0 0 8px; background: none; border: 0; border-bottom: 2px solid #021c56;
                               color: #021c56; font-size: 16px; font-weight: 700; }

/* 줄 : col-md-10 감싸개는 폭 가득, 라벨 130px + 입력칸 */
.join_card form > .col-md-10, .join_card #agreement_section > .col-md-10, .join_card #agreement_section .col-md-10,
.join_card #affiliation_block dl { flex: none; max-width: 100%; width: 100%; padding: 0; margin: 0; }
.join_card .form-group.row { margin: 0 0 16px; align-items: flex-start; }
.join_card .form-group.row > label { flex: 0 0 130px; max-width: 130px; margin: 0; padding: 10px 12px 0 0; text-align: left !important;
                                     color: #333; font-size: 14px; font-weight: 600; top: 0; }
.join_card .form-group.row > .col-md-8 { flex: 1 1 0; max-width: none; min-width: 0; padding: 0; }
.join_card .form-control { height: 42px; border: 1px solid #cfd6df; border-radius: 6px; font-size: 14px; }
.join_card .form-control:focus { border-color: #266ed4; box-shadow: 0 0 0 3px rgba(38, 110, 212, .15); }
.join_card .form-control[readonly] { background: #f5f7fa; }

/* 도움말 : 입력칸 바로 아래(라벨 폭만큼 들여씀), 작은 회색 */
.join_card .form-group.row > .st-efc22b3, .join_card .form-group.row > .st-942bc05 { flex: 0 0 100%; padding-left: 130px;
  margin-top: 6px !important; color: #888 !important; font-size: 12.5px; line-height: 1.5 !important; }
.join_card #affiliation_block dd { flex: 0 0 calc(100% - 130px); width: auto; max-width: calc(100% - 130px); margin: 6px 0 0 130px; min-height: 0; }
.join_card #affiliation_block dd br { display: none; }
.join_card #affiliation_block dd span { display: block; margin-top: 2px !important; color: #888 !important; font-size: 12.5px; line-height: 1.6 !important; }

/* 소속 검색 단추 */
.join_card .company_search_row .btn_company_search { height: 42px; border: 0; border-radius: 6px; padding: 0 18px; }

/* 기업 담당자 가입 : 협약기관 신청·양식 단추, 안내 글씨를 다른 도움말과 같게 */
.join_card #agreement_section a.btn_company_search:not(.company_search_row a) { display: inline-flex; align-items: center; height: 40px; border: 0; border-radius: 6px; }
.join_card #agreement_section .st-8df6a71 { color: #888 !important; font-size: 12.5px; line-height: 1.5; margin-top: 6px !important; }

/* 생년월일 앞 6자리 - 뒤 1자리 ●●●●●● */
.join_card .birth_row { display: flex; align-items: center; gap: 8px; }
.join_card .birth_row #birth { flex: 1 1 0; min-width: 0; }
.join_card .birth_row .birth_gender { flex: 0 0 48px; padding: 0; text-align: center; }
.join_card .birth_row .birth_dash { color: #999; }
.join_card .birth_row .birth_mask { flex: none; color: #aaa; letter-spacing: 1px; font-size: 9px; }

/* 단추 */
.join_card .join_actions { display: flex; justify-content: center; gap: 10px; margin-top: 36px; }
.join_card .join_actions .btn_register { flex: 0 1 220px; width: auto; height: 52px; margin: 0; line-height: 50px; border-radius: 6px;
                                          font-size: 16px; font-weight: 600; text-decoration: none; }
.join_card .join_actions .join_submit { border: 1px solid #021c56; background: #021c56; color: #fff; }
.join_card .join_actions .join_submit:hover { background: #0a2d7a; }
.join_card .join_actions .join_home { border: 1px solid #cfd6df; background: #fff; color: #555; }
.join_card .join_actions .join_home:hover { background: #f5f7fa; color: #333; }

/* 휴대폰 : 라벨은 입력칸 위, 도움말 들여쓰기 없음, 단추는 위아래 폭 가득 */
@media (max-width: 767.98px) {
  .login_wrap { padding-bottom: 32px; }
  .login_wrap .join_card { width: calc(100% - 24px); padding: 26px 18px 28px; border-radius: 8px; }
  .join_card .txt1 { font-size: 1.4rem; }
  .join_card .form-group.row { margin-bottom: 14px; }
  .join_card .form-group.row > label { flex: 0 0 100%; max-width: 100%; padding: 0 0 6px; }
  .join_card .form-group.row > .col-md-8 { flex: 0 0 100%; }   /* 0 기준 폭이면 라벨(100%) 옆에 끼어 0px 로 줄어듦 */
  .join_card .form-group.row > .st-efc22b3, .join_card .form-group.row > .st-942bc05 { padding-left: 0; }
  .join_card #affiliation_block dd { flex-basis: 100%; max-width: 100%; margin-left: 0; }
  .join_card .join_actions { flex-direction: column; margin-top: 28px; }
  .join_card .join_actions .btn_register { flex: none; width: 100%; }
}

/* 2026.10.27 (사용자 요청) : 소속 구분(학생·재직자)에 따라 열리는 칸 — 도움말은 줄마다 */
.join_card #affiliation_block dd span { display: block; }
