/* ═══════════════════════════════════════════════
   KOOLING — Careers
   page-styles/careers.css
   ═══════════════════════════════════════════════ */

/* ── HERO ── */
.careers-hero{
  padding:11rem 3.5rem 3.5rem;
  max-width:920px;
}
.careers-eyebrow{
  font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--color-accent-gold);margin-bottom:1.5rem;font-weight:500;
}
.careers-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2rem,5vw,3.4rem);font-weight:700;
  letter-spacing:-0.02em;line-height:1.05;color:var(--color-text-primary);
  margin-bottom:1.5rem;
}
.careers-lead{
  font-size:1rem;font-weight:300;line-height:1.7;
  color:var(--color-text-secondary);max-width:640px;
}

/* ── ROLE LIST ── */
.careers-list{padding:1rem 3.5rem 6rem;}
.roles{display:flex;flex-direction:column;gap:1.25rem;max-width:920px;}
.role-card{
  border:1px solid var(--color-line-strong);
  padding:2rem 2.25rem;
  background:var(--color-bg-light);
  transition:border-color 0.25s;
}
.role-card:hover{border-color:var(--color-accent-gold);}
.role-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:1.5rem;flex-wrap:wrap;
}
.role-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.3rem;font-weight:700;letter-spacing:-0.01em;
  color:var(--color-text-primary);
}
.role-meta{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:0.4rem;}
.role-meta-item{
  font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--color-text-secondary);font-weight:500;
  border:1px solid var(--color-line);padding:0.3rem 0.6rem;
}
.role-summary{
  font-size:0.9rem;font-weight:300;line-height:1.7;
  color:var(--color-text-secondary);margin:1.1rem 0 0;max-width:680px;
}
.role-details{margin-top:1rem;}
.role-details summary{
  font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--color-text-secondary);cursor:pointer;font-weight:500;
  list-style:none;width:fit-content;
  border-bottom:1px solid var(--color-accent-gold-soft);padding-bottom:2px;
  transition:color 0.2s,border-color 0.2s;
}
.role-details summary:hover{color:var(--color-text-primary);border-color:var(--color-text-primary);}
.role-details summary::-webkit-details-marker{display:none;}
.role-details[open] summary{margin-bottom:1rem;}
.role-desc{font-size:0.85rem;font-weight:300;line-height:1.75;color:var(--color-text-secondary);}
.role-desc p{margin-bottom:0.85rem;}
.btn-apply{
  margin-top:1.5rem;
  font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;
  background:var(--color-accent-blue);color:var(--color-bg-light);
  padding:0.7rem 2rem;cursor:pointer;border:none;
  font-family:'Barlow',sans-serif;transition:opacity 0.2s;
}
.btn-apply:hover{opacity:0.72;}

.no-roles{
  font-size:0.95rem;font-weight:300;line-height:1.7;
  color:var(--color-text-secondary);max-width:640px;
}
.no-roles a{color:var(--color-accent-blue);text-decoration:none;border-bottom:1px solid var(--color-accent-gold-soft);}
.no-roles a:hover{border-color:var(--color-accent-blue);}

/* ── APPLY MODAL (reuses popup-overlay base; careers-specific inner) ── */
.apply-modal{
  display:none;position:fixed;inset:0;
  background:rgba(30,45,48,0.6);z-index:500;
  align-items:center;justify-content:center;padding:1.5rem;
}
.apply-modal.open{display:flex;}
.apply-box{
  background:var(--color-bg-light);padding:2.75rem;
  max-width:520px;width:100%;position:relative;
  max-height:90vh;overflow-y:auto;
}
.apply-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.4rem;font-weight:700;letter-spacing:-0.01em;margin-bottom:0.4rem;
}
.apply-sub{font-size:0.82rem;color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.7;}
.apply-sub strong{color:var(--color-text-primary);font-weight:600;}
.apply-form{display:flex;flex-direction:column;gap:1.1rem;}
.apply-input{
  font-family:'Barlow',sans-serif;font-size:0.85rem;font-weight:300;
  border:none;border-bottom:1px solid var(--color-line-strong);
  background:transparent;padding:0.6rem 0;color:var(--color-text-primary);outline:none;
  transition:border-color 0.2s;width:100%;
}
.apply-input:focus{border-color:var(--color-accent-gold);}
.apply-input::placeholder{color:var(--color-text-secondary);}
.apply-textarea{resize:none;min-height:80px;}

/* selects share the underline-input look; strip native chrome + add a caret */
select.apply-input{
  appearance:none;-webkit-appearance:none;border-radius:0;cursor:pointer;
  padding-right:1.3rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238A8F92' stroke-width='1.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 0.15rem center;background-size:0.6rem;
}
/* unselected (placeholder) option reads as muted, like ::placeholder */
select.apply-input:required:invalid{color:var(--color-text-secondary);}
select.apply-input option{color:var(--color-text-primary);}
.apply-phone-row{display:flex;gap:0.85rem;align-items:flex-end;}
.apply-phone-cc{flex:0 0 auto;max-width:44%;}
.apply-phone-num{flex:1 1 auto;}

.apply-field-label{
  font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--color-text-secondary);font-weight:500;margin-bottom:0.5rem;display:block;
}
.apply-file{
  font-family:'Barlow',sans-serif;font-size:0.8rem;font-weight:300;
  color:var(--color-text-secondary);
}
.apply-file::file-selector-button{
  font-family:'Barlow',sans-serif;font-size:0.62rem;letter-spacing:0.12em;
  text-transform:uppercase;background:var(--color-bg-light-soft);
  color:var(--color-text-primary);border:1px solid var(--color-line-strong);
  padding:0.55rem 1.1rem;margin-right:1rem;cursor:pointer;transition:border-color 0.2s;
}
.apply-file::file-selector-button:hover{border-color:var(--color-accent-gold);}
.apply-hint{font-size:0.68rem;color:var(--color-text-secondary);font-weight:300;margin-top:0.4rem;}

.apply-consent{display:flex;gap:0.65rem;align-items:flex-start;font-weight:300;}
.apply-consent input{margin-top:0.2rem;accent-color:var(--color-accent-blue);flex-shrink:0;}
.apply-consent label{font-size:0.72rem;line-height:1.6;color:var(--color-text-secondary);}
.apply-consent a{color:var(--color-accent-blue);text-decoration:none;border-bottom:1px solid var(--color-accent-gold-soft);}

.apply-status{font-size:0.75rem;line-height:1.5;font-weight:300;min-height:1em;}
.apply-status.error{color:#B4423A;}

.apply-actions{display:flex;align-items:center;justify-content:space-between;margin-top:0.5rem;gap:1rem;}
.btn-apply-send{
  font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;
  background:var(--color-text-primary);color:var(--color-bg-light);
  padding:0.75rem 1.85rem;cursor:pointer;border:none;
  transition:opacity 0.2s;font-family:'Barlow',sans-serif;
}
.btn-apply-send:hover{opacity:0.72;}
.btn-apply-send:disabled{opacity:0.5;cursor:default;}
.btn-apply-cancel{
  font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;
  color:var(--color-text-secondary);background:none;border:none;cursor:pointer;
  font-family:'Barlow',sans-serif;transition:color 0.2s;
}
.btn-apply-cancel:hover{color:var(--color-text-primary);}

/* honeypot — hidden from humans */
.apply-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ── RESPONSIVE ── */
@media (max-width:640px){
  .careers-hero{padding:8.5rem 1.25rem 2.5rem;}
  .careers-list{padding:0.5rem 1.25rem 4rem;}
  .role-card{padding:1.5rem 1.4rem;}
  .apply-box{padding:2rem 1.4rem;}
}
