/* Academic Job Board — faceted layout (v1.2) */
:root{
  --ajb-bg:#F4F5F7;
  --ajb-card:#FFFFFF;
  --ajb-text:#2B2F36;
  --ajb-muted:#6B7280;
  --ajb-line:#E5E7EB;
  --ajb-link:#1A8FE3;
  --ajb-link-dark:#0F6FB5;
  --ajb-accent:#7A1F2B;
  --ajb-chip:#EAF5FD;
}
.ajb-root *{ box-sizing:border-box; }
.ajb-root{
  font-family:-apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background:var(--ajb-bg);
  color:var(--ajb-text);
}
.ajb-root a{ text-decoration:none; }

/* masthead */
.ajb-masthead{
  background:
    radial-gradient(1200px 300px at 80% -40%, rgba(201,162,39,0.18), transparent 60%),
    linear-gradient(160deg,#1B2A22 0%,#16221B 100%);
  color:#EFEAD9;
  padding:clamp(34px,6vw,64px) 4vw clamp(30px,4vw,44px);
  border-bottom:3px solid #C9A227;
}
.ajb-hero-inner{ max-width:900px; margin:0 auto; }
.ajb-eyebrow{
  margin:0 0 12px; font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:#C9A227; font-weight:700;
}
.ajb-hero-title{
  font-family:Georgia,'Times New Roman',serif; font-weight:600; margin:0;
  font-size:clamp(28px,4.4vw,46px); line-height:1.1; letter-spacing:-.01em;
  color:#F6F2E6;
}
.ajb-hero-sub{
  margin:14px 0 0; font-size:clamp(14px,1.6vw,17px); line-height:1.55;
  color:#C7CFC2; max-width:620px;
}
.ajb-hero-search{
  display:flex; gap:8px; margin:26px 0 0; max-width:640px;
}
.ajb-hero-input{
  flex:1; min-width:0; padding:14px 18px; border:0; border-radius:10px;
  font-size:15px; background:#FFFFFF; color:#2B2F36;
  box-shadow:0 6px 18px rgba(0,0,0,.16);
}
.ajb-hero-input:focus{ outline:2px solid #C9A227; outline-offset:1px; }
.ajb-hero-btn{
  padding:14px 26px; border:0; border-radius:10px; cursor:pointer;
  background:#7A1F2B; color:#fff; font-size:15px; font-weight:600;
  box-shadow:0 6px 18px rgba(122,31,43,.35); transition:background .15s;
}
.ajb-hero-btn:hover{ background:#93313d; }
.ajb-hero-meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:22px 0 0;
}
.ajb-hero-count{ font-size:14px; color:#C7CFC2; }
.ajb-hero-count strong{ color:#C9A227; font-size:16px; }
.ajb-hero-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ajb-hero-chip{
  font-size:13px; padding:6px 13px; border-radius:999px;
  background:rgba(255,255,255,.08); color:#EFEAD9;
  border:1px solid rgba(201,162,39,.35); transition:background .15s,border-color .15s;
}
.ajb-hero-chip:hover{ background:rgba(201,162,39,.18); border-color:#C9A227; }
@media (max-width:620px){
  .ajb-hero-search{ flex-direction:column; }
  .ajb-hero-btn{ width:100%; }
}

/* layout */
.ajb-shell{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:24px;
  max-width:1240px;
  margin:0 auto;
  padding:26px 4vw 70px;
  align-items:start;
}
@media (max-width:880px){ .ajb-shell{ grid-template-columns:1fr; } }

/* sidebar facets */
.ajb-facets{
  background:var(--ajb-card);
  border:1px solid var(--ajb-line);
  border-radius:10px;
  padding:18px 18px 8px;
  position:sticky; top:20px;
}
.ajb-facet{ margin-bottom:20px; }
.ajb-facet-title{
  font-size:11px; letter-spacing:1.2px; text-transform:uppercase;
  color:var(--ajb-muted); font-weight:600; margin-bottom:10px;
  display:flex; align-items:center; gap:6px;
}
.ajb-facet ul{ list-style:none; margin:0; padding:0; max-height:280px; overflow:auto; }
.ajb-facet li{ margin:0; }
.ajb-facet a{
  display:flex; justify-content:space-between; align-items:center;
  padding:5px 8px; border-radius:6px; font-size:13.5px;
  color:var(--ajb-text);
}
.ajb-facet a:hover{ background:#F0F7FC; color:var(--ajb-link-dark); }
.ajb-facet a.active{ background:var(--ajb-chip); color:var(--ajb-link-dark); font-weight:600; }
.ajb-facet .count{ color:var(--ajb-muted); font-size:12px; font-weight:normal; }
.ajb-clear{
  display:inline-block; font-size:12px; color:var(--ajb-accent);
  margin:-6px 0 14px; font-weight:600;
}

/* results column */
.ajb-results-head{
  display:flex; justify-content:space-between; align-items:center;
  gap:14px; flex-wrap:wrap; margin-bottom:16px;
}
.ajb-search{
  display:flex; gap:10px; flex:1; min-width:260px;
}
.ajb-search input[type=text]{
  flex:1; padding:11px 14px; border:1px solid var(--ajb-line);
  border-radius:8px; font-size:14px; background:var(--ajb-card);
}
.ajb-search button{
  padding:11px 22px; background:var(--ajb-accent); color:#fff;
  border:none; border-radius:8px; font-size:13px; font-weight:600;
  letter-spacing:0.4px; cursor:pointer;
}
.ajb-count{ font-size:13px; color:var(--ajb-muted); }

/* job cards */
.ajb-card{
  display:block;
  background:var(--ajb-card);
  border:1px solid var(--ajb-line);
  border-radius:10px;
  padding:20px 22px;
  margin-bottom:14px;
  box-shadow:0 1px 2px rgba(16,24,40,0.04);
  transition:box-shadow .15s ease, border-color .15s ease;
  color:inherit;
}
.ajb-card:hover{ box-shadow:0 4px 14px rgba(16,24,40,0.08); border-color:#D2D6DC; }

.ajb-card-emp{
  display:flex; align-items:center; gap:12px; margin-bottom:10px;
}
.ajb-logo{
  width:44px; height:44px; border-radius:50%;
  background:#EEF1F4; border:1px solid var(--ajb-line);
  display:flex; align-items:center; justify-content:center;
  font-family:Georgia, serif; font-size:18px; font-weight:600;
  color:#5A6472; flex-shrink:0;
}
.ajb-emp-name{ font-size:14px; color:var(--ajb-link); font-weight:600; }
.ajb-card:hover .ajb-emp-name{ color:var(--ajb-link-dark); }
.ajb-emp-loc{ font-size:12.5px; color:var(--ajb-muted); margin-top:1px; }

.ajb-card-title{
  font-size:18px; font-weight:700; margin:0 0 7px; line-height:1.35;
  color:var(--ajb-text);
}
.ajb-card-excerpt{
  font-size:13.5px; line-height:1.6; color:#4B5563; margin-bottom:12px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ajb-card-meta{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  font-size:12.5px; color:var(--ajb-muted);
}
.ajb-card-meta .meta-item{ display:flex; align-items:center; gap:5px; }
.ajb-chip{
  background:var(--ajb-chip); color:var(--ajb-link-dark);
  padding:3px 10px; border-radius:20px; font-size:12px; font-weight:600;
}
.ajb-closing{ color:var(--ajb-accent); font-weight:600; }
.ajb-empty{
  background:var(--ajb-card); border:1px dashed var(--ajb-line);
  border-radius:10px; padding:44px; text-align:center; color:var(--ajb-muted);
}
.ajb-pagination{ margin-top:22px; text-align:center; }
.ajb-pagination .page-numbers{
  display:inline-block; padding:7px 13px; margin:0 2px;
  background:var(--ajb-card); border:1px solid var(--ajb-line);
  border-radius:6px; color:var(--ajb-text); font-size:13px;
}
.ajb-pagination .page-numbers.current{ background:var(--ajb-accent); color:#fff; border-color:var(--ajb-accent); }

/* single job */
.ajb-single-wrap{ max-width:820px; margin:0 auto; padding:30px 4vw 70px; }
.ajb-single-card{
  background:var(--ajb-card); border:1px solid var(--ajb-line);
  border-radius:12px; padding:34px 38px;
}
.ajb-single-emp{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.ajb-single-emp .ajb-logo{ width:54px; height:54px; font-size:22px; }
.ajb-single-title{
  font-size:26px; font-weight:700; margin:0 0 18px; line-height:1.3;
}
.ajb-facts{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:16px; padding:16px 0; border-top:1px solid var(--ajb-line);
  border-bottom:1px solid var(--ajb-line); margin-bottom:22px;
}
.ajb-fact-label{
  font-size:10.5px; text-transform:uppercase; letter-spacing:1px;
  color:var(--ajb-muted); margin-bottom:3px; font-weight:600;
}
.ajb-fact-value{ font-size:14px; font-weight:600; }
.ajb-single-body{ font-size:15px; line-height:1.75; color:#374151; margin-bottom:26px; }
.ajb-apply-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.ajb-apply-btn{
  background:var(--ajb-accent); color:#fff !important;
  padding:13px 28px; border-radius:8px;
  font-size:13px; font-weight:700; letter-spacing:0.4px; display:inline-block;
}
.ajb-source-note{ font-size:12.5px; color:var(--ajb-muted); }
.ajb-source-note a{ color:var(--ajb-link); }

/* share buttons (v1.4) */
.ajb-share{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:2px 0 18px;
}
.ajb-share-btn{
  width:34px; height:34px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#EEF1F4; border:1px solid var(--ajb-line);
  color:#5A6472; cursor:pointer; padding:0;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.ajb-share-btn svg{ width:16px; height:16px; }
.ajb-share-btn:hover{ background:var(--ajb-chip); color:var(--ajb-link-dark); border-color:#BFDFF5; }
.ajb-share-copy.copied{ background:#D9F2E3; color:#1E7A44; border-color:#A8DFC0; }

/* compact variant for listing cards */
.ajb-share-compact{ margin:0; gap:6px; }
.ajb-share-compact .ajb-share-btn{ width:26px; height:26px; }
.ajb-share-compact .ajb-share-btn svg{ width:13px; height:13px; }
.ajb-card-share{ margin-left:auto; position:relative; z-index:2; }

/* card restructure: whole card stays clickable via stretched title link,
   while share buttons sit above the overlay */
.ajb-card{ position:relative; }
.ajb-card-link{ color:inherit; }
.ajb-card-link::after{ content:""; position:absolute; inset:0; }
.ajb-card:hover .ajb-card-title .ajb-card-link{ color:var(--ajb-link-dark); }

/* shortcode embeds (v1.5) */
.ajb-embed{ background:transparent; }
.ajb-embed .ajb-card{ margin-bottom:12px; }
.ajb-embed .ajb-card-title{ font-size:16px; }
.ajb-embed-more{ margin:4px 0 0; font-size:14px; }
.ajb-embed-more a{ color:var(--ajb-link-dark); font-weight:600; }

/* settings-driven UI (v1.6) */
.ajb-loadmore-btn{
  background:var(--ajb-accent); color:#fff; border:none; border-radius:8px;
  padding:13px 34px; font-size:13px; font-weight:700; letter-spacing:0.4px;
  cursor:pointer;
}
.ajb-loadmore-btn:disabled{ opacity:.6; cursor:wait; }
.ajb-notice{
  background:#FDF3F4; border:1px solid #EFC7CB; color:var(--ajb-accent);
  border-radius:8px; padding:14px 18px; font-size:14px; font-weight:600;
  margin-bottom:22px;
}

/* Read More link + AI section headings (v1.8.6) */
.ajb-single-body h2{
  font-family:Georgia, serif; font-size:20px; font-weight:700;
  margin:28px 0 12px; color:var(--ajb-text);
}
.ajb-single-body h2:first-child{ margin-top:0; }
.ajb-readmore{
  color:var(--ajb-accent); font-weight:600; white-space:nowrap;
}
.ajb-facts-table{ width:100%; border-collapse:collapse; margin:4px 0 8px; }
.ajb-facts-table th{ text-align:left; vertical-align:top; padding:6px 14px 6px 0; white-space:nowrap; color:var(--ajb-muted); font-weight:600; width:190px; }
.ajb-facts-table td{ padding:6px 0; }

/* breadcrumbs (v1.8.7) */
.ajb-breadcrumb{
  font-size:13px; color:var(--ajb-muted); margin:0 0 16px; line-height:1.5;
}
.ajb-breadcrumb a{ color:var(--ajb-link-dark); }
.ajb-breadcrumb a:hover{ text-decoration:underline; }
.ajb-bc-sep{ color:#B7BDC6; margin:0 2px; }
.ajb-bc-current{ color:var(--ajb-text); }

/* breadcrumbs (v1.8.7) */
.ajb-breadcrumbs{ font-size:13px; color:var(--ajb-muted); margin:0 0 16px; line-height:1.7; }
.ajb-breadcrumbs a{ color:var(--ajb-link); }
.ajb-breadcrumbs a:hover{ color:var(--ajb-link-dark); }
.ajb-bc-sep{ margin:0 8px; color:#C0C6CD; }
.ajb-bc-current{ color:var(--ajb-text); font-weight:600; }
