/* ================================================
   프로필 메뉴 (로그인 메뉴)
   디자인 토큰 기반 + 다크모드 대응
   ================================================ */
@import url("./profile-avatar.css");

.login-menu-div {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ---- 트리거 (아바타 + chevron) ---- */
.login-menu {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px 2px 2px;
    border-radius: var(--radius-full);
    color: var(--text-main);
    background: transparent;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color var(--ease-default);
}

.login-menu:hover {
    background-color: var(--gray-50);
}

.login-menu.active {
    background-color: var(--gray-100);
}

.login-menu__avatar {
    width: 44px;
    height: 44px;
}

/* 사진 없는 사용자도 원을 또렷하게 채우도록 — 트리거 컨텍스트 한정 */
.login-menu__avatar.profile-avatar--fallback {
    background: var(--gray-200);
    border-color: transparent;
    color: var(--text-main);
}

.login-menu__avatar .profile-avatar__fallback {
    font-size: 16px;
    font-weight: 700;
}

.login-menu__icon {
    width: 14px;
    height: 14px;
    color: var(--text-sub);
    transition: transform var(--ease-default);
}

.login-menu.active .login-menu__icon {
    transform: rotate(180deg);
}

.login-menu__mode-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    box-sizing: border-box;
    padding: 0 16px;
    border-radius: var(--radius-full);
    border: 1px solid transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color var(--ease-default),
                border-color var(--ease-default),
                color var(--ease-default),
                box-shadow var(--ease-default);
}

.login-menu__mode-button--primary {
    background: var(--accent-partner);
    border-color: var(--accent-partner);
    color: #fff;
}

.login-menu__mode-button--primary:hover {
    background: #1D4ED8;
    border-color: #1D4ED8;
}

body.theme-dark .login-menu__mode-button--primary {
    background: #2563EB;
    border-color: #2563EB;
}

body.theme-dark .login-menu__mode-button--primary:hover {
    background: #1D4ED8;
    border-color: #1D4ED8;
}

.login-menu__mode-button--partner {
    background: var(--action-blue);
    border-color: var(--action-blue);
    color: #fff;
}

.login-menu__mode-button--partner:hover {
    background: var(--action-blue-hover);
    border-color: var(--action-blue-hover);
}

body.theme-dark .login-menu__mode-button--partner {
    background: var(--cta-blue-gradient);
    border-color: transparent;
    box-shadow: var(--shadow-glow);
}

body.theme-dark .login-menu__mode-button--partner:hover {
    box-shadow: var(--cta-hover-shadow);
    transform: var(--cta-hover-lift);
}

.login-menu__mode-button--pending {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

.login-menu__mode-button--pending:hover {
    background: #ffedd5;
    border-color: #fdba74;
}


/* ================================================
   드롭다운 패널
   ================================================ */
.login-menu-list {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 100;
    width: 260px;
    box-shadow: var(--shadow-dropdown);
    border-radius: var(--radius-xl);
    border: 1px solid var(--gray-200);
    background-color: #fff;
    display: none;
    flex-direction: column;
    padding: 0;
    list-style: none;
    overflow: hidden;
}

/* ---- 프로필 헤더 ---- */
.login-menu__header {
    display: block;
    padding: 16px 18px 12px;
    color: inherit;
    text-decoration: none;
}

.login-menu__mypage-link {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
    white-space: nowrap;
}

.login-menu__header-chevron {
    color: var(--text-muted);
    flex-shrink: 0;
}

.login-menu__profile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: inherit;
    padding: 0;
}

.login-menu__name {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-main);
    line-height: 1.3;
}

/* ---- 모드 전환 카드 ---- */
.login-menu__section {
    display: none;
    padding: 0 10px 8px;
}

.login-menu__mode-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-lg);
    background-color: var(--gray-50);
    border: 1px solid var(--gray-100);
    text-decoration: none;
    color: inherit;
    transition: background-color var(--ease-default),
                border-color var(--ease-default),
                box-shadow var(--ease-default);
}

.login-menu__mode-card:hover {
    background-color: var(--gray-100);
    border-color: var(--gray-200);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.login-menu__mode-icon {
    width: 18px;
    height: 18px;
    color: var(--text-sub);
    flex-shrink: 0;
}

.login-menu__mode-text {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-main);
}

.login-menu__mode-chevron {
    width: 16px;
    height: 16px;
    color: var(--text-desc);
    flex-shrink: 0;
    transition: transform var(--ease-default);
}

.login-menu__mode-card:hover .login-menu__mode-chevron {
    transform: translateX(2px);
    color: var(--text-sub);
}

.login-menu__mode-card--mobile {
    display: none;
}

/* ---- 구분선 ---- */
.login-menu__divider {
    height: 1px;
    background-color: var(--gray-100);
    margin: 0 14px;
}

/* ---- 메뉴 아이템 목록 ---- */
.login-menu__items {
    list-style: none;
    margin: 0;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.login-menu__items li {
    list-style: none;
}

.login-menu__item {
    display: block;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-sub);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background-color var(--ease-default),
                color var(--ease-default);
}

.login-menu__item:hover {
    background-color: var(--gray-50);
    color: var(--text-main);
}

/* ---- 그룹 구분선 (메뉴 아이템 내부) ---- */
.login-menu__group-divider {
    height: 1px;
    background-color: var(--gray-100);
    margin: 4px 4px;
    list-style: none;
}

/* ---- 로그아웃 푸터 ---- */
.login-menu__footer {
    padding: 6px 8px 8px;
}

.login-menu__logout {
    display: block;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-desc);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background-color var(--ease-default),
                color var(--ease-default);
}

.login-menu__logout:hover {
    background-color: var(--gray-50);
    color: var(--state-up);
}

@media (max-width: 768px) {
    .login-menu__mode-button {
        display: none;
    }

    .login-menu__section {
        display: block;
    }

    .login-menu__mode-card--mobile {
        display: flex;
    }
}


/* ================================================
   다크모드
   ================================================ */

/* ---- 트리거 ---- */
body.theme-dark .login-menu {
    color: var(--text-on-dark);
}

body.theme-dark .login-menu:hover {
    background: rgba(255,255,255,0.08);
}

body.theme-dark .login-menu.active {
    background: rgba(255,255,255,0.12);
}

body.theme-dark .login-menu__icon {
    color: rgba(255,255,255,0.72);
}

body.theme-dark .login-menu__avatar.profile-avatar--fallback {
    background: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.22);
    color: #fff;
}

/* ---- 드롭다운 패널 ---- */
body.theme-dark .login-menu-list {
    background: var(--surface-1);
    border-color: rgba(255,255,255,0.1);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 12px 48px rgba(0,0,0,0.6),
                inset 0 1px 0 rgba(255,255,255,0.06);
}

/* ---- 프로필 헤더 ---- */
body.theme-dark .login-menu__name {
    color: var(--text-on-dark);
}

body.theme-dark .login-menu__arrow {
    filter: invert(1);
}

/* ---- 모드 전환 카드 ---- */
body.theme-dark .login-menu__mode-card {
    background: rgba(59,130,246,0.1);
    border-color: rgba(59,130,246,0.2);
}

body.theme-dark .login-menu__mode-card:hover {
    background: rgba(59,130,246,0.16);
    border-color: rgba(59,130,246,0.3);
    box-shadow: 0 0 16px rgba(59,130,246,0.15);
}

body.theme-dark .login-menu__mode-icon {
    color: #93C5FD;
}

body.theme-dark .login-menu__mode-text {
    color: #DBEAFE;
}

body.theme-dark .login-menu__mode-chevron {
    color: #60A5FA;
}

body.theme-dark .login-menu__mode-card:hover .login-menu__mode-chevron {
    color: #93C5FD;
}

/* ---- 구분선 ---- */
body.theme-dark .login-menu__divider {
    background-color: rgba(255,255,255,0.07);
}

/* ---- 그룹 구분선 ---- */
body.theme-dark .login-menu__group-divider {
    background-color: rgba(255,255,255,0.07);
}

/* ---- 메뉴 아이템 ---- */
body.theme-dark .login-menu__item {
    color: #CBD5E1;
}

body.theme-dark .login-menu__item:hover {
    background-color: rgba(255,255,255,0.07);
    color: #FFFFFF;
}

/* ---- 로그아웃 ---- */
body.theme-dark .login-menu__logout {
    color: #94A3B8;
}

body.theme-dark .login-menu__logout:hover {
    background-color: rgba(244,63,94,0.1);
    color: #f87171;
}
