/* AnatoBase — 로그인/회원가입 팝업(공용) 스타일. global/auth-modal.js 와 짝.
   학습하기(content/index.html)와 제품 페이지(pages/*.html)가 같은 파일을 쓴다 — 복붙 금지.
   (2026-09-13 content/css/style.css 에서 이관. .pwc-*·.purchase-modal-card·.mypage-modal-card 는 이 overlay 위에 얹는 학습하기 전용이라 style.css 에 남김) */
.auth-modal-overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 10000;
    align-items: center;
    justify-content: center;
}
.auth-modal-overlay.active {
    display: flex;
}
.auth-modal-card {
    background: #fff;
    border-radius: 16px;
    width: 90%;
    max-width: 420px;
    padding: 40px 36px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    max-height: 90vh;
    overflow-y: auto;
    box-sizing: border-box;
}
.auth-modal-card h1 { font-size: 1.5rem; font-weight: 700; text-align: center; margin: 0 0 4px; color: #1a1a1a; }
.am-subtitle { text-align: center; color: #888; font-size: 0.9375rem; margin-bottom: 24px; }
.am-social { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.am-social .social-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 11px; border-radius: 8px; font-size: 0.9375rem; font-weight: 500; border: 1px solid #ddd; cursor: pointer; transition: box-shadow 0.2s, transform 0.2s; font-family: inherit; }
.am-social .social-btn:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.08); transform: translateY(-1px); }
.am-social .social-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.am-social .social-google { background: #fff; color: #333; }
.am-social .social-kakao { background: #FEE500; color: #191919; border-color: #FEE500; }
.am-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #aaa; font-size: 0.8125rem; }
.am-divider::before, .am-divider::after { content: ''; flex: 1; height: 1px; background: #e5e5e5; }
.am-field { margin-bottom: 14px; }
.am-field label { display: block; font-size: 0.8125rem; font-weight: 600; color: #333; margin-bottom: 6px; }
/* ⚠ 16px 미만이면 아이폰 사파리가 입력칸을 누를 때 화면을 확대하고 안 돌아온다(2026-09-26 실제 지적) — 줄이지 말 것 */
.am-field input { width: 100%; padding: 11px 14px; border: 1.5px solid #ddd; border-radius: 8px; font-size: 16px; color: #1a1a1a; background: #fff; box-sizing: border-box; font-family: inherit; transition: border-color 0.2s; }
.am-field input::placeholder { color: #bbb; }
.am-field input:focus { outline: none; border-color: #bb5d5d; box-shadow: 0 0 0 3px rgba(187,93,93,0.1); }
.am-submit { width: 100%; padding: 13px; font-size: 1rem; font-weight: 600; border: none; border-radius: 8px; cursor: pointer; background: #bb5d5d; color: #fff; font-family: inherit; transition: background 0.2s; }
.am-submit:hover { background: #a34e4e; }
/* 가입 단계는 버튼 바로 앞이 「광고·혜택 정보 문자 수신」 동의 줄(여백 없음)이라 버튼이 붙었다(2026-09-26 실제 지적) — 다른 단계의 입력칸 아래 여백(14px)보다 조금 넉넉히 */
#amStepSignup .am-submit { margin-top: 20px; }
.am-email-display { padding: 10px 14px; border-radius: 8px; background: #f8f7f6; border: 1px solid #eee; font-size: 0.9375rem; color: #333; margin-bottom: 14px; }
.am-forgot { text-align: center; font-size: 0.8125rem; color: #aaa; margin-top: 12px; }
.am-forgot a { color: #bb5d5d; text-decoration: none; }
.am-forgot a:hover { text-decoration: underline; }
.am-back { display: flex; align-items: center; gap: 4px; margin-top: 16px; background: none; border: none; cursor: pointer; font-size: 0.8125rem; color: #aaa; font-family: inherit; }
.am-back:hover { color: #333; }
/* 🔑 비밀번호 변경 모달(app.js openPasswordChangeModal) — 로그인 모달과 같은 부품(.am-*) 재사용 */
.auth-modal-close {
    position: absolute;
    top: 12px; right: 14px;
    background: none;
    border: none;
    color: #aaa;
    font-size: 22px;
    cursor: pointer;
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
    transition: background 0.2s;
}
.auth-modal-close:hover { background: rgba(0,0,0,0.05); }
/* 🎉 가입 완료 칸(showStep 'done') — 2026-09-26 요청됨("완료 환영합니다가 없어 보인다"). 브랜드 색 배지 + 체크가 그려지며 나타남 + 다음 할 일 두 개 */
.am-done { text-align: center; padding: 6px 0 2px; }
.am-done-badge { width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 50%; background: #f7eeee; color: #bb5d5d;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 8px #fbf6f6; animation: amDonePop .45s cubic-bezier(.2,.9,.3,1.25) both; }
.am-done-tick { stroke-dasharray: 40; stroke-dashoffset: 40; animation: amDoneTick .42s .28s ease-out forwards; }
.am-done-title { font-size: 1.375rem; font-weight: 700; color: #1a1a1a; margin: 0 0 8px; letter-spacing: -0.01em; }
.am-done-sub { font-size: 0.875rem; color: #6b6562; margin: 0 0 18px; word-break: keep-all; line-height: 1.6; }
.am-done-sub span { display: block; color: #1a1a1a; font-weight: 600; overflow-wrap: anywhere; margin-bottom: 2px; }   /* 이메일은 제 줄 — 문장 중간에서 「.co / m」처럼 끊기지 않게 */
.am-done-note { font-size: 0.8125rem; color: #8a8580; background: #f8f6f5; border-radius: 10px; padding: 12px 14px; margin: 0 0 18px; line-height: 1.65; word-break: keep-all; }
.am-done-cta { display: block; text-decoration: none; box-sizing: border-box; text-align: center; }
.am-done-close { display: block; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid #e5e0dd; border-radius: 8px; background: #fff;
    color: #444; font-size: 0.9375rem; cursor: pointer; font-family: inherit; }
.am-done-close:hover { background: #faf8f7; }
@keyframes amDonePop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
@keyframes amDoneTick { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .am-done-badge { animation: none; } .am-done-tick { animation: none; stroke-dashoffset: 0; } }
