@charset "utf-8";

/* ───────── 인증 페이지 (로그인 / 회원가입 공용) ───────── */
.auth_page {padding: 24px 0 60px;}

.auth_page .brand { text-align:center; margin-bottom:28px; }
.auth_page .brand h2 {font-size:26px;font-weight:900;letter-spacing:1px;/* background:linear-gradient(135deg,#7c5cff,#4834d4); */background: var(--color-main);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.auth_page .brand p {margin-top:6px;font-size: 15px;color:#888;}

/* form */
.auth_form .field { margin-bottom:14px; }
.auth_form .field label {display:block;font-size: 14px;font-weight:700;color:#444;margin-bottom:7px;}
.auth_form .field label .req { color:#ff3d7f; }
.auth_form .field label .opt { color:#999; font-weight:500; }
.auth_form .field input {width:100%;height:48px;padding:0 14px;border:1px solid #e5e2f5;border-radius:10px;font-size: 16px;background:#fff;transition:border-color 0.15s;}
.auth_form .field input:focus {border-color: var(--color-main);outline:none;box-shadow: 0px 4px 10px 0px rgba(0,30,124,0.12);}

.auth_form .input_btn { display:flex; gap:6px; }
.auth_form .input_btn input { flex:1; }
.auth_form .input_btn .btn_sub { flex:0 0 110px; height:48px; background:#1e1a4a; color:#fff; border-radius:10px; font-size:13px; font-weight:700; transition:background 0.15s; }
.auth_form .input_btn .btn_sub:hover { background:#2a2570; }
.auth_form .input_btn .btn_sub:disabled { background:#1e8c47; color:#fff; cursor:default; }

/* 필드 메시지 (중복확인 결과 등) */
.auth_form .field_msg { margin-top:6px; font-size:12px; line-height:1.4; padding-left:2px; min-height:14px; }
.auth_form .field_msg.ok  { color:#1e8c47; }
.auth_form .field_msg.err { color:#ff3d7f; }

/* check */
.auth_form .check { display:inline-flex; align-items:center; gap:8px; cursor:pointer; padding:6px 0; }
.auth_form .check input[type=checkbox] { width:18px; height:18px; accent-color:#4834d4; }
.auth_form .check span { font-size:13px; color:#444; }

/* primary button */
.auth_form .btn_primary {display:block;width:100%;height:52px;background: var(--color-main);color:#fff;border-radius:12px;font-size:15px;font-weight:800;letter-spacing:0.5px;margin-top:18px;box-shadow: 0px 4px 10px 0px rgba(0,30,124,0.25);}
.auth_form .btn_primary:hover { transform:translateY(-1px); }

/* links */
.auth_form .links { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:18px; }
.auth_form .links a { font-size:13px; color:#555; }
.auth_form .links a:hover { color:#4834d4; }
.auth_form .links .bar { display:inline-block; width:1px; height:11px; background:#ddd; }

/* divider */
.auth_form .divider { position:relative; text-align:center; margin:28px 0 18px; }
.auth_form .divider::before { content:''; position:absolute; top:50%; left:0; right:0; height:1px; background:#eee; }
.auth_form .divider span {position:relative;padding:0 14px;background: #F9F9FE;font-size:12px;color:#aaa;}

/* SNS */
.auth_form .sns { display:flex; flex-direction:column; gap:8px; }
.auth_form .sns_btn { width:100%; height:48px; border-radius:10px; font-size:14px; font-weight:700; text-align:center; }
.auth_form .sns_kakao { background:#fee500; color:#3c1e1e; }
.auth_form .sns_naver { background:#03c75a; color:#fff; }
.auth_form .sns_apple { background:#000; color:#fff; }

/* register-only */
.auth_form .agree { margin-top:20px; padding:16px; background:#f8f7ff; border-radius:12px; }
.auth_form .agree .check_all { padding-bottom:12px; margin-bottom:10px; border-bottom:1px solid #ece9ff; }
.auth_form .agree .check_all span { font-size:14px; }
.auth_form .agree ul li { display:flex; align-items:center; justify-content:space-between; padding:5px 0; }
.auth_form .agree ul li .view { font-size:12px; color:#999; text-decoration:underline; }

.auth_form .login_link { text-align:center; margin-top:20px; font-size:13px; color:#666; }
.auth_form .login_link a {color: #3c4562;font-weight:700;margin-left:4px;}

/* a 태그 버튼도 동일하게 정렬 */
.auth_form .sns a.sns_btn { display:flex; align-items:center; justify-content:center; text-decoration:none; }
.auth_form a.btn_primary, .auth_form .btn_primary.as_link { display:flex; align-items:center; justify-content:center; text-decoration:none; }

/* SNS 가입 — 헤더 프로바이더 강조 */
.sns_register_page .brand .prov_kakao { color:#f6c700; }
.sns_register_page .brand .prov_naver { color:#03c75a; }
.sns_register_page .brand .prov_apple { color:#1a1a1a; }

/* SNS 제공 정보 안내 박스 */
.sns_provided_box { margin-bottom:14px; padding:11px 14px; background:#f4f2ff; border-radius:10px; }
.sns_provided_box .prov_label { display:flex; align-items:center; gap:8px; font-size:12.5px; color:#4834d4; font-weight:700; }
.sns_provided_box .dot { display:inline-block; width:6px; height:6px; background:#4834d4; border-radius:50%; }

/* SNS 제공 칩 + 잠긴 입력 */
.sns_register_page .field label .sns_tag { display:inline-block; margin-left:6px; padding:2px 8px; background:#f0eeff; color:#4834d4; border-radius:10px; font-size:10.5px; font-weight:700; vertical-align:middle; }
.sns_register_page .field input.locked { background:#f8f7ff; color:#444; cursor:not-allowed; }
