/* xnx_read 沉浸阅读模式样式 */

/* 布局过渡动画 */
body.read-mode .row.g-4,
body.read-mode .row.g-4 > [class*="col-xl-"] {
    transition: flex 0.3s ease, max-width 0.3s ease;
}

/* 隐藏右侧边栏（右栏恒为本行最后一列） */
body.read-mode .row.g-4 > .d-none.d-xl-block.col-xl-3 {
    display: none !important;
}

/* 主内容区填满右栏释放的空间：按"倒数第二列"定位中栏，不依赖具体 col-xl-N 栅格值，
   flex-grow 自动补满剩余宽度，左栏 col_left / 中栏 col_main 栅格调整后依然有效 */
body.read-mode .row.g-4 > div:nth-last-child(2) {
    flex-grow: 1;
    max-width: 100% !important;
}

/* ===== 移动端悬浮返回按钮 ===== */
/* 左侧操作栏为 d-none d-xl-block（<1200px 隐藏），此处接管返回入口 */
.xnx-back-fab {
    position: fixed;
    left: 14px;
    bottom: calc(84px + env(safe-area-inset-bottom));
    z-index: 1035;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.xnx-back-fab:hover,
.xnx-back-fab:active {
    background: var(--bs-primary);
    color: #fff;
    border-color: var(--bs-primary);
}

/* xl 断点以下才显示（xl 及以上由左侧操作栏顶部按钮负责） */
@media (max-width: 1199.98px) {
    .xnx-back-fab {
        display: inline-flex;
    }
}

/* 992px 以上没有底部导航，回到常规悬浮位置 */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .xnx-back-fab {
        left: 20px;
        bottom: 24px;
    }
}

/* 移动端键盘弹出时让位，避免遮挡输入框 */
body.keyboard-active .xnx-back-fab {
    display: none !important;
}
