/* RLCNF Social Auth Lock — 소셜 로그인 중복 진입 방어 처리중 표시 (design-system.md §3.5.13.1)
 * social-auth-lock.js가 lock 시 부여하는 상태 클래스의 시각 스펙. 토큰 전용.
 *
 * 중앙 스피너 금지: 신 애플앱 네이티브 중앙 로딩 스피너와 충돌하므로 화면 중앙 비우고 버튼 영역
 * in-button 스피너만 사용. nav-loader(§3.5.13)와 달리 풀뷰포트 오버레이/카드 없음.
 *
 * 스피너 시각 스펙(1.15em / border 2px / border-right transparent)은 §3.5.7 Spinner raw(banner.css·
 * auth.css 동일 출처). keyframe은 자체 정의 — nav-loader.css는 신 앱에서 미로드라 rl-nav-spin 의존 불가.
 */

/* 잠금 중 비활성 소셜 버튼 — 클릭 차단 + 흐리게(진행 버튼만 강조). */
.social_link.is-auth-pending {
    pointer-events: none;
    opacity: 0.55;
}

/* 진행 중 버튼 — 흐리게 해제 + in-button 스피너 + 라벨 "처리 중"(JS swap). */
.social_link.is-auth-active {
    opacity: 1;
    cursor: progress;
}
/* 스피너와 라벨 동시 노출 → 아이콘은 숨겨 군더더기 제거. */
.social_link.is-auth-active .rl-btn-social__icon,
.social_link.is-auth-active .ico {
    display: none;
}
.social_link.is-auth-active[aria-busy="true"]::before {
    content: "";
    flex: 0 0 auto;
    width: 1.15em;   /* §3.5.7 Spinner raw — banner.css/auth.css 동일 출처 */
    height: 1.15em;  /* §3.5.7 Spinner raw */
    margin-right: var(--rl-sp-2);
    border: 2px solid currentColor;  /* §3.5.7 Spinner raw */
    border-right-color: transparent;
    border-radius: var(--rl-r-full);
    animation: rl-social-spin 0.7s linear infinite;
}
@keyframes rl-social-spin {
    to { transform: rotate(360deg); }
}

/* watchdog 타임아웃 후 재시도 안내(JS 삽입). */
.rl-social-auth-msg {
    margin-top: var(--rl-sp-3);
    color: var(--rl-text-2);
    font-size: var(--rl-fs-body-sm);
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .social_link.is-auth-active[aria-busy="true"]::before {
        animation: none;
    }
}
