/**
 * dep2_skins/in_4 스킨 스타일
 * 이미지 바닥 오버레이 스타일 - top_WSA 기반
 *
 * ★ 핵심 구조:
 * - .sub2d_menu_area (전체 너비, 투명, overflow:hidden 안 씀)
 * - .contents-container.in4_bg_wrap (자연 너비 유지, ::before로 배경+블러)
 * - .in4_deco_r (inner 안에 absolute, left:100%로 우측 연장)
 * - .sub_top에서 overflow-x:hidden으로 가로 스크롤만 방지
 */

/* ========================================
   기본값
   ======================================== */
.sub2d_menu_area.in4_overlay {
    --dep2-bg-base-color: rgba(0, 0, 0, 1);
}

/* ========================================
   PC: 이미지 오버레이 모드
   ======================================== */
@media only all and (min-width:768px) {
    /* ★ subtop 전체: overflow-x만 hidden (셀렉트 박스 보존) */
    .sub_top.has-in4-overlay {
        overflow-x: hidden !important;
    }

    /* sub_top_select_area: 이미지 하단에 absolute */
    .sub1d_tit_area_new.has-in4-overlay .sub_top_select_area {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        z-index: 20;
    }

    /* 메뉴 전체 영역: 투명, overflow 없음 */
    .sub2d_menu_area.in4_overlay {
        width: 100% !important;
        float: left;
        position: relative;
        background-color: transparent !important;
    }
    .sub2d_menu_area.in4_overlay:before,
    .sub2d_menu_area.in4_overlay:after {
        display: none !important;
        content: none !important;
    }

    /* ★ inner 컨테이너: 자연 너비 유지 */
    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap {
        position: relative;
        overflow: visible !important;
        padding: 0 !important;
    }
    /* ::before = 블러 전용 레이어 (투명, backdrop-filter만) */
    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap::before {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: transparent !important;
        backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        -webkit-backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        z-index: 0 !important;
        pointer-events: none !important;
    }
    /* ::after = 배경색 레이어 (블러 위에 반투명 컬러) */
    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap::after {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: var(--dep2-bg-base-color, #000) !important;
        opacity: var(--dep2-bg-opacity, 1) !important;
        z-index: 0 !important;
        pointer-events: none !important;
    }

    /* ★ 우측 연장 데코 */
    .sub2d_menu_area.in4_overlay .in4_deco_r {
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        width: 100vw !important;
        height: 100% !important;
        z-index: 0 !important;
        pointer-events: none !important;
    }
    /* ::before = 블러 전용 레이어 */
    .sub2d_menu_area.in4_overlay .in4_deco_r::before {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: transparent !important;
        backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        -webkit-backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        pointer-events: none !important;
    }
    /* ::after = 배경색 레이어 */
    .sub2d_menu_area.in4_overlay .in4_deco_r::after {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: var(--dep2-bg-base-color, #000) !important;
        opacity: var(--dep2-bg-opacity, 1) !important;
        pointer-events: none !important;
    }

    /* titgrid: 배경 위에 표시 */
    .sub2d_menu_area.in4_overlay .titgrid {
        width: 100% !important;
        height: var(--dep2-height, clamp(60px, 5vw, 80px)) !important;
        display: grid !important;
        grid-template-columns: 100px auto !important;
        position: relative;
        z-index: 1;
    }

    /* 홈 아이콘 */
    .sub2d_menu_area.in4_overlay .home {
        width: 100px !important;
        height: 100% !important;
        float: left;
        background-color: rgba(255, 255, 255, 0.15) !important;
        border-radius: 0 !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
        position: relative;
    }
    .sub2d_menu_area.in4_overlay .home img {
        width: 24px;
        opacity: 0.8;
    }

    /* 스크롤러 영역 */
    .sub2d_menu_area.in4_overlay .Sub2d_scroller {
        position: relative;
        background-color: transparent !important;
        height: 100% !important;
        display: flex !important;
        align-items: stretch !important;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_scroller:after {
        display: none !important;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_viewport {
        height: 100% !important;
        display: flex !important;
        align-items: stretch !important;
    }

    /* 메뉴 리스트 */
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb {
        list-style: none !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        padding: 0px 0px 0px 40px !important;
        background-color: transparent !important;
        height: 100% !important;
        grid-gap: clamp(10px, calc(2.632vw + -0.526px), 50px) !important;
        margin: 0 !important;
        align-items: stretch !important;
    }
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb li {
        height: 100% !important;
        display: flex !important;
        justify-content: center;
        align-items: stretch !important;
        position: relative;
        padding: 0 !important;
    }
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb li a {
        padding: 0 5px !important;
        font-weight: 500 !important;
        position: relative;
        font-size: var(--dep2-font-size, clamp(14px, 1.1vw, 16px)) !important;
        color: rgba(255,255,255,0.70) !important;
        height: 100% !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
    }
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb li a:hover {
        color: rgba(255,255,255,1) !important;
    }
}

/* ========================================
   모바일: 이미지 아래 배치
   ======================================== */
@media only all and (max-width:767px) {
    .sub2d_menu_area.in4_overlay {
        width: 100% !important;
        float: left;
        position: relative;
        background-color: transparent !important;
        overflow: visible !important;
    }
    .sub2d_menu_area.in4_overlay:before,
    .sub2d_menu_area.in4_overlay:after {
        display: none !important;
        content: none !important;
    }

    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap {
        position: relative;
        padding: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }
    /* 모바일: ::before = 블러 전용 레이어 */
    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap::before {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: transparent !important;
        backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        -webkit-backdrop-filter: blur(var(--dep2-bg-blur, 0px));
        z-index: 0 !important;
        pointer-events: none !important;
    }
    /* 모바일: ::after = 배경색 레이어 */
    .sub2d_menu_area.in4_overlay .contents-container.in4_bg_wrap::after {
        content: "" !important;
        position: absolute !important;
        inset: 0;
        background-color: var(--dep2-bg-base-color, #000) !important;
        opacity: var(--dep2-bg-opacity, 1) !important;
        z-index: 0 !important;
        pointer-events: none !important;
    }

    /* 모바일: 우측 연장 불필요 (전체 너비) */
    .sub2d_menu_area.in4_overlay .in4_deco_r {
        display: none !important;
    }

    .sub2d_menu_area.in4_overlay .titgrid {
        width: 100% !important;
        float: left;
        display: block !important;
        position: relative;
        z-index: 1;
    }

    .sub2d_menu_area.in4_overlay .home {
        display: none !important;
    }

    /* 스크롤러 영역 - 화살표 기준점 */
    .sub2d_menu_area.in4_overlay .Sub2d_scroller {
        position: relative;
        width: 100% !important;
        float: left;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_scroller:after {
        display: none !important;
    }

    /* 뷰포트: 가로 터치 스크롤 */
    .sub2d_menu_area.in4_overlay .Sub2d_viewport {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding: 0 35px !important;
        position: relative;
        scrollbar-width: none;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_viewport::-webkit-scrollbar {
        display: none !important;
    }

    /* 메뉴 리스트 */
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb {
        list-style: none !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        width: max-content !important;
        min-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background-color: transparent !important;
        gap: 0 !important;
    }
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb li {
        flex: 0 0 auto !important;
        padding: 0px 10px !important;
        position: relative;
        white-space: nowrap !important;
    }
    .sub2d_menu_area.in4_overlay ul.Sub2d_gnb li a {
        padding: 18px 5px !important;
        font-weight: 400 !important;
        position: relative;
        font-size: var(--dep2-font-size-mo, 14px) !important;
        color: #fff !important;
        display: block !important;
        text-align: center;
    }

    /* 네비 화살표 버튼 */
    .sub2d_menu_area.in4_overlay .Sub2d_nav {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 32px !important;
        height: 32px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: rgba(0, 0, 0, 0.6) !important;
        color: #fff !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 999 !important;
        font-size: 18px !important;
        font-weight: bold !important;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_nav.prev {
        left: 5px !important;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_nav.next {
        right: 5px !important;
    }
    .sub2d_menu_area.in4_overlay .Sub2d_nav[hidden] {
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* 모바일: sub_top_select_area 위치 */
    .sub1d_tit_area_new.has-in4-overlay .sub_top_select_area {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 20;
    }
    .sub1d_tit_area_new.has-in4-overlay .sub_top_select_area .contents-container {
        padding: 0px !important;
    }
    .sub1d_tit_area_new.has-in4-overlay {
        position: relative;
        overflow: visible !important;
    }
}

/* ========================================
   현재 선택된 메뉴 (active)
   - 언더라인을 맨 밑에 (bottom: 0)
   ======================================== */
.sub2d_menu_area.in4_overlay ul.Sub2d_gnb li.active a {
    color: var(--dep2-active-color, var(--dynamic-point-color, #fff)) !important;
    z-index: 99;
    position: relative;
}
.sub2d_menu_area.in4_overlay ul.Sub2d_gnb li.active a:after {
    width: 100% !important;
    float: left;
    height: 4px !important;
    background-color: var(--dep2-active-color, var(--dynamic-point-color, #fff)) !important;
    position: absolute;
    bottom: 0 !important;
    left: 0px !important;
    content: "" !important;
    border-radius: 2px 2px 0 0 !important;
}
