/* ================================
   Global polish & variables
==================================*/
:root {
  --brandPrimary600: #5b5bd6;           /* adjust to your brand if needed */
  --textMain: #1f2937;
  --textMuted: #6b7280;
  --cardBg: #ffffff;
  --cardRadius: 14px;
  --cardShadow: 0 6px 22px rgba(16, 24, 40, 0.08);
}

/* Base typography & spacing */
body, .ashby-job-board-heading, .ashby-job-posting-heading {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  color: var(--textMain);
}
.ashby-job-board-heading,
.ashby-department-heading,
.ashby-job-posting-heading {
  margin-top: 8px;
  margin-bottom: 8px;
}

/* Page background */
:root { --colorAppBackground: #f7f8fa; }

/* ================================
   Banner (no overlay)
==================================*/
.ashby-job-board-filters-label {
  position: relative;
  display: block;
  width: 100%;
  height: 200px;                 /* banner height */
  padding: 0;
  margin: 12px 0 18px;
  border-radius: var(--cardRadius);
  background-image: url("https://i.imgur.com/v7NsthD.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  color: transparent !important;
  font-size: 0 !important;
  text-shadow: none !important;
}
.ashby-job-board-filters-label::before { content: none !important; }

/* ================================
   Filters row
==================================*/
.ashby-job-board-filter {
  margin-top: 0 !important;
  background: var(--cardBg);
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(16,24,40,0.06);
  border: 1px solid #e5e7eb;
}
.ashby-job-board-reset-filters-label {
  color: var(--brandPrimary600);
  font-weight: 600;
  cursor: pointer;
}

/* ================================
   Job posting list (cards)
==================================*/
.ashby-job-posting-brief {
  background: var(--cardBg);
  border-radius: var(--cardRadius);
  box-shadow: var(--cardShadow);
  padding: 14px 16px;
  margin-bottom: 14px;
  border: 1px solid #eef2f7;
  transition: transform .08s ease, box-shadow .12s ease;
}
.ashby-job-posting-brief:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(16,24,40,0.12);
}

.ashby-job-posting-brief-title a,
.ashby-job-posting-heading {
  color: #2d3a8c;                 /* readable, professional blue */
  font-weight: 700;
  text-decoration: none;
}
.ashby-job-posting-brief-title a:hover { text-decoration: underline; }

.ashby-job-posting-brief-details,
.ashby-job-posting-brief-department-heading,
.ashby-job-posting-brief-department-heading-level {
  color: var(--textMuted);
  font-size: 14px;
}

/* Section headers (e.g., Accounting, Audit) */
.ashby-department-heading {
  font-size: 22px;
  font-weight: 800;
  margin: 24px 0 10px;
}

/* ================================
   Job posting detail page polish
==================================*/
.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane {
  background: var(--cardBg);
  border-radius: var(--cardRadius);
  box-shadow: var(--cardShadow);
  padding: 18px;
  border: 1px solid #eef2f7;
}

/* Tabs / overview / application */
.ashby-job-posting-right-pane-tab-slider,
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  border-radius: 10px;
}

/* Primary CTA button (Apply) */
.ashby-application-form-submit-button {
  background: var(--brandPrimary600);
  border-radius: 12px;
  color: #fff;
  font-weight: 700;
  padding: 12px 16px;
  transition: filter .12s ease, transform .06s ease;
}
.ashby-application-form-submit-button:hover { filter: brightness(0.95); }
.ashby-application-form-submit-button:active { transform: translateY(1px); }

/* Inputs */
.ashby-application-form-field-entry input,
.ashby-application-form-field-entry select,
.ashby-application-form-field-entry textarea {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
}

/* ================================
   Small refinements
==================================*/
/* Keep counts and tiny meta text muted */
.ashby-job-board-heading-count,
.ashby-job-posting-brief-department-heading-level,
.ashby-job-posting-brief-department-heading {
  color: var(--textMuted);
}

/* Consistent container width */
:root { --widthMaxJobBoard: 1600px; }

/* Responsive tweaks */
@media (max-width: 640px) {
  .ashby-job-board-filters-label { height: 150px; margin: 8px 0 12px; }
  .ashby-job-posting-brief { padding: 12px; }
}

