/* Procrest Jobs — styled to match procrestafrica.com.
   Colours and radius are tokens so the site owner can retune in one place.
   Type deliberately inherits the theme (Titillium Web on procrestafrica.com). */
.pj-wrap{
  --pj-green:#2b3a27;
  --pj-accent:#8cc63f;
  --pj-ink:#14231c;
  --pj-body:#333b36;
  --pj-muted:#6b756e;
  --pj-line:#bec5d6;
  --pj-radius:12px;
  --pj-btn:#161c14;
  font-family:inherit;
  color:var(--pj-body);
  max-width:1080px;
  margin:0 auto;
}
.pj-wrap *{box-sizing:border-box}

.pj-hero{
  background:var(--pj-green);
  color:#fff;
  border-radius:var(--pj-radius);
  padding:34px 36px;
  margin:0 0 28px;
}
.pj-hero-title{
  font-family:inherit;
  color:#fff;
  margin:0;
  font-size:clamp(26px,4vw,40px);
  font-weight:600;
  line-height:1.1;
}
.pj-hero-meta{color:rgba(255,255,255,.82);margin-top:8px;font-size:15px}

.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.pj-card{
  display:block;
  background:#fff;
  border:1px solid var(--pj-line);
  border-radius:var(--pj-radius);
  padding:22px 24px;
  text-decoration:none;
  color:inherit;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.pj-card:hover{
  box-shadow:0 10px 26px rgba(20,35,28,.10);
  transform:translateY(-2px);
  border-color:var(--pj-green);
}
.pj-card-title{font-size:22px;font-weight:600;color:var(--pj-ink);margin-bottom:6px;line-height:1.25}
.pj-card-meta{font-size:14px;color:var(--pj-muted)}
.pj-card-salary{font-size:14px;color:var(--pj-green);font-weight:600;margin-top:6px}
.pj-card-more{
  display:inline-block;margin-top:16px;font-size:13px;font-weight:600;
  color:var(--pj-ink);border-bottom:2px solid var(--pj-accent);padding-bottom:1px;
}

.pj-detail .pj-back{display:inline-block;margin:0 0 18px;color:var(--pj-muted);text-decoration:none;font-size:14px}
.pj-detail .pj-back:hover{color:var(--pj-green)}
.pj-h3{font-family:inherit;color:var(--pj-ink);font-size:20px;font-weight:600;margin:26px 0 8px}
.pj-rte{font-size:16px;line-height:1.7;color:var(--pj-body)}
.pj-rte p{margin:0 0 12px}
.pj-rte ul,.pj-rte ol{margin:0 0 12px 22px}
.pj-rte a{color:var(--pj-green)}

.pj-apply{
  margin-top:36px;background:#f7faf8;border:1px solid var(--pj-line);
  border-radius:var(--pj-radius);padding:26px 28px;
}
.pj-form label{display:block;margin:0 0 14px;font-size:14px;font-weight:600;color:var(--pj-ink)}
.pj-form .pj-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.pj-form .pj-row{grid-template-columns:1fr}}
.pj-form input[type=text],.pj-form input[type=email],.pj-form input[type=url],
.pj-form textarea,.pj-form select,.pj-form input[type=file]{
  display:block;width:100%;margin-top:5px;padding:11px 13px;
  border:1px solid var(--pj-line);border-radius:8px;background:#fff;
  font:inherit;font-weight:400;color:var(--pj-body);
}
.pj-form input:focus,.pj-form textarea:focus,.pj-form select:focus{
  outline:none;border-color:var(--pj-green);box-shadow:0 0 0 3px rgba(43,58,39,.12);
}
.pj-form .pj-hint{display:block;margin-top:4px;font-weight:400;font-size:12px;color:var(--pj-muted)}
.pj-form .pj-consent{font-weight:400;font-size:14px;color:var(--pj-body);display:flex;gap:9px;align-items:flex-start}
.pj-form .pj-consent input{width:auto;margin-top:3px}
.pj-hp{position:absolute;left:-9999px;height:0;overflow:hidden}

.pj-btn{
  margin-top:8px;display:inline-block;cursor:pointer;
  background:var(--pj-btn);color:#fff;border:0;border-radius:8px;
  padding:14px 30px;font:inherit;font-weight:600;font-size:14px;
  text-transform:uppercase;letter-spacing:.06em;
  transition:background .18s ease,transform .1s ease;
}
.pj-btn:hover{background:#2b3a27}
.pj-btn:active{transform:translateY(1px)}

.pj-note{border-radius:10px;padding:14px 18px;margin:0 0 18px;font-size:15px}
.pj-ok{background:#e8f5ea;border:1px solid #bfe3c6;color:#1c5a2a}
.pj-err{background:#fdecec;border:1px solid #f3c9c9;color:#8a2020}
.pj-empty{color:var(--pj-muted);font-size:16px;padding:8px 0}
