
/* Scoped, modern-but-restrained styling for Jobs List (no bleed) */
.solas-jobs-listing { display:block; width:100%; box-sizing:border-box; }
.solas-jobs-listing::after { content:""; display:block; clear:both; }
.solas-jobs-listing * { box-sizing:border-box; }

.solas-jobs-filters { margin: 0 0 14px 0; padding: 14px; border: 1px solid rgba(0,0,0,.08); border-radius: 12px; background: #fff; }
.solas-jobs-filters-grid { display:flex; flex-wrap:wrap; gap: 12px; align-items:flex-end; }
.solas-jobs-field { flex: 1 1 220px; min-width: 180px; }
.solas-jobs-field label { display:block; font-size: 13px; opacity:.8; margin: 0 0 6px 0; }
.solas-jobs-field input.input-text,
.solas-jobs-field select.select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 10px;
  background: #fff;
  line-height: 1.2;
}
.solas-jobs-field input.input-text:focus,
.solas-jobs-field select.select:focus {
  outline: none;
  border-color: rgba(0,0,0,.28);
}
.solas-jobs-actions { flex: 0 0 auto; display:flex; gap:10px; align-items:center; }

@media (max-width: 560px) {
  .solas-jobs-field { flex: 1 1 calc(50% - 12px); min-width: 0; }
  .solas-jobs-actions { width: 100%; justify-content: flex-start; }
}

.solas-jobs-results { position:relative; min-height: 60px; }
.solas-jobs-results.is-loading { opacity: .65; pointer-events:none; }
.solas-jobs-results.is-loading::after{
  content:"Loading…";
  position:absolute;
  inset: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 14px;
  opacity: .8;
}

.solas-jobs-list { display:flex; flex-direction:column; gap: 12px; margin: 0; padding: 0; }

.solas-jobs-summary { display:flex; gap:10px; flex-wrap:wrap; align-items:baseline; justify-content:space-between; margin: 0 0 10px 0; font-size: 14px; opacity: .95; }
.solas-jobs-summary__featured { font-size: 13px; opacity: .85; }
.solas-job-card { border: 1px solid rgba(0,0,0,.08); border-radius: 14px; background: #fff; padding: 14px; }
.solas-job-card.is-featured { border-color: rgba(0,0,0,.18); }
.solas-job-card__head { display:flex; gap:10px; align-items:flex-start; justify-content:space-between; margin-bottom: 8px; }
.solas-job-card__title { margin:0; font-size: 18px; line-height: 1.25; }
.solas-job-card__title a { text-decoration:none; }
.solas-job-card__meta { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 6px 14px; font-size: 14px; opacity: .95; margin: 10px 0 12px 0; }
.solas-job-card__actions { display:flex; gap: 10px; align-items:center; }

.solas-job-pill { display:inline-block; font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(0,0,0,.12); opacity: .95; }
.solas-job-pill-featured { font-weight: 600; }

.solas-jobs-pagination ul { margin: 14px 0 0 0; }

.solas-jobs-listing .solas-jobs-loadmore {
  margin: 14px 0 0 0;
  display: flex;
  justify-content: center;
}


/* Active filter pills */
.solas-jobs-active-filters { margin: 0 0 14px 0; }
.solas-jobs-active-filters__label { font-size: 13px; opacity: .8; margin: 0 0 6px 0; }
.solas-jobs-active-filters__pills { display:flex; flex-wrap:wrap; gap: 8px; }
.solas-jobs-active-filters .solas-pill {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 6px 10px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;
  background: #fff;
  text-decoration:none;
  font-size: 13px;
  line-height: 1;
}
.solas-jobs-active-filters .solas-pill:hover { border-color: rgba(0,0,0,.24); }
.solas-jobs-active-filters .solas-pill span { font-weight: 700; opacity: .7; }

/* Empty state */
.solas-jobs-empty {
  padding: 18px;
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 12px;
  background: rgba(0,0,0,.02);
}
.solas-jobs-empty h3 { margin: 0 0 6px 0; font-size: 16px; }
.solas-jobs-empty p { margin: 0; opacity: .85; }

