﻿/* ============================================================
   RSU WAJAK HUSADA â€” HALAMAN KARIER / LOKER
   Mengikuti mockup "Loker RSU Wajak Husada". Memakai token global.css.
   ============================================================ */
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--text);background:#fff}
button,input,select,textarea{font:inherit}
.kr-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.kr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- HERO ---------- */
.kr-hero{position:relative;overflow:hidden;background:linear-gradient(105deg,#fff4ea 0%,#fff9f4 48%,#fff 100%);padding:54px 0 96px}
.kr-hero::after{content:"";position:absolute;right:-140px;top:-170px;width:520px;height:520px;border:70px solid var(--primary);border-radius:50%;opacity:.07;pointer-events:none}
.kr-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:center}
.kr-eyebrow{display:inline-block;border-left:3px solid var(--primary);padding-left:9px;color:var(--primary);font-size:13px;font-weight:700;margin-bottom:14px}
.kr-hero h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(34px,4.6vw,56px);line-height:1.06;color:var(--ink);margin:0 0 16px}
.kr-hero h1 span{display:block;color:var(--primary)}
.kr-hero p{font-size:16px;line-height:1.7;color:var(--text-secondary);margin:0 0 26px;max-width:520px}
.kr-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.kr-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;padding:13px 22px;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;border:2px solid var(--primary);transition:transform var(--ease),background var(--ease),color var(--ease),box-shadow var(--ease);line-height:1.1}
.kr-btn--primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(255,101,15,.25)}
.kr-btn--primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-2px)}
.kr-btn--ghost{background:#fff;color:var(--primary)}
.kr-btn--ghost:hover{background:var(--primary-soft);transform:translateY(-2px)}
.kr-btn--sm{padding:9px 14px;font-size:12.5px;border-radius:7px}
.kr-btn:focus-visible,.kr-field input:focus-visible,.kr-field select:focus-visible,.kr-field textarea:focus-visible{outline:3px solid #ffb98e;outline-offset:2px}
.kr-btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}
.kr-hero-media{position:relative;min-height:330px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,var(--primary-soft),#ffe1cc)}
.kr-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.kr-hero-media .kr-media-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--primary);font-size:84px;opacity:.35}
.kr-hero-badge{position:absolute;right:18px;bottom:18px;z-index:2;background:#fff;border-radius:14px;box-shadow:var(--shadow-lg);padding:14px 16px;max-width:240px;display:flex;gap:12px;align-items:flex-start}
.kr-hero-badge i{color:var(--primary);font-size:24px;margin-top:2px}
.kr-hero-badge strong{display:block;color:var(--ink);font-size:14px;line-height:1.3}
.kr-hero-badge small{display:block;color:var(--text-muted);font-size:12px;margin-top:4px;line-height:1.4}

/* ---------- SEARCH BAR ---------- */
.kr-search{position:relative;z-index:3;margin-top:-58px;background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);padding:20px 22px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr auto;gap:14px;align-items:end}
.kr-field label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink);margin-bottom:7px}
.kr-field label i{color:var(--primary)}
.kr-field input,.kr-field select,.kr-field textarea{width:100%;border:1px solid var(--gray-300);border-radius:9px;padding:11px 12px;font-size:13.5px;color:var(--text);background:#fff}
.kr-field textarea{min-height:96px;resize:vertical;line-height:1.5}
.kr-search .kr-btn{height:44px}

/* ---------- LIST HEADER ---------- */
.kr-section{padding:52px 0}
.kr-section--tint{background:linear-gradient(180deg,#fff7f0,#fff)}
.kr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.kr-head h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(24px,3vw,32px);color:var(--ink);margin:0 0 6px}
.kr-head p{margin:0;color:var(--text-secondary);font-size:14.5px}
.kr-count{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13.5px;white-space:nowrap}
.kr-count b{color:var(--primary);font-family:var(--font-heading);font-size:24px}
.kr-count::after{content:"";width:22px;height:2px;background:var(--primary)}

/* ---------- JOB CARD ---------- */
.kr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kr-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease)}
.kr-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#ffd6bd}
.kr-card-top{display:flex;gap:14px;align-items:flex-start}
.kr-icon{flex-shrink:0;width:54px;height:54px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:22px}
.kr-card h3{margin:0;font-size:17px;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kr-urgent{background:#fff1dc;color:#e08100;border:1px solid #ffd79f;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}
.kr-division{display:inline-block;background:var(--gray-100);color:var(--text-secondary);font-size:12px;padding:3px 8px;border-radius:5px;margin-top:6px}
.kr-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--text-muted);font-size:12.5px}
.kr-meta i{color:var(--text-secondary);margin-right:4px}
.kr-card p{margin:0;color:var(--text-secondary);font-size:13.5px;line-height:1.6;flex:1}
.kr-card-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px}
.kr-cta-card{border:1.5px dashed #ffc8a6;background:linear-gradient(135deg,#fff7f0,#fff);border-radius:14px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:10px;position:relative;overflow:hidden}
.kr-cta-card h3{margin:0;font-size:18px;color:var(--ink);max-width:70%}
.kr-cta-card p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.55;max-width:70%}
.kr-cta-card .kr-cta-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:62px;color:var(--primary);opacity:.85}
.kr-cta-card .kr-btn{align-self:flex-start;margin-top:4px}
.kr-empty{grid-column:1/-1;text-align:center;padding:44px 18px;border:1px dashed var(--gray-300);border-radius:14px;color:var(--text-muted);background:var(--gray-50)}
.kr-empty i{font-size:30px;color:var(--primary);opacity:.6;margin-bottom:10px;display:block}

/* ---------- WHY JOIN ---------- */
.kr-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kr-why-item{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:20px;display:flex;gap:14px;align-items:flex-start}
.kr-why-item i{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:20px}
.kr-why-item strong{display:block;color:var(--ink);font-size:14.5px;margin-bottom:5px}
.kr-why-item span{color:var(--text-secondary);font-size:12.5px;line-height:1.55}

/* ---------- PROCESS ---------- */
.kr-process{display:grid;grid-template-columns:minmax(200px,.8fr) 3fr;gap:30px;align-items:start}
.kr-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0;counter-reset:step}
.kr-steps li{position:relative;display:flex;gap:12px;align-items:flex-start}
.kr-steps li::before{counter-increment:step;content:counter(step);flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px;box-shadow:0 6px 14px rgba(255,101,15,.25)}
.kr-steps li:not(:last-child)::after{content:"";position:absolute;top:17px;right:-14px;width:12px;height:2px;background:var(--primary);opacity:.5}
.kr-steps strong{display:block;color:var(--ink);font-size:14px;margin-bottom:4px}
.kr-steps span{color:var(--text-secondary);font-size:12.5px;line-height:1.5}

/* ---------- DETAIL PAGE ---------- */
.kr-detail-hero{background:linear-gradient(105deg,#fff4ea,#fff);padding:34px 0 30px;border-bottom:1px solid var(--gray-200)}
.kr-back{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:700;text-decoration:none;font-size:14px;margin-bottom:18px}
.kr-detail-title{display:flex;gap:18px;align-items:center}
.kr-detail-title .kr-icon{width:68px;height:68px;font-size:28px}
.kr-detail-title h1{font-family:var(--font-heading);font-size:clamp(28px,4vw,40px);color:var(--ink);margin:0 0 6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kr-detail-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:26px;padding:34px 0 60px;align-items:start}
.kr-block{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:22px 24px;margin-bottom:18px}
.kr-block h2{font-size:17px;color:var(--ink);margin:0 0 12px;display:flex;gap:9px;align-items:center}
.kr-block h2 i{color:var(--primary)}
.kr-block p,.kr-block li{color:var(--text-secondary);font-size:14.5px;line-height:1.7}
.kr-block p{margin:0}
.kr-block ul{margin:0;padding-left:20px}
.kr-muted{color:var(--text-muted)!important;font-style:italic}
.kr-apply-box{position:sticky;top:20px}

/* ---------- FORM & MODAL ---------- */
.kr-form{display:grid;gap:14px}
.kr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kr-field .kr-hint{display:block;font-size:11.5px;color:var(--text-muted);margin-top:5px}
.kr-field .req{color:var(--red)}
.kr-consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--text-secondary);line-height:1.5}
.kr-consent input{margin-top:3px;accent-color:var(--primary)}
.kr-error{background:#fdecec;color:#a52f2f;border-radius:8px;padding:10px 12px;font-size:13px;display:none}
.kr-error.show{display:block}
.kr-success{text-align:center;padding:10px 4px}
.kr-success > i{font-size:46px;color:var(--green);margin-bottom:10px}
.kr-success h3{margin:0 0 8px;color:var(--ink)}
.kr-success p{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 6px}
.kr-success code{background:var(--gray-100);padding:2px 8px;border-radius:5px;font-weight:700;color:var(--ink)}
.kr-success .kr-hero-actions{justify-content:center;margin-top:16px}
.kr-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,28,45,.55)}
.kr-modal.open{display:flex}
.kr-modal-box{background:#fff;border-radius:16px;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;box-shadow:var(--shadow-lg)}
.kr-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px;border-bottom:1px solid var(--gray-200);position:sticky;top:0;background:#fff;z-index:1}
.kr-modal-head h2{margin:0;font-size:19px;color:var(--ink)}
.kr-modal-head small{display:block;color:var(--text-muted);margin-top:4px;font-size:13px}
.kr-close{border:0;background:var(--gray-100);width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--text-secondary);flex-shrink:0}
.kr-modal-body{padding:20px 22px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .kr-search{grid-template-columns:1fr 1fr;}
  .kr-search .kr-field:first-child{grid-column:1/-1}
  .kr-search .kr-btn{grid-column:1/-1}
  .kr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kr-why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kr-process{grid-template-columns:1fr}
}
@media (max-width:767px){
  .kr-shell{width:calc(100% - 32px)}
  .kr-hero{padding:30px 0 80px}
  .kr-hero-grid{grid-template-columns:1fr;gap:24px}
  .kr-hero-media{min-height:220px}
  .kr-hero p{font-size:14px}
  .kr-hero-actions .kr-btn{flex:1}
  .kr-search{grid-template-columns:1fr 1fr;padding:16px}
  .kr-grid,.kr-why{grid-template-columns:1fr}
  .kr-steps{grid-template-columns:1fr 1fr}
  .kr-steps li::after{display:none}
  .kr-detail-layout{grid-template-columns:1fr}
  .kr-apply-box{position:static}
  .kr-form-row{grid-template-columns:1fr}
  .kr-cta-card h3,.kr-cta-card p{max-width:100%}
  .kr-cta-card .kr-cta-icon{display:none}
}
@media (max-width:420px){
  .kr-search{grid-template-columns:1fr}
  .kr-steps{grid-template-columns:1fr}
}

.kr-no-hero .kr-search{margin-top:28px}
