/* stylelint-disable */
/* =============================================================
   Allspice — Ashby job board custom CSS
   jobs.ashbyhq.com/allspice
   Upload: Ashby Admin > Job Boards > Theme > Custom CSS
   Colors from the Allspice Design System (gray ramp, green-500/600)
   Only Ashby's documented .ashby-* classes, element and
   [role] selectors are used, so it should pass Ashby's validator.
   ============================================================= */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&display=swap');

:root {
  /* Brand tokens (Allspice Design System) */
  --as-green: #39a166;          /* green-500 — buttons */
  --as-green-hover: #308756;    /* green-600 — button hover/active */
  --as-text-strong: #161616;    /* gray-900 */
  --as-text-body: #232323;      /* gray-800 */
  --as-text-muted: #737373;     /* gray-600 */
  --as-text-faint: #8b8b8b;     /* gray-500 — placeholders */
  --as-border-strong: #b4b4b4;  /* gray-400 — input hover */
  --as-border: #d4d4d4;         /* gray-300 — default borders */
  --as-border-subtle: #e5e5e5;  /* gray-200 — dividers, dropdown hover */
  --as-surface-hover: #f1f1f1;  /* gray-100 */
  --as-surface-sunken: #f9f9f9; /* gray-50 */
  --as-white: #ffffff;
  --as-focus-ring: 0 0 0 3px rgba(57, 161, 102, 0.3);

  /* Ashby theme variables */
  --colorPrimary600: var(--as-green);
  --colorPrimary900: var(--as-green-hover);

  --colorNeutral000: var(--as-white);          /* page background */
  --colorNeutral100: var(--as-border-subtle);  /* item hover (#e5e5e5) */
  --colorNeutral600: var(--as-text-muted);     /* filter titles */
  --colorNeutral700: var(--as-text-body);      /* job description */
  --colorNeutral800: var(--as-text-body);      /* body text */
  --colorAppBackground: var(--as-white);

  --borderRadiusContainer: 0px;
  --borderRadiusControl: 0px;
  --borderRadiusButton: 0px;

  --fontFamily: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------- Job board list ---------- */

.ashby-job-board-heading,
.ashby-job-board-heading-count,
.ashby-department-heading,
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading,
.ashby-job-posting-brief-department-heading-level,
.ashby-job-posting-brief-title,
.ashby-job-posting-heading {
  font-family: var(--fontFamily);
  color: var(--as-text-strong);
}

.ashby-job-board-heading-count,
.ashby-job-posting-brief-details,
.ashby-job-board-filters-label {
  font-family: var(--fontFamily);
  color: var(--as-text-muted);
}

.ashby-job-board-reset-filters-label {
  font-family: var(--fontFamily);
  color: var(--as-green-hover);
}

.ashby-job-posting-brief {
  border: 1px solid var(--as-border-subtle) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: var(--as-white);
}

.ashby-job-posting-brief:hover {
  background-color: var(--as-surface-sunken);
  border-color: var(--as-border) !important;
}

/* Filter selects */
.ashby-job-board-filter {
  font-family: var(--fontFamily);
  color: var(--as-text-body);
  background-color: var(--as-white);
  border: 1px solid var(--as-border) !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  box-shadow: none !important;
}

.ashby-job-board-filter:hover {
  border-color: var(--as-border-strong) !important;
}

.ashby-job-board-filter:focus,
.ashby-job-board-filter:focus-visible {
  border-color: var(--as-green) !important;
  box-shadow: var(--as-focus-ring) !important;
  outline: none;
}

/* ---------- Job posting page ---------- */

.ashby-job-posting-header,
.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane {
  font-family: var(--fontFamily);
}

.ashby-job-board-back-to-all-jobs-button {
  font-family: var(--fontFamily);
  color: var(--as-text-strong);
  border-radius: 0 !important;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  background-color: var(--as-surface-hover);
}

/* ---------- Application form ---------- */

.ashby-application-form-section-header-title,
.ashby-application-form-question-title {
  font-family: var(--fontFamily);
  color: var(--as-text-strong);
}

.ashby-application-form-section-header-description,
.ashby-application-form-question-description,
.ashby-application-form-texting-consent-description {
  font-family: var(--fontFamily);
  color: var(--as-text-muted);
}

/* Text fields */
.ashby-application-form-field-entry input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  font-family: var(--fontFamily);
  color: var(--as-text-body);
  background-color: var(--as-white);
  border: 1px solid var(--as-border) !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  box-shadow: none !important;
}

.ashby-application-form-field-entry input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.ashby-application-form-field-entry textarea:hover,
.ashby-application-form-field-entry select:hover {
  border-color: var(--as-border-strong) !important;
}

.ashby-application-form-field-entry input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  border-color: var(--as-green) !important;
  box-shadow: var(--as-focus-ring) !important;
  outline: none;
}

.ashby-application-form-field-entry input::placeholder,
.ashby-application-form-field-entry textarea::placeholder {
  color: var(--as-text-faint);
  opacity: 1;
}

/* Dropdown / combobox menus */
.ashby-application-form-field-entry [role="listbox"],
.ashby-job-posting-right-pane [role="listbox"] {
  border: 1px solid var(--as-border) !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 12px rgba(22, 22, 22, 0.08);
  font-family: var(--fontFamily);
}

.ashby-application-form-field-entry [role="option"],
.ashby-job-posting-right-pane [role="option"] {
  font-family: var(--fontFamily);
  color: var(--as-text-body);
  border-radius: 0 !important;
}

.ashby-application-form-field-entry [role="option"]:hover,
.ashby-application-form-field-entry [role="option"][aria-selected="true"],
.ashby-job-posting-right-pane [role="option"]:hover,
.ashby-job-posting-right-pane [role="option"][aria-selected="true"] {
  background-color: #e5e5e5 !important;
}

/* Resume autofill */
.ashby-application-form-autofill-input-root,
.ashby-application-form-autofill-pane {
  border-radius: 0 !important;
  border-color: var(--as-border) !important;
  font-family: var(--fontFamily);
}

/* ---------- Buttons ---------- */

/* Square corners on every button (Yes/No toggles, upload, tabs) */
.ashby-job-posting-right-pane button,
.ashby-application-form-container button {
  font-family: var(--fontFamily);
  border-radius: 0 !important;
}

/* Primary: Submit */
.ashby-application-form-submit-button {
  font-family: var(--fontFamily);
  font-weight: 500;
  color: var(--as-white) !important;
  background-color: var(--as-green) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 12px 24px;
}

.ashby-application-form-submit-button:hover,
.ashby-application-form-submit-button:active {
  background-color: var(--as-green-hover) !important;
}

.ashby-application-form-submit-button:focus-visible {
  box-shadow: var(--as-focus-ring) !important;
  outline: none;
}

/* Overview / Application tabs */
.ashby-job-posting-right-pane-tab-slider {
  border-radius: 0 !important;
}
