/* ===========================================
   锦程首页编辑器 —— 全站页眉 / 页脚接管
   ------------------------------------------------------------
   只在 body.jch-chrome 下生效（该 class 由 JCH_Site_Chrome::body_class 加）。
   停用插件 → body 上就没有这个 class → 本文件所有规则一起失效，
   站点立刻回到主题原样，不会留下半套样式 —— 这是刻意设计的可回退。

   解决的四个问题：
     1. 主题自带的页眉 / 页脚模板部件让位（与 jch 的重复，且是另一套浅色）
     2. 文章归档 / 文章单篇走的是经典模板，顶部 100px 站点标题 + 尾部
        「锦程网 自豪地采用 WordPress 构建」也要让位（第 1.5 节）
     3. 页面内容里已渲染过 jch 导航 / 页脚时，注入的那一份让位
     4. 整站配色切到 jch 主题（分类页 / 搜索页 / 404 原本是主题的浅色）
   =========================================== */

/* ---------- 0. 基础变量 ----------
 * --jch-bg / --jch-text / --jch-accent 这些由主题 CSS（assets/css/themes/*.css）
 * 定义在 .jch-theme-xxx 上。body 带着同名 class，所以在这里直接可用。
 *
 * 但 --jch-max 不一样：它定义在 .jch-wrap 里，而分类页 / 搜索页 / 404 没有
 * .jch-wrap。注入的全站导航内层 .jch-nav-inner 取不到值就会顶到屏幕边缘，
 * 所以在这里补一份。
 */
body.jch-chrome {
    --jch-max: 1100px;

    background: var(--jch-bg) fixed;
    color: var(--jch-text);
    min-height: 100vh;
    font-family: var(--jch-font, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
                 "Hiragino Sans GB", "Microsoft YaHei", sans-serif);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;

    /* ---------- 3. 整站配色 ----------
     * 区块主题的每个区块都通过 --wp--preset--color--* 取色。
     * 在 body 上重定义这几个变量 = 把整站调色板整体换成 jch 主题的一套，
     * 不必逐个区块写覆盖，也不会漏掉 query 文章列表、分页、搜索框这些组件。
     *
     * background 特意设成 transparent：让内容区露出 body 的渐变底，
     * 而不是在渐变上再压一块主题的纯白。
     */
    --wp--preset--color--background: transparent;
    --wp--preset--color--foreground: var(--jch-text);
    --wp--preset--color--primary: var(--jch-accent);
    --wp--preset--color--secondary: var(--jch-accent-2);
    --wp--preset--color--tertiary: rgba(255, 255, 255, 0.12);
}

/* ---------- 1. 主题自带的页眉 / 页脚让位 ----------
 * archive / search / index / 404 / page 这些区块模板里挂着主题的 header / footer
 * 模板部件 —— 是浅色的另一套导航和页脚。它们承载的内容（版权、免责声明、备案号）
 * 已经搬进 jch 页脚，这里整块隐藏。
 */
body.jch-chrome .wp-site-blocks > header.wp-block-template-part,
body.jch-chrome .wp-site-blocks > footer.wp-block-template-part {
    display: none !important;
}

/* ---------- 1.5 经典模板（Kubrick 系）的残留也要让位 ----------
 * 文章归档 / 文章单篇这两类页面走的是**经典模板**（index.php / single.php），
 * 不是区块模板，所以：
 *   · 顶部没有区块模板部件，而是经典主题的 #header —— 里面一个 100px 的
 *     <h1>锦程网</h1> 站点标题 + 描述行，比页面正文标题（38px）还大一大截，
 *     而且左对齐时会溢出视口被裁掉（实测「锦」字缺半个）；
 *   · 尾部是经典主题的 #footer —— 「锦程网 自豪地采用 WordPress 构建」，
 *     正好压在 jch 统一页脚（版权 / 免责声明 / 备案号）下面，变成两套页脚。
 * 这两块承载的信息 jch 的导航与页脚都已具备，所以整块隐藏。
 * 夹在中间的两个 <hr /> 是 #page 的直接子级，一起收掉，免得留下孤零零的分隔线。
 *
 * 选择器本身就带条件：这些 id 只存在于经典模板页面，区块模板页面不受影响。
 */
body.jch-chrome #header,
body.jch-chrome #footer,
body.jch-chrome #page > hr {
    display: none !important;
}

/* ---------- 2. 注入的页眉 / 页脚去重 ----------
 * 短代码页（首页 / 关于 / 联系 / 友链）和文章页的内容里已经渲染了自己的
 * jch-nav / jch-footer，注入的那一份必须让位，否则同屏两个导航、两个页脚。
 *
 * 关键在 :not(.jch-nav-global)：注入的那份**自己就带 .jch-nav**，
 * 如果只写 :has(.jch-nav)，它会「自己把自己藏起来」，页面就彻底没导航了。
 */
body.jch-chrome:has(.jch-nav:not(.jch-nav-global)) .jch-global-header,
body.jch-chrome:has(.jch-footer:not(.jch-footer-global)) .jch-global-footer {
    display: none !important;
}

/* 注入的两份挂在 <body> 顶层，本来就不受 .wp-site-blocks 的限宽与内边距影响，
 * 这里再显式撑满一次，防止主题给外层容器塞了 margin 把色带挤窄。 */
.jch-global-header,
.jch-global-footer {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ---------- 注入的页眉 / 页脚要自带 box-sizing ----------
 * frontend.css 里有一条 `.jch-wrap * { box-sizing: border-box }`，
 * 但注入的这两份挂在 <body> 顶层，不在 .jch-wrap 里，拿不到那条规则。
 * 于是 `.jch-footer` 的 `width: 100%` 会把 `padding: 32px 24px` **加在宽度之外**：
 * 1425px 宽的页面算成 1473px，整站凭空多出 48px 横向滚动条
 * （实测分类页 / 搜索页 / 404 都是这个数字，且不随视口变化）。
 * 页眉同理，只是 .jch-nav 自身没有 padding（padding 在内层 .jch-nav-inner 上），
 * 所以只表现为内层容器宽了 48px、内容看起来偏左。
 */
.jch-global-header,
.jch-global-footer,
.jch-global-header *,
.jch-global-footer * {
    box-sizing: border-box;
}

/* ---------- 页脚新增行的排版 ----------
 * 主题页脚里的免责声明和备案号搬进来之后一共 4 行，给个层次：
 * 标语（主题色）→ 版权 → 免责声明（小一号、弱化）→ 备案号。
 */
.jch-footer-copy {
    margin-top: 2px;
}
.jch-footer-notice {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.6;
    opacity: 0.8;
}
.jch-footer-icp {
    margin-top: 8px;
    font-size: 12px;
}
/* 全站注入的页脚不在 .jch-wrap 内，拿不到 .jch-wrap a 那条链接样式，单独给一份 */
.jch-global-footer a {
    color: var(--jch-text-soft);
    text-decoration: none;
    transition: color 0.2s;
}
.jch-global-footer a:hover {
    color: var(--jch-accent);
    text-decoration: none;
}

/* ---------- 内容区通用适配 ----------
 * 主题原本按「浅底深字」调色，换成深底浅字后有几处硬编码/默认样式需要接管。
 */
body.jch-chrome .wp-site-blocks {
    color: var(--jch-text);
}
/* 搜索框、分页这类带边框的控件，在深色底上要一起提亮 */
body.jch-chrome .wp-block-search__input,
body.jch-chrome .wp-block-search__button {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid var(--jch-border);
    color: var(--jch-text);
    border-radius: 8px;
}
body.jch-chrome .wp-block-search__button {
    cursor: pointer;
}
body.jch-chrome .wp-block-search__button:hover {
    background: rgba(255, 255, 255, 0.2);
}
body.jch-chrome .wp-block-search__input::placeholder {
    color: var(--jch-text-soft);
}
body.jch-chrome .page-numbers {
    color: var(--jch-text-soft);
}
body.jch-chrome .page-numbers.current,
body.jch-chrome a.page-numbers:hover {
    color: var(--jch-accent);
}
/* 分隔线：深色底下默认的灰太暗，看不见 */
body.jch-chrome .wp-block-separator {
    border-color: var(--jch-border);
    opacity: 0.6;
}
