/* Metley Careers Platform — visual brand layer. Keeps WPJobBoard internals untouched. */
:root {
  --metley-blue: #0a4fb5;
  --metley-sky: #45aef5;
  --metley-ink: #10243e;
  --metley-muted: #67758a;
  --metley-line: #e4eaf2;
  --metley-soft: #f5f8fc;
  --metley-white: #ffffff;
  --metley-radius: 16px;
  --metley-shadow: 0 12px 34px rgba(16,36,62,.09);
}
.wpjb { color: var(--metley-ink); font-size: 15px; line-height: 1.6; }
.wpjb a { color: var(--metley-blue); transition: color .18s ease, transform .18s ease; }
.wpjb a:hover { color: #073b89; }
.wpjb .wpjb-motif { color: var(--metley-blue) !important; }
.wpjb .wpjb-motif-bg { background-color: var(--metley-blue) !important; }
.wpjb .wpjb-motif-border { border-color: var(--metley-blue) !important; }
.wpjb .wpjb-motif-dark { color: #073b89 !important; }
.wpjb .wpjb-motif-bg-dark { background-color: #073b89 !important; }

.wpjb .wpjb-layer-inside,
.wpjb .wpjb-box,
.wpjb .wpjb-form,
.wpjb .wpjb-job-list,
.wpjb .wpjb-resume-list,
.wpjb .wpjb-employers-list { border-radius: var(--metley-radius); }

/* Search */
.wpjb #wpjb-top-search,
.wpjb .wpjb-search-form {
  background: linear-gradient(135deg, #f7fbff 0%, #f3f7fc 100%);
  border: 1px solid var(--metley-line);
  padding: 22px;
  box-shadow: 0 8px 26px rgba(16,36,62,.05);
  margin-bottom: 26px;
}
.wpjb #wpjb-top-search-form { display: flex; align-items: flex-end; gap: 12px; }
.wpjb #wpjb-top-search-form .wpjb-search { flex: 1; display: flex; gap: 12px; }
.wpjb #wpjb-top-search-form .wpjb-input { flex: 1; margin: 0; }
.wpjb .wpjb-search-input-label { display: block; margin: 0 0 7px; color: #46566c; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

/* Inputs */
.wpjb input[type=text], .wpjb input[type=email], .wpjb input[type=password], .wpjb input[type=url],
.wpjb input[type=number], .wpjb input[type=date], .wpjb input[type=tel], .wpjb select, .wpjb textarea {
  min-height: 48px; border: 1px solid #d8e0ea !important; border-radius: 10px !important; background: #fff !important;
  padding: 11px 13px !important; color: var(--metley-ink) !important; box-shadow: 0 1px 2px rgba(16,36,62,.02) !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}
.wpjb textarea { min-height: 140px; }
.wpjb input:focus, .wpjb select:focus, .wpjb textarea:focus { border-color: var(--metley-sky) !important; box-shadow: 0 0 0 4px rgba(69,174,245,.13) !important; outline: none !important; }

/* Buttons */
.wpjb .wpjb-button, .wpjb input[type=submit], .wpjb button, .wpjb a.wpjb-button {
  border: 0 !important; border-radius: 10px !important; background: var(--metley-blue) !important; color: #fff !important;
  font-weight: 700 !important; padding: 12px 18px !important; min-height: 44px; box-shadow: 0 8px 18px rgba(10,79,181,.18);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.wpjb .wpjb-button:hover, .wpjb input[type=submit]:hover, .wpjb button:hover, .wpjb a.wpjb-button:hover {
  background: #073f92 !important; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(10,79,181,.24);
}
.wpjb .wpjb-button-search { width: 50px; display: inline-flex !important; align-items: center; justify-content: center; }

/* Job cards */
.wpjb .wpjb-job-list { border: 0 !important; background: transparent !important; }
.wpjb .wpjb-job-list .wpjb-grid-row {
  background: #fff; border: 1px solid var(--metley-line) !important; border-radius: 14px; margin: 0 0 14px !important; padding: 20px !important;
  box-shadow: 0 4px 16px rgba(16,36,62,.045); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.wpjb .wpjb-job-list .wpjb-grid-row:hover { transform: translateY(-2px); border-color: #cbd8e8 !important; box-shadow: var(--metley-shadow); }
.wpjb .wpjb-col-logo { width: 72px !important; }
.wpjb .wpjb-flex-img { border: 1px solid var(--metley-line); border-radius: 12px !important; overflow: hidden; background: #fff !important; }
.wpjb .wpjb-flex-img img { object-fit: contain; }
.wpjb .wpjb-job_title, .wpjb .wpjb-title { color: var(--metley-ink) !important; font-size: 18px !important; font-weight: 800 !important; letter-spacing: -.015em; }
.wpjb .wpjb-job_title:hover { color: var(--metley-blue) !important; }
.wpjb .wpjb-sub { color: #485a70 !important; }
.wpjb .wpjb-sub-opaque { color: #7a8799 !important; }
.wpjb .wpjb-bulb { background: #eaf5ff !important; color: #116bb3 !important; border-radius: 999px !important; padding: 3px 8px !important; font-size: 10px !important; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.wpjb .wpjb-job_type { display: inline-block; margin-left: 8px; padding: 3px 9px; background: #f2f6fb; border-radius: 999px; font-weight: 700; font-size: 11px; }

/* Single job / company / resume */
.wpjb-page-single, .wpjb-page-job, .wpjb-page-company, .wpjb-page-resume { background: #fff; }
.wpjb .wpjb-top-header, .wpjb .wpjb-job-content, .wpjb .wpjb-company-content, .wpjb .wpjb-resume-content {
  border-color: var(--metley-line) !important;
}
.wpjb h1, .wpjb h2, .wpjb h3, .wpjb .wpjb-job-title { color: var(--metley-ink); letter-spacing: -.025em; }
.wpjb .wpjb-job-content, .wpjb .wpjb-resume-content { font-size: 16px; line-height: 1.75; }

/* Forms, panels and tables */
.wpjb fieldset { border: 1px solid var(--metley-line) !important; border-radius: 14px; padding: 20px !important; margin-bottom: 20px !important; }
.wpjb legend { color: var(--metley-ink); font-weight: 800; padding: 0 8px; }
.wpjb .wpjb-form-item { padding: 11px 0 !important; }
.wpjb table { border-collapse: separate; border-spacing: 0; width: 100%; overflow: hidden; border: 1px solid var(--metley-line); border-radius: 12px; }
.wpjb table th { background: #f5f8fc; color: #34465e; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.wpjb table th, .wpjb table td { padding: 12px 14px !important; border-color: var(--metley-line) !important; }
.wpjb .wpjb-flash-info { border-radius: 12px !important; border-color: #bddfff !important; background: #edf7ff !important; color: #24547b !important; }
.wpjb .wpjb-flash-error { border-radius: 12px !important; }
.wpjb .wpjb-paginate-links a, .wpjb .wpjb-paginate-links span { border-radius: 8px !important; margin: 0 2px; }

@media (max-width: 767px) {
  .wpjb #wpjb-top-search-form, .wpjb #wpjb-top-search-form .wpjb-search { display: block; }
  .wpjb #wpjb-top-search-form .wpjb-input { margin-bottom: 12px; }
  .wpjb .wpjb-list-search { margin-top: 8px; }
  .wpjb .wpjb-job-list .wpjb-grid-row { padding: 16px !important; }
  .wpjb .wpjb-col-logo { width: 58px !important; margin-right: 12px !important; }
}

/* =============================================================
   Metley Careers Platform 1.2 — Phase 2 Product Experience
   ============================================================= */
.wpjb { --mjb-blue:#0a4fb5; --mjb-blue-deep:#073b89; --mjb-sky:#45aef5; --mjb-ink:#10243e; --mjb-text:#41536a; --mjb-muted:#748297; --mjb-soft:#f5f8fc; --mjb-line:#dfe7f0; --mjb-success:#0c8b67; --mjb-danger:#c44343; --mjb-radius:16px; --mjb-shadow:0 14px 38px rgba(16,36,62,.09); }
.wpjb a { transition:color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.wpjb .wpjb-layer-inside { border:1px solid var(--mjb-line)!important; border-radius:var(--mjb-radius)!important; background:#fff!important; box-shadow:0 4px 16px rgba(16,36,62,.04); }

/* Search and discovery */
.wpjb-page-index #wpjb-top-search { position:relative; padding:24px!important; border-radius:20px!important; overflow:hidden; }
.wpjb-page-index #wpjb-top-search:before { content:"Find your next opportunity"; display:block; margin:0 0 16px; color:var(--mjb-ink); font-size:20px; line-height:1.2; font-weight:850; letter-spacing:-.025em; }
.wpjb-page-index #wpjb-top-search:after { content:"Search by role, capability, employer or location."; display:block; margin:14px 0 0; color:var(--mjb-muted); font-size:12px; }
.wpjb-page-index .wpjb-job-list .wpjb-grid-row { position:relative; padding:22px!important; border-radius:18px!important; }
.wpjb-page-index .wpjb-job-list .wpjb-grid-row:after { content:"View role"; position:absolute; right:18px; bottom:14px; color:var(--mjb-blue); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; opacity:0; transform:translateX(-4px); transition:.18s ease; }
.wpjb-page-index .wpjb-job-list .wpjb-grid-row:hover:after { opacity:1; transform:none; }
.wpjb-page-index .wpjb-line-major { padding-right:84px; }
.wpjb-page-index .wpjb-job_title { font-size:19px!important; line-height:1.35!important; }
.wpjb-page-index .wpjb-line-minor { display:flex; flex-wrap:wrap; align-items:center; gap:7px 14px; margin-top:8px; }
.wpjb-page-index .wpjb-sub { margin:0!important; }
.wpjb-page-index .wpjb-company_name { color:var(--mjb-text)!important; font-weight:700; }
.wpjb-page-index .wpjb-job_created_at { margin-left:auto!important; font-size:12px; }

/* Job detail hierarchy */
.wpjb-page-single { color:var(--mjb-text); }
.wpjb-page-single .wpjb-top-header, .wpjb-page-single .wpjb-job-content { border-radius:18px; }
.wpjb-page-single .wpjb-job-content { padding:26px!important; background:#fff; box-shadow:0 8px 28px rgba(16,36,62,.05); }
.wpjb-page-single h1, .wpjb-page-single .wpjb-job-title { font-size:clamp(28px,4vw,42px)!important; line-height:1.12!important; }
.wpjb-page-single .wpjb-job-apply { position:sticky; bottom:18px; z-index:20; padding:14px!important; border:1px solid #d7e5f5!important; border-radius:16px!important; background:rgba(255,255,255,.94)!important; backdrop-filter:blur(12px); box-shadow:0 16px 40px rgba(16,36,62,.16); }
.wpjb-page-single .wpjb-job-apply .wpjb-button, .wpjb-page-single .wpjb-job-apply input[type=submit] { min-width:180px; }

/* Employer and candidate workspace */
.wpjb .wpjb-boxes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 26px!important; }
.wpjb .wpjb-boxes-group { grid-column:1/-1; margin:6px 0 0!important; padding:0!important; border:0!important; background:transparent!important; }
.wpjb .wpjb-boxes-group-text { display:block; color:var(--mjb-muted); font-size:11px!important; font-weight:850!important; text-transform:uppercase; letter-spacing:.09em; }
.wpjb a.wpjb-box { min-height:112px; display:flex!important; align-items:center; gap:14px; padding:20px!important; border-radius:16px!important; color:var(--mjb-ink)!important; box-shadow:0 5px 18px rgba(16,36,62,.05)!important; }
.wpjb a.wpjb-box:hover { transform:translateY(-2px); border-color:#bed5ef!important; box-shadow:var(--mjb-shadow)!important; }
.wpjb .wpjb-box-icon { width:46px; height:46px; display:grid!important; place-items:center; flex:0 0 46px; border-radius:13px; background:#eef6ff; color:var(--mjb-blue)!important; font-size:22px!important; }
.wpjb .wpjb-box-title { color:var(--mjb-ink)!important; font-size:15px!important; font-weight:800!important; line-height:1.35; }
.wpjb .wpjb-candidate-progress { padding:22px!important; margin-bottom:24px!important; background:linear-gradient(135deg,#f8fbff,#f2f7fd)!important; }
.wpjb .wpjb-candidate-progress > div:first-child span { display:block; margin-bottom:10px; color:var(--mjb-ink); font-size:18px!important; line-height:1.4!important; font-weight:850; }
.wpjb .progress-bar { border-radius:999px!important; background:#dce8f5!important; overflow:hidden; }
.wpjb .progress-bar span { background:linear-gradient(90deg,var(--mjb-blue),var(--mjb-sky))!important; border-radius:999px; }

/* Application management */
.wpjb-grid-compact .wpjb-grid-head { border-radius:12px 12px 0 0; background:#f3f7fb!important; color:var(--mjb-muted)!important; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.065em; }
.wpjb-grid-compact .wpjb-grid-row { border-color:var(--mjb-line)!important; }
.wpjb-grid-compact .wpjb-grid-row:not(.wpjb-grid-head):hover { background:#fbfdff; }
.wpjb .wpjb-application-status, .wpjb [class*="application-status"] { border-radius:999px; font-weight:750; }
.wpjb .wpjb-application-change-status { border-radius:14px!important; background:#f8fbff!important; }

/* Forms */
.wpjb-form fieldset { position:relative; padding:26px!important; border-radius:18px!important; background:#fff; box-shadow:0 4px 18px rgba(16,36,62,.035); }
.wpjb-form legend { font-size:18px!important; letter-spacing:-.015em; }
.wpjb-form .wpjb-label { color:var(--mjb-ink)!important; font-size:13px!important; font-weight:780!important; }
.wpjb-form .wpjb-field { margin-top:6px; }
.wpjb-form .wpjb-hint, .wpjb-form .wpjb-input-description { color:var(--mjb-muted)!important; font-size:12px!important; }
.wpjb-form .wpjb-required { color:#d44848!important; }
.wpjb-form input.wpjb-submit { min-width:150px; }

/* Breadcrumbs and pagination */
.wpjb .wpjb-breadcrumb { margin-bottom:20px!important; color:var(--mjb-muted); font-size:13px; }
.wpjb .wpjb-paginate-links { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; padding-top:18px; }
.wpjb .wpjb-paginate-links a, .wpjb .wpjb-paginate-links span { min-width:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--mjb-line)!important; background:#fff; }
.wpjb .wpjb-paginate-links .current { background:var(--mjb-blue)!important; color:#fff!important; border-color:var(--mjb-blue)!important; }

/* Empty states */
.wpjb .wpjb-grid-row:only-child { border-radius:14px; }
.wpjb .wpjb-grid-col-center { padding:26px!important; color:var(--mjb-muted); }

@media (max-width:900px) {
  .wpjb .wpjb-boxes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wpjb-page-index .wpjb-job_created_at { margin-left:0!important; }
}
@media (max-width:640px) {
  .wpjb .wpjb-boxes { grid-template-columns:1fr; }
  .wpjb-page-index .wpjb-line-major { padding-right:0; }
  .wpjb-page-index .wpjb-job-list .wpjb-grid-row:after { display:none; }
  .wpjb-page-single .wpjb-job-apply { position:static; }
  .wpjb-form fieldset { padding:18px!important; }
  .wpjb-grid-compact .wpjb-grid-head { display:none!important; }
  .wpjb-grid-compact .wpjb-grid-row { padding:15px!important; border:1px solid var(--mjb-line)!important; border-radius:14px!important; margin-bottom:10px!important; }
}
