/* BraveDAO — 站点级 frame（全站无条件加载）
 *
 * 单一事实源：所有「内容壳」对站点坐标（侧栏 220/64/0 + --max-w 约束带）的让位。
 * FSE 普通页由 brave-base.css 的 .wp-site-blocks 规则处理；本文件覆盖的是
 * 绕过主题渲染的插件壳（BuddyNext .bn-app、Learnomy .lrn-app 等）。
 *
 * 第一性原理：frame = 全站结构性事实，无条件加载；页面专属布局归各 fork。
 * 修改侧栏宽度只改本文件 + brave-base.css 的 .wp-site-blocks（FSE 侧）。
 */

/* ─── BuddyNext hub 内容列三态让位 ───
 * BN 的 .bn-app__main 是 hub 页唯一内容容器，须与普通页 .wp-site-blocks
 * 同坐标。margin 公式镜像 brave-base.css .top-bar-inner（100vw 参照视口，
 * 使 top-bar / header / hub 内容在任何断点数学全等）。
 */
.bn-app__shell--no-rail .bn-app__main {
  margin-left: max(220px, calc(220px + (100vw - 220px - var(--max-w)) / 2));
  max-width: min(var(--max-w), calc(100vw - 220px));
  margin-right: auto;
}

body.sidebar-collapsed .bn-app__shell--no-rail .bn-app__main {
  margin-left: max(64px, calc(64px + (100vw - 64px - var(--max-w)) / 2));
  max-width: min(var(--max-w), calc(100vw - 64px));
}

@media (max-width: 782px) {
  .bn-app__shell--no-rail .bn-app__main,
  body.sidebar-collapsed .bn-app__shell--no-rail .bn-app__main {
    margin-left: 0;
    max-width: 100vw;
  }
}

/* ─── BuddyNext auth 内容列三态让位 ───
 * /login/ /signup/ 等 auth hub 走 auth-shell.php。2026-08-07 起注入站点统一
 * 侧栏（与 hub-shell 同构），body class 本就声明 has-brave-sidebar。
 *
 * 2026-08-07 视觉决策：让位但**背景铺满**——不再用 .bn-app__main 的
 * 「内容带居中」margin（会把整个 split-panel 卡进 1212 内容带，右侧露
 * 384px 空白画布），而是让 .bn-auth 从侧栏边缘铺到视口右缘（edge-to-edge
 * 背景），文字（aside 引言 24ch / 表单 400px）自身已有 max-width 约束，
 * 不会因背景变宽而失读。
 *
 * ⚠ 仅限定 body.bn-hub-auth（split-panel 全宽登录面）；onboarding 等
 * slim 窄列（max-width:480px 居中）不受影响。
 */
body.bn-hub-auth .bn-app--auth .bn-auth {
  margin-left: 220px;
  margin-right: 0;
  width: auto;
}

body.bn-hub-auth.sidebar-collapsed .bn-app--auth .bn-auth {
  margin-left: 64px;
}

@media (max-width: 782px) {
  body.bn-hub-auth .bn-app--auth .bn-auth,
  body.bn-hub-auth.sidebar-collapsed .bn-app--auth .bn-auth {
    margin-left: 0;
    width: 100%;
  }
}

/* ─── BuddyNext hub 页 footer 三态让位 ───
 * FSE 普通页 footer 由 .wp-site-blocks 让位（brave-base.css:
 * margin-left:220 + width:calc(100% - 220px)），.footer-grid 的
 * margin:auto 在其内以「内容带」为基准居中。
 *
 * hub 页 footer 由主题 footer.php shim 直接输出为 body 子级——没有
 * .wp-site-blocks，footer 全宽从 x=0 开始，.footer-grid 的 margin:auto
 * 以「全视口」为基准 → 内容左偏 110px（展开）/ 32px（折叠）。
 *
 * 修法 = 镜像 .wp-site-blocks 的三态让位（margin-left + width calc），
 * footer 内部 .footer-grid 的自适应居中自动对齐 .bn-app__main。
 * :has(#braveSidePanel) 限定有侧栏的 hub 页——auth/onboarding 等
 * slim shell 无侧栏 DOM，footer 保持全宽。
 */
body.bn-page:has(#braveSidePanel) > footer.wp-block-template-part {
  margin-left: 220px;
  width: calc(100% - 220px);
}

body.bn-page.sidebar-collapsed:has(#braveSidePanel) > footer.wp-block-template-part {
  margin-left: 64px;
  width: calc(100% - 64px);
}

@media (max-width: 782px) {
  body.bn-page:has(#braveSidePanel) > footer.wp-block-template-part,
  body.bn-page.sidebar-collapsed:has(#braveSidePanel) > footer.wp-block-template-part {
    margin-left: 0;
    width: 100%;
  }
}
