/* ==========================================================================
   qarc.cn style — 迁安人才网复刻样式 (luobo-zhaopin 主题)  [2026-09-09 精修]
   改动点：
   ① 顶栏两行圆点 ul 改成一行小字横排（去 list-style，flex 左右分布）
   ② 热搜词横排不换行挤压（容器给足宽度，flex 溢出隐藏）
   ③ logo 放大到 200px 以上高度自适应，搜索框收窄到 520px 左右
   ④ 轮播首张换 CSS 渐变品牌 banner（深蓝到橙）
   ⑤ 首屏密度提升：section padding 12-16px，职位行高收紧
   ⑥ 字号：职位标题 16px 加粗深色，薪资 16px 橙色加粗，正文 14px，行高 1.6
   ========================================================================== */

/* ---- 重置容器宽度：1150px ---- */
.container { max-width: 1150px; margin: 0 auto; padding: 0 15px; }

/* ---- 顶栏（一行小字横排）---- */
.N_navbar_top { background: #f5f5f5; border-bottom: 1px solid #eee; font-size: 12px; color: #555; line-height: 1.6; }
.N_navbar_top .N_topbar_inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; min-height: 32px; }
.N_navbar_top .N_topbar_left,
.N_navbar_top .N_topbar_right { display: flex; align-items: center; }
.N_navbar_top .N_topbar_greet,
.N_navbar_top .N_topbar_links { display: inline-flex; align-items: center; gap: 4px; padding: 6px 0; }
.N_navbar_top .N_topbar_links { gap: 14px; }
.N_navbar_top a { color: #555; padding: 0; display: inline-block; }
.N_navbar_top a:hover { color: #ff6b35; text-decoration: none; }
.N_navbar_top ul, .N_navbar_top li { list-style: none; margin: 0; padding: 0; }
.N_navbar_top strong { color: #333; font-weight: 600; }
.N_btn_login { color: #ff6b35 !important; font-weight: 600; margin: 0 2px; }
.N_btn_reg   { color: #ff6b35 !important; font-weight: 600; margin: 0 2px; }
.N_badge_merchant { background: linear-gradient(135deg, #ff6b35, #e55a2b); color: #fff !important; padding: 3px 10px !important; border-radius: 12px; font-weight: 500; }
.N_badge_merchant:hover { background: linear-gradient(135deg, #ff8a5c, #ff6b35); color: #fff !important; }
.N_logout { color: #888 !important; margin-left: 6px; }

/* ---- logo + 搜索（头部三段比例恢复正常：logo 240 / 搜索 520 / 右侧空）---- */
.N_logo_search { background: #fff; padding: 18px 0 14px; border-bottom: 1px solid #f0f0f0; }
.N_logo_search .logo-search-inner { display: grid; grid-template-columns: 240px 520px; gap: 30px; align-items: center; }
.N_logo_search .N_logo { display: inline-block; line-height: 0; }
.N_logo_search .N_logo img { width: 240px; height: auto; max-height: 90px; object-fit: contain; display: block; }
.N_logo_search .N__searchbar { width: 100%; }
.N_logo_search .N__searchbar .N_input_group { width: 520px; max-width: 100%; }
.N_input_group { display: flex; height: 44px; border: 2px solid #ff6b35; border-radius: 4px; overflow: hidden; }
.N_input_group .N_input { flex: 1; display: flex; align-items: center; padding: 0 14px; background: #fff; }
.N_input_inner { width: 100%; border: 0; outline: 0; font-size: 15px; color: #333; }
.N_btn { display: inline-block; padding: 8px 16px; border: 0; cursor: pointer; font-size: 14px; border-radius: 4px; transition: background .2s; }
.N_btn_primary { background: #ff6b35; color: #fff; padding: 0 30px; font-size: 16px; font-weight: 600; }
.N_btn_primary:hover { background: #e55a2b; }
.N_btn_default { background: #fff; color: #555; border: 1px solid #ddd; }
.N_btn_default:hover { background: #f5f5f5; }
.N_btn_block { display: block; width: 100%; text-align: center; }
.N_btn_small { padding: 4px 12px; font-size: 12px; }
.N_btn_round { border-radius: 18px; }

/* 热搜词：横排不换行挤压，溢出隐藏 */
.N__hot_search { margin-top: 8px; font-size: 12px; color: #888; display: flex; align-items: center; gap: 0; width: 100%; overflow: hidden; white-space: nowrap; }
.N__hot_search .N_hot_label { color: #ff6b35; margin-right: 8px; flex-shrink: 0; }
.N__hot_search .N_hot_list { display: inline-flex; align-items: center; gap: 0; flex-wrap: nowrap; overflow: hidden; }
.N__hot_search .N_hot_list a { color: #666; margin-right: 12px; white-space: nowrap; flex-shrink: 0; }
.N__hot_search .N_hot_list a:hover { color: #ff6b35; }

/* ---- 主导航 ---- */
.N_main_menu { background: #ff6b35; }
.N_main_nav { display: flex; align-items: center; }
.N_nav_list { display: flex; list-style: none; margin: 0; padding: 0; }
.N_nav_list > li > a { display: block; padding: 12px 22px; color: #fff; font-size: 15px; font-weight: 500; }
.N_nav_list > li > a:hover { background: rgba(0,0,0,.15); text-decoration: none; }
.N_nav_list > li.active > a { background: rgba(0,0,0,.2); }
.N_nav_list > li.N_nav_dropdown { position: relative; }
.N_dropdown_menu { display: none; position: absolute; left: 0; top: 100%; min-width: 800px; background: #fff; border: 1px solid #eee; box-shadow: 0 6px 18px rgba(0,0,0,.08); z-index: 1000; padding: 18px 22px; }
.N_nav_dropdown.open .N_dropdown_menu { display: block; }
.N_dropdown_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px 24px; }
.N_dropdown_col { font-size: 13px; }
.N_dropdown_title { display: block; font-weight: 600; color: #ff6b35 !important; padding: 0 0 6px 0 !important; margin-bottom: 6px; border-bottom: 1px dashed #eee; }
.N_dropdown_sub a { display: inline-block; color: #555 !important; padding: 2px 8px !important; margin: 1px; font-size: 12px !important; background: #f8f8f8; border-radius: 3px; }
.N_dropdown_sub a:hover { background: #ff6b35 !important; color: #fff !important; }

/* ---- 主区 ---- */
.N_main { background: #f5f6fa; min-height: 600px; padding-bottom: 24px; font-size: 14px; line-height: 1.6; color: #444; }

/* ---- 轮播 ---- */
.N_banner_wrap { width: 100%; }
.N_banner_inner { position: relative; width: 100%; }
.N_banner_window { position: relative; width: 100%; height: 320px; overflow: hidden; background: #fff; border-radius: 4px; }
.N_banner_slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .6s ease; }
.N_banner_slide.active { opacity: 1; z-index: 1; }
.N_banner_arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; background: rgba(0,0,0,.4); color: #fff; border: 0; font-size: 22px; cursor: pointer; border-radius: 50%; z-index: 5; }
.N_banner_arrow:hover { background: rgba(0,0,0,.65); }
.N_banner_prev { left: 16px; }
.N_banner_next { right: 16px; }
.N_banner_dots { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 6px; z-index: 5; }
.N_banner_dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.5); border: 0; cursor: pointer; padding: 0; }
.N_banner_dot.on { background: #fff; width: 26px; border-radius: 5px; }

/* 轮播首张：CSS 渐变品牌 banner（深蓝→橙） */
.N_banner_brand {
    background: linear-gradient(135deg, #0f2c5c 0%, #1d4e9c 35%, #ff6b35 100%);
    color: #fff;
    display: flex;
    align-items: center;
    padding: 0 60px;
    box-sizing: border-box;
}
.N_banner_brand_inner { width: 100%; display: flex; align-items: center; }
.N_banner_brand_text { max-width: 700px; }
.N_banner_brand_title { font-size: 56px; font-weight: 800; margin: 0 0 6px; color: #fff; letter-spacing: 4px; text-shadow: 0 2px 8px rgba(0,0,0,.2); }
.N_banner_brand_sub { font-size: 26px; margin: 0 0 18px; color: #ffd9c2; font-weight: 500; letter-spacing: 2px; }
.N_banner_brand_meta { font-size: 16px; margin: 0; color: rgba(255,255,255,.92); background: rgba(0,0,0,.18); padding: 8px 18px; border-radius: 22px; display: inline-block; }
.N_banner_brand_meta strong { color: #ffe0a8; font-size: 22px; font-weight: 700; margin: 0 4px; }

/* ---- 公告（文字滚动）---- */
.N_notice_box { background: #fff; border: 1px solid #eee; padding: 8px 16px; display: flex; align-items: center; gap: 8px; border-radius: 4px; }
.N_notice_icon { font-size: 16px; }
.N_notice_label { color: #888; font-size: 14px; white-space: nowrap; }
.N_notice_label a { color: #ff6b35; }
.N_notice_viewport { flex: 1; overflow: hidden; height: 22px; position: relative; }
.N_notice_list { list-style: none; margin: 0; padding: 0; transition: transform .5s ease; }
.N_notice_list li { height: 22px; line-height: 22px; color: #555; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---- 章节标题：紧凑 ---- */
.N__section { background: #fff; padding: 14px 18px; border-radius: 4px; margin-bottom: 12px; }
.N__title { text-align: center; margin-bottom: 10px; }
.N__title hr.uk-divider-small { width: 60px; border-top: 2px solid #ff6b35; margin: 4px auto; }
.N__title h2 { font-size: 20px; font-weight: 700; color: #333; margin: 4px 0; }

/* ---- 分类树：紧凑 + 4 列 ---- */
.N_cate_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.N_cate_card { background: #fafafa; border: 1px solid #eee; padding: 8px 12px; border-radius: 4px; transition: all .2s; }
.N_cate_card:hover { border-color: #ff6b35; box-shadow: 0 2px 8px rgba(255,107,53,.15); }
.N_cate_title { display: block; font-weight: 600; color: #ff6b35 !important; font-size: 14px; padding: 0 0 4px 0 !important; margin-bottom: 4px; border-bottom: 1px dashed #eee; }
.N_cate_sub a { display: inline-block; color: #555 !important; font-size: 12px !important; padding: 1px 6px !important; margin: 1px 1px; background: #fff; border-radius: 3px; }
.N_cate_sub a:hover { background: #ff6b35 !important; color: #fff !important; }

/* ---- 名企展示：紧凑 ---- */
.N_company_grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.N_company_card { background: #fff; border: 1px solid #eee; padding: 10px 6px; text-align: center; border-radius: 4px; transition: all .2s; text-decoration: none !important; }
.N_company_card:hover { border-color: #ff6b35; box-shadow: 0 4px 14px rgba(255,107,53,.15); transform: translateY(-2px); }
.N_company_logo { position: relative; width: 80px; height: 50px; margin: 0 auto 6px; background: #fafafa; display: flex; align-items: center; justify-content: center; border-radius: 4px; overflow: hidden; }
.N_company_logo img { max-width: 100%; max-height: 100%; }
.N_company_initial { font-size: 24px; color: #ff6b35; font-weight: 700; }
.N_vip_tag { position: absolute; top: -4px; right: -4px; background: linear-gradient(135deg,#ffd700,#ff8c00); color: #fff; padding: 1px 6px; font-size: 10px; border-radius: 8px; font-weight: 700; }
.N_company_name { font-size: 13px; color: #333; font-weight: 600; margin-bottom: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.N_company_industry { font-size: 11px; color: #888; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- 职位列表：行高收紧、字号按要求 ---- */
.N_jobs_list { list-style: none; margin: 0; padding: 0; }
.N_job_item { display: grid; grid-template-columns: 1fr 200px 54px; gap: 14px; padding: 10px 14px; border-bottom: 1px solid #f0f0f0; align-items: center; transition: background .2s; line-height: 1.6; }
.N_job_item:hover { background: #fff8f5; }
.N_job_title_row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.N_job_name { font-size: 16px; color: #333 !important; font-weight: 700; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.4; }
.N_job_name:hover { color: #ff6b35 !important; }
.N_job_location { color: #888; font-size: 12px; }
.N_job_tags { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; font-size: 14px; color: #666; line-height: 1.6; }
.N_tag_salary span { color: #ff6b35; font-weight: 700; font-size: 16px; }
.N_job_company { display: flex; flex-direction: column; gap: 3px; line-height: 1.4; }
.N_company_link { color: #555 !important; font-size: 13px; }
.N_company_link:hover { color: #ff6b35 !important; }
.N_badge_auth { display: inline-block; background: #e8f5ff; color: #1890ff; padding: 1px 6px; font-size: 11px; border-radius: 3px; width: fit-content; }
.N_job_logo { width: 48px; height: 48px; }
.N_job_logo img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }
.N__more { text-align: center; margin-top: 12px; }
.N__more a { color: #ff6b35; font-size: 14px; }

/* ---- 统计行 ---- */
.N_jobs_meta { display: flex; gap: 22px; margin-bottom: 10px; color: #888; font-size: 13px; }
.N_jobs_meta strong { color: #ff6b35; font-size: 15px; }

/* ---- 空状态 ---- */
.N_empty { text-align: center; padding: 40px 0; color: #888; }
.N_no_results { text-align: center; padding: 60px 0; color: #888; }

/* ---- 职位详情 ---- */
.N_job_header { background: #fff; padding: 26px 30px; border-radius: 4px; margin-bottom: 18px; }
.N_job_title { font-size: 26px; font-weight: 700; color: #222; margin: 0 0 14px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.N_job_salary { font-size: 26px; color: #ff6b35; font-weight: 700; margin-bottom: 16px; }
.N_job_meta { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; color: #666; font-size: 14px; }
.N_job_section { background: #fff; padding: 24px 30px; border-radius: 4px; margin-bottom: 16px; }
.N_section_h { font-size: 18px; color: #333; padding-bottom: 10px; margin: 0 0 16px; border-bottom: 2px solid #ff6b35; }
.N_job_content { line-height: 1.8; color: #444; font-size: 15px; }
.N_address { color: #555; font-size: 14px; }
.N_badge { display: inline-block; padding: 2px 8px; border-radius: 3px; font-size: 12px; }
.N_badge_platform { background: #e8f5e8; color: #52c41a; }
.N_badge_license  { background: #fff7e6; color: #fa8c16; }
.N_contact_visible p { margin: 6px 0; }
.N_contact_hidden { background: #fafafa; border: 1px dashed #ddd; padding: 18px; border-radius: 4px; text-align: center; color: #888; }

/* ---- 相似职位 ---- */
.N_similar_list { list-style: none; margin: 0; padding: 0; }
.N_similar_list li { padding: 12px 0; border-bottom: 1px dashed #eee; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.N_similar_list li:last-child { border-bottom: 0; }
.N_similar_title { color: #333 !important; font-weight: 500; flex: 1; min-width: 200px; }
.N_similar_title:hover { color: #ff6b35 !important; }
.N_similar_salary { color: #ff6b35; font-weight: 600; }
.N_similar_meta { color: #888; font-size: 13px; }

/* ---- 企业侧栏 ---- */
.N_company_sidebar .N_sidebar_card,
.N_sidebar_actions { background: #fff; padding: 20px; border-radius: 4px; margin-bottom: 16px; }
.N_sidebar_company { display: flex; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid #eee; align-items: center; text-decoration: none !important; }
.N_sidebar_logo { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }
.N_sidebar_company_name { font-size: 15px; color: #333; font-weight: 600; margin-bottom: 4px; }
.N_sidebar_industry { font-size: 12px; color: #888; margin-bottom: 4px; }
.N_sidebar_stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px 0; border-bottom: 1px solid #eee; }
.N_sidebar_stats li { text-align: center; list-style: none; }
.N_stat_label { display: block; font-size: 12px; color: #888; margin-bottom: 4px; }
.N_sidebar_stats strong { font-size: 18px; color: #ff6b35; }
.N_sidebar_contact { padding-top: 14px; border-top: 1px solid #eee; margin-top: 14px; font-size: 13px; }
.N_sidebar_login_tip { padding-top: 14px; border-top: 1px solid #eee; margin-top: 14px; text-align: center; color: #888; font-size: 13px; }
.N_sidebar_intro { margin-top: 14px; padding-top: 14px; border-top: 1px solid #eee; font-size: 13px; color: #666; line-height: 1.7; }
.N_sidebar_intro h4 { font-size: 14px; color: #333; margin: 0 0 6px; }

/* ---- 公司详情 ---- */
.N_company_header { background: #fff; padding: 24px; border-radius: 4px; display: flex; gap: 24px; align-items: center; }
.N_company_logo_big { position: relative; width: 100px; height: 100px; background: #fafafa; display: flex; align-items: center; justify-content: center; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.N_company_logo_big img { max-width: 100%; max-height: 100%; }
.N_company_logo_big span { font-size: 48px; color: #ff6b35; font-weight: 700; }
.N_company_head_info { flex: 1; }
.N_company_h1 { font-size: 24px; margin: 0 0 8px; color: #222; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.N_company_industry { color: #888; font-size: 14px; margin: 0 0 6px; }
.N_company_addr { color: #555; font-size: 13px; margin: 0; }
.N_company_stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; background: #fff; padding: 22px; border-radius: 4px; margin-bottom: 18px; }
.N_stat_box { text-align: center; padding: 12px; background: #fafafa; border-radius: 4px; }
.N_stat_box .N_stat_value { display: block; font-size: 26px; color: #ff6b35; margin-top: 6px; }
.N_company_section { background: #fff; padding: 24px 28px; border-radius: 4px; }
.N_company_content { line-height: 1.8; color: #444; font-size: 15px; }

/* ---- 搜索页 ---- */
.N_search_page_header { background: #fff; padding: 24px; border-radius: 4px; }
.N_search_page_header h1 { font-size: 22px; margin: 0 0 16px; color: #333; }
.N_search_main { display: flex; gap: 0; height: 46px; border: 2px solid #ff6b35; border-radius: 4px; overflow: hidden; margin-bottom: 14px; }
.N_search_input { flex: 1; padding: 0 14px; border: 0; outline: 0; font-size: 15px; }
.N_search_filters { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; padding: 14px; background: #fafafa; border-radius: 4px; font-size: 14px; }
.N_search_filters select, .N_search_filters input { padding: 6px 10px; border: 1px solid #ddd; border-radius: 3px; font-size: 14px; }
.N_salary_input { width: 90px; }
.N_search_summary { color: #666; margin: 14px 0 0; }
.N_pagination { text-align: center; margin-top: 24px; }
.N_page { display: inline-block; min-width: 36px; height: 36px; line-height: 36px; padding: 0 12px; margin: 0 2px; border: 1px solid #ddd; color: #555 !important; border-radius: 3px; }
.N_page:hover { border-color: #ff6b35; color: #ff6b35 !important; text-decoration: none; }
.N_page_current { background: #ff6b35; color: #fff !important; border-color: #ff6b35; }

/* ---- 页脚 ---- */
.N_footer_jh276n { background: #2d3436; color: #aaa; padding: 24px 0 30px; margin-top: 30px; font-size: 13px; }
.N_footer_jh276n .N_footer_tab { display: flex; gap: 0; list-style: none; padding: 0; margin: 0 0 12px; }
.N_footer_jh276n .N_footer_tab li a { color: #fff; padding: 6px 16px; background: #ff6b35; border-radius: 3px 3px 0 0; display: inline-block; }
.N_friend_links { display: flex; gap: 14px 22px; flex-wrap: wrap; padding-bottom: 16px; }
.N_friend_links a { color: #aaa; }
.N_friend_links a:hover { color: #ff6b35; text-decoration: none; }
.N_footer_panel { display: flex; gap: 20px; align-items: flex-start; padding: 20px 0; }
.N_footer_links { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 0 0; }
.N_footer_links li { padding: 4px 12px 4px 0; margin-right: 12px; border-right: 1px solid #444; color: #aaa; }
.N_footer_links li:last-child { border-right: 0; }
.N_footer_links a { color: #aaa; }
.N_footer_links a:hover { color: #ff6b35; text-decoration: none; }
.N_footer_actions { flex-shrink: 0; }
.N_footer_actions .N_btn_round { background: #444; color: #fff; display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; }
.N_footer_actions .N_btn_round:hover { background: #ff6b35; }

/* ---- 全局清理：避免圆点/项目符号残留 ---- */
.N_navbar_top ul, .N_navbar_top li,
.N_nav_list, .N_nav_list li,
.N_dropdown_menu ul, .N_dropdown_menu li,
.N_cate_sub, .N_cate_sub a,
.N_dropdown_sub, .N_dropdown_sub a,
.N_jobs_list, .N_jobs_list li,
.N_job_tags, .N_job_tags li,
.N_notice_list, .N_notice_list li,
.N_company_stats, .N_company_stats li { list-style: none; }
.N_navbar_top ul, .N_navbar_top li { background: transparent; }

/* ---- 自适应 ---- */
@media (max-width: 991px) {
    .N_logo_search .logo-search-inner { grid-template-columns: 1fr; }
    .N_logo_search .N_logo img { width: 200px; }
    .N_logo_search .N__searchbar .N_input_group { width: 100%; }
    .N_banner_window { height: 220px; }
    .N_banner_brand_title { font-size: 36px; }
    .N_banner_brand_sub { font-size: 18px; }
    .N_banner_brand_meta { font-size: 13px; padding: 6px 12px; }
    .N_banner_brand_meta strong { font-size: 16px; }
    .N_cate_grid { grid-template-columns: repeat(2, 1fr); }
    .N_company_grid { grid-template-columns: repeat(3, 1fr); }
    .N_job_item { grid-template-columns: 1fr; }
    .N_job_logo { display: none; }
    .N_dropdown_menu { min-width: 100%; }
    .N_dropdown_grid { grid-template-columns: repeat(2, 1fr); }
    .N_company_stats { grid-template-columns: repeat(2, 1fr); }
    .N_nav_list { flex-wrap: wrap; }
    .N_navbar_top .N_topbar_inner { flex-wrap: wrap; }
    .N_navbar_top .N_topbar_links { gap: 10px; }
}
@media (max-width: 600px) {
    .N_company_grid { grid-template-columns: repeat(2, 1fr); }
    .N_search_filters { flex-direction: column; align-items: stretch; }
    .N_banner_brand { padding: 0 24px; }
    .N_banner_brand_title { font-size: 28px; letter-spacing: 2px; }
    .N_banner_brand_sub { font-size: 14px; }
}
.N_logo_search .N__hot_fullrow { margin-top: 10px; padding-left: 270px; }
