.auth-wrapper { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; padding: 30px 24px; }
.auth__logo { text-align: center; margin-bottom: 30px; }
.auth__title { font-size: 24px; font-weight: 700; margin-bottom: 40px; color: var(--text-main); }
.auth__divider { display: flex; align-items: center; margin: 30px 0; color: var(--text-sub); font-size: 13px; }
.auth__divider::before, .auth__divider::after { content: ''; flex: 1; border-bottom: 1px solid var(--border-color); }
.auth__divider span { padding: 0 16px; }

/* Social Buttons */
.social-group { display: flex; gap: 24px; justify-content: center; }
.social-btn-wrap { position: relative; }
.social-btn { display: flex; justify-content: center; align-items: center; width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 2px 8px rgba(0,0,0,0.05); transition: transform 0.2s; }
.social-btn:active { transform: scale(0.95); }
.social-btn--kakao { background-color: #FEE500; color: #000; }
.social-btn--naver { background-color: #03C75A; color: #FFF; }

.recent-badge { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); background-color: var(--error-color); color: white; font-size: 12px;padding: 4px 10px; border-radius: 100px; white-space: nowrap; animation: float 1.5s ease-in-out infinite; }
.recent-badge::after { content: ''; position: absolute; bottom: -4px; left: 50%; transform: translateX(-50%); border-width: 4px 4px 0; border-style: solid; border-color: var(--error-color) transparent transparent transparent; }
@keyframes float { 0% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-3px); } 100% { transform: translateX(-50%) translateY(0); } }

.error-box { background-color: var(--error-light); border: 1px solid var(--error-color); color: var(--error-color); padding: 12px; border-radius: 12px; font-size: 13px; text-align: center; margin-bottom: 24px; line-height: 1.5; }