/* ==========================================================
   CAREERS — job listing cards + application form extras.
   The application form itself reuses .contact-form / .form-field
   styles already defined in css/cta.css.
   ========================================================== */

.jobs-grid{display:flex; flex-direction:column; gap:16px;}
.job-card{
  background:var(--white); border:1px solid var(--gray-150); border-radius:var(--radius-lg);
  padding:26px 28px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;
  transition:border-color .15s, transform .15s;
}
.job-card:hover{border-color:var(--gray-300); transform:translateY(-2px);}
.job-card h3{font-size:18px; margin-bottom:8px;}
.job-meta{display:flex; gap:10px; flex-wrap:wrap;}
.job-tag{
  font-size:12px; font-weight:700; color:var(--gray-700);
  background:var(--bg-alt); border:1px solid var(--gray-150);
  padding:5px 12px; border-radius:var(--radius-pill);
}
.job-tag--deadline{
  color:#CB2952; border-color:rgba(203,41,82,0.3); background:rgba(203,41,82,0.06);
}
.job-empty{
  text-align:center; padding:48px 24px; color:var(--gray-500);
  border:1.5px dashed var(--gray-300); border-radius:var(--radius-lg);
}

/* description + requirements added below each job title */
.job-desc{
  margin-top:12px; font-size:14.5px; color:var(--gray-700); line-height:1.5; max-width:52ch;
}
.job-requirements{
  list-style:none; margin-top:12px; display:flex; flex-direction:column; gap:4px;
}
.job-requirements li{
  font-size:14px; color:var(--gray-700); padding-left:16px; position:relative;
}
.job-requirements li::before{
  content:"—"; position:absolute; left:0; color:var(--gray-300);
}

/* application form additions (select + file input) */
.form-field select{
  width:100%; background:rgba(255,255,255,0.08); border:1.5px solid rgba(255,255,255,0.18);
  border-radius:var(--radius-md); padding:12px 14px; color:var(--white);
  font-family:'Inter'; font-size:14.5px; appearance:none;
}
.form-field select option{color:var(--ink);}
.form-field.file-field{
  border:1.5px dashed rgba(255,255,255,0.3); border-radius:var(--radius-md);
  padding:16px; text-align:center;
}
.form-field.file-field label{margin-bottom:10px;}
.form-field.file-field input[type="file"]{
  background:none; border:none; color:rgba(255,255,255,0.75); font-size:13.5px; padding:0;
}
.file-hint{font-size:12px; color:rgba(255,255,255,0.45); margin-top:6px;}
.careers-closed {text-align:center; padding:48px 24px; color:var(--gray-500); font-size:20px; font-weight:600; color: #CB2952;}

@media(max-width:620px){
  .job-card{flex-direction:column; align-items:flex-start;}
}