/* HiTD · Dark Core · menu header (phiếu #11, Luồng B)
   Chủ của mọi selector bắt đầu bằng .hd-nav .nav-link .nav-toggle .has-mega .mega .subbar (style.css không còn viết các selector này).
   Nạp sau style.css. Không mã màu viết cứng: chỉ dùng biến --text --muted --label --line --line-soft --hair --ink --green --blue
   --mega-bg --fg-strong --hover-bg --sans --header-h (style.css định nghĩa, cả chế độ sáng). --hd-h do main.js đặt (chiều cao header hiện tại). */

/* ---------- Thanh menu ---------- */
/* panel và nav mobile định vị theo .hd-header (sticky), không theo .hd-header__in */
.hd-header .hd-header__in{position:static}
.hd-nav{display:flex;align-items:center;align-self:stretch;gap:16px;flex:1;min-width:0}
.hd-nav__list{display:flex;align-items:stretch;gap:2px;flex:1;min-width:0}
.hd-nav__list>li{display:flex;align-items:center}
.hd-nav__list>li.has-mega{position:static}
.nav-link,.mega-btn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:0;border-radius:6px;background:none;color:var(--muted);font-family:var(--sans);font-size:14.5px;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}
.nav-link:hover,.mega-btn:hover,.mega-btn[aria-expanded="true"]{color:var(--fg-strong);background:var(--hover-bg)}
.nav-link[aria-current="page"],.mega-btn.is-current{color:var(--fg-strong)}
.nav-link[aria-current="page"]::after,.mega-btn.is-current::after{content:"";position:absolute;left:50%;bottom:2px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--green)}
.mega-btn svg{flex:none;width:10px;height:10px;transition:transform var(--t-fast) var(--ease-out)}
.mega-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-link:focus-visible,.mega-btn:focus-visible,.nav-toggle:focus-visible,.mega a:focus-visible{outline:2px solid var(--fg-strong);outline-offset:3px;border-radius:4px}
@media (min-width:1121px) and (max-width:1320px){.hd-nav{gap:12px}.hd-nav__list{gap:0}.nav-link,.mega-btn{padding:0 8px}}
@media (min-width:1121px) and (max-width:1199px){.hd-nav{gap:8px}.nav-link,.mega-btn{gap:4px;padding:0 6px;font-size:14px}}

/* ---------- Nút ba gạch ---------- */
.nav-toggle{display:none;position:relative;flex:none;width:46px;height:46px;padding:0;border:1px solid var(--hair);border-radius:12px;background:none;color:var(--text);cursor:pointer;transition:border-color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out)}
.nav-toggle:hover{border-color:var(--fg-strong);background:var(--hover-bg)}
.nav-toggle span{position:absolute;left:12px;right:12px;height:2px;background:currentColor;transition:transform var(--t-fast) var(--ease-out),opacity var(--t-fast) var(--ease-out)}
.nav-toggle span:nth-child(1){top:15px}
.nav-toggle span:nth-child(2){top:22px}
.nav-toggle span:nth-child(3){top:29px}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Panel hai vùng (BR-05..09) ---------- */
.mega{position:absolute;left:0;right:0;top:100%;z-index:60;max-height:calc(100vh - var(--hd-h,var(--header-h)));max-height:calc(100dvh - var(--hd-h,var(--header-h)));overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line);background:var(--mega-bg);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),visibility 0s linear var(--t-base)}
.has-mega.is-open>.mega,
html:not(.js) .has-mega:hover>.mega,
html:not(.js) .has-mega:focus-within>.mega{visibility:visible;opacity:1;transform:none;transition-delay:0s}
.mega__in{display:block}
/* min-height 400px cho mọi loại để đổi loại không làm panel giật; main.js đặt --pane-h khi vùng phải cao hơn */
.mega__cats{position:relative;overflow:hidden;padding:16px 0;min-height:400px;min-height:max(400px,var(--pane-h,0px))}
.mega__cats::before{content:"";position:absolute;left:0;top:0;bottom:0;width:280px;border-right:1px solid var(--line);background:var(--ink)}
.mega__item{display:contents}
.mega-cat{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;width:280px;min-height:48px;padding:10px 20px 10px 17px;border:0;border-left:3px solid transparent;background:none;color:var(--muted);font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;transition:color var(--t-fast) var(--ease-out),background-color var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}
.mega-cat:hover{color:var(--fg-strong);background:var(--hover-bg)}
.mega-cat[aria-expanded="true"]{border-left-color:var(--green);color:var(--fg-strong);font-weight:700;background:var(--hover-bg)}
.mega-cat:focus-visible{outline-offset:-2px}
.mega-cat svg{display:none;flex:none;width:10px;height:10px}
.mega__pane{position:absolute;left:280px;right:0;top:0;padding:28px 0 28px 40px}
.mega__pane{transition:opacity var(--t-base) var(--ease-out),transform var(--t-base) var(--ease-out),visibility 0s linear 0s}
/* pane ẩn vẫn ở trong cây hiển thị (opacity 0) để đổi loại thì mờ dần thay vì biến mất tức thì */
.js .mega__pane[hidden]{display:block;visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none;transition-delay:0s,0s,var(--t-base)}
.mega__title{margin:0 0 24px;font-family:var(--sans);font-size:26px;font-weight:700;line-height:1.25;color:var(--fg-strong)}
.mega__title a{margin:-2px -8px;padding:2px 8px;border-radius:6px;color:inherit;text-decoration:none}
.mega__title a::after{content:"\00a0›";color:var(--green)}
.mega__title a:hover{background:var(--hover-bg)}
.mega__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.mega-card{display:block;min-width:0;margin:-10px -12px;padding:10px 12px;border-radius:8px;transition:background-color var(--t-fast) var(--ease-out);color:var(--text);text-decoration:none}
.mega-card:hover{background:var(--hover-bg)}
.mega-card__name{display:block;font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:break-word}
.mega-card__name::after{content:"\00a0›";color:var(--green);font-weight:700}
.mega-card__desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin-top:6px;color:var(--muted);font-size:14px;line-height:1.5}
.mega__all{display:inline-block;margin-top:28px;padding:4px 10px;margin-left:-10px;border-radius:6px;color:var(--label);font-size:14px;font-weight:600;text-decoration:none}
.mega__all::after{content:"\00a0›"}
.mega__all:hover{background:var(--hover-bg)}
/* trang hiện tại (BR-12): A đặt aria-current trong HTML */
.mega-card[aria-current="page"] .mega-card__name,.mega__title a[aria-current="page"]{color:var(--label)}
.mega__all[aria-current="page"]{font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* ---------- Không JS (BR-10): panel mở bằng :hover/:focus-within, các vùng xếp dọc, mọi link tới được ---------- */
html:not(.js) .mega__cats{min-height:0}
html:not(.js) .mega__cats::before{display:none}
html:not(.js) .mega-cat{width:100%;cursor:default}
html:not(.js) .mega__pane{position:static;padding:8px 0 20px 20px}
html:not(.js) .mega__title{font-size:18px;margin-bottom:12px}

/* ---------- Mobile ≤1120px (BR-11) ---------- */
@media (max-width:1120px){
  .nav-toggle{display:block}
  .hd-nav{display:none;position:absolute;left:0;right:0;top:100%;flex:none;flex-direction:column;align-items:stretch;align-self:auto;gap:0;padding:8px 16px 20px;max-height:calc(100vh - var(--hd-h,var(--header-h)));max-height:calc(100dvh - var(--hd-h,var(--header-h)));overflow-y:auto;overscroll-behavior:contain;border-bottom:1px solid var(--line);background:var(--mega-bg)}
  .hd-nav.is-open{display:flex}
  .hd-nav__list{flex:none;flex-direction:column;align-items:stretch;gap:0}
  .hd-nav__list>li{display:block}
  .nav-link,.mega-btn{justify-content:space-between;width:100%;min-height:48px;padding:0 8px;border-bottom:1px solid var(--line-soft);border-radius:0;color:var(--text);font-size:16px}
  .nav-link[aria-current="page"],.mega-btn.is-current{box-shadow:inset 3px 0 0 var(--green)}
  .nav-link[aria-current="page"]::after,.mega-btn.is-current::after{display:none}
  .hd-nav>.btn{width:100%;min-height:44px;margin-top:16px}
  .mega{position:static;display:none;max-height:none;overflow:visible;border:0;background:none;visibility:visible;opacity:1;transform:none;transition:none}
  .has-mega.is-open>.mega{display:block}
  .mega__cats{min-height:0;padding:0}
  .mega__cats::before{display:none}
  .mega__item{display:block;border-bottom:1px solid var(--line-soft)}
  .mega-cat{width:100%;min-height:48px;padding:10px 8px 10px 16px}
  .mega-cat svg{display:block;transition:transform var(--t-fast) var(--ease-out)}
  .mega-cat[aria-expanded="true"] svg{transform:rotate(180deg)}
  .mega__pane{position:static;padding:4px 8px 16px 20px;transition:none}
  .js .mega__pane[hidden]{display:none}
  .mega__cats{overflow:visible}
  .mega__title{margin-bottom:4px;font-size:16px}
  .mega__title:not(:has(a)){display:none}
  .mega__title a{display:flex;align-items:center;min-height:44px;margin:0}
  .mega__grid{grid-template-columns:minmax(0,1fr);gap:0}
  .mega-card{display:flex;align-items:center;min-height:44px;margin:0;padding:6px 0}
  .mega-card__desc{display:none}
  .mega__all{display:block;margin:0;padding:14px 8px}
  /* không JS: nút ba gạch không chạy được nên nav hiện sẵn, mọi panel mở */
  html:not(.js) .nav-toggle{display:none}
  html:not(.js) .hd-header__in{flex-wrap:wrap}
  html:not(.js) .hd-nav{display:flex;position:static;flex-basis:100%;order:4;max-height:none;overflow:visible;padding:0 0 16px;border-bottom:0}
  html:not(.js) .mega{display:block}
}

/* ---------- Thanh phụ Tuyển dụng (BR-29, FR-29) ---------- */
.subbar{position:sticky;top:var(--hd-h,var(--header-h));z-index:40;border-bottom:1px solid var(--line);background:var(--mega-bg)}
.subbar__in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.subbar__title{margin-left:-10px;padding:6px 10px;border-radius:6px;color:var(--fg-strong);font-size:17px;font-weight:700;text-decoration:none}
.subbar__title:hover{background:var(--hover-bg)}
.subbar__act{display:flex;align-items:center;gap:8px}
.subbar .btn{min-height:44px}
.subbar .btn--ghost[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--green)}
.subbar a:focus-visible{outline:2px solid var(--fg-strong);outline-offset:3px}
@media (max-width:720px){
  .subbar__title{display:none}
  .subbar__act{width:100%}
  .subbar__act .btn{flex:1 1 0;padding:0 10px}
}

/* ---------- Kết quả tìm rỗng (FR-13) ---------- */
.hd-search__empty{padding:10px 12px;color:var(--muted);font-size:14px}

@media (prefers-reduced-motion:reduce){
  .mega,.mega__pane,.nav-link,.mega-btn,.mega-cat,.mega-btn svg,.mega-cat svg,.nav-toggle,.nav-toggle span{transition:none}
}
