/* 메가메뉴 기본 설정 */
.custom-sub-menu {
    position: fixed !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
    display: none; /* JS에서 강제로 즉시 숨김 처리함 */
    opacity: 0 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    border-top: 1px solid rgba(0,0,0,0.03) !important;
}

/* 나타날 때만 투명도 적용 */
.custom-sub-menu.menu-visible {
    opacity: 1 !important;
    transition: opacity 0.3s ease !important;
}

.custom-sub-menu ul, .custom-sub-menu li { 
    list-style: none !important; 
    margin: 0 !important; 
    padding: 0 !important; 
}
.custom-sub-menu > ul > li > a { display: none !important; }

.custom-sub-menu > ul {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 35px 0 !important;
}

/* --------------------------------------------------------
   대메뉴 팽창
   -------------------------------------------------------- */
#header-outer nav > ul > li > a {
    transition: padding 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.3s ease !important;
}
#header-outer.mega-menu-active nav > ul > li > a {
    padding-left: var(--smm-hover-pad) !important;
    padding-right: var(--smm-hover-pad) !important;
}

/* --------------------------------------------------------
   하위 메뉴 팽창
   -------------------------------------------------------- */
.custom-sub-menu > ul > li > ul > li > a {
    text-decoration: none !important;
    display: block !important;
    text-align: center !important;
    white-space: nowrap !important;
    
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: var(--smm-base-pad) !important;
    padding-right: var(--smm-base-pad) !important;
    
    /* 나타날 때의 팽창 속도 */
    transition: padding 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.25s ease !important;
}

#header-outer.mega-menu-active .custom-sub-menu > ul > li > ul > li > a {
    padding-left: var(--smm-hover-pad) !important;
    padding-right: var(--smm-hover-pad) !important;
}