/* Jobportalen (job/) - offentlig, uden login. Se includes/jobportal.php. */
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#f5f3ee;font-family:Geist,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1b1a17;font-size:16px;line-height:1.5}
a{color:#c4561d}
.jp-top{background:#fff;border-bottom:1px solid #e7e3db}
.jp-top-in{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:12px}
.jp-home{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.jp-logo{width:34px;height:34px;border-radius:9px;background:#c4561d;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.jp-brand{font-weight:700;font-size:1.02rem}
.jp-brand span{color:#8a857c;font-weight:500}
.jp-top-in>a.ext{margin-left:auto;color:#55524c;font-size:.9rem;text-decoration:none}
.jp-top-in>a.ext:hover{color:#1b1a17}
.jp-main{max-width:1080px;margin:0 auto;padding:34px 24px 50px}
.jp-hero{background:linear-gradient(135deg,#1b1a17,#3a2a1f);color:#fff;border-radius:20px;padding:34px 36px;margin-bottom:26px;position:relative;overflow:hidden}
.jp-hero h1{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;position:relative}
.jp-hero p{color:#e7ded3;font-size:1rem;max-width:620px;margin:0;position:relative}
.jp-hero .dots{position:absolute;right:-30px;top:-30px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#c4561d 0,#c4561d00 70%);opacity:.6}
.jp-perks{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;position:relative}
.jp-perks span{background:#ffffff1f;border:1px solid #ffffff33;border-radius:999px;padding:5px 12px;font-size:.84rem}
.jp-h2{font-size:1.15rem;font-weight:700;margin:0 0 12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.jp-h2 small{font-size:.86rem;color:#8a857c;font-weight:500}
.jp-job{background:#fff;border:1px solid #e7e3db;border-radius:16px;padding:20px 22px;margin-bottom:12px;display:flex;gap:18px;align-items:center;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.jp-job:hover{border-color:#d8cfc2;box-shadow:0 4px 18px #1b1a170d}
.jp-job .t{flex:1;min-width:0}
.jp-job h3{font-size:1.15rem;font-weight:700;margin:0 0 4px}
.jp-job p{margin:0 0 10px;color:#55524c;font-size:.92rem}
.jp-chips{display:flex;gap:6px;flex-wrap:wrap}
.jp-chip{font-size:.78rem;font-weight:600;background:#f3f1ec;border-radius:999px;padding:3px 10px;color:#55524c}
.jp-chip.hot{background:#fef0c7;color:#93370d}
.jp-btn{display:inline-block;background:#c4561d;color:#fff;border:0;border-radius:11px;padding:11px 18px;font-weight:700;font-size:.92rem;white-space:nowrap;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.3}
.jp-btn:hover{background:#a8471a;color:#fff}
.jp-btn.ghost{background:#fff;color:#1b1a17;border:1px solid #e7e3db}
.jp-btn.ghost:hover{background:#faf9f6}
.jp-btn.wide{width:100%;margin-top:14px;padding:13px}
.jp-btn[disabled]{opacity:.6;cursor:wait}
.jp-empty{background:#fff;border:1px solid #e7e3db;border-radius:16px;padding:22px;color:#55524c}
.jp-spont{background:#fff;border:1px dashed #cfc9be;border-radius:16px;padding:18px 22px;display:flex;gap:14px;align-items:center;margin-top:18px}
.jp-spont .ic{font-size:1.5rem}
.jp-spont .t{flex:1}
.jp-spont .t div{color:#55524c;font-size:.9rem}
.jp-foot{text-align:center;color:#8a857c;font-size:.82rem;margin-top:30px}
.jp-foot a{color:inherit}
.jp-back{color:#55524c;font-size:.9rem;text-decoration:none}
.jp-back:hover{color:#1b1a17}
.jp-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:8px 0 8px;line-height:1.15}
.jp-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px;align-items:start;margin-top:20px}
.jp-card{background:#fff;border:1px solid #e7e3db;border-radius:16px;padding:24px 26px;margin-bottom:16px}
.jp-card h3,.jp-card h4{font-size:1.02rem;font-weight:700;margin:16px 0 6px}
.jp-card ul{padding-left:20px;margin:0 0 10px;line-height:1.7}
.jp-card p{line-height:1.65;margin:0 0 10px;color:#2d2b27}
.jp-card > :first-child{margin-top:0}
.jp-card table{border-collapse:collapse;margin:0 0 10px}
.jp-card td,.jp-card th{border:1px solid #e7e3db;padding:4px 8px;font-size:.9rem}
.jp-form{position:sticky;top:20px}
.jp-form-h{font-size:1.1rem;font-weight:700}
.jp-form-s{color:#55524c;font-size:.86rem}
.jp-l{display:block;font-size:.82rem;font-weight:700;color:#55524c;margin:12px 0 4px}
.jp-in{width:100%;border:1px solid #d9d4ca;border-radius:10px;padding:10px 12px;font-size:.95rem;background:#fff;color:#1b1a17;font-family:inherit}
.jp-in:focus{outline:0;border-color:#e3a27e;box-shadow:0 0 0 3px #c4561d1f}
textarea.jp-in{min-height:84px;resize:vertical}
.jp-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jp-drop{position:relative;border:1.5px dashed #cfc9be;border-radius:12px;padding:14px;text-align:center;font-size:.86rem;color:#55524c;background:#faf9f6;transition:border-color .15s,background .15s}
.jp-drop b{color:#c4561d}
.jp-drop small{color:#8a857c}
.jp-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.jp-drop.drag,.jp-drop:focus-within{border-color:#c4561d;background:#fff7f2}
.jp-drop.has{border-style:solid;border-color:#abefc6;background:#ecfdf3;color:#067647}
.jp-drop .fn{font-weight:700;word-break:break-all}
.jp-check{display:flex;gap:10px;font-size:.8rem;color:#55524c;margin-top:14px;line-height:1.45;cursor:pointer}
.jp-check input{width:18px;height:18px;accent-color:#c4561d;flex-shrink:0;margin:1px 0 0}
.jp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.jp-ok{background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;padding:12px 14px;font-size:.9rem;margin-top:14px}
.jp-err{background:#fef3f2;border:1px solid #fecdca;color:#b42318;border-radius:12px;padding:10px 14px;font-size:.88rem;margin:12px 0 0}
.jp-muted{color:#55524c;font-size:.9rem}
@media (max-width:860px){
  .jp-grid{grid-template-columns:minmax(0,1fr)}
  .jp-form{position:static}
}
@media (max-width:600px){
  .jp-main{padding:22px 16px 40px}
  .jp-top-in{padding:12px 16px}
  .jp-top-in>a.ext{font-size:.82rem}
  .jp-hero{padding:24px 22px;border-radius:16px}
  .jp-hero h1,.jp-title{font-size:1.55rem}
  .jp-job{flex-direction:column;align-items:stretch;padding:18px}
  .jp-job .jp-btn{text-align:center}
  .jp-spont{flex-direction:column;align-items:stretch;text-align:left}
  .jp-card{padding:20px 18px}
  .jp-two{grid-template-columns:1fr}
}
