/*
 * Luminovo · Ashby job board theme
 * Brand: Luminovo 2026 (Brand Hub v1.11), matched to luminovo.com/careers
 * Upload: Ashby Admin → Job Board → Theme → Custom CSS (replaces the current Inter/indigo file)
 *
 * Ashby only accepts its own `ashby-*` classes, plain element selectors and standard at-rules.
 * The generated `_xyz_123` classes are rejected on upload and change with every Ashby release,
 * so this file never uses them.
 *
 * Fonts (all loaded from luminovo.com, Helvetica/Arial as fallback)
 * - Headlines: Rinter 400
 * - Text: ABC Social 400 and 500
 * - Eyebrows and labels: ABC Social Mono 400 and 500
 */

/* ---------- Fonts ---------- */
/* These paths are content-hashed by the website build. If the web team publishes stable paths
   (e.g. https://luminovo.com/fonts/abc-social-400.woff2), swap them in here. Until then, if a
   file ever moves, that style falls back to Helvetica/Arial and nothing breaks. */
@font-face {
  font-family: "Rinter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://luminovo.com/_next/static/immutable/media/rinter_400-s.p.1znx4a7u0awmg.woff2") format("woff2");
}

@font-face {
  font-family: "ABC Social";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://luminovo.com/_next/static/immutable/media/abc_social_400-s.p.17rlrfjv4xjsv.woff2") format("woff2");
}

@font-face {
  font-family: "ABC Social";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("https://luminovo.com/_next/static/immutable/media/abc_social_500-s.p.2wpjg5154vsm7.woff2") format("woff2");
}

@font-face {
  font-family: "ABC Social Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://luminovo.com/_next/static/immutable/media/abc_social_mono_400-s.3u1cfxeba00zo.woff2") format("woff2");
}

@font-face {
  font-family: "ABC Social Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("https://luminovo.com/_next/static/immutable/media/abc_social_mono_500-s.0jy4x79jgd6zv.woff2") format("woff2");
}

/* ---------- Ashby theme variables ---------- */
/* !important is needed: Ashby writes the admin "brand color" inline on <html>, which beats :root. */
:root {
  /* Primary: Dark Brown drives buttons, active tabs, selected states */
  --colorPrimary000: #F5F1EF !important;
  --colorPrimary500A: rgba(30, 5, 0, 0.08) !important;
  --colorPrimary600: #1E0500 !important;
  --colorPrimary700: #3D0A00 !important;
  --colorPrimary900: #1E0500 !important;
  --colorSecondary900: #AD81FF !important;

  /* Page and surfaces */
  --colorAppBackground: #ECE4E0 !important;   /* Off-White, never #FFFFFF */
  --colorNeutral000: #FFFFFF !important;      /* cards on Off-White stay white */
  --colorNeutral000A: rgba(255, 255, 255, 0) !important;
  --colorNeutral100: #F5F1EF !important;
  --colorNeutral100A: rgba(30, 5, 0, 0.03) !important;
  --colorNeutral100Transparent: rgba(245, 241, 239, 0) !important;
  --colorNeutral200: #E8E1DD !important;
  --colorNeutral200A: rgba(30, 5, 0, 0.08) !important;
  --colorNeutral300: #D8CCC6 !important;      /* brand line color */
  --colorNeutral300A: rgba(30, 5, 0, 0.14) !important;
  --colorNeutral400: #BFB2AC !important;
  --colorNeutral400A: rgba(30, 5, 0, 0.22) !important;
  --colorNeutral500: #9E8580 !important;
  --colorNeutral500A: rgba(30, 5, 0, 0.36) !important;
  --colorNeutral600: #786966 !important;
  --colorNeutral600A: rgba(30, 5, 0, 0.55) !important;
  --colorNeutral600Transparent: rgba(120, 105, 102, 0.25) !important;
  --colorNeutral700: #614A42 !important;      /* secondary text */
  --colorNeutral700A: rgba(30, 5, 0, 0.68) !important;
  --colorNeutral800: #351E1A !important;
  --colorNeutral800A: rgba(30, 5, 0, 0.82) !important;
  --colorNeutral900: #1E0500 !important;

  /* Flat brand: no blue-tinted shadows */
  --colorNeutralShadow: rgba(30, 5, 0, 0) !important;
  --colorPrimaryShadow: rgba(30, 5, 0, 0) !important;
  --colorShadowPrimaryLight: rgba(173, 129, 255, 0.35) !important;
  --colorShadowPrimaryXLight: rgba(173, 129, 255, 0.18) !important;

  /* Type and shape */
  --fontFamily: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  --widthMaxJobBoard: 800px !important;
  --borderRadiusContainer: 10px !important;   /* brand card radius */
  --borderRadiusControl: 8px !important;      /* inputs */
  --borderRadiusButton: 8px !important;       /* buttons, like luminovo.com */
}

/* ---------- Base ---------- */
body {
  background-color: #ECE4E0;
  color: #1E0500;
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none; /* the web files ship 400 and 500 only, so no faux bold */
}

h1, h2, h3, h4, h5, h6 {
  color: #1E0500;
}

/* Links: the website's link purple (#6E45C2, 5.1:1 on Off-White), underlined */
a {
  color: #6E45C2;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

a:hover {
  color: #574180;
  text-decoration-thickness: 2px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid #AD81FF;
  outline-offset: 2px;
}

/* ---------- Header with logo ---------- */
.ashby-job-posting-header {
  background-color: #ECE4E0;
}

.ashby-job-board-back-to-all-jobs-button {
  color: #1E0500;
}

/* ---------- Job board: list of open positions ---------- */
.ashby-job-board-heading {
  font-family: "Rinter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: 0;
  color: #1E0500;
}

.ashby-job-board-heading-count {
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.5em;
  font-weight: 500;
  color: #614A42;
  vertical-align: middle;
}

.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  color: #1E0500;
  font-weight: 500;
}

.ashby-job-board-filter {
  background-color: #FFFFFF;
  border: 1px solid #D8CCC6;
  border-radius: 8px;
  color: #1E0500;
}

/* Department headings read like the website's mono eyebrows */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  margin-top: 32px;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  font-family: "ABC Social Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #614A42;
}

/* Job cards: white on Off-White, 1px line, no shadow */
.ashby-job-posting-brief-list a {
  text-decoration: none;
}

.ashby-job-posting-brief {
  background-color: #FFFFFF;
  border: 1px solid #E8E1DD;
  border-radius: 10px;
  box-shadow: none;
  padding: 20px 24px;
  transition: border-color 0.15s ease;
}

.ashby-job-posting-brief:hover {
  border-color: #1E0500;
  box-shadow: none;
}

.ashby-job-posting-brief-title {
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  color: #1E0500;
}

.ashby-job-posting-brief-details,
.ashby-job-posting-brief-details p {
  color: #614A42;
  font-size: 14px;
  line-height: 1.5;
}

/* ---------- Job posting page ---------- */
.ashby-job-posting-heading {
  font-family: "Rinter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: 0;
  color: #1E0500;
}

/* Job facts card. The signature corner sits here: once per view, on the element seen first. */
.ashby-job-posting-left-pane {
  background-color: #FFFFFF;
  border: 1px solid #E8E1DD;
  border-radius: 10px 32px 10px 10px;
  box-shadow: none;
}

.ashby-job-posting-left-pane h2 {
  font-family: "ABC Social Mono", ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #786966;
}

.ashby-job-posting-left-pane p,
.ashby-job-posting-left-pane span {
  color: #1E0500;
}

/* Overview / Application tabs */
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-weight: 500;
}

.ashby-job-posting-right-pane-tab-slider {
  background-color: #1E0500;
  height: 2px;
  border-radius: 2px;
}

/* Job description text */
.ashby-job-posting-right-pane p,
.ashby-job-posting-right-pane li {
  color: #1E0500;
  line-height: 1.55;
}

.ashby-job-posting-right-pane h1,
.ashby-job-posting-right-pane h2,
.ashby-job-posting-right-pane h3 {
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  color: #1E0500;
  letter-spacing: 0;
}

.ashby-job-posting-right-pane strong,
.ashby-job-posting-right-pane b {
  font-weight: 500;
  color: #1E0500;
}

/* ---------- Application form ---------- */
.ashby-application-form-section-container {
  background-color: transparent;
}

.ashby-application-form-section-header-title {
  font-family: "Rinter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  color: #1E0500;
}

.ashby-application-form-section-header-description,
.ashby-application-form-question-description,
.ashby-application-form-texting-consent-description {
  color: #614A42;
}

.ashby-application-form-question-title {
  font-weight: 500;
  color: #1E0500;
}

.ashby-application-form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ashby-application-form-container textarea,
.ashby-application-form-container select {
  background-color: #FFFFFF;
  border: 1px solid #D8CCC6;
  border-radius: 8px;
  color: #1E0500;
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  box-shadow: none;
}

.ashby-application-form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,
.ashby-application-form-container textarea:hover {
  border-color: #9E8580;
}

.ashby-application-form-container input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.ashby-application-form-container textarea:focus,
.ashby-application-form-container select:focus {
  border-color: #1E0500;
  box-shadow: 0 0 0 3px rgba(173, 129, 255, 0.35);
  outline: none;
}

.ashby-application-form-container input::placeholder,
.ashby-application-form-container textarea::placeholder {
  color: #9E8580;
}

.ashby-application-form-container input:-webkit-autofill,
.ashby-application-form-container input:-webkit-autofill:hover,
.ashby-application-form-container input:-webkit-autofill:focus {
  -webkit-text-fill-color: #1E0500;
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset;
}

/* Checkboxes and yes/no toggles */
.ashby-application-form-input-checkbox-group-option-checkbox {
  border-color: #9E8580;
  border-radius: 4px;
}

.ashby-application-form-input-checkbox-group-option-label {
  color: #1E0500;
}

.ashby-application-form-input-yesno-option {
  background-color: #FFFFFF;
  border-color: #D8CCC6;
  color: #614A42;
}

/* File upload */
.ashby-application-form-input-file-dropzone {
  color: #614A42;
}

/* Resume autofill box */
.ashby-application-form-autofill-input-root {
  background-color: #FFFFFF;
  border: 1px solid #E8E1DD;
  border-radius: 10px;
}

.ashby-application-form-autofill-input-title {
  color: #1E0500;
  font-weight: 500;
}

.ashby-application-form-autofill-input-description {
  color: #614A42;
}

.ashby-application-form-autofill-input-icon {
  color: #1E0500;
}

.ashby-application-form-autofill-input-drag-layer {
  background-color: #F5F1EF;
  border-color: #AD81FF;
}

/* Submit: Dark Brown with Off-White text, like the website's primary buttons */
.ashby-application-form-submit-button {
  background-color: #1E0500;
  color: #ECE4E0;
  border: none;
  border-radius: 8px;
  font-family: "ABC Social", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
  box-shadow: none;
  transition: background-color 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  background-color: #3D0A00;
  color: #ECE4E0;
}

/* Result screens */
.ashby-application-form-success-container,
.ashby-application-form-failure-container,
.ashby-application-form-blocked-application-container {
  background-color: #FFFFFF;
  border: 1px solid #E8E1DD;
  border-radius: 10px;
  color: #1E0500;
}

.ashby-survey-form-container {
  color: #1E0500;
}

/* ---------- Small screens ---------- */
@media (max-width: 768px) {
  .ashby-job-board-heading {
    font-size: 32px;
  }

  .ashby-job-posting-heading {
    font-size: 26px;
  }

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

  .ashby-job-posting-brief-title {
    font-size: 18px;
  }
}
