/* ══════════════════════════════════════════════════════
 *  account/forgot-password.php 전용
 *  /css/account-forgot.css   (auth.css 다음 로드)
 *
 *  ※ 이 페이지는 auth 레이아웃(설정 셸 미사용)이라
 *    account.css(셸)를 로드하지 않는다.
 *    .pw-strength 는 password-change 의 동명 클래스와 값이 다르므로
 *    반드시 페이지별 시트로 분리 유지할 것.
 * ══════════════════════════════════════════════════════ */

/* 스텝 인디케이터 */
.pw-steps { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:32px; }
.pw-dot { width:10px; height:10px; border-radius:50%; background:var(--ink-10); transition:all .3s var(--ease); }
.pw-dot.on { background:var(--terracotta); width:28px; border-radius:5px; }
.pw-dot.done { background:var(--sage); }

/* 스텝 컨테이너 */
.pw-step { display:none; animation:fadeUp .4s var(--ease); }
.pw-step.active { display:block; }

.pw-icon { font-size:var(--fs-48); text-align:center; margin-bottom:16px; }
.pw-h2 { font-size:var(--fs-20); text-align:center; color:var(--ink); margin-bottom:6px; }
.pw-desc { font-size:var(--fs-13); color:var(--ink-60); text-align:center; line-height:1.7; margin-bottom:24px; }

/* 이메일 확인 뱃지 */
.email-confirm { background:var(--terra-lt); border-radius:14px; padding:16px; text-align:center; margin-bottom:20px; }
.email-confirm .addr { font-weight:600; color:var(--terracotta); font-size:var(--fs-14); }

/* 코드 입력 */
.code-inputs { display:flex; gap:10px; justify-content:center; margin-bottom:24px; }
.code-input {
  width:52px; height:60px; border-radius:14px;
  border:1.5px solid rgba(26,20,16,.12); background:var(--ink-10);
  text-align:center; font-size:var(--fs-24); font-weight:700; color:var(--ink);
  outline:none; transition:all .2s;
}
.code-input:focus { border-color:var(--terracotta); background:white; box-shadow:0 0 0 3px rgba(196,105,74,.1); }

.resend-row { text-align:center; margin-bottom:20px; }
.resend-btn { font-size:var(--fs-12); color:var(--terracotta); font-weight:600; cursor:pointer; border:none; background:none; }
.resend-btn:hover { text-decoration:underline; }
.resend-timer { font-size:var(--fs-12); color:var(--ink-hint); }

/* 비밀번호 강도 */
.pw-strength { margin-top:8px; margin-bottom:16px; }
.pws-bar { height:4px; background:var(--ink-10); border-radius:2px; overflow:hidden; margin-bottom:6px; }
.pws-fill { height:100%; border-radius:2px; transition:all .3s; width:0; }
.pws-label { font-size:var(--fs-11); color:var(--ink-hint); }

/* 체크리스트 */
.pw-checks { display:flex; flex-direction:column; gap:6px; margin-bottom:20px; }
.pw-chk { font-size:var(--fs-12); color:var(--ink-hint); display:flex; align-items:center; gap:6px; }
.pw-chk.pass { color:var(--sage-dk); }
.pw-chk-icon { width:16px; height:16px; border-radius:50%; border:1.5px solid currentColor; display:flex; align-items:center; justify-content:center; font-size:var(--fs-9); flex-shrink:0; }
.pw-chk.pass .pw-chk-icon { background:var(--sage); border-color:var(--sage); color:white; }

/* 완료 화면 */
.success-card { background:linear-gradient(135deg,var(--ink),#2D1F15); border-radius:20px; padding:40px 28px; text-align:center; margin-bottom:24px; }
.success-emoji { font-size:var(--fs-48); margin-bottom:14px; }
.success-h { font-family:'DM Serif Display',serif; font-size:var(--fs-22); color:white; margin-bottom:8px; }
.success-sub { font-size:var(--fs-13); color:rgba(255,255,255,.5); line-height:1.6; }

@media(max-width:640px){
  .code-input { width:44px; height:52px; font-size:var(--fs-20); }
}
