.km-listing { --font:'Figtree',Arial,sans-serif; --heading:'Syne',Arial,sans-serif; --ink:#15334f; --red:#d9152b; --paper:#f2f4f6; --line:#dce3e9; }
.header { background:white; border-bottom:1px solid var(--line); }
.header-core { min-height:100px; width:min(1320px,calc(100% - 80px)); }
#main-nav a { font-weight:600; }
#main-nav a[href='/oferty-pracy'] { color:var(--red); }
.listing-shell { width:min(1320px,calc(100% - 80px)); margin:0 auto; padding:37px 0 60px; }
.page-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:26px; }
.breadcrumb,.breadcrumb-separator { font-size:11px; color:#718294; }
.breadcrumb-separator { margin:0 12px; }
h1 { font:700 35px/1.2 var(--heading); letter-spacing:-.045em; margin:15px 0 0; }
.preview-label { color:#6b7c8d; font-size:10px; padding-bottom:4px; white-space:nowrap; }
.search-form { gap:15px; padding:21px; background:white; border:1px solid var(--line); }
.search-form input { background:#f8fafb; padding:11px 14px; height:50px; }
.search-form .primary { height:50px; min-width:168px; }
.search-form label > span { font-size:11px; }
.quick { margin:11px 0 33px; font-size:11px; }
.quick a { text-decoration:underline; text-underline-offset:3px; text-decoration-color:#c4ced7; }
.results-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:33px; align-items:start; }
.filter-sidebar { padding-right:24px; border-right:1px solid #d9e1e7; }
.filter-heading { display:flex; align-items:center; justify-content:space-between; padding:3px 0 22px; gap:8px; }
.filter-heading h2 { font:600 19px/1.2 var(--font); margin:0; display:flex; gap:8px; align-items:center; }
.filter-count { background:#e2e8ee; padding:3px 7px; font-size:11px; }
.clear-filters { font-size:11px; text-decoration:underline; text-underline-offset:3px; color:#637588; }
.toggle-filters { display:none; }
.filter-group { min-width:0; border:0; border-top:1px solid #d9e1e7; padding:16px 0 21px; margin:0; }
.filter-group legend { float:left; width:100%; font-size:13px; font-weight:600; margin:0 0 13px; padding:0; }
.filter-group > :nth-child(2) { clear:left; }
.filter-option { display:flex; align-items:center; gap:9px; margin:9px 0; font-size:12px; cursor:pointer; }
.filter-option input { appearance:none; flex:0 0 15px; width:15px; height:15px; margin:0; border:1px solid #a5b3c1; background:white; cursor:pointer; }
.filter-option input:checked { border-color:var(--ink); background:var(--ink); box-shadow:inset 0 0 0 3px #fff; }
.filter-option small { margin-left:auto; font-size:10px; color:#7a8997; }
.filter-group select { width:100%; padding:10px; background:white; border:1px solid #cdd7df; font-size:12px; }
.salary-filter > label { display:block; font-size:11px; color:var(--muted); margin-bottom:6px; }
.salary-input { display:flex; align-items:center; background:white; border:1px solid #cdd7df; padding-right:10px; font-size:11px; }
.salary-input input { min-width:0; width:100%; border:0; background:transparent; padding:10px; font-size:12px; }
.salary-filter > small { display:block; font-size:9px; color:#718294; margin-top:7px; }
.apply-filters { display:flex; justify-content:space-between; width:100%; background:var(--ink); color:white; border:1px solid var(--ink); padding:11px 13px; font-size:12px; }
.results-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.results-heading h2 { display:flex; align-items:center; gap:12px; font:600 25px/1.2 var(--font); letter-spacing:-.02em; margin:0; }
#result-count { font-size:13px; font-weight:400; padding:3px 9px; background:#e4eaf0; }
.saved-toggle { display:flex; align-items:center; gap:7px; border:0; background:transparent; padding:7px 0 7px 12px; font-size:12px; }
.saved-toggle .icon { width:16px; }
.saved-toggle[aria-pressed=true] { color:var(--red); }
.saved-toggle [data-saved-count] { color:#748697; }
.sort-line { display:flex; justify-content:space-between; align-items:center; padding:12px 18px; background:#e7edf2; color:#63798d; font-size:10px; border:1px solid var(--line); border-bottom:0; }
.sort-line label { display:flex; align-items:center; gap:8px; }
.sort-line select { border:0; background:transparent; font-size:11px; max-width:180px; }
.active-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:16px; font-size:11px; }
.active-filters > span,.active-filters button { background:#e5ebf1; border:0; font-size:11px; padding:5px 9px; }
.active-filters button span { margin-left:7px; }
.active-filters a { text-decoration:underline; padding:5px; }
.jobs { border:1px solid var(--line); background:white; }
.jobs:empty { border:0; }
.job { display:grid; grid-template-columns:43px minmax(0,1fr) 205px 26px; gap:17px; align-items:center; padding:23px 20px; border-bottom:1px solid var(--line); }
.job:last-child { border-bottom:0; }
.job:hover { background:#fafcfd; }
.job-symbol { width:43px; height:43px; display:grid; place-items:center; background:#edf2f6; color:#647c92; font:600 13px var(--font); }
.job-title { font-size:18px; line-height:1.3; letter-spacing:-.012em; }
.job-company { font-size:12px; margin:5px 0; }
.job-meta { font-size:10px; gap:8px; }
.job-label { font-size:8px; }
.job-pay { text-align:right; }
.job-pay strong { font-size:15px; }
.job-pay small { font-size:9px; margin-top:2px; }
.job-location { font-size:10px; margin-top:7px; }
.save { width:26px; padding:4px; }
.empty,.saved-empty { padding:40px 25px; background:white; border:1px solid var(--line); border-top:0; }
.saved-empty h3 { margin:0; }
.saved-empty button { padding:10px 14px; border:0; color:white; background:var(--ink); }
.results-end { display:flex; justify-content:space-between; gap:20px; margin-top:18px; font-size:11px; }
.results-end > span { color:#738393; }
.results-end a span { margin-left:7px; }
.listing-editorial { border-top:1px solid #ced8e1; margin-top:40px; padding-top:24px; position:relative; }
.listing-editorial > span { color:#b12939; font-size:9px; letter-spacing:.08em; }
.listing-editorial h3 { font:700 24px var(--heading); letter-spacing:-.04em; margin:10px 0 8px; }
.listing-editorial p { font-size:12px; color:#6a7e91; margin:0; }
.listing-editorial a { display:inline-flex; gap:18px; font-size:12px; padding-bottom:6px; margin-top:18px; border-bottom:1px solid var(--ink); }
.footer { width:min(1320px,calc(100% - 80px)); }
@media (max-width:1150px) {
 .header-core { width:calc(100% - 56px); }
 .listing-shell,.footer { width:calc(100% - 56px); }
 .results-layout { grid-template-columns:205px minmax(0,1fr); gap:24px; }
 .filter-sidebar { padding-right:18px; }
 h1 { font-size:30px; }
 .preview-label { max-width:130px; white-space:normal; text-align:right; }
 .job { grid-template-columns:35px minmax(0,1fr) 24px; gap:12px; padding:18px; }
 .job-symbol { width:35px; height:35px; align-self:start; }
 .job-pay { grid-column:2; text-align:left; }
 .job-pay small { display:inline; margin-left:7px; }
 .save { grid-column:3; grid-row:1; align-self:start; }
 .sort-line > span { max-width:180px; }
}
@media (max-width:760px) {
 .header-core { min-height:85px; width:calc(100% - 32px); }
 .listing-shell,.footer { width:calc(100% - 32px); }
 .listing-shell { padding-top:23px; }
 .page-heading { display:block; margin-bottom:20px; }
 .breadcrumb,.breadcrumb-separator { font-size:10px; }
 h1 { font-size:30px; max-width:360px; line-height:1.1; margin-top:15px; }
 .preview-label { display:block; max-width:none; text-align:left; margin-top:13px; font-size:9px; }
 .search-form { padding:15px; gap:11px; }
 .search-form input { height:46px; font-size:14px; }
 .search-form .primary { height:46px; min-height:46px; justify-content:space-between; }
 .quick { margin:13px 0 24px; font-size:10px; gap:6px 10px; }
 .results-layout { grid-template-columns:1fr; gap:24px; }
 .filter-sidebar { padding:0; border:1px solid #cfd9e2; background:#e9eef3; }
 .filter-heading { padding:15px; }
 .filter-heading h2 { font-size:17px; }
 .clear-filters { margin-left:auto; margin-right:12px; }
 .toggle-filters { display:flex; gap:16px; border:0; padding:0; background:transparent; font-size:12px; }
 #filter-content { display:none; padding:0 15px 15px; }
 .filter-sidebar.is-open #filter-content { display:block; }
 .filter-option { font-size:13px; margin-block:13px; }
 .filter-group { padding-bottom:17px; }
 .results-heading { margin-bottom:15px; }
 .results-heading h2 { font-size:23px; gap:10px; }
 .saved-toggle { font-size:11px; }
 .sort-line { padding:11px 13px; }
 .sort-line > span { display:none; }
 .sort-line label { width:100%; justify-content:space-between; font-size:11px; }
 .job { padding:19px 13px; grid-template-columns:30px minmax(0,1fr) 22px; gap:11px; }
 .job-symbol { width:30px; height:32px; font-size:11px; }
 .job-title { font-size:18px; }
 .job-company { font-size:12px; }
 .job-pay strong { font-size:15px; }
 .job-pay small { display:block; margin:2px 0 0; }
 .job-meta { font-size:9px; gap:7px; }
 .job-location { line-height:1.4; }
 .results-end { flex-direction:column; gap:12px; font-size:10px; }
 .listing-editorial { margin-top:30px; padding-top:22px; }
 .listing-editorial h3 { font-size:23px; }
}
