/* Trang Tuyển sinh: mục "19 ngành" và mục "Thông báo tuyển sinh năm 2026". Tiền tố ts2-. */

/* ---------- 19 ngành: năm thẻ khối ngành cùng cấu trúc ---------- */
.ts2-khoi{display:grid;gap:14px;margin:0;padding:0;list-style:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.ts2-khoi>li{display:flex;flex-direction:column;gap:14px;padding:20px 20px 18px;background:var(--tk);color:var(--brand-900);border-radius:6px}
.ts2-kh{display:block}
.ts2-num{display:block;margin-bottom:8px;font:600 2.75rem/1 var(--font-serif);letter-spacing:-.02em}
.ts2-kh h3{font-size:1.25rem;line-height:1.25;letter-spacing:0;min-height:2.5em;text-wrap:balance}
.ts2-kh h3 a{color:inherit;text-decoration:none}
.ts2-kh h3 a:hover{text-decoration:underline}
.ts2-khoi ul{margin:0;padding:12px 0 0;list-style:none;display:grid;gap:2px;border-top:1px solid rgba(0,38,79,.22)}
.ts2-khoi ul a{display:block;padding:5px 0;min-height:32px;color:inherit;font-size:.9375rem;line-height:1.35;text-decoration:none}
.ts2-khoi ul a:hover{text-decoration:underline}

/* ---------- Thông báo tuyển sinh ---------- */
.ts2-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 24px;padding:0;list-style:none;background:var(--brand-900);color:#fff;border-radius:6px;overflow:hidden}
@media (min-width:900px){.ts2-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ts2-facts li{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.14)}
.ts2-facts li:nth-child(-n+2){border-top:0}
@media (min-width:900px){.ts2-facts li{border-top:0;border-left:1px solid rgba(255,255,255,.14)}.ts2-facts li:first-child{border-left:0}}
.ts2-facts span{font-size:.8125rem;color:#c9d6e8}
.ts2-facts b{font-size:1.0625rem;font-weight:700;line-height:1.3}
.ts2-facts li:first-child b{color:var(--accent-yellow);font-size:1.375rem;letter-spacing:.02em}

/* Tab theo trình độ (chỉ dùng CSS) */
.ts2-in{position:absolute;opacity:0;pointer-events:none}
.ts2-tablist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ts2-tablist label{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:8px 18px;border-radius:999px;background:var(--brand-50);color:var(--brand-900);font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.ts2-tablist label b{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:#fff;font-size:.875rem}
.ts2-tablist label:hover{background:#d6e4f5}
#ts2-cd:checked ~ .ts2-tablist label[for=ts2-cd],
#ts2-tc:checked ~ .ts2-tablist label[for=ts2-tc],
#ts2-sc:checked ~ .ts2-tablist label[for=ts2-sc]{background:var(--brand-900);color:#fff}
#ts2-cd:checked ~ .ts2-tablist label[for=ts2-cd] b,
#ts2-tc:checked ~ .ts2-tablist label[for=ts2-tc] b,
#ts2-sc:checked ~ .ts2-tablist label[for=ts2-sc] b{background:var(--accent-yellow);color:var(--brand-900)}
.ts2-in:focus-visible ~ .ts2-tablist label{outline:0}
#ts2-cd:focus-visible ~ .ts2-tablist label[for=ts2-cd],#ts2-tc:focus-visible ~ .ts2-tablist label[for=ts2-tc],#ts2-sc:focus-visible ~ .ts2-tablist label[for=ts2-sc]{outline:3px solid var(--accent-orange);outline-offset:2px}
.ts2-panel{display:none}
#ts2-cd:checked ~ .ts2-panels .p-cd,#ts2-tc:checked ~ .ts2-panels .p-tc,#ts2-sc:checked ~ .ts2-panels .p-sc{display:block}

/* Dòng ngành: tên, mã ngành, chỉ tiêu; vạch màu theo khối */
.ts2-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}
@media (min-width:900px){.ts2-rows{display:block;columns:2;column-gap:20px}.ts2-rows li{break-inside:avoid;margin-bottom:8px}}
.ts2-rows li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 18px;align-items:center;padding:12px 16px;background:#fff;border:1px solid var(--track);border-left:6px solid var(--tk,var(--brand));border-radius:4px}
.ts2-rows li.k0{--tk:var(--brand)}
.ts2-rows--nocode li{grid-template-columns:minmax(0,1fr) auto}
.ts2-head{display:none!important}
.ts2-n{font-weight:600;line-height:1.35;color:var(--ink)}
.ts2-n em{display:block;margin-top:2px;font-style:normal;font-size:.8125rem;font-weight:600;color:#b4470f}
.ts2-m{display:flex;flex-direction:row;gap:6px;align-items:baseline;justify-content:flex-end;font-variant-numeric:tabular-nums;font-size:.9375rem;color:var(--ink-2)}
.ts2-q{display:flex;flex-direction:column;align-items:flex-end;min-width:5.2rem;text-align:right}
.ts2-q b{font:600 1.375rem/1.1 var(--font-serif);color:var(--brand-900)}
.ts2-m small,.ts2-q small{font-size:.75rem;font-weight:500;color:var(--muted)}
.ts2-rows li.is-new{background:#fffaf2}
.ts2-rows li.is-new .ts2-q{grid-column:2 / -1}
.ts2-rows li.is-new .ts2-q b{font:700 1.0625rem/1.2 var(--font-sans);color:#b4470f}
@media (max-width:560px){
  .ts2-rows li{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}
  .ts2-n{grid-column:1 / -1}
  .ts2-m{flex-direction:row;gap:6px;align-items:baseline}
  .ts2-q{flex-direction:row;gap:6px;align-items:baseline;justify-self:end}
}
.ts2-note{margin:16px 0 0;max-width:72ch;padding:12px 16px;border-left:4px solid var(--accent-orange);background:#fff5ec;font-size:.9375rem;line-height:1.55}

/* Thẻ thông tin */
.ts2-info{display:grid;gap:14px;margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.ts2-info article{padding:18px 20px;background:var(--paper-2);border-top:4px solid var(--brand);border-radius:0 0 6px 6px}
.ts2-info article:nth-child(2){border-top-color:var(--accent-orange)}
.ts2-info article:nth-child(3){border-top-color:var(--accent-yellow)}
.ts2-info article:nth-child(4){border-top-color:#6aa832}
.ts2-info h3{margin-bottom:8px;font-family:var(--font-sans);font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.ts2-info p,.ts2-info li{font-size:1rem;line-height:1.55}
.ts2-info ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.ts2-info .wide{grid-column:1 / -1}
@media (min-width:900px){.ts2-info .wide{grid-column:span 2}}
.ts2-places{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px!important}
.ts2-places li{display:flex;flex-direction:column;gap:2px}
.ts2-places span{color:var(--ink-2);font-size:.9375rem}
.ts2-info .tel{display:flex;flex-direction:column;gap:6px}
.ts2-info .tel h3{margin-bottom:2px}
.ts2-info .tel a{display:inline-flex;align-items:center;min-height:44px;font:600 1.375rem var(--font-serif);color:var(--brand-900);text-decoration:none}
.ts2-info .tel a:hover{text-decoration:underline}
