/* ============================================================
   Theori — Ashby Job Board Custom CSS
   Light theme, green accent reserved for actions.
   Tokens pulled directly from theori.io product-section stylesheet.
   Single source of truth: edit the :root tokens below.
   ============================================================ */

:root {
  /* ---- Confirmed Theori brand tokens ---- */
  --theori-green:      #26d07c;   /* brand accent — confirmed from site */
  --theori-green-600:  #1fb56c;   /* darker hover state (derived) */
  --theori-ink:        #27282c;   /* headings */
  --theori-body:       #464c53;   /* primary body text */
  --theori-body-soft:  #72787f;   /* secondary descriptions */
  --theori-muted:      #9ea3a9;   /* meta, counts, placeholders */
  --theori-line:       #E4E4E8;   /* borders, dividers */
  --theori-surface:    #FFFFFF;   /* cards, inputs */
  --theori-bg:         #f7f8fa;   /* page background — matches site gray */

  /* ---- Ashby-controlled variables ----
     Primary colors can also be set in Ashby admin → theme settings.
     Keep these aligned with whatever is configured there. */
  --colorPrimary900: var(--theori-green-600);
  --colorPrimary600: var(--theori-green);

  --widthMaxJobBoard: 880px;

  /* Site uses tight, near-square corners */
  --borderRadiusContainer: 6px;
  --borderRadiusControl: 6px;
  --borderRadiusButton: 6px;

  /* Site type: geometric sans, 700 headings, negative tracking */
  --fontFamily: "Whitney SSm", "Inter", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji";

  --colorAppBackground: var(--theori-bg);
}

/* ---- Board-level layout ---- */
.ashby-job-board-heading {
  font-family: var(--fontFamily);
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.3;
  color: var(--theori-ink);
}

.ashby-job-board-heading-count {
  color: var(--theori-muted);
  font-weight: 400;
}

.ashby-job-board-filters-label {
  color: var(--theori-body);
  font-weight: 700;
  letter-spacing: -0.2px;
}

.ashby-job-board-reset-filters-label,
.ashby-job-board-back-to-all-jobs-button {
  color: var(--theori-green-600);
  font-weight: 700;
}

.ashby-job-board-filter {
  background: var(--theori-surface);
  border: 1px solid var(--theori-line);
  border-radius: var(--borderRadiusControl);
  color: var(--theori-ink);
}

/* ---- Department / team headings ---- */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-weight: 700;
  letter-spacing: -0.4px;
  color: var(--theori-ink);
  border-bottom: 1px solid var(--theori-line);
  padding-bottom: 8px;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  color: var(--theori-body-soft);
  font-weight: 700;
}

/* ---- Job posting brief cards ---- */
.ashby-job-posting-brief {
  background: var(--theori-surface);
  border: 1px solid var(--theori-line);
  border-radius: var(--borderRadiusContainer);
  margin-bottom: 12px;
  padding: 18px 20px;
  transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.ashby-job-posting-brief:hover {
  border-color: var(--theori-green);
  box-shadow: 0 2px 14px rgba(38, 208, 124, 0.12);
  transform: translateY(-1px);
}

.ashby-job-posting-brief-title {
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--theori-ink);
}

.ashby-job-posting-brief-details {
  color: var(--theori-body-soft);
}

/* ---- Individual posting page ---- */
.ashby-job-posting-header,
.ashby-job-posting-heading {
  font-family: var(--fontFamily);
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.3;
  color: var(--theori-ink);
}

.ashby-job-posting-left-pane {
  color: var(--theori-body);
  line-height: 1.6;
}

.ashby-job-posting-right-pane {
  background: var(--theori-surface);
  border: 1px solid var(--theori-line);
  border-radius: var(--borderRadiusContainer);
}

/* ---- Application form ---- */
.ashby-application-form-question-title,
.ashby-application-form-section-header-title {
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--theori-ink);
}

.ashby-application-form-question-description,
.ashby-application-form-section-header-description,
.ashby-application-form-texting-consent-description {
  color: var(--theori-body-soft);
}

.ashby-application-form-submit-button {
  background: var(--theori-green);
  color: #FFFFFF;
  border-radius: var(--borderRadiusButton);
  font-weight: 700;
  letter-spacing: -0.2px;
  transition: background 120ms ease;
}

.ashby-application-form-submit-button:hover {
  background: var(--theori-green-600);
}

/* Autofill / resume parse block */
.ashby-application-form-autofill-input-root {
  border: 1px dashed var(--theori-line);
  border-radius: var(--borderRadiusControl);
}

.ashby-application-form-autofill-input-title {
  color: var(--theori-ink);
  font-weight: 700;
}

.ashby-application-form-autofill-input-description {
  color: var(--theori-body-soft);
}

/* ============================================================
   Confirm before publishing:
   1. Brand green #26d07c is verified from the site stylesheet.
      It is used as a fill/link only — kept off body text because
      contrast on white (~2.3:1) fails WCAG AA for reading.
   2. Whitney SSm: confirm it is licensed for the jobs.ashbyhq.com
      domain. If not, uncomment an Inter @import.
   3. Ashby admin theme settings can override --colorPrimary600/900.
      Keep them aligned or the admin panel will win.
   ============================================================ */
