/* stylelint-disable */

/**
 * Scale Army Careers – Ashby Custom CSS
 * Unified with careers page design system
 *
 * Palette:
 *   #006451  – teal (primary actions, card hover, headings)
 *   #00563a  – teal dark (hover states, text)
 *   #c7b1fb  – lavender (gradient top, card borders)
 *   #a9aafb  – lavender mid (accents)
 *   #fff0db  – cream (badges, surfaces)
 *   #fffcf0  – off-white (page background)
 *   #00c9a2  – mint (tiny accent detail)
 *
 * Fonts: Work Sans + Google Sans Code
 * Both loaded via WordPress parent page – not imported here.
 */

/* ══════════════════════════════════════════
   TOKENS
══════════════════════════════════════════ */
:root {
  --sa-teal:           #006451;
  --sa-teal-dark:      #00563a;
  --sa-teal-light:     #d4f0e8;
  --sa-mint:           #00c9a2;
  --sa-lavender:       #c7b1fb;
  --sa-lavender-mid:   #a9aafb;
  --sa-cream:          #fff0db;
  --sa-bg:             #fffcf0;
  --sa-ink:            #00563a;
  --sa-border:         #006451;
  --sa-border-soft:    rgba(0, 100, 81, 0.22);
  --sa-shadow-hover:   0 6px 24px rgba(0, 86, 58, 0.14);
  --sa-mono:           'Google Sans Code', 'Source Code Pro', monospace;

  --colorPrimary900:       #006451;
  --colorPrimary600:       #00563a;
  --colorAppBackground:    #fffcf0;
  --widthMaxJobBoard:      1280px;
  --borderRadiusContainer: 6px;
  --borderRadiusControl:   5px;
  --borderRadiusButton:    10px;
  --fontFamily:            'Work Sans', sans-serif;

  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
}

/* ══════════════════════════════════════════
   BASE
══════════════════════════════════════════ */
body, body * {
  font-family: 'Work Sans', sans-serif !important;
  box-sizing: border-box !important;
  font-style: normal !important;
  -webkit-font-smoothing: antialiased !important;
}

body {
  background: var(--sa-bg) !important;
  color: var(--sa-ink) !important;
}

/* ══════════════════════════════════════════
   LAYOUT
══════════════════════════════════════════ */
.ashby-job-posting-brief-list,
.ashby-job-board-heading,
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  max-width: 100% !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════
   JOB BOARD HEADING
══════════════════════════════════════════ */
.ashby-job-board-heading {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  border: 1.5px solid var(--sa-teal) !important;
  border-radius: 5px !important;
  padding: 10px 20px !important;
  margin-bottom: var(--sp-8) !important;
  background: transparent !important;
}

.ashby-job-board-heading-count {
  font-family: var(--sa-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* ══════════════════════════════════════════
   FILTERS
══════════════════════════════════════════ */
.ashby-job-board-filters-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
}

.ashby-job-board-reset-filters-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  opacity: 0.55 !important;
  cursor: pointer !important;
}
.ashby-job-board-reset-filters-label:hover { opacity: 1 !important; }

select[aria-label="Location"],
select[aria-label="Employment Type"],
select[aria-label="Location Type"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
}

[class*="_filtersContainer_"],
[class*="_filters_"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: auto !important;
  max-width: none !important;
}

[class*="_filterContainer_"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

[class*="_filterContainer_"]:first-child {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
  width: 280px !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

[class*="_filterContainer_"]:first-child::after {
  content: '' !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.5px solid var(--sa-teal) !important;
  border-bottom: 1.5px solid var(--sa-teal) !important;
  pointer-events: none !important;
}

[class*="_filterContainer_"]:first-child select,
select[aria-label="Department"] {
  display: block !important;
  width: 100% !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--sa-ink) !important;
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 5px !important;
  padding: 10px 36px 10px 14px !important;
  cursor: pointer !important;
}

[class*="_filterIconContainer_"],
[class*="_filterIconContainer"] {
  display: none !important;
}

/* ══════════════════════════════════════════
   DEPARTMENT HEADINGS
══════════════════════════════════════════ */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid var(--sa-border-soft) !important;
  margin-top: var(--sp-10) !important;
  margin-bottom: var(--sp-4) !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════
   CARD GRID
══════════════════════════════════════════ */
.ashby-job-posting-brief-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: var(--sp-4) !important;
  width: 100% !important;
}

.ashby-job-posting-brief {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  height: auto !important;
  min-height: unset !important;
  background: var(--sa-bg) !important;
  border: 1.5px dashed #c7b1fb !important;
  border-radius: 6px !important;
  padding: 20px 24px !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.ashby-job-posting-brief:hover {
  border-color: #006451 !important;
  box-shadow: var(--sa-shadow-hover) !important;
  transform: translateY(-2px) !important;
}

.ashby-job-posting-brief-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
  margin: 0 0 4px 0 !important;
}

.ashby-job-posting-brief-details,
[class*="_detailsCompensation_"] {
  font-family: 'Google Sans Code', 'Source Code Pro', monospace !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  line-height: 1.7 !important;
  margin-top: 0 !important;
}

[class*="_details_1cp2r"] p:first-child {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — HEADER
══════════════════════════════════════════ */
.ashby-job-posting-header {
  background: linear-gradient(180deg, #c7b1fb 0%, #fffcf0 100%) !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 32px 64px 40px !important;
  margin-bottom: 0 !important;
}

.ashby-job-board-back-to-all-jobs-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sa-teal) !important;
  background: rgba(255,252,240,0.75) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 8px 14px !important;
  margin-bottom: 20px !important;
  cursor: pointer !important;
}
.ashby-job-board-back-to-all-jobs-button:hover {
  background: var(--sa-bg) !important;
  border-color: var(--sa-teal) !important;
}

.ashby-job-posting-heading {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — LEFT PANE
══════════════════════════════════════════ */
.ashby-job-posting-left-pane {
  font-size: 14px !important;
  color: var(--sa-ink) !important;
  line-height: 1.5 !important;
  background: transparent !important;
  padding-right: 48px !important;
  padding-top: 16px !important;
}

[class*="_section_101oc"]:nth-child(1),
[class*="_section_101oc"]:nth-child(2),
[class*="_section_101oc"]:nth-child(3) {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ashby-job-posting-left-pane label,
.ashby-job-posting-left-pane dt,
.ashby-job-posting-left-pane h3,
.ashby-job-posting-left-pane h4 {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 6px !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — RIGHT PANE & TABS
══════════════════════════════════════════ */
.ashby-job-posting-right-pane {
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: var(--borderRadiusContainer) !important;
  overflow: hidden !important;
  margin-left: 0 !important;
  margin-top: 40px !important;
}

.ashby-job-posting-right-pane *,
.ashby-application-form-container *,
[class*="_applicationTab_"] *,
[class*="_tabPanel_"] *,
[class*="_formContent_"] * {
  background-color: #fffcf0 !important;
}

.ashby-application-form-autofill-input-root {
  background: #ede8fe !important;
  background-color: #ede8fe !important;
  border: 1px solid rgba(199,177,251,0.5) !important;
  border-radius: 8px !important;
  padding: var(--sp-5) !important;
}
.ashby-application-form-autofill-input-root * {
  background-color: transparent !important;
  border: none !important;
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
}

.ashby-job-posting-right-pane-tab-slider {
  background: var(--sa-teal) !important;
  border-radius: 3px !important;
}

/* ══════════════════════════════════════════
   JOB DESCRIPTION
══════════════════════════════════════════ */
[class*="_descriptionText_"],
[class*="_descriptionText_"] p,
[class*="_descriptionText_"] li,
[class*="_descriptionText_"] span {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  line-height: 1.75 !important;
}

[class*="_descriptionText_"] h1,
[class*="_descriptionText_"] h2,
[class*="_descriptionText_"] h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  margin-top: var(--sp-8) !important;
  margin-bottom: var(--sp-3) !important;
}

[class*="_descriptionText_"] strong {
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
}

/* ══════════════════════════════════════════
   FORM — LAYOUT
══════════════════════════════════════════ */
.ashby-application-form-container {
  padding: var(--sp-8) !important;
  background: var(--sa-bg) !important;
}

.ashby-application-form-section-container {
  margin-bottom: var(--sp-8) !important;
}

/* ══════════════════════════════════════════
   FORM — TYPOGRAPHY
══════════════════════════════════════════ */
.ashby-application-form-container * {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  line-height: 1.6 !important;
}

[class*="_title_135ul_100"],
.ashby-application-form-section-header-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--sa-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 4px !important;
}

[class*="_sectionDescription_135ul"],
.ashby-application-form-section-header-description {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  margin-bottom: 20px !important;
}

.ashby-application-form-question-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--sa-ink) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.ashby-application-form-question-description,
[class*="_selectAllThatApply"],
[class*="_multiSelectHint"] {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  margin-bottom: var(--sp-3) !important;
}

/* ══════════════════════════════════════════
   FORM — TEXT INPUTS
══════════════════════════════════════════ */
.ashby-application-form-field-entry input:not([type="radio"]):not([type="checkbox"]),
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  font-size: 14px !important;
  color: var(--sa-ink) !important;
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 5px !important;
  padding: 11px 14px !important;
  width: 100% !important;
  transition: border-color 0.15s !important;
}

.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  outline: none !important;
  border-color: var(--sa-teal) !important;
  box-shadow: 0 0 0 3px rgba(0,100,81,0.12) !important;
}

/* ══════════════════════════════════════════
   FORM — RADIO & CHECKBOX OPTION ROWS
   Make the ENTIRE row clickable, not just text
══════════════════════════════════════════ */
[class*="_option_1v5e2"] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  background: transparent !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  position: relative !important;
  /* Extend click area to full row */
  -webkit-user-select: none !important;
  user-select: none !important;
}

/* Make the label fill the entire remaining space so clicking anywhere works */
[class*="_label_1v5e2"] {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  cursor: pointer !important;
  flex: 1 !important;
  display: block !important;
  padding: 0 !important;
  /* Extend label click area to cover full row height */
  margin: -10px -14px -10px 0 !important;
  padding: 10px 14px 10px 0 !important;
}

/* Selected label */
[class*="_checked_1v5e2"],
[class*="_label_1v5e2"][class*="_checked"] {
  color: var(--sa-teal) !important;
  font-weight: 600 !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════
   FORM — RADIO CIRCLES
══════════════════════════════════════════ */
[class*="_container_ruukg"] input[type="radio"] {
  display: none !important;
}

[class*="_circle_ruukg"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  border-radius: 50% !important;
  border: 2px solid var(--sa-border-soft) !important;
  background: #fffcf0 !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

[class*="_checked_ruukg"] [class*="_circle_ruukg"] {
  border: 2px solid var(--sa-teal) !important;
  background: #fffcf0 !important;
}

[class*="_checked_ruukg"] [class*="_circle_ruukg"]::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--sa-teal) !important;
}

[class*="_container_ruukg"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
}

/* ══════════════════════════════════════════
   FORM — CHECKBOXES
   Hide SVG, show native input, kill lavender circle
══════════════════════════════════════════ */
[class*="_container_1hpbx"],
span[class*="_container_1hpbx"] {
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

[class*="_container_1hpbx"] svg,
span[class*="_container_1hpbx"] svg {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_container_1hpbx"] input[type="checkbox"],
span[class*="_container_1hpbx"] input[type="checkbox"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--sa-teal) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  border: none !important;
}

/* ══════════════════════════════════════════
   FORM — YES/NO BUTTONS
══════════════════════════════════════════ */
[class*="_yesno_"] {
  display: flex !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 400px !important;
}

[class*="_option_y2cw4"] {
  flex: 1 !important;
  min-width: 120px !important;
  padding: 12px 24px !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 10px !important;
  border: 1.5px solid var(--sa-border-soft) !important;
  background: #fffcf0 !important;
  color: var(--sa-ink) !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}

[class*="_option_y2cw4"]:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

[class*="_input_y2cw4"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

[class*="_active_y2cw4"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border-color: var(--sa-teal) !important;
  font-weight: 600 !important;
}

[class*="_active_y2cw4"]:hover {
  background: var(--sa-teal-dark) !important;
  color: #fffcf0 !important;
}

/* ══════════════════════════════════════════
   FORM — BOOLEAN/SEGMENTED BUTTONS
══════════════════════════════════════════ */
[class*="_booleanButton_"],
[class*="_segmentedButton_"],
[class*="_boolean_"] button,
[class*="_booleanOption"],
[class*="_segmentedOption"],
[class*="_toggleOption"] {
  font-size: 14px !important;
  font-weight: 500 !important;
  background: #fffcf0 !important;
  color: var(--sa-ink) !important;
  border: 1.5px solid var(--sa-border-soft) !important;
  border-radius: 10px !important;
  padding: 10px 28px !important;
  cursor: pointer !important;
  min-width: 80px !important;
  transition: all 0.15s !important;
}

[class*="_booleanButton_"]:hover,
[class*="_segmentedButton_"]:hover,
[class*="_booleanOption"]:hover,
[class*="_segmentedOption"]:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

[class*="_booleanButton_"][data-state="on"],
[class*="_booleanButton_"][aria-checked="true"],
[class*="_segmentedButton_"][data-state="on"],
[class*="_boolean_"] button[data-state="on"],
[class*="_booleanOption"][aria-checked="true"],
[class*="_segmentedOption"][aria-checked="true"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border-color: var(--sa-teal) !important;
}

/* ══════════════════════════════════════════
   FORM — FILE UPLOAD
══════════════════════════════════════════ */
.ashby-application-form-autofill-uploader {
  border: 1.5px dashed var(--sa-border-soft) !important;
  border-radius: 6px !important;
  background: var(--sa-bg) !important;
  padding: var(--sp-8) !important;
  transition: border-color 0.15s, background 0.15s !important;
}

.ashby-application-form-autofill-uploader:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

[class*="_secondary_"],
button[class*="_upload"],
button[class*="_file"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border: none !important;
  border-radius: var(--borderRadiusButton) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
}

[class*="_secondary_"]:hover { background: var(--sa-teal-dark) !important; }

[class*="_secondary_"] input[type="file"],
[class*="_secondary_"] input {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_secondary_"] span,
[class*="_secondary_"] span span {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fffcf0 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

[class*="_secondary_"] svg { display: none !important; }

[class*="_dragInstructions_"],
[class*="_dragText_"],
[class*="_orText_"] {
  font-size: 13px !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
}

/* ══════════════════════════════════════════
   FORM — SUBMIT BUTTON
══════════════════════════════════════════ */
.ashby-application-form-submit-button,
[class*="_submitButton_"],
[class*="_primary_"],
[class*="_button_"][class*="_primary_"],
[class*="_greedy_"] {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border: none !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 14px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  position: relative !important;
  overflow: hidden !important;
}

.ashby-application-form-submit-button:hover,
[class*="_submitButton_"]:hover,
[class*="_primary_"]:hover {
  background: var(--sa-teal-dark) !important;
}

[class*="_submitButton_"] input,
[class*="_submitButton_"] input[type="checkbox"],
[class*="_primary_"][class*="_greedy_"] input,
[class*="_greedy_"] input {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_submitButton_"] svg,
[class*="_primary_"][class*="_greedy_"] svg {
  display: none !important;
}

[class*="_submitButton_"] span,
[class*="_submitButton_"] span span {
  color: #fffcf0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ══════════════════════════════════════════
   FORM — FEEDBACK
══════════════════════════════════════════ */
.ashby-application-form-success-container {
  background: var(--sa-teal-light) !important;
  border: 1px solid rgba(0,100,81,0.2) !important;
  border-radius: 6px !important;
  padding: var(--sp-8) !important;
  text-align: center !important;
  color: var(--sa-teal) !important;
}

.ashby-application-form-failure-container {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 6px !important;
  padding: var(--sp-6) !important;
  color: #b91c1c !important;
}

.ashby-application-form-blocked-application-container {
  background: var(--sa-cream) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 6px !important;
  padding: var(--sp-6) !important;
  color: var(--sa-ink) !important;
}

.ashby-application-form-texting-consent-description {
  font-size: 12px !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  line-height: 1.5 !important;
}

/* ══════════════════════════════════════════
   MOBILE
══════════════════════════════════════════ */
@media (max-width: 768px) {
  .ashby-job-posting-brief-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .ashby-job-posting-brief { padding: 16px 18px !important; }
  [class*="_filtersContainer_"],
  [class*="_filters_"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
  }
  [class*="_filterContainer_"]:first-child { width: 100% !important; }
  .ashby-job-board-heading { width: 100% !important; justify-content: space-between !important; }
  .ashby-job-posting-header { padding: 20px 20px 28px !important; }
  .ashby-job-posting-heading { font-size: 22px !important; }
  .ashby-job-board-back-to-all-jobs-button { font-size: 10px !important; padding: 7px 12px !important; }
  .ashby-job-posting-left-pane { padding-right: 0 !important; padding-top: 12px !important; }
  .ashby-job-posting-right-pane { margin-top: 16px !important; }
  .ashby-application-form-container { padding: 16px !important; }
  [class*="_yesno_"] { max-width: 100% !important; }
  [class*="_option_y2cw4"] { min-width: unset !important; }
  [class*="_booleanButton_"],
  [class*="_segmentedButton_"],
  [class*="_boolean_"] button { width: 100% !important; padding: 12px 16px !important; }
}

/* ══════════════════════════════════════════
   FIX CLICKABILITY — full row click area
   Remove negative margin trick, use overlay
══════════════════════════════════════════ */

/* Reset label to normal */
[class*="_label_1v5e2"] {
  margin: 0 !important;
  padding: 4px 0 !important;
  pointer-events: auto !important;
}

/* Make the option div position relative for overlay */
[class*="_option_1v5e2"] {
  position: relative !important;
  cursor: pointer !important;
}

/* Transparent overlay covers the entire row and forwards clicks */
[class*="_option_1v5e2"]::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  cursor: pointer !important;
  background: transparent !important;
}

/* Keep the actual input and circle above the overlay */
[class*="_container_ruukg"],
[class*="_container_1hpbx"],
[class*="_circle_ruukg"],
[class*="_label_1v5e2"] {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}

/* ══════════════════════════════════════════
   CLICKABILITY — label covers full row
   The label has a for= attribute that links
   to the input, so making it fill the row
   makes the whole row clickable natively
══════════════════════════════════════════ */

/* Remove the overlay — it blocks clicks */
[class*="_option_1v5e2"]::before {
  display: none !important;
  content: none !important;
}

/* Make the option a relative container */
[class*="_option_1v5e2"] {
  position: relative !important;
}

/* Stretch the label to fill the entire option row */
[class*="_label_1v5e2"] {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  padding-left: 42px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
}

[class*="_checked_1v5e2"] {
  color: var(--sa-teal) !important;
  font-weight: 600 !important;
}

/* Keep radio/checkbox visible above label */
[class*="_container_ruukg"],
[class*="_container_1hpbx"] {
  position: relative !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

/* ══════════════════════════════════════════
   CLICKABILITY — full reset, let Ashby handle it
══════════════════════════════════════════ */

/* Remove ALL positioning tricks */
[class*="_option_1v5e2"]::before {
  display: none !important;
  content: none !important;
}

[class*="_option_1v5e2"] {
  position: static !important;
  cursor: pointer !important;
}

[class*="_label_1v5e2"] {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  cursor: pointer !important;
  display: block !important;
  flex: 1 !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
}

[class*="_container_ruukg"],
[class*="_container_1hpbx"] {
  position: relative !important;
  z-index: auto !important;
  pointer-events: auto !important;
}

/* Make sure nothing blocks clicks */
[class*="_option_1v5e2"] * {
  pointer-events: auto !important;
}

/* ══════════════════════════════════════════
   RADIO — restore native input click
   We hid the input but it's what triggers
   the selection — make it overlay the circle
══════════════════════════════════════════ */

/* Show the native radio input but make it invisible, layered over the circle */
[class*="_container_ruukg"] input[type="radio"] {
  display: block !important;
  visibility: visible !important;
  opacity: 0 !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  pointer-events: auto !important;
}

[class*="_container_ruukg"] {
  position: relative !important;
  cursor: pointer !important;
}
