/* Shared cards at a 1026px desktop content width. */
.trade-v2 .company-title h1>a{color:inherit;cursor:pointer}
/* Center company actions against the first title line, even when the name wraps. */
.trade-v2 .company-header .company-title{--company-title-line-height:36px;align-items:flex-start}
.trade-v2 .company-title h1{min-width:0;line-height:var(--company-title-line-height)}
.trade-v2 .company-title>button,.trade-v2 .company-title>.wechat-share{flex-shrink:0;height:var(--company-title-line-height);align-items:center}
.trade-v2 .company-content>.content-padding{position:relative;padding:52px 20px 20px}
.trade-v2 .company-content>.content-padding.company-jobs-list{padding-top:20px}
.trade-v2 .company-intro-report{position:absolute;top:20px;right:20px;font-size:13px}
.trade-v2 [data-company-introduction]{margin-top:4px}
/* Keep chat QR popovers visible outside the card; round the footer itself. */
.trade-v2 .job-card{border-color:#ECECEC;border-radius:10px;margin-bottom:10px;overflow:visible}
.trade-v2 .job-card-main{min-height:86px;padding:16px 20px;gap:16px}
.trade-v2 .job-card h3{font-size:16px;font-weight:600;line-height:24px}
.trade-v2 .job-card .job-card-meta{gap:10px;margin-top:8px;font-size:13px;line-height:20px}
.trade-v2 .job-card .salary{font-size:16px;line-height:22px}
.trade-v2 .job-card .job-card-meta>span{padding:0 6px;border-radius:3px}
.trade-v2 .job-card .card-actions{gap:6px}
.trade-v2 .job-card [data-apply],.trade-v2 .card-actions .chat-action{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 7px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:400;line-height:20px;white-space:nowrap}
.trade-v2 .job-card [data-apply]:not(:disabled){background:#ff563b;color:#fff;border-color:#ff563b}
.trade-v2 .card-actions .chat-qr{position:relative}.trade-v2 .card-actions{overflow:visible}
.trade-v2 .chat-qr-pop{width:calc(var(--hover-qr-size) + 16px);padding:8px;border-radius:8px;box-shadow:0 2px 18px #0002}
.trade-v2 .chat-qr-loading{display:none;width:var(--hover-qr-size);height:var(--hover-qr-size);align-items:center;justify-content:center}
.trade-v2 .chat-qr-pop[data-state="loading"] .chat-qr-loading{display:flex}
.trade-v2 .chat-qr-loading::after{content:"";width:24px;height:24px;border:3px solid #ffe4dc;border-top-color:#ff563b;border-radius:50%;animation:chat-qr-spin .8s linear infinite}
.trade-v2 .chat-qr-pop[data-state] b{display:block;margin-top:6px;font-size:12px;line-height:18px;font-weight:400;white-space:normal}
@keyframes chat-qr-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.trade-v2 .chat-qr-loading::after{animation:none}}
.trade-v2 .card-actions .chat-action{gap:4px;background:#fff3ef;color:#ff563b}
.trade-v2 .card-actions .chat-action img{width:14px;height:14px;margin:0;flex-shrink:0;object-fit:contain}
.trade-v2 .job-card .job-card-foot{min-height:30px;padding:5px 20px;line-height:20px;background:linear-gradient(90deg,#fff8ec,#f1fbfd);border-radius:0 0 9px 9px}
.trade-v2 .job-card .job-card-foot img{width:14px;height:14px;object-fit:contain}
.trade-v2 .job-card .job-card-foot time{flex-shrink:0;font-size:12px;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap}
.trade-v2 .job-card .job-card-foot>span>a,.trade-v2 .job-card .job-card-foot>span>span{font-size:14px}
.trade-v2 .job-card-hr{color:#888}
.trade-v2 .job-card-hr .hr-role{margin-left:7px}
.trade-v2 .job-overview .job-card-foot{flex-wrap:wrap}
.trade-v2 .job-overview .job-card-foot time{max-width:none;flex-shrink:0;overflow:visible;text-overflow:clip;margin-left:auto}
.trade-v2 .job-card .job-summary{margin:0 20px 12px;padding:0;max-height:48px;font-size:12px;line-height:24px}
.trade-v2 .related-jobs{padding:20px}
.trade-v2 .related-jobs .job-summary{font-size:15px}
.trade-v2 .related-jobs .job-card-meta>span{font-size:13px}
.trade-v2 .related-jobs .job-card-foot>span>a{font-size:14px}
.trade-v2 .related-jobs .section-heading>a{display:inline-flex;align-items:center;gap:6px}
.trade-v2 .related-jobs .section-heading>a>img{display:block;flex:none;width:18px;height:18px}
.trade-v2 .selectable-job.is-selected{outline:none;box-shadow:none;background:transparent}
.trade-v2 .selectable-job.is-selected>.job-card{border-color:#F75A3E}
.trade-v2 .section-heading>label,.trade-v2 .result-toolbar>label{display:inline-flex;align-items:center;gap:6px}
.trade-v2 .selectable-job>input[type=checkbox]{top:20px}
.trade-v2 .selectable-job .job-card-main{padding-left:46px}
@media(max-width:760px){
 .trade-v2 .company-header .company-title{--company-title-line-height:30px}
 .trade-v2 .company-content>.content-padding{padding:52px 16px 16px}
 .trade-v2 .related-jobs{padding:16px}
 .trade-v2 .related-jobs .section-heading{gap:10px;flex-wrap:wrap}
 .trade-v2 .related-jobs .section-heading>h2,.trade-v2 .section-heading>label,.trade-v2 .section-heading>a{flex-shrink:0;white-space:nowrap}
 .trade-v2 .job-card-main{padding:14px;gap:10px;flex-wrap:wrap}
 .trade-v2 .job-card-info{flex-basis:100%}
 .trade-v2 .job-card .card-actions{margin-left:auto;flex-direction:row}
 .trade-v2 .job-card .job-card-foot{padding-inline:14px}
 .trade-v2 .selectable-job>input[type=checkbox]{top:16px}
 .trade-v2 .selectable-job .job-card-main{padding-left:46px}
}
/* Campus recruitment badge: rctypes==0 (应届毕业生), shown after the job title link. */
.trade-v2 .job-card .campus-badge,.trade-v2 .search-job .campus-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:3px;font-size:12px;font-weight:400;line-height:18px;vertical-align:3px;background:#fff3ef;color:#ff563b}
/* Department title above its job group on company pages (PHP recruit_title). */
.trade-v2 .job-dept-title{display:flex;align-items:center;gap:8px;margin:18px 0 10px;font-size:15px;font-weight:600;line-height:22px;color:#333}
.trade-v2 .job-dept-title::before{content:"";flex:none;width:3px;height:14px;border-radius:2px;background:var(--accent)}
.trade-v2 .content-padding .job-dept-title:first-child{margin-top:0}
