/* 
 * Navigation CSS - 極簡化樣式，主要使用 Bootstrap
 * 只包含 Bootstrap 無法提供的必要樣式
 */
.navLogo {
    height: 26px;
}

/* 漢堡選單按鈕樣式 */
.navbar-toggler {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 4px 8px;
}

.navbar-toggler:focus {
    outline: none !important;
    box-shadow: none !important;
}

.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='%23019F93' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Mobile 收合選單全畫面覆蓋樣式 - 即時響應動畫 */
.navbar-collapse {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #CDECFD;
    z-index: 100;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
    opacity: 0;
    visibility: hidden;
    /* 關鍵：禁用 Bootstrap 原生動畫 */
    transition-duration: 0s !important;
}

.navbar-collapse.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    /* 啟用自訂動畫 */
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out !important;
}

.navbar-collapse.collapsing {
    /* 覆寫 Bootstrap 的 collapsing 狀態 */
    height: auto !important;
    transform: translateY(-100%);
    opacity: 0;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out !important;
}

/* 關閉按鈕區域 */
.navbar-collapse .navbar-close {
    height: 64px;
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

.navbar-close-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
}

.navbar-close-btn img {
    width: 36px;
    height: 36px;
}

/* 選單內容區域 */
.navbar-collapse .navbar-nav {
    width: 100%;
    text-align: center;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.navbar-collapse .nav-link {
    height: 54px;
    font-family: Noto Sans;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0px;
    border-bottom: 1px solid #EEF9FF;
    padding: 0;
    display: flex;
    align-items: center;
}

/* 桌面版恢復正常樣式 */
@media (min-width: 576px) {
    .navLogo {
        height: 33px;
    }

    .navbar-collapse,
    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        position: static !important;
        width: auto !important;
        height: auto !important;
        background-color: transparent !important;
        z-index: auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        transform: none !important;
        transition: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* 隱藏桌面版的關閉按鈕 */
    .navbar-collapse .navbar-close {
        display: none !important;
    }

    .navbar-collapse .navbar-nav {
        flex-direction: row !important;
        width: auto !important;
        text-align: left !important;
        flex: none !important;
        justify-content: normal !important;
        gap: 1rem;
    }

    .navbar-collapse .nav-item {
        margin-bottom: 0 !important;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .navbar-collapse .nav-link {
        font-family: Noto Sans;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 2rem;
        text-align: center;
        border-bottom: none;
    }
}