/* ============================================================
   CFA Careers — Single post + Elementor widget styles
   ============================================================ */

/* ── Single career hero ─────────────────────────────────────── */
.cfa-career-hero {
    display: flex;
    padding: 120px 135px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    background: #020C2E;
    width: 100%;
    box-sizing: border-box;
}

.cfa-career-hero .cfa-post-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.cfa-career-hero .cfa-post-hero-inner h1 {
    color: #ffffff;
    font-family: 'Assistant', sans-serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    line-height: 110%;
    text-align: center;
    margin: 0;
}

/* ── Single career layout ───────────────────────────────────── */
.cfa-career-layout {
    max-width: 1200px;
    margin: 0 auto 60px !important;
    padding: 80px 15px 0 !important;
    box-sizing: border-box;
}

/* ── Meta bar (Classification | Deadline) ───────────────────── */
.cfa-career-meta-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 32px;
    font-family: 'Assistant', sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

.cfa-career-meta-item strong {
    color: #2F499E;
    font-weight: 700;
    margin-right: 4px;
}

.cfa-career-deadline strong {
    color: #009172;
}

.cfa-career-meta-divider {
    color: #B6B6B6;
    font-size: 18px;
}

/* ── Career body content ────────────────────────────────────── */
.cfa-career-body {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 18px;
    line-height: 27px;
    color: #5f5e5e;
    margin-bottom: 48px;
}

.cfa-career-body h1,
.cfa-career-body h2,
.cfa-career-body h3,
.cfa-career-body h4,
.cfa-career-body h5,
.cfa-career-body h6 {
    font-family: 'Quicksand', sans-serif;
    color: #232323;
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 12px;
}

.cfa-career-body p { margin-bottom: 18px; }

/* ── List styles: target both .cfa-career-body and Elementor widget wrapper ── */
.cfa-career-body ul,
.cfa-career-body ol,
.cfa-career-layout .elementor-widget-text-editor ul,
.cfa-career-layout .elementor-widget-text-editor ol {
    margin-bottom: 18px !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
}

.cfa-career-body ol,
.cfa-career-layout .elementor-widget-text-editor ol {
    counter-reset: cfa-ol-counter !important;
}

.cfa-career-body ul > li,
.cfa-career-body ol > li,
.cfa-career-layout .elementor-widget-text-editor ul > li,
.cfa-career-layout .elementor-widget-text-editor ol > li {
    display: block !important;
    position: relative !important;
    padding-left: 28px !important;
    margin-bottom: 8px !important;
    overflow: visible !important;
}

/* Bullet for ul */
.cfa-career-body ul > li::before,
.cfa-career-layout .elementor-widget-text-editor ul > li::before {
    content: "•" !important;
    position: absolute !important;
    left: 6px !important;
    top: 0 !important;
    color: #5f5e5e !important;
    font-size: 20px !important;
    line-height: 27px !important;
}

/* Number for ol */
.cfa-career-body ol > li,
.cfa-career-layout .elementor-widget-text-editor ol > li {
    counter-increment: cfa-ol-counter !important;
}

.cfa-career-body ol > li::before,
.cfa-career-layout .elementor-widget-text-editor ol > li::before {
    content: counter(cfa-ol-counter) "." !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #5f5e5e !important;
    font-size: 18px !important;
    line-height: 27px !important;
    min-width: 24px !important;
}

.cfa-career-body a {
    color: #2F499E;
    text-decoration: underline;
}

/* ── Apply button ───────────────────────────────────────────── */
.cfa-career-apply { margin-bottom: 48px; }

.cfa-career-apply-btn {
    display: inline-block;
    background-color: #2F499E;
    color: #ffffff !important;
    font-family: "Assistant", Sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 30px;
    padding: 14px 40px;
    transition: background-color 0.3s ease;
    letter-spacing: 0.5px;
}

.cfa-career-apply-btn:hover {
    background-color: #020C2E !important;
    color: #ffffff !important;
}

/* ============================================================
   Elementor Widget — Careers Listing
   ============================================================ */

.phw-careers-list {
    display: flex;
    flex-direction: column;
    gap: 64px;
}

.phw-career-card {
    background: #F8F8F8;
    border-radius: 20px;
    display: flex;
    padding: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    box-sizing: border-box;
}

.phw-career-title {
    font-family: 'Assistant', sans-serif;
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    color: #020C2E;
    margin: 0;
}

.phw-career-title a {
    color: inherit;
    text-decoration: none;
}

.phw-career-title a:hover { color: #2F499E; }

.phw-career-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    font-family: 'Assistant', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
}

.phw-career-classification strong {
    color: #2F499E;
    font-weight: 700;
    margin-right: 4px;
}

.phw-career-deadline strong {
    color: #009172;
    font-weight: 700;
    margin-right: 4px;
}

.phw-career-meta-divider {
    color: #B6B6B6;
    font-size: 18px;
}

.phw-career-excerpt {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 18px;
    line-height: 27px;
    color: #5f5e5e;
    margin: 0;
}

.phw-career-btn {
    display: inline-block;
    background-color: #2F499E;
    color: #ffffff !important;
    font-family: "Assistant", Sans-serif;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none !important;
    border-radius: 30px;
    padding: 14px 40px;
    transition: background-color 0.3s ease;
    letter-spacing: 0.5px;
}

.phw-career-btn:hover {
    background-color: #020C2E !important;
    color: #ffffff !important;
}

.phw-careers-empty {
    font-family: 'Assistant', sans-serif;
    font-size: 18px;
    color: #5f5e5e;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .cfa-career-hero {
        padding: 80px 60px;
    }

    .cfa-career-layout {
        padding-top: 40px !important;
    }
}

@media (max-width: 767px) {
    .cfa-career-hero {
        padding: 48px 20px;
    }

    .cfa-career-hero .cfa-post-hero-inner h1 {
        font-size: 32px;
    }

    .cfa-career-layout {
        padding: 20px 15px 0 !important;
    }

    .phw-careers-list {
        gap: 32px;
    }

    .phw-career-card {
        padding: 28px 24px;
        gap: 24px;
    }

    .phw-career-title {
        font-size: 26px;
    }

    .phw-career-card-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .phw-career-meta-divider,
    .cfa-career-meta-divider {
        display: none;
    }

    .cfa-career-meta-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}

/* ── Empty state ─────────────────────────────────────────── */
.phw-careers-empty {
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    color: #020C2E !important;
    padding: 40px 0 !important;
    width: 100% !important;
}
