/* ==========================================================================
   Bulwark Dynamics job board theme for Ashby
   Upload under Job Board Settings, Custom CSS.
   Palette and fonts match bulwarkdynamics.com.
   ========================================================================== */

/* Fonts. @import must stay the very first line of the file. Archivo is the
   display face for headings, IBM Plex Sans is the body face. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
  /* Bulwark brand palette (from the site) */
  --bw-navy: #0B1C2E;
  --bw-paper: #F4F4F2;
  --bw-signal: #FF4F00;
  --bw-signal-dark: #D94600;
  --bw-white: #FFFFFF;
  --bw-ink-soft: #55636F;
  --bw-line: #E2E3DF;

  /* ---- Ashby built-in variables ---- */

  /* Page background */
  --colorAppBackground: var(--bw-paper);

  /* Primary (accent) color used for links, the apply button and the submit
     button. NOTE: Ashby can also set these two under Theme settings in the
     admin. If you set the brand orange there, delete these two lines so the
     two places do not fight. */
  --colorPrimary900: var(--bw-signal-dark);
  --colorPrimary600: var(--bw-signal);

  /* Widths, a touch wider than the default for the long role descriptions */
  --widthMaxContent: 880px;
  --widthMaxJobBoard: 880px;
  --widthMaxSubscriptionPreferences: 600px;

  /* Corners. Bulwark reads sharp and industrial, so keep radii small. */
  --borderRadiusContainer: 4px;
  --borderRadiusControl: 4px;
  --borderRadiusButton: 2px;

  /* Default font for the whole board (body text) */
  --fontFamily: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   Headings, in Archivo and navy
   ========================================================================== */
.ashby-job-board-heading,
.ashby-job-posting-heading,
.ashby-job-posting-header,
.ashby-job-posting-brief-title,
.ashby-department-heading,
.ashby-job-posting-brief-department-heading,
.ashby-application-form-section-header-title {
  font-family: "Archivo", system-ui, sans-serif;
  color: var(--bw-navy);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.ashby-job-board-heading {
  font-size: 2rem;
}

/* The open-roles count next to the board heading */
.ashby-job-board-heading-count {
  color: var(--bw-ink-soft);
  font-weight: 500;
}

/* ==========================================================================
   Role cards (the list of open postings)
   ========================================================================== */
.ashby-job-posting-brief {
  background: var(--bw-white);
  border: 1px solid var(--bw-line);
  border-radius: var(--borderRadiusContainer);
  padding: 18px 20px;
  margin-bottom: 12px;
  transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.ashby-job-posting-brief:hover {
  border-color: var(--bw-signal);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(11, 28, 46, 0.08);
}

.ashby-job-posting-brief-title {
  font-size: 1.1rem;
}

.ashby-job-posting-brief:hover .ashby-job-posting-brief-title {
  color: var(--bw-signal);
}

/* The location and department line under each role */
.ashby-job-posting-brief-details {
  color: var(--bw-ink-soft);
}

/* ==========================================================================
   Job posting and application pages: let the content sit on the paper page
   color instead of Ashby's default white panels. The resume autofill box at
   the top of the form blends in too. Text fields stay white so they still
   read as fillable inputs.
   ========================================================================== */
.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane,
.ashby-job-posting-description-container,
.ashby-application-form-container,
.ashby-application-form-autofill-pane,
.ashby-application-form-autofill-input-root,
.ashby-application-form-autofill-input-base-layer {
  background: transparent !important;
}

/* ==========================================================================
   Filters and labels, set like the small uppercase labels on the site
   ========================================================================== */
.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--bw-ink-soft);
}

.ashby-job-board-filter {
  border: 1px solid var(--bw-line);
  border-radius: var(--borderRadiusControl);
  background: var(--bw-white);
}

/* ==========================================================================
   Apply and submit buttons
   ========================================================================== */
.ashby-application-form-submit-button {
  background: var(--bw-signal);
  color: var(--bw-white);
  font-weight: 600;
  letter-spacing: 0.01em;
  border-radius: var(--borderRadiusButton);
  border: none;
  transition: background 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  background: var(--bw-signal-dark);
}

/* The button that returns from a single role to the full list */
.ashby-job-board-back-to-all-jobs-button {
  color: var(--bw-signal);
  font-weight: 500;
}

/* The slider under the Overview / Application tabs */
.ashby-job-posting-right-pane-tab-slider {
  background: var(--bw-signal);
}

/* ==========================================================================
   Form inputs
   ========================================================================== */
.ashby-application-form-input-text,
.ashby-application-form-input-textarea,
.ashby-application-form-input-dropdown,
.ashby-application-form-input-date {
  border: 1px solid var(--bw-line);
  border-radius: var(--borderRadiusControl);
  background: var(--bw-white);
}

.ashby-application-form-input-text:focus,
.ashby-application-form-input-textarea:focus,
.ashby-application-form-input-dropdown:focus-within {
  border-color: var(--bw-signal);
  box-shadow: 0 0 0 3px rgba(255, 79, 0, 0.18);
  outline: none;
}

/* The field labels (question titles) on the application form */
.ashby-application-form-question-title {
  color: var(--bw-navy);
  font-weight: 600;
}

/* The resume drag and drop zone */
.ashby-application-form-input-file-dropzone {
  border: 1px dashed var(--bw-line);
  border-radius: var(--borderRadiusControl);
  background: var(--bw-paper);
}

.ashby-application-form-input-file-dropzone:hover {
  border-color: var(--bw-signal);
}
