/***** auth *****/
.auth_area {position: absolute; top: 0; left: 0; width: 100%;}
.auth_area .auth_wrapper {display: flex; width: 100%; height: 100vh; height: 100dvh; background-color: #FFF;}
.auth_wrapper a {width: fit-content;}
.auth_wrapper .auth_logo {position: absolute; top: 20px; left: 25px; height: 35px;}
.auth_wrapper .auth_content {flex: 1 1 0%; display: block; overflow-y: auto;}
.auth_content .auth_container {width: 450px; min-height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 60px 20px; margin: auto; /*margin-bottom: 60px;*/}
.auth_header_wrapper {z-index: 5;}
.auth_header_wrapper .auth_logo {width: 5.8rem;}
.auth_header {display: flex; justify-content: space-between; align-items: center;}
.auth_header .mypage_suggest {padding: 8px 16px; width: fit-content; border-radius: 6px; background-color: var(--main_c); color: #fff; font-size: 0.95rem; font-weight: 500;}
.auth_header .auth_title {font-size: clamp(18px, 6vw, 24px); font-weight: 700; margin-right: 20px; word-break: keep-all; line-height: 2rem;}
.auth_header .toggle_btn {position: relative; display: flex; /*width: clamp(180px, 100%, 250px);*/ width: fit-content; min-width: 180px; height: 40px; align-items: center; font-size: 0.9rem; font-weight: 600; border-radius: 24px; overflow: hidden; background-color: #f5f5f5; gap: 1rem; padding: 1rem;}
.toggle_btn .login_type {flex: 1; z-index: 2; height: 100%; display: flex; align-items: center; justify-content: center; color: #999; white-space: nowrap;}
.toggle_btn .login_type.on {color: #222;}
.toggle_btn .login_type.login_ind {margin-right: 5px;}
/* .toggle_btn .login_type.login_biz {margin-left: 5px;} */
.toggle_btn .toggle_slider {position: absolute; top: 4px; left: 5px; width: 48%; height: 76%; background-color: #ffffff; box-shadow: rgba(0, 0, 0, 0.03) 0px 0px 0px 0.5px, rgba(0, 0, 0, 0.1) 0px 1px 2px; border-radius: 24px; /*transition: transform 0.4s ease-in-out;*/ z-index: 1; transform: translateX(0);}
.auth_container .auth_body {min-height: 300px;}
.auth_body .top_mar {margin-top: 30px;}
.auth_body .sub_mar {margin-top: 24px;}
.auth_body .sm_mar {margin-top: 12px;}
.auth_body .auth_sub_title h3 {font-size: 1rem; font-weight: 700;}
.auth_body .auth_social {position: relative;}
.auth_social .btn_moresns {width: 100%; margin-top: 8px; padding: 8px; border-radius: 6px; border: 1px solid #E1E1E1; background-color: #fff; color: #999; font-size: 13px; font-weight: 500;}
.auth_social .btn_moresns:hover, .auth_social .btn_moresns.clicked {background-color: #f6f6f6; color: #393939;}
.auth_social .auth_list {display: flex; flex-direction: column; width: 100%; gap: 6px; font-size: 13px;}
.auth_social .auth_list.al_flip {position: absolute; top: 95px; left: 0; background-color: #fff; overflow: hidden; z-index: 10; max-height: 0;}
.auth_social .auth_list.al_flip.show {max-height: 500px;}
.auth_body .auth_item {border: 1px solid #eee; text-align: center; border-radius: 6px; overflow: hidden; font-size: 0.9rem; transition: background-color 0.2s ease-out;}
.auth_body .auth_item:hover {background-color: #f2f2f2}
.auth_body .auth_item a {display: block; width: 100%; height: 100%; padding: 10px; background-color: #FFF;}
.auth_body .auth_item img {width: 30px; height: auto;}
.auth_body .auth_item span {font-size: 0.9rem;}
.auth_body .auth_item.btn_kakao {padding: 8px; background-color: #f9e000;}
.easy_login .auth_item>a {display: flex; align-items: center; justify-content: center;}
.easy_login .auth_item>a img {width: 18px;}
.easy_login .auth_item>a span {min-width: 100px; text-align: left; margin-left: 10px;}
.auth_body .btn_sns_list {display: flex; width: 100%; gap: 1rem;}
.auth_body .btn_sns {flex: 1; padding: 1rem;}
.auth_body .btn_sns a {aspect-ratio: 1/1; background-size: cover; background-repeat: no-repeat; background-position: center;}
.auth_body .auth_divider {display: flex; justify-content: center; align-items: center; font-size: 12px; font-weight: 700; color: #ccc;}
.auth_body .auth_divider hr {flex: 2;}
.auth_body .auth_divider span {flex: 1; text-align: center;}
.auth_body .auth_sub_title {margin-bottom: 10px;}
.input_group {display: flex; flex-direction: column; margin-bottom: 18px; align-items: flex-start;}
.input_group .input_label {display: flex; width: 100%; justify-content: space-between; align-items: baseline; margin-bottom: 6px;}
.input_group .input_label label {color: #999; font-size: 0.85rem; font-weight: 500;}
.input_group .input_label a:hover {color: #393939;}
.input_group .input_field_wrapper {width: 100%;}
.input_group .input_field {position: relative; display: flex; width: 100%; gap: 10px;}
.input_group .input_field input {width: 100%; background-color: #f3f3f3; padding: 8px 10px; height: 40px; border: 1px solid #f3f3f3; border-radius: 5px; font-size: 0.9rem; transition: border-color 0.3s, background-color 0.3s, color 0.3s;}
.input_group .input_field input::placeholder {color: #999; font-size: 0.9rem;}
.input_group .input_field input:disabled {background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));}
.input_group .input_hint {padding: 6px 4px; font-size: 13px; font-weight: 600; color: #f32222;}
.input_field input:hover {border-color: rgba(153, 153, 153, 0.3);}
.input_field input:focus {border-color: var(--main_c);}
.btn_submit {width: 100%; padding: 10px; border-radius: 5px; color: #ffffff; background-color: var(--main_c); opacity: 1; cursor: pointer;}
.btn_submit:disabled {opacity: 0.4; cursor: not-allowed;}
.auth_container .auth_btn_list {display: flex; justify-content: space-evenly;}
.auth_btn_list .auth_btn_item button {color: #999; font-size: 0.9rem;}
.auth_btn_list .auth_btn_item button:hover {color: #424242; text-decoration: 1px solid underline;}
/* 회원가입 네비게이션 */
.join_step {position: relative; display: flex; justify-content: center; align-items: center;}
.join_step ol {position: relative; display: flex; justify-content: space-between; width: clamp(140px, 40vw, 200px);}
.join_step ol li {position: relative; width: 2rem; height: 2rem; line-height: 2rem; text-align: center; border-radius: 150px; background-color: var(--main_c_light); font-size: 0.9rem; font-weight: 700; color: #fff; z-index: 1;}
.join_step ol::before {position: absolute; content: ""; top: 50%; width: 100%; height: 1px; background-color: rgba(0, 0, 0, 0.1); z-index: 0;}
.join_step ol li.sel_act {border: 1px solid rgba(0, 0, 0, 0.1); background-color: var(--main_c);}
/* 회원가입 2단계 */
.auth_body input[type="checkbox"] {display: none; position: relative;}
.chk_all, .chk_each {position: relative; padding-left: 1.4rem; font-weight: 600; color: #333; cursor: pointer;}
.chk_label::before {font-family: "RemixIcon"; content: "\EB7D"; position: absolute; top: 50%; transform: translateY(-50%); left: 0; color: #777; font-size: 1.1rem; font-weight: 500; display: inline-block; transition: none;}
.auth_body input:checked + .chk_label::before {content: "\EB81"; color: var(--main_c);}
.auth_agree_all .agree_desc {color: #777; font-size: 0.9rem; margin-left: 17px;}
.auth_agree_list .chk_each {font-size: 0.9rem;}
.auth_agree_list .agree_list_item {display: flex; justify-content: space-between;}
.view_agree {font-size: 12px; text-decoration: underline; color: #999999; text-underline-offset: 2px;}
.chk_each .input_required::after {content: "*"; color: var(--txt_emp); margin-left: 5px;}
.auth_body .auth_guide {text-align: center;}
.auth_guide .find_auth {color: #999999; font-size: 13px; margin-inline: 8px; transition: color 0.25s;}
.auth_guide .btn_next {display: flex; width: 100%; justify-content: center; padding: 10px; margin-block: 6px; background-color: #f5f5f5; border-radius: 5px; font-size: 0.9rem;}
.auth_guide .btn_next:hover {color: var(--main_c);}
.auth_guide .sug_auth {display: flex; justify-content: center; align-items: center;}
.auth_guide .btn_follow {color: var(--main_c); font-size: 0.95rem; font-weight: 700; margin-left: 5px; text-decoration: 1px solid underline; text-underline-offset: 2px;}
.auth_guide .btn_follow:hover {color: #424242;}
.auth_wrapper .auth_banner {flex: 0 0 clamp(450px, 40vw, 1150px); background: url('/puligo_demo/img/auth_banner_1.png') center / cover no-repeat;}
.auth_wrapper .auth_banner.join_banner {background-image: url('/puligo_demo/img/auth_banner_2.png');}
/* 회원가입 3단계 */
.input_field .auth_btn {position: absolute; top: 50%; transform: translateY(-50%); right: 8px; font-size: 0.9rem; padding: 4px 12px; border-radius: 5px; box-shadow: 0 0 5px rgba(153, 153, 153, 0.2); background-color: #FFF; line-height: 1.5; transition: all 0.1s ease-out}
.input_field .auth_btn:hover:not(.auth_timer):not(.auth_done) {color: var(--main_c);}
.auth_btn.auth_timer {border: none; box-shadow: none; color: var(--txt_emp); font-weight: 600; white-space: nowrap; align-self: center;}
.auth_btn.auth_done {border: none; box-shadow: none; color: var(--success); font-weight: 500; white-space: nowrap; align-self: center;}
.input_timeout {width: 100%; text-align: center; color: var(--txt_emp); font-weight: 600;}
/*id찾기*/
.find_auth .input_group {margin-top: 1.5rem;}
/* .find_auth .input_group .input_field {align-items: center;} */
.find_auth .input_group .label_tit {color: #999; font-size: 0.95rem; font-weight: 500; margin-bottom: 4px;}
.find_auth .input_row {width: 100%; margin-bottom: 8px;}
.find_auth .input_row .input_item button {min-width: 100px; font-size: 0.85rem; font-weight: 500; border-radius: 5px; color: #999; border: 1px solid #ccc; white-space: nowrap;}
.find_auth .input_row .input_item button:hover {color: var(--main_c); border-color: var(--main_c);}
.find_auth .button_row {width: 100%; margin-top: 10px;}
.find_auth .button_row .single_submit {width: 100%;padding: 8px; background-color: var(--main_c); border-radius: 6px; color: #FFF; font-size: 0.9rem;}
.find_auth #userId {padding: 8px 1rem; background-color: #F1F1F1; border-radius: 5px;}
.find_auth #userId::placeholder {color: #999; font-size: 0.9rem;}
.find_auth .find_auth_rslt .input_item {padding-block: 20px; display: flex; align-items: center; gap: 1rem;}
/*pw찾기*/
.form-group {margin: 0 !important;}


@media (min-width: 1280px) {
	.auth_header_wrapper {position: fixed; top: 20px; left: 25px;}
}
@media (max-width: 1280px) {
	/*auth*/
	.auth_wrapper .auth_banner {display: none;}
	.auth_wrapper .auth_content {overflow: unset;}
	.auth_header_wrapper {height: 50px; display: flex; align-items: center; padding: 0 20px;}
	.auth_header_wrapper .auth_logo {width: 5rem;}
	.auth_area {top: 50px;}
	.auth_content .auth_container {padding: 20px 20px 60px;}
	/*shop/list_re*/
	.shop_top_swiper .sec_title {padding-left: 1rem;}
	/*shop/match*/
	.rec_list .rec_course {font-size: 18px;}
	.bottom_textbox .go_rec span, .bottom_textbox .go_rec .btn_go {font-size: 18px;}
}

@media (max-width: 600px) {
	/*auth*/
	.auth_content .auth_container {width: 100%;}
	.auth_content .auth_container {justify-content: flex-start;}
}

