@charset "utf-8";

#shGnb{display:flex;justify-content:space-between;align-items:center;position:relative;width:100%;height:100px;padding:0 40px;transition:all .2s}
@media (min-width: 1650px) {
    #shGnb{padding:0 100px}
}
@media (max-width: 1449px) {
    #shGnb{padding:0 20px}
}
#shGnb.on{border-bottom:1px solid #e1e1e1}
/* .sh_lnb_bg{display:none;position:absolute;top:0;left:0;width:100%;height:270px;background:#fff} */

/* 로고 */
#shGnb .sh_logo{position:relative;z-index:20}
#shGnb .sh_logo a{display:flex;align-items:center;text-decoration:none}
#shGnb .sh_logo .logo-img{height:40px;margin-right:10px}
#shGnb .sh_logo .logo-svg{height:55px;width:auto;filter:brightness(0) saturate(100%) invert(100%)}
#shGnb .sh_logo .logo-svg.main-color{filter:brightness(0) saturate(100%) invert(73%) sepia(88%) saturate(1598%) hue-rotate(166deg) brightness(101%) contrast(101%)}
#shGnb .sh_logo .logo-text{font-size:var(--font-size-24);font-weight:700;color:#fff;font-family:var(--main-font)}
#shGnb.on .sh_logo .logo-text{color:#222}
#shGnb.on .sh_logo .logo-svg{filter:brightness(0) saturate(100%) invert(0%)}

/* 대분류  */
#shGnb .sh_nav{margin:0 auto}
#shGnb .sh_nav > ul > li{float:left;position:relative;line-height:100px;transition:all .4s ease-in-out}
#shGnb .sh_nav > ul > li > a{position:relative;z-index:20;display:block;padding:0 30px;font-size:var(--font-size-base);font-weight:700;color:#fff;transition:all .2s;font-family:var(--main-font)}
#shGnb .sh_nav > ul > li > a.form_link{display:flex;align-items:center}
#shGnb .sh_nav > ul > li:hover > a{color:var(--secondary)!important}
/* #shGnb .sh_nav > ul > li:hover .sh_lnb_s:before{width:calc(100% + 40px);opacity:1} */
/* #shGnb .sh_nav > ul > li:hover .sh_lnb_s a{color:#777} */
/* #shGnb .sh_nav > ul > li:hover .sh_lnb_s a:hover{color:var(--primary)} */
#shGnb.on .sh_nav > ul > li > a{padding:0 50px;color:#222}
#shGnb.on #pfBtn span:before{background:#222}
#shGnb.on #pfBtn span:after{background:#222}
#shGnb.on #pfBtn span{background:#222}

/* 소분류 - 더 이상 사용하지 않음 */
/* #shGnb .sh_lnb_s{display:none;position:absolute;left:50%;transform:translateX(-50%);min-width:100%;width:max-content;padding-top:25px;min-height:145px} */
/* #shGnb .sh_lnb_s:before{opacity:0;display:block;content:"";position:absolute;left:50%;top:-1px;z-index:-1;transform:translateX(-50%);width:0;height:1px;background:var(--primary);transition:all .2s} */
/* #shGnb .sh_lnb_s li a{display:block;font-size:15px;font-weight:500;line-height:1.8;text-align:center;color:#555;transition:all .2s} */
/* #shGnb .sh_lnb_s li a:hover{color:var(--primary)} */

/* 메뉴버튼 */
#pfBtn{display:flex;position:absolute;top:0;right:100px;z-index:101;height:100px;cursor:pointer;transition:all .2s}
#pfBtn span{display:block;position:relative;width:24px;height:2px;margin:auto;background:#fff;transition:all .2s}
#pfBtn span:before, #pfBtn span:after{display:block;content:"";position:absolute;top:0;width:100%;height:2px;background:#fff;transition:all .2s}
#pfBtn span:before {top:-6px}
#pfBtn span:after{top:6px}
#pfBtn.active{position:fixed}
#pfBtn.active span{border:none;background:transparent}
#pfBtn.active span:before{top:0;transform:rotate(45deg);background:#fff}
#pfBtn.active span:after{top:0;transform:rotate(-45deg);background:#fff}

/* 메뉴오픈 */
#pfWrap{display:none;position:fixed;top:0;left:-100%;z-index:100;width:100%;height:100%;background-color:rgba(0,0,0,.6);backdrop-filter:blur(10px)}
#pfWrap .bg_wrap{position:absolute;z-index:1;width:30%;margin:0 auto}
#pfWrap .bg{position:absolute;left:0;top:0;width:0;max-height:980px;height:100vh;margin-left:0;background:url(./bg.jpg) left no-repeat;background-size:cover}
.pf_cate{position:absolute;right:0;top:0;width:0;height:100%;background-color:var(--primary)}
.pf_cate > ul{position:absolute;top:50%;transform:translateY(-50%);width:100%;padding:0 15%}
.pf_cate > ul > li{opacity:0;margin-left:100px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.25)}
.pf_cate > ul > li+li{margin-top:40px}
.pf_cate > ul > li > a{display:block;width:max-content;margin-bottom:20px;font-size:var(--font-size-3xl);color:#fff;font-family:var(--main-font)}
.pf_cate > ul > li:nth-child(1){animation-delay:.4s}
.pf_cate > ul > li:nth-child(2){animation-delay:.5s}
.pf_cate > ul > li:nth-child(3){animation-delay:.6s}
.pf_cate > ul > li:nth-child(4){animation-delay:.7s}
.pf_cate > ul > li:nth-child(5){animation-delay:.8s}
.pf_cate > ul > li ul{display:flex;flex-wrap:wrap}
.pf_cate > ul > li ul li+li{margin-left:25px}
.pf_cate > ul > li ul a{opacity:0.6;font-size:var(--font-size-lg);font-weight:500;color:#fff;transition:all .2s}
.pf_cate > ul > li ul a:hover{opacity:1}

/* 모바일 햄버거 메뉴 버튼 */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    flex-direction: column;
    justify-content: center;
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: relative;
    z-index: 21;
}

.mobile-menu-toggle span {
    width: 25px;
    height: 3px;
    background: #fff;
    margin: 3px 0;
    transition: all 0.3s ease;
    transform-origin: center;
}

#shGnb.on .mobile-menu-toggle span {
    background: #222;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* 모바일 메뉴 오버레이 */
.mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 18;
}

/* ========================================
   📱 HEADER MOBILE RESPONSIVE
   ======================================== */

/* 반응형 디자인 - 768px 이하 */
@media (max-width: 768px) {
    /* 헤더 기본 구조 조정 */
    #shGnb {
        padding: 0 20px;
        height: 70px;
    }

    /* 로고 스타일 */
    #shGnb .sh_logo {
        z-index: 22;
    }

    #shGnb .sh_logo .logo-svg {
        height: 35px;
        width: auto;
    }

    /* 햄버거 메뉴 버튼 표시 */
    .mobile-menu-toggle {
        display: flex;
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* 데스크톱 메뉴 버튼 숨기기 */
    #pfBtn {
        display: none;
    }

    /* 모바일 네비게이션 메뉴 */
    #shGnb .sh_nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: #fff;
        transition: right 0.3s ease;
        z-index: 20;
        margin: 0;
    }

    /* 모바일 메뉴에서 로고 숨기기 */
    #shGnb .sh_nav.active ~ .sh_logo {
        display: none;
    }

    #shGnb .sh_nav.active {
        right: 0;
    }

    #shGnb .sh_nav > ul {
        display: flex;
        flex-direction: column;
        padding: 80px 0 20px 0;
        margin: 0;
        height: 100%;
        overflow-y: auto;
    }

    /* 모바일 메뉴 항목 스타일 */
    #shGnb .sh_nav > ul > li {
        float: none;
        width: 100%;
        line-height: 1;
        border-bottom: 1px solid #f0f0f0;
        margin: 0;
    }

    #shGnb .sh_nav > ul > li > a {
        display: block;
        width: 100%;
        padding: 20px 30px;
        color: #333 !important;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.6;
        text-align: left;
        background: none;
        transition: all 0.2s;
    }

    #shGnb .sh_nav > ul > li > a:hover,
    #shGnb .sh_nav > ul > li > a:active {
        background: #f8f9fa;
        color: var(--primary) !important;
        padding-left: 30px;
    }

    /* 상담 신청 버튼 특별 스타일 */
    #shGnb .sh_nav > ul > li:last-child {
        border-bottom: none;
        margin-top: auto;
        padding: 20px;
    }

    #shGnb .sh_nav > ul > li > a.form_link {
        background: var(--primary);
        color: #fff !important;
        border-radius: 8px;
        text-align: center;
        padding: 15px 25px;
        font-weight: 700;
    }

    #shGnb .sh_nav > ul > li > a.form_link:hover {
        background: var(--primary-dark);
        color: #fff !important;
        padding-left: 25px;
    }

    /* 모바일 메뉴 오버레이 수정 */
    .mobile-menu-overlay {
        display: none;
    }

    .mobile-menu-overlay.active {
        display: block;
    }

    /* 모바일 메뉴 열린 상태에서 body 스크롤 방지 */
    body.mobile-menu-open {
        overflow: hidden;
    }
}

/* 작은 모바일 화면 (480px 이하) */
@media (max-width: 480px) {
    /* 헤더 패딩 축소 */
    #shGnb {
        padding: 0 15px;
        height: 60px;
    }

    /* 로고 크기 추가 조정 */
    #shGnb .sh_logo .logo-svg {
        height: 30px;
        width: auto;
    }

    /* 햄버거 메뉴 위치 조정 */
    .mobile-menu-toggle {
        right: 15px;
    }

    /* 모바일 메뉴 전체 화면 */
    #shGnb .sh_nav {
        width: 100%;
    }

    /* 메뉴 항목 패딩 조정 */
    #shGnb .sh_nav > ul > li > a {
        padding: 18px 25px;
        font-size: 16px;
    }

    #shGnb .sh_nav > ul > li > a:hover,
    #shGnb .sh_nav > ul > li > a:active {
        padding-left: 25px;
    }
}

/* 태블릿 크기 (769px ~ 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
    /* 헤더 패딩 조정 */
    #shGnb {
        padding: 0 40px;
    }

    /* 네비게이션 메뉴 간격 조정 */
    #shGnb .sh_nav > ul > li > a {
        padding: 0 20px;
        font-size: var(--font-size-15);
    }

    /* 메뉴 버튼 위치 조정 */
    #pfBtn {
        right: 40px;
    }

    /* 로고 크기 조정 */
    #shGnb .sh_logo .logo-svg {
        height: 40px;
    }
}