@charset "utf-8";
/* ===================================================================
   珀菲特 · 公共头部/底部保护样式（site_chrome.css）
   -------------------------------------------------------------------
   所有引用 common_navigate.html / common_footer.html 的页面统一引入
   本文件（放在 common02.css 之后、页面自身 CSS 之前），集中处理
   页面级 CSS 与公共头尾的冲突，避免每个页面各自重复修复：

   1) overflow-x: clip —— common02.css 给 body 设了 overflow-x:hidden，
      会使页面内 position:sticky（课程导航、侧栏卡片等）完全失效；
      clip 同样裁掉横向溢出但不创建滚动容器，sticky 可正常工作。
      （此前 training_show / classes_show 两页各自修复过一次）

   2) 公共头尾盒模型锁定 —— 部分页面（如 classes_show.css）的全局
      * { box-sizing: border-box } 会改变 .menu 下拉、.footer 的
      盒模型（整站旧式样式按 content-box 设计），导致下拉项换行、
      页脚错位。此处按更高优先级显式锁回 content-box。

   3) --site-header-h 回退值 —— 各详情页 JS 会按实际渲染动态覆盖，
      此处仅提供 JS 未执行时的兜底。
   =================================================================== */

html,
body {
    overflow-x: clip !important;
}

.top *,
.menu *,
.m-menu *,
.footer *,
.copyright *,
.bottomx * {
    box-sizing: content-box;
}

/* 3) 顶部搜索框一行布局加固 —— .topsearch 原依赖 float + 固定宽度，
      左右宽度合计与容器几乎等宽，页面级字体/盒模型差异会把右浮的
      .ssubmit 挤到下一行。改用 flex 一行自适应：中间输入框自动填充
      剩余空间，任何页面引入后搜索框都保持单行 */
.topsearch {
    display: flex;
    align-items: center;
}

.topsearch .select_contain {
    flex: none;
}

.topsearch .sinput {
    flex: 1 1 auto;
    min-width: 0;
}

.topsearch .sinput input {
    width: 100%;
    box-sizing: border-box;
}

.topsearch .ssubmit {
    flex: none;
}

.topsearch .ssubmit input {
    width: 85px;
    box-sizing: border-box;
}

:root {
    --site-header-h: 150px;
}

@media screen and (max-width:1024px) {
    :root {
        /* screen.css 在 ≤1024px 隐藏 .menu 且 .top 变 80px */
        --site-header-h: 80px;
    }
}
