@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap');

:root {
    --colorAppBackground: black !important;
    --colorNeutral000: black !important;
    --fontFamily: "Geist", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", sans-serif;
    --colorNeutral700: #949494;
}

/* ========================
   Shared Patterns
   ======================== */

/* Striped background pattern (used by job list, filters, left/right panes) */
.ashby-job-posting-brief-list,
[class*="filters_12ylk_136"],
.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane {
    position: relative !important;
    padding: 0.5rem !important;
    width: 100% !important;
    border-radius: 0rem !important;
    border: solid 1px #222 !important;
    --stripe-color: #222 !important;
    background: repeating-linear-gradient(-45deg,
            transparent,
            transparent 4px,
            #222 4px,
            #222 5px) !important;
    background-origin: padding-box !important;
    background-clip: padding-box !important;
}

/* Inner solid background pseudo-element */
.ashby-job-posting-brief-list:before,
.ashby-job-posting-left-pane:before,
.ashby-job-posting-right-pane:before {
    content: '';
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    bottom: 0.5rem;
    right: 0.5rem;
    background: black;
    border: solid 1px #222;
    border-radius: 0.25rem;
    z-index: -1;
}

/* Override for the job list specifically */
.ashby-job-posting-brief-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 4;
    padding: 1.5rem !important;
    padding-left: 1.75rem !important;
}

/* Left/right pane pseudo-element z-index override */
.ashby-job-posting-left-pane:before,
.ashby-job-posting-right-pane:before {
    z-index: 0;
}

/* Left pane specifics */
.ashby-job-posting-left-pane {
    color: white;
    height: auto !important;
    align-self: self-start !important;
    margin-top: 0rem !important;
}

/* Right pane specifics */
.ashby-job-posting-right-pane {
    color: white;
    margin-left: 1rem !important;
}

/* ========================
   Headings & Text
   ======================== */

.ashby-job-board-heading,
.ashby-job-board-heading-count,
.ashby-department-heading-level,
.ashby-job-posting-heading {
    color: white;
    font-size: 1.5rem;
    font-weight: 500;
}

.ashby-job-posting-brief-title {
    color: white;
    font-size: 1rem;
    font-weight: 400;
}

/* Muted detail text */
.ashby-job-posting-brief-details,
.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label,
.ashby-application-form-question-title,
.ashby-job-posting-right-pane [aria-selected="false"] {
    color: #949494 !important;
    font-size: 0.875em !important;
    font-weight: 400 !important;
}

.ashby-job-posting-right-pane [aria-selected="true"] {
    color: white !important;
    font-size: 0.875em !important;
    font-weight: 400 !important;
}

/* ========================
   Job Posting Cards
   ======================== */

.ashby-job-posting-brief {
    background: #121212;
    transition: all ease 300ms;
}

.ashby-job-posting-brief:hover {
    background: #242424;
}

/* ========================
   Filters
   ======================== */

.ashby-job-board-filter {
    background: black !important;
    border: solid 1px #222;
    color: white !important;
    border-radius: 0.25rem !important;
    padding: 1rem !important;
}

[class*="filtersContainer_12ylk_136"],
[class*="titles_ud4nd_34 "],
.ashby-department-heading {
    padding: 0rem !important;
}

[class*="filtersHeader_12ylk_201"] {
    padding: 0rem 1rem !important;
}

/* ========================
   Form Inputs
   ======================== */

input,
textarea {
    color: white !important;
    border: solid 1px #222 !important;
    border-radius: 0.25rem !important;
}

.ashby-application-form-autofill-input-root {
    color: white !important;
    border: solid 1px #313131 !important;
    border-radius: 0.25rem !important;
}

.ashby-application-form-autofill-input-title {
    color: white !important;
}

/* ========================
   Buttons
   ======================== */

/* Primary action buttons (right pane) */
.ashby-job-posting-right-pane button {
    border-radius: 0.25rem !important;
    color: black !important;
    background: white !important;
}

.ashby-job-posting-right-pane button:hover {
    color: black !important;
    background: #949494 !important;
}

/* Dark buttons (autofill, input, file upload) */
.ashby-application-form-autofill-input-base-layer button,
input button,
.ashby-application-form-field-entry [role="presentation"] button {
    background: black !important;
    border: solid 1px #222 !important;
    color: white !important;
}

.ashby-application-form-autofill-input-base-layer button:hover,
input button:hover,
.ashby-application-form-field-entry [role="presentation"] button:hover {
    background: black !important;
    border: solid 1px #eee !important;
    color: white !important;
}

/* File upload drop zone */
.ashby-application-form-field-entry [role="presentation"] {
    background: black !important;
    border: dashed 1px #222 !important;
    color: white !important;
}

/* ========================
   Section Layout
   ======================== */

[class*="section_101oc_37"] {
    z-index: 2 !important;
    position: relative;
    padding: 1rem !important;
    border-radius: 0rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    border-right: none;
    border-left: none;
}

[class*="description_oj0x8_198"] {
    z-index: 2 !important;
    position: relative;
    padding: 1rem !important;
    border-radius: 0rem !important;
    border: solid 1px #222 !important;
    border-bottom: 0 !important;
}

[aria-labelledby="job-application-form"] {
    z-index: 2 !important;
    position: relative;
    padding: 0rem !important;
    border-radius: 0rem !important;
    border: solid 1px #222 !important;
    border-bottom: 0 !important;
    padding-bottom: 1rem !important;
}

[class*="content_ud4nd_71"] {
    margin-top: 2rem !important;
}

[aria-labelledby="job-application-form"] button {
    width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: -1rem !important;
}

footer {
    border-top: 1px solid #222 !important;
}

@media(max-width: 990px) {

    [class*="filtersContainer_12ylk_136"] {
        background: black !important;
        border: 1px solid #222 !important;
    }

    .ashby-job-posting-right-pane {
        margin-left: 0rem !important;
        margin-top: 0rem !important;
    }
}

::placeholder {
    color: #949494 !important;
}


[aria-labelledby="job-overview"] button {
    background-color: #F95426 !important;
    color: black !important;
    border-radius: 0rem !important;
    border: 0px solid #F95426 !important;
    font-weight: 500 !important;
    letter-spacing: 0rem !important;
}

[aria-labelledby="job-overview"] button:hover {
    background-color: #d24118 !important;
    color: black !important;
}

[aria-labelledby="job-application-form"] button {
    background-color: #F95426 !important;
    color: black !important;
    border-radius: 0rem !important;
    border: 0px solid #F95426 !important;
    margin-bottom: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0rem !important;
}

[aria-labelledby="job-application-form"] button:hover {
    background-color: #d24118 !important;
    color: black !important;
}

.ashby-application-form-autofill-input-description button {
    background: black !important;
    border: 1px solid #222 !important;
    color: white !important;
}

.ashby-application-form-autofill-input-description button:hover {
    border: 1px solid white !important;
}