@charset "utf-8";
/* 회원가입 (cd=member, cf=join) 전용 스타일 */

h1 { display: none; }
h2 { display: none; }
h3 { float: none; }

/* 본문 영역 — 전체폭, 자체 좌우 패딩 */
#wrap_body {
	width: 100%;
	max-width: none;
	margin: 0 auto;
	box-sizing: border-box;
}
#wrap_body_center,
#wrap_body_content {
	width: 100%;
	max-width: none;
	overflow: visible;
	box-sizing: border-box;
}
#box_body_content { width: 100%; }

/* 가입 페이지 콘텐츠 래퍼 — 가운데 정렬, 적정 폭 */
.join_wrap {
	width: 100%;
	max-width: 720px;
	margin: 40px auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* 회원 유형 선택 */
#box_sel_join { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
#box_sel_join .panel { width: 220px; margin: 0; }
#box_sel_join .panel span { height: 80px; display: block; width: 100%; }

.d_bar { margin: 0 10px; color: #D1D5DB; }

#member_left { display: none; }
#member_content {
	width: 100%;
	max-width: 720px;
	float: none !important;
	margin: 0 auto;
}
#page_title { display: none; }
.location { display: none; }

#box_body_header {
	background-color: #F9FAFB;
	border-bottom: 1px solid #E5E7EB;
	margin-bottom: 20px;
	padding: 12px 20px;
}
#member_content .line_break:first-child { display: none; }

/* 약관 박스 */
.terms_box {
	height: 200px;
	overflow: auto;
	padding: 14px;
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-radius: 6px;
	font-size: 12.5px;
	line-height: 1.6;
	color: #374151;
	box-sizing: border-box;
}

/* 약관 동의 행 */
.terms_agree {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
	margin-top: 10px;
	padding: 8px 0;
	font-size: 13px;
	color: #374151;
}
.terms_agree .c_red { font-size: 12px; }
.terms_agree label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
}

/* 가입 페이지 로고 */
.join_logo {
	text-align: center;
	margin: 0 0 30px;
	padding-top: 10px;
}
.join_logo img { max-width: 200px; height: auto; }

/* 가입 약관 표 */
.terms_table {
	margin-top: 14px;
}
.terms_table th { text-align: center !important; }

/* 폼 입력 옆의 도움말 */
.form_hint {
	display: inline-block;
	margin-left: 8px;
	font-size: 12px;
	color: #6B7280;
}
.form_hint.c_red { color: #DC2626; }

/* 핸드폰 인증 카드 */
.phone_auth_card {
	padding: 20px;
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-radius: 8px;
}
.phone_auth_row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
.phone_auth_row:last-of-type { margin-bottom: 0; }
.phone_auth_label {
	flex: 0 0 90px;
	font-size: 13px;
	font-weight: 600;
	color: #374151;
}
.phone_auth_inputs {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	flex: 1;
	min-width: 0;
}
.phone_auth_inputs .phone_prefix { width: 80px; }
.phone_auth_inputs .phone_part { width: 90px; text-align: center; }
.phone_auth_inputs .auth_code { width: 140px; letter-spacing: 4px; text-align: center; font-weight: 600; }
.phone_auth_inputs .d_btn i { font-size: 11px; }

.phone_auth_hint {
	margin: 14px 0 0;
	padding: 10px 14px;
	background: #EFF6FF;
	border: 1px solid #DBEAFE;
	border-radius: 6px;
	font-size: 12px;
	color: #1E40AF;
	line-height: 1.5;
}
.phone_auth_hint i { margin-right: 4px; }
.phone_auth_hint strong { font-weight: 700; }

/* 인증 상태 뱃지 */
.section-title .auth_status {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 10px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 600;
	border-radius: 12px;
	vertical-align: middle;
}
.section-title .auth_status[data-state="wait"]   { color: #92400E; background: #FEF3C7; }
.section-title .auth_status[data-state="sent"]   { color: #1E40AF; background: #DBEAFE; }
.section-title .auth_status[data-state="done"]   { color: #15803D; background: #DCFCE7; }
.section-title .auth_status[data-state="failed"] { color: #B91C1C; background: #FEE2E2; }

/* SMS 타이머 */
.sms_timer {
	display: inline-flex;
	align-items: center;
	min-width: 50px;
	padding: 0 6px;
	font-size: 13px;
	font-weight: 600;
	color: #DC2626;
}
.sms_timer:empty { display: none; }

/* 텍스트 링크 스타일 버튼 */
.d_btn.type_link {
	background: transparent;
	border-color: transparent;
	color: #6B7280 !important;
	padding: 6px 10px;
}
.d_btn.type_link:hover {
	background: transparent;
	border-color: transparent;
	color: #00224E !important;
	text-decoration: underline;
}

/* 가입 페이지 푸터 */
.join_footer {
	margin-top: 50px;
	padding: 24px 0;
	border-top: 1px solid #E5E7EB;
	text-align: center;
	color: #6B7280;
	font-size: 12px;
}
.join_footer ul {
	display: flex;
	justify-content: center;
	gap: 20px;
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
}
.join_footer ul li a {
	color: #374151;
	text-decoration: none;
	font-size: 13px;
}
.join_footer ul li a:hover { color: #00224E; text-decoration: underline; }
.join_footer p { margin: 0; }
