/*
Theme Name: Vero Jobs
Theme URI: https://example.com/verojobs
Author: Vero Jobs
Description: A job board theme built for WP Job Manager. Provides templates for job listings, job detail pages, industries, categories, and employer/candidate dashboards.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: verojobs
Tags: job-board, custom-menu, translation-ready
*/

/* ------------------------------------------------------------------
   NOTE: The @import for Google Fonts has been removed from this file.
   Fonts are enqueued properly in functions.php via wp_enqueue_style(),
   which is the WordPress way and avoids a render-blocking @import.
   ------------------------------------------------------------------ */

:root{
    --navy:#0B0F3D;
    --blue:#1BA6E8;
    --blue-deep:#0C6FB0;
    --orange:#F7941E;
    --magenta:#E9297A;
    --purple:#5B2A86;
    --paper:#FFFFFF;
    --grey-bg:#F5F6FA;
    --grey-line:#E4E6EF;
    --text-soft: rgba(11,15,61,0.62);
    /* Two-tone accent pulled from the logo: blue into orange. Interpolated in
       OKLCH so the midpoint stays vibrant instead of graying out, which is
       what a naive RGB blue→orange blend does. Magenta/purple stay reserved
       for the logo mark itself. */
    --accent: var(--blue-deep);
    --accent-soft: rgba(27,166,232,0.10);
    --grad: linear-gradient(135deg, var(--blue-deep) 0%, var(--blue) 45%, var(--orange) 100%);

    --display:'Manrope', sans-serif;
    --mono:'IBM Plex Mono', monospace;
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:var(--display);
    color:var(--navy);
    background:var(--paper);
    line-height:1.5;
  }
  a{ text-decoration:none; color:inherit; }
  img,svg{ display:block; max-width:100%; }
  :focus-visible{ outline:2px solid var(--blue-deep); outline-offset:2px; }
  @media (prefers-reduced-motion: reduce){ *{ animation-duration:.01ms !important; transition-duration:.01ms !important; } }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }

  /* ---------- TOP UTILITY BAR ---------- */
  .util-bar{
    background:var(--navy);
    color:rgba(255,255,255,0.7);
    font-size:12.5px;
  }
  .util-bar .wrap{
    display:flex; justify-content:space-between;
    padding:7px 28px;
  }
  .util-bar a{ color:rgba(255,255,255,0.7); }
  .util-bar a:hover{ color:#fff; }
  .util-bar .right{ display:flex; gap:20px; }

  /* ---------- HEADER ---------- */
  header.nav{
    background:#fff;
    border-bottom:1px solid var(--grey-line);
    position:sticky; top:0; z-index:50;
  }
  header.nav .wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 28px;
    gap:24px;
  }
  .logo-mark{ display:flex; align-items:center; gap:10px; }
  .logo-mark img{ height:38px; width:auto; }

  nav.links{ display:flex; gap:28px; align-items:center; font-size:14.5px; font-weight:600; }
  nav.links a{ color:var(--navy); opacity:.75; transition:opacity .15s; }
  nav.links a:hover{ opacity:1; }

  .nav-actions{ display:flex; align-items:center; gap:14px; }
  .btn-text{ font-size:14px; font-weight:600; color:var(--navy); }
  .btn-grad{
    background:var(--grad);
    background-size:180% 100%;
    background-position:0% 0%;
    color:#fff;
    padding:10px 22px;
    border-radius:6px;
    font-weight:700;
    font-size:14px;
    border:0;
    cursor:pointer;
    box-shadow:0 8px 18px -6px rgba(247,148,30,0.35);
    transition:background-position .35s ease, box-shadow .2s ease;
  }
  .btn-grad:hover{ background-position:100% 0%; box-shadow:0 10px 22px -6px rgba(247,148,30,0.45); }
  .nav-toggle{ display:none; background:none; border:0; font-size:22px; cursor:pointer; color:var(--navy); }

  /* ---------- HERO ---------- */
  .hero{
    background:var(--grey-bg);
    padding:64px 0 0;
    overflow:hidden;
    position:relative;
  }
  .hero-inner{ text-align:center; max-width:760px; margin:0 auto; }
  .hero h1{
    font-size:clamp(30px, 4.2vw, 44px);
    font-weight:800;
    letter-spacing:-0.02em;
    margin:0 0 12px;
  }
  .hero h1 .grad-text{
    background:var(--grad);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p{
    font-size:16px;
    color:var(--text-soft);
    margin:0 0 34px;
  }

  .search-card{
    background:#fff;
    border-radius:10px;
    box-shadow:0 18px 40px rgba(11,15,61,0.12);
    padding:8px;
    display:grid;
    grid-template-columns: 1.4fr 1.1fr auto;
    gap:2px;
    max-width:820px;
    margin:0 auto;
  }
  .search-card .field{
    display:flex; align-items:center; gap:10px;
    padding:14px 16px;
    border-radius:6px;
  }
  .search-card .field:hover{ background:var(--grey-bg); }
  .search-card input, .search-card select{
    border:0; background:transparent; width:100%;
    font-family:var(--display); font-size:14.5px; color:var(--navy);
  }
  .search-card .icon{ font-size:15px; opacity:.5; }
  .search-card button{
    background:var(--grad);
    background-size:180% 100%;
    background-position:0% 0%;
    border:0; color:#fff; font-weight:700; font-size:14.5px;
    border-radius:6px; padding:0 30px; cursor:pointer;
    transition:background-position .35s ease;
  }
  .search-card button:hover{ background-position:100% 0%; }

  .trending{
    margin-top:22px;
    font-size:13px;
    color:var(--text-soft);
  }
  .trending a{
    color:var(--blue-deep); font-weight:600;
    margin:0 4px;
  }
  .trending a:hover{ text-decoration:underline; }

  .stat-strip{
    margin-top:52px;
    background:#fff;
    border-top:1px solid var(--grey-line);
  }
  .stat-strip .wrap{
    display:flex;
    padding:0;
  }
  .stat{ flex:1; text-align:center; padding:26px 16px; border-right:1px solid var(--grey-line); }
  .stat:last-child{ border-right:0; }
  .stat .num{ font-size:26px; font-weight:800; display:block; }
  .stat .lbl{ font-size:12.5px; color:var(--text-soft); margin-top:4px; }

  /* ---------- SECTION ---------- */
  .section{ padding:68px 0; }
  .section-head{ text-align:center; max-width:560px; margin:0 auto 40px; }
  .eyebrow{
    font-family:var(--mono);
    font-size:11.5px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--blue-deep); font-weight:600; display:block; margin-bottom:10px;
  }
  .section-head h2{ font-size:28px; font-weight:800; margin:0 0 10px; letter-spacing:-0.01em; }
  .section-head p{ font-size:14.5px; color:var(--text-soft); margin:0; }

  /* ---------- CATEGORIES ---------- */
  .cat-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
  }
  .cat-card{
    background:#fff;
    border:1px solid var(--grey-line);
    border-radius:10px;
    padding:22px;
    transition:border-color .15s ease, transform .15s ease;
  }
  .cat-card{ cursor:pointer; }
  .cat-card:hover{ border-color:var(--blue); transform:translateY(-2px); }
  .cat-card .cat-icon{
    width:40px; height:40px; border-radius:9px;
    background:var(--accent-soft);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:14px;
  }
  .cat-card .cat-icon svg{ width:21px; height:21px; }
  .cat-card h3{ font-size:15.5px; font-weight:700; margin:0 0 4px; }
  .cat-card span{ font-size:12.5px; color:var(--text-soft); }

  /* ---------- COMPANIES STRIP ---------- */
  .companies{ background:var(--grey-bg); }
  .company-row{
    display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
  }
  .company-chip{
    cursor:pointer;
    transition:border-color .15s ease, transform .15s ease;
    background:#fff;
    border:1px solid var(--grey-line);
    border-radius:8px;
    padding:16px 26px;
    font-weight:700;
    font-size:14px;
    color:var(--navy);
    min-width:150px;
    text-align:center;
  }
  .company-chip:hover{ border-color:var(--blue); transform:translateY(-2px); }

  /* ---------- LISTINGS ---------- */
  .job-grid{ display:flex; flex-direction:column; gap:12px; }
  .job-row{
    display:flex; align-items:center; justify-content:space-between;
    gap:20px;
    background:#fff;
    border:1px solid var(--grey-line);
    border-radius:10px;
    padding:20px 24px;
    transition:box-shadow .15s ease, border-color .15s ease;
  }
  .job-row:hover{ box-shadow:0 10px 26px rgba(11,15,61,0.08); border-color:var(--grey-line); }
  .job-main{ display:flex; gap:16px; align-items:center; }
  .job-avatar{
    width:46px; height:46px; border-radius:8px;
    background:var(--grad);
    box-shadow:0 6px 14px -6px rgba(27,166,232,0.4);
    flex-shrink:0;
  }
  .job-title{ font-size:15.5px; font-weight:700; margin:0 0 4px; }
  .job-sub{ font-size:13px; color:var(--text-soft); }
  .job-tags{ display:flex; gap:8px; flex-wrap:wrap; }
  .tag{
    font-size:11.5px; font-weight:600;
    padding:5px 10px; border-radius:20px;
    background:var(--grey-bg); color:var(--text-soft);
  }
  .job-right{ text-align:right; flex-shrink:0; }
  .job-posted{ font-size:12px; color:var(--text-soft); margin-bottom:8px; }
  .job-apply{
    font-size:13px; font-weight:700; color:var(--blue-deep);
  }

  /* ---------- RESUME CTA ---------- */
  .resume-cta{
    background:var(--navy);
    color:#fff;
    border-radius:14px;
    margin:0 28px;
    padding:44px 40px;
    display:flex; justify-content:space-between; align-items:center; gap:32px;
    position:relative;
    overflow:hidden;
  }
  .resume-cta::before{
    content:'';
    position:absolute; right:-60px; top:-60px;
    width:220px; height:220px; border-radius:50%;
    background:var(--grad);
    opacity:.35;
    filter:blur(8px);
  }
  .resume-cta h2{ font-size:26px; font-weight:800; margin:0 0 8px; max-width:20ch; position:relative; }
  .resume-cta p{ font-size:14.5px; color:rgba(255,255,255,0.7); margin:0; max-width:38ch; position:relative; }
  .btn-white{
    background:#fff; color:var(--navy);
    padding:14px 26px; border-radius:6px;
    font-weight:700; font-size:14px;
    white-space:nowrap; position:relative;
  }
  .btn-white:hover{ opacity:.9; }

  /* ---------- FOOTER ---------- */
  footer{ background:var(--grey-bg); padding:56px 0 24px; margin-top:40px; }
  .footer-grid{
    display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1fr;
    gap:26px; margin-bottom:40px;
  }
  .footer-grid h4{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin:0 0 14px; color:var(--navy); }
  .footer-grid ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
  .footer-grid a{ font-size:13.5px; color:var(--text-soft); }
  .footer-grid a:hover{ color:var(--blue-deep); }
  .footer-grid p{ font-size:13.5px; color:var(--text-soft); max-width:30ch; }
  .footer-logo{ display:flex; align-items:center; gap:8px; margin-bottom:14px; }
  .footer-logo img{ height:30px; }
  .footer-bottom{
    border-top:1px solid var(--grey-line);
    padding-top:20px;
    display:flex; justify-content:space-between;
    font-size:12.5px; color:var(--text-soft);
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    nav.links{ display:none; }
    .nav-toggle{ display:block; }
    .search-card{ grid-template-columns:1fr; }
    .stat-strip .wrap{ flex-wrap:wrap; }
    .stat{ flex:1 1 50%; border-bottom:1px solid var(--grey-line); }
    .cat-grid{ grid-template-columns:repeat(2,1fr); }
    .job-row{ flex-direction:column; align-items:flex-start; }
    .job-right{ text-align:left; }
    .resume-cta{ flex-direction:column; align-items:flex-start; margin:0 16px; }
    .footer-grid{ grid-template-columns:1fr 1fr; }
    .util-bar .wrap{ font-size:11px; }
  }

  /* ---------- PAGE HEADER BANNER (non-home pages) ---------- */
  .page-banner{
    background:var(--grey-bg);
    border-bottom:1px solid var(--grey-line);
    padding:36px 0;
  }
  .breadcrumb{
    font-family:var(--mono);
    font-size:12px;
    color:var(--text-soft);
    margin:0 0 10px;
  }
  .breadcrumb a{ color:var(--blue-deep); }
  .breadcrumb a:hover{ text-decoration:underline; }
  .page-banner h1{ font-size:26px; font-weight:800; margin:0 0 6px; letter-spacing:-0.01em; }
  .page-banner p{ font-size:14.5px; color:var(--text-soft); margin:0; }

  /* ---------- FILTER SIDEBAR + RESULTS LAYOUT ---------- */
  .listing-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:28px;
    align-items:start;
  }
  .filter-panel{
    background:#fff;
    border:1px solid var(--grey-line);
    border-radius:10px;
    padding:22px;
    position:sticky;
    top:88px;
  }
  .filter-panel h4{
    font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
    color:var(--text-soft); margin:0 0 14px;
  }
  .filter-group{ margin-bottom:26px; }
  .filter-group:last-child{ margin-bottom:0; }
  .filter-option{
    display:flex; align-items:center; gap:9px;
    font-size:13.5px; padding:6px 0; cursor:pointer;
  }
  .filter-option input{ accent-color:var(--blue-deep); width:15px; height:15px; }
  .filter-option .count{ margin-left:auto; color:var(--text-soft); font-size:12px; }
  .filter-clear{
    font-size:12.5px; font-weight:700; color:var(--blue-deep); cursor:pointer;
  }

  .results-head{
    display:flex; justify-content:space-between; align-items:center;
    margin-bottom:18px; flex-wrap:wrap; gap:12px;
  }
  .results-count{ font-size:14.5px; font-weight:700; }
  .results-count span{ font-weight:400; color:var(--text-soft); }
  .sort-select{
    font-family:var(--display); font-size:13.5px; font-weight:600;
    border:1px solid var(--grey-line); border-radius:6px; padding:8px 12px; background:#fff;
  }

  .pagination{ display:flex; gap:8px; justify-content:center; margin-top:32px; }
  .pagination a, .pagination span{
    width:36px; height:36px; border-radius:6px;
    display:flex; align-items:center; justify-content:center;
    font-size:13.5px; font-weight:600;
    border:1px solid var(--grey-line);
  }
  .pagination a:hover{ border-color:var(--blue); }
  .pagination .active{ background:var(--accent); color:#fff; border-color:var(--accent); }

  /* ---------- JOB DETAIL ---------- */
  .job-detail-layout{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:32px;
    align-items:start;
  }
  .job-detail-head{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:28px; margin-bottom:22px;
    display:flex; gap:20px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap;
  }
  .job-detail-head .left{ display:flex; gap:16px; }
  .job-detail-logo{
    width:56px; height:56px; border-radius:10px;
    background:var(--grad);
    box-shadow:0 8px 18px -8px rgba(27,166,232,0.4);
    flex-shrink:0;
  }
  .job-detail-head h1{ font-size:22px; font-weight:800; margin:0 0 6px; }
  .job-detail-head .company-line{ font-size:14.5px; color:var(--text-soft); margin:0 0 12px; }
  .job-detail-head .company-line a{ color:var(--blue-deep); font-weight:600; }
  .meta-pills{ display:flex; gap:8px; flex-wrap:wrap; }
  .meta-pill{
    font-size:12px; font-weight:600; padding:6px 12px; border-radius:20px;
    background:var(--grey-bg); color:var(--navy);
  }
  .apply-block{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
  .apply-block .posted{ font-size:12px; color:var(--text-soft); }

  .detail-card{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:28px; margin-bottom:22px;
  }
  .detail-card h2{ font-size:17px; font-weight:800; margin:0 0 14px; }
  .detail-card p{ font-size:14.5px; color:rgba(11,15,61,0.78); margin:0 0 14px; }
  .detail-card ul{ margin:0 0 14px; padding-left:20px; }
  .detail-card li{ font-size:14.5px; color:rgba(11,15,61,0.78); margin-bottom:8px; }

  .side-card{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:22px; margin-bottom:18px;
  }
  .side-card h3{ font-size:14px; font-weight:800; margin:0 0 14px; }
  .side-row{ display:flex; justify-content:space-between; font-size:13.5px; padding:8px 0; border-bottom:1px dashed var(--grey-line); }
  .side-row:last-child{ border-bottom:0; }
  .side-row .lbl{ color:var(--text-soft); }
  .side-row .val{ font-weight:600; text-align:right; }

  .similar-job{ display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--grey-line); }
  .similar-job:last-child{ border-bottom:0; }
  .similar-job .dot{ width:34px; height:34px; border-radius:7px; background:var(--grad); flex-shrink:0; }
  .similar-job .t{ font-size:13px; font-weight:700; margin:0 0 2px; }
  .similar-job .s{ font-size:11.5px; color:var(--text-soft); }

  /* ---------- COMPANY PROFILE ---------- */
  .company-hero{
    background:var(--navy); color:#fff; padding:48px 0;
    position:relative; overflow:hidden;
  }
  .company-hero::before{
    content:''; position:absolute; right:-80px; top:-80px;
    width:260px; height:260px; border-radius:50%;
    background:var(--grad); opacity:.28; filter:blur(10px);
  }
  .company-hero-inner{ display:flex; gap:22px; align-items:center; position:relative; }
  .company-logo-big{
    width:76px; height:76px; border-radius:14px; background:var(--grad);
    box-shadow:0 10px 24px -8px rgba(27,166,232,0.5); flex-shrink:0;
  }
  .company-hero h1{ font-size:26px; font-weight:800; margin:0 0 6px; }
  .company-hero .sub{ font-size:14px; color:rgba(255,255,255,0.65); }
  .company-stats{ display:flex; gap:28px; margin-top:22px; position:relative; }
  .company-stats .cstat b{ font-size:19px; display:block; }
  .company-stats .cstat span{ font-size:12px; color:rgba(255,255,255,0.6); }

  .about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px; }
  .info-row{ display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--grey-line); font-size:14px; }
  .info-row .lbl{ color:var(--text-soft); }
  .info-row .val{ font-weight:600; }

  /* ---------- AUTH ---------- */
  .auth-wrap{
    max-width:420px; margin:0 auto; padding:56px 28px 80px;
  }
  .auth-card{
    background:#fff; border:1px solid var(--grey-line); border-radius:14px;
    padding:34px 30px;
    box-shadow:0 20px 44px rgba(11,15,61,0.08);
  }
  .auth-tabs{ display:flex; gap:6px; background:var(--grey-bg); border-radius:8px; padding:4px; margin-bottom:26px; }
  .auth-tab{
    flex:1; text-align:center; padding:9px; border-radius:6px; font-size:13.5px; font-weight:700;
    color:var(--text-soft); cursor:pointer;
  }
  .auth-tab.active{ background:#fff; color:var(--navy); box-shadow:0 2px 6px rgba(11,15,61,0.08); }
  .auth-card h1{ font-size:21px; font-weight:800; margin:0 0 6px; text-align:center; }
  .auth-card .sub{ font-size:13.5px; color:var(--text-soft); text-align:center; margin:0 0 26px; }

  .field-group{ margin-bottom:16px; }
  .field-group label{ display:block; font-size:12.5px; font-weight:700; margin-bottom:7px; }
  .field-group input, .field-group select{
    width:100%; padding:11px 14px; border:1px solid var(--grey-line); border-radius:7px;
    font-family:var(--display); font-size:14px; color:var(--navy);
  }
  .field-group input:focus, .field-group select:focus{ border-color:var(--blue); }
  .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .role-toggle{ display:flex; gap:10px; margin-bottom:20px; }
  .role-opt{
    flex:1; border:1.5px solid var(--grey-line); border-radius:8px; padding:12px; text-align:center;
    font-size:13px; font-weight:700; cursor:pointer; color:var(--text-soft);
  }
  .role-opt.active{ border-color:var(--blue); color:var(--blue-deep); background:var(--accent-soft); }

  .btn-full{
    width:100%; background:var(--grad); background-size:180% 100%; background-position:0% 0%;
    color:#fff; border:0; padding:13px; border-radius:8px; font-weight:700; font-size:14.5px;
    cursor:pointer; transition:background-position .35s ease;
  }
  .btn-full:hover{ background-position:100% 0%; }
  .auth-foot{ text-align:center; font-size:13px; color:var(--text-soft); margin-top:20px; }
  .auth-foot a{ color:var(--blue-deep); font-weight:600; }
  .auth-divider{ display:flex; align-items:center; gap:10px; margin:20px 0; font-size:12px; color:var(--text-soft); }
  .auth-divider::before, .auth-divider::after{ content:''; flex:1; height:1px; background:var(--grey-line); }

  /* ---------- POST A JOB (EMPLOYER FORM) ---------- */
  .form-shell{ display:grid; grid-template-columns:1fr 300px; gap:28px; align-items:start; }
  .form-card{ background:#fff; border:1px solid var(--grey-line); border-radius:12px; padding:30px; }
  .form-card h2{ font-size:16.5px; font-weight:800; margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--grey-line); }
  .form-card .field-group textarea{
    width:100%; padding:11px 14px; border:1px solid var(--grey-line); border-radius:7px;
    font-family:var(--display); font-size:14px; color:var(--navy); resize:vertical; min-height:110px;
  }
  .form-card .field-group textarea:focus{ border-color:var(--blue); }
  .plan-card{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px; padding:22px; margin-bottom:16px;
  }
  .plan-card h3{ font-size:14px; font-weight:800; margin:0 0 4px; }
  .plan-card .price{ font-size:26px; font-weight:800; margin:10px 0; }
  .plan-card .price span{ font-size:13px; font-weight:600; color:var(--text-soft); }
  .plan-card ul{ list-style:none; padding:0; margin:0 0 18px; }
  .plan-card li{ font-size:13px; color:rgba(11,15,61,0.75); padding:6px 0; padding-left:20px; position:relative; }
  .plan-card li::before{ content:'✓'; position:absolute; left:0; color:var(--blue-deep); font-weight:700; }

  /* ---------- ABOUT / CONTACT ---------- */
  .content-hero{ background:var(--grey-bg); padding:64px 0; text-align:center; }
  .content-hero h1{ font-size:clamp(28px,4vw,40px); font-weight:800; margin:0 0 12px; letter-spacing:-0.01em; }
  .content-hero p{ font-size:15.5px; color:var(--text-soft); max-width:56ch; margin:0 auto; }

  .value-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .value-card{ padding:26px; border:1px solid var(--grey-line); border-radius:12px; }
  .value-card .num{ font-family:var(--mono); font-size:12px; color:var(--blue-deep); font-weight:700; margin-bottom:10px; display:block; }
  .value-card h3{ font-size:16.5px; font-weight:800; margin:0 0 8px; }
  .value-card p{ font-size:13.5px; color:var(--text-soft); margin:0; }

  .team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .team-card{ text-align:center; }
  .team-avatar{ width:100%; aspect-ratio:1; border-radius:12px; background:var(--grad); margin-bottom:12px; }
  .team-card h4{ font-size:14.5px; font-weight:700; margin:0 0 2px; }
  .team-card span{ font-size:12.5px; color:var(--text-soft); }

  .contact-layout{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
  .contact-info-card{
    background:var(--navy); color:#fff; border-radius:14px; padding:32px;
  }
  .contact-info-card h3{ font-size:18px; font-weight:800; margin:0 0 8px; }
  .contact-info-card p{ font-size:13.5px; color:rgba(255,255,255,0.65); margin:0 0 24px; }
  .contact-row{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-top:1px solid rgba(255,255,255,0.12); }
  .contact-row:first-of-type{ border-top:0; }
  .contact-row .l{ font-size:11.5px; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:.05em; margin-bottom:3px; }
  .contact-row .v{ font-size:14px; font-weight:600; }

  /* ---------- FAQ ---------- */
  .faq-item{ border-bottom:1px solid var(--grey-line); padding:4px 0; }
  .faq-item:last-of-type{ border-bottom:0; }
  .faq-item summary{
    font-size:14.5px; font-weight:700; padding:12px 0; cursor:pointer; list-style:none;
    display:flex; justify-content:space-between; align-items:center;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:'+'; font-size:18px; color:var(--blue-deep); font-weight:600; }
  .faq-item[open] summary::after{ content:'–'; }
  .faq-item p{ margin:0 0 14px; font-size:14px; color:rgba(11,15,61,0.75); }

  /* ---------- FOOTER EXTRAS ---------- */
  .footer-contact{ font-size:13px; color:var(--text-soft); margin-top:14px; line-height:1.8; }
  .footer-contact b{ color:var(--navy); }
  .social-row{ display:flex; gap:10px; margin-top:16px; }
  .social-row a{
    width:34px; height:34px; border-radius:8px; border:1px solid var(--grey-line);
    display:flex; align-items:center; justify-content:center; background:#fff;
    font-size:13px; font-weight:700; color:var(--navy);
  }
  .social-row a:hover{ border-color:var(--blue); color:var(--blue-deep); }
  .newsletter{
    display:flex; justify-content:space-between; align-items:center; gap:24px;
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:22px 26px; margin-bottom:36px; flex-wrap:wrap;
  }
  .newsletter h4{ font-size:15.5px; font-weight:800; margin:0 0 3px; }
  .newsletter p{ font-size:13px; color:var(--text-soft); margin:0; }
  .newsletter form{ display:flex; gap:8px; flex:1; max-width:400px; min-width:260px; }
  .newsletter input{
    flex:1; padding:11px 14px; border:1px solid var(--grey-line); border-radius:7px;
    font-family:var(--display); font-size:13.5px;
  }
  .newsletter button{
    background:var(--grad); border:0; color:#fff; font-weight:700; font-size:13.5px;
    border-radius:7px; padding:0 20px; cursor:pointer; white-space:nowrap;
  }

  /* ---------- RESPONSIVE (internal pages) ---------- */
  @media (max-width:900px){
    .listing-layout{ grid-template-columns:1fr; }
    .filter-panel{ position:static; }
    .job-detail-layout{ grid-template-columns:1fr; }
    .form-shell{ grid-template-columns:1fr; }
    .about-grid{ grid-template-columns:1fr; }
    .value-grid{ grid-template-columns:1fr; }
    .team-grid{ grid-template-columns:repeat(2,1fr); }
    .contact-layout{ grid-template-columns:1fr; }
    .company-hero-inner{ flex-direction:column; text-align:center; }
    .company-stats{ justify-content:center; flex-wrap:wrap; }
    .field-row{ grid-template-columns:1fr; }
  }

  /* ---------- DASHBOARDS ---------- */
  .dash-banner{ background:var(--navy); color:#fff; padding:34px 0; }
  .dash-banner h1{ font-size:24px; font-weight:800; margin:0 0 4px; }
  .dash-banner p{ font-size:13.5px; color:rgba(255,255,255,0.65); margin:0; }
  .dash-stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
    margin:24px 0 28px;
  }
  .dash-stat{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:18px 20px;
  }
  .dash-stat .num{ font-size:24px; font-weight:800; display:block; }
  .dash-stat .lbl{ font-size:12px; color:var(--text-soft); }
  .dash-layout{ display:grid; grid-template-columns:1fr 320px; gap:28px; align-items:start; }

  .app-row{
    display:flex; justify-content:space-between; align-items:center; gap:16px;
    padding:16px 0; border-bottom:1px solid var(--grey-line);
  }
  .app-row:last-child{ border-bottom:0; }
  .app-row .t{ font-size:14.5px; font-weight:700; margin:0 0 3px; }
  .app-row .s{ font-size:12.5px; color:var(--text-soft); }

  .status{
    font-size:11px; font-weight:700; padding:5px 11px; border-radius:20px; white-space:nowrap;
  }
  .st-applied{ background:rgba(11,15,61,0.07); color:var(--navy); }
  .st-review{ background:rgba(247,148,30,0.14); color:#9C6210; }
  .st-interview{ background:rgba(27,166,232,0.13); color:var(--blue-deep); }
  .st-offer{ background:rgba(30,142,90,0.13); color:#1E8E5A; }
  .st-rejected{ background:rgba(233,41,122,0.09); color:#B0234A; }
  .st-shortlist{ background:rgba(30,142,90,0.13); color:#1E8E5A; }
  .st-active{ background:rgba(30,142,90,0.13); color:#1E8E5A; }
  .st-paused{ background:rgba(11,15,61,0.07); color:var(--navy); }

  .profile-card{ text-align:center; }
  .avatar-big{
    width:64px; height:64px; border-radius:50%;
    background:var(--grad); color:#fff;
    font-size:26px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 12px;
  }
  .profile-card .pname{ font-size:16px; font-weight:800; margin:0 0 2px; }
  .profile-card .ptitle{ font-size:12.5px; color:var(--text-soft); margin:0 0 16px; }
  .profile-rows{ text-align:left; }
  .progress-track{ height:7px; border-radius:5px; background:var(--grey-bg); overflow:hidden; margin:8px 0 4px; }
  .progress-fill{ height:100%; border-radius:5px; background:var(--grad); }
  .skill-chips{ display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
  .skill-chips span{
    font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:20px;
    background:var(--accent-soft); color:var(--blue-deep);
  }

  details.job-post{
    border:1px solid var(--grey-line); border-radius:12px; background:#fff;
    margin-bottom:14px; overflow:hidden;
  }
  details.job-post summary{
    list-style:none; cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:14px;
    padding:18px 22px;
  }
  details.job-post summary::-webkit-details-marker{ display:none; }
  details.job-post summary .chev{ font-size:13px; color:var(--text-soft); transition:transform .2s ease; }
  details.job-post[open] summary .chev{ transform:rotate(180deg); }
  .applicant-table{ border-top:1px solid var(--grey-line); padding:6px 22px 14px; }
  .applicant-row{
    display:grid; grid-template-columns:1.3fr 1fr 1fr auto auto;
    gap:12px; align-items:center;
    padding:12px 0; border-bottom:1px dashed var(--grey-line);
    font-size:13px;
  }
  .applicant-row:last-child{ border-bottom:0; }
  .applicant-row .an{ font-weight:700; }
  .applicant-row .muted{ color:var(--text-soft); font-size:12.5px; }
  .app-act{
    border:1px solid var(--grey-line); background:#fff; border-radius:6px;
    font-family:var(--display); font-size:11.5px; font-weight:700;
    padding:6px 10px; cursor:pointer; color:var(--navy);
  }
  .app-act:hover{ border-color:var(--blue); color:var(--blue-deep); }

  @media (max-width:900px){
    .dash-stats{ grid-template-columns:repeat(2,1fr); }
    .dash-layout{ grid-template-columns:1fr; }
    .applicant-row{ grid-template-columns:1fr 1fr; }
  }

  /* ---------- CATEGORIES PAGE ---------- */
  .industry-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .industry-card{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:24px;
  }
  .industry-card h3{ font-size:16px; font-weight:800; margin:0 0 4px; }
  .industry-card .icount{ font-size:12px; color:var(--text-soft); display:block; margin-bottom:14px; }
  .sub-links{ display:flex; flex-wrap:wrap; gap:8px; }
  .sub-links a{
    font-size:12.5px; font-weight:600; padding:7px 12px; border-radius:20px;
    background:var(--grey-bg); color:var(--navy);
    transition:background .15s ease, color .15s ease;
  }
  .sub-links a:hover{ background:var(--accent-soft); color:var(--blue-deep); }
  @media (max-width:900px){
    .industry-grid{ grid-template-columns:1fr; }
  }

  /* ---------- HEADER VARIANTS ---------- */
  header.nav[hidden]{ display:none; }

  .user-chip{ display:flex; align-items:center; gap:9px; }
  .user-avatar{
    width:30px; height:30px; border-radius:50%;
    background:var(--grad); color:#fff;
    font-size:13px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .user-name{ font-size:13.5px; font-weight:700; color:var(--navy); }
  .role-tag{
    font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
    padding:3px 8px; border-radius:20px;
    background:var(--accent-soft); color:var(--blue-deep);
  }

  /* ---------- MOBILE DRAWER ---------- */
  .drawer-overlay{
    position:fixed; top:0; right:0; bottom:0; left:0;
    background:rgba(11,15,61,0.55);
    opacity:0; pointer-events:none;
    transition:opacity .25s ease;
    z-index:90;
  }
  .drawer-overlay.open{ opacity:1; pointer-events:auto; }

  .drawer-panel{
    position:fixed; top:0; right:0; bottom:0;
    width:min(310px, 84vw);
    background:#fff;
    z-index:100;
    transform:translateX(100%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
    display:flex; flex-direction:column;
    padding:18px 20px 28px;
    overflow-y:auto;
    box-shadow:-8px 0 30px rgba(11,15,61,0.14);
  }
  .drawer-panel.open{ transform:translateX(0); }

  .drawer-head{
    display:flex; align-items:center; justify-content:space-between;
    padding-bottom:16px; margin-bottom:8px;
    border-bottom:1px solid var(--grey-line);
  }
  .drawer-head img{ height:30px; }
  .drawer-close{
    background:none; border:0; font-size:26px; line-height:1;
    color:var(--navy); cursor:pointer; padding:4px 6px;
  }

  .drawer-user{
    display:flex; align-items:center; gap:11px;
    padding:14px 0; margin-bottom:6px;
    border-bottom:1px solid var(--grey-line);
  }
  .drawer-user .user-avatar{ width:38px; height:38px; font-size:15px; }
  .drawer-user .dn{ font-size:14.5px; font-weight:800; margin:0 0 2px; }

  .drawer-links{ display:flex; flex-direction:column; padding:8px 0; }
  .drawer-links a{
    font-size:15px; font-weight:600; color:var(--navy);
    padding:13px 4px;
    border-bottom:1px solid var(--grey-line);
  }
  .drawer-links a:last-child{ border-bottom:0; }
  .drawer-links a[aria-current="page"]{ color:var(--blue-deep); }

  .drawer-actions{ display:flex; flex-direction:column; gap:10px; margin-top:20px; }
  .drawer-actions .btn-grad,
  .drawer-actions .btn-text{
    width:100%; text-align:center; display:block;
    padding:13px; border-radius:8px; font-size:14.5px; font-weight:700;
    box-sizing:border-box;
  }
  .drawer-actions .btn-text{ border:1px solid var(--grey-line); color:var(--navy); }

  body.drawer-open{ overflow:hidden; }

  @media (min-width:901px){
    .drawer-panel, .drawer-overlay{ display:none; }
  }

  /* ---------- WP JOB MANAGER: APPLY BUTTON ----------
     Targets the plugin's own markup from templates/job-application.php,
     job-application-url.php, and job-application-email.php — not custom
     classes, since we don't control that HTML. */
  .apply-block .job_application.application{
    display:flex; flex-direction:column; align-items:flex-end; gap:8px;
  }
  .apply-block .application_button.button{
    background:var(--grad);
    background-size:180% 100%;
    background-position:0% 0%;
    color:#fff; border:0; cursor:pointer;
    padding:14px 26px; border-radius:8px;
    font-family:var(--display); font-weight:700; font-size:14.5px;
    text-decoration:none; display:inline-block;
    box-shadow:0 8px 18px -6px rgba(247,148,30,0.35);
    transition:background-position .35s ease, box-shadow .2s ease;
  }
  .apply-block .application_button.button:hover{
    background-position:100% 0%;
    box-shadow:0 10px 22px -6px rgba(247,148,30,0.45);
  }
  .apply-block .application_details{
    width:100%; max-width:320px;
    background:#fff; border:1px solid var(--grey-line); border-radius:10px;
    padding:16px 18px; font-size:13.5px; color:rgba(11,15,61,0.78);
    text-align:left;
  }
  .apply-block .application_details a{
    color:var(--blue-deep); font-weight:600; word-break:break-word;
  }
  .apply-block .application_details p{ margin:0 0 10px; }
  .apply-block .application_details p:last-child{ margin-bottom:0; }

  /* ---------- ON-PAGE APPLY FORM ---------- */
  .apply-block{ width:100%; max-width:340px; }
  .apply-card{ width:100%; }

  #apply-toggle{ width:100%; }

  #apply-form{
    width:100%; text-align:left;
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:22px; margin-top:4px;
    box-shadow:0 14px 34px rgba(11,15,61,0.08);
  }
  #apply-form .field-group{ margin-bottom:14px; }
  #apply-form .field-group:last-of-type{ margin-bottom:16px; }
  #apply-form textarea{
    width:100%; padding:11px 14px; border:1px solid var(--grey-line); border-radius:7px;
    font-family:var(--display); font-size:14px; color:var(--navy); resize:vertical;
  }
  #apply-form textarea:focus{ border-color:var(--blue); }
  #apply-form input[type="file"]{
    width:100%; font-size:13px; padding:9px 0;
  }

  .apply-success{
    background:#fff; border:1px solid var(--grey-line); border-radius:12px;
    padding:26px 22px; text-align:center; max-width:320px;
  }
  .apply-success-icon{
    width:44px; height:44px; border-radius:50%;
    background:rgba(30,142,90,0.12); color:#1E8E5A;
    font-size:20px; font-weight:800;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 14px;
  }
  .apply-success h3{ font-size:16px; font-weight:800; margin:0 0 8px; }
  .apply-success p{ font-size:13.5px; color:var(--text-soft); margin:0; }

  @media (max-width:900px){
    .apply-block{ max-width:none; width:100%; }
  }

  /* ---------- WP JOB MANAGER: SUBMISSION FORM RESKIN ----------
     WP Job Manager's own markup uses the well-established wrapper class
     `.job-manager-form` (documented across the plugin's own snippets and
     integration guides), but exact nested class names have shifted across
     plugin versions. Rather than betting everything on guessed selectors,
     this targets element TYPES within that wrapper — inputs, selects,
     textareas, buttons — which matches regardless of the plugin's internal
     BEM naming in a given version. */

  .job-manager-form-wrap .job-manager-form,
  .job-manager-form-wrap form{
    font-family:var(--display);
  }

  .job-manager-form-wrap fieldset{ border:0; padding:0; margin:0 0 22px; }
  .job-manager-form-wrap legend{
    font-size:14px; font-weight:800; margin:0 0 14px; padding:0;
    border-bottom:1px solid var(--grey-line); padding-bottom:10px; width:100%;
  }

  .job-manager-form-wrap label{
    display:block; font-size:12.5px; font-weight:700; margin-bottom:7px; color:var(--navy);
  }
  .job-manager-form-wrap .job-manager-form-field,
  .job-manager-form-wrap p{
    margin-bottom:16px;
  }
  .job-manager-form-wrap .description,
  .job-manager-form-wrap small{
    display:block; font-size:12px; color:var(--text-soft); margin-top:6px;
  }

  .job-manager-form-wrap input[type="text"],
  .job-manager-form-wrap input[type="email"],
  .job-manager-form-wrap input[type="url"],
  .job-manager-form-wrap input[type="tel"],
  .job-manager-form-wrap input[type="number"],
  .job-manager-form-wrap input[type="password"],
  .job-manager-form-wrap select,
  .job-manager-form-wrap textarea{
    width:100%; padding:11px 14px; border:1px solid var(--grey-line); border-radius:7px;
    font-family:var(--display); font-size:14px; color:var(--navy);
    background:#fff; box-sizing:border-box;
  }
  .job-manager-form-wrap input:focus,
  .job-manager-form-wrap select:focus,
  .job-manager-form-wrap textarea:focus{
    border-color:var(--blue); outline:none;
  }
  .job-manager-form-wrap textarea{ min-height:120px; resize:vertical; }

  /* The rich text editor WordPress renders for the description field */
  .job-manager-form-wrap .wp-editor-container{
    border:1px solid var(--grey-line); border-radius:7px; overflow:hidden;
  }
  .job-manager-form-wrap .mce-toolbar-grp{ background:var(--grey-bg) !important; }

  /* File upload dropzone (company logo, resume-style uploads) */
  .job-manager-form-wrap .job-manager-uploaded-files,
  .job-manager-form-wrap .uploaded_file_dropzone{
    border:1.5px dashed var(--grey-line); border-radius:10px;
    padding:20px; text-align:center; background:var(--grey-bg);
    font-size:13px; color:var(--text-soft);
  }

  /* Buttons: primary action gets the gradient, everything else stays quiet */
  .job-manager-form-wrap input[type="submit"],
  .job-manager-form-wrap button,
  .job-manager-form-wrap .button{
    font-family:var(--display); font-weight:700; font-size:14.5px;
    padding:13px 26px; border-radius:8px; border:0; cursor:pointer;
    background:var(--grad); background-size:180% 100%; background-position:0% 0%;
    color:#fff; transition:background-position .35s ease;
  }
  .job-manager-form-wrap input[type="submit"]:hover,
  .job-manager-form-wrap button:hover,
  .job-manager-form-wrap .button:hover{
    background-position:100% 0%;
  }
  .job-manager-form-wrap .job-manager-form-fields + p a,
  .job-manager-form-wrap a.button-secondary{
    background:none; color:var(--blue-deep); text-decoration:underline;
    padding:8px 4px;
  }

  /* Step indicator, if the plugin renders one */
  .job-manager-form-wrap .job-manager-form-steps{
    display:flex; gap:8px; list-style:none; padding:0; margin:0 0 26px;
    font-size:12px; font-weight:700; color:var(--text-soft);
  }
  .job-manager-form-wrap .job-manager-form-steps .active,
  .job-manager-form-wrap .job-manager-form-steps .current{
    color:var(--blue-deep);
  }

  /* Preview step: match the single-job-listing look */
  .job-manager-form-wrap .single_job_listing{
    background:#fff; border:1px solid var(--grey-line); border-radius:10px; padding:20px;
  }

  /* ---------- AI ASSIST PANEL ---------- */
  .ai-assist-panel{
    background:var(--accent-soft);
    border:1px solid rgba(27,166,232,0.25);
    border-radius:10px;
    padding:14px 16px;
    margin-bottom:16px;
  }
  .ai-assist-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
  .ai-assist-btn{
    font-family:var(--display); font-weight:700; font-size:13.5px;
    padding:10px 18px; border-radius:7px; border:0; cursor:pointer;
    background:var(--grad); color:#fff;
  }
  .ai-assist-btn:disabled{ opacity:.7; cursor:wait; }
  .ai-assist-tone{
    font-family:var(--display); font-size:13px; font-weight:600;
    padding:9px 12px; border-radius:7px; border:1px solid var(--grey-line);
    background:#fff; color:var(--navy);
  }
  .ai-assist-note{
    margin:10px 0 0; font-size:12.5px; color:var(--blue-deep); font-weight:600;
  }
  .ai-assist-note-error{ color:#B0234A; }

  @media (max-width:900px){
    .ai-assist-row{ flex-direction:column; align-items:stretch; }
  }
