/* =====================================================
   UniJobs — custom styles
   Bootstrap 5 + Bootstrap Icons (loaded via CDN in HTML)
   ===================================================== */

:root{
  --ink:#0f2742;        /* oxford blue */
  --ink-2:#1c3a5e;
  --gold:#c8922f;       /* warm academic gold */
  --gold-soft:#e9c878;
  --paper:#f7f4ee;      /* warm off-white */
  --paper-2:#efe9dd;
  --line:#e4ddcf;
  --muted:#5b6b7d;
}

body{
  font-family:'DM Sans', system-ui, sans-serif;
  color:var(--ink);
  background:var(--paper);
}
h1,h2,h3,h4,h5,.display-font{
  font-family:'Fraunces', Georgia, serif;
  letter-spacing:-.01em;
}
.text-gold{color:var(--gold)!important;}
.bg-ink{background:var(--ink)!important;}
.eyebrow{
  text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;
  font-weight:600;color:var(--gold);
}
a{color:var(--ink-2);}

/* ---------- Nav ---------- */
.navbar{
  background:rgba(247,244,238,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.navbar-brand{font-family:'Fraunces',serif;font-weight:700;font-size:1.5rem;color:var(--ink);}
.navbar-brand .dot{color:var(--gold);}
.navbar .nav-link{font-weight:500;color:var(--ink)!important;}
.navbar .nav-link:hover{color:var(--gold)!important;}
.dropdown-menu{border:1px solid var(--line);border-radius:.6rem;box-shadow:0 18px 40px rgba(15,39,66,.12);}
.dropdown-item:active{background:var(--ink);}
.btn-gold{background:var(--gold);border:none;color:#fff;font-weight:600;}
.btn-gold:hover{background:#b07f25;color:#fff;}
.btn-ink{background:var(--ink);border:none;color:#fff;font-weight:600;}
.btn-ink:hover{background:var(--ink-2);color:#fff;}
.btn-outline-ink{border:1.5px solid var(--ink);color:var(--ink);font-weight:600;}
.btn-outline-ink:hover{background:var(--ink);color:#fff;}

/* ---------- Hero ---------- */
.hero{
  position:relative;color:#fff;overflow:hidden;
  background:radial-gradient(120% 140% at 80% 0%, #1c3a5e 0%, #0f2742 55%, #0a1d33 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(80% 80% at 70% 20%,#000,transparent);
          mask-image:radial-gradient(80% 80% at 70% 20%,#000,transparent);
}
.hero .container{position:relative;z-index:2;}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.04;font-weight:600;}
.hero .lede{color:#cfe0f0;max-width:42rem;}
.hero-inner{max-width:820px;}
@media (min-width:992px){
  .hero{max-width:calc(100% - 150px);margin-inline:auto;border-radius:1.25rem;}
}
.search-card{
  background:#fff;border-radius:1rem;padding:1.1rem;
  box-shadow:0 30px 60px rgba(8,22,40,.35);
}
.search-card .form-control,.search-card .form-select{
  border:none;border-radius:.65rem;background:var(--paper);color:var(--ink);
  padding:.85rem 1rem .85rem 2.6rem;font-weight:500;
}
.search-field{position:relative;}
.search-field i{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--gold);z-index:2;}
.hero-stats{border-top:1px solid rgba(255,255,255,.14);max-width:900px;margin-inline:auto;}
.hero-stats .num{font-family:'Fraunces',serif;font-size:1.9rem;font-weight:600;color:var(--gold-soft);}

/* ---------- Section helpers ---------- */
section{scroll-margin-top:80px;}
.section-pad{padding:5rem 0;}
.lift{transition:transform .2s ease, box-shadow .2s ease;}
.lift:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(15,39,66,.14);}

/* action cards */
.action-card{
  border:1px solid var(--line);border-radius:1rem;background:#fff;height:100%;
}
.action-icon{
  width:56px;height:56px;border-radius:.9rem;display:grid;place-items:center;
  background:var(--paper-2);color:var(--ink);font-size:1.5rem;
}

/* split cta */
.split-card{border-radius:1.2rem;overflow:hidden;color:#fff;position:relative;}
.split-emp{background:linear-gradient(135deg,#1c3a5e,#0f2742);}
.split-job{background:linear-gradient(135deg,#c8922f,#9a6f1f);}

/* job cards */
.job-card{border:1px solid var(--line);border-radius:.9rem;background:#fff;}
.job-logo{width:54px;height:54px;border-radius:.7rem;background:var(--paper-2);display:grid;place-items:center;font-family:'Fraunces',serif;font-weight:700;color:var(--ink);}
.badge-soft{background:var(--paper-2);color:var(--ink-2);font-weight:600;}
.nav-pills .nav-link{color:var(--ink);font-weight:600;border-radius:2rem;}
.nav-pills .nav-link.active{background:var(--ink);color:#fff;}

/* institutions */
.inst-card{border:1px solid var(--line);border-radius:1rem;background:#fff;text-align:center;}
.inst-crest{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--gold-soft);display:grid;place-items:center;margin:0 auto;font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;}

/* pricing */
.price-card{border:1px solid var(--line);border-radius:1.1rem;background:#fff;height:100%;}
.price-card.featured{border:2px solid var(--gold);box-shadow:0 26px 50px rgba(200,146,47,.18);}
.price-amt{font-family:'Fraunces',serif;font-size:2.6rem;font-weight:600;}

/* news */
.news-card{border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:hidden;}
.news-thumb{height:160px;background:linear-gradient(135deg,#1c3a5e,#0f2742);display:grid;place-items:center;color:var(--gold-soft);font-size:2.2rem;}

/* footer */
footer{background:var(--ink);color:#cfd9e4;}
footer a{color:#cfd9e4;text-decoration:none;}
footer a:hover{color:var(--gold-soft);}
.social-ic{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:inline-grid;place-items:center;}
.social-ic:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
