/* 로그인 선택 위젯 — SSOT 1·11절. 다른 로그인 폼/공용 레이아웃과 분리한다. */
.auth-choice.login { inline-size: 100%; max-inline-size: var(--sonub-form-width); gap: var(--wa-space-l); margin-inline: auto; padding: clamp(1rem,3vw,2.25rem); border-block-start: 3px solid var(--sonub-accent); border-radius: var(--sonub-radius-panel); background: var(--sonub-surface); }
.auth-choice .auth-choice-heading { display: flex; align-items: center; gap: var(--wa-space-m); }
.auth-choice .auth-choice-heading h1 { min-inline-size: 0; margin: 0; padding: 0; overflow-wrap: anywhere; }
.auth-choice .login-buttons { display: grid; gap: var(--wa-space-m); }
.auth-choice .login-buttons wa-button::part(base) { min-block-size: 3.5rem; border-radius: var(--wa-border-radius-l); font-size: calc(1rem * var(--wa-font-size-scale,1)); line-height: 1.5; }
.auth-choice .login-buttons wa-button::part(label) { white-space: normal; padding-block: var(--wa-space-s); overflow-wrap: anywhere; }
.auth-choice .login-buttons i { font-size: calc(1.125rem * var(--wa-font-size-scale,1)); }
.auth-choice .login-buttons wa-button::part(start) { align-self: center; }
.auth-choice .login-buttons wa-button::part(label) { flex: 1; text-align: center; } /* 단추 글자는 가운데 — 링크 단추는 기본 정렬이 시작 쪽이라 혼자 왼쪽에 붙었다(2026-10-24 디자인 점검) */
/* 이미 있는 계정의 [아이디/비밀번호 로그인] — 세 버튼 아래 작은 링크(SSOT 1절 "로그인 선택") */
.auth-choice .auth-choice-password { margin: 0; text-align: center; font-size: calc(.9375rem * var(--wa-font-size-scale,1)); }
.auth-choice .auth-choice-password a { display: inline-flex; align-items: center; gap: var(--wa-space-xs); min-block-size: 2.75rem; padding-inline: var(--wa-space-s); color: var(--sonub-muted); text-decoration: underline; text-underline-offset: .2em; }
.auth-choice .auth-choice-password a:hover { color: var(--sonub-accent); }
.auth-choice .auth-choice-password a:focus-visible { outline: 2px solid var(--sonub-accent); outline-offset: 3px; border-radius: var(--wa-border-radius-m); }
.auth-choice .login-buttons wa-button:focus-within::part(base) { outline: 2px solid var(--sonub-accent); outline-offset: 3px; }
.auth-choice .form-errors { overflow-wrap: anywhere; }
.auth-choice .login-test button { min-block-size: 2.75rem; padding-inline: var(--wa-space-s); }
.auth-choice wa-dialog { --width: var(--sonub-form-width); }
.auth-choice wa-dialog::part(title) { font-size: calc(1.25rem * var(--wa-font-size-scale,1)); overflow-wrap: anywhere; }
.auth-choice wa-dialog::part(body) { font-size: calc(1rem * var(--wa-font-size-scale,1)); line-height: 1.75; }
.auth-choice wa-dialog wa-button::part(base) { min-block-size: 2.75rem; font-size: calc(1rem * var(--wa-font-size-scale,1)); }
@media (max-width: 599px) { .auth-choice.login { margin-block: var(--wa-space-m); } }

.auth-choice wa-dialog::part(close-button) { min-inline-size: 2.75rem; min-block-size: 2.75rem; }
.auth-choice wa-dialog::part(footer) { flex-wrap: wrap; gap: var(--wa-space-s); }
