/* Shared browsing controls on the homepage and dedicated Jobs route. */
.search-row.job-browse-controls { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px 12px; padding:20px; }
.job-browse-controls label, .job-browse-toolbar label { display:grid; gap:7px; min-width:0; font-size:13px; font-weight:600; color:var(--ink); }
.job-browse-controls .search-query, .job-browse-controls .search-city { grid-column:span 2; }
.job-browse-controls .search, .job-browse-controls select, .job-browse-toolbar select { width:100%; min-width:0; min-height:46px; font-size:16px; }
.job-browse-controls .search { padding-left:12px; }
.job-browse-toolbar { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:16px 20px; }
.job-browse-toolbar label { min-width:210px; }
.job-browse-toolbar button, #jobsRecover { min-height:44px; border:1px solid var(--rule); background:var(--white); border-radius:6px; padding:10px 14px; color:var(--ink); font:inherit; cursor:pointer; }
.job-browse-toolbar button:hover, #jobsRecover:hover { border-color:var(--red); }
#jobsRecover { display:block; margin:18px auto 0; }
.job-facts { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; font-size:13px; color:var(--muted); }
.job-facts:empty { display:none; }
.job-pay { font-weight:600; color:var(--blue); }
#jobsSearchNote { overflow-wrap:anywhere; }
#jobs-heading:focus { outline:2px solid var(--red); outline-offset:4px; }
@media(max-width:700px) {
 .search-row.job-browse-controls { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px; gap:14px 10px; }
 .job-browse-controls .search-query, .job-browse-controls .search-city { grid-column:1 / -1; }
 .job-browse-toolbar { padding:16px; align-items:end; }
 .job-browse-toolbar label { min-width:0; flex:1; }
 .job-browse-toolbar button { flex-shrink:0; font-size:14px; }
 .job-facts { font-size:14px; }
 .job-side { flex-wrap:wrap; }
}

.jobs-route .workspace { grid-template-columns:minmax(0,1fr); }
.jobs-route #find-work { padding-top:32px; }
.job-browse-controls input, .job-browse-controls select, .job-browse-toolbar select { font-weight:400; }

#needsFilter:not(:empty) { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px; background:#d9e9df; font-size:14px; }
#needsFilter button { min-height:40px; padding:6px 12px; border:1px solid #173f36; background:transparent; cursor:pointer; }

#jobsSearchForm > .job-browse-controls { grid-template-columns:2fr 1.5fr auto; align-items:end; }
#jobsSearchForm > .job-browse-controls label { grid-column:auto; }
#jobsSubmit { min-height:46px; padding:10px 20px; border:0; border-radius:6px; background:var(--ink); color:var(--white); font:inherit; cursor:pointer; }
.job-more-filters { border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.job-more-filters summary { padding:14px 20px; min-height:46px; cursor:pointer; font-size:14px; font-weight:600; }
.job-more-filters[open] summary { padding-bottom:0; }
#jobList { scroll-margin-top:24px; }
@media(max-width:700px) {
 #jobsSearchForm > .job-browse-controls { grid-template-columns:minmax(0,1fr) auto; }
 #jobsSearchForm > .job-browse-controls .search-query { grid-column:1 / -1; }
 #jobsSubmit { padding:10px 14px; }
 .job-more-filters summary { padding-left:16px; }
 .job-browse-toolbar { padding-top:10px; padding-bottom:10px; }
 .jobs-route #find-work { padding-top:22px; }
 .jobs-route #find-work > .section-intro { margin-bottom:18px; }
 .jobs-route #find-work > .section-intro h2 { font-size:28px; }
 .jobs-route #find-work > .section-intro p { font-size:14px; line-height:1.45; }
}
