/* Military job pages (generated by scripts/build-job-pages.js) and my-options.html. */
/* Components below set display; keep the hidden attribute authoritative. */
[hidden] { display: none !important; }
.content-wide { max-width: 1100px; }
.score-table .num { font-family: var(--font-data); font-weight: 600; }
.score-table th a { color: var(--white); }
.score-table tbody th { background: var(--white); color: var(--navy-900); text-transform: none; letter-spacing: 0; font-family: var(--font-body); font-size: 0.95rem; border-bottom: 1px solid var(--cream-200); }
.score-table tbody th a, .job-table td a { color: var(--navy-700); font-weight: 600; }

/* Hub branch cards */
.branch-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.branch-card { background: var(--white); border-radius: var(--r-lg); padding: 1.5rem; box-shadow: var(--shadow-1); display: flex; flex-direction: column; }
.branch-card h3 { font-family: var(--font-display); font-size: 1.5rem; text-transform: uppercase; margin-bottom: 0.5rem; }
.branch-card h3 a { color: var(--navy-900); text-decoration: none; }
.branch-card p { font-size: 0.95rem !important; }
.branch-card-min strong { font-family: var(--font-data); color: var(--navy-900); }
.branch-card-jobs { list-style: none; margin: 0 0 1rem !important; padding: 0; }
.branch-card-jobs li { margin-bottom: 0.3rem; font-size: 0.95rem; }
.branch-card-jobs a, .branch-card-link, .job-featured-list a, .job-related a { color: var(--navy-700); font-weight: 600; }
.branch-card-link { margin-top: auto; }

/* Branch job table */
.job-featured-list { columns: 2; column-gap: 2rem; list-style: none; margin-left: 0 !important; }
.job-featured-list li { break-inside: avoid; }
.job-filter { display: flex; flex-direction: column; gap: 0.35rem; max-width: 420px; font-weight: 600; color: var(--navy-900); margin-top: 1rem; }
.job-filter input { font: inherit; font-weight: 400; padding: 0.7rem 0.9rem; border: 1px solid var(--cream-200); border-radius: var(--r-md); background: var(--white); }
.job-filter input:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 1px; }
.job-filter-empty { margin-top: 1rem; }
.job-table-wrap { overflow-x: auto; }
.job-table td { vertical-align: top; }
.job-code { font-family: var(--font-data); font-weight: 600; white-space: nowrap; }
.job-req { font-family: var(--font-data); font-weight: 600; color: var(--navy-900); min-width: 9rem; }
.job-notes { font-size: 0.85rem !important; color: var(--text-secondary) !important; }
.job-cat { display: block; font-size: 0.8rem; color: var(--text-secondary); font-weight: 400; }

/* Job page requirement box */
.job-req-box { display: flex; gap: 2rem; justify-content: space-between; align-items: flex-start; background: var(--navy-900); color: var(--white); border-radius: var(--r-lg); padding: 1.75rem 2rem; margin-bottom: 3rem; box-shadow: var(--shadow-2); }
.job-req-label { font-family: var(--font-data); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-400); margin-bottom: 0.5rem; }
.job-req-paths { list-style: none; }
.job-req-paths li { font-family: var(--font-data); font-size: 1.6rem; font-weight: 700; line-height: 1.3; }
.job-req-paths .req-or { font-family: var(--font-body); font-size: 0.9rem; font-weight: 500; color: var(--cream-200); text-transform: uppercase; letter-spacing: 0.1em; margin: 0.2rem 0; }
.job-req-paths .req-and { font-family: var(--font-body); font-size: 0.95rem; font-weight: 500; color: var(--cream-200); }
.job-req-afqt { text-align: right; flex-shrink: 0; }
.job-req-afqt-value { font-family: var(--font-data); font-size: 2.4rem; font-weight: 700; color: var(--gold-400); line-height: 1; }
.job-parts li, .job-related li { margin-bottom: 0.6rem; }
.job-parts a { color: var(--navy-700); font-weight: 600; }

/* CTA + footer notes */
.job-cta-row { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: center; }
.job-cta-secondary { color: var(--navy-700); font-weight: 600; }
.job-footer-notes { margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--cream-200); font-size: 0.9rem; color: var(--text-secondary); }
.job-footer-notes p { margin-bottom: 0.6rem; }
.job-footer-notes a, .job-cite a { color: var(--navy-700); }
.job-recruiter { color: var(--text-primary); font-weight: 500; }
.job-cite { font-size: 0.85rem; color: var(--text-secondary); }
.content > .job-recruiter { margin-top: 2rem; text-align: center; }

@media (max-width: 700px) {
  .job-featured-list { columns: 1; }
  .job-req-box { flex-direction: column; gap: 1rem; padding: 1.4rem; }
  .job-req-afqt { text-align: left; }
  .job-req-paths li { font-size: 1.3rem; }
  .job-table .job-notes { display: none; }
  .hub-table th:nth-child(3), .hub-table td:nth-child(3) { display: none; }
}

/* ---- Job options view (my-options.html, score calculator) ---- */
.opt-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.opt-stat { background: var(--white); border-radius: var(--r-lg); padding: 1.25rem; box-shadow: var(--shadow-1); text-align: center; }
.opt-stat .v { display: block; font-family: var(--font-data); font-size: 2.2rem; font-weight: 700; color: var(--navy-900); line-height: 1.1; }
.opt-stat .l { font-size: 0.9rem; color: var(--text-secondary); }
.opt-source { color: var(--text-secondary); margin-bottom: 1.5rem; }
.opt-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; padding: 0; }
.opt-chip { border-radius: var(--r-pill); padding: 0.4rem 0.9rem; font-size: 0.88rem; border: 1px solid var(--cream-200); background: var(--white); }
.opt-chip-ok { border-color: var(--success); background: var(--success-light); color: var(--success); }
.opt-chip-below { border-color: var(--warning); background: var(--warning-light); color: var(--warning); }
.opt-chip strong { color: var(--navy-900); margin-right: 0.25rem; }
.opt-filter { margin: 0 0 1.25rem; }
.opt-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; border-bottom: 2px solid var(--cream-200); margin-bottom: 1.25rem; }
.opt-tab { font: inherit; font-weight: 600; background: none; border: none; border-bottom: 3px solid transparent; margin-bottom: -2px; padding: 0.65rem 0.9rem; color: var(--text-secondary); cursor: pointer; min-height: 44px; }
.opt-tab[aria-selected="true"] { color: var(--navy-900); border-bottom-color: var(--gold-500); }
.opt-tab:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 2px; }
.opt-tab-count { font-family: var(--font-data); font-size: 0.8rem; background: var(--cream-200); border-radius: var(--r-pill); padding: 0.1rem 0.5rem; margin-left: 0.25rem; }
.opt-composites { background: var(--white); border-radius: var(--r-md); padding: 0.8rem 1rem; box-shadow: var(--shadow-1); color: var(--text-secondary); font-size: 0.92rem; }
.opt-composites span { display: inline-block; margin: 0.15rem 0.6rem 0.15rem 0; font-family: var(--font-data); color: var(--navy-900); }
.opt-afqt-below { background: var(--warning-light); border-radius: var(--r-md); padding: 0.8rem 1rem; color: var(--text-primary); }
.opt-afqt-below a, .opt-note a, .opt-branch-link a, .opt-job-gap a { color: var(--navy-700); font-weight: 600; }
.opt-group { margin: 1.5rem 0; }
.opt-group h3, .opt-group summary { font-family: var(--font-display); font-size: 1.35rem; text-transform: uppercase; color: var(--navy-900); margin-bottom: 0.5rem; }
details.opt-group summary { cursor: pointer; font-size: 1.15rem; padding: 0.5rem 0; }
.opt-note { color: var(--text-secondary); font-size: 0.95rem; margin: 0.25rem 0 0.75rem; }
.opt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.opt-job { background: var(--white); border-radius: var(--r-md); padding: 0.85rem 1rem; box-shadow: var(--shadow-1); display: flex; flex-direction: column; gap: 0.2rem; border-left: 4px solid var(--cream-200); }
.opt-qualify .opt-job { border-left-color: var(--success); }
.opt-close .opt-job { border-left-color: var(--gold-500); }
.opt-job-name { color: var(--navy-900); font-weight: 600; text-decoration: none; }
.opt-job-name:hover { text-decoration: underline; }
.opt-job-code { font-family: var(--font-data); color: var(--gold-text); margin-right: 0.25rem; }
.opt-job-req { font-size: 0.88rem; color: var(--text-secondary); }
.opt-job-gap { font-size: 0.9rem; color: var(--text-primary); }
.opt-empty { background: var(--white); border-radius: var(--r-lg); padding: 2rem; box-shadow: var(--shadow-1); text-align: center; }
.opt-empty h2 { font-family: var(--font-display); text-transform: uppercase; color: var(--navy-900); margin-bottom: 0.75rem; }
.opt-empty p { color: var(--text-secondary); margin-bottom: 1.25rem; }
@media (max-width: 700px) {
  .opt-tab { padding: 0.55rem 0.6rem; font-size: 0.92rem; }
  .opt-stat .v { font-size: 1.8rem; }
}
.opt-more { margin-top: 0.6rem; }
.opt-more summary { cursor: pointer; font-weight: 600; color: var(--navy-700); padding: 0.6rem 0; min-height: 44px; }
.opt-more .opt-list { margin-top: 0.4rem; }
