/* stylelint-disable */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&display=swap');

/* --------------------------------------------------
   Root Variables – extended
   -------------------------------------------------- */  
/* These variables can be used to control values throughout the job board. */
:root {
  /* Primary colours  */
  --colorPrimary900: #1e293b;
  --colorPrimary600: #3b82f6;

  /* Typography */
  --fontFamily: 'IBM Plex Sans', system-ui, sans-serif;
  --fontFamilyHeading: 'IBM Plex Sans', system-ui, sans-serif;
  --fontFamilyMono: 'IBM Plex Mono', monospace;

  /* Text colours */
  --colorText: #0f172a;
  --colorTextSecondary: #64748b;

  /* Layout */
  --widthMaxJobBoard: 1000px;
  --borderRadiusContainer: 12px;
  --borderRadiusControl: 6px;
  --borderRadiusButton: 8px;

  /* Background */
  --colorAppBackground: #ffffff;
}

.ashby-application-form-blocked-application-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Job Board Header - Clean mono style */
.ashby-job-board-heading {
    font-family: var(--fontFamilyMono);
    font-size: 2.25rem;
    font-weight: 600;
    color: #1B7052;
    margin-bottom: 0.75rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.ashby-job-board-heading-count {
    font-family: var(--fontFamily);
    font-size: 1rem;
    font-weight: 500;
    color: #64748b;
    margin-bottom: 2.5rem;
    letter-spacing: -0.025em;
}

/* Keep heading styles but ensure readability */
.ashby-job-board-heading,
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
    font-family: var(--fontFamilyMono);
    font-weight: 600;
    color: var(--colorPrimary900);
    letter-spacing: -0.02em;
}

/* Department Headings - Clean headers above job groups */
.ashby-department-heading {
    font-family: var(--fontFamilyMono);
    font-size: 1.5rem;
    font-weight: 500;
    color: #00D89D;
    margin: 3rem 0 1.5rem 0;
    letter-spacing: 0.02em;
    text-transform: lowercase;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 0.5rem;
}

.ashby-job-posting-brief-department-heading {
    font-family: var(--fontFamilyMono);
    font-size: 1.5rem;
    font-weight: 500;
    color: #00D89D;
    margin: 3rem 0 1.5rem 0;
    letter-spacing: 0.02em;
    text-transform: lowercase;
    border-bottom: 1px solid #f3f4f6;
    padding-bottom: 0.5rem;
}

/* Job Posting Titles */
.ashby-job-posting-brief-title {
    font-family: var(--fontFamily);
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.75rem;
    line-height: 1.4;
    letter-spacing: -0.025em;
}

.ashby-job-posting-heading {
    font-family: var(--fontFamily);
    font-size: 1.875rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: #0f172a;
    letter-spacing: -0.05em;
    line-height: 1.2;
}

/* Filter and UI Elements */
.ashby-job-board-filters-label {
    font-family: var(--fontFamily);
    font-weight: 600;
    color: #0f172a;
    font-size: 0.875rem;
    margin-bottom: 1rem;
    display: block;
    letter-spacing: -0.025em;
}

.ashby-job-board-filter {
    font-family: var(--fontFamily);
    font-size: 0.875rem;
    font-weight: 500;
}

.ashby-job-board-reset-filters-label {
    color: var(--colorPrimary600);
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 0.875rem;
    cursor: pointer;
    transition: color 0.2s ease;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

/* Job Details */
.ashby-job-posting-brief-details {
    color: #475569;
    font-family: var(--fontFamily);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Application Form Elements */
.ashby-application-form-section-header-title {
    font-family: var(--fontFamily);
    font-size: 1.125rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    letter-spacing: -0.025em;
}

.ashby-application-form-section-header-description {
    color: #475569;
    font-family: var(--fontFamily);
    font-size: 0.875rem;
    margin-bottom: 1.25rem;
    line-height: 1.6;
    font-weight: 500;
}

.ashby-application-form-question-title {
    font-family: var(--fontFamily);
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
    letter-spacing: -0.025em;
}

.ashby-application-form-question-description {
    color: #64748b;
    font-family: var(--fontFamily);
    font-size: 0.75rem;
    margin-bottom: 0.75rem;
    line-height: 1.5;
    font-weight: 500;
}

/* Submit Button */
.ashby-application-form-submit-button {
    background: #0f172a;
    color: #ffffff;
    padding: 0.875rem 1.75rem;
    border: none;
    border-radius: var(--borderRadiusButton);
    font-family: var(--fontFamily);
    font-weight: 600;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    letter-spacing: -0.025em;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* Back Button */
.ashby-job-board-back-to-all-jobs-button {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #64748b;
    padding: 0.75rem 1.25rem;
    border-radius: var(--borderRadiusButton);
    font-family: var(--fontFamily);
    font-weight: 500;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* Autofill Elements */
.ashby-application-form-autofill-input-title {
    font-family: var(--fontFamily);
    font-size: 0.875rem;
    font-weight: 600;
    color: #0f172a;
    margin-bottom: 0.5rem;
    letter-spacing: -0.025em;
}

.ashby-application-form-autofill-input-description {
    color: #64748b;
    font-family: var(--fontFamily);
    font-size: 0.75rem;
    margin-bottom: 1rem;
    font-weight: 500;
}

/* Texting Consent */
.ashby-application-form-texting-consent-description {
    font-family: var(--fontFamily);
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: 0.5rem;
    line-height: 1.4;
}

/* Application autofill input's base layer element. This contains standard copy, a CTA button, and potential validation alerts. */
.ashby-application-form-autofill-input-base-layer {}

/* Application autofill input's description. */
.ashby-application-form-autofill-input-description {}

/* Application autofill input's drag state overlay element. Can style [data-state] which can be 'active' or 'hidden'. */
.ashby-application-form-autofill-input-drag-layer {}

/* Application autofill input form's alert element. Can style [data-highlight] which can be 'negative' or 'positive'. */
.ashby-application-form-autofill-input-form-alert {}

/* Application autofill input's magic sparkles icon. */
.ashby-application-form-autofill-input-icon {}

/* Application autofill input's pending state overlay element. Can style [data-state] which can be 'active' or 'hidden'.
.ashby-application-form-autofill-input-pending-layer {}

/* Application autofill input's root element. Can style [data-state] which can be 'pending', 'drag', or 'default'. */
.ashby-application-form-autofill-input-root {}

/* Application autofill input's title. */
.ashby-application-form-autofill-input-title {}

/* Container element for application autofill input form. */
.ashby-application-form-autofill-pane {}

/* The resume uploader to auto-fill the application form */
.ashby-application-form-autofill-uploader {}

/* A container for displaying the custom message to the user */
.ashby-application-form-blocked-application-container {}

/* A container for the application form. */
.ashby-application-form-container {}

/* A container for the failure message */
.ashby-application-form-failure-container {}

/* A container for the label and input on an application form. */
.ashby-application-form-field-entry {}

/* The description of each question on an application form. Will only show if a description is specified. */
.ashby-application-form-question-description {}

/* The title of each question on an application form. */
.ashby-application-form-question-title {}

/* A single section on the Ashby application form. All questions will be wrapped in sections, though the default section may not have a title. */
.ashby-application-form-section-container {}

/* The header for an application form section, possibly containing a title and description. */
.ashby-application-form-section-header {}

/* The description for an application form section. May not exist if no description was specified. */
.ashby-application-form-section-header-description {}

/* The title for an application form section. May not exist for the default section. */
.ashby-application-form-section-header-title {}

/* The application submission button. Will have loading and hover states that should be tested. */
.ashby-application-form-submit-button {}

/* A container for the success message */
.ashby-application-form-success-container {}

/* The text message consent description. Displayed below phone number fields. Will only show if texting is enabled. */
.ashby-application-form-texting-consent-description {}

/* The heading of a department, which can have many teams under it. */
.ashby-department-heading {}

/* The heading of a single team. */
.ashby-department-heading-level {}

/* The button which allows users to navigate from an individual posting back to the list of all job postings. */
.ashby-job-board-back-to-all-jobs-button {}

/* A select box element for filtering the job board. */
.ashby-job-board-filter {}

/* The 'Filters' label element in the job board. */
.ashby-job-board-filters-label {}

/* The heading of the entire job board. */
.ashby-job-board-heading {}

/* The count of job postings on the job board. */
.ashby-job-board-heading-count {}

/* The 'Reset filters' label element in the job board. The reset filters label element in the job board. */
.ashby-job-board-reset-filters-label {}

/* The container of the job posting details pane. */
.ashby-job-posting-brief {
    /* This adds some space between posting briefings. */
    margin-bottom: 10px;
}

/* The heading of a department name. Departments group teams. */
.ashby-job-posting-brief-department-heading {}

/* The heading of a single team. */
.ashby-job-posting-brief-department-heading-level {}

/* The container for the details of the job posting, in the details pane. */
.ashby-job-posting-brief-details {}

/* The container for the list of job post briefings. */
.ashby-job-posting-brief-list {}

/* The title of the job posting in the details pane. */
.ashby-job-posting-brief-title {}

/* The main header on the job posting page */
.ashby-job-posting-header {}

/* The heading of a job post */
.ashby-job-posting-heading {}

/* The left pane of the job posting, with the job posting details */
.ashby-job-posting-left-pane {}

/* The right pane of the job posting, containing the tabs, overview, and application form */
.ashby-job-posting-right-pane {}

/* The application tab in the right pane of the job posting */
.ashby-job-posting-right-pane-application-tab {}

/* The overview tab in the right pane of the job posting */
.ashby-job-posting-right-pane-overview-tab {}

/* The tabs slider in the right pane of the job posting */
.ashby-job-posting-right-pane-tab-slider {}

/* A container for any surveys specified for this application form. */
.ashby-survey-form-container {}