/* ===== 헤더 auth 링크 ===== */
.auth-links {
  display: flex; align-items: center; gap: .45rem;
  font-size: .78rem;
}
.auth-links a { color: var(--navy); font-weight: 700; }
.auth-links a:hover { text-decoration: underline; }
.auth-links span { color: var(--sub); }
.auth-sep { color: var(--border) !important; }

/* ===== Auth 페이지 래퍼 ===== */
.auth-page-wrap {
  min-height: 60vh; display: flex;
  justify-content: center; padding: 3rem 1rem 4rem;
}
.auth-box {
  background: #fff; border: 1px solid var(--border);
  border-radius: 6px; padding: 2.5rem 2rem;
  width: 100%; max-width: 480px; align-self: flex-start;
}
.auth-logo {
  display: flex; flex-direction: column; align-items: center;
  margin-bottom: 2rem; gap: .5rem;
}
.auth-logo img { width: 64px; height: 64px; object-fit: contain; }
.auth-logo strong { font-size: 1rem; font-weight: 900; color: var(--navy); text-align: center; }

/* 탭 */
.auth-tabs { display: flex; border-bottom: 2px solid var(--navy); margin-bottom: 1.8rem; }
.auth-tab {
  flex: 1; padding: .65rem .3rem; text-align: center;
  font-size: .9rem; font-weight: 800; color: var(--sub);
  cursor: pointer; border-bottom: 3px solid transparent;
  margin-bottom: -2px; transition: color .15s; white-space: nowrap;
}
.auth-tab.active { color: var(--navy); border-color: var(--navy); }

/* 뷰 전환 */
.auth-view { display: none; }
.auth-view.active { display: block; }

/* 폼 공통 */
.auth-form { display: flex; flex-direction: column; gap: .85rem; }
.auth-field label {
  display: block; font-size: .85rem; font-weight: 800;
  color: var(--navy); margin-bottom: .3rem;
}
.auth-field input {
  width: 100%; padding: .65rem .9rem;
  border: 1px solid var(--border); border-radius: 4px;
  font-size: .95rem; color: #222; background: #fff;
}
.auth-field input:focus { outline: none; border-color: var(--navy); }
.auth-btn {
  margin-top: .3rem; padding: .75rem; width: 100%;
  background: var(--navy); color: #fff; border: none;
  border-radius: 4px; font-size: 1rem; font-weight: 800;
  cursor: pointer;
}
.auth-btn:hover { background: #0e2b58; }
.auth-btn.gold { background: var(--gold); }
.auth-btn.gold:hover { background: #b88a00; }
.auth-msg {
  font-size: .9rem; padding: .7rem 1rem; border-radius: 4px;
  text-align: center; display: none;
}
.auth-msg.show { display: block; }
.auth-msg.error { background: #fdf0f0; color: #c0392b; border: 1px solid #f5c6cb; }
.auth-msg.success { background: #eafaf1; color: #1e8449; border: 1px solid #a9dfbf; }
.auth-bottom {
  display: flex; justify-content: center; gap: 1rem;
  margin-top: 1.2rem; font-size: .85rem;
}
.auth-bottom a { color: var(--sub); }
.auth-bottom a:hover { color: var(--navy); text-decoration: underline; }
.auth-bottom .sep { color: var(--border); }

/* 이용약관 동의 */
.agree-box {
  border: 1px solid var(--border); border-radius: 4px;
  height: 180px; overflow-y: auto; padding: .9rem 1rem;
  font-size: .88rem; line-height: 1.8; color: #333;
  background: var(--bg); margin-bottom: .6rem;
}
.auth-agree {
  display: flex; align-items: flex-start; gap: .5rem;
  font-size: .9rem; line-height: 1.5; margin-bottom: .5rem;
}
.auth-agree input { margin-top: .2rem; accent-color: var(--navy); flex-shrink: 0; }
.auth-agree a { color: var(--navy); text-decoration: underline; }

/* 단계 표시 */
.step-bar {
  display: flex; align-items: center; justify-content: center;
  gap: 0; margin-bottom: 2rem;
}
.step-item {
  display: flex; flex-direction: column; align-items: center;
  gap: .3rem; font-size: .78rem; color: var(--sub); font-weight: 700;
}
.step-item span {
  width: 30px; height: 30px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .82rem; font-weight: 900;
  border: 2px solid var(--border); color: var(--sub);
}
.step-item.on span { background: var(--navy); color: #fff; border-color: var(--navy); }
.step-item.on { color: var(--navy); }
.step-line { width: 50px; height: 2px; background: var(--border); margin: 0 .3rem .9rem; }

/* 이용약관 본문 */
.terms-wrap { padding: 2rem 0 3rem; max-width: 860px; }
.terms-wrap h2 { font-size: 1.3rem; font-weight: 900; color: var(--navy); margin-bottom: 1.5rem; padding-bottom: .6rem; border-bottom: 2px solid var(--navy); }
.terms-article { margin-bottom: 1.8rem; }
.terms-article h3 { font-size: 1rem; font-weight: 900; color: var(--navy); margin-bottom: .6rem; }
.terms-article p, .terms-article li { font-size: .95rem; color: #333; line-height: 1.9; }
.terms-article ol, .terms-article ul { padding-left: 1.4rem; }
.terms-article li { margin-bottom: .3rem; list-style: decimal; }
.terms-date { font-size: .85rem; color: var(--sub); margin-top: 2rem; text-align: right; }

/* 푸터 이용약관 링크 */
.footer-policy { margin-bottom: .3rem; }
.footer-policy a { font-size: .82rem; color: rgba(255,255,255,.6); }
.footer-policy a:hover { color: #fff; text-decoration: underline; }

@media (max-width: 500px) {
  .auth-box { padding: 1.8rem 1.2rem; }
}
