/* =====================================================================
   建筑人才网 移动端适配层 mobile.css  v1 (2026-09-04)
   ---------------------------------------------------------------------
   背景：主站 ThinkPHP 老模板 + 大量内联固定宽度（1300px / 880px 等），
   手机 UA 原被 302 到废弃的 uni-app 手机站。撤除跳转后由本文件负责
   在手机/平板视口下把 PC 页渲染成流式布局（同 URL = 同内容 = 移动优先索引）。
   原则：全部规则写在 @media 内，PC 视口(>1024px)零影响。
   铁律：只调布局与视觉，不删任何内容/链接，不影响 PC 端。
   ===================================================================== */

/* 移动导航 DOM（header.html 提供）：默认全局隐藏，≤900px 才显示 */
.jz-mnav-ck, .jz-mnav-hb, .jz-mnav, .jz-mnav-mask { display: none; }

/* ========== 1024 以下：平板 / 小笔记本 ========== */
@media (max-width: 1024px) {
    /* 固定宽容器 → 流式（.width_1300 为模板主容器；内联 1300px 一并覆盖） */
    .width_1300,
    div[style*="width:1300px"],
    div[style*="width: 1300px"] {
        width: auto !important;
        max-width: 100%;
        box-sizing: border-box;
        padding-left: 12px;
        padding-right: 12px;
    }
    img { max-width: 100%; height: auto; }
}

/* ========== 900 以下：手机横屏 / 平板竖屏 ========== */
@media (max-width: 900px) {
    /* ---- 顶部导航重排：PC 菜单隐藏，交给汉堡抽屉（header.html 提供） ---- */
    /* !important：footer.html 在 body 内二次加载 style.css，级联更晚，必须压过 */
    .head { height: 56px !important; }
    /* 撑开 PC 横向菜单与登录区（移动端用抽屉替代） */
    .head .menu,
    .head .header_avtar,
    .head .clear { display: none !important; }
    /* 顶栏内部：logo 左 + 汉堡右 */
    .head .pageheader {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 12px;
        box-sizing: border-box;
        position: relative;
    }
    .head .pageheader > .display_flex.float_left {
        align-items: center !important;
        height: 56px !important;
        margin-top: 0 !important;
    }
    .head .pageheader .logo a img,
    .head .jz-logo-icon { margin: 0 !important; width: auto !important; height: 30px !important; }
    .head .jz-logo-txt b { font-size: 18px; }
    .head .jz-logo-txt { font-size: 14px; }
    .head .jz-logo-txt small { display: none; }
    /* 高度占位（原 59px，配合 56px 顶栏） */
    body > div[style*="height: 59px"] { height: 56px !important; }

    /* 汉堡按钮（三条杠） */
    .jz-mnav-ck { display: none !important; }
    .jz-mnav-hb {
        display: flex; flex-direction: column; justify-content: center; gap: 4px;
        width: 40px; height: 40px; border-radius: 8px; cursor: pointer;
        position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
        z-index: 1002; background: rgba(255,255,255,.08);
    }
    .jz-mnav-hb i { display: block; width: 20px; height: 2px; margin: 0 auto;
                    background: #fff; border-radius: 2px; transition: all .25s; }

    /* 遮罩层 */
    .jz-mnav-mask {
        display: none; position: fixed; left: 0; top: 56px; right: 0; bottom: 0;
        background: rgba(0,0,0,.45); z-index: 1003; cursor: pointer;
    }

    /* 抽屉菜单 */
    .jz-mnav {
        display: block; position: fixed; left: 0; top: 56px; bottom: 0; width: 82%;
        max-width: 320px; background: #fff; z-index: 1004; overflow-y: auto;
        box-shadow: 2px 0 14px rgba(0,0,0,.18);
        transform: translateX(-105%); transition: transform .25s ease;
        padding-bottom: 24px;
        -webkit-overflow-scrolling: touch;
    }
    .jz-mnav-ck:checked ~ .jz-mnav { transform: translateX(0); }
    .jz-mnav-ck:checked ~ .jz-mnav-mask { display: block; }

    .jz-mnav .mnav-hd {
        background: #2a292e; color: #fff; padding: 18px 16px 14px;
        display: flex; align-items: center; justify-content: space-between;
    }
    .jz-mnav .mnav-hd b { font-size: 16px; }
    .jz-mnav .mnav-hd a {
        color: #fe7d55; font-size: 13px; border: 1px solid #fe7d55;
        padding: 4px 12px; border-radius: 14px; margin-left: 8px;
    }
    .jz-mnav a.mnav-i {
        display: block; font-size: 15px; color: #1f2d3d; padding: 13px 18px;
        border-bottom: 1px solid #f0f0f0; position: relative;
    }
    .jz-mnav a.mnav-i.on { color: #fe7d55; font-weight: 700; }
    .jz-mnav a.mnav-i::after { content: '›'; position: absolute; right: 16px; color: #c0c4cc; font-size: 18px; }
    .jz-mnav .mnav-srv {
        margin: 14px 16px 0; background: #f6f7f9; border-radius: 10px; padding: 12px 14px;
        font-size: 13px; color: #666; line-height: 1.9;
    }
    .jz-mnav .mnav-srv a { color: #e8443a; font-weight: 700; }

    /* 内容区占位：去掉 PC 用 59px 高度条与菜单间距影响 */
    .stand_box { padding-top: 0 !important; }
}

/* ========== 640 以下：手机竖屏（主力） ========== */
@media (max-width: 640px) {
    .width_1300,
    div[style*="width:1300px"],
    div[style*="width: 1300px"] {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* ---------- 通用表格：宽表在容器内横向滑动，不撑破页面 ---------- */
    table { max-width: 100%; }
    .stand_box > div[style*="background:#fff"],
    .stand_box > div[style*="background: #fff"],
    .width_1300 > table,
    .price-main, .faq-main { overflow-x: auto; -webkit-overflow-scrolling: touch; }

    /* ---------- 首页特例 ---------- */
    /* hero 横幅：880px 绝对定位 → 静态全宽（此 div 无 class，只能属性选择器） */
    div[style*="width: 880px"] {
        position: static !important;
        width: auto !important;
        margin: 12px 10px 0 !important;
        padding: 0 !important;
    }
    .hb-wrap { width: 100% !important; height: auto !important; min-height: 232px; border-radius: 12px !important; }
    .hb-main { width: 100% !important; padding: 18px 14px 12px !important; box-sizing: border-box; }
    .hb-title { font-size: 19px !important; }
    .hb-sub { font-size: 12px !important; margin-top: 6px !important; line-height: 1.5; }
    .hb-chips { gap: 7px !important; margin-top: 12px !important; }
    .hb-chips a { padding: 5px 12px !important; font-size: 12px !important; }
    .hb-side { display: none !important; }
    .hb-hotbar { position: static !important; height: auto !important; line-height: 2 !important;
                 padding: 6px 12px !important; font-size: 11px !important; white-space: normal !important; }

    /* 搜索框 */
    .search, .hotsearch { width: 100% !important; box-sizing: border-box; padding: 0 12px; }
    .search { height: auto !important; }
    .search .textbox { flex-wrap: wrap; border-radius: 8px; overflow: hidden; }
    .search .textbox input { min-width: 0 !important; width: 100% !important; height: 44px !important;
                              font-size: 15px !important; box-sizing: border-box; }
    .search .textbox a { width: 100% !important; height: 42px !important; line-height: 42px !important;
                          font-size: 15px !important; }
    .search .textbox .el-input, .search .textbox .el-select { width: 100% !important; }
    .hotsearch p, .hotsearch .div_txt { margin-right: 12px !important; font-size: 13px !important; line-height: 2; }

    /* banner_left（公司公告）与 news_list */
    .banner_left { float: none !important; width: auto !important; height: auto !important;
                   margin: 0 10px !important; box-sizing: border-box; }
    .notice_line .title { width: 68% !important; }
    .notice_line .time { width: auto !important; }
    .imageleft { float: none !important; width: 100% !important; }

    /* 首页卡片流：热门职位 360 三列 → 单列 */
    .recruit_box { display: block !important; }
    .recruit_occupation { width: auto !important; margin: 0 10px 14px !important; box-sizing: border-box; }
    .recruitlower { margin-left: 10px !important; }
    .recruit .recruitlower li { float: left; width: auto !important; }

    /* 资讯/新闻列表 */
    .news_list { margin: 0 10px !important; }
    .news_list_name a { font-size: 14px !important; }
    .news_list_time { display: none !important; }
    .index_box { padding-bottom: 20px; }

    /* ---------- 频道页正文卡 ---------- */
    .stand_box > div[style*="background:#fff"],
    .stand_box > div[style*="background: #fff"] {
        padding: 14px 10px !important;
        margin: 0 0 10px !important;
        border-radius: 10px !important;
    }
    .location { width: 100% !important; padding: 0 10px !important; box-sizing: border-box; }

    /* 正文图片与标题字号 */
    .content_img { font-size: 15px; line-height: 1.8; }
    .content_img h1 { font-size: 20px; }
    .content_img h2 { font-size: 17px; }
    .content_img h3 { font-size: 16px; }
    .zizhi-level { padding: 12px 10px !important; }

    /* 人员配备表：窄屏允许横向滑动（改外层卡片 overflow 已覆盖） */
    table td, table th { white-space: nowrap; }

    /* ---------- 分页按钮触控加大 ---------- */
    .pagination a, .pagination span, .el-pagination button, .el-pager li {
        min-width: 34px; height: 34px; line-height: 34px; font-size: 13px;
    }

    /* ---------- 底部（帮助导航双列展示，不隐藏——手机上同样有用） ---------- */
    .footer .footer_seo { line-height: 26px !important; padding: 0 8px; }
    .footer_seo a { display: inline-block; margin: 2px 6px !important; font-size: 12px; }
    .footer_apply > div[style*="float: left"] { width: 33.33% !important; font-size: 12px !important; }
    .footer_bg .display_flex { display: block !important; }
    .footer_bg .flex { display: block !important; width: 100% !important; }
    .footer_right {
        display: block !important; margin: 0 !important; padding: 0 10px 20px !important;
        line-height: 26px !important;
    }
    .footer_right ul {
        display: inline-block !important; vertical-align: top;
        width: 46% !important; margin: 0 3% 14px 0 !important; font-size: 12px !important;
    }
    .footer_right ul li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .footer_right .footer_title { font-size: 15px !important; margin-bottom: 4px !important; }
    .footer_left { margin: 10px 0 !important; }
    .footer_links, .footer_apply { width: 100% !important; padding: 0 12px !important; box-sizing: border-box; }

    /* 招聘/简历列表行内布局收紧 */
    .display_flex[style*="margin"] { flex-wrap: wrap; }

    /* ---------- 招聘列表页（recruit）筛选与搜索 ---------- */
    /* 类型/专业/省份 筛选行：超长标签自动折行 */
    .line_35 .display_flex { flex-wrap: wrap !important; }
    .line_35 .zhuanye { flex: none !important; width: 52px; }
    .line_35 .padding_left_20 { flex: 1 !important; min-width: calc(100% - 60px) !important; box-sizing: border-box; }
    .line_35 .padding_left_20 a { display: inline-block; margin-right: 4px; line-height: 2.1; }
    /* “其他：”一行（工作性质 / 职业分类 / 按钮）竖向堆叠 */
    .qita_color form { flex-wrap: wrap !important; }
    .qita_color .el-select, .qita_color .el-cascader,
    .qita_color div[style*="300px"], .qita_color .shanghai {
        width: 100% !important; margin: 4px 0 !important;
    }
    .qita_color .el-cascader { margin-left: 0 !important; }
    .qita_color .el-select { display: block !important; }
    /* 搜索条：下拉/输入/按钮全部纵向占满 */
    .search .textbox .el-select { width: 100% !important; margin: 0 !important; }
    .search .textbox .el-button { width: 100% !important; margin: 0 !important;
                                  border-radius: 0 !important; height: 42px !important; }

    /* 招聘职位卡：行内 flex 折行、300px 固定宽块占满 */
    .padding_20 .display_flex { flex-wrap: wrap !important; }
    .padding_20 div[style*="width: 300px"] { width: 100% !important; margin: 2px 0 !important;
                                             box-sizing: border-box; }
    .padding_20 .quanzhi { margin: 2px 0 !important; }
    .padding_20 .margin_b_15 { margin-bottom: 8px !important; }
    .recruit_Design { font-size: 16px !important; white-space: normal !important;
                      overflow-wrap: anywhere !important; }
    /* 搜索条改为纵向块排列，杜绝横向溢出（select/input/a/按钮 各占一行） */
    .search .textbox { display: block !important; }
    .search .textbox > * { width: 100% !important; margin: 0 !important;
                           box-sizing: border-box !important; }
    .search .textbox a { display: block !important; text-align: center !important;
                         height: 42px !important; line-height: 42px !important; }
    .search .textbox .el-input__inner { width: 100% !important; border-radius: 0 !important; }
    /* 分页条盒模型修正 */
    .el-pagination { max-width: 100% !important; box-sizing: border-box !important;
                     padding: 6px 0 !important; overflow-x: auto !important;
                     white-space: nowrap !important; }

    /* ---------- 登录 / 注册页 ---------- */
    .register_main .register { width: 100% !important; max-width: 600px; box-sizing: border-box; }
    .register_main .register > div { padding: 22px 14px !important; box-sizing: border-box; }
    .register_main .el-form-item { display: block !important; margin-bottom: 14px !important; }
    .register_main .el-form-item__label {
        display: block !important; width: auto !important; float: none !important;
        text-align: left !important; line-height: 1.7 !important; padding: 0 0 4px !important;
    }
    .register_main .el-form-item__content { margin-left: 0 !important; line-height: 1.7 !important; }
    .register_main .el-input, .register_main .el-button,
    .register_main .el-form-item__content > div[style*="width: 300px"],
    .register_main .el-form-item__content > div[style*="width:300px"] {
        width: 100% !important; max-width: 100% !important; box-sizing: border-box;
    }
    .register_main .el-form-item__content .el-row { width: 100% !important; }
    .register_main .login_wz, .register_main .register_wz {
        width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
        flex-wrap: wrap !important; gap: 4px 10px; font-size: 13px !important;
    }
    .register_main .upper_3 { font-size: 20px !important; }
    .register_main .jz-kick-tip { font-size: 13px; line-height: 1.8; }
}

/* ========== 375 以下：小屏手机 ========== */
@media (max-width: 375px) {
    .hb-title { font-size: 17px !important; }
    .footer_apply > div[style*="float: left"] { width: 50% !important; }
}
