/* ============================================================
   Ethiohire Modern Skin — v1.0
   Overrides legacy BwireSoft Bootstrap-3 theme with modern
   Ethiohire branding: #1e30f3 (electric blue) → #e21e80 (magenta)
   Injected on every portal page. Zero PHP changes.
   ============================================================ */

:root {
    --eh-blue: #1e30f3;
    --eh-magenta: #e21e80;
    --eh-ink: #0b0f2a;
    --eh-slate: #5a6180;
    --eh-mist: #f4f6ff;
    --eh-grad: linear-gradient(135deg, #1e30f3 0%, #e21e80 100%);
}

/* ---------- GLOBAL ---------- */
body {
    font-family: 'Plus Jakarta Sans', 'Open Sans', 'Helvetica Neue', Arial, sans-serif !important;
    color: #1d2340;
    background: #f8f9fe;
}
a { color: var(--eh-blue); }
a:hover, a:focus { color: var(--eh-magenta); text-decoration: none; }
h1, h2, h3, h4, h5, h6 { font-weight: 700 !important; color: var(--eh-ink); letter-spacing: -0.01em; }

/* ---------- NAVBAR ---------- */
.navbar, .navbar.navbar-default {
    background: rgba(255,255,255,.95) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 24px rgba(11,15,42,.08);
    border-bottom: 1px solid #eef0fa;
    padding: 10px 0 !important;
}
.not-transparent-header .navbar-default { background: rgba(255,255,255,.95) !important; }
.navbar-sticky { box-shadow: 0 6px 30px rgba(11,15,42,.12) !important; }
.logo img { max-height: 44px; filter: drop-shadow(0 2px 6px rgba(11,15,42,.12)); }

/* nav links */
.navbar-nav > li > a {
    color: #3a4166 !important;
    font-weight: 600;
    font-size: .93rem;
    border-radius: 8px;
    padding: 10px 14px !important;
    transition: color .15s, background .15s;
}
.navbar-nav > li > a:hover { color: var(--eh-blue) !important; background: var(--eh-mist) !important; }
ul.nav-mini li a { color: #3a4166 !important; font-weight: 600; }
ul.nav-mini li:after { color: #ccd2ec !important; }
ul.nav-mini li a:hover { color: var(--eh-magenta) !important; }

/* ---------- BUTTONS ---------- */
.btn { border-radius: 10px !important; font-weight: 700 !important; border: 0 !important;
       transition: transform .15s, box-shadow .2s !important; }
.btn:hover { transform: translateY(-1px); }
.btn-primary {
    background: var(--eh-grad) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(226,30,128,.28) !important;
}
.btn-primary:hover { box-shadow: 0 12px 26px rgba(226,30,128,.4) !important; }
.btn-primary.btn-inverse { background: transparent !important; color: var(--eh-blue) !important; box-shadow: none !important; border: 2px solid var(--eh-blue) !important; }
.btn-facebook { background: var(--eh-grad) !important; border-radius: 12px !important; font-weight: 700 !important; }
.btn-success { background: linear-gradient(135deg,#0f9d6e,#37e0a4) !important; box-shadow: 0 8px 20px rgba(15,157,110,.25) !important; }
.btn-info { background: linear-gradient(135deg,#0ea5e9,#38bdf8) !important; }
.btn-danger { background: linear-gradient(135deg,#ef4444,#f87171) !important; }
.btn-dark { background: var(--eh-ink) !important; }
.btn-search { background: var(--eh-grad) !important; border-radius: 12px !important; font-weight: 700 !important; box-shadow: 0 8px 20px rgba(226,30,128,.25) !important; }

/* ---------- FORMS ---------- */
.form-control {
    border-radius: 10px !important;
    border: 1.5px solid #dde2f5 !important;
    padding: 11px 14px !important;
    height: auto !important;
    font-size: .95rem !important;
    background: #fff;
    box-shadow: none !important;
    transition: border-color .15s, box-shadow .15s;
}
.form-control:focus {
    border-color: var(--eh-blue) !important;
    box-shadow: 0 0 0 3px rgba(30,48,243,.12) !important;
}
label { font-weight: 600 !important; color: #3a4166 !important; }
select.form-control, .bootstrap-select .btn { border-radius: 10px !important; }

/* ---------- BREADCRUMB ---------- */
.breadcrumb-wrapper { background: linear-gradient(135deg, #0b0f2a 0%, #1e30f3 90%) !important; padding: 30px 0 !important; border: 0 !important; }
ol.breadcrumb-list li a { color: rgba(255,255,255,.75) !important; font-weight: 500; }
ol.breadcrumb-list li span { color: #fff !important; font-weight: 700; }
ol.breadcrumb-list li a:after { color: rgba(255,255,255,.4) !important; }

/* ---------- PANELS / CARDS ---------- */
.panel, .panel-default {
    border-radius: 16px !important;
    border: 1px solid #e8ebfa !important;
    box-shadow: 0 6px 24px rgba(11,15,42,.06) !important;
    overflow: hidden;
}
.panel-heading { background: var(--eh-mist) !important; border-bottom: 1px solid #e8ebfa !important; padding: 16px 20px !important; }
.panel-title { color: var(--eh-ink) !important; font-weight: 700 !important; }
.panel-body { padding: 20px !important; }
.thumbnail { border-radius: 14px !important; border-color: #e8ebfa !important; box-shadow: 0 4px 16px rgba(11,15,42,.05); }

/* ---------- JOB LIST ITEMS ---------- */
.job-item-list {
    background: #fff;
    border: 1px solid #e8ebfa;
    border-radius: 16px;
    padding: 22px 24px;
    margin-bottom: 14px;
    box-shadow: 0 4px 18px rgba(11,15,42,.05);
    transition: transform .15s, box-shadow .2s, border-color .2s;
}
.job-item-list:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(30,48,243,.12);
    border-color: rgba(30,48,243,.35);
}
.job-item-list-info { border: 0 !important; padding: 0 !important; }
.job-item-list-info h5 a { color: var(--eh-ink); font-weight: 700; }
.job-item-list-info h5 a:hover { color: var(--eh-magenta); }
.job-item-list-bottom { background: transparent !important; border-top: 1px dashed #e8ebfa !important; margin-top: 14px; padding-top: 14px; }
.meta-list li { color: var(--eh-slate); font-size: .88rem; }
.job-label { border-radius: 100px !important; padding: 5px 14px !important; font-weight: 700 !important; font-size: .75rem !important; }
.label-danger { background: linear-gradient(135deg,#ef4444,#f87171) !important; }
.label-warning { background: linear-gradient(135deg,#f59e0b,#fbbf24) !important; }
.label-success { background: linear-gradient(135deg,#0f9d6e,#37e0a4) !important; }

/* ---------- LOGIN / AUTH BOXES ---------- */
.login-container-wrapper { padding: 60px 0; }
.login-box-wrapper {
    border-radius: 20px !important;
    border: 1px solid #e8ebfa !important;
    box-shadow: 0 24px 60px rgba(11,15,42,.10) !important;
    background: #fff;
    overflow: hidden;
}
.login-box-wrapper .modal-header { background: var(--eh-ink) !important; border: 0 !important; padding: 24px !important; }
.login-box-wrapper .modal-title { color: #fff !important; }
.login-box-wrapper .modal-body { padding: 30px !important; }
.login-box-wrapper .modal-footer { background: var(--eh-mist) !important; border-top: 1px solid #e8ebfa !important; padding: 18px !important; }
.login-box-link-action a { color: var(--eh-blue); font-weight: 600; }

/* ---------- TABLES ---------- */
.table { background: #fff; border-radius: 12px; overflow: hidden; }
.table thead th {
    background: var(--eh-ink) !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: .85rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    border: 0 !important;
    padding: 14px 16px !important;
}
.table tbody td { border-top: 1px solid #eef0fa !important; padding: 13px 16px !important; vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { background: var(--eh-mist) !important; }
.table tbody tr:hover { background: #eef2ff !important; }

/* ---------- PAGER ---------- */
.pager-list li a, .pagination li a {
    border-radius: 10px !important;
    border: 1.5px solid #dde2f5 !important;
    color: #3a4166 !important;
    font-weight: 600;
    margin: 0 3px;
    transition: all .15s;
}
.pager-list li a:hover, .pagination li.active a {
    background: var(--eh-grad) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 16px rgba(226,30,128,.3) !important;
}

/* ---------- FOOTER ---------- */
.footer-wrapper { background: var(--eh-ink) !important; color: rgba(255,255,255,.7) !important; }
.main-footer { padding: 60px 0 40px !important; }
.footer-title { color: #fff !important; margin-bottom: 18px; position: relative; padding-bottom: 10px; }
.footer-title:after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; border-radius: 3px; background: var(--eh-grad); }
.footer-about-us p { color: rgba(255,255,255,.65); line-height: 1.7; }
.main-footer a { color: rgba(255,255,255,.65) !important; }
.main-footer a:hover { color: #fff !important; }
.footer-menu li a { color: rgba(255,255,255,.65) !important; padding: 5px 0; }
.footer-menu li a:hover { color: #fff !important; padding-left: 6px; transition: padding .15s; }
.bottom-footer { background: #070a1e !important; padding: 20px 0 !important; border-top: 1px solid rgba(255,255,255,.08) !important; }
.bottom-footer .copy-right, .bottom-footer .bottom-footer-menu li a { color: rgba(255,255,255,.55) !important; }

/* ---------- MISC ---------- */
#back-to-top a {
    background: var(--eh-grad) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(226,30,128,.35) !important;
}
#back-to-top a:hover { transform: translateY(-3px); }
.bg-primary { background: var(--eh-blue) !important; }
.bg-dark { background: var(--eh-ink) !important; }
.text-primary { color: var(--eh-blue) !important; }
.text-gradient { background: var(--eh-grad) !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent !important; }
.progress-bar { background: var(--eh-grad) !important; }
.nav-tabs > li.active > a { border-color: var(--eh-blue) !important; color: var(--eh-blue) !important; font-weight: 700; }
.list-group-item { border-color: #eef0fa !important; }
.list-group-item.active { background: var(--eh-grad) !important; border-color: transparent !important; }
.modal-content { border-radius: 18px !important; border: 0 !important; box-shadow: 0 30px 80px rgba(11,15,42,.25) !important; }
.alert { border-radius: 12px !important; border: 0 !important; }

/* responsive tweaks */
@media (max-width: 768px) {
    .navbar.navbar-default { padding: 8px 0 !important; }
    .job-item-list { padding: 16px; }
}
