/**
 * 新版本导航抽屉样式
 * 专门为iPhone Safari优化的菜单系统
 */

/* 默认隐藏导航抽屉 */
.nav-drawer {
    display: none;
}

/* 触发按钮样式（全局可见） */
.nav-drawer-trigger {
    position: relative;
    background: rgba(114, 115, 142, 0.1);
    border: 1px solid rgba(114, 115, 142, 0.2);
    padding: 0.75rem;
    border-radius: 8px;
    color: #72738E;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
}

.nav-drawer-trigger:hover {
    background: rgba(114, 115, 142, 0.15);
    border-color: #72738E;
    transform: translateY(-1px);
}

.nav-drawer-trigger:active {
    transform: translateY(0);
    background: rgba(114, 115, 142, 0.12);
}

.nav-drawer-trigger-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    color: #72738E;
    transition: all 0.2s ease;
}

.nav-drawer-trigger-content i {
    font-size: 1.2rem;
    line-height: 1;
}

.nav-drawer-trigger-text {
    font-size: 0.7rem;
    line-height: 1;
    font-weight: 500;
}

.nav-drawer-trigger:hover .nav-drawer-trigger-content {
    color: #5f6078;
}

.nav-drawer-trigger:active .nav-drawer-trigger-content {
    color: #52536a;
}

/* 移动端显示 */
@media (max-width: 767px) {

    /* 导航抽屉容器 */
    .nav-drawer {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 12000;
        /* 提高z-index，确保在alert容器之上 */
        display: none;
    }

    .nav-drawer.active {
        display: block;
    }

    /* 遮罩层 */
    .nav-drawer-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .nav-drawer.active .nav-drawer-overlay {
        opacity: 1;
    }

    /* 抽屉面板 */
    .nav-drawer-panel {
        position: absolute;
        top: 0;
        left: 0;
        width: 280px;
        height: 100%;
        background: #ffffff;
        box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        display: flex;
        flex-direction: column;
    }

    .nav-drawer.active .nav-drawer-panel {
        transform: translateX(0);
    }

    /* 抽屉头部 */
    .nav-drawer-header {
        padding: 1rem 1.5rem;
        border-bottom: 1px solid #e9ecef;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #f8f9fa;
    }

    .nav-drawer-title {
        margin: 0;
        font-size: 1.25rem;
        font-weight: 600;
        color: #333;
    }

    .nav-drawer-close {
        background: rgba(0, 0, 0, 0.05);
        border: 1px solid rgba(0, 0, 0, 0.1);
        font-size: 1.8rem;
        color: #666;
        cursor: pointer;
        padding: 0.75rem;
        line-height: 1;
        min-width: 48px;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        transition: all 0.2s ease;
        /* 增大点击区域 */
        margin: -0.5rem -0.5rem -0.5rem 0;
        /* 增强可见性 */
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        /* 确保整个按钮区域都可点击 */
        position: relative;
    }

    .nav-drawer-close-icon {
        pointer-events: none;
        /* 禁用图标的事件，让事件冒泡到按钮 */
        display: block;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .nav-drawer-close:hover {
        background: rgba(220, 53, 69, 0.1);
        border-color: rgba(220, 53, 69, 0.3);
        color: #dc3545;
        transform: scale(1.05);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    }

    .nav-drawer-close:active {
        background: rgba(220, 53, 69, 0.2);
        border-color: rgba(220, 53, 69, 0.5);
        color: #c82333;
        transform: scale(0.95);
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    }

    /* 抽屉内容 */
    .nav-drawer-content {
        flex: 1;
        overflow-y: auto;
        padding: 1rem 0;
    }

    /* 导航菜单 */
    .nav-drawer-menu {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .nav-drawer-menu .nav-item {
        border-bottom: 1px solid #f0f0f0;
    }

    .nav-drawer-menu .nav-item:last-child {
        border-bottom: none;
    }

    /* 菜单项链接 */
    .nav-drawer-menu .nav-item>a {
        display: block;
        padding: 1rem 1.5rem;
        color: #333;
        text-decoration: none;
        font-size: 1rem;
        font-weight: 500;
        transition: background-color 0.2s ease;
        position: relative;
    }

    .nav-drawer-menu .nav-item>a:hover {
        background: #f8f9fa;
        color: #72738E;
    }

    /* 有子菜单的菜单项 */
    .nav-drawer-menu .has-submenu>a {
        padding-right: 3rem;
    }

    /* 下拉箭头 */
    .nav-drawer-menu .has-submenu .nav-arrow {
        position: absolute;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 0.8rem;
        color: #666;
        transition: transform 0.3s ease;
    }

    .nav-drawer-menu .has-submenu.expanded .nav-arrow {
        transform: translateY(-50%) rotate(180deg);
    }

    /* 子菜单 */
    .nav-drawer-menu .nav-submenu {
        list-style: none;
        margin: 0;
        padding: 0;
        background: #f8f9fa;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.3s ease, opacity 0.3s ease;
    }

    .nav-drawer-menu .nav-submenu.show {
        max-height: 500px;
        opacity: 1;
    }

    .nav-drawer-menu .nav-submenu .nav-item>a {
        padding: 0.75rem 1.5rem 0.75rem 2.5rem;
        font-size: 0.9rem;
        font-weight: 400;
        color: #555;
        border-left: 3px solid #72738E;
        margin-left: 1rem;
    }

    .nav-drawer-menu .nav-submenu .nav-item>a:hover {
        background: #e9ecef;
        color: #72738E;
    }
}

/* 响应式调整 */
@media (max-width: 480px) {
    .nav-drawer-panel {
        width: 260px;
    }

    .nav-drawer-header {
        padding: 0.875rem 1.25rem;
    }

    .nav-drawer-title {
        font-size: 1.1rem;
    }

    .nav-drawer-menu .nav-item>a {
        padding: 0.875rem 1.25rem;
        font-size: 0.95rem;
    }

    .nav-drawer-menu .nav-submenu .nav-item>a {
        padding: 0.625rem 1.25rem 0.625rem 2.25rem;
        font-size: 0.85rem;
    }
}

@media (max-width: 360px) {
    .nav-drawer-panel {
        width: 240px;
    }

    .nav-drawer-header {
        padding: 0.75rem 1rem;
    }

    .nav-drawer-menu .nav-item>a {
        padding: 0.75rem 1rem;
    }

    .nav-drawer-menu .nav-submenu .nav-item>a {
        padding: 0.5rem 1rem 0.5rem 2rem;
    }
}