/* Nhân Tài Việt (tuyendung) — trang trong theo mockup Astra đợt 6 (about x1.655, jobs x1.387, job x1.72, contact x1.406). Tiền tố tdi- (trang chủ td-).
   Nạp sau td-home.css; dùng lại biến/khối của trang chủ (td-w, td-btn, td-cta, td-ck, td-po, td-link). */

/* ---------- header: mục menu hiện tại ---------- */
body.tdi-inner #header .flex-left .header-nav-main > li:first-child > a { color: #555 !important; font-weight: 400 !important; box-shadow: none; }
body.tdi-inner #header .flex-left .header-nav-main > li.current-menu-item > a,
body.tdi-jobctx #header .flex-left .header-nav-main > li:first-child > a,
body.tdi-newsctx #header .flex-left .header-nav-main > li:nth-child(4) > a { color: var(--td-g2) !important; font-weight: 600 !important; box-shadow: inset 0 -3px 0 var(--td-g); }
.tdi-page, .tdi-sec { word-break: normal !important; overflow-wrap: normal; }
.tdi-sec .col { padding: 0 !important; }
.tdi-sec .row { max-width: none !important; margin: 0 !important; }
.tdi-page #main, .tdi-page { background: #fff; }

/* ---------- chung ---------- */
.tdi-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0; color: #666; font-size: 15px; }
.tdi-crumb a { color: #666 !important; } .tdi-crumb i { font-style: normal; margin: 0 10px; color: #999; }
.tdi-crumb span { color: var(--td-g2); } .tdi-crumb .tdi-crumb-o { color: var(--td-o); }
.tdi-h1 { color: var(--td-g) !important; font-size: 58px !important; font-weight: 700 !important; line-height: 1.15 !important; letter-spacing: -.02em; margin: 14px 0 0 !important; }
.tdi-h1-ink { color: var(--td-ink) !important; } .tdi-h1-ink em { font-style: normal; color: var(--td-g); }
.tdi-lead { color: #444; font-size: 29px; line-height: 1.35; margin-top: 4px; }
.tdi-h2 { color: var(--td-ink) !important; font-size: 44px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -.015em; margin: 0 !important; }
.tdi-h2-s { font-size: 32px !important; }
.tdi-sub { color: #666; font-size: 21px; margin-top: 8px; }
.tdi-p { color: #333; font-size: 21px; line-height: 1.7; margin-top: 18px; }
.tdi-eye { color: var(--td-g2); font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .02em; }
.tdi-dd { width: 18px; height: 18px; pointer-events: none; }
.tdi-band { background: #eef6ec; }
.section.tdi-sec { padding: 0 !important; }

/* ---------- Giới thiệu ---------- */
.section.tdi-ab-hero { padding: 48px 0 0 !important; }
.tdi-ab-hero .tdi-h1 { font-size: 64px !important; margin-top: 18px !important; }
.tdi-ab-hero .tdi-lead { font-size: 33px; color: #333; }
.tdi-ab-wide { margin: 34px 20px 0; height: 440px; border-radius: 8px; overflow: hidden; background: #e2e8e2; }
.tdi-ab-wide img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; display: block; }
.section.tdi-story { padding: 52px 0 52px !important; }
.tdi-story-in { display: grid; grid-template-columns: minmax(0, 640fr) minmax(0, 610fr); gap: 40px; align-items: center; }
.tdi-story .tdi-h2 { font-size: 48px !important; margin-top: 14px !important; }
.tdi-story .tdi-p:first-of-type { margin-top: 26px; }
.tdi-story-links { display: flex; flex-wrap: wrap; gap: 14px 56px; margin-top: 34px; }
.tdi-story-links a { display: inline-flex; align-items: center; gap: 14px; color: var(--td-g2) !important; font-size: 19.5px; font-weight: 600; }
.tdi-story-links img { width: 40px; height: 40px; } .tdi-story-links img.tdi-arr { width: 20px; height: 20px; margin-left: -4px; }
.tdi-story-img { height: 409px; border-radius: 8px; overflow: hidden; background: #e2e8e2; }
.tdi-story-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.section.tdi-vals { padding: 40px 0 38px !important; }
.tdi-val-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 28px; }
.tdi-val { background: #fff; border-radius: 6px; box-shadow: 0 1px 8px rgba(0, 0, 0, .05); text-align: center; padding: 30px 34px 34px; min-height: 302px; }
.tdi-val img { width: 96px; height: 96px; }
.tdi-val h3 { color: var(--td-ink) !important; font-size: 31px !important; font-weight: 700 !important; margin: 14px 0 12px !important; }
.tdi-val div { color: #666; font-size: 21px; line-height: 1.6; }
.section.tdi-crew { padding: 46px 0 30px !important; }
.tdi-crew-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.tdi-cw-img { height: 250px; border-radius: 6px; overflow: hidden; background: #e2e8e2; }
.tdi-cw-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tdi-cw h3 { color: var(--td-ink) !important; font-size: 26px !important; font-weight: 600 !important; margin: 18px 0 4px !important; }
.tdi-cw > div:last-child { color: #666; font-size: 19.5px; }
.section.tdi-commit { padding: 40px 0 34px !important; }
.tdi-commit-in { display: grid; grid-template-columns: minmax(0, 700fr) minmax(0, 590fr); gap: 30px; align-items: center; }
.tdi-bar { display: block; width: 54px; height: 4px; background: var(--td-o); margin-bottom: 26px; }
.tdi-commit .tdi-h2 { font-size: 50px !important; }
.tdi-commit .tdi-p { font-size: 22px; color: #555; }
.tdi-commit-r .td-ck { margin-top: 26px; } .tdi-commit-r .td-ck:first-child { margin-top: 0; }
.tdi-commit-r .td-ck > i { width: 50px; height: 50px; }
.tdi-ab-cta .td-cta-in { min-height: 137px; }
.tdi-ab-cta h2 { font-size: 47px !important; }
.tdi-ab-cta-r { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.tdi-ab-cta .td-btn-cta { width: 243px; min-height: 60px; }
.tdi-ab-ph { display: inline-flex; align-items: center; gap: 12px; color: var(--td-ink) !important; font-size: 22px; font-weight: 700; }
.tdi-ab-ph img { width: 26px; height: 26px; }

/* ---------- dải đầu Việc làm / Liên hệ / Tin tức ---------- */
.tdi-jobs-page .tdi-band { padding: 40px 0 42px; }
.tdi-jobs-page .tdi-h1 { margin-top: 18px !important; font-size: 54px !important; }
.tdi-jobs-page .tdi-lead { font-size: 26px; }
.tdi-find { display: grid; grid-template-columns: minmax(0, 441fr) minmax(0, 298fr) minmax(0, 342fr) 182px; gap: 8px; margin: 34px 0 0 !important; }
.tdi-find label { position: relative; display: flex; align-items: center; gap: 14px; height: 67px; padding: 0 22px; background: #fff; border: 1px solid #dfe3e6; border-radius: 4px; margin: 0 !important; font-weight: 400; }
.tdi-find label > img:first-child { width: 24px; height: 24px; flex: 0 0 auto; }
.tdi-find input, .tdi-find select { flex: 1 1 auto; min-width: 0; border: 0 !important; box-shadow: none !important; height: 60px !important; margin: 0 !important; padding: 0 !important; font-size: 19px !important; color: #555; background: transparent !important; -webkit-appearance: none; appearance: none; }
.tdi-find select { background-image: none !important; cursor: pointer; }
.tdi-find button { height: 67px; margin: 0 !important; border: 0; border-radius: 4px; background: var(--td-o); color: #fff; font-size: 22px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.tdi-band-s { padding: 40px 0 44px; }
.tdi-band-s .tdi-h1 { font-size: 50px !important; }
.tdi-band-s .tdi-lead { font-size: 22px; color: #555; }
.section.tdi-ct-band { padding: 46px 0 40px !important; }
.tdi-ct-band .tdi-h1 { font-size: 48px !important; margin-top: 14px !important; }
.tdi-ct-band .tdi-lead { font-size: 24px; color: #555; }

/* ---------- danh sách việc làm ---------- */
.tdi-jobs-wrap { display: grid; grid-template-columns: 359px minmax(0, 1fr); gap: 30px; padding-top: 30px; padding-bottom: 60px; align-items: start; }
.tdi-flt { border: 1px solid #e3e6ea; border-radius: 6px; padding: 26px 24px 28px; background: #fff; }
.tdi-flt-h { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #e7e9ec; }
.tdi-flt-h { gap: 10px; } .tdi-flt-h a { white-space: nowrap; }
.tdi-flt-h h2 { white-space: nowrap; color: var(--td-ink) !important; font-size: 25px !important; font-weight: 700 !important; margin: 0 !important; }
.tdi-flt-h a { color: var(--td-g2) !important; font-size: 17px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.tdi-flt h3 { color: var(--td-ink) !important; font-size: 21px !important; font-weight: 600 !important; margin: 22px 0 10px !important; }
.tdi-flt h3 ~ h3 { padding-top: 20px; border-top: 1px solid #e7e9ec; }
.tdi-flt label { display: flex; align-items: center; gap: 16px; margin: 0 0 12px !important; color: #444; font-size: 19px; font-weight: 400; cursor: pointer; }
.tdi-flt input[type=checkbox] { width: 24px; height: 24px; margin: 0 !important; accent-color: var(--td-g); flex: 0 0 auto; }
.tdi-flt-go { width: 100%; height: 58px; margin: 24px 0 0 !important; border: 0; border-radius: 4px; background: var(--td-g); color: #fff; font-size: 20px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.tdi-help { display: flex; gap: 20px; margin-top: 30px; padding: 30px 24px; background: #f3f4f6; border: 1px solid #e3e6ea; border-radius: 6px; }
.tdi-help img { width: 50px; height: 50px; flex: 0 0 auto; }
.tdi-help h3 { color: var(--td-ink) !important; font-size: 22px !important; font-weight: 600 !important; margin: 0 0 8px !important; }
.tdi-help p { color: #666; font-size: 18.5px; line-height: 1.5; margin: 0 0 8px; }
.tdi-help a { color: var(--td-o) !important; font-size: 27px; font-weight: 700; }
.tdi-main-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.tdi-main-h .tdi-h2 { font-size: 37px !important; }
.tdi-sort span { white-space: nowrap; }
.tdi-sort { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 !important; color: #666; font-size: 17px; font-weight: 400; }
.tdi-sort select { width: 170px; height: 54px !important; margin: 0 !important; padding: 0 40px 0 20px !important; border: 1px solid #dfe3e6 !important; border-radius: 4px; box-shadow: none !important; font-size: 17px !important; color: #333; background: #fff !important; -webkit-appearance: none; appearance: none; }
.tdi-sort .tdi-dd { position: absolute; right: 14px; top: 18px; }
.tdi-list { display: flex; flex-direction: column; gap: 19px; }
.tdi-jc { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 26px; align-items: center; min-height: 148px; padding: 20px 20px 20px 18px; border: 1px solid #e3e6ea; border-radius: 6px; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .03); }
.tdi-jc[hidden] { display: none; }
.tdi-jc-ic { display: flex; align-items: center; justify-content: center; width: 92px; height: 92px; border-radius: 6px; background: #eef6ec; }
.tdi-jc-ic img { width: 58px; height: 58px; }
.tdi-jc-t { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.tdi-jc-t a { color: var(--td-ink) !important; font-size: 23px; font-weight: 700; }
.tdi-new { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 4px; background: #fdf0dc; color: #e2902a; font-size: 16px; font-weight: 600; }
.tdi-jc-m { display: flex; flex-wrap: wrap; align-items: center; margin-top: 14px; color: #666; font-size: 17.5px; }
.tdi-jc-m span { display: inline-flex; align-items: center; gap: 10px; }
.tdi-jc-m span + span::before { content: ""; width: 1px; height: 20px; background: #c9cdd1; margin: 0 16px 0 14px; }
.tdi-jc-m img { width: 20px; height: 20px; }
.tdi-jc-sal { color: var(--td-g2); font-weight: 600; }
.tdi-jc-r { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.tdi-save { width: 30px; height: 30px; margin: 0 !important; padding: 0; border: 0; background: none; min-height: 0; line-height: 1; }
.tdi-save img { width: 24px; height: 24px; }
.tdi-save.on img { filter: sepia(1) saturate(6) hue-rotate(60deg); }
.tdi-apply { display: inline-flex; align-items: center; justify-content: center; width: 135px; height: 48px; border: 1.5px solid var(--td-g); border-radius: 4px; color: var(--td-g2) !important; font-size: 18px; font-weight: 600; }
.tdi-apply:hover { background: var(--td-g); color: #fff !important; }
.tdi-pg { display: flex; justify-content: center; gap: 14px; margin-top: 22px; }
.tdi-pg[hidden] { display: none; }
.tdi-pg button { width: 50px; height: 50px; min-height: 0; margin: 0 !important; padding: 0; border-radius: 50%; border: 1.5px solid #dfe3e6; background: #fff; color: #555; font-size: 20px; font-weight: 600; line-height: 1; }
.tdi-pg button:not(:first-child):not(:last-child) { border-color: var(--td-g); color: var(--td-g2); }
.tdi-pg button.on { background: var(--td-g); border-color: var(--td-g); color: #fff; }
.tdi-pg button:disabled { opacity: .5; }
.tdi-none { padding: 26px; color: #666; font-size: 18px; }

/* ---------- chi tiết việc làm ---------- */
.tdi-job-page { background: #f7f8f9; }
.tdi-crumb-job { padding: 40px 0 26px; font-size: 17px; }
.tdi-crumb-job span { color: #444; }
.tdi-jh { background: #fff; border: 1px solid #e3e6ea; border-top: 6px solid var(--td-g); border-radius: 6px; padding: 30px 42px 36px; }
.tdi-jh .tdi-eye { font-size: 16px; }
.tdi-jh h1 { color: var(--td-ink) !important; font-size: 52px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: -.02em; margin: 14px 0 10px !important; }
.tdi-co { color: #555; font-size: 21px; }
.tdi-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; }
.tdi-facts > div { display: flex; align-items: center; gap: 22px; padding: 0 20px; border-left: 1px solid #e3e6ea; }
.tdi-facts > div:first-child { border-left: 0; padding-left: 0; }
.tdi-facts img { width: 44px; height: 44px; flex: 0 0 auto; }
.tdi-facts span { color: #555; font-size: 18px; line-height: 1.5; } .tdi-facts b { display: block; color: var(--td-ink); font-weight: 600; font-size: 19px; }
.tdi-jh-act { display: flex; align-items: center; gap: 26px; margin-top: 30px; }
.tdi-b-apply { display: inline-flex; align-items: center; justify-content: center; width: 353px; height: 70px; border-radius: 4px; background: var(--td-g); color: #fff !important; font-size: 22px; font-weight: 600; }
.tdi-b-save { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: 209px !important; height: 70px !important; margin: 0 !important; border: 1.5px solid var(--td-g) !important; border-radius: 4px; background: #fff !important; color: var(--td-g2) !important; font-size: 19px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.tdi-b-save img { width: 26px; height: 26px; }
.tdi-dl { margin-left: auto; color: #555; font-size: 19px; }
.tdi-jgrid { display: grid; grid-template-columns: minmax(0, 869fr) minmax(0, 425fr); gap: 26px; margin-top: 38px; align-items: start; }
.tdi-jbody { background: #fff; border: 1px solid #e3e6ea; border-radius: 6px; }
.tdi-tabs { display: flex; gap: 0; padding: 0 22px; border-bottom: 1px solid #e3e6ea; }
.tdi-tabs a { padding: 26px 34px 20px; color: #444 !important; font-size: 19px; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.tdi-tabs a.on { color: var(--td-g2) !important; font-weight: 600; border-color: var(--td-g); }
.tdi-jtxt { padding: 30px 38px 40px; }
.tdi-intro { color: #555; font-size: 18px; line-height: 1.75; }
.tdi-jtxt h2 { color: var(--td-ink) !important; font-size: 33px !important; font-weight: 700 !important; margin: 40px 0 22px !important; scroll-margin-top: 20px; }
.tdi-jtxt h2 + ul { margin: 0 !important; padding: 0 0 40px; border-bottom: 1px solid #e3e6ea; }
.tdi-jtxt h2#quyen-loi + ul { border: 0; padding-bottom: 20px; }
.tdi-jtxt li { position: relative; list-style: none; margin: 0 0 14px !important; padding-left: 28px; color: #555; font-size: 18px; line-height: 1.7; }
.tdi-jtxt li::before { content: ""; position: absolute; left: 4px; top: 11px; width: 9px; height: 9px; border-radius: 50%; background: var(--td-g); }
.tdi-ask { display: flex; align-items: center; gap: 28px; margin-top: 20px; padding: 30px 34px; border-radius: 6px; background: #eef6ec; }
.tdi-ask > span { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--td-g); flex: 0 0 auto; }
.tdi-ask > span img { width: 34px; height: 34px; }
.tdi-ask b { display: block; color: var(--td-ink); font-size: 22px; font-weight: 600; margin-bottom: 4px; }
.tdi-ask div div { color: #555; font-size: 18px; } .tdi-ask a { color: var(--td-g2) !important; font-weight: 700; }
.tdi-jside > div { background: #fff; border: 1px solid #e3e6ea; border-radius: 6px; margin-bottom: 30px; }
.tdi-info h3 { margin: 0 !important; padding: 18px 26px; border-radius: 6px 6px 0 0; background: var(--td-g); color: #fff !important; font-size: 23px !important; font-weight: 600 !important; }
.tdi-info dl { margin: 0; padding: 8px 26px 12px; }
.tdi-info dl > div { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: center; padding: 16px 0; border-bottom: 1px solid #eef0f2; }
.tdi-info dl > div:last-child { border-bottom: 0; }
.tdi-info dt { display: flex; align-items: center; gap: 14px; color: #666; font-size: 17.5px; font-weight: 400; text-transform: none !important; letter-spacing: 0 !important; }
.tdi-info dt img { width: 24px; height: 24px; }
.tdi-info dd { margin: 0; color: var(--td-ink); font-size: 17.5px; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400; }
.tdi-about { padding: 26px 26px 30px; }
.tdi-about h3, .tdi-apply-box h3 { color: var(--td-ink) !important; font-size: 25px !important; font-weight: 700 !important; margin: 0 0 18px !important; }
.tdi-about-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.tdi-about-logo img { width: 92px; height: 60px; object-fit: contain; } .tdi-about-logo span { color: var(--td-ink); font-size: 32px; font-weight: 700; letter-spacing: -.015em; }
.tdi-about b { display: block; color: var(--td-ink); font-size: 19px; font-weight: 600; margin-bottom: 10px; }
.tdi-about p { color: #666; font-size: 16.5px; line-height: 1.65; margin: 0 0 16px; }
.tdi-about a { display: inline-flex; align-items: center; gap: 10px; color: var(--td-g2) !important; font-size: 19px; font-weight: 600; }
.tdi-about a img { width: 20px; height: 20px; }
.tdi-apply-box { padding: 26px 26px 22px; scroll-margin-top: 20px; }
.tdi-apply-box h3 { margin-bottom: 4px !important; }
.tdi-apply-sub { color: #666; font-size: 17px; margin-bottom: 18px; }
.tdi-cf label { display: block; color: #333; font-size: 17px; font-weight: 500; margin: 0 0 12px !important; }
.tdi-cf label i { font-style: normal; color: #e53935; }
.tdi-cf .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.tdi-cf input[type=text], .tdi-cf input[type=tel], .tdi-cf input[type=email], .tdi-cf select, .tdi-cf textarea { width: 100%; height: 56px; margin: 0 !important; padding: 0 18px !important; border: 1px solid #d9dde1 !important; border-radius: 4px; box-shadow: none !important; font-size: 17px !important; color: #333; background-color: #fff; }
.tdi-ct-form .tdi-cf input[type=text], .tdi-ct-form .tdi-cf input[type=tel], .tdi-ct-form .tdi-cf input[type=email], .tdi-ct-form .tdi-cf select { height: 50px; }
.tdi-cf textarea { height: 150px; padding: 14px 18px !important; resize: vertical; }
.tdi-cf ::placeholder { color: #999; }
.tdi-f2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.tdi-file { position: relative; display: flex !important; align-items: center; justify-content: center; gap: 22px; min-height: 140px; padding: 20px; border: 1.5px dashed #c9cdd1; border-radius: 6px; background: #fafbfb; cursor: pointer; }
.tdi-file > img { width: 46px; height: 46px; }
.tdi-file > span { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.tdi-file b { color: #333; font-size: 16px; font-weight: 500; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tdi-file em { font-style: normal; display: inline-flex; align-items: center; height: 50px; padding: 0 22px; border: 1.5px solid var(--td-g); border-radius: 4px; color: var(--td-g2); font-size: 16px; font-weight: 600; }
.tdi-file .wpcf7-form-control-wrap { position: absolute; inset: 0; margin: 0; opacity: 0; }
.tdi-file input[type=file] { width: 100%; height: 100%; cursor: pointer; }
.tdi-cf .wpcf7-submit { width: 100%; height: 64px; margin: 6px 0 0 !important; border: 0; border-radius: 4px; background: var(--td-g); color: #fff; font-size: 20px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.tdi-apply-box .tdi-cf .wpcf7-submit { background: var(--td-o); height: 66px; }
.tdi-cf { position: relative; } .tdi-cf .wpcf7-spinner { position: absolute; right: 14px; bottom: 20px; margin: 0; }
.tdi-cf .wpcf7-not-valid-tip { font-size: 14px; }
.tdi-secure { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 14px 0 4px; color: #666; font-size: 15.5px; }
.tdi-secure img { width: 18px; height: 18px; }
.tdi-sim { padding: 50px 0 60px; background: #fff; }
.tdi-job-page .tdi-sim { margin-top: 44px; }
.tdi-sim-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.tdi-jm { border: 1px solid #e3e6ea; border-radius: 6px; padding: 30px 40px 32px; }
.tdi-jm-ic { width: 66px; height: 66px; }
.tdi-jm h3 { margin: 24px 0 12px !important; font-size: 24px !important; font-weight: 600 !important; } .tdi-jm h3 a { color: var(--td-ink) !important; }
.tdi-jm-loc { display: flex; align-items: center; gap: 10px; color: #666; font-size: 17px; } .tdi-jm-loc img { width: 18px; height: 18px; }
.tdi-jm-sal { color: var(--td-g2); font-size: 21px; font-weight: 600; margin: 12px 0 22px; }
.tdi-jm-b { display: flex; align-items: center; justify-content: center; gap: 10px; height: 60px; border: 1.5px solid var(--td-g); border-radius: 4px; color: var(--td-g2) !important; font-size: 18px; font-weight: 600; }
.tdi-jm-b img { width: 20px; height: 20px; }

/* ---------- liên hệ ---------- */
.section.tdi-ct { padding: 22px 0 30px !important; }
.tdi-ct-in { display: grid; grid-template-columns: minmax(0, 782fr) minmax(0, 467fr); gap: 45px; align-items: start; }
.tdi-ct-form { border: 1px solid #e3e6ea; border-radius: 6px; padding: 18px 24px 22px; }
.tdi-ct-form h2, .tdi-ct-info h2 { color: var(--td-ink) !important; font-size: 34px !important; font-weight: 700 !important; margin: 0 !important; }
.tdi-ct-sub { color: #555; font-size: 19.5px; margin: 6px 0 18px; }
.tdi-ct-form .tdi-secure { justify-content: flex-start; margin: 2px 0 14px; }
.tdi-ct-form .tdi-cf textarea { height: 112px; }
.tdi-ct-info h2 { margin: 14px 0 20px !important; }
.tdi-ci { display: flex; align-items: center; gap: 26px; padding: 14px 18px; border: 1px solid #e3e6ea; border-radius: 6px; margin-bottom: 20px; color: inherit !important; }
.tdi-ci-i { display: flex; align-items: center; justify-content: center; width: 80px; height: 80px; border-radius: 6px; background: #eef6ec; flex: 0 0 auto; }
.tdi-ci-i img { width: 40px; height: 40px; }
.tdi-ci small { display: block; color: #333; font-size: 18px; }
.tdi-ci b { display: block; color: var(--td-g2); font-size: 28px; font-weight: 700; line-height: 1.3; }
a.tdi-ci[href^=mailto] b { font-size: 22px; white-space: nowrap; }
.tdi-ci em { display: block; font-style: normal; color: #555; font-size: 18px; }
.tdi-ci strong { display: block; color: #333; font-size: 22px; font-weight: 400; line-height: 1.45; margin-top: 4px; }
.tdi-ci-hr { display: flex; align-items: flex-start; gap: 26px; padding: 24px 0 0 0; border-top: 2px solid #e3e6ea; margin-top: 30px; }
.tdi-ci-hr img { width: 50px; height: 50px; }
.tdi-ci-hr b { display: block; color: var(--td-ink); font-size: 20px; font-weight: 600; }
.tdi-ci-hr em { font-style: normal; color: #555; font-size: 18.5px; }
.section.tdi-map { padding: 10px 0 30px !important; }
.tdi-map .td-head { align-items: center; margin-bottom: 18px; }
.tdi-map-box { position: relative; height: 335px; border-radius: 6px; overflow: hidden; background: #eef0ee; }
.tdi-map-box iframe { width: 100%; height: 100%; border: 0; display: block; }
.tdi-map-tag { position: absolute; left: calc(50% + 24px); top: calc(50% - 110px); padding: 12px 18px; background: #fff; border-radius: 4px; box-shadow: 0 2px 10px rgba(0, 0, 0, .15); pointer-events: none; }
.tdi-map-tag b { display: block; color: var(--td-g2); font-size: 17px; font-weight: 600; } .tdi-map-tag span { color: #444; font-size: 15px; }
.section.tdi-faq { padding: 30px 0 22px !important; }
.tdi-faq-in { display: grid; grid-template-columns: minmax(0, 445fr) minmax(0, 845fr); gap: 0; }
.tdi-faq .tdi-h2 { font-size: 40px !important; margin-top: 6px !important; }
.tdi-faq-list details { background: #fff; border: 1px solid #e3e6ea; border-radius: 4px; margin-bottom: 8px; }
.tdi-faq-list summary { position: relative; list-style: none; padding: 11px 56px 11px 22px; color: var(--td-ink); font-size: 19px; font-weight: 600; cursor: pointer; }
.tdi-faq-list summary::-webkit-details-marker { display: none; }
.tdi-faq-list summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: #555; font-size: 28px; font-weight: 300; line-height: 1; }
.tdi-faq-list details[open] summary { color: var(--td-g2); }
.tdi-faq-list details[open] summary::after { content: "–"; }
.tdi-faq-list details > div { padding: 0 22px 14px; color: #444; font-size: 17.5px; line-height: 1.6; }

.td-cta.tdi-cta { background: #f2ae4f; }

/* ---------- tin tức ---------- */
.tdi-news-wrap { padding-top: 50px; padding-bottom: 60px; }
.tdi-po-grid { gap: 40px !important; }
.tdi-np { margin-top: 30px; text-align: center; }
.tdi-post-page .tdi-h1-post { color: var(--td-ink) !important; font-size: 44px !important; max-width: 1000px; }
.tdi-post-page .tdi-eye { display: inline-block; margin-top: 18px; }
.tdi-pmeta { display: flex; align-items: center; gap: 10px; margin-top: 14px; color: #666; font-size: 17px; } .tdi-pmeta img { width: 20px; height: 20px; } .tdi-pmeta i { font-style: normal; color: #aaa; }
.tdi-pgrid { display: grid; grid-template-columns: minmax(0, 860fr) minmax(0, 400fr); gap: 32px; padding-top: 44px; align-items: start; }
.tdi-art-img { border-radius: 6px; overflow: hidden; margin-bottom: 26px; } .tdi-art-img img { width: 100%; display: block; }
.tdi-art-lead { color: var(--td-ink); font-size: 21px; font-weight: 500; line-height: 1.6; }
.tdi-art p, .tdi-art li { color: #444; font-size: 18px; line-height: 1.8; }
.tdi-art h2 { color: var(--td-ink) !important; font-size: 28px !important; font-weight: 700 !important; margin: 32px 0 14px !important; }
.tdi-art ul { margin-left: 22px; }
.tdi-pside > div { border: 1px solid #e3e6ea; border-radius: 6px; padding: 26px; margin-bottom: 26px; }
.tdi-cvbox { background: #fdf3e3; border-color: #f4d9ad !important; }
.tdi-cvbox h3, .tdi-newjobs h3 { color: var(--td-ink) !important; font-size: 24px !important; font-weight: 700 !important; margin: 0 0 8px !important; }
.tdi-cvbox p { color: #555; font-size: 17px; margin: 0 0 18px; }
.tdi-cvbox .td-btn { width: 100%; }
.tdi-cvbox-ph { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; color: var(--td-ink) !important; font-size: 21px; font-weight: 700; } .tdi-cvbox-ph img { width: 22px; height: 22px; }
.tdi-newjobs a { display: block; padding: 14px 0; border-bottom: 1px solid #eef0f2; } .tdi-newjobs a:last-child { border-bottom: 0; }
.tdi-newjobs b { display: block; color: var(--td-ink); font-size: 17.5px; font-weight: 600; } .tdi-newjobs span { color: var(--td-g2); font-size: 15.5px; }
.tdi-post-page .tdi-sim { margin-top: 30px; background: #f7f8f9; }

/* ---------- 850–1399 ---------- */
@media (min-width: 850px) and (max-width: 1399px) {
  .tdi-ab-wide { margin-left: 30px; margin-right: 30px; }
  .tdi-jobs-wrap { grid-template-columns: 300px minmax(0, 1fr); gap: 24px; }
  .tdi-jc { grid-template-columns: 76px minmax(0, 1fr) auto; gap: 18px; }
  .tdi-jc-ic { width: 76px; height: 76px; } .tdi-jc-ic img { width: 44px; height: 44px; }
  .tdi-jc-t a { font-size: 20px; } .tdi-jc-m { font-size: 16px; }
  .tdi-find { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 2.4fr) 150px; }
  .tdi-facts > div { gap: 14px; padding: 0 12px; }
  .tdi-b-apply { width: 280px; }
}
@media (min-width: 850px) and (max-width: 1199px) {
  .tdi-jobs-wrap { grid-template-columns: minmax(0, 1fr); }
  .tdi-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; } .tdi-help { margin-top: 0; }
  .tdi-jgrid, .tdi-pgrid { grid-template-columns: minmax(0, 1fr); }
  .tdi-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; } .tdi-facts > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .tdi-story .tdi-h2, .tdi-commit .tdi-h2 { font-size: 42px !important; }
  .tdi-ct-in { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 30px; }
  .tdi-ci b { font-size: 22px; } a.tdi-ci[href^=mailto] b { font-size: 17px; }
  .tdi-sim-grid { gap: 16px; } .tdi-jm { padding: 24px; }
  .tdi-ab-cta h2 { font-size: 38px !important; }
}

/* ---------- mobile ---------- */
@media (max-width: 849px) {
  .tdi-h1, .tdi-ab-hero .tdi-h1, .tdi-jobs-page .tdi-h1, .tdi-ct-band .tdi-h1, .tdi-band-s .tdi-h1 { font-size: 36px !important; margin-top: 10px !important; }
  .tdi-lead, .tdi-ab-hero .tdi-lead, .tdi-jobs-page .tdi-lead, .tdi-ct-band .tdi-lead { font-size: 18px; }
  .tdi-h2, .tdi-story .tdi-h2, .tdi-commit .tdi-h2, .tdi-main-h .tdi-h2, .tdi-faq .tdi-h2 { font-size: 28px !important; }
  .tdi-h2-s { font-size: 24px !important; }
  .tdi-sub { font-size: 16px; } .tdi-p, .tdi-commit .tdi-p { font-size: 16.5px; }
  .tdi-crumb { font-size: 14px; }
  .section.tdi-ab-hero { padding-top: 22px !important; }
  .tdi-ab-wide { margin: 22px 0 0; height: 220px; border-radius: 0; }
  .section.tdi-story, .section.tdi-vals, .section.tdi-crew, .section.tdi-commit { padding: 34px 0 !important; }
  .tdi-story-in, .tdi-commit-in, .tdi-val-grid, .tdi-crew-grid, .tdi-jobs-wrap, .tdi-jgrid, .tdi-sim-grid, .tdi-ct-in, .tdi-faq-in, .tdi-pgrid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .tdi-story-in > *, .tdi-jgrid > *, .tdi-ct-in > *, .tdi-jobs-wrap > * { min-width: 0; }
  .tdi-story-img { height: 240px; } .tdi-story-links { gap: 12px; margin-top: 22px; } .tdi-story-links a { font-size: 16.5px; } .tdi-story-links img { width: 30px; height: 30px; }
  .tdi-val { min-height: 0; padding: 24px 20px; } .tdi-val img { width: 70px; height: 70px; } .tdi-val h3 { font-size: 23px !important; } .tdi-val div { font-size: 16.5px; }
  .tdi-cw-img { height: 200px; } .tdi-cw h3 { font-size: 20px !important; } .tdi-cw > div:last-child { font-size: 16px; }
  .tdi-commit .tdi-p br { display: none; }
  .tdi-ab-cta .td-cta-in { align-items: stretch; } .tdi-ab-cta h2 { font-size: 28px !important; } .tdi-ab-cta-r { align-items: stretch; } .tdi-ab-cta .td-btn-cta { width: 100%; }
  .tdi-jobs-page .tdi-band, .tdi-band-s, .section.tdi-ct-band { padding: 26px 0 28px !important; }
  .tdi-find { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 20px !important; }
  .tdi-find label { height: 52px; } .tdi-find input, .tdi-find select { height: 48px !important; font-size: 16px !important; } .tdi-find button { height: 52px; font-size: 18px; }
  .tdi-find .tdi-f-sel:not(.tdi-f-cat) { display: none; }
  .tdi-jobs-wrap { padding-top: 22px; } .tdi-side { order: 2; } .tdi-main { order: 1; }
  .tdi-main-h { flex-wrap: wrap; gap: 10px; } .tdi-sort select { width: 160px; height: 46px !important; } .tdi-sort .tdi-dd { top: 14px; }
  .tdi-jc { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 16px 14px; min-height: 0; align-items: start; }
  .tdi-jc-ic { width: 56px; height: 56px; } .tdi-jc-ic img { width: 32px; height: 32px; }
  .tdi-jc-t a { font-size: 17px; } .tdi-new { height: 24px; padding: 0 9px; font-size: 13px; }
  .tdi-jc-m { margin-top: 8px; font-size: 14.5px; gap: 4px 0; } .tdi-jc-m img { width: 17px; height: 17px; } .tdi-jc-m span + span::before { margin: 0 10px; height: 16px; }
  .tdi-jc-m .tdi-jc-sal { width: 100%; margin-bottom: 4px; } .tdi-jc-sal + span::before { display: none !important; }
  .tdi-ct-band .tdi-h1 { font-size: 31px !important; }
  .tdi-jc-r { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
  .tdi-apply { width: 120px; height: 42px; font-size: 16px; }
  .tdi-flt h3 { font-size: 18px !important; } .tdi-flt label { font-size: 16.5px; }
  .tdi-crumb-job { padding: 22px 0 16px; font-size: 14px; }
  .tdi-jh { padding: 22px 16px 24px; } .tdi-jh h1 { font-size: 30px !important; } .tdi-co { font-size: 17px; }
  .tdi-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; margin-top: 20px; }
  .tdi-facts > div { gap: 10px; padding: 0 10px; } .tdi-facts > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .tdi-facts img { width: 32px; height: 32px; } .tdi-facts span { font-size: 14.5px; } .tdi-facts b { font-size: 15.5px; }
  .tdi-jh-act { flex-wrap: wrap; gap: 12px; } .tdi-b-apply { width: calc(60% - 6px); height: 54px; font-size: 18px; } .tdi-b-save { width: calc(40% - 6px) !important; height: 54px !important; font-size: 16px; } .tdi-dl { margin: 0; font-size: 16px; }
  .tdi-jgrid { margin-top: 20px; }
  .tdi-tabs { padding: 0 6px; overflow-x: auto; } .tdi-tabs a { padding: 18px 14px 14px; font-size: 16px; white-space: nowrap; }
  .tdi-jtxt { padding: 20px 18px 26px; } .tdi-jtxt h2 { font-size: 24px !important; margin: 26px 0 14px !important; } .tdi-jtxt li, .tdi-intro { font-size: 16px; }
  .tdi-ask { padding: 20px 18px; gap: 16px; } .tdi-ask > span { width: 54px; height: 54px; } .tdi-ask > span img { width: 26px; height: 26px; } .tdi-ask b { font-size: 18px; } .tdi-ask div div { font-size: 15.5px; }
  .tdi-info dl > div { grid-template-columns: 140px minmax(0, 1fr); }
  .tdi-sim { padding: 34px 0 40px; } .tdi-jm { padding: 22px 20px; } .tdi-jm h3 { font-size: 20px !important; margin-top: 14px !important; }
  .section.tdi-ct { padding: 22px 0 30px !important; } .tdi-ct-form { padding: 18px 16px; }
  .tdi-ct-form h2, .tdi-ct-info h2 { font-size: 26px !important; } .tdi-ct-sub { font-size: 16px; }
  .tdi-f2 { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .tdi-ci { gap: 16px; padding: 12px; } .tdi-ci-i { width: 58px; height: 58px; } .tdi-ci-i img { width: 30px; height: 30px; }
  .tdi-ci b { font-size: 21px; } a.tdi-ci[href^=mailto] b { font-size: 16px; white-space: normal; overflow-wrap: anywhere; } .tdi-ci strong { font-size: 17px; } .tdi-ci small, .tdi-ci em { font-size: 15.5px; }
  .tdi-map-box { height: 280px; } .tdi-map-tag { left: calc(50% + 14px); top: calc(50% - 96px); padding: 8px 12px; }
  .tdi-faq-list summary { font-size: 16.5px; padding: 14px 46px 14px 16px; } .tdi-faq-list details > div { font-size: 15.5px; padding: 0 16px 16px; }
  .tdi-post-page .tdi-h1-post { font-size: 28px !important; } .tdi-art-lead { font-size: 18px; } .tdi-art p, .tdi-art li { font-size: 16.5px; } .tdi-art h2 { font-size: 23px !important; }
  .tdi-po-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 26px !important; }
}
/* ruler:auto BEGIN — tools/astra-bridge/lab/ruler_fix.py, đừng sửa tay */
@media (min-width: 850px) {
  body:not(.home) .tdi-b-save img { width: 34px !important; height: 34px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-ci-i img { width: 46px !important; height: 46px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-f-sel img { width: 28px !important; height: 28px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-info img { width: 28px !important; height: 28px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-jc-ic img { width: 78px !important; height: 78px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-jc-m img { width: 24px !important; height: 24px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-jc-sal img { width: 24px !important; height: 24px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-jm img { width: 78px !important; height: 78px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-jm-loc img { width: 22px !important; height: 22px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
  body:not(.home) .tdi-secure img { width: 22px !important; height: 22px !important; max-width: none !important; flex: 0 0 auto !important; object-fit: contain; }
}
@media (max-width: 849px) {
  body:not(.home) .tdi-b-save img { width: 26px !important; height: 26px !important; }
  body:not(.home) .tdi-ci-i img { width: 40px !important; height: 40px !important; }
  body:not(.home) .tdi-f-sel img { width: 24px !important; height: 24px !important; }
  body:not(.home) .tdi-info img { width: 24px !important; height: 24px !important; }
  body:not(.home) .tdi-jc-ic img { width: 58px !important; height: 58px !important; }
  body:not(.home) .tdi-jc-m img { width: 20px !important; height: 20px !important; }
  body:not(.home) .tdi-jc-sal img { width: 20px !important; height: 20px !important; }
  body:not(.home) .tdi-jm img { width: 66px !important; height: 66px !important; }
  body:not(.home) .tdi-jm-loc img { width: 18px !important; height: 18px !important; }
  body:not(.home) .tdi-secure img { width: 18px !important; height: 18px !important; }
}
/* ruler:auto END */
/* ruler:manual — sau khối auto: selector gộp quá rộng (LESSONS 79) */
@media (min-width: 850px) {
  body:not(.home) .tdi-jm .tdi-jm-b img { width: 20px !important; height: 20px !important; }
  body:not(.home) .tdi-jc-ic img { width: 62px !important; height: 62px !important; }
  body:not(.home) .tdi-f-sel img.tdi-dd { width: 18px !important; height: 18px !important; }
}
@media (max-width: 849px) {
  body:not(.home) .tdi-jc-ic img { width: 34px !important; height: 34px !important; }
  body:not(.home) .tdi-jm img.tdi-jm-ic { width: 50px !important; height: 50px !important; }
  .tdi-about-logo span { font-size: 24px; white-space: nowrap; } .tdi-about-logo img { width: 64px; height: 42px; }
  body:not(.home) .tdi-jm .tdi-jm-b img { width: 18px !important; height: 18px !important; }
  body:not(.home) .tdi-f-sel img.tdi-dd { width: 16px !important; height: 16px !important; }
}
