/* ==========================================================================
   jobs_v2.css —— 职位列表页 v2（UI 重构）
   依赖 index_v2.css 先加载（设计令牌 :root 变量、页头页脚、侧栏卡片样式）。
   桌面端 1000px 居中；<768px 单栏自适应。
   ========================================================================== */

/* ---------- 页面级宽度：1280px（覆盖 index_v2.css 的 1000px 头尾/导航） ---------- */
.v2-topnav ul, .v2-header, .v2-footer-main, .v2-footer-links { width: 1280px; }

/* ---------- 主体布局：左内容 + 右栏 ---------- */
.jb-main {
    width: 1280px; margin: 0 auto; display: flex; gap: 10px; align-items: flex-start;
}
.jb-content { flex: 1; min-width: 0; }
.jb-side { flex: 0 0 254px; min-width: 0; }

/* ---------- 筛选卡片 ---------- */
.jb-filter {
    background: var(--v2-card); border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow); margin-bottom: 10px; overflow: hidden;
}
.jb-filter h5 {
    height: 36px; line-height: 36px; padding: 0 12px; font-size: 14px; font-weight: bold;
    color: #195598; border-bottom: 1px solid #cfdcea;
    background: linear-gradient(to bottom, #e9eff7, #d9e4f0);
}
.jb-filter form { padding: 12px; }
.jb-filter-row { display: flex; gap: 8px; margin-bottom: 8px; }
.jb-filter-row:last-child { margin-bottom: 0; }
.jb-sel {
    flex: 1; min-width: 0; height: 32px; padding: 0 6px;
    border: 1px solid var(--v2-line); border-radius: var(--v2-radius);
    font-size: 12px; color: var(--v2-text-2); background: #fff; outline: none;
}
.jb-sel:focus { border-color: var(--v2-green); }
.jb-filter-kw { justify-content: center; }
.jb-kw {
    flex: 0 1 320px; height: 32px; padding: 0 10px;
    border: 1px solid var(--v2-line); border-radius: var(--v2-radius);
    font-size: 13px; outline: none;
}
.jb-kw:focus { border-color: var(--v2-green); }
.jb-submit {
    flex: 0 0 96px; height: 32px; border: 0; border-radius: var(--v2-radius);
    background: var(--v2-green); color: #fff; font-size: 14px; cursor: pointer;
    transition: background .15s;
}
.jb-submit:hover { background: var(--v2-green-dark); }

/* ---------- 结果统计 ---------- */
.jb-result {
    padding: 0 4px 8px; font-size: 12px; color: var(--v2-text-3);
}
.jb-result b { color: var(--v2-red); font-size: 14px; padding: 0 2px; }

/* ---------- 职位列表（保留原六列表格骨架） ---------- */
.jb-list {
    width: 100%; border-collapse: collapse; background: var(--v2-card);
    border-radius: var(--v2-radius); overflow: hidden; box-shadow: var(--v2-shadow);
}
.jb-list th {
    height: 36px; font-size: 13px; font-weight: bold; color: #195598;
    background: linear-gradient(to bottom, #e9eff7, #d9e4f0);
    border-bottom: 1px solid #cfdcea;
}
.jb-list td { padding: 8px 4px; font-size: 12px; color: var(--v2-text-2); }
.jb-row td { border-bottom: 0; }
.jb-row:hover td { background: #f6fafd; }
.jb-row td a.jb-name { font-weight: bold; color: #060; font-size: 15px; }
.jb-row td a.jb-name:hover { color: var(--v2-blue); }
.jb-row td a.jb-co { font-weight: bold; color: var(--v2-text); }
.jb-row td a.jb-co:hover { color: var(--v2-blue); }
.jb-row td img { vertical-align: middle; margin-left: 2px; }
.jb-subrow td {
    border-bottom: 1px solid var(--v2-line); padding: 4px 12px 12px; line-height: 1.9;
}
.jb-subrow:hover td { background: #f6fafd; }
.jb-label { font-weight: bold; color: var(--v2-text); }
.jb-pay { color: #f60; font-weight: bold; }
.jb-intro { color: var(--v2-text-2); }
.jb-more { color: var(--v2-blue); margin-left: 4px; }
.jb-actions { float: right; width: 140px; text-align: right; }
.jb-btn-apply, .jb-btn-fav {
    display: inline-block; height: 26px; line-height: 26px; padding: 0 14px;
    border-radius: var(--v2-radius); font-size: 12px; margin-left: 6px;
    transition: background .15s, color .15s;
}
.jb-btn-apply { background: var(--v2-green); color: #fff; }
.jb-btn-apply:hover { background: var(--v2-green-dark); color: #fff; }
.jb-btn-fav { border: 1px solid var(--v2-line); color: var(--v2-text-2); background: #fff; }
.jb-btn-fav:hover { border-color: var(--v2-green); color: var(--v2-green-dark); }

/* ---------- 分页 ---------- */
.jb-page { padding: 14px 0; text-align: center; }
.jb-page a, .jb-page strong, .jb-page span {
    display: inline-block; min-width: 28px; height: 28px; line-height: 28px;
    padding: 0 8px; margin: 0 2px; border-radius: var(--v2-radius);
    border: 1px solid var(--v2-line); background: #fff; font-size: 12px;
    color: var(--v2-text-2);
}
.jb-page a:hover { border-color: var(--v2-green); color: var(--v2-green-dark); }
.jb-page strong, .jb-page .current {
    background: var(--v2-green); border-color: var(--v2-green); color: #fff;
}

/* ---------- 右栏：微信 ---------- */
.jb-wx { padding: 10px; text-align: center; }
.jb-wx img { max-width: 100%; }

/* ---------- 右栏：急聘职位 ---------- */
.jb-urge { padding: 4px 0; }
.jb-urge-item {
    padding: 8px 12px; border-bottom: 1px dashed var(--v2-line-soft);
}
.jb-urge-item:last-child { border-bottom: 0; }
.jb-urge-line1 { height: 22px; line-height: 22px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.jb-urge-co { font-weight: bold; font-size: 12px; }
.jb-urge-online { font-size: 12px; color: var(--v2-text-3); margin-left: 4px; }
.jb-urge-line2 { height: 24px; line-height: 24px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.jb-urge-line2 a { color: var(--v2-text); font-size: 13px; }
.jb-urge-line2 a:hover { color: var(--v2-blue); }
.jb-urge-badge {
    display: inline-block; width: 18px; height: 18px; line-height: 18px;
    text-align: center; background: var(--v2-red); color: #fff; font-size: 11px;
    border-radius: 2px; margin-right: 4px; vertical-align: middle;
}
.jb-urge-addr { font-size: 12px; color: var(--v2-text-3); }

/* ---------- 相关搜索 ---------- */
.jb-related {
    width: 1280px; margin: 10px auto 0; background: var(--v2-card);
    border-radius: var(--v2-radius); box-shadow: var(--v2-shadow);
    padding: 12px; display: flex; gap: 8px; align-items: baseline;
}
.jb-related span { font-weight: bold; color: var(--v2-text); white-space: nowrap; }
.jb-related p { flex: 1; }
.jb-related a {
    display: inline-block; margin: 2px 10px 2px 0; font-size: 12px;
    color: var(--v2-text-2);
}
.jb-related a:hover { color: var(--v2-blue); }

/* ---------- 中等屏 <1320px：固定宽度转流式 ---------- */
@media (max-width: 1319px) {
    .v2-topnav ul, .v2-header, .v2-footer-main, .v2-footer-links,
    .jb-main, .jb-related { width: auto; }
    .jb-main { padding: 0 6px; }
    .jb-related { margin-left: 6px; margin-right: 6px; }
}

/* ---------- 移动端 <768px ---------- */
@media (max-width: 767px) {
    .jb-main { width: 100%; flex-direction: column; padding: 0 6px; }
    .jb-side { flex: none; width: 100%; }
    .jb-filter-row { flex-wrap: wrap; }
    .jb-sel { flex: 0 0 calc(50% - 4px); }
    .jb-kw { flex: 1; }
    .jb-submit { flex: 0 0 84px; }
    .jb-list th:nth-child(3), .jb-list td:nth-child(3),
    .jb-list th:nth-child(4), .jb-list td:nth-child(4),
    .jb-list th:nth-child(5), .jb-list td:nth-child(5) { display: none; }
    .jb-actions { float: none; width: auto; text-align: left; margin-bottom: 6px; }
    .jb-btn-apply, .jb-btn-fav { margin-left: 0; margin-right: 6px; }
    .jb-related { width: auto; margin: 10px 6px 0; }
}
