/* Discover WPU - Careers. Loaded after discover.css; only what the careers
 * pages add on top of its hero, card, form and aside styles. */

.careers-spacer{height:72px;}

/* ===== List ===== */
.careers-filter{display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 260px) auto; gap:14px; align-items:end; padding:18px; margin-bottom:8px; background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-md);}
.careers-filter .field{gap:6px;}
.careers-filter-actions{display:flex; align-items:center; gap:14px;}
.careers-clear{font-size:15px; font-weight:700; color:var(--navy); text-decoration:underline; text-underline-offset:3px;}

.job-list{list-style:none;}
.job-item{display:flex; align-items:center; justify-content:space-between; gap:16px 28px; padding:24px 0; border-top:1px solid var(--line);}
.job-item:first-child{border-top:0;}
.job-item-main{min-width:0;}
.job-badges{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px;}
.job-badges .status-badge{padding:4px 12px; font-size:13px;}
.job-item h3{font-size:20px;}
.job-item h3 a:hover{color:var(--blue); text-decoration:underline; text-underline-offset:3px;}
.job-meta{list-style:none; display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:8px; font-size:14.5px; color:var(--ink-soft);}
.job-meta li{display:inline-flex; align-items:center; gap:7px;}
.job-meta .icon{width:17px; height:17px; color:var(--muted);}
.job-summary{margin-top:10px; max-width:760px; font-size:15px; color:var(--ink-soft);}
.job-item > .btn{flex-shrink:0;}

.job-empty{text-align:center; padding:40px 16px 24px;}
.job-empty-icon{width:64px; height:64px; margin:0 auto 14px; border-radius:50%; background:var(--blue-50); color:var(--blue); display:flex; align-items:center; justify-content:center;}
.job-empty-icon .icon{width:30px; height:30px;}
.job-empty h3{font-size:20px; margin-bottom:6px;}
.job-empty p{color:var(--ink-soft); font-size:15px;}
.job-empty a{color:var(--navy); font-weight:700; text-decoration:underline; text-underline-offset:3px;}

/* ===== Position ===== */
.career-back{display:inline-flex; align-items:center; gap:6px; min-height:36px; margin-bottom:14px; font-size:14.5px; font-weight:700; color:#fff;}
.career-back .icon{width:18px; height:18px;}
.career-back:hover{text-decoration:underline; text-underline-offset:3px;}
.eoi-hero .career-back + .eyebrow{display:block;}

.career-main > .card + .card{margin-top:24px;}
.career-section + .career-section{margin-top:28px; padding-top:24px; border-top:1px solid var(--line);}
.career-section h2{font-size:20px; margin-bottom:12px;}
.career-text p{font-size:16px; color:var(--ink-soft);}
.career-text p + p{margin-top:12px;}
.career-reqs{list-style:none; display:flex; flex-direction:column; gap:10px;}
.career-reqs li{display:flex; gap:10px; align-items:flex-start; font-size:15.5px; color:var(--ink-soft);}
.career-reqs .icon{width:20px; height:20px; margin-top:2px; color:var(--success-text); stroke-width:2.4;}

.form .field input[type="file"]{padding:10px 12px; background:var(--surface-2);}
.career-apply-jump{margin-top:20px;}

@media (max-width:920px){
  .careers-filter{grid-template-columns:1fr 1fr;}
  .careers-filter-actions{grid-column:1 / -1;}
}
@media (max-width:700px){
  .careers-spacer{height:40px;}
  .careers-filter{grid-template-columns:1fr; padding:14px;}
  .careers-filter-actions .btn{flex:1;}
  .job-item{flex-direction:column; align-items:stretch; padding:20px 0;}
  .job-item h3{font-size:18px;}
  .job-item > .btn{width:100%;}
  .career-main > .card + .card{margin-top:16px;}
}
