/* ============================================================
 * ONENAV 主题 · 首页左侧悬浮分类菜单 · 最终裁决样式
 * ------------------------------------------------------------
 * 背景：左侧菜单用 position:fixed 贴左（left:0，折叠 48px / 展开 190px），
 * 从未给主内容区留位置，导致：
 *   1) top:80px 小于 header 高度(88px)，菜单顶到 header 之上、压住广告位；
 *   2) 窄屏（≤1200px）时 .container 左边距被挤成 0，菜单 48px 直接盖在主内容上。
 *
 * 本文件把三件事定死：
 *   1) 菜单 top 固定为 header 之下（88 + 12 = 100px），永不越到广告位上方；
 *   2) 桌面端给 body 加左内边距，为折叠态 48px 让位，主内容不被遮挡；
 *   3) 展开态靠"浮层"呈现（悬停时覆盖内容），松手即收起，不挤压布局。
 *
 * 仅作用于 body.theme-onenav 首页，不影响其它主题与子页面。
 * ============================================================ */

body.theme-onenav {
    --onenav-header-h: 88px;      /* 与 nav-unified.css 的 header 高度一致 */
    --onenav-menu-w: 48px;        /* 折叠态宽度 */
    --onenav-menu-w-open: 190px;  /* 展开态宽度（浮层，覆盖而非挤压） */
    --onenav-menu-top: 100px;     /* = header 88 + 间距 12 */
}

@media (min-width: 1101px) {
    /*
     * 为左侧悬浮菜单让位：
     * body 加左内边距后，所有 .container 的可用宽度自动内缩，
     * 菜单（含展开态 190px）都不会压住正文，无需给每个区块单独写 margin。
     * 关闭 padding 时是 48px，展开态 190px 靠浮层(z-index)覆盖，
     * 因为展开是:hover 临时行为，不能把布局推开造成抖动。
     */
    body.theme-onenav {
        padding-left: var(--onenav-menu-w) !important;
    }

    /* 左侧悬浮分类菜单本体 */
    body.theme-onenav .category-sticky-wrap {
        position: fixed !important;

        /* 关键：必须低于 header(88px)，否则会盖住广告位 */
        top: var(--onenav-menu-top) !important;
        bottom: auto !important;

        left: 0 !important;
        width: var(--onenav-menu-w) !important;
        height: auto !important;
        max-height: none !important;

        z-index: 998 !important;          /* 低于 header(1000)，避免压住顶部导航 */
        overflow: visible !important;
        cursor: pointer !important;

        /* 折叠态：窄条 */
        background: rgba(255, 255, 255, 0.94) !important;
        border: 1px solid rgba(229, 231, 235, 0.9) !important;
        border-left: none !important;
        border-radius: 0 16px 16px 0 !important;
        box-shadow: 0 8px 28px rgba(15, 23, 42, 0.10) !important;
        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;

        transition: width 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
    }

    /* 展开态：作为浮层覆盖，不改变布局（避免推开正文造成抖动） */
    body.theme-onenav .category-sticky-wrap:hover,
    body.theme-onenav .category-sticky-wrap.expanded {
        width: var(--onenav-menu-w-open) !important;
        background: rgba(255, 255, 255, 0.97) !important;
        box-shadow: 0 10px 36px rgba(15, 23, 42, 0.16) !important;
    }

    /* 菜单内部列表跟随展开宽度 */
    body.theme-onenav .category-sticky-wrap > .category {
        width: 100% !important;
        min-width: 0 !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        bottom: auto !important;
        padding: 8px 0 10px 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
}

/* 平板 / 移动端：菜单收进抽屉，默认隐藏，不占位也不遮挡 */
@media (max-width: 1100px) {
    body.theme-onenav {
        padding-left: 0 !important;
    }

    body.theme-onenav .category-sticky-wrap {
        display: none !important;
    }
}