/* Danh sách việc làm (td_jobs) - màu chủ đạo #f7941d */
.td-jobs{--td-main:#f7941d;--td-main-d:#e57d00;--td-soft:#fff1e0;--td-navy:#0e1b33;--td-ink:#18202f;--td-muted:#7a8394;--td-line:#ebe6dc;--td-red:#c0392b}
.td-jobs *{box-sizing:border-box}
.td-jobs p,.td-jobs h3{margin:0;padding:0}
.td-jobs a{text-decoration:none}
.td-tabs{display:inline-flex;gap:4px;padding:5px;margin-bottom:18px;border-radius:999px;background:#fff;border:1px solid var(--td-line)}
.td-jobs .td-tab{margin:0;min-height:0;border:0;background:transparent;padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;color:var(--td-muted);text-transform:none;letter-spacing:0;line-height:1.2;cursor:pointer;transition:all .2s}
.td-jobs .td-tab:hover{color:var(--td-main)}
.td-jobs .td-tab.is-active{background:var(--td-main);color:#fff;box-shadow:0 6px 16px -8px rgba(247,148,29,.8)}
.td-list{display:none;flex-direction:column;gap:12px}
.td-list.is-active{display:flex}
.td-job{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--td-line);border-radius:16px;transition:transform .25s,box-shadow .25s,border-color .25s}
.td-job::before{content:'';position:absolute;left:-1px;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--td-main);opacity:0;transition:opacity .25s}
.td-job:hover{transform:translateY(-2px);border-color:rgba(247,148,29,.45);box-shadow:0 12px 28px -16px rgba(14,27,51,.25)}
.td-job:hover::before{opacity:1}
.td-job__logo{width:64px;height:64px;border-radius:14px;border:1px solid var(--td-line);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.td-job__logo img{width:100%;height:100%;object-fit:contain;padding:6px;margin:0}
.td-job__logo span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--td-navy);color:var(--td-main);font-weight:700;font-size:17px;letter-spacing:.04em}
.td-jobs .td-job__title{font-size:16px;font-weight:600;line-height:1.4;margin-bottom:3px;color:var(--td-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.td-job__title a{color:var(--td-ink)}
.td-job__title a:hover{color:var(--td-main-d)}
.td-job__company{font-size:13.5px;color:var(--td-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-job__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.td-chip .td-ico{color:var(--td-muted)}
.td-chip--salary .td-ico{color:var(--td-main)}
.td-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border-radius:8px;background:#f6f3ee;color:#3e4757}
.td-chip--salary{background:var(--td-soft);color:#b35f00;font-weight:600}
.td-job__side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.td-deadline{font-size:12.5px;color:var(--td-muted);white-space:nowrap}
.td-deadline.is-soon{color:var(--td-red);font-weight:600}
.td-deadline.is-expired{color:#a0a6b1;text-decoration:line-through}
.td-job__apply{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--td-line);font-size:13px;font-weight:600;color:var(--td-navy);white-space:nowrap;transition:all .2s}
.td-job:hover .td-job__apply{background:var(--td-main);border-color:var(--td-main);color:#fff}
.td-empty{padding:26px;text-align:center;color:var(--td-muted);background:#fff;border:1px dashed var(--td-line);border-radius:16px}
.td-more{text-align:center;margin-top:14px}
.td-more a{display:inline-flex;align-items:center;height:46px;padding:0 26px;border-radius:999px;border:1px solid var(--td-main);color:var(--td-main-d);font-weight:600;transition:all .2s}
.td-more a:hover{background:var(--td-main);color:#fff}
@media (max-width:549px){
	.td-tabs{display:flex;width:100%}
	.td-jobs .td-tab{flex:1;padding:9px 6px}
	.td-job{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:14px;align-items:start}
	.td-job__logo{width:52px;height:52px;border-radius:12px}
	.td-jobs .td-job__title{font-size:15px}
	.td-job__side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px dashed var(--td-line)}
	.td-job__apply{height:32px}
}

/* ================= Trang chi tiết & danh sách tuyển dụng (kiểu TopCV) ================= */
.td-page{--td-main:#f7941d;--td-main-d:#e57d00;--td-soft:#fff1e0;--td-navy:#0e1b33;--td-ink:#212f3f;--td-muted:#7a8394;--td-line:#e9eaec;background:#f3f5f7;padding:18px 0 60px;color:var(--td-ink)}
.td-page *{box-sizing:border-box}
.td-page h1,.td-page h2,.td-page h3,.td-page h4{color:var(--td-ink);letter-spacing:0;text-transform:none}
.td-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--td-muted);margin:0 0 16px}
.td-crumb a{color:var(--td-main-d);font-weight:500}
.td-crumb span{color:var(--td-ink)}
.td-card{background:#fff;border-radius:12px;padding:22px 24px;margin-bottom:20px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.td-page .td-card__title{position:relative;font-size:19px;font-weight:700;margin:0 0 16px;padding-left:14px}
.td-card__title::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:5px;border-radius:4px;background:var(--td-main)}
.td-page .td-card__title--sm{font-size:16px;margin-top:6px}

/* Chi tiết */
.td-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}
.td-page .td-head__title{font-size:clamp(20px,2.4vw,24px);font-weight:700;line-height:1.4;margin:0 0 18px}
.td-head__info{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}
.td-hi,.td-gi{display:flex;align-items:center;gap:12px;min-width:0}
.td-hi__ico{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffb055,var(--td-main));color:#fff;font-size:16px}
.td-hi small,.td-gi small{display:block;font-size:13px;color:var(--td-muted)}
.td-hi b,.td-gi b{display:block;font-size:15px;font-weight:600;color:var(--td-ink);line-height:1.35}
.td-head__deadline{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:7px 12px;border-radius:6px;background:#f2f4f5;font-size:14px;color:#4d5965}
.td-head__deadline.is-expired{background:#fdecea;color:#c0392b}
.td-head__actions{display:flex;flex-wrap:wrap;gap:10px}
.td-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:8px;font-weight:600;font-size:15px;transition:all .2s;flex:1 1 auto;text-align:center}
.td-btn--main{background:var(--td-main);color:#fff!important}
.td-btn--main:hover{background:var(--td-main-d)}
.td-btn--line{flex:0 1 auto;border:1px solid var(--td-main);color:var(--td-main-d)!important;background:#fff}
.td-btn--line:hover{background:var(--td-soft)}
.td-btn--off{background:#eef0f2;color:var(--td-muted)}
.td-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.td-tags a{padding:5px 12px;border-radius:6px;background:#f2f4f5;font-size:13.5px;color:#4d5965}
.td-tags a:hover{background:var(--td-soft);color:var(--td-main-d)}
.td-block{margin-top:20px}
.td-page .td-block h3{font-size:16px;font-weight:700;margin:0 0 10px}
.td-page .td-sub{font-size:15px;font-weight:600;margin:12px 0 6px;color:var(--td-ink)}
.td-page .td-ul{list-style:none;margin:0 0 6px;padding:0}
.td-page .td-ul li{position:relative;margin:0 0 6px;padding-left:18px;line-height:1.65;font-size:15px;color:#3b4652}
.td-page .td-ul li::before{content:'';position:absolute;left:3px;top:.7em;width:6px;height:6px;border-radius:50%;background:#9aa3ad}
.td-ul--place li b{color:var(--td-ink)}
.td-block__deadline{margin:14px 0 0;font-size:14px;color:var(--td-muted)}
.td-block .td-head__actions{margin-top:14px;max-width:460px}
.td-detail__side .td-card{padding:20px}
.td-company__top{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.td-company__logo{flex:0 0 76px;width:76px;height:76px;border-radius:10px;border:1px solid var(--td-line);display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.td-company__logo img{width:100%;height:100%;object-fit:contain;padding:6px;margin:0}
.td-company__logo span,.td-job__logo span{font-weight:800;color:var(--td-main)}
.td-company__logo span{font-size:22px}
.td-page .td-company__name{font-size:16px;font-weight:700;line-height:1.4;margin:0}
.td-company__row{display:flex;gap:10px;margin:0 0 10px;font-size:14px;color:#4d5965;line-height:1.5}
.td-company__link{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-weight:600;font-size:14px;color:var(--td-main-d)!important}
.td-general .td-gi{padding:10px 0}
.td-general .td-gi + .td-gi{border-top:1px dashed var(--td-line)}
.td-general .td-hi__ico{background:var(--td-soft);color:var(--td-main);font-size:15px}
.td-sticky{display:none}

/* Danh sách */
.td-listing{padding-top:0}
.td-listing__search{padding:22px 0 6px}
.td-page .td-listing__title{font-size:20px;font-weight:600;margin:0 0 16px;line-height:1.45}
.td-listing__title b{color:var(--td-main-d)}
.td-listing__title span{font-size:14px;font-weight:400;color:var(--td-muted)}
.td-listing__wrap{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}
.td-filter{background:#fff;border-radius:12px;padding:18px;position:sticky;top:90px}
.td-filter__head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--td-line)}
.td-filter__head b{font-size:16px}
.td-filter__head a{font-size:13px;color:var(--td-main-d)}
.td-filter__group{padding:12px 0;border-bottom:1px solid var(--td-line)}
.td-filter__group:last-child{border-bottom:0}
.td-page .td-filter__group h4{font-size:15px;font-weight:600;margin:0 0 8px}
.td-radio{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14px;color:#3b4652}
.td-radio::before{content:'';flex:0 0 16px;width:16px;height:16px;border-radius:50%;border:2px solid #c9ced6;transition:all .15s}
.td-radio:hover{color:var(--td-main-d)}
.td-radio.is-on{color:var(--td-ink);font-weight:600}
.td-radio.is-on::before{border:5px solid var(--td-main)}
.td-sortbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:12px;padding:12px 16px;margin-bottom:14px;font-size:14px}
.td-sortbar b{color:var(--td-main-d)}
.td-sortbar__opts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.td-sortbar__opts > span{color:var(--td-muted)}
.td-pill{padding:5px 12px;border-radius:999px;border:1px solid var(--td-line);color:#4d5965;font-size:13.5px}
.td-pill.is-on{border-color:var(--td-main);background:var(--td-soft);color:var(--td-main-d);font-weight:600}
.td-filter-toggle{display:none}
.td-listing .td-job,.td-detail .td-job{border-radius:12px;border-color:#edeef0}
.td-listing .td-job:hover{border-color:var(--td-main)}


.td-pagination{margin-top:24px;text-align:center}
.td-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;margin:0 3px;border-radius:10px;border:1px solid var(--td-line);background:#fff;color:var(--td-ink)}
.td-pagination .page-numbers.current{background:var(--td-main);border-color:var(--td-main);color:#fff}


/* Icon SVG */
.td-ico{display:inline-block;flex-shrink:0;vertical-align:-.15em;width:1em;height:1em}
.td-hi__ico .td-ico{width:18px;height:18px}
.td-crumb .td-ico{width:12px;height:12px;color:#b5bac3}
.td-chip .td-ico{width:14px;height:14px}
.td-deadline .td-ico{width:13px;height:13px}
.td-btn .td-ico{width:17px;height:17px}
.td-company__row .td-ico{width:16px;height:16px;margin-top:2px;color:var(--td-muted)}
.td-company__link .td-ico{width:13px;height:13px}
.td-filter__head .td-ico{color:var(--td-main)}

@media (max-width:849px){
	.td-detail,.td-listing__wrap{grid-template-columns:minmax(0,1fr)}
	.td-detail__side{order:2}
	.td-filter{position:static;display:none}
	.td-filter.is-open{display:block}
	.td-filter-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:0;padding:7px 14px;border-radius:8px;border:1px solid var(--td-main);background:#fff;color:var(--td-main-d);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0}
	.td-page{padding-bottom:90px}
	.td-sticky{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:99;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -6px 20px -8px rgba(0,0,0,.2)}
}
@media (max-width:549px){
	.td-card{padding:18px 16px;border-radius:10px}
	.td-head__info{grid-template-columns:1fr;gap:12px}
	.td-sortbar__opts{width:100%;order:3}
	.td-page .td-listing__title{font-size:17px}
}

/* ================= Bố cục theo TopCV ================= */
.td-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:88px;height:88px;border-radius:10px;border:1px solid var(--td-line);background:#fff;overflow:hidden}
.td-logo img{width:100%;height:100%;object-fit:contain;padding:6px;margin:0}
.td-logo b{font-size:24px;font-weight:800;color:var(--td-main)}
.td-logo--sm{width:40px;height:40px;border-radius:8px}
.td-logo--sm b{font-size:14px}
.td-jh__company{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:14px;font-weight:600;color:#4d5965;text-transform:uppercase;line-height:1.4}
.td-jh__company a{color:#4d5965}
.td-jh__company a:hover{color:var(--td-main-d)}
.td-page .td-jh__title{font-size:clamp(20px,2.4vw,24px);font-weight:700;line-height:1.4;margin:0 0 10px}
.td-jh__salary{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--td-main-d);margin-bottom:16px}
.td-jh__salary .td-ico{width:22px;height:22px}
.td-jh__info{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.td-jh__info b.is-expired{color:#c0392b}
.td-jh__actions{display:flex;flex-wrap:wrap;gap:10px}
.td-jh__actions .td-btn--main{flex:1 1 auto}
.td-btn--gray{flex:0 1 auto;background:#fff;border:1px solid #c9ced6;color:#3b4652!important}
.td-btn--gray:hover{border-color:var(--td-main);color:var(--td-main-d)!important}
.td-tabs-bar{position:relative;display:flex;gap:4px;background:#fff;border-radius:12px;padding:6px;margin:-8px 0 20px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.td-page .td-tabs-bar button{flex:0 0 auto;margin:0;min-height:0;padding:9px 18px;border:0;border-radius:8px;background:transparent;font-weight:600;font-size:14.5px;line-height:1.4;color:#4d5965;text-transform:none;letter-spacing:0;cursor:pointer;transition:all .15s}
.td-page .td-tabs-bar button:hover{color:var(--td-main-d)}
.td-page .td-tabs-bar button.is-active{background:var(--td-soft);color:var(--td-main-d)}
.td-pane[hidden]{display:none!important}
.td-copane__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:4px 0 22px;padding:16px;border-radius:10px;background:#f8f9fa}
.td-copane__grid .td-hi__ico{background:var(--td-soft);color:var(--td-main)}
.td-co__web{font-size:14px;color:var(--td-main-d)!important}
.td-copane .td-co__head{margin-bottom:16px}
.td-item + .td-item{margin-top:26px}
.td-page .td-item__title{position:relative;font-size:20px;font-weight:700;margin:0 0 14px;padding-left:12px;line-height:1.3}
.td-item__title::before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:6px;border-radius:3px;background:var(--td-main)}
.td-item__text{font-size:15px;line-height:1.7;color:#3b4652}
.td-taggroup{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.td-page .td-taggroup h3{flex:0 0 96px;margin:6px 0 0;font-size:14.5px;font-weight:600;color:var(--td-ink)}
.td-taggroup .td-tags{margin:0}
.td-tags span{padding:5px 12px;border-radius:6px;background:#f2f4f5;font-size:13.5px;color:#4d5965}
.td-reqtags{display:grid;gap:10px;margin-top:14px}
.td-reqtag{padding:12px 14px;border-radius:8px;background:#f8f9fa;border:1px solid #eef0f2}
.td-page .td-reqtag h3{font-size:14px;font-weight:600;margin:0 0 4px;color:var(--td-muted)}
.td-reqtag p{margin:0;font-size:14.5px;color:var(--td-ink)}
.td-at{margin-top:14px}
.td-page .td-at h3{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--td-ink)}
.td-at--apply{padding-top:14px;border-top:1px dashed var(--td-line)}
.td-at--apply .td-jh__actions{max-width:460px}
.td-at--apply p{margin:12px 0 0;font-size:14px;color:var(--td-muted)}
.td-co__head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.td-page .td-co__name{font-size:16px;font-weight:700;line-height:1.45;margin:0;text-transform:uppercase}
.td-co__row{display:grid;grid-template-columns:18px auto 1fr;gap:8px;align-items:start;margin-bottom:10px;font-size:14px;line-height:1.5}
.td-co__row .td-ico{width:16px;height:16px;margin-top:2px;color:var(--td-muted)}
.td-co__label{color:var(--td-muted);white-space:nowrap}
.td-co__val{color:var(--td-ink);font-weight:500}
.td-co__link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-weight:600;font-size:14px;color:var(--td-main-d)!important}
.td-co__link .td-ico{width:13px;height:13px}
.td-gen__list{display:grid;grid-template-columns:1fr;gap:14px}
.td-gen .td-hi__ico{background:var(--td-soft);color:var(--td-main)}
.td-page .td-cat__title{font-size:16px;font-weight:700;margin:0 0 10px}
.td-cat .td-tags + .td-cat__title{margin-top:16px;padding-top:16px;border-top:1px solid var(--td-line)}
.td-safe p{margin:0 0 8px;font-size:14px;color:#4d5965;line-height:1.6}
.td-safe .td-ul li{font-size:14px}

/* Thẻ việc làm v2 */
.td-job2{display:flex;gap:16px;padding:16px;background:#fff;border:1px solid #eef0f2;border-radius:10px;transition:border-color .2s,box-shadow .2s}
.td-job2:hover{border-color:var(--td-main,#f7941d);box-shadow:0 8px 24px -16px rgba(16,24,40,.35)}
.td-job2.is-hot{background:linear-gradient(90deg,#fff7ec,#fff 40%)}
.td-job2__logo{flex:0 0 96px;width:96px;height:96px;border-radius:8px;border:1px solid #eef0f2;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.td-job2__logo img{width:100%;height:100%;object-fit:contain;padding:6px;margin:0}
.td-job2__logo span{font-size:26px;font-weight:800;color:#f7941d}
.td-job2__body{flex:1;min-width:0;display:flex;flex-direction:column}
.td-job2__top{display:flex;justify-content:space-between;gap:12px}
.td-job2__titles{min-width:0}
.td-job2 .td-job2__title{margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.45;color:#212f3f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-transform:none;letter-spacing:0}
.td-job2__title a{color:#212f3f}
.td-job2__title a:hover{color:#e57d00}
.td-badge{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:4px;background:#e74c3c;color:#fff;font-size:11px;font-weight:700;vertical-align:2px;text-transform:uppercase}
.td-job2__company{margin:0;font-size:14px;color:#6f7882;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.td-job2__salary{flex:0 0 auto;font-size:15px;font-weight:700;color:#e57d00;white-space:nowrap}
.td-job2__info{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.td-job2__label{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:5px;background:#f2f4f5;font-size:13.5px;color:#212f3f}
.td-job2__label .td-ico{width:13px;height:13px;color:#7a8394}
.td-job2__label--salary{display:none}
.td-job2__bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px}
.td-job2__tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.td-job2__tags span{padding:3px 9px;border-radius:4px;background:#f8f9fa;border:1px solid #eef0f2;font-size:12.5px;color:#4d5965;white-space:nowrap}
.td-job2__act{display:flex;align-items:center;gap:12px;flex-shrink:0}
.td-job2__time{font-size:13px;color:#7a8394}
.td-job2__apply{padding:6px 16px;border-radius:6px;background:#f7941d;color:#fff!important;font-size:14px;font-weight:600;transition:background .2s}
.td-job2__apply:hover{background:#e57d00}

@media (max-width:849px){
	.td-tabs-bar{top:0;overflow-x:auto}
}
@media (max-width:549px){
	.td-jh__info{grid-template-columns:1fr;gap:12px}
	.td-copane__grid{grid-template-columns:1fr}
	.td-taggroup{flex-direction:column;gap:6px}
	.td-page .td-taggroup h3{flex:none;margin:0}
	.td-logo{width:68px;height:68px}
	.td-job2{gap:12px;padding:12px}
	.td-job2__logo{flex-basis:64px;width:64px;height:64px}
	.td-job2__logo span{font-size:18px}
	.td-job2__salary{display:none}
	.td-job2__label--salary{display:inline-flex;background:#fff1e0;color:#b35f00;font-weight:600}
	.td-job2 .td-job2__title{font-size:15px}
	.td-job2__company{font-size:12.5px}
	.td-job2__bottom{flex-wrap:wrap}
	.td-job2__tags{display:none}
	.td-job2__act{width:100%;justify-content:space-between}
}
