/* stylelint-disable */

/* ==========================================================================
   Custom font import
   "Figtree" is loaded here via @import, a statement at-rule (per MDN's
   CSS At-rules guide: @import must appear before any other rules in the
   file, aside from @charset). Weight 400 covers regular body copy, weight
   800 (ExtraBold) covers headings. If self-hosting the font instead of
   pulling from Google Fonts, replace this with an @font-face at-rule.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@400;800&display=swap');

/* These variables can be used to control values throughout the job board. */
:root {
    /*  Darker primary color -> black
    WARNING - This can be set in the Ashby admin under theme settings!
    If you modify, you should make sure your colors work with the settings there. */
    --colorPrimary900: #000000;

    /*  Lighter primary color -> teal
    WARNING - This can be set in the Ashby admin under theme settings!
    If you modify, you should make sure your colors work with the settings there. */
    --colorPrimary600: #49D0DE;

    /*  The max width of the job board container */
    --widthMaxJobBoard: 800px;

    /*  The max width of the application form section */
    /* --widthMaxJobBoard: 800px; */

    /*  Container border radius */
    --borderRadiusContainer: 10px;

    /*  Border radius of control elements (e.g. input boxes) */
    --borderRadiusControl: 10px;

    /*  Button border radius */
    --borderRadiusButton: 10px;

    /*  Font families - body/regular weight */
    --fontFamily: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica", "Arial", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;

    /*  Font weight for headings - Figtree ExtraBold */
    --fontWeightHeading: 800;

    /*  Font weight for regular body copy - Figtree Regular */
    --fontWeightBody: 400;

    --colorAppBackground: #ffffff;
  }

/* 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 {
    background-color: transparent !important;
}

/* Application autofill input's description. */
.ashby-application-form-autofill-input-description {
    color: var(--colorPrimary900);
}

/* 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 {
    background-color: transparent !important;
}

/* Application autofill input's title. */
.ashby-application-form-autofill-input-title {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* Container element for application autofill input form.
   Ashby's own stylesheet fills this card with white by default, which
   shows up as a white box since it sits on the light gray page background
   rather than a white one. Making it transparent lets the page background
   show through instead. !important guards against Ashby's own class
   winning on specificity. */
.ashby-application-form-autofill-pane {
    background-color: transparent !important;
}

/* Resume / autofill "Upload File" buttons sit inside the same
   .ashby-application-form-field-entry wrapper as the Yes/No toggle
   buttons, so the blanket exclusion above (which keeps Yes/No untouched)
   also caught these upload buttons by accident. Ashby's CSS validator
   only allows documented .ashby-* classes, standard elements/attributes,
   and at-rules - it rejects the hash-based classes devtools shows (e.g.
   "_button_zyh3g_28"), so those can't be used to tell the buttons apart.
   Instead, this uses a structural difference: the upload button is the
   only button in its immediate parent, while Yes/No always come as a
   pair. :only-of-type matches the lone upload button without touching
   the Yes/No pair. */
.ashby-application-form-field-entry button:only-of-type {
    background-color: var(--colorPrimary600) !important;
    color: var(--colorPrimary900) !important;
    border-color: var(--colorPrimary600) !important;
}

.ashby-application-form-field-entry button:only-of-type:hover {
    background-color: var(--colorPrimary900) !important;
    color: #ffffff !important;
    border-color: var(--colorPrimary900) !important;
}

/* 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 {
    color: var(--colorPrimary900);
}

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

/* A container for the failure message */
.ashby-application-form-failure-container {
    color: var(--colorPrimary900);
}

/* 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 {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The title of each question on an application form. */
.ashby-application-form-question-title {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* 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 {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The title for an application form section. May not exist for the default section. */
.ashby-application-form-section-header-title {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* The application submission button. Will have loading and hover states that should be tested.
   !important is used here because Ashby's own stylesheet (loaded before this
   custom CSS) sets background/text color on this exact class, often with
   equal or higher specificity - without !important those rules can win the
   cascade and silently ignore the override below. */
.ashby-application-form-submit-button {
    background-color: var(--colorPrimary600) !important;
    color: var(--colorPrimary900) !important;
    border-color: var(--colorPrimary600) !important;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ashby-application-form-submit-button:hover {
    background-color: var(--colorPrimary900) !important;
    color: #ffffff !important;
    border-color: var(--colorPrimary900) !important;
}

/* A container for the success message */
.ashby-application-form-success-container {
    color: var(--colorPrimary900);
}

/* The text message consent description. Displayed below phone number fields. Will only show if texting is enabled. */
.ashby-application-form-texting-consent-description {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The heading of a department, which can have many teams under it. */
.ashby-department-heading {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* The heading of a single team. */
.ashby-department-heading-level {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* 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 {
    background-color: var(--colorPrimary600) !important;
    color: var(--colorPrimary900) !important;
    border-color: var(--colorPrimary600) !important;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
    background-color: var(--colorPrimary900) !important;
    color: #ffffff !important;
    border-color: var(--colorPrimary900) !important;
}

/* A select box element for filtering the job board. */
.ashby-job-board-filter {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The 'Filters' label element in the job board. */
.ashby-job-board-filters-label {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The heading of the entire job board. */
.ashby-job-board-heading {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* The count of job postings on the job board. */
.ashby-job-board-heading-count {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* The 'Reset filters' label element in the job board. The reset filters label element in the job board. */
.ashby-job-board-reset-filters-label {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* 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 {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* The heading of a single team. */
.ashby-job-posting-brief-department-heading-level {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* The container for the details of the job posting, in the details pane. */
.ashby-job-posting-brief-details {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightBody);
}

/* 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 {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

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

/* The heading of a job post */
.ashby-job-posting-heading {
    color: var(--colorPrimary900);
    font-weight: var(--fontWeightHeading);
}

/* 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 {
    color: var(--colorPrimary900) !important;
    font-weight: var(--fontWeightBody);
}

/* The overview tab in the right pane of the job posting */
.ashby-job-posting-right-pane-overview-tab {
    color: var(--colorPrimary900) !important;
    font-weight: var(--fontWeightBody);
}

/* 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 {}

/* ==========================================================================
   Global overrides
   ========================================================================== */

/* Base font family + weight everywhere, since some Ashby elements set
   font-family/font-weight directly rather than inheriting from a class
   above. Headings get ExtraBold via the h1-h6 rule further down. */
body,
input,
select,
textarea,
button:not(.ashby-application-form-field-entry button),
a,
p,
span,
label {
    font-family: var(--fontFamily);
    font-weight: var(--fontWeightBody);
}

/* Rich-text headings inside job description content (e.g. "Overview",
   "Requirements") aren't wrapped in a named Ashby class, so catch plain
   heading tags here too and give them the ExtraBold treatment. */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--fontFamily);
    font-weight: var(--fontWeightHeading);
    color: var(--colorPrimary900);
}

/* Catch-all: any generic buttons or button-like elements (submit/apply CTAs
   the class list above doesn't explicitly name) get the same teal-fill,
   black-text default, flipping to black-fill/white-text on hover.
   Yes/No question toggle buttons (.ashby-application-form-field-entry button)
   are excluded via :not() so this file leaves them completely untouched -
   they keep whatever Ashby's own default stylesheet applies. */
button:not(.ashby-application-form-field-entry button),
input[type="submit"],
input[type="button"],
a[role="button"] {
    background-color: var(--colorPrimary600) !important;
    color: var(--colorPrimary900) !important;
    border-color: var(--colorPrimary600) !important;
    border-radius: var(--borderRadiusButton);
    font-weight: var(--fontWeightBody);
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

button:not(.ashby-application-form-field-entry button):hover,
input[type="submit"]:hover,
input[type="button"]:hover,
a[role="button"]:hover {
    background-color: var(--colorPrimary900) !important;
    color: #ffffff !important;
    border-color: var(--colorPrimary900) !important;
}

/* Icons inside buttons (arrows, checkmarks, etc.) should always match the
   button's current text color rather than keeping a color of their own.
   `currentColor` reads whatever `color` is active on the button at that
   moment, so this one rule handles both states automatically: black icon
   on the teal default state, white icon on the black hover state. The
   :only-of-type rule covers the upload button's icon specifically, since
   it's excluded from the general button icon rule above (to leave Yes/No
   icons alone). */
button:not(.ashby-application-form-field-entry button) svg,
button:not(.ashby-application-form-field-entry button) svg *,
.ashby-application-form-field-entry button:only-of-type svg,
.ashby-application-form-field-entry button:only-of-type svg *,
a[role="button"] svg,
a[role="button"] svg * {
    fill: currentColor !important;
    stroke: currentColor !important;
    color: inherit !important;
}

/* No teal text on light backgrounds: links stay black by default, with
   teal reserved for button fills/borders/accents only. */
a {
    color: var(--colorPrimary900);
}

a:hover {
    color: var(--colorPrimary900);
    text-decoration: underline;
}
