/*
============================================================
PATCH 71 / HEADER UI STATIC CSS / AI HANDOFF
============================================================
기존 header.php에 매 페이지 inline으로 반복되던 공통 CSS를 외부 캐시파일로 이동.
- 모바일 기본 hidden state
- 프로필 이미지
- 로그인 플랫폼 배지
디자인/수치 변경 없음.
============================================================
*/

/*
    외부 CSS 캐시 또는 업로드 누락이 있어도
    박스가 반드시 보이도록 하는 최소 필수 스타일입니다.
*/



/*
    모바일 전용 구성요소의 기본 상태.
    모바일 CSS가 실제로 로드될 때만 다시 표시된다.
*/
.mobile-topbar,
.mobile-drawer-backdrop,
.mobile-drawer,
.mobile-bottom-nav{
    display:none;
}

.header-profile-user{display:flex!important;align-items:center!important;gap:6px!important;}
/* PATCH235: PC NAV 프로필 사진 식별성 강화 - 40x40 고정 */
.header-profile-img{width:40px!important;height:40px!important;min-width:40px!important;flex:0 0 40px!important;border-radius:50%!important;object-fit:cover!important;object-position:center center!important;border:1px solid rgba(255,255,255,.68)!important;background:#fff!important;}
.mobile-drawer-profile-name{display:flex!important;align-items:center!important;gap:8px!important;}
.mobile-drawer-profile-img{width:30px!important;height:30px!important;border-radius:50%!important;object-fit:cover!important;border:1px solid #dbeafe!important;background:#fff!important;}

/* v15.34 로그인 플랫폼 배지 */
.login-provider-badge{
    width:18px!important;height:18px!important;min-width:18px!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    border-radius:5px!important;overflow:hidden!important;vertical-align:middle!important;
    box-shadow:0 0 0 1px rgba(255,255,255,.20)!important;
}
.login-provider-badge svg{display:block!important;width:100%!important;height:100%!important;}
.login-provider-instagram{background:linear-gradient(135deg,#FFD600 0%,#FF0169 48%,#7638FA 100%)!important;}
.mobile-drawer-profile-name .login-provider-badge{
    width:22px!important;height:22px!important;min-width:22px!important;border-radius:6px!important;
    box-shadow:0 0 0 1px rgba(15,23,42,.08)!important;
}

/* =========================================================
   PATCH121 / 회원 알림 종
   - PC NAV: 이름 바로 우측 흰색 종
   - 모바일 drawer: 프로필 이름 우측 알림 종
   ========================================================= */
.header-notification-bell{
    position:relative!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    padding:0!important;
    margin:0 0 0 1px!important;
    border:0!important;
    border-radius:8px!important;
    background:transparent!important;
    color:#fff!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-shadow:none!important;
    text-decoration:none!important;
}
.header-notification-bell:hover{background:rgba(255,255,255,.13)!important;color:#fff!important;}
/* PATCH233: PC NAV 사용자메뉴 알림 종 아이콘만 소폭 확대 (버튼/간격 유지) */
.header-notification-bell svg{width:23px!important;height:23px!important;display:block!important;}
.header-notification-bell b,
.mobile-profile-notification-bell b{
    position:absolute!important;
    right:-5px!important;
    top:-5px!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    border:2px solid #fff!important;
    border-radius:999px!important;
    background:#ef4444!important;
    color:#fff!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:13px!important;
    text-align:center!important;
    box-sizing:border-box!important;
}
.mobile-profile-notification-bell{
    position:relative!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0!important;
    margin-left:2px!important;
    border:0!important;
    border-radius:9px!important;
    background:#eef4ff!important;
    color:#173b82!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
}
.mobile-profile-notification-bell svg{width:20px!important;height:20px!important;display:block!important;}
.header-profile-user{overflow:visible!important;max-width:none!important;}
.header-profile-user .header-user-display-name{display:inline-block;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
.mobile-drawer-profile-name .header-user-display-name{max-width:190px;}

/* =========================================================
   PATCH236 / PC NAV MAIN MENU TYPOGRAPHY + HOVER EFFECT
   - 주메뉴 6개만 적용
   - 기존 1.5x hover 확대 제거
   - 굵은 타이포 + 미세 Y 이동 + 중앙 확장 언더라인 + soft glow
   ========================================================= */
.desktop-nav > ul > li{
    transform:none!important;
    font-weight:inherit!important;
}
.desktop-nav > ul > li:hover{
    transform:none!important;
    font-weight:inherit!important;
}
.desktop-nav > ul > li > a{
    position:relative!important;
    isolation:isolate;
    font-family:"Pretendard Variable","Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
    line-height:1.2!important;
    text-shadow:0 1px 2px rgba(5,18,48,.18);
    transition:color .22s ease,transform .22s cubic-bezier(.2,.75,.25,1),text-shadow .22s ease!important;
}
.desktop-nav > ul > li > a::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:50%;
    bottom:4px;
    width:74%;
    height:16px;
    border-radius:999px;
    background:radial-gradient(ellipse at center,rgba(147,197,253,.18) 0%,rgba(96,165,250,.08) 45%,rgba(37,99,235,0) 76%);
    opacity:0;
    transform:translateX(-50%) scaleX(.58);
    transition:opacity .22s ease,transform .28s cubic-bezier(.2,.75,.25,1);
    pointer-events:none;
}
.desktop-nav > ul > li > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-7px;
    width:0;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(125,211,252,.25) 0%,#dbeafe 35%,#ffffff 50%,#dbeafe 65%,rgba(125,211,252,.25) 100%);
    box-shadow:0 0 9px rgba(191,219,254,.8),0 0 18px rgba(96,165,250,.38);
    transform:translateX(-50%);
    opacity:0;
    transition:width .28s cubic-bezier(.2,.75,.25,1),opacity .18s ease;
    pointer-events:none;
}
@media (hover:hover) and (pointer:fine){
    .desktop-nav > ul > li > a:hover{
        color:#fff!important;
        transform:translateY(-2px)!important;
        text-shadow:0 0 11px rgba(219,234,254,.72),0 2px 7px rgba(5,18,48,.25)!important;
        background:transparent!important;
    }
    .desktop-nav > ul > li > a:hover::before{
        opacity:1;
        transform:translateX(-50%) scaleX(1);
    }
    .desktop-nav > ul > li > a:hover::after{
        width:72%;
        opacity:1;
    }
}
/* 2단/초소형 PC NAV에서는 언더라인이 다음 행과 부딪히지 않도록 안쪽으로 배치 */
@media screen and (max-width:1180px){
    .desktop-nav > ul > li > a::after{bottom:1px;height:2px;}
    .desktop-nav > ul > li > a::before{bottom:2px;height:13px;}
    @media (hover:hover) and (pointer:fine){
        .desktop-nav > ul > li > a:hover{transform:translateY(-1px)!important;}
        .desktop-nav > ul > li > a:hover::after{width:58%;}
    }
}

/* =========================================================
   PATCH237 / PC NAV USER MENU GLASS BUTTONS
   - 사용자 프로필 / 알림 / 관리자 / 마이페이지 / 로그아웃 디자인 통일
   - 버튼 크기/업무 기능 유지, hover 시 glass highlight + soft glow
   ========================================================= */
@media screen and (min-width:769px){
    .desktop-nav .user-menu{
        font-family:"Pretendard Variable","Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important;
    }
    .desktop-nav .user-name-box.header-profile-user{
        position:relative!important;
        padding:5px 8px 5px 5px!important;
        border:1px solid rgba(255,255,255,.20)!important;
        border-radius:999px!important;
        background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055))!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 4px 14px rgba(5,18,48,.10)!important;
        backdrop-filter:blur(8px)!important;
        -webkit-backdrop-filter:blur(8px)!important;
    }
    .desktop-nav .header-profile-img{
        border:2px solid rgba(255,255,255,.82)!important;
        box-shadow:0 0 0 2px rgba(96,165,250,.10),0 3px 10px rgba(5,18,48,.18)!important;
    }
    .desktop-nav .header-user-display-name{
        font-weight:800!important;
        letter-spacing:-.02em!important;
        text-shadow:0 1px 3px rgba(5,18,48,.22)!important;
    }
    .desktop-nav .header-notification-bell{
        border:1px solid rgba(255,255,255,.18)!important;
        background:rgba(255,255,255,.07)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
        transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease!important;
    }
    .desktop-nav .user-menu > div:not(.user-name-box) > a{
        position:relative!important;
        overflow:hidden!important;
        border-color:rgba(255,255,255,.28)!important;
        background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
        color:#fff!important;
        font-family:"Pretendard Variable","Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif!important;
        font-weight:800!important;
        letter-spacing:-.025em!important;
        text-shadow:0 1px 3px rgba(5,18,48,.22)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 3px 10px rgba(5,18,48,.08)!important;
        backdrop-filter:blur(7px)!important;
        -webkit-backdrop-filter:blur(7px)!important;
        transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease!important;
    }
    .desktop-nav .user-menu > div:not(.user-name-box) > a::before{
        content:"";
        position:absolute;
        top:-45%;
        left:-55%;
        width:38%;
        height:190%;
        background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
        transform:skewX(-18deg);
        opacity:0;
        pointer-events:none;
        transition:left .42s ease,opacity .18s ease;
    }
    @media (hover:hover) and (pointer:fine){
        .desktop-nav .user-menu > div:not(.user-name-box) > a:hover{
            color:#fff!important;
            border-color:rgba(219,234,254,.68)!important;
            background:linear-gradient(180deg,rgba(255,255,255,.19),rgba(147,197,253,.10))!important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 13px rgba(147,197,253,.22),0 6px 16px rgba(5,18,48,.14)!important;
            transform:translateY(-1px)!important;
        }
        .desktop-nav .user-menu > div:not(.user-name-box) > a:hover::before{
            left:120%;
            opacity:1;
        }
        .desktop-nav .header-notification-bell:hover{
            color:#fff!important;
            border-color:rgba(219,234,254,.72)!important;
            background:rgba(255,255,255,.17)!important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 13px rgba(147,197,253,.25)!important;
        }
        .desktop-nav .header-notification-bell:hover svg{
            filter:drop-shadow(0 0 5px rgba(219,234,254,.72));
        }
    }
}
