/* Ported from the module's own module.css. Values are driven by the
   section's inline --job-openings-list-* custom properties;
   fallbacks match the field defaults. */
.job-openings-list,
.job-openings-list * {
  box-sizing: border-box;
}

.job-openings-list {
  background: var(--job-openings-list-bg, #FFFFFF);
  padding: var(--job-openings-list-top-spacing, 80px) 32px var(--job-openings-list-bottom-spacing, 80px);
}

.job-openings-list__wrap {
  max-width: 1200px;
  margin: 0 auto;
}

.job-openings-list__head {
  margin-bottom: 16px;
}

.job-openings-list__eyebrow {
  font-family: var(--job-openings-list-eyebrow-font, 'Roboto Mono'), monospace;
  font-size: var(--job-openings-list-eyebrow-size, 12px);
  font-weight: var(--job-openings-list-eyebrow-weight, 400);
  font-style: var(--job-openings-list-eyebrow-style, normal);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--job-openings-list-eyebrow-color, #E8610A);
}

.job-openings-list__heading {
  font-family: var(--job-openings-list-heading-font, "Barlow Condensed"), sans-serif;
  font-weight: var(--job-openings-list-heading-weight, 700);
  font-size: var(--job-openings-list-heading-size, 38px);
  line-height: 1.1;
  color: var(--job-openings-list-heading-color, #1B4F72);
  margin: 14px 0 0;
}

.job-openings-list__filterbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  padding: 18px 0 26px;
  border-bottom: 1px solid var(--job-openings-list-chip-border, #D9E2EC);
  margin-bottom: 28px;
}

.job-openings-list__filter-label {
  font-family: var(--job-openings-list-filter-label-font, 'Roboto Mono'), monospace;
  font-size: var(--job-openings-list-filter-label-size, 12px);
  font-weight: var(--job-openings-list-filter-label-weight, 400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--job-openings-list-filter-label-color, #6B7280);
  margin-right: 4px;
}

.job-openings-list__chip {
  font-family: var(--job-openings-list-chip-font, "Inter"), sans-serif;
  font-weight: var(--job-openings-list-chip-weight, 600);
  font-size: var(--job-openings-list-chip-size, 14px);
  padding: 8px 16px;
  border-radius: var(--job-openings-list-chip-radius, 20px);
  cursor: pointer;
  background: var(--job-openings-list-card-bg, #FFFFFF);
  color: var(--job-openings-list-chip-color, #1B4F72);
  border: 1px solid var(--job-openings-list-chip-border, #D9E2EC);
  line-height: 1;
  transition: all 0.15s ease;
}

.job-openings-list__chip.is-active {
  background: var(--job-openings-list-chip-active-bg, #E8610A);
  color: var(--job-openings-list-chip-active-text, #FFFFFF);
  border-color: var(--job-openings-list-chip-active-bg, #E8610A);
}

.job-openings-list__chip-num {
  opacity: 0.6;
  margin-left: 7px;
  font-family: var(--job-openings-list-meta-font, 'Roboto Mono'), monospace;
  font-size: 12px;
}

.job-openings-list__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.job-openings-list__list[hidden] {
  display: none;
}

.job-openings-list__job {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  border: 1px solid var(--job-openings-list-card-border, #D9E2EC);
  border-radius: var(--job-openings-list-card-radius, 8px);
  background: var(--job-openings-list-card-bg, #FFFFFF);
  padding: 24px 26px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.job-openings-list__job[hidden] {
  display: none;
}

.job-openings-list__job:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(27, 79, 114, 0.12);
}

.job-openings-list__title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.job-openings-list__job-title {
  font-family: var(--job-openings-list-job-title-font, "Barlow Condensed"), sans-serif;
  font-weight: var(--job-openings-list-job-title-weight, 700);
  font-size: var(--job-openings-list-job-title-size, 23px);
  color: var(--job-openings-list-job-title-color, #1B4F72);
  margin: 0;
}

.job-openings-list__dept-tag {
  font-family: var(--job-openings-list-dept-tag-font, 'Roboto Mono'), monospace;
  font-size: var(--job-openings-list-dept-tag-size, 10px);
  font-weight: var(--job-openings-list-dept-tag-weight, 400);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--job-openings-list-dept-tag-color, #FFFFFF);
  background: var(--job-openings-list-dept-tag-bg, #1B4F72);
  padding: 3px 9px;
  border-radius: 3px;
}

.job-openings-list__meta {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-family: var(--job-openings-list-meta-font, 'Roboto Mono'), monospace;
  font-size: var(--job-openings-list-meta-size, 13px);
  font-weight: var(--job-openings-list-meta-weight, 400);
  color: var(--job-openings-list-meta-color, #6B7280);
}

.job-openings-list__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.job-openings-list__meta svg {
  color: var(--job-openings-list-meta-icon-color, #E8610A);
  flex-shrink: 0;
}

.job-openings-list__apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--job-openings-list-apply-font, "Inter"), sans-serif;
  font-weight: var(--job-openings-list-apply-weight, 600);
  font-size: var(--job-openings-list-apply-size, 15px);
  color: var(--job-openings-list-apply-text, #FFFFFF);
  background: var(--job-openings-list-apply-bg, #E8610A);
  border-radius: 4px;
  padding: 11px 20px;
  text-decoration: none;
  white-space: nowrap;
  transition: box-shadow 0.18s ease;
}

.job-openings-list__apply:hover {
  box-shadow: 0 6px 16px rgba(232, 97, 10, 0.32);
}

.job-openings-list__empty {
  display: block;
  text-align: center;
  padding: 56px 24px;
  border: 1px dashed var(--job-openings-list-card-border, #D9E2EC);
  border-radius: var(--job-openings-list-card-radius, 8px);
}

.job-openings-list__empty[hidden] {
  display: none;
}

.job-openings-list__empty svg {
  color: var(--job-openings-list-meta-color, #6B7280);
  margin-bottom: 16px;
}

.job-openings-list__empty-title {
  font-family: var(--job-openings-list-heading-font, "Barlow Condensed"), sans-serif;
  font-weight: var(--job-openings-list-heading-weight, 700);
  font-size: 22px;
  color: var(--job-openings-list-heading-color, #1B4F72);
  margin: 0 0 8px;
}

.job-openings-list__empty-text {
  font-family: var(--job-openings-list-meta-font, "Inter"), sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--job-openings-list-meta-color, #6B7280);
  margin: 0;
}

@media (max-width: 767px) {
  .job-openings-list {
    padding: 48px 20px;
  }

  .job-openings-list__job {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
  }

  .job-openings-list__apply {
    justify-self: start;
  }

  .job-openings-list__empty {
    padding: 40px 16px;
  }
}
