/* ============================================================
   SOL DESIGN SYSTEM — Ashby Job Board
   meetsol.com
   ============================================================ */


/* ============================================================
   TOKENS + ASHBY VARIABLE OVERRIDES
   ============================================================ */

:root {
  /* Sol color palette */
  --color-sol-yellow:        #FBA41D;
  --color-sol-bright-yellow: #F5EA5D;
  --color-warm-yellow:       #FEC512;
  --color-hot-orange:        #E84D00;
  --color-cloud-white:       #FCFCF4;
  --color-warm-gray:         #F2F0E5;
  --color-night-black:       #121619;

  /* Font families */
  --font-display: "Grenette Pro", Georgia, serif;
  --font-body:    "Basis Grotesque Pro", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", sans-serif;
  --font-mono:    "Basis Grotesque Mono Pro", "Courier New", monospace;

  /* Ashby required variables */
  --colorPrimary900:      #E84D00;
  --colorPrimary600:      #FBA41D;
  --widthMaxJobBoard:     800px;
  --borderRadiusContainer: 10px;
  --borderRadiusControl:   10px;
  --borderRadiusButton:    999px;
  --fontFamily:            "Basis Grotesque Pro", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", sans-serif;
  --colorAppBackground:    #FCFCF4;
}


/* ============================================================
   ASHBY COMPONENT OVERRIDES
   ============================================================ */

/* Job board heading */
.ashby-job-board-heading {
  font-family:    var(--font-display);
  font-weight:    300;
  font-size:      40px;
  line-height:    1.1;
  letter-spacing: -0.01em;
  color:          var(--color-night-black);
}

/* Job posting title (list view) */
.ashby-job-posting-brief-title {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      20px;
  line-height:    1.1;
  letter-spacing: 0;
  color:          var(--color-night-black);
}

/* Job posting heading (detail view) */
.ashby-job-posting-heading {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      20px;
  line-height:    1.1;
  letter-spacing: 0;
  color:          var(--color-night-black);
}

/* Department / team headings */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  font-family:    var(--font-mono);
  font-weight:    400;
  font-size:      14px;
  line-height:    1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color:          var(--color-night-black);
}

/* Job posting brief row */
.ashby-job-posting-brief {
  margin-bottom: 10px;
}

/* Submit / apply button */
.ashby-application-form-submit-button {
  background-color: var(--color-sol-bright-yellow);
  color:            var(--color-night-black);
  border:           none;
  border-radius:    999px;
  font-family:      var(--font-body);
  font-size:        16px;
  font-weight:      400;
  height:           48px;
  padding:          0 48px;
  cursor:           pointer;
  transition:       background-color 0.2s ease;
}

.ashby-application-form-submit-button:hover {
  background-color: var(--color-hot-orange);
}

/* Back to all jobs button */
.ashby-job-board-back-to-all-jobs-button {
  background-color: transparent;
  color:            var(--color-night-black);
  border:           1.5px solid var(--color-night-black);
  border-radius:    999px;
  font-family:      var(--font-body);
  font-size:        16px;
  font-weight:      400;
  cursor:           pointer;
  transition:       background-color 0.2s ease, border-color 0.2s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  background-color: var(--color-hot-orange);
  border-color:     var(--color-hot-orange);
}

/* Filter select */
.ashby-job-board-filter {
  font-family:      var(--font-body);
  font-size:        18px;
  border-radius:    10px;
  background-color: var(--color-warm-gray);
  color:            var(--color-night-black);
  border:           1.5px solid transparent;
  transition:       border-color 0.15s ease;
}

/* Filter + reset labels */
.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  font-family:    var(--font-display);
  font-weight:    400;
  font-size:      14px;
  letter-spacing: 0.02em;
  color:          var(--color-night-black);
}

/* Question titles */
.ashby-application-form-question-title {
  font-family:    var(--font-display);
  font-weight:    600;
  font-size:      20px;
  line-height:    1.1;
  letter-spacing: 0;
}

/* Section header title */
.ashby-application-form-section-header-title {
  font-family:    var(--font-display);
  font-weight:    300;
  font-size:      56px;
  line-height:    1.1;
  letter-spacing: -0.01em;
}

/* Success state */
.ashby-application-form-success-container {
  font-family:      var(--font-body);
  font-size:        18px;
  line-height:      1.3;
  padding:          24px;
  border-radius:    10px;
  background-color: var(--color-sol-bright-yellow);
  color:            var(--color-night-black);
}

/* Failure state */
.ashby-application-form-failure-container {
  font-family:   var(--font-body);
  font-size:     18px;
  line-height:   1.3;
  padding:       24px;
  border-radius: 10px;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

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

  .ashby-application-form-submit-button {
    padding: 0 32px;
  }

  .ashby-job-board-back-to-all-jobs-button {
    padding: 0 32px;
  }
}
