/* ==========================================================================
   talent_v2.css —— 人才库页 v2（UI 重构）
   依赖 index_v2.css 先加载（设计令牌 :root 变量、页头页脚、侧栏卡片样式）。
   桌面端 1280px 居中；<1320px 转流式；<768px 单栏自适应。
   ========================================================================== */

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

/* ---------- 主体 ---------- */
.tl-main { width: 1280px; margin: 0 auto; }

/* ---------- 页头标语 + 筛选卡片 ---------- */
.tl-hero {
    background: var(--v2-card); border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow); margin-bottom: 10px; overflow: hidden;
}
.tl-hero-intro {
    padding: 14px 16px 10px; border-bottom: 1px solid var(--v2-line-soft);
    background: linear-gradient(to bottom, #f4f9ff, #e9f2fb);
}
.tl-hero-intro h5 { font-size: 18px; color: #195598; font-weight: bold; }
.tl-hero-intro p { margin-top: 4px; font-size: 12px; color: var(--v2-text-3); }
.tl-filter { padding: 12px 16px 14px; }
.tl-filter h6 {
    font-size: 13px; font-weight: bold; color: var(--v2-text); margin-bottom: 8px;
}
.tl-filter-row { display: flex; gap: 8px; }
.tl-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;
}
.tl-sel:focus { border-color: var(--v2-green); }
.tl-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;
}
.tl-submit:hover { background: var(--v2-green-dark); }

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

/* ---------- 人才卡片网格（两列） ---------- */
.tl-list { display: flex; flex-wrap: wrap; gap: 10px; }
.tl-card {
    flex: 0 0 calc(50% - 5px); min-width: 0; display: flex; gap: 12px; padding: 14px;
    background: var(--v2-card); border: 1px solid var(--v2-line);
    border-radius: var(--v2-radius); transition: box-shadow .15s, border-color .15s;
}
.tl-card:hover { border-color: var(--v2-green); box-shadow: var(--v2-shadow); }
/* 照片固定 93x124（竖版），object-fit 防变形 */
.tl-avatar { flex: 0 0 93px; width: 93px; height: 124px; overflow: hidden; border-radius: var(--v2-radius); }
.tl-avatar img { width: 93px; height: 124px; object-fit: cover; border-radius: var(--v2-radius); }
.tl-info { flex: 1; min-width: 0; }
.tl-line1 { margin-bottom: 6px; }
.tl-name { font-size: 15px; font-weight: bold; color: var(--v2-text); }
.tl-line1 a:hover .tl-name { color: var(--v2-blue); }
.tl-meta { font-size: 12px; color: var(--v2-text-3); margin-left: 6px; }
.tl-line2 {
    font-size: 13px; color: var(--v2-text); margin-bottom: 6px;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.tl-line3 {
    font-size: 12px; color: var(--v2-text-2); line-height: 1.7;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.tl-label { font-weight: bold; color: var(--v2-text); }

/* ---------- 分页（与职位页同款） ---------- */
.tl-page { padding: 14px 0; text-align: center; }
.tl-page a, .tl-page strong, .tl-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);
}
.tl-page a:hover { border-color: var(--v2-green); color: var(--v2-green-dark); }
.tl-page strong {
    background: var(--v2-green); border-color: var(--v2-green); color: #fff;
}

/* ---------- 企业引导横幅 ---------- */
.tl-cta {
    background: #fdf6ec; border: 1px solid #f5d9a8; border-radius: var(--v2-radius);
    padding: 12px 16px; margin-bottom: 10px; font-size: 13px; color: var(--v2-text-2);
    text-align: center;
}
.tl-cta-btn {
    display: inline-block; height: 28px; line-height: 28px; padding: 0 16px;
    background: var(--v2-green); color: #fff; border-radius: var(--v2-radius);
    font-size: 13px; margin: 0 4px; transition: background .15s;
}
.tl-cta-btn:hover { background: var(--v2-green-dark); color: #fff; }

/* ---------- 相关搜索（与职位页同款） ---------- */
.tl-related {
    background: var(--v2-card); border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow); padding: 12px; margin-bottom: 10px;
    display: flex; gap: 8px; align-items: baseline;
}
.tl-related span { font-weight: bold; color: var(--v2-text); white-space: nowrap; }
.tl-related p { flex: 1; }
.tl-related a {
    display: inline-block; margin: 2px 10px 2px 0; font-size: 12px;
    color: var(--v2-text-2);
}
.tl-related a:hover { color: var(--v2-blue); }

/* ---------- 照片悬浮预览 ---------- */
#phototip {
    position: absolute; z-index: 999; padding: 3px; background: #fff;
    border: 1px solid var(--v2-line); border-radius: var(--v2-radius);
    box-shadow: var(--v2-shadow);
}

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

/* ---------- 移动端 <768px ---------- */
@media (max-width: 767px) {
    .tl-filter-row { flex-wrap: wrap; }
    .tl-sel { flex: 0 0 calc(50% - 4px); }
    .tl-submit { flex: 0 0 100%; }
    .tl-card { flex: 0 0 100%; }
    .tl-related { margin-left: 0; margin-right: 0; }
}
