/* =====================================================
   NRC × PBSC — jobfair.css
   Styles for jobfair.php and jobfair-register.php
   ===================================================== */

:root {
  --nrc-blue:     #1F4E79;
  --nrc-blue-mid: #2E75B6;
  --nrc-gold:     #BF8F00;
  --nrc-bg:       #F8F7F4;
  --nrc-muted:    #595959;
  --pbsc-green:   #006633;
  --pbsc-green-lt:#E8F5EE;
  --pbsc-gold:    #F5A800;
  --pbsc-gold-lt: #FFF8E7;
}

/* ── HERO ─────────────────────────────────────────── */
.jf-hero { position:relative; min-height:640px; display:flex; align-items:center; overflow:hidden; }
.jf-hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  background-color:var(--pbsc-green);
  background-image:url('assets/img/jobfair-hero.jpg'), linear-gradient(135deg, var(--pbsc-green) 0%, var(--nrc-blue) 100%);
}
.jf-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,102,51,0.82) 0%, rgba(31,78,121,0.88) 100%);
}
.jf-hero-inner { position:relative; z-index:2; padding-top:3rem; padding-bottom:3rem; text-align:center; }
.jf-logo-nrc  { height:80px; width:auto; filter:brightness(0) invert(1); }
.jf-logo-pbsc { height:80px; width:auto; filter:brightness(0) invert(1); }
.jf-logo-x    { font-size:1.8rem; color:rgba(255,255,255,.45); font-weight:300; }
.jf-eyebrow { font-family:'Nunito',sans-serif; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pbsc-gold); margin-bottom:.75rem; }
.jf-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2rem,5vw,3.2rem); font-weight:700; color:#fff; line-height:1.15; margin-bottom:1rem; }
.jf-sub { font-family:'Nunito',sans-serif; font-size:1.05rem; color:rgba(255,255,255,.88); line-height:1.7; max-width:680px; margin:0 auto 1.5rem; }
.jf-datebar { font-family:'Nunito',sans-serif; font-size:.93rem; color:rgba(255,255,255,.85); }
.jf-datebar-div { color:rgba(255,255,255,.4); }
.jf-trust { font-family:'Nunito',sans-serif; font-size:.8rem; color:rgba(255,255,255,.65); margin-top:.5rem; display:flex; align-items:center; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.jf-trust-icon { height:28px; width:auto; filter:brightness(0) invert(1); opacity:.7; }

/* ── REG HERO ─────────────────────────────────────── */
.jf-reg-hero { background:linear-gradient(135deg,var(--pbsc-green) 0%,var(--nrc-blue) 100%); border-bottom:4px solid var(--pbsc-gold); text-align:center; }
.jf-reg-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.4rem; font-weight:700; color:#fff; }
.jf-reg-price { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.8rem; font-weight:700; color:var(--pbsc-gold); margin-top:.1rem; }
.jf-reg-card { background:#fff; border:1px solid #e4e0d8; box-shadow:0 2px 18px rgba(0,102,51,.07); }

/* ── BUTTONS ──────────────────────────────────────── */
.jf-btn-primary { background-color:var(--pbsc-green); border:2px solid var(--pbsc-green); color:#fff; font-family:'Nunito',sans-serif; font-weight:700; letter-spacing:.03em; transition:background .2s,border-color .2s; }
.jf-btn-primary:hover,.jf-btn-primary:focus { background-color:#004d26; border-color:#004d26; color:#fff; }
.jf-btn-outline { background:transparent; border:2px solid rgba(255,255,255,.7); color:#fff; font-family:'Nunito',sans-serif; font-weight:700; transition:background .2s; }
.jf-btn-outline:hover { background:rgba(255,255,255,.15); border-color:#fff; color:#fff; }
.jf-btn-outline-dark { background:transparent; border:2px solid var(--pbsc-green); color:var(--pbsc-green); font-family:'Nunito',sans-serif; font-weight:700; transition:background .2s,color .2s; }
.jf-btn-outline-dark:hover { background:var(--pbsc-green); color:#fff; }
.jf-btn-green { background:var(--pbsc-green); border:2px solid var(--pbsc-green); color:#fff; font-family:'Nunito',sans-serif; font-weight:700; transition:background .2s; }
.jf-btn-green:hover { background:#004d26; border-color:#004d26; color:#fff; }

/* ── URGENCY BAND ─────────────────────────────────── */
.jf-urgency { background-color:var(--nrc-blue); }
.jf-urgency-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:2rem; font-weight:700; color:#fff; }
.jf-stat-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.15); }
.jf-stat-num { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.8rem; font-weight:700; color:var(--pbsc-gold); line-height:1.1; margin-bottom:.5rem; }
.jf-stat-text { font-family:'Nunito',sans-serif; font-size:.9rem; color:rgba(255,255,255,.8); line-height:1.5; margin-bottom:.5rem; }
.jf-stat-source { font-family:'Nunito',sans-serif; font-size:.75rem; color:rgba(255,255,255,.45); font-style:italic; }
.jf-urgency-close { font-family:'Nunito',sans-serif; font-size:1rem; color:rgba(255,255,255,.85); max-width:680px; margin:0 auto; }

/* ── WORKFORCE ────────────────────────────────────── */
.jf-workforce { background-color:#fff; }
.jf-eyebrow-dark { font-family:'Nunito',sans-serif; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pbsc-green); margin-bottom:.5rem; }
.jf-section-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:2rem; font-weight:700; color:var(--nrc-blue); line-height:1.2; margin-bottom:.75rem; }
.jf-highlight { color:var(--pbsc-green); }
.jf-section-body { font-family:'Nunito',sans-serif; font-size:.98rem; color:var(--nrc-muted); line-height:1.7; margin-bottom:.75rem; }
.jf-photo-placeholder { background:#f0f0f0; border:2px dashed #ccc; min-height:320px; }

/* ── SPONSOR CARDS ────────────────────────────────── */
.jf-sponsors-section { background:var(--nrc-bg); }
.jf-sponsor-card { background:#fff; border:2px solid #ddd; transition:box-shadow .2s,transform .2s; }
.jf-sponsor-card:hover { box-shadow:0 8px 24px rgba(0,102,51,.12); transform:translateY(-4px); }
.jf-sponsor-card--gold { border-color:#CFB53B; background:#FFFDF0; }
.jf-sponsor-card--platinum { border-color:var(--pbsc-green); background:var(--pbsc-green-lt); }
.jf-tier-badge { display:inline-block; color:#fff; font-family:'Nunito',sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.2rem .8rem; border-radius:99px; margin-bottom:.75rem; }
.jf-sponsor-amount { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.2rem; font-weight:700; color:var(--nrc-blue); line-height:1.1; }
.jf-benefit-list { list-style:none; padding:0; margin:0; }
.jf-benefit-list li { font-family:'Nunito',sans-serif; font-size:.88rem; color:var(--nrc-muted); padding:.35rem 0 .35rem 1.4rem; border-bottom:1px solid rgba(0,0,0,.06); position:relative; }
.jf-benefit-list li::before { content:'✓'; position:absolute; left:0; color:var(--pbsc-green); font-weight:700; }

/* ── SCHEDULE ─────────────────────────────────────── */
.jf-schedule { background:var(--pbsc-green-lt); }
.jf-timeline { border-left:3px solid var(--pbsc-green); padding-left:1.5rem; }
.jf-tl-item { margin-bottom:1.25rem; padding-bottom:1.25rem; border-bottom:1px dashed #c5e0d0; }
.jf-tl-item:last-child { border-bottom:none; margin-bottom:0; }
.jf-tl-time { font-family:'Nunito',sans-serif; font-size:.82rem; font-weight:800; color:var(--pbsc-green); min-width:68px; padding-top:.15rem; white-space:nowrap; }
.jf-tl-note { font-family:'Nunito',sans-serif; font-size:.88rem; color:var(--nrc-muted); }

/* ── DOWNLOADS ────────────────────────────────────── */
.jf-dl-card { background:#fff; border:1px solid #dde8e2; box-shadow:0 1px 6px rgba(0,102,51,.05); }
.jf-dl-icon { font-size:1.8rem; color:var(--pbsc-green); flex-shrink:0; }
.jf-dl-title { font-family:'Nunito',sans-serif; font-size:.93rem; font-weight:700; color:var(--nrc-blue); }
.jf-dl-sub { font-family:'Nunito',sans-serif; font-size:.8rem; color:var(--nrc-muted); }

/* ── VENUE ────────────────────────────────────────── */
.jf-venue-card { background:#fff; border:1px solid #dde8e2; }
.jf-venue-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.25rem; font-weight:700; color:var(--nrc-blue); }
.jf-venue-list li { font-family:'Nunito',sans-serif; font-size:.9rem; color:var(--nrc-muted); padding:.25rem 0; border-bottom:1px solid #f0f0f0; }
.jf-venue-list li:last-child { border-bottom:none; }

/* ── CTA BAND ─────────────────────────────────────── */
.jf-cta-band { background:linear-gradient(135deg,var(--pbsc-green) 0%,var(--nrc-blue) 100%); border-top:4px solid var(--pbsc-gold); }
.jf-cta-title { font-family:'Cormorant Garamond',Georgia,serif; font-size:2rem; font-weight:700; color:#fff; margin-bottom:.5rem; }
.jf-cta-sub { font-family:'Nunito',sans-serif; font-size:.98rem; color:rgba(255,255,255,.8); }

/* ── CONTACT STRIP ────────────────────────────────── */
.jf-contact-strip { background:var(--nrc-blue); }
.jf-contact-text { font-family:'Nunito',sans-serif; font-size:.9rem; color:rgba(255,255,255,.8); }
.jf-contact-link { color:var(--pbsc-gold); text-decoration:none; font-weight:700; }
.jf-contact-link:hover { text-decoration:underline; color:#ffc740; }
.jf-reg-section { background:var(--nrc-bg); }

/* ── RESPONSIVE ───────────────────────────────────── */
@media (max-width:767.98px) {
  .jf-hero { min-height:480px; }
  .jf-title { font-size:1.85rem; }
  .jf-logo-nrc,.jf-logo-pbsc { height:52px; }
  .jf-stat-num { font-size:2.2rem; }
  .jf-section-title { font-size:1.6rem; }
  .jf-cta-title { font-size:1.6rem; }
}

/* ── NAVBAR ───────────────────────────────────────── */
.jf-navbar {
  background-color: var(--white);
  border-bottom: 3px solid var(--pbsc-green);
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.jf-nav-brand-text {
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--pbsc-green);
  line-height: 1.25;
}
.jf-nav-brand-text small {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--nrc-muted);
}
.jf-navbar .nav-link {
  font-family: 'Nunito', sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--nrc-blue);
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: background 0.15s, color 0.15s;
}
.jf-navbar .nav-link:hover,
.jf-navbar .nav-link.active {
  background-color: var(--pbsc-green-lt);
  color: var(--pbsc-green);
}

/* ── CAPACITY BAND ────────────────────────────────── */
.jf-capacity-band {
  background-color: var(--pbsc-gold);
  padding: 0.75rem 1rem;
}
.jf-capacity-icon { font-size: 1.1rem; color: var(--dark); }
.jf-capacity-text {
  font-family: 'Nunito', sans-serif;
  font-size: 0.9rem;
  color: var(--dark);
}

/* ── EXHIBITOR SECTION ────────────────────────────── */
.jf-includes-card {
  background: var(--pbsc-green-lt);
  border: 1px solid rgba(0,104,56,0.18);
  border-radius: 10px;
  padding: 2rem;
  height: 100%;
}
.jf-includes-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--pbsc-green);
}
.jf-rules-note {
  background: var(--white);
  border: 1px solid rgba(0,104,56,0.2);
  border-radius: 8px;
  padding: 1rem;
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  color: var(--nrc-muted);
}
.jf-reg-card {
  background: var(--nrc-blue);
  border-radius: 10px;
  padding: 2rem;
  color: var(--white);
}
.jf-reg-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.jf-reg-icon { width: 50px; height: auto; filter: brightness(0) invert(1); opacity: 0.7; }
.jf-reg-label {
  font-family: 'Nunito', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.jf-reg-price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--pbsc-gold);
  line-height: 1;
}
.jf-reg-note {
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.75);
  margin-bottom: 1.25rem;
  line-height: 1.6;
}
.jf-reg-fine {
  font-family: 'Nunito', sans-serif;
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 0;
  text-align: center;
}
.jf-reg-fine a { color: var(--pbsc-gold); text-decoration: none; font-weight: 700; }
.jf-reg-fine a:hover { text-decoration: underline; }
.jf-scarcity-note {
  font-family: 'Nunito', sans-serif;
  font-size: 0.82rem;
  color: var(--nrc-muted);
  font-style: italic;
}
.jf-tier-sub {
  font-family: 'Nunito', sans-serif;
  font-size: 0.82rem;
  color: var(--nrc-muted);
  font-style: italic;
  margin-top: 0.25rem;
}
.jf-sponsor-inquiry {
  background: var(--pbsc-green-lt);
  border: 1px solid rgba(0,104,56,0.15);
}
.jf-logistic-tile {
  background: var(--pbsc-green-lt);
  border: 1px solid rgba(0,104,56,0.15);
  border-top: 4px solid var(--pbsc-green);
  border-radius: 8px;
  padding: 1.25rem;
  text-align: center;
  height: 100%;
}
.jf-logistic-tile--main {
  border-top-color: var(--pbsc-gold);
  background: var(--pbsc-gold-lt);
}
.jf-logistic-icon {
  font-size: 1.75rem;
  color: var(--pbsc-green);
  display: block;
  margin-bottom: 0.5rem;
}
.jf-logistic-tile--main .jf-logistic-icon { color: var(--pbsc-gold); }
.jf-logistic-label {
  font-family: 'Nunito', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--nrc-muted);
  margin-bottom: 0.3rem;
}
.jf-logistic-val {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--nrc-blue);
  line-height: 1.2;
}
.jf-venue-strip {
  background: var(--pbsc-green-lt);
  border: 1px solid rgba(0,104,56,0.18);
}
.jf-hero--vendor .jf-hero-bg {
  background-image: linear-gradient(135deg, #003d20 0%, var(--pbsc-green) 50%, var(--nrc-blue) 100%);
}
