/* stylelint-disable */
/* BiVACOR Ashby Careers Page - Custom CSS */

/* ─────────────────────────────────────────
   BRAND COLORS
   Navy:  #003087
   Red:   #C8102E
   Black: #1A1A1A
   White: #FFFFFF
   Light bg: #f7f8fa
───────────────────────────────────────── */

:root {
    /* Primary dark color — used for buttons, headings, accents */
    --colorPrimary900: #003087;

    /* Primary lighter color — used for hover states, highlights */
    --colorPrimary600: #1a4fa8;

    /* Max width of the job board container */
    --widthMaxJobBoard: 860px;

    /* Border radius — containers */
    --borderRadiusContainer: 8px;

    /* Border radius — input boxes */
    --borderRadiusControl: 6px;

    /* Border radius — buttons */
    --borderRadiusButton: 6px;

    /* Font stack */
    --fontFamily: "Arial", "Helvetica Neue", "Helvetica", sans-serif;

    /* Page background */
    --colorAppBackground: #ffffff;
}


/* ─────────────────────────────────────────
   JOB BOARD — HEADING & FILTERS
───────────────────────────────────────── */

.ashby-job-board-heading {
    color: #003087;
    font-family: var(--fontFamily);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.3px;
}

.ashby-job-board-heading-count {
    color: #C8102E;
    font-size: 14px;
    font-weight: 500;
}

.ashby-job-board-filters-label {
    color: #1A1A1A;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.ashby-job-board-filter {
    border: 1px solid #d0d5e0;
    border-radius: var(--borderRadiusControl);
    color: #1A1A1A;
    font-family: var(--fontFamily);
    font-size: 14px;
    padding: 6px 12px;
    background-color: #ffffff;
}

.ashby-job-board-filter:focus {
    outline: 2px solid #003087;
    border-color: #003087;
}

.ashby-job-board-reset-filters-label {
    color: #C8102E;
    font-size: 13px;
    cursor: pointer;
    text-decoration: underline;
}


/* ─────────────────────────────────────────
   JOB LISTING CARDS
───────────────────────────────────────── */

.ashby-job-posting-brief {
    margin-bottom: 10px;
    border: 1px solid #e2e6f0;
    border-radius: var(--borderRadiusContainer);
    background-color: #ffffff;
    padding: 16px 20px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    font-weight: bold;
}

.ashby-job-posting-brief:hover {
    border-color: #003087;
    box-shadow: 0 2px 8px rgba(0, 48, 135, 0.1);
}

.ashby-job-posting-brief-title {
    color: #003087;
    font-size: 16px;
    font-weight: 600;
    font-family: var(--fontFamily);
}

.ashby-job-posting-brief-title:hover {
    color: #C8102E;
}

.ashby-job-posting-brief-details {
    color: #555e70;
    font-size: 13px;
    margin-top: 4px;
}

.ashby-job-posting-brief-list {
    margin-top: 12px;
}


/* ─────────────────────────────────────────
   DEPARTMENT & TEAM HEADINGS
───────────────────────────────────────── */

.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
    color: #1A1A1A;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-bottom: 2px solid #C8102E;
    padding-bottom: 6px;
    margin-top: 28px;
    margin-bottom: 10px;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
    color: #555e70;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 16px;
    margin-bottom: 6px;
}


/* ─────────────────────────────────────────
   JOB POSTING PAGE
───────────────────────────────────────── */

.ashby-job-posting-header {
    background-color: #003087;
    color: #ffffff;
    padding: 32px 28px;
    border-radius: var(--borderRadiusContainer);
    margin-bottom: 24px;
}

.ashby-job-posting-heading {
    color: #003087;
    font-size: 24px;
    font-weight: 700;
    font-family: var(--fontFamily);
}

.ashby-job-posting-left-pane {
    font-size: 14px;
    color: #1A1A1A;
    line-height: 1.6;
}

.ashby-job-posting-right-pane {
    background-color: #ffffff;
    border: 1px solid #e2e6f0;
    border-radius: var(--borderRadiusContainer);
    padding: 24px;
}

.ashby-job-board-back-to-all-jobs-button {
    color: #003087;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #003087;
    border-radius: var(--borderRadiusButton);
    padding: 6px 14px;
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
    background-color: #003087;
    color: #ffffff;
}


/* ─────────────────────────────────────────
   TABS (Overview / Application)
───────────────────────────────────────── */

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
    color: #555e70;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-application-tab:hover {
    color: #003087;
}

.ashby-job-posting-right-pane-tab-slider {
    background-color: #003087;
    height: 2px;
    border-radius: 2px;
}


/* ─────────────────────────────────────────
   APPLICATION FORM
───────────────────────────────────────── */

.ashby-application-form-container {
    font-family: var(--fontFamily);
    color: #1A1A1A;
}

.ashby-application-form-section-container {
    margin-bottom: 24px;
}

.ashby-application-form-section-header {
    margin-bottom: 12px;
}

.ashby-application-form-section-header-title {
    color: #003087;
    font-size: 16px;
    font-weight: 700;
    border-left: 3px solid #C8102E;
    padding-left: 10px;
}

.ashby-application-form-section-header-description {
    color: #555e70;
    font-size: 13px;
    margin-top: 4px;
}

.ashby-application-form-question-title {
    color: #1A1A1A;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.ashby-application-form-question-description {
    color: #555e70;
    font-size: 12px;
    margin-bottom: 6px;
}

.ashby-application-form-field-entry {
    margin-bottom: 16px;
}

/* Submit button */
.ashby-application-form-submit-button {
    background-color: #003087;
    color: #ffffff;
    font-family: var(--fontFamily);
    font-size: 15px;
    font-weight: 600;
    padding: 12px 28px;
    border: none;
    border-radius: var(--borderRadiusButton);
    cursor: pointer;
    transition: background-color 0.15s ease;
    width: 100%;
    margin-top: 8px;
}

.ashby-application-form-submit-button:hover {
    background-color: #C8102E;
}

.ashby-application-form-submit-button:active {
    background-color: #a00d22;
}


/* ─────────────────────────────────────────
   SUCCESS / FAILURE / BLOCKED MESSAGES
───────────────────────────────────────── */

.ashby-application-form-success-container {
    background-color: #eaf2e8;
    border: 1px solid #4caf50;
    border-radius: var(--borderRadiusContainer);
    color: #1A1A1A;
    padding: 20px 24px;
    font-size: 14px;
}

.ashby-application-form-failure-container {
    background-color: #fdecea;
    border: 1px solid #C8102E;
    border-radius: var(--borderRadiusContainer);
    color: #1A1A1A;
    padding: 20px 24px;
    font-size: 14px;
}

.ashby-application-form-blocked-application-container {
    background-color: #fff8e1;
    border: 1px solid #f0c040;
    border-radius: var(--borderRadiusContainer);
    color: #1A1A1A;
    padding: 20px 24px;
    font-size: 14px;
}


/* ─────────────────────────────────────────
   AUTOFILL (Resume Upload)
───────────────────────────────────────── */

.ashby-application-form-autofill-uploader {
    border: 2px dashed #003087;
    border-radius: var(--borderRadiusContainer);
    background-color: #f0f4fb;
    padding: 24px;
    text-align: center;
    color: #003087;
    font-size: 14px;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.ashby-application-form-autofill-uploader:hover {
    background-color: #e0eaf8;
}

.ashby-application-form-autofill-input-title {
    color: #003087;
    font-weight: 600;
    font-size: 14px;
}

.ashby-application-form-autofill-input-description {
    color: #555e70;
    font-size: 12px;
}

.ashby-application-form-texting-consent-description {
    color: #555e70;
    font-size: 12px;
    margin-top: 8px;
    line-height: 1.5;
}


/* ─────────────────────────────────────────
   SURVEY FORM
───────────────────────────────────────── */

.ashby-survey-form-container {
    font-family: var(--fontFamily);
    color: #1A1A1A;
    font-size: 14px;
}