@charset "utf-8";

/* 로그인 */
.wrap--login {display: flex; justify-content: center; align-items: center; padding: 50px 0;}
.auth-logo {margin-bottom: 30px; padding: 0 20px;}
.auth-text {margin-bottom: 48px; padding: 0 20px;}
.auth-text .auth-title {font-size: 24px; font-weight: 700; line-height: 1.3; color: #222; margin-bottom: 16px;}
.auth-text .auth-desc {font-size: 14px; font-weight: 500; line-height: 1.3; color: #666;}

.auth-form .form-group:not(:last-child) {margin-bottom: 32px;}
.auth-form--login .form-group:not(:last-child) {margin-bottom: 12px;}

.auth-links {display: flex; justify-content: center; margin-top: 30px;}
.auth-links a {position: relative; font-size: 14px; font-weight: 600; line-height: 1.3; color: #6B6B6B; text-decoration: none; padding: 0 12px;}
.auth-links a:hover {text-decoration: underline; text-underline-offset: 3px;}
.auth-links a:after {content: '|'; color: #DADADA; position: absolute; right: -2px; top: 50%; transform: translateY(-50%);}
.auth-links a:last-child:after {display: none;}

/* 회원가입 */
.auth form {display: flex; flex-direction: column; min-height: calc(100dvh - 80px);}
.auth-form .form-content {flex: 1;}
.auth-form .input-wrap {position: relative;}
.auth-form .input-wrap:not(:first-child) {margin-top: 8px;}
.auth-form .label {display: block; font-size: 14px; font-weight: 600; line-height: 1.3; margin-bottom: 10px; color: #333;}
.auth-form .label .required {color: #F75640;}
.auth-form .input {padding-right: 90px;}
.auth-form--signup .input::placeholder {color: #999;}

.auth-form .btn-small {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); z-index: 5;}
.auth-form .error-msg {display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.28; color: #F2564B; letter-spacing: -0.28px; margin-top: 8px;}
.auth-form .error-msg .icon-error {display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; background: #F2564B; border-radius: 50%; flex-shrink: 0;}
.auth-form .error-msg .error-text {padding-top: 3px;}
.auth-form .btn-toggle-pw {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); background: none; border: 0; width: 24px; height: 24px; cursor: pointer; z-index: 5;}
.auth-form .btn-toggle-pw.is-active svg {opacity: 0.5;}

.auth .btn-area {position: sticky; bottom: 0; background: #fff; padding-top: 20px; padding-bottom: 20px; z-index: 10;}

/* 본인인증 */
.auth-content {display: flex; flex-direction: column; min-height: calc(100dvh - 80px);}
.auth-body {flex: 1; display: flex; flex-direction: column; justify-content: center;}

/* 디지털 안전 서약 */
.auth-pledge .auth-body {display: block;}
.document {display: flex; flex-direction: column; gap: 45px;}
.document p {font-size: 16px; line-height: 1.5; letter-spacing: -0.32px; color: #1B1C1E;}
.document-chapter {font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: -0.36px; color: #1B1C1E; margin-bottom: -25px;}
.document-intro {font-weight: 600;}
.document-sections {display: flex; flex-direction: column; gap: 16px;}
.document-section .document-title {display: block; font-weight: 600; margin-bottom: 8px;}
.document-section .document-desc:not(:last-child) {margin-bottom: 10px;}
.document-notice {font-weight: 700;}
.document-list {display: flex; flex-direction: column; gap: 5px;}
.document-list li {font-size: 16px; line-height: 1.5; letter-spacing: -0.32px; color: #1B1C1E;}
.document-list li .num {display: inline-block;  width: 22px;  font-weight: 600;}
.document-sublist {margin: 10px 0;} 