/* Aspen Job Feed – front end. Inherits theme fonts; only spacing, layout and accents here. */
.ajf-board, .ajf-job { --ajf-text:#1f2937; --ajf-muted:#6b7280; --ajf-line:#e5e7eb; --ajf-soft:#f9fafb; --ajf-radius:12px; color:var(--ajf-text); }
.ajf-board *, .ajf-job * { box-sizing:border-box; }

/* Buttons */
.ajf-btn { display:inline-flex; align-items:center; justify-content:center; gap:.4em; padding:.75em 1.4em; border-radius:999px; background:var(--ajf-accent,#e8973a); color:#fff !important; font-weight:600; line-height:1.2; text-decoration:none !important; border:2px solid var(--ajf-accent,#e8973a); cursor:pointer; transition:filter .15s, transform .15s; font-size:15px; }
.ajf-btn:hover, .ajf-btn:focus-visible { filter:brightness(.93); transform:translateY(-1px); }
.ajf-btn:focus-visible { outline:3px solid #1f2937; outline-offset:2px; }
.ajf-btn--ghost { background:transparent; color:var(--ajf-accent,#e8973a) !important; }
.ajf-btn--ghost:hover { background:var(--ajf-accent,#e8973a); color:#fff !important; filter:none; }
.ajf-btn--block { display:flex; width:100%; margin:18px 0 10px; }

/* Preview banner */
.ajf-preview-note { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:8px; padding:10px 14px; margin:0 0 18px; font-size:14px; }

/* Search */
.ajf-search { display:grid; grid-template-columns:1fr 220px auto; gap:12px; align-items:end; background:var(--ajf-soft); border:1px solid var(--ajf-line); border-radius:var(--ajf-radius); padding:18px; margin:0 0 16px; }
.ajf-field { display:flex; flex-direction:column; gap:6px; margin:0; font-size:14px; font-weight:600; }
.ajf-field input, .ajf-field select { width:100%; min-height:46px; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; background:#fff; font-size:15px; font-weight:400; color:var(--ajf-text); }
.ajf-field input:focus, .ajf-field select:focus { border-color:var(--ajf-accent,#e8973a); outline:2px solid color-mix(in srgb, var(--ajf-accent,#e8973a) 30%, transparent); }
.ajf-search .ajf-btn { min-height:46px; }
.ajf-count { color:var(--ajf-muted); font-size:14px; margin:0 0 12px; }
.ajf-count a { color:inherit; text-decoration:underline; }

/* List */
.ajf-list { display:flex; flex-direction:column; gap:12px; margin:0 0 20px; }
.ajf-item { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; background:#fff; border:1px solid var(--ajf-line); border-radius:var(--ajf-radius); transition:border-color .15s, box-shadow .15s; }
.ajf-item:hover { border-color:color-mix(in srgb, var(--ajf-accent,#e8973a) 55%, #e5e7eb); box-shadow:0 6px 18px rgba(17,24,39,.06); }
.ajf-item--featured { border-left:4px solid var(--ajf-accent,#e8973a); }
.ajf-item__body { min-width:0; }
.ajf-item__title { margin:0 0 6px !important; font-size:20px !important; line-height:1.3 !important; }
.ajf-item__title a { color:var(--ajf-text) !important; text-decoration:none !important; }
.ajf-item__title a:hover { color:var(--ajf-accent,#e8973a) !important; }
.ajf-item__meta { display:flex; flex-wrap:wrap; gap:6px 16px; font-size:14px; color:var(--ajf-muted); }
.ajf-meta--loc { color:var(--ajf-text); font-weight:600; }
.ajf-item__excerpt { margin:10px 0 0 !important; font-size:15px; color:#4b5563; line-height:1.55; }
.ajf-item .ajf-btn { flex-shrink:0; }
.ajf-list--compact .ajf-item { padding:16px 18px; }
.ajf-list--compact .ajf-item__title { font-size:17px !important; }
.ajf-empty { padding:28px; text-align:center; background:var(--ajf-soft); border:1px dashed #d1d5db; border-radius:var(--ajf-radius); color:var(--ajf-muted); }

/* Pagination */
.ajf-pager { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:8px 0 0; }
.ajf-page { min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--ajf-line); border-radius:8px; text-decoration:none !important; color:var(--ajf-text) !important; font-weight:600; }
.ajf-page:hover { border-color:var(--ajf-accent,#e8973a); }
.ajf-page.is-current { background:var(--ajf-accent,#e8973a); border-color:var(--ajf-accent,#e8973a); color:#fff !important; }

/* Single job */
.ajf-crumbs { font-size:14px; color:var(--ajf-muted); margin:0 0 14px; }
.ajf-crumbs a { color:var(--ajf-accent,#e8973a); text-decoration:none; }
.ajf-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; }
.ajf-chip { display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:var(--ajf-soft); border:1px solid var(--ajf-line); font-size:14px; font-weight:600; }
.ajf-chip--loc { background:color-mix(in srgb, var(--ajf-accent,#e8973a) 12%, #fff); border-color:color-mix(in srgb, var(--ajf-accent,#e8973a) 35%, #fff); }
.ajf-chip--muted { font-weight:400; color:var(--ajf-muted); }
.ajf-job__grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:36px; align-items:start; }
.ajf-job__h { font-size:22px !important; margin:0 0 14px !important; }
.ajf-job__desc { font-size:16px; line-height:1.7; margin:0 0 24px; }
.ajf-job__desc ul, .ajf-job__desc ol { padding-left:1.3em; margin:0 0 1em; }
.ajf-job__side { position:sticky; top:110px; }
.ajf-card { background:#fff; border:1px solid var(--ajf-line); border-radius:var(--ajf-radius); padding:22px; box-shadow:0 8px 24px rgba(17,24,39,.05); }
.ajf-card__h { font-size:18px !important; margin:0 0 12px !important; }
.ajf-dl { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:0; font-size:15px; }
.ajf-dl dt { color:var(--ajf-muted); margin:0; }
.ajf-dl dd { margin:0; font-weight:600; }
.ajf-link { display:block; text-align:center; font-size:14px; color:var(--ajf-muted) !important; }
.ajf-related { margin-top:44px; padding-top:28px; border-top:1px solid var(--ajf-line); }

@media (max-width: 900px) {
	.ajf-job__grid { grid-template-columns:1fr; gap:24px; }
	.ajf-job__side { position:static; order:-1; }
}
@media (max-width: 640px) {
	.ajf-search { grid-template-columns:1fr; padding:14px; }
	.ajf-item { flex-direction:column; align-items:stretch; padding:16px; }
	.ajf-item .ajf-btn { width:100%; }
	.ajf-item__title { font-size:18px !important; }
}
@media (prefers-reduced-motion: reduce) { .ajf-btn, .ajf-item { transition:none; } .ajf-btn:hover { transform:none; } }

/* Description content from PCRecruiter */
.ajf-job__desc h2 { font-size:24px !important; line-height:1.3 !important; font-weight:500 !important; margin:1.4em 0 .5em !important; }
.ajf-job__desc h2:first-child { margin-top:0 !important; }
.ajf-job__desc h3 { font-size:20px !important; line-height:1.35 !important; font-weight:500 !important; margin:1.2em 0 .4em !important; }
.ajf-job__desc h4, .ajf-job__desc h5, .ajf-job__desc h6 { font-size:17px !important; font-weight:600 !important; margin:1em 0 .4em !important; }
.ajf-job__desc p { margin:0 0 1em; }
.ajf-link--left { text-align:left; }
.ajf-apply-wrap { margin:0 0 20px; }
