/* Strony ofert pracy (/oferty-pracy/<oferta>/) i dodatki do listingu */

/* listing: tytuł jako link */
.job__title a{color:inherit;text-decoration:none}
.job__title a:hover,.job__title a:focus-visible{color:var(--accent)}
.job__title a::after{content:"";position:absolute;inset:0}
.job .btn,.job__salary .btn{position:relative;z-index:1}

/* nagłówek oferty */
.job-hero{padding-block:var(--s48) var(--s16);max-width:900px}
.job-hero h1{font-size:clamp(30px,4.6vw,54px);font-weight:var(--fw-sb);letter-spacing:-.03em;line-height:1.08;margin-top:var(--s16)}
.job-hero__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s16)}
.job-hero__tags .tag{margin:0}
.job-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s24);padding:0;list-style:none}
.job-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);background:var(--linen);font-size:var(--t-body-sm);color:var(--ink)}
.job-chips li span{color:var(--ash);font-size:var(--t-label)}

/* układ dwukolumnowy */
.job-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--s64);align-items:start}
.job-main{min-width:0;font-size:var(--t-body-lg);line-height:1.7}
.job-main > :first-child{margin-top:0}
.job-main h2{font-size:var(--t-h);font-weight:var(--fw-sb);letter-spacing:-.02em;margin-top:var(--s52);line-height:1.2}
.job-main h2:first-child{margin-top:0}
.job-main p{margin-top:var(--s20)}
.job-main ul.bullets{margin-top:var(--s20);display:grid;gap:10px}
.job-main ul.bullets li{padding-left:var(--s20);position:relative;color:var(--graphite)}
.job-main ul.bullets li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--accent)}
.job-main ul.bullets--ok li{color:var(--ink)}
.job-main .job-lead{font-size:clamp(19px,2vw,22px);line-height:1.5;color:var(--graphite);margin-top:0}

/* panel boczny */
.job-aside{position:sticky;top:96px;display:grid;gap:var(--s16)}
.job-card{background:var(--linen);border-radius:var(--r-card);padding:var(--s28)}
.job-card__lab{font-size:var(--t-label);font-weight:var(--fw-sb);color:var(--ash)}
.job-card__pay{font-size:clamp(22px,2.2vw,27px);white-space:nowrap;font-weight:var(--fw-sb);letter-spacing:-.02em;line-height:1.15;margin-top:6px;font-variant-numeric:tabular-nums}
.job-card__unit{font-size:var(--t-body-sm);color:var(--graphite);margin-top:4px}
.job-card__bonus{font-size:var(--t-body-sm);color:var(--accent-deep);margin-top:10px;font-weight:var(--fw-m)}
.job-card dl{margin:var(--s20) 0 0;display:grid;gap:0}
.job-card dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--hairline);font-size:var(--t-body-sm)}
.job-card dt{color:var(--ash)}
.job-card dd{margin:0;color:var(--ink)}
.job-card .btn{width:100%;justify-content:center;margin-top:var(--s20)}
.job-card .btn + .btn{margin-top:var(--s8)}
.job-card__note{font-size:var(--t-label);color:var(--graphite);margin-top:var(--s16);line-height:1.5}
.job-card--plain{background:transparent;border:1px solid var(--hairline)}
.job-team{display:flex;gap:14px;align-items:center}
.job-team__mono{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-sb);font-size:var(--t-body-sm);flex:none}
.job-team__name{font-weight:var(--fw-sb);font-size:var(--t-body-sm)}
.job-team__role{font-size:var(--t-label);color:var(--graphite);line-height:1.4}

/* proces */
.job-steps{list-style:none;padding:0;margin:var(--s24) 0 0;display:grid;gap:12px;counter-reset:s}
.job-steps li{counter-increment:s;position:relative;padding:18px 20px 18px 64px;border:1px solid var(--hairline);border-radius:var(--r-sm);font-size:var(--t-body);line-height:1.5}
.job-steps li::before{content:counter(s);position:absolute;left:18px;top:16px;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--t-body-sm);font-weight:var(--fw-sb)}
.job-steps strong{display:block;font-weight:var(--fw-sb)}
.job-steps span{color:var(--graphite);font-size:var(--t-body-sm)}

/* tabela rynkowa */
.job-bench{width:100%;border-collapse:collapse;margin-top:var(--s20);font-size:var(--t-body-sm)}
.job-bench th,.job-bench td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--hairline);vertical-align:top}
.job-bench thead th{border-bottom-color:var(--ink);color:var(--graphite);font-weight:var(--fw-m);font-size:13px}
.job-bench tr.is-self td{background:var(--accent-tint);font-weight:var(--fw-sb)}
.job-bench td.src{color:var(--graphite);font-size:var(--t-label)}
.job-note{font-size:var(--t-body-sm);color:var(--graphite);margin-top:var(--s12)}

/* FAQ i podobne oferty */
.job-faq{display:grid;gap:var(--s12);margin-top:var(--s24)}
.job-sim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s16);margin-top:var(--s24)}
.job-sim a{display:flex;flex-direction:column;gap:6px;border:1px solid var(--hairline);border-radius:var(--r-card);padding:var(--s24);transition:transform .2s var(--ease),border-color .2s}
.job-sim a:hover{transform:translateY(-2px);border-color:var(--ink)}
.job-sim__cat{font-size:12px;font-weight:var(--fw-sb);color:var(--accent)}
.job-sim__t{font-size:var(--t-body-lg);font-weight:var(--fw-sb);line-height:1.25;letter-spacing:-.01em}
.job-sim__m{font-size:var(--t-body-sm);color:var(--graphite)}
.job-sim__s{font-size:var(--t-body-sm);font-weight:var(--fw-m);margin-top:auto;padding-top:8px}

/* blok ofert na stronach branż, biur i ról */
.jobs-block{display:grid;gap:var(--s12);margin-top:var(--s24);padding:0;list-style:none}
.jobs-block li a{display:flex;justify-content:space-between;gap:var(--s16);align-items:baseline;padding:14px 18px;border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink);transition:border-color .2s}
.jobs-block li a:hover{border-color:var(--ink)}
.jobs-block__t{font-weight:var(--fw-m)}
.jobs-block__m{color:var(--graphite);font-size:var(--t-body-sm);white-space:nowrap}

/* pasek zgłoszenia na telefonie */
.job-bar{display:none}
@media (max-width:1000px){
  .job-layout{grid-template-columns:minmax(0,1fr);gap:var(--s40)}
  .job-aside{position:static}
  .job-sim{grid-template-columns:minmax(0,1fr)}
  .job-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(255,255,255,.96);border-top:1px solid var(--hairline);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .job-bar__pay{font-weight:var(--fw-sb);font-size:var(--t-body-sm);line-height:1.2}
  .job-bar__pay small{display:block;color:var(--graphite);font-weight:400;font-size:12px}
  .job-bar .btn{white-space:nowrap}
  main{padding-bottom:72px}
}
@media (max-width:600px){
  .job-card dl div{grid-template-columns:96px minmax(0,1fr)}
  .jobs-block li a{flex-direction:column;gap:4px}
  .jobs-block__m{white-space:normal}
}
.job-bench td:nth-child(2){white-space:nowrap}

/* linki do profili zespołu */
.team-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s12);margin-top:var(--s24);padding:0;list-style:none}
.team-links a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink);transition:border-color .2s}
.team-links a:hover{border-color:var(--ink)}
.team-links__n{font-weight:var(--fw-m)}
.team-links__r{font-size:var(--t-label);color:var(--graphite)}
@media (max-width:900px){.team-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.team-links{grid-template-columns:minmax(0,1fr)}}
