/* =========================================================
   AUFINITY × ASHBY — JOB BOARD THEME
   Light theme for the new Aufinity career page
   2026-09-14
   ========================================================= */

/* Ashby exposes these variables for its embedded job board. */
:root {
  --widthMaxJobBoard: 100%;
  --widthMaxApplicationForm: 760px;

  --borderRadiusContainer: 20px;
  --borderRadiusControl: 12px;
  --borderRadiusButton: 999px;

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

  --colorAppBackground: #ffffff;
  --colorNeutral000: #ffffff;
  --colorNeutral100: #f7f9fa;
  --colorNeutral200: #edf0f2;
  --colorNeutral300: #dde2e6;
  --colorNeutral400: #a5adb5;
  --colorNeutral500: #737d87;
  --colorNeutral600: #56606a;
  --colorNeutral700: #394149;
  --colorNeutral800: #20262c;
  --colorNeutral900: #0b0e12;

  --colorPrimary000: #eef8ff;
  --colorPrimary100: #dff2ff;
  --colorPrimary200: #bfe6ff;
  --colorPrimary300: #8fd2ff;
  --colorPrimary400: #4db7fb;
  --colorPrimary500: #009fea;
  --colorPrimary600: #0088ca;
  --colorPrimary700: #006da3;

  --aufinity-blue: #009fea;
  --aufinity-black: #0b0e12;
  --aufinity-muted: #737d87;
  --aufinity-line: #e5e9ed;
  --aufinity-surface: #f7f9fa;
}

/* ---------- Global ---------- */

html,
body {
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
  font-family: var(--fontFamily) !important;
}

body {
  margin: 0 !important;
}

* {
  box-sizing: border-box;
}

a {
  color: var(--aufinity-blue) !important;
  text-decoration: none !important;
}

a:hover {
  color: #007fc0 !important;
}

button,
[role="button"],
input,
select,
textarea {
  font: inherit !important;
}

button,
[role="button"] {
  border-radius: 999px !important;
}

input,
select,
textarea {
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
  border: 1px solid var(--aufinity-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--aufinity-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 159, 234, 0.12) !important;
}

/* ---------- Full job board ---------- */

.ashby-job-board-heading {
  color: var(--aufinity-black) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

.ashby-job-board-heading-count {
  color: var(--aufinity-muted) !important;
  font-weight: 500 !important;
}

/* Filters */
.ashby-job-board-filter {
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
  border: 1px solid var(--aufinity-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  min-height: 44px !important;
}

.ashby-job-board-filter:hover {
  border-color: #cfd6dc !important;
}

.ashby-job-board-filter:focus,
.ashby-job-board-filter:focus-within {
  border-color: var(--aufinity-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 159, 234, 0.10) !important;
}

/* Department / group headings */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  color: var(--aufinity-black) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin-top: 30px !important;
  margin-bottom: 12px !important;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  color: var(--aufinity-muted) !important;
}

/* Job list */
.ashby-job-posting-brief-list {
  display: grid !important;
  gap: 10px !important;
}

.ashby-job-posting-brief {
  margin: 0 !important;
  padding: 18px 20px !important;
  background: #ffffff !important;
  border: 1px solid var(--aufinity-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  transition:
    border-color 160ms ease,
    transform 160ms ease,
    box-shadow 160ms ease !important;
}

.ashby-job-posting-brief:hover {
  border-color: #cbd2d8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(11, 14, 18, 0.06) !important;
}

.ashby-job-posting-brief-title {
  color: var(--aufinity-blue) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

.ashby-job-posting-brief-title:hover {
  color: #007fc0 !important;
}

.ashby-job-posting-brief-details {
  color: #56606a !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin-top: 5px !important;
}

/* ---------- Job detail ---------- */

.ashby-job-posting-heading {
  color: var(--aufinity-black) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
}

.ashby-job-posting-heading + * {
  color: var(--aufinity-muted) !important;
}

.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane,
.ashby-job-posting-details,
.ashby-job-posting-description {
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
}

.ashby-job-posting-description h1,
.ashby-job-posting-description h2,
.ashby-job-posting-description h3,
.ashby-job-posting-description h4,
.ashby-job-posting-description strong {
  color: var(--aufinity-black) !important;
}

.ashby-job-posting-description p,
.ashby-job-posting-description li {
  color: #394149 !important;
  line-height: 1.65 !important;
}

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

.ashby-application-form-container {
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
}

.ashby-application-form-section-container {
  background: #ffffff !important;
  border-color: var(--aufinity-line) !important;
}

.ashby-application-form-section-header-title,
.ashby-application-form-question-title {
  color: var(--aufinity-black) !important;
  font-weight: 650 !important;
}

.ashby-application-form-section-header-description,
.ashby-application-form-question-description {
  color: var(--aufinity-muted) !important;
}

.ashby-application-form-field-entry input,
.ashby-application-form-field-entry select,
.ashby-application-form-field-entry textarea {
  width: 100% !important;
  background: #ffffff !important;
  color: var(--aufinity-black) !important;
  border: 1px solid var(--aufinity-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.ashby-application-form-submit-button {
  background: var(--aufinity-blue) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 650 !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  box-shadow: none !important;
}

.ashby-application-form-submit-button:hover {
  background: #0088ca !important;
}

.ashby-application-form-success-container {
  background: #f0faf5 !important;
  color: var(--aufinity-black) !important;
  border: 1px solid #ccebdc !important;
  border-radius: 16px !important;
}

.ashby-application-form-failure-container {
  background: #fff6f6 !important;
  color: var(--aufinity-black) !important;
  border: 1px solid #f1d3d3 !important;
  border-radius: 16px !important;
}

/* ---------- Generic Ashby controls / fallbacks ---------- */

/* Ashby occasionally changes internal wrappers while keeping these semantics. */
[class*="ashby"] button {
  box-shadow: none !important;
}

[class*="ashby"] hr {
  border: 0 !important;
  border-top: 1px solid var(--aufinity-line) !important;
}

[class*="ashby"] svg {
  flex: 0 0 auto;
}

/* Reduce visual weight of the Ashby footer/branding without hiding it. */
a[href*="ashbyhq.com"] {
  color: #98a1aa !important;
}

/* ---------- Mobile ---------- */

@media (max-width: 680px) {
  :root {
    --borderRadiusContainer: 16px;
    --borderRadiusControl: 11px;
  }

  .ashby-job-board-heading {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }

  .ashby-job-posting-brief-list {
    gap: 8px !important;
  }

  .ashby-job-posting-brief {
    padding: 15px 16px !important;
    border-radius: 14px !important;
  }

  .ashby-job-posting-brief-title {
    font-size: 15px !important;
  }

  .ashby-job-posting-brief-details {
    font-size: 12px !important;
  }

  .ashby-department-heading,
  .ashby-job-posting-brief-department-heading {
    margin-top: 24px !important;
    margin-bottom: 10px !important;
  }

  .ashby-job-posting-heading {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  .ashby-application-form-submit-button {
    width: 100% !important;
  }
}
