/* ============================================================
   SWTMAP — member.css (회원 기능 화면)
   변경 이력
     v1.0 (2026-11-02) 최초 작성 — 로그인 버튼, 내 정보 패널, 약관 동의 창, 관심 코스 버튼, 알림
   색상 변수는 atlas.css의 :root / html[data-theme="dark"] 값을 그대로 사용
   ============================================================ */

/* 헤더 버튼 (atlas-theme-toggle 모양을 그대로 쓰고 아바타만 추가) */
.swt-member-btn { font-size: 18px; }
.swt-avatar {
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--atlas-track); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700; line-height: 1;
}

/* 내 정보 / 로그인 패널 */
.swt-panel {
    position: fixed; z-index: 2100;
    width: min(300px, calc(100vw - 16px));
    max-height: 70vh; overflow-y: auto;
    background: var(--atlas-modal-bg); color: var(--atlas-text);
    border-radius: 14px; padding: 16px;
    box-shadow: 0 10px 32px rgba(0,0,0,.35);
    display: none;
    font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.swt-panel.open { display: block; }
.swt-panel-title { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.swt-panel-sub { font-size: 12px; color: var(--atlas-text-mid); margin-bottom: 8px; }
.swt-panel-text { font-size: 13px; line-height: 1.55; color: var(--atlas-text-mid); margin: 6px 0 12px; }
.swt-panel-note { font-size: 11px; color: var(--atlas-text-mid); margin: 6px 0 0; }

.swt-fav-list { list-style: none; margin: 4px 0 0; padding: 0; }
.swt-fav-list li + li { border-top: 1px solid var(--atlas-sand); }
.swt-fav-list button {
    width: 100%; text-align: left; background: none; border: none; cursor: pointer;
    padding: 9px 4px; font: inherit; font-size: 13px; color: var(--atlas-text);
    display: flex; gap: 8px; align-items: baseline;
}
.swt-fav-list button:hover { background: rgba(0,0,0,.05); }
html[data-theme="dark"] .swt-fav-list button:hover { background: rgba(255,255,255,.06); }
.swt-fav-region { font-size: 11px; color: var(--atlas-text-mid); flex-shrink: 0; }

.swt-panel-actions {
    display: flex; justify-content: space-between; align-items: center;
    margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--atlas-sand);
}
.swt-panel-actions button {
    background: none; border: none; cursor: pointer; font: inherit; font-size: 12px;
    color: var(--atlas-text); padding: 4px 2px;
}
.swt-panel-actions .swt-link-danger { color: var(--atlas-text-mid); text-decoration: underline; }
.swt-panel-legal { margin-top: 10px; font-size: 11px; color: var(--atlas-text-mid); text-align: center; }
.swt-panel-legal a { color: var(--atlas-text-mid); }

/* 카카오 로그인 버튼 (카카오 디자인 가이드: 노란 배경 #FEE500 + 검정 글씨) */
.swt-kakao-btn {
    width: 100%; height: 44px; border: none; border-radius: 10px; cursor: pointer;
    background: #FEE500; color: rgba(0,0,0,.85);
    font: inherit; font-size: 14px; font-weight: 600;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.swt-kakao-btn:hover { filter: brightness(.97); }
.swt-kakao-icon { width: 18px; height: 18px; }

/* 코스 상세의 관심 코스 버튼 — 색만이 아니라 ♡/♥ 기호와 글자로도 상태 구분 */
.swt-fav-btn {
    margin: 6px 0 2px; padding: 5px 12px; border-radius: 16px; cursor: pointer;
    border: 1.5px solid var(--atlas-sand); background: transparent;
    font: inherit; font-size: 12px; font-weight: 600; color: var(--atlas-text);
}
.swt-fav-btn:hover { border-color: var(--atlas-track); }
.swt-fav-btn.on { background: var(--atlas-track); border-color: var(--atlas-track); color: #fff; }

/* 안내·약관 동의 창 */
.swt-overlay {
    position: fixed; inset: 0; z-index: 99990;
    background: rgba(0,0,0,.5);
    display: none; align-items: center; justify-content: center; padding: 16px;
}
.swt-overlay.open { display: flex; }
.swt-dialog {
    width: min(380px, 100%);
    background: var(--atlas-modal-bg); color: var(--atlas-text);
    border-radius: 16px; padding: 22px 20px 16px;
    box-shadow: 0 16px 48px rgba(0,0,0,.4);
    font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.swt-dialog-title { font-size: 17px; font-weight: 700; margin-bottom: 4px; }
.swt-check { display: flex; align-items: center; gap: 8px; font-size: 13px; padding: 7px 0; cursor: pointer; }
.swt-check input { width: 17px; height: 17px; accent-color: var(--atlas-track); flex-shrink: 0; }
.swt-check a { margin-left: auto; font-size: 12px; color: var(--atlas-text-mid); }
.swt-check-group { border-top: 1px solid var(--atlas-sand); margin: 4px 0 14px; padding-top: 4px; }
.swt-primary-btn {
    width: 100%; height: 44px; border: none; border-radius: 10px; cursor: pointer;
    background: var(--atlas-track); color: #fff; font: inherit; font-size: 14px; font-weight: 600;
}
.swt-primary-btn:disabled { opacity: .45; cursor: not-allowed; }
.swt-text-btn {
    display: block; width: 100%; margin-top: 8px; padding: 8px; background: none; border: none; cursor: pointer;
    font: inherit; font-size: 12px; color: var(--atlas-text-mid);
}

/* 알림 */
.swt-toast {
    position: fixed; left: 50%; bottom: 28px; z-index: 99995;
    transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
    background: rgba(28,28,28,.92); color: #fff;
    padding: 10px 18px; border-radius: 20px; font-size: 13px;
    font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif;
    transition: opacity .25s, transform .25s;
    max-width: calc(100vw - 32px); text-align: center;
}
.swt-toast.show { opacity: 1; transform: translate(-50%, 0); }
