:root{
  --ej-blue:#004A7F;
  --ej-orange:#F29B3A;
  --ej-text:#1F1F1F;
  --ej-muted:#6B7280;
  --ej-bg:#F4F7FA;
  --ej-card:#FFFFFF;
  --ej-shadow: 0 18px 45px rgba(0,0,0,.10);
  --ej-shadow2: 0 24px 60px rgba(0,0,0,.16);
  --ej-radius:18px;
}

/* Alert */
.ej-alert{max-width:900px;margin:20px auto;padding:14px 16px;border-radius:14px;font-family:Inter,sans-serif}
.ej-alert--ok,.ej-alert--success{background:#e9f8ef;border:1px solid #bfe9cc;color:#14532d}
.ej-alert--error{background:#fdecec;border:1px solid #f7b6b6;color:#7f1d1d}

.elteus-jobs-wrap{background:var(--ej-bg);padding:70px 20px}
.elteus-jobs-inner{max-width:1200px;margin:0 auto}
.elteus-jobs-head{max-width:760px;margin:0 0 26px}
.elteus-jobs-head h1,.elteus-jobs-head h2{font-family:Poppins,sans-serif;font-weight:700;color:var(--ej-blue);margin:0 0 10px;font-size:34px;line-height:1.15}
.elteus-jobs-head p{font-family:Inter,sans-serif;color:#4A4A4A;margin:0;line-height:1.6}

.ej-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:28px}
@media(max-width:1024px){.ej-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.elteus-jobs-wrap{padding:55px 16px}.ej-grid{grid-template-columns:1fr}.elteus-jobs-head h1,.elteus-jobs-head h2{font-size:26px}}

.ej-card{background:var(--ej-card);border-radius:var(--ej-radius);box-shadow:var(--ej-shadow);border-top:4px solid var(--ej-blue);overflow:hidden;transition:transform .18s ease, box-shadow .18s ease, border-top-color .18s ease}
.ej-card:hover{transform:translateY(-6px);box-shadow:var(--ej-shadow2);border-top-color:var(--ej-orange)}
.ej-card__body{padding:22px 22px 18px}
.ej-title{font-family:Poppins,sans-serif;font-weight:650;color:var(--ej-text);font-size:18px;margin:0 0 10px}
.ej-meta{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-family:Inter,sans-serif;color:#3F3F3F;font-size:14px}
.ej-meta li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed rgba(0,0,0,.08);padding-bottom:8px}
.ej-meta li:last-child{border-bottom:none;padding-bottom:0}
.ej-meta b{font-weight:600;color:#111827}
.ej-meta span{color:#374151;text-align:right}
.ej-card__foot{display:flex;justify-content:flex-end;padding:12px 14px 14px}
.ej-btn-arrow{width:44px;height:44px;border-radius:12px;border:2px solid var(--ej-blue);display:inline-flex;align-items:center;justify-content:center;background:#fff;transition:transform .15s ease, background .15s ease}
.ej-card:hover .ej-btn-arrow{background:rgba(0,74,127,.06)}
.ej-btn-arrow:hover{transform:translateX(2px)}
.ej-btn-arrow svg{width:18px;height:18px}

.ej-pagination{margin-top:28px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.ej-pagination a,.ej-pagination span{font-family:Inter,sans-serif;font-size:14px;padding:10px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.10);background:#fff;color:#111827}
.ej-pagination .current{border-color:var(--ej-blue);color:var(--ej-blue);font-weight:700}

/* Single */
.ej-single{background:var(--ej-bg);padding:70px 20px}
.ej-single__inner{max-width:1100px;margin:0 auto}
.ej-single__top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.ej-single h1{font-family:Poppins,sans-serif;color:var(--ej-blue);margin:0;font-size:34px;line-height:1.15}
.ej-back{font-family:Inter,sans-serif;text-decoration:none;color:var(--ej-blue);font-weight:600}
.ej-panel{background:#fff;border-radius:var(--ej-radius);box-shadow:var(--ej-shadow);border-top:4px solid var(--ej-blue);padding:22px}
.ej-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
@media(max-width:900px){.ej-kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ej-kv{grid-template-columns:1fr}}
.ej-kv .box{background:rgba(0,0,0,.03);border-radius:14px;padding:14px}
.ej-kv .box small{display:block;font-family:Inter,sans-serif;color:var(--ej-muted);margin-bottom:6px}
.ej-kv .box strong{font-family:Inter,sans-serif;color:#111827}
.ej-desc{margin-top:16px;font-family:Inter,sans-serif;color:#1f2937;line-height:1.7}
.ej-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.ej-btn{font-family:Inter,sans-serif;border-radius:14px;padding:12px 16px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.ej-btn--primary{background:var(--ej-blue);color:#fff;border:2px solid var(--ej-blue)}
.ej-btn--ghost{background:#fff;color:var(--ej-blue);border:2px solid rgba(0,74,127,.25)}

/* Form submit */
.ej-form-wrap{background:var(--ej-bg);padding:70px 20px}
.ej-form-inner{max-width:1000px;margin:0 auto}
.ej-form-head{max-width:760px;margin:0 0 22px}
.ej-form-head h2{font-family:Poppins,sans-serif;color:var(--ej-blue);font-weight:700;margin:0 0 10px;font-size:32px}
.ej-form-head p{font-family:Inter,sans-serif;color:#4A4A4A;margin:0;line-height:1.6}
.ej-form{background:#fff;border-radius:18px;box-shadow:var(--ej-shadow);border-top:4px solid var(--ej-blue);padding:22px}
.ej-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:767px){.ej-grid-2{grid-template-columns:1fr}}
.ej-field{display:flex;flex-direction:column;gap:6px}
.ej-field label{font-family:Inter,sans-serif;font-weight:600;color:#111827;font-size:13px}
.ej-field input,.ej-field select,.ej-field textarea{
  font-family:Inter,sans-serif;font-size:14px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:12px;
  padding:12px 12px;
  outline:none;
}
.ej-field textarea{min-height:120px;resize:vertical}
.ej-field input:focus,.ej-field select:focus,.ej-field textarea:focus{
  border-color:rgba(0,74,127,.55);
  box-shadow:0 0 0 4px rgba(0,74,127,.10);
}
.ej-form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.ej-hint{font-family:Inter,sans-serif;color:#6b7280;font-size:13px}

/* Search module */
.ej-search{background:#fff;border-radius:18px;box-shadow:var(--ej-shadow);border-top:4px solid var(--ej-blue);padding:18px;margin:18px 0 10px}
.ej-search__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:1024px){.ej-search__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ej-search__grid{grid-template-columns:1fr}}
.ej-search__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
