/* 人才招聘频道（/jobs、/jobs/post、/jobs/{id}、/resume/edit、/resume/{id}）
   结构与配色取自产品原型，用字面色值而不是 CSS 变量：本文件排在 commerce.css
   之后，且刻意避开 .hero / .crumb / .tag / .empty 等同名类，避免与全站样式打架。
   原型的 .hero → .jb-hero、.crumb → .jb-crumb、.kicker → .jb-kicker、
   .sec-head → .jb-sec-head（同名会被 commerce.css 的 !important 规则覆盖）。
   例外：.jb-hero 已按站内统一口径改为通栏浅色带（不再是原型的圆角红卡），见下方 hero 段。 */

/* 原型靠 `*{margin:0;padding:0}` 消掉浏览器默认外边距，本站没有这条（commerce.css 只重置
   box-sizing），标题 / 段落的 UA 外边距会漏进卡片，整块间距比原型明显偏大。
   这里在频道容器内做等价重置：`.jb-page *` 是 (0,1,0)，文件里所有显式 margin 规则
   (0,1,1 起) 都在它之后、特异性更高，所以只影响没写 margin 的元素。 */
.jb-page *{margin:0}
.jb-page ul,.jb-page ol{list-style:none;padding:0}

.jb-crumb{font-size:14.5px;color:#9A9AA5;padding:20px 0 16px}
.jb-crumb b{color:#55585F;font-weight:600}
.jb-crumb a:hover{color:#E63939}

/* hero 与 /robots 的 .r-hero、/exhibitions 的 .xp-hero-light 统一为「通栏浅色带」
   （commerce.css 的统一口径：radial + linear 渐变、底边线、深色标题、品牌红 kicker），
   不再是圆角红卡。通栏靠模板把 hero 放到 .wrap 之外实现（见 global_robot_jobs.go），
   不用 100vw 负边距出血 —— 那会把滚动条宽度也算进 100vw，整页多出横向滚动条。 */
.jb-hero{background:radial-gradient(circle at 75% 0,rgba(255,117,105,.12),transparent 34%),linear-gradient(110deg,#fff7f5 0,#fff 55%,#fff8f4 100%);border-bottom:1px solid #f1e5e2;padding:42px 0 38px;margin:0 0 26px}
.jb-hero .jb-kicker{font-size:13px;font-weight:800;letter-spacing:2px;color:#c81623;margin:0 0 12px}
.jb-hero h1{font-size:40px;font-weight:700;line-height:1.15;letter-spacing:-.5px;color:#1f2329;margin:0 0 12px}
.jb-hero p{font-size:17px;line-height:1.8;color:#606a78;max-width:820px;margin:0}
/* slim 只压高度：配色与字色跟 .r-hero 一样，内页不做 360px 高的大横幅 */
.jb-hero.slim{padding:30px 0 28px;margin-bottom:20px}
.jb-hero.slim .jb-kicker{font-size:12.5px;margin-bottom:8px}
.jb-hero.slim h1{font-size:32px;line-height:1.25;margin-bottom:0}
.jb-hero.slim p{font-size:15.5px;margin:10px 0 0}
@media (max-width:900px){.jb-hero{padding:30px 0 26px}.jb-hero h1{font-size:28px}.jb-hero p{font-size:15.5px}.jb-hero.slim{padding:24px 0 22px}.jb-hero.slim h1{font-size:23px}}

.jb-sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.jb-sec-head .t{font-size:26px;font-weight:800;letter-spacing:-.3px;display:flex;align-items:center;gap:12px;color:#1B1B1F}
.jb-sec-head .t i{width:5px;height:24px;border-radius:3px;background:#E63939;display:inline-block}
.jb-sec-head .c{font-size:14.5px;color:#9A9AA5}
.jb-sec-head .c em{font-style:normal;color:#E63939}
.jb-truncated{margin:-8px 0 14px;font-size:13.5px;color:#9A9AA5}

.jtabs{display:flex;gap:6px;width:100%;max-width:440px;margin:0 auto 22px;background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:6px}
.jtabs .jt{flex:1;height:46px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#55585F;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;text-decoration:none}
.jtabs .jt:hover{background:#F5F6F8;color:#E63939}
.jtabs .jt.on{background:linear-gradient(135deg,#FF6B5B,#E63939);color:#fff;box-shadow:0 4px 12px rgba(230,57,57,.24)}
.jtabs .jt.on:hover{background:linear-gradient(135deg,#FF6B5B,#E63939);color:#fff}

.jfilter{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:16px 22px;margin-bottom:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.jfilter select,.jfilter input{height:44px;border:1px solid #ECECF0;border-radius:8px;padding:0 14px;font-size:15px;font-family:inherit;color:#1B1B1F;background:#fff;cursor:pointer}
/* 原生 select 与增强后的 .gr-select 必须同宽：原生宽度由最长选项决定（实测 114px），
   增强后是 132px —— 不锁死的话页面加载时会先显示 114px 再跳成 132px，筛选框自己「抖一下」。 */
.jfilter select{width:132px}
.jfilter input{cursor:text;flex:1;min-width:200px}
.jfilter select:focus,.jfilter input:focus{outline:none;border-color:#E63939}
.jfilter .go{height:44px;padding:0 30px;border:0;border-radius:8px;cursor:pointer;flex-shrink:0;font-family:inherit;background:linear-gradient(135deg,#FF6B5B,#E63939);color:#fff;font-size:15px;font-weight:700;letter-spacing:.5px;white-space:nowrap;box-shadow:0 4px 12px rgba(230,57,57,.22);transition:filter .15s,box-shadow .15s}
.jfilter .go:hover{filter:brightness(1.06);box-shadow:0 6px 16px rgba(230,57,57,.3)}
.jfilter .go:active{filter:brightness(.96);box-shadow:0 2px 8px rgba(230,57,57,.22)}
.jfilter .go:focus-visible{outline:2px solid #E63939;outline-offset:2px}
.jfilter .side{height:44px;padding:0 22px;border-radius:8px;border:1px solid #FFC9C4;background:#FDEDED;color:#E63939;font-size:15px;font-weight:700;margin-left:auto;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.jfilter .side:hover{background:#FBE0DD;color:#E63939}
/* 下拉已换成站内组件（GRUI.enhanceSelect）：原生 select 只留 1px 当值容器，
   上面 .jfilter select 的尺寸规则不再作用于视觉层，尺寸与配色补到包装元素与触发器上，
   保证与同排的 input / 按钮齐平（44px 高、8px 圆角、15px 字）。 */
.jfilter .gr-select{width:132px}
.jfilter .gr-select-trigger{padding:0 14px!important;border-color:#ECECF0;border-radius:8px;font-size:15px;color:#1B1B1F}
.jfilter .gr-select.open .gr-select-trigger,
.jfilter .gr-select:focus-within .gr-select-trigger{border-color:#E63939;box-shadow:0 0 0 3px rgba(230,57,57,.12)}
.jfilter .gr-select.open .gr-select-trigger:after,
.jfilter .gr-select:focus-within .gr-select-trigger:after{border-color:#E63939}

.jlayout{display:flex;gap:26px;align-items:flex-start;padding:0 0 56px}
.jrail{width:236px;flex-shrink:0;position:sticky;top:208px;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:10px 0;overflow:hidden}
.jrail a{display:block;padding:14px 22px;font-size:15.5px;font-weight:600;color:#55585F;cursor:pointer;text-decoration:none}
.jrail a:hover{background:#FDEDED;color:#E63939}
.jrail a.on{background:#FDEDED;color:#E63939;font-weight:800;box-shadow:inset 3px 0 0 #E63939}
.jmain{flex:1;min-width:0}
.jstats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);margin-bottom:20px;overflow:hidden}
.jstats div{text-align:center;padding:20px 12px}
.jstats b{display:block;font-size:30px;font-weight:800;color:#E63939;letter-spacing:-.6px;font-variant-numeric:tabular-nums;line-height:1.15}
.jstats span{display:block;font-size:14px;color:#9A9AA5;margin-top:7px}

/* 简历卡（我要招聘） */
.tcard{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:22px 26px;display:flex;gap:22px;margin-bottom:16px;transition:transform .14s,box-shadow .14s}
.tcard:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(27,27,31,.06),0 16px 36px rgba(27,27,31,.10)}
.tcard .ph{position:relative;width:96px;height:96px;border-radius:12px;flex-shrink:0;background:linear-gradient(135deg,#FFB3A7,#E63939);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800}
.tcard .ph .rv{position:absolute;left:0;right:0;bottom:0;height:26px;background:linear-gradient(135deg,#FF6B5B,#E63939);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:0 0 11px 11px}
.tcard .c{flex:1;min-width:0}
.tcard .nm{font-size:19px;font-weight:800;color:#1B1B1F}
.tcard .mt{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:14px;color:#9A9AA5}
.tcard .it{font-size:15.5px;color:#55585F;margin-top:13px}
.tcard .it b{color:#1B1B1F;font-weight:700}
.tcard .adv{font-size:14.5px;color:#55585F;line-height:1.8;margin-top:9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tcard .adv b{color:#1B1B1F;font-weight:700}
.tcard .acts{display:flex;align-items:center;flex-shrink:0}

/* 职位卡（我要找工作） */
.jcard{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:22px 26px;display:flex;gap:26px;align-items:center;margin-bottom:16px;transition:transform .14s,box-shadow .14s}
.jcard:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(27,27,31,.06),0 16px 36px rgba(27,27,31,.10)}
.jcard .jl{flex:1 1 44%;min-width:0}
.jcard .jl .tt{font-size:19px;font-weight:800;line-height:1.4;color:#1B1B1F}
.jcard .jl .tt span{font-size:14.5px;font-weight:600;color:#9A9AA5;margin-left:8px}
.jcard .sal{font-size:21px;font-weight:800;color:#E63939;margin-top:11px;font-variant-numeric:tabular-nums}
.jcard .tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}
.jcard .tags span{font-size:13.5px;font-weight:600;color:#55585F;background:#F5F6F8;border-radius:6px;padding:5px 12px}
.jcard .jc{flex:1 1 40%;min-width:0;display:flex;gap:14px;align-items:flex-start}
.jcard .jc .lg{width:52px;height:52px;border-radius:11px;flex-shrink:0;background:#F5F6F8;color:#55585F;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}
.jcard .jc .cn{font-size:16px;font-weight:800;line-height:1.5;color:#1B1B1F}
.jcard .jc .cd{font-size:14px;color:#55585F;line-height:1.7;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jcard .ja{flex-shrink:0}

.btn-j{height:42px;padding:0 24px;border-radius:8px;background:linear-gradient(135deg,#FF6B5B,#E63939);color:#fff;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 4px 12px rgba(230,57,57,.22);text-decoration:none;border:none;cursor:pointer}
.btn-j:hover{filter:brightness(1.05);color:#fff}
.btn-j2{height:42px;padding:0 24px;border-radius:8px;border:1px solid #FFC9C4;background:#FDEDED;color:#E63939;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;cursor:pointer}
.btn-j2:hover{background:#FBE0DD;color:#E63939}

.jempty{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:56px 30px;text-align:center}
.jempty h3{font-size:19px;font-weight:800;color:#1B1B1F}
.jempty p{font-size:15px;color:#55585F;line-height:1.85;margin-top:10px}
.jempty .acts{display:flex;gap:12px;justify-content:center;margin-top:20px;flex-wrap:wrap}

/* 详情页 */
.jd-head{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:28px 32px;margin-bottom:20px}
.jd-head h1{font-size:28px;font-weight:800;letter-spacing:-.4px;line-height:1.35;color:#1B1B1F}
.jd-head .sal{font-size:26px;font-weight:800;color:#E63939;margin-top:12px;font-variant-numeric:tabular-nums}
.jd-head .tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.jd-head .tags span{font-size:14px;font-weight:600;color:#55585F;background:#F5F6F8;border-radius:7px;padding:6px 14px}
.jd-head .up{font-size:13.5px;color:#9A9AA5;margin-top:14px}
.jd-card{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:26px 32px;margin-bottom:20px}
.jd-card h2{font-size:20px;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#1B1B1F}
.jd-card h2 i{width:5px;height:20px;border-radius:3px;background:linear-gradient(180deg,#FF6B5B,#E63939);flex-shrink:0}
.jd-card p{font-size:16px;color:#55585F;line-height:1.95;margin-bottom:12px}
.jd-card ul{list-style:none;padding:0;margin:0}
.jd-card ul li{position:relative;font-size:16px;color:#55585F;line-height:1.9;padding-left:22px;margin-bottom:9px}
.jd-card ul li::before{content:'';position:absolute;left:4px;top:12px;width:6px;height:6px;border-radius:50%;background:#E63939}
.jd-welf{display:flex;flex-wrap:wrap;gap:10px}
.jd-welf span{font-size:14px;font-weight:700;color:#E63939;background:#FDEDED;border:1px solid #FFC9C4;border-radius:7px;padding:6px 14px}
.jd-co{display:flex;gap:18px;align-items:flex-start}
.jd-co .lg{width:64px;height:64px;border-radius:13px;flex-shrink:0;background:#FDEDED;color:#E63939;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800}
.jd-co .nm{font-size:19px;font-weight:800;color:#1B1B1F}
.jd-co .mt{font-size:14.5px;color:#9A9AA5;margin-top:8px;line-height:1.8}
.jd-co .ds{font-size:15px;color:#55585F;line-height:1.85;margin-top:12px}
.jd-side{width:340px;flex-shrink:0;position:sticky;top:208px}
.jd-side .jd-card{padding:24px 26px}
.jd-side .jd-card h3{font-size:19px;font-weight:800;color:#1B1B1F}
.jd-side .jd-card .tip{font-size:14px;color:#55585F;line-height:1.8;margin-top:10px}
.jd-side .jd-card .btn-j,.jd-side .jd-card .btn-j2{width:100%;margin-top:12px}
.jd-note{margin-top:16px;background:#F5F6F8;border-radius:9px;padding:13px 18px;font-size:13.5px;color:#9A9AA5;line-height:1.85}
.jd-kv{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#F2F3F5;border:1px solid #F2F3F5;border-radius:10px;overflow:hidden;margin-top:4px}
.jd-kv .k{background:#fff;padding:14px 20px}
.jd-kv .k>span{display:block;font-size:13.5px;color:#9A9AA5}
.jd-kv .k>b{display:block;font-size:16px;font-weight:700;margin-top:5px;line-height:1.6;color:#1B1B1F}

.res-hd{display:flex;gap:24px;align-items:flex-start}
.res-hd .ph{width:104px;height:104px;border-radius:14px;flex-shrink:0;background:linear-gradient(135deg,#FFB3A7,#E63939);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800}
.res-hd h1{font-size:27px;font-weight:800;letter-spacing:-.4px;color:#1B1B1F}
.res-skills{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.res-skills span{font-size:14px;font-weight:700;color:#E63939;background:#FDEDED;border:1px solid #FFC9C4;border-radius:7px;padding:6px 14px}
.tl-line{padding-left:6px}
.tl-line .it{position:relative;padding:0 0 22px 22px;border-left:2px solid #ECECF0}
.tl-line .it:last-child{border-left-color:transparent;padding-bottom:0}
.tl-line .it::before{content:'';position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #E63939}
.tl-line .it .w{font-size:14px;color:#9A9AA5;font-weight:600}
.tl-line .it .n{font-size:16.5px;font-weight:800;margin-top:6px;color:#1B1B1F}
.tl-line .it .s{font-size:15px;color:#55585F;margin-top:6px}

/* 表单页 */
.jform{background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(27,27,31,.03),0 6px 20px rgba(27,27,31,.05);padding:28px 32px;margin-bottom:20px}
.jform h2{font-size:20px;font-weight:800;display:flex;align-items:center;gap:10px;margin-bottom:6px;color:#1B1B1F}
.jform h2 i{width:5px;height:20px;border-radius:3px;background:linear-gradient(180deg,#FF6B5B,#E63939);flex-shrink:0}
.jform .sub{font-size:14px;color:#9A9AA5;margin-bottom:20px}
.jform .sub em{color:#E63939;font-style:normal}
.f-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.f-grid-gap{margin-top:18px}
.f-item{display:flex;flex-direction:column;gap:8px}
.f-item.full{grid-column:1/-1}
.f-item label{font-size:14.5px;font-weight:700;color:#55585F}
.f-item label em{color:#E63939;font-style:normal}
.f-item input,.f-item select,.f-item textarea{width:100%;border:1px solid #ECECF0;border-radius:8px;padding:12px 14px;font-size:15px;font-family:inherit;color:#1B1B1F;background:#fff}
.f-item textarea{min-height:110px;resize:vertical;line-height:1.8}
.f-item input:focus,.f-item select:focus,.f-item textarea:focus{outline:none;border-color:#E63939}
.f-item .hint{font-size:13px;color:#9A9AA5}
.tagpick{display:flex;flex-wrap:wrap;gap:10px}
.tagpick b{font-size:14px;font-weight:600;color:#55585F;background:#F5F6F8;border:1px solid transparent;border-radius:8px;padding:8px 14px;cursor:pointer}
.tagpick b.on{color:#E63939;background:#FDEDED;border-color:#FFC9C4;font-weight:800}
.jform-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.jform-confirm{display:flex;align-items:center;gap:10px;font-size:15px;color:#55585F}
.jform-confirm input{width:16px;height:16px;accent-color:#E63939}
.jform .acts{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.jform-submit .acts{margin:0 0 0 auto}
.jform .ok{display:none;margin-top:18px;background:#FDEDED;border:1px solid #FFC9C4;border-radius:9px;padding:14px 18px;font-size:15px;color:#B4554E;font-weight:600;flex-basis:100%}
.jform .ok.show{display:block}
.jform-submit .ok{margin-top:0}
.jform .ok.err{border-color:#E63939;color:#B5252B}

@media(max-width:1080px){.jd-side{width:300px}.jrail{width:200px}}
@media(max-width:900px){.jlayout{flex-wrap:wrap}.jrail{width:100%;position:static;display:flex;overflow-x:auto;padding:0}.jrail a{white-space:nowrap;box-shadow:none!important}.jrail a.on{background:#FDEDED}.jd-side{width:100%;position:static}.tcard,.jcard{flex-wrap:wrap}.jcard .ja{width:100%}.f-grid{grid-template-columns:1fr}.jstats{grid-template-columns:1fr}}
