/* ============================================================
   UC TATI Public Careers Site Theme
   Built on Bootstrap 5 + Bootstrap Icons (loaded via CDN in header.php)
   ============================================================ */

:root{
  --brand-navy:#16305F;
  --brand-navy-dark:#0F2246;
  --brand-navy-light:#2B4676;
  --brand-red:#B5232B;
  --brand-red-soft:#F6D9DA;
  --serif:'Source Serif 4', Georgia, serif;
}

body{
  background:#F7F6F2;
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:#1F2937;
}
h1,h2,h3,h4,.brand-serif{font-family:var(--serif); color:var(--brand-navy);}

/* ---------- Navbar ---------- */
.site-navbar{background:var(--brand-navy-dark) !important; padding:12px 0;}
.site-navbar .navbar-brand{display:flex; align-items:center; gap:12px; color:#fff;}
.site-navbar .navbar-brand img{height:38px;}
.site-navbar .navbar-brand strong{font-family:var(--serif); font-size:16px; line-height:1.1; display:block;}
.site-navbar .navbar-brand span{font-size:11px; color:#B8C2D6; display:block;}
.site-navbar .nav-link{color:#D7DEEA !important; font-weight:500;}
.site-navbar .nav-link:hover{color:#fff !important;}
.site-navbar .btn-outline-light{border-color:rgba(255,255,255,.5);}

/* ---------- Hero ---------- */
.page-hero{padding:44px 0 8px;}
.page-hero h1{font-size:30px;}
.page-hero p{color:#6B7280; max-width:640px;}

/* ---------- Vacancy cards ---------- */
.vac-card{border:none; border-radius:12px; box-shadow:0 1px 3px rgba(16,24,40,.08); overflow:hidden; transition:box-shadow .15s, transform .15s;}
.vac-card:hover{box-shadow:0 8px 24px rgba(16,24,40,.12); transform:translateY(-2px);}
.vac-card .vac-img{ width:100%; object-fit:cover; background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light));}
.vac-card .vac-img-placeholder{height:150px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light)); color:rgba(255,255,255,.5); font-size:36px;}
.vac-card .card-body{padding:18px 20px;}
.vac-card .vac-type{font-size:12px; color:var(--brand-red); font-weight:600; text-transform:uppercase; letter-spacing:.03em;}
.vac-card .vac-title{font-family:var(--serif); font-size:18px; font-weight:600; color:var(--brand-navy); margin:6px 0;}
.vac-card .vac-meta{font-size:13px; color:#6B7280;}

/* ---------- Detail banner ---------- */
.vac-detail-banner{width:100%; object-fit:cover; border-radius:12px; margin-bottom:24px;}
.vac-detail-banner-placeholder{height:160px; border-radius:12px; margin-bottom:24px; background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-light)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:48px;}

/* ---------- Buttons ---------- */
.btn-brand{background:var(--brand-navy); border-color:var(--brand-navy); color:#fff;}
.btn-brand:hover{background:var(--brand-navy-light); border-color:var(--brand-navy-light); color:#fff;}
.btn-outline-brand{border-color:var(--brand-navy); color:var(--brand-navy);}
.btn-outline-brand:hover{background:var(--brand-navy); color:#fff;}
.btn-accent{background:var(--brand-red); border-color:var(--brand-red); color:#fff;}
.btn-accent:hover{background:#8f1a20; border-color:#8f1a20; color:#fff;}

/* ---------- Badges ---------- */
.badge-pending{background:#F4E3C4; color:#8A5B10;}
.badge-shortlisted{background:#E4F0EA; color:#2F7D5C;}
.badge-rejected{background:#F6E4E4; color:#B23A3A;}
.badge-hired{background:var(--brand-navy); color:#fff;}
.badge-open{background:#E4F0EA; color:#2F7D5C;}
.badge-closed{background:#F6E4E4; color:#B23A3A;}

/* ---------- Cards / forms ---------- */
.card{border:none; border-radius:10px; box-shadow:0 1px 3px rgba(16,24,40,.06);}
.card-header{background:#fff; border-bottom:1px solid #EEF0F3; font-weight:600; color:var(--brand-navy); border-radius:10px 10px 0 0 !important;}
.auth-card{max-width:420px; margin:30px auto;}
.auth-card img{height:52px; display:block; margin:0 auto 12px;}

/* ---------- Pills / filters ---------- */
.filter-pill{border-radius:20px; font-size:13px;}
.filter-pill.active{background:var(--brand-navy); color:#fff; border-color:var(--brand-navy);}

/* ---------- Footer ---------- */
.site-footer{background:var(--brand-navy-dark); color:#B8C2D6; padding:28px 0; margin-top:60px; font-size:13px; text-align:center;}
