/* jobs.hktv.my — 職位模組配色
   對齊主站 hktv.my：主色藍 #2563eb（brand-600）／第二色青 #0891b2
   覆寫從 tc.hktv.my 搬過來的酒紅 #a6192e ＋ 金 #bd9a58
   政府職位 = 藍，私人企業 = 青
   注意：本檔排在 jobs-unified.css / job-details.css 之後，同特異性下靠順序覆寫 */

/* ========== 1. 設計變量 ========== */
.jobs-unified,
.job-drawer-layer,
.job-detail-drawer,
.job-detail-content,
.gov-job-card,
.job-page-actions {
  --bg: #f9fafb;
  --bg-soft: #f3f4f6;
  --panel: #ffffff;
  --panel-2: #eff6ff;
  --border: #e5e7eb;
  --text: #111827;
  --text-dim: #6b7280;

  --brand: #2563eb;          /* 主站 brand-600 */
  --brand-2: #1d4ed8;        /* brand-700 hover */
  --brand-soft: #eff6ff;     /* brand-50 */
  --brand-line: #bfdbfe;     /* brand-200 */

  --accent: #0891b2;         /* 私人企業／次要強調 */
  --accent-2: #0e7490;
  --accent-soft: #ecfeff;
  --accent-line: #a5f3fc;

  --ok: #059669;
  --err: #dc2626;
  --site-font-scale: 1;
  --uj-line: rgba(15, 23, 42, .10);
  --hktv-header-height: 0px;

  /* job-details.css 自帶的一組變量，一併對齊 */
  --ink: #111827;
  --muted: #6b7280;
  --brand-soft-bg: #eff6ff;
  --salary-ink: #111827;
  --salary-soft: #f8fafc;
  --line: #e5e7eb;
  --canvas: #f9fafb;
  --white: #ffffff;

  color: var(--text);
}

.jobs-unified { font-size: calc(14px * var(--site-font-scale, 1)); line-height: 1.6; }
.jobs-unified p,
.jobs-unified h1,
.jobs-unified h3 { margin: 0; }
.jobs-unified .uj-empty { margin: 0; }

/* ========== 2. 品牌色：酒紅 → 藍，金 → 青 ========== */
.jobs-unified .uj-hero { border-top-color: var(--brand); }
.jobs-unified .uj-hero-eyebrow { color: var(--brand); }
.jobs-unified .uj-hero-eyebrow::before { background: var(--brand); }

.jobs-unified .uj-searchbar button { background: var(--brand); }
.jobs-unified .uj-searchbar button:hover { background: var(--brand-2); }
.jobs-unified .uj-searchbar .uj-clear { background: var(--border); color: var(--text-dim); }

.jobs-unified .uj-hot-title::before { background: var(--brand); }
.jobs-unified .uj-tab:hover { color: var(--brand); background: var(--brand-soft); }
.jobs-unified .uj-tab.on { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-line); box-shadow: inset 0 0 0 1px var(--brand-line); }
.jobs-unified .uj-tab-n { background: var(--bg-soft); color: var(--text-dim); }
.jobs-unified .uj-tab.on .uj-tab-n { background: var(--brand-soft); color: var(--brand); }
.jobs-unified .uj-category-toggle.on { color: var(--brand); border-color: var(--brand-line); background: var(--brand-soft); }

.jobs-unified .uj-card.uj-gov::before { background: var(--brand); }
.jobs-unified .uj-card.uj-priv::before { background: var(--accent); }
.jobs-unified .uj-card:hover { border-color: var(--brand-line); box-shadow: 0 1px 2px rgba(37, 99, 235, .06), 0 12px 28px -14px rgba(37, 99, 235, .22); }

.jobs-unified .uj-badge.uj-gov { color: var(--brand); background: var(--brand-soft); border: 0; }
.jobs-unified .uj-badge.uj-priv { color: var(--accent); background: var(--accent-soft); border: 1px solid var(--accent-line); }
.jobs-unified .uj-typechip { color: #475569; background: #f1f5f9; }

.jobs-unified .uj-deadline { color: var(--accent-2); background: var(--accent-soft); border: 1px solid var(--accent-line); }
.jobs-unified .uj-deadline.soon { color: var(--brand); background: var(--brand-soft); border-color: var(--brand-line); }
.jobs-unified .uj-hero-more { background: var(--accent-soft); color: var(--accent-2); border: 1px solid var(--accent-line); }
.jobs-unified .uj-hero-more:hover { border-color: var(--accent); }

.jobs-unified .uj-cat .uj-cat-ic { background: var(--brand-soft); color: var(--brand); }
.jobs-unified .uj-cat .uj-cat-ic.gold { background: var(--accent-soft); color: var(--accent); }
.jobs-unified .uj-cat .uj-cat-ic.red { background: var(--brand-soft); color: var(--brand-2); }
.jobs-unified .uj-cat:hover { border-color: var(--brand-line); }
.jobs-unified .uj-sources .row::before { background: var(--brand); }
.jobs-unified .uj-sources a { color: var(--brand); }
.jobs-unified #ujReset,
.jobs-unified .uj-mobile-reset { color: var(--brand); }
.jobs-unified .uj-viewlink svg { color: var(--brand); }
.jobs-unified .uj-card:hover .uj-viewlink { color: var(--brand); }
.jobs-unified .uj-searchbar input::placeholder { color: #9ca3af; }

/* 次要文字統一用主站灰階 */
.jobs-unified .uj-note,
.jobs-unified .uj-cat small,
.jobs-unified .uj-sources,
.jobs-unified .uj-org,
.jobs-unified .uj-duties,
.jobs-unified .uj-duty-label,
.jobs-unified .uj-card-bottom .uj-row,
.jobs-unified .uj-card-bottom .uj-salary .uj-per { color: var(--text-dim); }
.jobs-unified .uj-row svg,
.jobs-unified .uj-empty svg { color: #9ca3af; }
.jobs-unified .uj-salary .uj-amt,
.jobs-unified .uj-card-bottom .uj-salary .uj-amt { color: var(--text); }
.jobs-unified .uj-card-bottom .uj-row { color: var(--text-dim); }

/* ========== 3. 政府職位卡（job-details.css） ========== */
.gov-job-card,
.job-detail-content,
.job-detail-drawer,
.job-page-actions { border-color: var(--line, #e5e7eb); }

.gov-job-card:hover,
.gov-job-card.is-active { border-color: var(--brand-line, #bfdbfe); }
.gov-job-card .gov-department-icon { background: var(--accent-soft, #ecfeff); color: var(--accent, #0891b2); }
.gov-job-card .gov-card-action { color: var(--brand, #2563eb); }
.gov-job-card .gov-card-type { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }
.gov-job-card .gov-salary-line strong,
.job-detail-salary strong { color: var(--text, #111827); }
.gov-job-card .gov-card-department,
.gov-job-card .gov-card-meta,
.gov-job-card .gov-card-footer > span:first-child { color: var(--muted, #6b7280); }

/* ========== 4. 詳情內容（藍／青） ========== */
.job-detail-tabs button[aria-current="true"] { border-color: var(--brand, #2563eb); color: var(--brand, #2563eb); }
.job-section-title svg { color: var(--accent, #0891b2); }
.job-detail-list li:before { background: var(--accent, #0891b2); }
.job-application-highlight svg { color: var(--accent, #0891b2); }
.job-salary-panel { background: var(--salary-soft, #f8fafc); border-color: var(--line, #e5e7eb); }
.job-deadline-box { border-left-color: var(--line, #e5e7eb); }
.job-deadline-value { color: var(--accent-2, #0e7490); }
.job-step-number { color: var(--brand, #2563eb); border-color: var(--brand-line, #bfdbfe); background: var(--brand-soft, #eff6ff); }
.job-step-link,
.job-contact-row a,
.job-detail-source a { color: var(--brand, #2563eb); }
.job-documents-note { background: #f8fafc; border-left-color: var(--accent-line, #a5f3fc); }
.job-primary-button { background: #111827; }
.job-primary-button:hover { background: #374151; }
.job-actions-compact .job-primary-button { background: #111827 !important; color: #ffffff !important; border-color: #111827 !important; }
.job-actions-compact .job-primary-button:hover { background: #374151 !important; color: #ffffff !important; border-color: #374151 !important; }
.job-drawer-error button { background: var(--brand, #2563eb); }
.job-share-button:hover { background: var(--brand-soft, #eff6ff); }
.gov-jobs-hero .eyebrow,
.gov-jobs-hero aside > .job-icon { color: var(--accent, #0891b2); }
.gov-jobs-types a[aria-current="true"],
.gov-jobs-types a[aria-current="true"] { background: var(--brand-soft, #eff6ff); color: var(--brand, #2563eb); }

/* ========== 5. 抽屜內部：中性灰對齊主站 ========== */
.job-drawer-close { background: #f3f4f6; color: #4b5563; }
.job-drawer-close:hover { background: #e5e7eb; }
.job-detail-badges span { background: var(--accent-soft, #ecfeff); color: var(--accent-2, #0e7490); }
.job-detail-badges .neutral { background: #f1f5f9; color: #64748b; }
.job-requirement-key { background: #f1f5f9; color: #64748b; }
.job-source-details { background: #f8fafc; border-color: #e5e7eb; color: #6b7280; }
.job-source-details summary { color: #6b7280; }
.job-contact-card { background: #f8fafc; border-color: #e5e7eb; }
.job-official-link:hover { color: var(--brand-2, #1d4ed8); }
.gov-jobs-filter button { background: var(--brand, #2563eb); }
.gov-jobs-filter button:hover { background: var(--brand-2, #1d4ed8); }

/* ========== 6. 其他 ========== */
.job-sync-note { font-size: 13px; color: #6b7280; margin-top: 12px; }
.jobs-talent-shortcut { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: #2563eb; font-size: 12px; font-weight: 750; text-decoration: none; }
.jobs-talent-shortcut:hover { text-decoration: underline; }
