/* ──────────────────────────────────────────────────
   /careers listing page — visual styles
────────────────────────────────────────────────── */

/* ── Hero ────────────────────────────────────────────── */
.cr-breadcrumb a,
.cr-breadcrumb span {
    font-size: .75rem; font-weight: 500;
    color: rgba(255, 255, 255, .35);
    letter-spacing: .04em; text-transform: uppercase;
    cursor: none; transition: color .25s;
}
.cr-breadcrumb a:hover { color: rgba(255, 255, 255, .7); }
.cr-breadcrumb .sep    { margin: 0 .5rem; color: rgba(255, 255, 255, .2); }
.cr-breadcrumb .current{ color: rgba(255, 255, 255, .6); }

/* ── Group section heading ───────────────────────────── */
.cr-group {
    padding: 4.5rem 0;
    border-top: 1px solid rgba(10, 22, 40, .07);
}
.cr-group:last-child {
    border-bottom: 1px solid rgba(10, 22, 40, .07);
}
.cr-group-head {
    display: flex; align-items: baseline; justify-content: space-between;
    gap: 1rem; margin-bottom: 2.25rem; flex-wrap: wrap;
}
.cr-group-title {
    font-family: 'Syne', sans-serif; font-weight: 800;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    color: var(--midnight, #040C1E);
    letter-spacing: -.035em; line-height: 1.05;
}
.cr-group-sub {
    color: rgba(10, 22, 40, .45); font-size: .9rem; font-weight: 400;
    max-width: 480px; line-height: 1.6;
}
.cr-count-pill {
    display: inline-flex; align-items: center; gap: .45rem;
    background: rgba(16, 185, 129, .08);
    border: 1px solid rgba(16, 185, 129, .18);
    color: #047857;
    border-radius: 100px;
    padding: 4px 12px;
    font-size: .68rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
}
.cr-count-pill--soon   { background: rgba(250,204,21,.08); border-color: rgba(250,204,21,.2); color: #b45309; }
.cr-count-pill--past   { background: rgba(10,22,40,.04);   border-color: rgba(10,22,40,.08);  color: rgba(10,22,40,.5); }

/* ── Additional badge variants (expired / closed) ────── */
.job-badge--expired { background: rgba(239, 68, 68, .08); border: 1px solid rgba(239, 68, 68, .22); color: #b91c1c; }
.job-badge--closed  { background: rgba(10, 22, 40, .06);  border: 1px solid rgba(10, 22, 40, .12); color: rgba(10, 22, 40, .55); }

/* ── Skills row inside card ──────────────────────────── */
.cr-skill {
    display: inline-flex; align-items: center;
    background: rgba(16, 185, 129, .06);
    border: 1px solid rgba(16, 185, 129, .15);
    color: rgba(10, 22, 40, .7);
    border-radius: 8px;
    padding: 3px 9px;
    font-size: .68rem; font-weight: 600;
    letter-spacing: .01em;
    transition: background .25s, color .25s;
}
.cr-skill:hover { background: rgba(16,185,129,.12); color: #047857; }

.cr-summary {
    color: rgba(10, 22, 40, .55);
    font-size: .88rem;
    line-height: 1.6;
    max-width: 640px;
    margin-top: .6rem;
}
.cr-pay {
    display: inline-flex; align-items: center; gap: .35rem;
    color: rgba(10, 22, 40, .55);
    font-size: .78rem; font-weight: 600;
}
.cr-pay svg { width: 14px; height: 14px; opacity: .55; }

/* ── Empty state ─────────────────────────────────────── */
.cr-empty {
    text-align: center; padding: 3rem 1rem;
    color: rgba(10, 22, 40, .35);
    font-size: .9rem; font-weight: 500;
}

/* ── Whole-card click target ─────────────────────────── */
.job-card-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    /* Hide the (empty) link text from sighted users; aria-label keeps a11y. */
    font-size: 0;
    line-height: 0;
    color: transparent;
    text-decoration: none;
    cursor: pointer;
}
/* Subtle lift on card hover via the overlay */
.job-card-link:hover ~ * .job-title,
.job-card:has(.job-card-link:hover) .job-title { color: #047857; }

/* Inner interactive elements need a higher stacking context
   than the stretched overlay so they remain clickable. */
.job-card .job-apply-btn { position: relative; z-index: 2; }

/* ── Pinned/featured ribbon ──────────────────────────── */
.cr-featured-tag {
    display: inline-flex; align-items: center; gap: .3rem;
    background: linear-gradient(135deg, #10B981, #059669);
    color: #fff;
    border-radius: 100px;
    padding: 3px 10px 3px 8px;
    font-size: .65rem; font-weight: 700;
    letter-spacing: .06em; text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(16, 185, 129, .25);
}
