﻿/* Navbar styling */
.navbar {
    position: fixed !important; /* 고정된 네비게이션 바 */
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000; /* 배경 위에 위치 */
    background-color: transparent; /* 배경 투명 transparent */
    width: 100%;
    padding: 10px 20px;
    border: none; /* 불필요한 테두리 제거 */
    box-shadow: none; /* 그림자 제거 */
    display: flex; /* Flexbox로 가운데 정렬 */
    justify-content: space-between; /* 로고와 메뉴 양쪽 정렬 */
    align-items: center; /* 세로 가운데 정렬 */
    transition: background-color 0.3s ease, color 0.3s ease; /* 배경색 및 텍스트 색상 전환 */
    flex-wrap: wrap;

}


/*상단 제목 스타일만 개별로 적용*/
.navbar-nav > .nav-item > .nav-link {
    position: relative;
    overflow: hidden;
}

    .navbar-nav > .nav-item > .nav-link::after {
        content: '';
        position: absolute;
        bottom: 8px; /* 텍스트 밑으로 조금 내려가게 */
        left: 0;
        width: 0;
        height: 4px;
        background-color: rgba(255, 0, 0, 0.5);
        transition: width 0.3s ease;
    }

    .navbar-nav > .nav-item > .nav-link:hover::after {
        width: 100%;
    }
/* 메인 메뉴 Navbar 링크 스타일 상단 제목 */
.navbar-nav .nav-link {
    color: rgba(0, 0, 0, 0.5) !important; /* 기본 흰색 텍스트 */
    font-size: 1.5rem; /* 폰트 크기 약간 조정 */
    padding: 1rem; /* 패딩 조정 */
    font-weight: bold;
    transition: color 0.3s ease-in-out;
    white-space: nowrap; /* 텍스트가 줄바꿈 되지 않도록 */
    text-align: left; /* 왼쪽 정렬 */
    margin-left: 1rem;
}
    .navbar-nav .nav-link:hover {
        font-weight: 900; /* bold(700)보다 더 굵게 */
        color: rgba(0, 0, 0, 0.9) !important; /* 색상도 강조 */
    }
/* Navbar 스크롤 시 스타일 변경 */
.navbar.scrolled {
    background-color: rgba(224, 222, 222, 0.7); /* 스크롤 시 흰색 배경 */
    color: rgba(0, 0, 0, 0.8); /* 폰트 색상을 검정색으로 설정 */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* 스크롤 시 약간의 그림자 추가 */
    transition: background-color 0.3s ease, color 0.3s ease;
}

    /* Navbar 스크롤 시 스타일 변경 */
    .navbar.scrolled .nav-link {
        color: rgba(0, 0, 0, 0.8) !important; /* 스크롤 시 텍스트 색상 */
    }

/* 드롭다운 메뉴 기본 스타일 */
.navbar-nav .dropdown li a {
    text-decoration: none;
    color: #333333; /* 기본 검정색 폰트 */
    font-size: 1rem; /* 서브 네비게이션 아이템 폰트 크기 */
    display: block;
    padding: 10px 15px; /* 패딩을 추가하여 클릭 영역을 넓게 만듦 */
    transition: color 0.3s ease, background-color 0.3s ease;
    white-space: nowrap; /* 텍스트 줄바꿈 방지 */
    margin-left: 1rem;
}

    /* 드롭다운 메뉴 항목 호버 시 스타일 */
    .navbar-nav .dropdown li a:hover {
        color: #ff0000; /* 호버 시 주황색으로 변경 **/
        /*background-color: #f0f0f0;*/ /* 배경도 약간 변하게 설정 */
    }

/* 드롭다운 메뉴 표시 */
.navbar-nav .nav-item {
    position: relative;
    width: auto; /* 넓이를 고정하지 않고 콘텐츠에 맞게 자동 설정 */
}

.navbar-nav .dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(255, 255, 255, 0.5);
    padding: 10px;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
    z-index: 1020;
}

/* 드롭다운 메뉴를 보이게 하는 부분 */
.navbar-nav .nav-item:hover .dropdown {
    display: block;
}

/* 드롭다운 메뉴 중첩 스타일 */
.navbar-nav .dropdown li {
    list-style: none; /* 리스트 스타일 제거 */
    position: relative;
}

    .navbar-nav .dropdown li .dropdown {
        left: 100%; /* 서브 메뉴가 오른쪽에 표시되도록 설정 */
        top: 0;
    }

.navbar-brand {
    font-size: 1.25rem; /* 폰트 크기 */
    padding: 0.5rem 1rem; /* 패딩 */
    margin-right: 1rem; /* 오른쪽 여백 */
    text-decoration: none; /* 텍스트 밑줄 제거 */
    color: inherit; /* 부모 요소의 색상 상속 */
    z-index: 1060; /* 토글 버튼보다 낮은 z-index */
}

/* 햄버거 토글 버튼 - 모든 화면 크기에서 숨김 처리 */
.navbar-toggler {
    display: none;
    border: none;
    background: transparent;
    padding: 4px 8px;
    z-index: 1070; /* 가장 높은 z-index */
    position: relative;
}

/* 데스크탑 모드에서 네비게이션 바가 보이도록 설정 */
.navbar-collapse {
    display: flex !important; /* 데스크탑 모드에서 네비게이션 바가 보이도록 설정 */
    flex-basis: auto;
    flex-grow: 1;
    align-items: center;
    justify-content: flex-end;
}

/* 모바일 및 태블릿 반응형 스타일 */
@media (max-width: 991.98px) {
    /* 1. 네비바 스타일 - position: fixed 유지 */
    .navbar {
        position: fixed !important; /* 모바일에서도 고정 위치 유지 */
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background-color: transparent;
        box-shadow: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px 20px;
        max-width: 100vw;
    }

        .navbar.scrolled {
            background-color: rgba(255, 255, 255, 0.9); /* 스크롤 후 흰색 */
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

    /*토글 팝업창 설정 -> 모바일 에서만*/
    #navbarNav {
        background-image: url('/images/Nav/nav-background.png'); /* 배경 이미지 경로 */

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        color: white;
        position: fixed;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100vh;
        /* 효과 추가 */
        animation: fadeSlideIn 0.5s ease forwards;
        z-index: 1050;
    }

        #navbarNav::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.3); /* 어둡게 보정 */
            z-index: 0;
        }

        #navbarNav .nav-link {
            position: relative;
            z-index: 1;
            color: white !important;
        }
    /* 2. 햄버거 토글 버튼 - 모바일에서 표시 */
    .navbar-toggler {
        display: block !important; /* 모바일에서 토글 버튼 표시 */
        background-color: red;
        border: 1px solid #ddd;
        padding: 6px 12px;
        border-radius: 4px;
        z-index: 1070;
        position: relative;
    }

    /* 토글 버튼 아이콘 스타일 */
    .navbar-toggler-icon {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100%;
        width: 1.5em;
        height: 1.5em;
        display: inline-block;
    }

    /* 3. 네비게이션 메뉴 */
    .navbar-collapse {
        display: none !important;
        position: fixed;
        top: 0;
        right: 0;
        width: 100vw;
        height: 100vh;
        background-color: white;
        padding-top: 60px;
        z-index: 1050;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        overflow-y: auto;
    }

        .navbar-collapse.show {
            display: block !important;
            transform: translateX(0);
        }

    /* 4. 네비게이션 메뉴 내부 아이템 */
    .navbar-nav {
        flex-direction: column;
        padding: 0;
        margin: 0;
        flex-wrap: wrap;
        max-width: 100%;
        overflow-x: auto;
    }

        .navbar-nav .nav-item {
            width: 100%;
            border-bottom: 1px solid #eee;
        }
        /*메인 메뉴*/
        .navbar-nav .nav-link {
            color: #000 !important;
            padding: 1rem;
            font-size: 1rem;
            font-weight: 500;
            display: block;
            text-decoration: none;
            white-space: normal;
            word-break: break-word;
        }
            /*메인 메뉴 - 팝업 시*/
            .navbar-nav .nav-link:hover {
                background-color: rgba(255, 69, 0, 0.1); /* orangered + 60% 불투명도 */
                color: #007bff !important;
            }

        /* 5. 서브메뉴 - 드롭다운 스타일 */
        .navbar-nav .dropdown {
            display: none;
            position: static;
            background-color: #f8f9fa;
            box-shadow: none;
            padding: 0;
            margin: 0;
        }

        .navbar-nav .nav-item.show .dropdown {
            display: block;
        }

        .navbar-nav .dropdown li a {
            padding: 12px 30px;
            font-size: 14px;
            color: #666;
            border-bottom: 1px solid #eee;
        }

            .navbar-nav .dropdown li a:hover {
                background-color: #e9ecef;
                color: #007bff;
            }

        /* 6. 중첩 드롭다운 (서브 드롭다운) */
        .navbar-nav .dropdown li .dropdown {
            left: auto;
            top: auto;
            background: #e9ecef;
            padding: 0;
        }

            .navbar-nav .dropdown li .dropdown li a {
                padding: 10px 40px;
                font-size: 13px;
            }

    /* 7. 오버레이 배경 */
    .navbar-collapse.show::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: -1;
    }

    /* 8. 브랜드 로고 스타일 */
    .navbar-brand {
        z-index: 1060;
        color: rgba(0, 0, 0, 0.7);
        font-weight: bold;
    }

    .navbar.scrolled .navbar-brand {
        color: rgba(0, 0, 0, 0.9);
    }
}

/* 아주 작은 모바일 화면 (360px 이하) */
@media (max-width: 360px) {
    .navbar {
        padding: 8px 15px;
    }

    .navbar-collapse {
        width: 100%;
        right: 0;
    }

    .navbar-toggler {
        padding: 4px 8px;
    }
}
@keyframes fadeSlideIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}