/* stylelint-disable */

/* ============================================================
   NORTHWOOD — Ashby Job Board Custom CSS
   Ashby sets colorPrimary600/#292929 and colorPrimary900/#D1F5AD
   on <html> via inline style — we target classes directly.
   ============================================================ */

:root {
  --colorPrimary600:  #0a1f2e;
  --colorPrimary900:  #c8f0a0;

  --nw-black:         #181818;
  --nw-navy:          #0a1f2e;
  --nw-navy-deep:     #071829;
  --nw-silver:        #888888;
  --nw-off-white:     #f2f4f1;
  --nw-white:         #ffffff;
  --nw-accent:        #c8f0a0;
  --nw-accent-dark:   #3a6b18;
  --nw-border:        #e0e2dd;

  --widthMaxJobBoard:       860px;
  --borderRadiusContainer:  0px;
  --borderRadiusControl:    4px;
  --borderRadiusButton:     0px;
  --fontFamily:             "PxGroteskRegular", "Verdana", sans-serif;
  --colorAppBackground:     var(--nw-off-white);
}


/* ── Job Board Header ─────────────────────────────────────── */
.ashby-job-board-heading {
  background-color: var(--nw-navy);
  color: var(--nw-white);
  padding: 22px 28px 18px;
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  border-bottom: 2px solid var(--nw-accent);
  margin-bottom: 20px;
}

.ashby-job-board-heading-count {
  color: var(--nw-accent);
  font-size: 0.9em;
  font-weight: 400;
  margin-left: 10px;
  letter-spacing: 0.06em;
}


/* ── Filters ──────────────────────────────────────────────── */
.ashby-job-board-filters-label {
  color: var(--nw-silver);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ashby-job-board-filter {
  background-color: #ffffff;
  border: 1px solid var(--nw-border);
  border-radius: var(--borderRadiusControl);
  color: var(--nw-black);
  font-family: var(--fontFamily);
  font-size: 0.85rem;
  padding: 7px 12px;
  transition: border-color 0.15s ease;
}

.ashby-job-board-filter:focus {
  border-color: var(--nw-navy);
  outline: none;
}

.ashby-job-board-reset-filters-label {
  color: var(--nw-accent-dark);
  font-size: 0.78rem;
  cursor: pointer;
  text-decoration: underline;
}


/* ── Department Headings ──────────────────────────────────── */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  background-color: var(--nw-navy);
  color: #c8f0a0 !important;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 12px 20px;
  margin: 16px 0 0 0;
  display: block;
  box-sizing: border-box;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  background-color: transparent;
  color: var(--nw-silver);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  padding: 6px 20px;
  margin: 0;
  display: block;
}


/* ── Job Posting List ─────────────────────────────────────── */
.ashby-job-posting-brief-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.ashby-job-posting-brief {
  background-color: #ffffff;
  border-bottom: 1px solid var(--nw-border);
  transition: background-color 0.12s ease;
}

.ashby-job-posting-brief:first-child {
  border-top: 1px solid var(--nw-border);
}

.ashby-job-posting-brief:hover {
  background-color: rgba(200, 240, 160, 0.4);
  cursor: pointer;
}

.ashby-job-posting-brief-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 4px;
}

.ashby-job-posting-brief-title {
  font-size: 0.87rem;
  font-weight: 500;
  color: var(--nw-black);
  line-height: 1.3;
}

.ashby-job-posting-brief-details > *:not(.ashby-job-posting-brief-title) {
  font-size: 0.75rem;
  color: var(--nw-silver);
}


/* ── Back Button ──────────────────────────────────────────── */
.ashby-job-board-back-to-all-jobs-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--nw-silver);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 16px 0;
  cursor: pointer;
  transition: color 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  color: var(--nw-black);
}


/* ── Job Posting Detail — Header ──────────────────────────── */
/* The nav/logo bar at the top of the posting page */
.ashby-job-posting-header {
  background-color: var(--nw-navy);
  padding: 20px 32px 16px;
  border-bottom: 2px solid var(--nw-accent);
}

/* Job title sits BELOW the navy header on the page background.
   Ashby's inline colorPrimary900 (#D1F5AD mint) was coloring it;
   override to dark so it's legible on the light page bg. */
.ashby-job-posting-heading {
  color: var(--nw-navy) !important;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: -0.01em;
  margin: 0;
  padding: 24px 0 16px;
}


/* ── Job Posting Detail — Panes ───────────────────────────── */
/* Left pane — transparent so page bg shows through cleanly */
.ashby-job-posting-left-pane {
  background-color: transparent !important;
  padding: 24px 24px 28px;
  font-family: var(--fontFamily);
}

/* Right pane — white card for the form and overview */
.ashby-job-posting-right-pane {
  background-color: #ffffff;
  padding: 28px 32px;
  font-size: 0.9rem;
  line-height: 1.65;
  border-left: 1px solid var(--nw-border);
}


/* ── Tabs ─────────────────────────────────────────────────── */
.ashby-job-posting-right-pane-overview-tab {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nw-silver);
  padding-bottom: 8px;
  border-bottom: none;
  transition: color 0.15s ease;
}

.ashby-job-posting-right-pane-overview-tab:hover {
  color: var(--nw-black);
}

.ashby-job-posting-right-pane-application-tab {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--nw-silver);
  padding-bottom: 8px;
  border-bottom: none;
  transition: color 0.15s ease;
}

.ashby-job-posting-right-pane-application-tab:hover {
  color: var(--nw-black);
}

.ashby-job-posting-right-pane-tab-slider {
  background-color: var(--nw-accent);
  height: 2px;
}


/* ── Application Form ─────────────────────────────────────── */
.ashby-application-form-container {
  max-width: 640px;
}

.ashby-application-form-section-container {
  margin-bottom: 28px;
}

.ashby-application-form-section-header {
  margin-bottom: 14px;
}

.ashby-application-form-section-header-title {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nw-silver);
  border-bottom: 1px solid var(--nw-border);
  padding-bottom: 7px;
}

.ashby-application-form-section-header-description {
  font-size: 0.82rem;
  color: var(--nw-silver);
  margin-top: 6px;
}

.ashby-application-form-field-entry {
  margin-bottom: 18px;
}

.ashby-application-form-question-title {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--nw-black);
  margin-bottom: 5px;
}

.ashby-application-form-question-description {
  font-size: 0.78rem;
  color: var(--nw-silver);
  margin-bottom: 5px;
}

.ashby-application-form-submit-button {
  background-color: var(--nw-navy);
  color: var(--nw-white);
  border: none;
  border-radius: var(--borderRadiusButton);
  font-family: var(--fontFamily);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 13px 32px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  background-color: var(--nw-navy-deep);
}

.ashby-application-form-submit-button:active {
  background-color: var(--nw-black);
}


/* ── Status Messages ──────────────────────────────────────── */
.ashby-application-form-success-container {
  background-color: var(--nw-accent);
  color: var(--nw-accent-dark);
  border-left: 3px solid var(--nw-accent-dark);
  padding: 16px 20px;
  font-size: 0.9rem;
}

.ashby-application-form-failure-container {
  background-color: #fff0f0;
  color: #8b1a1a;
  border-left: 3px solid #c0392b;
  padding: 16px 20px;
  font-size: 0.9rem;
}

.ashby-application-form-blocked-application-container {
  background-color: #fff8e6;
  color: #7a5000;
  border-left: 3px solid #e6a817;
  padding: 16px 20px;
  font-size: 0.9rem;
}


/* ── Autofill / Resume Uploader ───────────────────────────── */
.ashby-application-form-autofill-input-root {
  border: 1px dashed var(--nw-border);
  background-color: var(--nw-off-white);
  padding: 18px;
  transition: border-color 0.15s ease;
}

.ashby-application-form-autofill-input-root[data-state="drag"] {
  border-color: var(--nw-navy);
  background-color: #e8f0e0;
}

.ashby-application-form-autofill-input-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--nw-black);
}

.ashby-application-form-autofill-input-description {
  font-size: 0.78rem;
  color: var(--nw-silver);
}

.ashby-application-form-autofill-input-icon {
  color: var(--nw-accent-dark);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
  color: var(--nw-accent-dark);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
  color: #c0392b;
}


/* ── Texting Consent ──────────────────────────────────────── */
.ashby-application-form-texting-consent-description {
  font-size: 0.72rem;
  color: var(--nw-silver);
  line-height: 1.5;
}


/* ── Survey Form ──────────────────────────────────────────── */
.ashby-survey-form-container {
  border-top: 1px solid var(--nw-border);
  padding-top: 20px;
  margin-top: 20px;
}


/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 640px) {
  .ashby-job-board-heading {
    padding: 16px 16px 14px;
    font-size: 1rem;
  }

  .ashby-job-posting-header {
    padding: 20px 16px 16px;
  }

  .ashby-job-posting-heading {
    font-size: 1.2rem;
  }

  .ashby-job-posting-left-pane,
  .ashby-job-posting-right-pane {
    padding: 20px 16px;
  }
}






/* ── Job Posting Page — Website-aligned enhancements ─────── */

/* Left pane metadata labels (Location, Employment Type, etc.)
   Styled like the website's ALL CAREERS / CATEGORY / LOCATION labels */
.ashby-job-posting-left-pane * {
  font-family: var(--fontFamily);
}

/* Section header labels in left pane — small caps treatment */
.ashby-job-posting-brief-department-heading {
  font-size: 0.65rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nw-silver);
  font-weight: 600;
}

/* Tab styling — tighten to match site's uppercase nav feel */
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--nw-silver);
}

/* Active/hover tab */
.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-application-tab:hover {
  color: var(--nw-navy);
}

/* Tab slider — accent green underline */
.ashby-job-posting-right-pane-tab-slider {
  background-color: var(--nw-accent);
  height: 2px;
}
