/* Careers portal. Namespaced (.aj-) — nothing else is affected. */
.aj-jobs-head {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 16px; margin-bottom: 26px;
}
.aj-jobs-count { font-size: 1.3rem; font-weight: 800; margin: 0; }

.aj-job-filters { display: flex; gap: 8px; flex-wrap: wrap; }
.aj-job-filter {
    padding: 7px 16px; font: inherit; font-size: .85rem; font-weight: 600;
    border-radius: 999px; cursor: pointer; color: inherit;
    background: rgba(127,127,127,.08);
    border: 1px solid rgba(127,127,127,.2);
    transition: all .2s ease;
}
.aj-job-filter:hover { border-color: var(--primary, #4f46e5); }
.aj-job-filter.active {
    background: var(--primary, #4f46e5); border-color: var(--primary, #4f46e5); color: #fff;
}

.aj-jobs-list { display: flex; flex-direction: column; gap: 16px; }

.aj-job-card {
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
    padding: 24px 26px; border-radius: 16px;
    border: 1px solid rgba(127,127,127,.18);
    background: rgba(127,127,127,.04);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.aj-job-card:hover {
    transform: translateY(-2px);
    border-color: var(--primary, #4f46e5);
    box-shadow: 0 10px 30px rgba(0,0,0,.07);
}
.aj-job-main { flex: 1; min-width: 260px; }

.aj-job-tags { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 10px; }
.aj-job-chip {
    display: inline-block; padding: 4px 11px; font-size: .74rem; font-weight: 700;
    border-radius: 999px; letter-spacing: .3px;
    background: rgba(127,127,127,.12); border: 1px solid rgba(127,127,127,.16);
}
.aj-job-chip-type { background: rgba(79,70,229,.12); border-color: rgba(79,70,229,.3); color: var(--primary, #4f46e5); }
.aj-job-chip-remote { background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.3); color: #10b981; }

.aj-job-title { font-size: 1.2rem; font-weight: 800; margin: 0 0 7px; line-height: 1.35; }
.aj-job-title a { color: inherit; text-decoration: none; }
.aj-job-title a:hover { color: var(--primary, #4f46e5); }

.aj-job-summary { margin: 0 0 12px; opacity: .75; line-height: 1.65; font-size: .93rem; }

.aj-job-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: .84rem; opacity: .7; }

.aj-job-action { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.aj-job-closes { font-size: .76rem; opacity: .6; }

@media (max-width: 640px) {
    .aj-job-card { flex-direction: column; align-items: stretch; padding: 20px; }
    .aj-job-action { align-items: stretch; }
    .aj-job-action .btn { width: 100%; justify-content: center; }
}

/* Detail page */
.aj-job-layout {
    display: grid; grid-template-columns: minmax(0,1fr) 380px;
    gap: 40px; align-items: start;
}
@media (max-width: 991px) { .aj-job-layout { grid-template-columns: 1fr; } }

.aj-job-facts {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 16px; padding: 20px 22px; margin-bottom: 28px;
    border-radius: 14px;
    border: 1px solid rgba(127,127,127,.18);
    background: rgba(127,127,127,.05);
}
.aj-fact { display: flex; flex-direction: column; gap: 3px; }
.aj-fact span { font-size: .75rem; opacity: .6; text-transform: uppercase; letter-spacing: .5px; }
.aj-fact strong { font-size: .95rem; }

.aj-job-ul { margin: 12px 0 26px; padding-left: 20px; line-height: 1.85; }
.aj-job-ul li { margin-bottom: 8px; opacity: .85; }

.aj-job-apply { position: sticky; top: 100px; }
@media (max-width: 991px) { .aj-job-apply { position: static; margin-top: 32px; } }

.aj-job-apply .aj-field { margin-bottom: 14px; }

.aj-job-apply input[type="file"] {
    width: 100%; padding: 10px 12px; font: inherit; font-size: .9rem; color: inherit;
    background: rgba(127,127,127,.08);
    border: 1px dashed rgba(127,127,127,.35); border-radius: 10px; cursor: pointer;
}
.aj-job-apply input[type="file"]:hover { border-color: var(--primary, #4f46e5); }

.aj-related-jobs { margin-top: 56px; }

.aj-jobs-empty {
    text-align: center; padding: 56px 28px; border-radius: 18px;
    border: 1px solid rgba(127,127,127,.18);
    background: rgba(127,127,127,.04);
}
.aj-jobs-empty h2 { margin: 0 0 10px; font-size: 1.5rem; font-weight: 800; }
.aj-jobs-empty p { margin: 0 auto 20px; max-width: 520px; opacity: .75; line-height: 1.75; }

.aj-jobs-cta {
    margin-top: 44px; text-align: center; padding: 34px 28px; border-radius: 16px;
    border: 1px solid rgba(127,127,127,.18);
    background: rgba(127,127,127,.04);
}
.aj-jobs-cta h3 { margin: 0 0 8px; font-size: 1.2rem; font-weight: 800; }
.aj-jobs-cta p { margin: 0 auto 14px; max-width: 480px; opacity: .75; line-height: 1.7; font-size: .94rem; }
