
/* ========== 공통 유틸리티 ========== */
.login_warp .visually-hidden { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px; }
.login_warp .stack-8 { display:grid; gap:8px; }
.login_warp .stack-12 { display:grid; gap:12px; }
.login_warp .stack-16 { display:grid; gap:16px; }
.login_warp .stack-20 { display:grid; gap:20px; }
.login_warp .center { display:grid; place-items:center; }
.login_warp a { color:inherit; text-decoration:none; }


/* ========== 공통 컴포넌트 ========== */
/* 버튼 */
.login_warp .btn { height:48px; border-radius:8px; display:grid; place-items:center; font-size:18px; font-weight:600; line-height:1.4; border:1px solid transparent; cursor:pointer; user-select:none; }
.login_warp .btn--muted { background:var(--btn-gray); color:var(--hint); border-color:var(--btn-gray); }
.login_warp .btn--primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.login_warp .btn:disabled { opacity:.6; cursor:not-allowed; }


/* 인풋 */
.login_warp .field { display:grid; gap:8px; }
.login_warp .label { font-size:14px; font-weight:500; color:var(--subtext); }
.login_warp .input { width:100%; height:48px; padding:12px 14px; border-radius:8px; border:1px solid var(--border); background:#fff; font-size:16px; line-height:1.4; color:var(--text); }
.login_warp .input::placeholder { color:var(--hint); }
.login_warp .input:focus { outline:2px solid rgba(22,43,72,.15); border-color:var(--primary); }
.login_warp .help-links { display:flex; align-items:center; justify-content:center; gap:8px; color:var(--muted); font-size:14px; }
.login_warp .help-links__divider { width:1px; height:10px; background:var(--divider); border-radius:5px; }


/* ========== 로그인 전용 레이아웃/블록 ========== */
.login_warp .auth {  display:grid; align-content:start; justify-items:center; grid-template-rows:auto auto 1fr; }
.login_warp .auth__brand { padding-top:48px; }
.login_warp .auth__logo { width:160px; height:160px; }
.login_warp .auth__form { width:100%; margin-top:30px }
.login_warp .auth__actions { display:grid; gap:12px; }

.login_warp .auth__cta {
    width: 100%;
    position: sticky;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 30%);

}
.login_warp .auth__cta .container {
    position: relative; margin-top:150px;
}

/* 보조 안내 배지 */
.login_warp .helper {
    position: absolute;
    left: 50%;
    bottom: 52px;
    transform: translateX(-50%);
    display: inline-flex;              /* 한 줄 유지 */
    align-items: center;
    white-space: nowrap;              /* 줄바꿈 방지 */
    padding: 7px 16px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    color: #6B7A90;
    font-size: 13px;
    font-weight: 600;
}


.login_warp .helper::after { content:""; position:absolute; left:50%; transform:translateX(-50%) rotate(45deg); bottom:-6px; width:8px; height:8px; background:#fff; border-right:1px solid #e5e7eb; border-bottom:1px solid #e5e7eb; box-shadow:2px 2px 6px rgba(0,0,0,.06); }
