/* stylelint-disable */

/* ── Google Fonts: Inter 300 · 400 · 600 · 700 ─────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

/* ============================================================
   ai& — Ashby Job Board Custom CSS
   Matches: aiandinc.com design language
   Colors: Near-white bg · Near-black text · Crimson red accent
   Typography: Inter — 300 body, 400 UI, 600/700 headings only
   ============================================================ */

:root {
  --colorPrimary900: #C41E1E;
  --colorPrimary600: #E02020;

  --widthMaxJobBoard: 820px;

  --borderRadiusContainer: 6px;
  --borderRadiusControl: 6px;
  --borderRadiusButton: 6px;

  --fontFamily: "Inter", "-apple-system", "BlinkMacSystemFont", "Segoe UI",
    "Helvetica Neue", "Arial", sans-serif;

  /* Off-white — barely-there tint, near white */
  --colorAppBackground: #FAFAF9;
}

/* ── Global font base ──────────────────────────────────────── */

* {
  font-family: var(--fontFamily);
}

/* ── Heading scale — bold allowed for H1 / H2 / H3 ────────── */

h1,
.ashby-job-board-heading,
.ashby-job-posting-heading {
  font-family: var(--fontFamily);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #0D0D0D;
}

h2,
.ashby-application-form-section-header-title,
.ashby-job-posting-brief-department-heading,
.ashby-department-heading {
  font-family: var(--fontFamily);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #111111;
}

h3,
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  font-family: var(--fontFamily);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #333333;
}

/* ── Job Board Heading ─────────────────────────────────────── */

.ashby-job-board-heading {
  font-size: 2rem;
  margin-bottom: 4px;
}

.ashby-job-board-heading-count {
  font-size: 0.85rem;
  font-weight: 400;
  color: #999999;
  letter-spacing: 0;
}

/* ── Filters ───────────────────────────────────────────────── */

.ashby-job-board-filters-label {
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #666666;
}

.ashby-job-board-filter {
  font-family: var(--fontFamily);
  font-weight: 400;
  font-size: 0.875rem;
  border: 1px solid #E2E2E2;
  border-radius: var(--borderRadiusControl);
  background: #FFFFFF;
  color: #111111;
  padding: 8px 12px;
  transition: border-color 0.15s ease;
}

.ashby-job-board-filter:focus {
  border-color: var(--colorPrimary900);
  outline: none;
  box-shadow: 0 0 0 3px rgba(196, 30, 30, 0.10);
}

.ashby-job-board-reset-filters-label {
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--colorPrimary900);
  cursor: pointer;
}

/* ── Job Posting Briefs (flat OpenAI-style rows) ───────────── */

.ashby-job-posting-brief-list {
  border-top: 1px solid #E5E5E5;
}

.ashby-job-posting-brief {
  background: transparent;
  border: none;
  border-bottom: 1px solid #E5E5E5;
  border-radius: 0;
  padding: 22px 0;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: opacity 0.12s ease;
  cursor: pointer;
}

.ashby-job-posting-brief:hover {
  opacity: 0.55;
  box-shadow: none;
  border-color: #E5E5E5;
}

.ashby-job-posting-brief-title {
  font-family: var(--fontFamily);
  font-size: 0.9375rem;
  font-weight: 400;
  color: #0D0D0D;
  letter-spacing: -0.01em;
}

.ashby-job-posting-brief-details {
  font-family: var(--fontFamily);
  font-size: 0.875rem;
  font-weight: 300;
  color: #AAAAAA;
  margin-top: 0;
  margin-left: 10px;
  display: inline;
}

/* ── Department headings ───────────────────────────────────── */

.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #C41E1E;
  margin-top: 32px;
  margin-bottom: 10px;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: #888888;
}

/* ── Back Button ───────────────────────────────────────────── */

.ashby-job-board-back-to-all-jobs-button {
  font-family: var(--fontFamily);
  font-size: 0.85rem;
  font-weight: 400;
  color: #111111;
  border: 1px solid #DEDEDE;
  border-radius: var(--borderRadiusButton);
  background: #FFFFFF;
  padding: 8px 16px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  border-color: #C41E1E;
  color: #C41E1E;
}

/* ── Job Posting Detail Page ───────────────────────────────── */

.ashby-job-posting-header {
  border-bottom: 1px solid #EBEBEB;
  padding-bottom: 24px;
  margin-bottom: 28px;
}

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

.ashby-job-posting-left-pane {
  font-family: var(--fontFamily);
  font-size: 0.875rem;
  font-weight: 300;
  color: #555555;
  line-height: 1.75;
}

/* ── Overview right pane — generous section spacing ────────── */

.ashby-job-posting-right-pane {
  font-family: var(--fontFamily);
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: #333333;
}

.ashby-job-posting-right-pane-overview-tab > * + * {
  margin-top: 2rem;
}

.ashby-job-posting-right-pane-overview-tab h1,
.ashby-job-posting-right-pane-overview-tab h2,
.ashby-job-posting-right-pane-overview-tab h3 {
  font-family: var(--fontFamily);
  margin-top: 2.75rem;
  margin-bottom: 0.75rem;
}

.ashby-job-posting-right-pane-overview-tab h1 { font-size: 1.35rem; font-weight: 700; }
.ashby-job-posting-right-pane-overview-tab h2 { font-size: 1.1rem;  font-weight: 600; }
.ashby-job-posting-right-pane-overview-tab h3 { font-size: 0.95rem; font-weight: 600; }

.ashby-job-posting-right-pane-overview-tab p {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
  margin-bottom: 1.6rem;
  color: #3A3A3A;
}

.ashby-job-posting-right-pane-overview-tab ul,
.ashby-job-posting-right-pane-overview-tab ol {
  padding-left: 1.25rem;
  margin-bottom: 1.75rem;
}

.ashby-job-posting-right-pane-overview-tab li {
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.85;
  margin-bottom: 0.65rem;
  color: #3A3A3A;
}

/* ── Application Form ──────────────────────────────────────── */

.ashby-application-form-container {
  background: #FFFFFF;
  border: 1px solid #EBEBEB;
  border-radius: var(--borderRadiusContainer);
  padding: 32px 36px;
}

.ashby-application-form-section-container {
  margin-bottom: 2.5rem;
}

.ashby-application-form-section-header {
  margin-bottom: 1.25rem;
}

.ashby-application-form-section-header-title {
  font-size: 1rem;
  margin-bottom: 4px;
}

.ashby-application-form-section-header-description {
  font-family: var(--fontFamily);
  font-size: 0.85rem;
  font-weight: 300;
  color: #999999;
}

.ashby-application-form-question-title {
  font-family: var(--fontFamily);
  font-size: 0.875rem;
  font-weight: 400;
  color: #222222;
  margin-bottom: 4px;
}

.ashby-application-form-question-description {
  font-family: var(--fontFamily);
  font-size: 0.8rem;
  font-weight: 300;
  color: #AAAAAA;
  margin-bottom: 6px;
}

.ashby-application-form-field-entry {
  margin-bottom: 1.25rem;
}

/* ── Submit Button ─────────────────────────────────────────── */

.ashby-application-form-submit-button {
  font-family: var(--fontFamily);
  background: #C41E1E;
  color: #FFFFFF;
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  border: none;
  border-radius: var(--borderRadiusButton);
  padding: 12px 28px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
}

.ashby-application-form-submit-button:hover {
  background: #A81818;
  transform: translateY(-1px);
}

.ashby-application-form-submit-button:active {
  transform: translateY(0);
}

/* ── Success / Failure States ──────────────────────────────── */

.ashby-application-form-success-container {
  background: #F4FBF4;
  border: 1px solid #B8DDB8;
  border-radius: var(--borderRadiusContainer);
  padding: 24px;
  color: #2A6A2A;
  font-size: 0.9rem;
  font-weight: 400;
}

.ashby-application-form-failure-container {
  background: #FDF3F3;
  border: 1px solid #EFBBBB;
  border-radius: var(--borderRadiusContainer);
  padding: 24px;
  color: #8B1A1A;
  font-size: 0.9rem;
  font-weight: 400;
}

/* ── Tabs ──────────────────────────────────────────────────── */

.ashby-job-posting-right-pane-tab-slider {
  background: var(--colorPrimary900);
  border-radius: 4px;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-family: var(--fontFamily);
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.01em;
}

/* ── Autofill ──────────────────────────────────────────────── */

.ashby-application-form-autofill-input-root {
  border: 1px dashed #DEDEDE;
  border-radius: var(--borderRadiusContainer);
  background: #FAFAFA;
  padding: 16px 20px;
  transition: border-color 0.15s ease;
}

.ashby-application-form-autofill-input-root:hover {
  border-color: #C41E1E;
}

.ashby-application-form-autofill-input-title {
  font-family: var(--fontFamily);
  font-size: 0.875rem;
  font-weight: 400;
  color: #111111;
}

.ashby-application-form-autofill-input-description {
  font-family: var(--fontFamily);
  font-size: 0.8rem;
  font-weight: 300;
  color: #999999;
}
