.jobs-directory { max-width: 1250px; }
.jobs-directory-layout { display: grid; grid-template-columns: minmax(210px, 260px) minmax(0, 1fr); align-items: start; gap: 1.25rem; }
.jobs-filter { display: grid; gap: 1rem; margin: 0; }
.jobs-filter h2 { margin: 0; }
.jobs-filter fieldset { border: 0; margin: .45rem 0 0; padding: 0; max-height: 13rem; overflow-y: auto; }
.jobs-filter .jobs-check { display: flex; align-items: center; gap: .5rem; margin: .25rem 0; }
.jobs-filter .jobs-check input { width: auto; margin: 0; }
.jobs-results { display: grid; gap: .8rem; min-width: 0; }
.jobs-result { display: grid; grid-template-columns: 88px minmax(0, 1fr) minmax(112px, auto); gap: 1rem; align-items: start; margin: 0; }
.jobs-symbol { display: grid; place-items: center; min-height: 88px; }
.jobs-symbol .category-symbol { width: 68px; height: 68px; background-size: 400% 200%; }
.jobs-info { min-width: 0; overflow-wrap: anywhere; }
.jobs-info h2 { font-size: 1.17rem; line-height: 1.35; margin: 0 0 .35rem; }
.jobs-info p { margin: .4rem 0; }
.jobs-place, .jobs-action time { color: #475569; font-size: .9rem; }
.jobs-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: .45rem 0; }
.jobs-meta span { border-radius: 999px; padding: .2rem .6rem; background: #f1f5f9; }
.jobs-action { display: grid; justify-items: end; gap: .5rem; }
.jobs-action details { max-width: 220px; }
.jobs-action summary { cursor: pointer; list-style: none; border: 1px solid var(--gold); background: var(--gold); color: var(--navy); border-radius: .55rem; padding: .5rem .8rem; font-weight: 700; }
.jobs-action summary::after { content: " ›"; }
.jobs-description summary { cursor: pointer; }
.jobs-description summary span { text-decoration: underline; }
@media (max-width: 760px) {
  .jobs-directory-layout { grid-template-columns: 1fr; }
  .jobs-result { grid-template-columns: 48px minmax(0, 1fr); gap: .65rem; }
  .jobs-symbol { min-height: 48px; }
  .jobs-symbol .category-symbol { width: 42px; height: 42px; }
  .jobs-action { grid-column: 2; justify-items: start; }
}

main.jobs-directory {
  box-sizing: border-box;
  width: 100%;
  max-width: 1250px;
  margin-inline: auto;
  padding-inline: clamp(16px, 3vw, 32px);
}

.jobs-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.45rem; margin-block:1rem; }
.jobs-pagination a { display:grid; place-items:center; min-width:2.5rem; min-height:2.5rem; padding-inline:.65rem; border:1px solid var(--line); border-radius:.5rem; color:var(--navy); background:#fff; text-decoration:none; }
.jobs-pagination a[aria-current="page"] { background:var(--gold); border-color:var(--gold); font-weight:700; }
