/* stylelint-disable */

/* ================================
   LAP Coffee — Ashby Custom Theme
   ================================ */

/* Font face */
@font-face {
  font-family: "Caustenround Medium";
  src: url("https://cdn.prod.website-files.com/6486f424f96e22d43c4d3612/64871f8c51bb7220376ee969_CaustenRound-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ---------- Core Tokens ---------- */
:root {
  /* Brand colors */
  --colorPrimary900: #00234a;
  --colorPrimary600: #005dc6;

  /* Background */
  --colorAppBackground: #f0ece2;

  /* Text + UI */
  --colorTextPrimary: #0f172a;
  --colorTextSecondary: #334155;
  --colorBorder: #cbd5e1;
  --colorMuted: #e2e8f0;
  --colorSuccess: #0f766e;
  --colorError: #b91c1c;

  /* Surfaces */
  --surface: #ffffff;
  --surfaceAlt: #fafafa;
  --surfaceHover: #f5f7fb;

  /* Layout */
  --widthMaxJobBoard: 960px;

  /* Radii */
  --borderRadiusContainer: 12px;
  --borderRadiusControl: 10px;
  --borderRadiusButton: 10px;

  /* Shadows */
  --shadowElevated: 0 8px 24px rgba(2, 6, 23, 0.08);
  --shadowFocus: 0 0 0 3px rgba(0, 93, 198, 0.25);

  /* Typography */
  --fontFamily: "Caustenround Medium", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", sans-serif;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
}

/* ---------- Global Base ---------- */
html, body {
  background: var(--colorAppBackground) !important;
  color: var(--colorTextPrimary);
  font-family: var(--fontFamily);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--colorPrimary600);
  text-decoration: none;
}
a:hover { text-decoration: underline; }

/* ---------- Job Board Shell ---------- */
.ashby-job-board-heading {
  max-width: var(--widthMaxJobBoard);
  margin: var(--space-6) auto var(--space-2) auto !important;
  color: var(--colorPrimary900);
  font-weight: 600;
}

.ashby-job-board-heading-count,
.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  color: var(--colorTextSecondary);
}

.ashby-job-board-filter {
  border: 1px solid var(--colorBorder);
  border-radius: var(--borderRadiusControl);
  background: var(--surface);
  padding: var(--space-2) var(--space-3);
}
.ashby-job-board-filter:focus {
  outline: none;
  box-shadow: var(--shadowFocus);
  border-color: var(--colorPrimary600);
}

.ashby-job-posting-brief-list {
  max-width: var(--widthMaxJobBoard);
  margin: 0 auto var(--space-8) auto !important;
}

.ashby-job-posting-brief {
  background: var(--surface);
  border: 1px solid var(--colorMuted);
  border-radius: var(--borderRadiusContainer);
  padding: var(--space-4);
  margin-bottom: var(--space-3);
  box-shadow: var(--shadowElevated);
  transition: transform 120ms ease, box-shadow 120ms ease;
}
.ashby-job-posting-brief:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(2, 6, 23, 0.12);
}
.ashby-job-posting-brief-title {
  color: var(--colorPrimary900);
  font-weight: 600;
}

/* ---------- Posting Detail Layout ---------- */
.ashby-job-posting-header {
  max-width: var(--widthMaxJobBoard);
  margin: var(--space-8) auto var(--space-4) auto !important;
  color: var(--colorPrimary900);
}

.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane {
  background: var(--surface);
  border: 1px solid var(--colorMuted);
  border-radius: var(--borderRadiusContainer);
  box-shadow: var(--shadowElevated);
  padding: var(--space-5);
}

.ashby-job-posting-right-pane-tab-slider {
  background: var(--surfaceAlt);
  border: 1px solid var(--colorMuted);
  padding: var(--space-1);
  border-radius: var(--borderRadiusControl);
}

.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  border-radius: var(--borderRadiusControl);
  padding: var(--space-2) var(--space-4);
}

.ashby-job-posting-right-pane-overview-tab[aria-selected="true"],
.ashby-job-posting-right-pane-application-tab[aria-selected="true"] {
  background: var(--colorPrimary600);
  color: #fff;
}

/* ---------- Application Form ---------- */
.ashby-application-form-container {
  background: var(--surface);
  border-radius: var(--borderRadiusContainer);
}

.ashby-application-form-section-container {
  border-top: 1px solid var(--colorMuted);
  padding-top: var(--space-4);
  margin-top: var(--space-4);
}

.ashby-application-form-question-title {
  color: var(--colorPrimary900);
  font-weight: 600;
}

.ashby-application-form-question-description,
.ashby-application-form-texting-consent-description {
  color: var(--colorTextSecondary);
}

.ashby-application-form-field-entry input,
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--colorBorder);
  border-radius: var(--borderRadiusControl);
  padding: var(--space-3) var(--space-4);
  color: var(--colorTextPrimary);
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.ashby-application-form-field-entry input::placeholder,
.ashby-application-form-field-entry textarea::placeholder {
  color: #94a3b8;
}
.ashby-application-form-field-entry input:hover,
.ashby-application-form-field-entry textarea:hover,
.ashby-application-form-field-entry select:hover {
  background: var(--surfaceHover);
}
.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  outline: none;
  border-color: var(--colorPrimary600);
  box-shadow: var(--shadowFocus);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
  color: var(--colorSuccess);
}
.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
  color: var(--colorError);
}

/* Submit button */
.ashby-application-form-submit-button {
  background: var(--colorPrimary600) !important;
  color: #ffffff !important;
  border: 1px solid var(--colorPrimary600) !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: var(--space-3) var(--space-5) !important;
  font-weight: 600;
  transition: transform 80ms ease, filter 120ms ease, box-shadow 120ms ease;
}
.ashby-application-form-submit-button:hover {
  filter: brightness(0.96);
}
.ashby-application-form-submit-button:active {
  transform: translateY(1px);
}
.ashby-application-form-submit-button:focus-visible {
  outline: none;
  box-shadow: var(--shadowFocus);
}

/* ---------- Department / Team Grouping ---------- */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading,
.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  color: var(--colorPrimary900);
  font-weight: 600;
}

/* ---------- Misc Polishing ---------- */
.ashby-job-board-reset-filters-label {
  cursor: pointer;
}
.ashby-job-board-reset-filters-label:hover {
  text-decoration: underline;
}

.ashby-application-form-success-container,
.ashby-application-form-failure-container,
.ashby-application-form-blocked-application-container {
  background: var(--surface);
  border: 1px solid var(--colorMuted);
  border-radius: var(--borderRadiusContainer);
  padding: var(--space-5);
  box-shadow: var(--shadowElevated);
}

/* Autofill overlays */
.ashby-application-form-autofill-input-root[data-state="pending"],
.ashby-application-form-autofill-input-pending-layer[data-state="active"] {
  border: 1px dashed var(--colorPrimary600);
}

.ashby-application-form-autofill-input-icon {
  color: var(--colorPrimary600);
}

.ashby-job-posting-heading {
  color: var(--colorPrimary900);
}

.ashby-job-posting-left-pane,
.ashby-job-posting-right-pane,
.ashby-application-form-container {
  max-width: var(--widthMaxJobBoard);
  margin-left: auto !important;
  margin-right: auto !important;
}

.ashby-job-board-filters-label,
.ashby-job-board-reset-filters-label {
  margin-right: var(--space-3);
}

/* ---------- Custom Overrides ---------- */

/* Hide Ashby’s built-in SVG icon (fix double arrow) */
.ashby-job-board-back-to-all-jobs-button svg {
  display: none !important;
}

/* Back button: one blue arrow, no bg/border, positioned inside header */
.ashby-job-board-back-to-all-jobs-button {
  background: none !important;
  border: none !important;
  color: var(--colorPrimary600) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 0 !important;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.15s ease;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}
.ashby-job-board-back-to-all-jobs-button::before {
  content: "←";
  color: var(--colorPrimary600);
  font-size: 20px;
  line-height: 1;
}
.ashby-job-board-back-to-all-jobs-button:hover {
  opacity: 0.8;
}
.ashby-job-board-back-to-all-jobs-button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Job posting header — full width container + centered content */
.ashby-job-posting-header {
  grid-column: 1 / -1 !important;
  display: block !important;
  width: 100% !important;
  position: relative;
  text-align: center;
  margin: var(--space-8) auto var(--space-4) auto !important;
}

/* Keep actual title/logo sized to its content */
.ashby-job-posting-header .ashby-job-posting-heading {
  display: inline-block;
  max-width: 100%;
  color: var(--colorPrimary900);
  font-weight: 600;
}
