.mobile-device * {
	font-family: Pretendard !important;
}

/* 모바일 회원가입 플로우 스타일 */
@media screen and (max-width: 480px) {
	.desktop_only {
		display: none;
	}
	
	.mobile-device .container {
		background-size: cover !important;
		background-attachment: fixed !important;
		min-width: auto !important;
		min-height: 100vh !important;
		height: auto !important;
		width: 100% !important;
		overflow-y: auto;
	}
	
	/* 회원가입 컨테이너 모바일 스타일 */
	.mobile-device .content_area {
		width: 100% !important;
		padding: 15px;
		box-sizing: border-box;
	}

	.mobile-device #content_main {
		position: fixed;
		top: 7px;
		left: 7px;
		right: 7px;
		bottom: 7px;
		width: calc(100% - 14px) !important;
		height: calc(100vh - 14px) !important;
		padding: 38px 20px 20px;
		margin: 0;
		border-radius: 15px;
		box-sizing: border-box;
		overflow: hidden;
	}

	/* 회원가입 메인 영역 */
	.mobile-device #join_main {
		width: 100%;
		max-width: 100%;
	}

	/* 회원가입 제목 */
	.mobile-device .join_title {
		text-align: center;
	}
	.mobile-device .join_content {
		margin-top: unset;
	}
	.mobile-device .join_title span {
		text-align: center;
		font-size: 24px !important;
		font-weight: 600;
		color: #20A890;
	}
	.mobile-device .join_title p {
		display: block;
		font-size: 15px !important;
		text-align: left;
		margin-top: 31px;
		font-weight: 600;
        color: #000;
	}

	.mobile-device .personal_info p {
		display: none;
	}

	/* 회원가입 단계 표시 - 모바일에서는 숨김 */
	.mobile-device .join_sequence {
		display: none !important;
	}

	/* 개인정보 수집 동의 영역 */
	.mobile-device .personal_info_agree {
		width: calc(100vw - 54px);
		max-height: calc(100vh - 150px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; /* iOS 부드러운 스크롤 */
	}

	.mobile-device .personal_info_agree p {
		font-size: 15px !important;
		margin-bottom: 7px;
		font-weight: 600;
	}

	/* 동의 텍스트 영역 */
	.mobile-device .div_txtareaSt {
		width: 100% !important;
		font-size: 13px;
		line-height: 1.4;
		padding: 15px;
		margin: 6px 0 16px 0;
		overflow-y: unset;
		background: #F8F9FA;
		height: unset;
	}

	.mobile-device .agree_ul {
		width: 100% !important;
		padding: 0;
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	.mobile-device .agree_ul li {
		margin-bottom: 8px;
	}

	.mobile-device .info_period {
		margin-left: 15px !important;
		font-size: 11px !important;
	}

	/* 동의 라디오 버튼 영역 */
	.mobile-device .agree_radio_area {
		display: none !important;
	}

	/* 개인정보 입력 폼 */
	.mobile-device .personal_info {
		width: calc(100vw - 54px);
		max-height: calc(100vh - 150px);
        overflow-y: auto;
	}

	.mobile-device .personal_info table {
		width: 100% !important;
		border: none;
		border-collapse: separate;
		border-spacing: 0;
        margin-top: 22px;
	}

	.mobile-device .personal_info table tr {
		display: block;
		border: none;
		height: unset;
	}

	.mobile-device .personal_info table th {
		display: block;
		width: 100% !important;
		background: none !important;
		border: none !important;
		padding: 0 0 6px 0 !important;
		text-align: left !important;
		font-size: 10px !important;
		font-weight: 600;
		color: #333;
	}

	.mobile-device .personal_info table td {
		display: block;
		width: 100% !important;
		border: none !important;
		padding: 0 !important;
		margin-bottom: 16px;
	}

	.mobile-device .personal_info table input[name="userNm"],
	.mobile-device .personal_info table input[type="password"],
	.mobile-device .personal_info table input[name="email"] {
		width: 100% !important;
		height: 40px !important;
		padding: 0 12px;
		border: 1px solid #CCC;
		font-size: 16px; /* iOS 줌 방지 */
		box-sizing: border-box;
	}
	.mobile-device .personal_info table input[name="userId"],
	.mobile-device .personal_info table input[name="mblNoMobile"] {
		flex: 1;
	}

	/* 기관 선택 영역 */
	.mobile-device .select_institution_type {
		width: 100% !important;
		height: 44px !important;
		margin: 0 0 10px 0;
		border: 1px solid #DDD;
		padding: 0 12px;
	}
	.mobile-device input[name="insttNm"] {
		width: 100% !important;
		margin: 0 0 10px 0 !important;
		background: #F1F1F1 !important;
		color: #CCC;
        border: none;
	}
	.mobile-device .instt-btn {
		width: 100% !important;
		height: 40px !important;
		margin: 0;
		border: 1px solid #1FA089;
		background: white;
		color: #1FA089;
		font-size: 13px;
	}

	/* 휴대폰 번호 입력 */
	.mobile-device .personal_info table td span {
		display: inline-block;
		margin: 0 5px;
		line-height: 44px;
	}

	.mobile-device input[name="mblNo1"],
	.mobile-device input[name="mblNo2"],
	.mobile-device input[name="mblNo3"] {
		width: calc((100% - 30px) / 3) !important;
		display: inline-block;
	}

	/* 버튼 영역 */
	.mobile-device .login_cbtn {
		position: static !important;
		width: calc(100% - 2px) !important;
		padding: 0 !important;
		margin: 0 1px 3px 1px;
	}

	.mobile-device .btn_gray_small,
	.mobile-device .btn_green_small {
		width: 100% !important;
		height: 40px !important;
		font-size: 13px !important;
		border-radius: 8px;
		border: none;
		box-shadow: 0 1px 2px rgb(0, 0, 0, 0.16);
	}

	.mobile-device .btn_gray_small {
		background-color: #F1F1F1;
		color: #000;
	}

	.mobile-device .btn_green_small {
		background-color: #1FA089;
		color: white;
	}

	.mobile-device .personal_info .mobile_flex {
		display: flex;
		gap: 9px;
	}

	/* 중복확인 버튼 */
	.mobile-device .function_btns {
		width: 87px !important;
		height: 40px !important;
		margin: 0 !important;
		border: 1px solid #1FA089;
		background: white;
		color: #1FA089;
		font-size: 11px;
	}

	/* 툴팁 모바일 대응 */
	.mobile-device .precautions {
		float: unset;
		margin: 0 0 0 6px;
		width: 47px;
        height: 17px;
		line-height: 17px;
	}
	.mobile-device .precautions.pwd_info {
		width: 14px !important;
		height: 14px;
        line-height: 14px;
	}
	.mobile-device .precautions span {
		font-size: 9px;
	}
	.mobile-device .precautions_content {
		top: 18px;
        left: 44px;
		width: 220px;
		margin-top: 5px;
		padding: 8px;
		font-size: 12px !important;
		border-radius: 4px;
		background-color: #FF4A54 !important;
		color: white !important;
		line-height: 15px;
	}
	.mobile-device .precautions.pwd_info .precautions_content {
		left: 27px !important;
	}
	.mobile-device .precautions_content:after {
		top: -6px;
	}
	.mobile-device .tooltip1,
	.mobile-device .tooltip2 {
		width: 200px !important;
		top: 38px;
		left: 0 !important;
		margin-top: 8px;
	}

	/* 모달 모바일 대응 */
	.mobile-device #insttModal .renewal-modal {
		width: 95% !important;
		max-width: 95%;
		margin: 20px auto;
		max-height: 80vh;
	}

	.mobile-device .modal-table {
		font-size: 12px !important;
	}

	.mobile-device .instt-table {
		font-size: 11px !important;
	}


	.mobile-device .completion_div {
		width: calc(100vw - 54px);
		height: calc(100vh - 196px);
	}

	.mobile-device .completion_div p {
		font-size: 20px;
		font-weight: 600;
		margin-top: 20px;
        margin-bottom: 13px;
	}
	
	.mobile-device .completion_div span {
		font-size: 13px;
	}


	/* 모바일에서 모든 스크롤바 숨김 */
	.mobile-device *::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	.mobile-device * {
		scrollbar-width: none; /* Firefox */
		-ms-overflow-style: none; /* IE, Edge */
	}

	/* iOS 부드러운 스크롤 유지 */
	.mobile-device .personal_info,
	.mobile-device .personal_info_agree,
	.mobile-device .div_txtareaSt {
		-webkit-overflow-scrolling: touch;
	}

	/* 우측 상단 닫기 버튼 */
	.mobile-device .close-btn-top {
		position: absolute;
		top: 15px;
		right: 15px;
		width: 12px;
		height: 12px;
		background: none;
		border: none;
		z-index: 10;
		display: block !important;
	}

	.mobile-device .close-btn-top img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	/* PC에서만 보이는 버튼 */
	.mobile-device .desktop-only {
		display: none !important;
	}

	/* 모바일에서만 보이는 버튼 */
	.desktop-device .mobile-only {
		display: none !important;
	}

}
