/* ══════════════════════════════════════
   HP Job Manager Pro — Frontend Styles
   Palette matches hpgovtjob.com header
   ══════════════════════════════════════ */
:root{
  --hpjm-indigo:#0F2A4A;
  --hpjm-indigo-2:#16385F;
  --hpjm-pine:#1F6E43;
  --hpjm-pine-dark:#155432;
  --hpjm-pine-light:#2F8F5C;
  --hpjm-saffron:#E8A33D;
  --hpjm-saffron-dark:#C77F1E;
  --hpjm-snow:#F7F9FB;
  --hpjm-text:#16202B;
  --hpjm-muted:#5B6B7C;
  --hpjm-border:#E2E8EE;
  --hpjm-red:#C0281B;
}
.hpjm-home-wrap,.hpjm-cat-block,.hpjm-grid-cols,.hpjm-card,.hpjm-single-box,.hpjm-table-wrap,.hpjm-filter-tabs,.hpjm-search-box{
  box-sizing:border-box;font-family:'Inter',-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--hpjm-text);
}
.hpjm-home-wrap *{box-sizing:border-box}
.hpjm-empty{color:var(--hpjm-muted);font-style:italic;padding:20px 0}

/* ---- Category block ---- */
.hpjm-cat-block{margin:0 0 44px}
.hpjm-cat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;border-bottom:2px solid var(--hpjm-border);padding-bottom:10px}
.hpjm-cat-title{font-size:22px;font-weight:800;color:var(--hpjm-indigo);margin:0;position:relative;padding-left:14px}
.hpjm-cat-title::before{content:'';position:absolute;left:0;top:3px;bottom:3px;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--hpjm-saffron),var(--hpjm-pine))}
.hpjm-viewall{font-size:13px;font-weight:700;color:var(--hpjm-pine-dark);text-decoration:none;white-space:nowrap}
.hpjm-viewall:hover{color:var(--hpjm-saffron-dark)}

/* ---- Grid ---- */
.hpjm-grid-cols{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
.hpjm-cols-1{grid-template-columns:1fr}
.hpjm-cols-2{grid-template-columns:repeat(2,1fr)}
.hpjm-cols-3{grid-template-columns:repeat(3,1fr)}
.hpjm-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.hpjm-cols-3,.hpjm-cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hpjm-cols-2,.hpjm-cols-3,.hpjm-cols-4{grid-template-columns:1fr}}

/* ---- Card ---- */
.hpjm-card{background:#fff;border:1.5px solid var(--hpjm-border);border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s,transform .15s,border-color .2s}
.hpjm-card:hover{box-shadow:0 12px 30px rgba(15,42,74,.12);transform:translateY(-3px);border-color:var(--hpjm-saffron)}
.hpjm-card-badges{display:flex;gap:6px;flex-wrap:wrap}
.hpjm-badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:#fff}
.hpjm-badge-active{background:var(--hpjm-pine)}
.hpjm-badge-upcoming{background:var(--hpjm-saffron-dark)}
.hpjm-badge-closed{background:#8E1F1F}
.hpjm-badge-new{background:linear-gradient(135deg,var(--hpjm-saffron),var(--hpjm-saffron-dark));color:#241701}
.hpjm-badge-closing{background:var(--hpjm-red)}
.hpjm-card-title{font-size:16.5px;font-weight:800;line-height:1.35;margin:2px 0 0}
.hpjm-card-title a{color:var(--hpjm-indigo);text-decoration:none}
.hpjm-card-title a:hover{color:var(--hpjm-pine-dark)}
.hpjm-card-org{font-size:12.5px;font-weight:700;color:var(--hpjm-muted);text-transform:uppercase;letter-spacing:.3px}
.hpjm-card-meta{list-style:none;margin:4px 0 6px;padding:0;font-size:13px;color:var(--hpjm-text);display:flex;flex-direction:column;gap:4px}
.hpjm-card-meta strong{color:var(--hpjm-muted);font-weight:700;margin-right:4px}
.hpjm-card-btn{margin-top:auto;text-align:center;background:linear-gradient(135deg,var(--hpjm-indigo),var(--hpjm-indigo-2));color:#fff;font-weight:700;font-size:13px;padding:10px;border-radius:8px;text-decoration:none;transition:opacity .2s}
.hpjm-card-btn:hover{opacity:.88;color:#fff}

/* ---- Filter tabs (list shortcode) ---- */
.hpjm-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.hpjm-tab{background:#fff;border:1.5px solid var(--hpjm-border);color:var(--hpjm-muted);font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:20px;cursor:pointer;transition:all .15s}
.hpjm-tab:hover{border-color:var(--hpjm-pine)}
.hpjm-tab.active{background:var(--hpjm-indigo);border-color:var(--hpjm-indigo);color:#fff}

/* ---- Table ---- */
.hpjm-table-wrap{overflow-x:auto;border:1.5px solid var(--hpjm-border);border-radius:12px}
.hpjm-table{width:100%;border-collapse:collapse;font-size:13.5px}
.hpjm-table th{background:var(--hpjm-snow);color:var(--hpjm-indigo);font-weight:800;text-align:left;padding:12px 14px;border-bottom:1.5px solid var(--hpjm-border);white-space:nowrap}
.hpjm-table td{padding:12px 14px;border-bottom:1px solid var(--hpjm-border)}
.hpjm-table tr:last-child td{border-bottom:none}
.hpjm-table a{color:var(--hpjm-indigo);text-decoration:none;font-weight:700}
.hpjm-table a:hover{color:var(--hpjm-saffron-dark)}
.hpjm-table-link{white-space:nowrap}

/* ---- Search box ---- */
.hpjm-search-box{display:flex;gap:0;max-width:480px;border:1.5px solid var(--hpjm-border);border-radius:10px;overflow:hidden}
.hpjm-search-box input{flex:1;border:none;padding:11px 14px;font-size:14px;outline:none}
.hpjm-search-box button{background:var(--hpjm-indigo);color:#fff;border:none;padding:0 20px;font-weight:700;cursor:pointer}
.hpjm-search-box button:hover{background:var(--hpjm-indigo-2)}

/* ---- Single job page box ---- */
.hpjm-single-box{background:#fff;border:1.5px solid var(--hpjm-border);border-radius:16px;padding:22px 24px;margin-bottom:28px;box-shadow:0 4px 20px rgba(15,42,74,.06)}
.hpjm-single-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.hpjm-single-org{font-weight:800;color:var(--hpjm-indigo);font-size:15px}
.hpjm-single-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;background:var(--hpjm-snow);border-radius:10px;padding:14px 16px;margin-bottom:18px}
.hpjm-single-grid div{display:flex;flex-direction:column;gap:2px}
.hpjm-single-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--hpjm-muted);font-weight:700}
.hpjm-single-grid strong{font-size:14.5px;color:var(--hpjm-text)}
.hpjm-single-section{margin-top:18px}
.hpjm-single-section h3{font-size:15px;color:var(--hpjm-indigo);margin:0 0 8px;border-left:4px solid var(--hpjm-saffron);padding-left:10px}
.hpjm-dates-table{width:100%;border-collapse:collapse;font-size:13.5px}
.hpjm-dates-table td{padding:8px 10px;border-bottom:1px solid var(--hpjm-border)}
.hpjm-dates-table td:first-child{font-weight:700;color:var(--hpjm-muted);width:45%}
.hpjm-links-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.hpjm-btn{display:inline-block;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:700;text-decoration:none;background:var(--hpjm-snow);border:1.5px solid var(--hpjm-border);color:var(--hpjm-indigo);transition:all .15s}
.hpjm-btn:hover{border-color:var(--hpjm-pine);color:var(--hpjm-pine-dark)}
.hpjm-btn-primary{background:linear-gradient(135deg,var(--hpjm-pine-light),var(--hpjm-pine-dark));border-color:transparent;color:#fff}
.hpjm-btn-primary:hover{opacity:.9;color:#fff}

/* ---- Breadcrumbs ---- */
.hpjm-breadcrumbs{font-size:12.5px;color:var(--hpjm-muted);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hpjm-breadcrumbs a{color:var(--hpjm-pine-dark);text-decoration:none;font-weight:600}
.hpjm-breadcrumbs a:hover{color:var(--hpjm-saffron-dark)}
.hpjm-breadcrumbs span{color:var(--hpjm-muted)}
.hpjm-breadcrumb-current{color:var(--hpjm-text);font-weight:600}

/* ---- Content section heading (wraps the editor's free-text content) ---- */
.hpjm-content-section h3{font-size:15px;color:var(--hpjm-indigo);margin:0 0 8px;border-left:4px solid var(--hpjm-saffron);padding-left:10px}

/* ---- FAQ accordion ---- */
.hpjm-faq-section{margin-top:28px}
.hpjm-faq-section h3{font-size:15px;color:var(--hpjm-indigo);margin:0 0 10px;border-left:4px solid var(--hpjm-saffron);padding-left:10px}
.hpjm-faq-item{background:#fff;border:1.5px solid var(--hpjm-border);border-radius:10px;padding:12px 16px;margin-bottom:8px}
.hpjm-faq-item summary{cursor:pointer;font-weight:700;color:var(--hpjm-indigo);list-style:none}
.hpjm-faq-item summary::-webkit-details-marker{display:none}
.hpjm-faq-item summary::before{content:'+ ';color:var(--hpjm-saffron-dark);font-weight:800}
.hpjm-faq-item[open] summary::before{content:'– '}
.hpjm-faq-item p{margin:8px 0 0;font-size:13.5px;color:var(--hpjm-text);line-height:1.6}

/* ---- Bottom CTA ---- */
.hpjm-bottom-cta{margin:28px 0;text-align:center}
.hpjm-bottom-cta .hpjm-btn{padding:14px 34px;font-size:14.5px}

/* ---- Related jobs ---- */
.hpjm-related-section{margin-top:32px;padding-top:24px;border-top:2px solid var(--hpjm-border)}
.hpjm-related-section h3{font-size:18px;font-weight:800;color:var(--hpjm-indigo);margin:0 0 14px}

/* ---- Pagination ---- */
.hpjm-pagination{display:flex;gap:6px;justify-content:center;margin-top:24px}
.hpjm-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:8px;border:1.5px solid var(--hpjm-border);color:var(--hpjm-indigo);text-decoration:none;font-weight:700;font-size:13px}
.hpjm-pagination .page-numbers.current{background:var(--hpjm-indigo);border-color:var(--hpjm-indigo);color:#fff}
