/* Jobs and homepage search/filter polish. Loaded last to bypass cached theme files. */
.home-page .jobs-search-card,
.jobs-board .jobs-search-card,
.jobs-page .jobs-search-card {
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid #dfe8d6 !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 42px rgba(18, 32, 10, .12) !important;
    padding: .9rem !important;
}

.home-page .jobs-search-card {
    max-width: 900px !important;
}

.jobs-board .jobs-search-card,
.jobs-page .jobs-search-card {
    margin-top: -2.35rem !important;
    padding: 1rem !important;
}

.jobs-field-label {
    color: #405133 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    margin-bottom: .42rem !important;
}

.jobs-search-card .input-group {
    align-items: stretch;
    border: 1px solid #d9e4d1;
    border-radius: 8px;
    overflow: hidden;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.jobs-search-card .input-group:focus-within {
    border-color: #7fb33b;
    box-shadow: 0 0 0 3px rgba(117, 182, 27, .14);
}

.jobs-search-card .input-group-text,
.jobs-search-card .form-control,
.jobs-search-card .form-select,
.filter-panel .form-control,
.filter-panel .form-select {
    background: #fbfdf8 !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #182312 !important;
    font-size: .92rem !important;
    font-weight: 700 !important;
    min-height: 48px !important;
}

.jobs-search-card .input-group-text {
    color: #6d844d !important;
    font-size: .96rem !important;
    padding: 0 .85rem !important;
}

.jobs-search-card .form-control,
.jobs-search-card .form-select {
    padding: .68rem .75rem !important;
}

.jobs-search-card .form-control::placeholder,
.filter-panel .form-control::placeholder {
    color: #7f8b76 !important;
    font-weight: 650 !important;
    opacity: 1 !important;
}

.jobs-select-trigger {
    background: #fbfdf8 !important;
    border: 1px solid #d9e4d1 !important;
    border-radius: 8px !important;
    color: #182312 !important;
    font-size: .92rem !important;
    font-weight: 800 !important;
    min-height: 48px !important;
    padding: .68rem .78rem !important;
}

.jobs-select-trigger i {
    color: #6d844d !important;
    font-size: .88rem !important;
}

.jobs-select-trigger:hover,
.jobs-select-trigger:focus-visible,
.jobs-custom-select.is-open .jobs-select-trigger {
    background: #fff !important;
    border-color: #7fb33b !important;
    box-shadow: 0 0 0 3px rgba(117, 182, 27, .14) !important;
}

.jobs-select-menu {
    background: #ffffff !important;
    border: 1px solid #d9e4d1 !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 38px rgba(18, 32, 10, .16) !important;
    padding: .35rem !important;
}

.jobs-select-option {
    border-radius: 7px !important;
    color: #24331c !important;
    font-size: .88rem !important;
    font-weight: 800 !important;
    min-height: 40px !important;
    padding: .5rem .58rem !important;
}

.jobs-select-option:hover,
.jobs-select-option:focus-visible,
.jobs-select-option[aria-selected="true"] {
    background: #edf6df !important;
    color: #294406 !important;
}

.jobs-search-card .btn,
.filter-panel .btn {
    border-radius: 8px !important;
    font-size: .9rem !important;
    font-weight: 850 !important;
    min-height: 48px !important;
}

.filter-panel {
    background: rgba(255, 255, 255, .97) !important;
    border: 1px solid #dfe8d6 !important;
    border-radius: 8px !important;
    box-shadow: 0 14px 32px rgba(18, 32, 10, .08) !important;
    padding: 1rem !important;
}

.filter-panel-head {
    border-bottom-color: #e7eee0 !important;
    margin: 0 0 .85rem !important;
    padding-bottom: .85rem !important;
}

.filter-panel-title {
    color: #182312 !important;
    font-size: 1.04rem !important;
    font-weight: 900 !important;
}

.filter-group {
    border-top-color: #e7eee0 !important;
    padding-top: .95rem !important;
}

.filter-group-title {
    color: #4d681c !important;
    font-size: .75rem !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    margin-bottom: .6rem !important;
}

.filter-option {
    border-radius: 8px !important;
    min-height: 44px !important;
    padding: .48rem .55rem !important;
}

.filter-option:hover,
.filter-option:focus-within {
    background: #f4f8ef !important;
    border-color: #dce9cf !important;
}

.filter-option:has(input:checked) {
    background: #edf6df !important;
    border-color: #cfe4b7 !important;
}

.filter-option .form-check-label {
    color: #24331c !important;
    font-size: .84rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.filter-option .form-check-input {
    border-color: #b7c9aa !important;
    height: 1rem !important;
    width: 1rem !important;
}

.filter-option .form-check-input:checked {
    background-color: var(--mjk-green) !important;
    border-color: var(--mjk-green) !important;
}

.filter-count {
    color: #718069 !important;
    font-size: .75rem !important;
    font-weight: 850 !important;
}

.filter-panel-actions {
    background: linear-gradient(180deg, rgba(255, 255, 255, .78), #fff 42%) !important;
    border-top-color: #e7eee0 !important;
    padding-top: .9rem !important;
}

.jobs-result-toolbar {
    background: rgba(255, 255, 255, .95) !important;
    border-color: #dfe8d6 !important;
    color: #44513d !important;
}

.job-listing-card {
    background: #ffffff !important;
    border-color: #dfe8d6 !important;
    color: #172017 !important;
}

.job-listing-title {
    color: #14210f !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}

.job-listing-company,
.job-listing-company a,
.job-listing-meta,
.job-listing-description {
    color: #596752 !important;
}

html[data-theme="dark"] .jobs-hero {
    background:
        radial-gradient(circle at 54% 0%, rgba(139, 214, 63, .20), transparent 20rem),
        linear-gradient(90deg, rgba(9, 14, 8, .92), rgba(18, 27, 15, .84)),
        url('https://images.unsplash.com/photo-1521737604893-d14cc237f11d?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat !important;
}

html[data-theme="dark"] .jobs-stat {
    background: rgba(23, 28, 21, .72) !important;
    border-color: rgba(139, 214, 63, .16) !important;
}

html[data-theme="dark"] .jobs-search-card,
html[data-theme="dark"] .filter-panel,
html[data-theme="dark"] .jobs-result-toolbar,
html[data-theme="dark"] .job-listing-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .032), rgba(255, 255, 255, .014)), #171b16 !important;
    border-color: rgba(139, 214, 63, .13) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .30) !important;
    color: var(--mjk-text) !important;
}

html[data-theme="dark"] .jobs-field-label,
html[data-theme="dark"] .filter-group-title {
    color: #bfe88b !important;
}

html[data-theme="dark"] .jobs-search-card .input-group {
    background: #111610 !important;
    border-color: rgba(255, 255, 255, .10) !important;
}

html[data-theme="dark"] .jobs-search-card .input-group:focus-within {
    border-color: rgba(167, 228, 92, .68) !important;
    box-shadow: 0 0 0 3px rgba(139, 214, 63, .16), 0 0 22px rgba(139, 214, 63, .08) !important;
}

html[data-theme="dark"] .jobs-search-card .input-group-text,
html[data-theme="dark"] .jobs-search-card .form-control,
html[data-theme="dark"] .jobs-search-card .form-select,
html[data-theme="dark"] .filter-panel .form-control,
html[data-theme="dark"] .filter-panel .form-select,
html[data-theme="dark"] .jobs-select-trigger {
    background: #111610 !important;
    border-color: rgba(255, 255, 255, .10) !important;
    color: var(--mjk-text) !important;
}

html[data-theme="dark"] .jobs-search-card .input-group-text,
html[data-theme="dark"] .jobs-select-trigger i {
    color: var(--mjk-green-dark) !important;
}

html[data-theme="dark"] .jobs-search-card .form-control::placeholder,
html[data-theme="dark"] .filter-panel .form-control::placeholder {
    color: #858f7d !important;
}

html[data-theme="dark"] .jobs-select-menu {
    background: #171b16 !important;
    border-color: rgba(139, 214, 63, .16) !important;
}

html[data-theme="dark"] .jobs-select-option {
    color: var(--mjk-text) !important;
}

html[data-theme="dark"] .jobs-select-option:hover,
html[data-theme="dark"] .jobs-select-option:focus-visible,
html[data-theme="dark"] .jobs-select-option[aria-selected="true"],
html[data-theme="dark"] .filter-option:hover,
html[data-theme="dark"] .filter-option:focus-within,
html[data-theme="dark"] .filter-option:has(input:checked) {
    background: rgba(139, 214, 63, .12) !important;
    border-color: rgba(139, 214, 63, .28) !important;
    color: var(--mjk-green-dark) !important;
}

html[data-theme="dark"] .filter-panel-head,
html[data-theme="dark"] .filter-group,
html[data-theme="dark"] .filter-panel-actions {
    border-color: rgba(255, 255, 255, .075) !important;
}

html[data-theme="dark"] .filter-panel-actions {
    background: linear-gradient(180deg, rgba(23, 28, 21, .70), #171b16 42%) !important;
}

html[data-theme="dark"] .filter-panel-title,
html[data-theme="dark"] .filter-option .form-check-label,
html[data-theme="dark"] .job-listing-title {
    color: var(--mjk-text) !important;
}

html[data-theme="dark"] .filter-count,
html[data-theme="dark"] .job-listing-company,
html[data-theme="dark"] .job-listing-company a,
html[data-theme="dark"] .job-listing-meta,
html[data-theme="dark"] .job-listing-description,
html[data-theme="dark"] .jobs-result-toolbar .text-muted {
    color: var(--mjk-muted) !important;
}

html[data-theme="dark"] .job-listing-card:hover,
html[data-theme="dark"] .job-listing-card:focus-within {
    border-color: rgba(139, 214, 63, .34) !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, .35), 0 0 28px rgba(139, 214, 63, .08) !important;
}

html[data-theme="dark"] .job-listing-card.is-expired,
html[data-theme="dark"] .job-listing-card.is-filled {
    background: #161a14 !important;
    border-color: rgba(255, 255, 255, .08) !important;
}

/* Frozen glass header and final dark job-card polish. */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(255, 255, 255, .76) !important;
    border-bottom: 1px solid rgba(35, 55, 30, .10) !important;
    box-shadow: 0 12px 34px rgba(24, 38, 14, .08), inset 0 1px 0 rgba(255, 255, 255, .70) !important;
    backdrop-filter: blur(20px) saturate(150%);
    -webkit-backdrop-filter: blur(20px) saturate(150%);
}

html[data-theme="dark"] .site-header {
    background: rgba(10, 14, 9, .62) !important;
    border-bottom-color: rgba(139, 214, 63, .14) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .40), inset 0 1px 0 rgba(255, 255, 255, .055) !important;
    backdrop-filter: blur(22px) saturate(160%);
    -webkit-backdrop-filter: blur(22px) saturate(160%);
}

html[data-theme="dark"] .site-nav,
html[data-theme="dark"] .site-nav .container,
html[data-theme="dark"] .site-nav .navbar-collapse {
    background: transparent !important;
}

html[data-theme="dark"] .job-listing-card,
html[data-theme="dark"] .home-job-card {
    background:
        radial-gradient(circle at 10% 0%, rgba(139, 214, 63, .085), transparent 17rem),
        linear-gradient(180deg, rgba(255, 255, 255, .048), rgba(255, 255, 255, .018)),
        #171d15 !important;
    border-color: rgba(139, 214, 63, .15) !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .038) !important;
    transition: background .22s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

html[data-theme="dark"] .job-listing-card:hover,
html[data-theme="dark"] .job-listing-card:focus-within,
html[data-theme="dark"] .home-job-card:hover,
html[data-theme="dark"] .home-job-card:focus-within {
    background:
        radial-gradient(circle at 12% 0%, rgba(139, 214, 63, .12), transparent 18rem),
        linear-gradient(180deg, rgba(255, 255, 255, .060), rgba(255, 255, 255, .024)),
        #1a2117 !important;
    border-color: rgba(139, 214, 63, .34) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .36), 0 0 30px rgba(139, 214, 63, .09), inset 0 1px 0 rgba(255, 255, 255, .052) !important;
}

html[data-theme="dark"] .job-listing-title,
html[data-theme="dark"] .job-card-title,
html[data-theme="dark"] .home-job-card .job-card-title {
    color: #e3e3e3 !important;
    text-shadow: 0 0 18px rgba(139, 214, 63, .08);
}

html[data-theme="dark"] .job-listing-title:hover,
html[data-theme="dark"] .job-listing-title:focus,
html[data-theme="dark"] .home-job-card:hover .job-card-title,
html[data-theme="dark"] .home-job-card:focus .job-card-title {
    color: #d9ff9f !important;
}

html[data-theme="dark"] .job-listing-logo,
html[data-theme="dark"] .job-card-logo,
html[data-theme="dark"] .company-mark {
    background: linear-gradient(180deg, rgba(139, 214, 63, .18), rgba(139, 214, 63, .08)) !important;
    border-color: rgba(139, 214, 63, .18) !important;
    color: #d9ff9f !important;
}

html[data-theme="dark"] .job-listing-card.is-expired,
html[data-theme="dark"] .job-listing-card.is-filled {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .028), rgba(255, 255, 255, .012)),
        #151914 !important;
    border-color: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .030) !important;
}

@media (max-width: 991.98px) {
    html[data-theme="dark"] .site-nav .navbar-collapse {
        background: rgba(10, 14, 9, .94) !important;
        border-color: rgba(139, 214, 63, .14) !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, .38) !important;
        backdrop-filter: blur(18px) saturate(150%);
        -webkit-backdrop-filter: blur(18px) saturate(150%);
    }
}
