@charset "UTF-8";

/* ============================================================
   상단 GNB 드롭다운 2열 - 상단 라운드 제거
   ============================================================ */

.gnb-bar .menu > li {
    position: relative !important;
}

.gnb-bar .inner .menu > li > ul.depth2,
.gnb-bar .inner-lg .menu > li > ul.depth2 {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-content: center !important;
    align-items: center !important;
    gap: 6px 8px !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    padding: 15px 10px !important;
    margin: 0 !important;
    background: #fff !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.12) !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 0 4px 4px !important;
    box-sizing: border-box !important;
    min-height: 90px !important;
}

/* 우측 메뉴는 드롭다운을 우측 정렬 */
.gnb-bar .menu > li:nth-last-child(-n+3) > ul.depth2 {
    left: auto !important;
    right: 0 !important;
}

.gnb-bar .menu > li:hover > ul.depth2 {
    display: flex !important;
}

.gnb-bar .menu > li > ul.depth2 > li {
    width: calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
    flex: 0 0 calc(50% - 4px) !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.gnb-bar .menu > li > ul.depth2 > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 30px !important;
    padding: 0 6px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    color: #555 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 3px !important;
    transition: all 0.15s ease !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.gnb-bar .menu > li > ul.depth2 > li > a:hover {
    background: #f5f5f5 !important;
    color: #000 !important;
}

.gnb-bar .menu > li > ul.depth2 > li > a.on {
    background: #e8e8e8 !important;
    color: #000 !important;
    font-weight: bold !important;
}

.gnb-bar .menu > li > ul.depth2 > li > a > span {
    display: inline !important;
}


/* ============================================================
   좌측 사이드바 2열
   ============================================================ */

.bn-area .snb-wrap ul.depth2 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bn-area .snb-wrap ul.depth2 > li {
    width: calc(50% - 2px) !important;
    max-width: calc(50% - 2px) !important;
    flex: 0 0 calc(50% - 2px) !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.bn-area .snb-wrap ul.depth2 > li > a {
    display: block !important;
    padding: 6px 4px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}


/* ============================================================
   lnb-bar도 동일 적용
   ============================================================ */

.lnb-bar ul.depth2 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    width: 100% !important;
}

.lnb-bar ul.depth2 > li {
    width: calc(50% - 2px) !important;
    flex: 0 0 calc(50% - 2px) !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.lnb-bar ul.depth2 > li > a {
    display: block !important;
    padding: 6px 4px !important;
    font-size: 13px !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}


/* ============================================================
   모바일 메뉴 2열 - 7글자까지 2열 지원
   ============================================================ */

/* 1차 메뉴 - 박스 스타일 유지 */
.mside-gnb ul {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.mside-gnb > ul > li {
    width: calc(50% - 4px) !important;
    box-sizing: border-box !important;
    float: none !important;
}

.mside-gnb > ul > li > a {
    display: block !important;
    padding: 12px 8px !important;
    background: #F9F9F9 !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: bold !important;
    color: #333 !important;
}

/* 2차 메뉴 - 공간 최적화 */
.mside-gnb ul.depth2 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2px 6px !important;                   /* 10px → 6px */
    width: 100% !important;
    margin-top: 8px !important;
    padding: 0 !important;
}

/* 기본: 2열 레이아웃 (7글자 이하) */
.mside-gnb ul.depth2 li {
    width: calc(50% - 3px) !important;         /* 5px → 3px */
    box-sizing: border-box !important;
    float: none !important;
    position: relative !important;
    border: none !important;
    background: transparent !important;
}

/* 8글자 이상은 해당 항목만 1열 */
.mside-gnb ul.depth2 li.full-width {
    width: 100% !important;
}

.mside-gnb ul.depth2 a {
    display: block !important;
    padding: 5px 0 5px 4px !important;         /* 좌측 8px → 4px */
    font-size: 12px !important;                /* 13px → 12px */
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: left !important;
    color: #555 !important;
    transition: color 0.15s ease !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;            /* 한 줄 유지 */
    overflow: hidden !important;               /* 넘치는 텍스트 숨김 */
    text-overflow: ellipsis !important;        /* ... 표시 */
}

.mside-gnb ul.depth2 a:hover {
    color: #000 !important;
    background: transparent !important;
}


/* ============================================================
   반응형
   ============================================================ */

@media (max-width: 1200px) {
    .gnb-bar .menu > li > ul.depth2 {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
    }
}

@media (max-width: 1024px) {
    .gnb-bar .menu > li > ul.depth2 {
        width: 240px !important;
        min-width: 240px !important;
        max-width: 240px !important;
    }
}

@media (max-width: 768px) {
    .gnb-bar .menu > li > ul.depth2 {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
    
    .gnb-bar .menu > li > ul.depth2 > li {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
    
    .bn-area .snb-wrap ul.depth2 > li,
    .lnb-bar ul.depth2 > li {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}
/* 새글 배지 스타일 */
.mside-gnb .new-badge {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 4px;
    background: #ff3b3b;
    color: #fff;
    font-size: 9px;
    font-weight: bold;
    border-radius: 2px;
    vertical-align: middle;
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}