.vacancy-hero{background-color:#203e65;background-image:linear-gradient(90deg,rgba(32,62,101,.97) 0%,rgba(32,62,101,.88) 42%,rgba(32,62,101,.2) 100%),url("assets/vacature-hero.webp");background-position:center,58% center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;color:#fff;padding:48px 0}
.vacancy-hero h1{max-width:850px;font-size:clamp(34px,5vw,52px);line-height:1.08;margin:7px 0 12px;letter-spacing:-1px}
.vacancy-hero p{max-width:760px;color:#e8eef7;font-size:17px;margin:0}
.vacancy-content{background:#f5f7fa;padding:36px 0 70px}
.vacancy-search-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:#fff;border:1px solid #e1e7ef;border-radius:18px;box-shadow:0 8px 28px #142d470b}
.vacancy-search-panel h2{font-size:24px;line-height:1.2;color:#203e65;margin:0 0 5px}
.vacancy-search-panel p{color:#6c7889;margin:0}
.vacancy-search{display:flex;align-items:center;gap:10px;width:min(440px,48%);height:50px;padding:0 14px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;color:#3c68a2}
.vacancy-search:focus-within{border-color:#3c68a2;box-shadow:0 0 0 3px #3c68a21c}
.vacancy-search svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.vacancy-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#203e65;font:inherit}
.vacancy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 14px}
.vacancy-toolbar p{margin:0;color:#6c7889;font-size:14px;font-weight:700;white-space:nowrap}
.vacancy-filters{display:flex;flex-wrap:wrap;gap:8px}
.vacancy-filter{min-height:38px;padding:8px 13px;border:1px solid #d9e1eb;border-radius:999px;background:#fff;color:#334c68;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.vacancy-filter:hover,.vacancy-filter:focus-visible{border-color:#9fb3ca;background:#edf3fb}
.vacancy-filter.is-active{border-color:#3c68a2;background:#e8eff8;color:#294e7e}
.company-filter-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px;padding:14px 17px;border:1px solid #dce4ef;border-radius:12px;background:#eaf0f7;color:#334c68;font-weight:700}
.company-filter-banner[hidden]{display:none}
.company-filter-banner a{color:#294e7e;text-decoration:underline;text-underline-offset:3px}
.employer-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:1px 0 12px;scrollbar-width:thin}
.employer-shortcut{flex:none;border:1px solid #eadbe5;border-radius:999px;padding:8px 12px;background:#fff;color:#43556a;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.employer-shortcut:hover,.employer-shortcut.is-active{background:#f7eaf2;border-color:#ce8fb2;color:#9b2d6e}
.vacancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.vacancy-card{display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid #e1e7ef;border-radius:15px;background:#fff;box-shadow:0 6px 22px #172d450a;transition:transform .18s,box-shadow .18s}
.vacancy-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #172d4515}
.vacancy-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.vacancy-tag{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:#f7eaf2;color:#a33175;font-size:11px;font-weight:850}
.vacancy-checked{color:#748195;font-size:11px;text-align:right}
.vacancy-card h2{margin:0 0 4px;color:#203e65;font-size:20px;line-height:1.2}
.vacancy-employer{margin:0 0 13px;color:#68778b;font-size:14px;font-weight:700}
.vacancy-facts{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.vacancy-fact{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:7px;background:#edf3fb;color:#355c89;font-size:12px;font-weight:750}
.vacancy-card-summary{flex:1;margin:0 0 15px;color:#5f6f81;font-size:14px;line-height:1.5}
.vacancy-location{margin:0 0 14px;color:#657487;font-size:12px}
.vacancy-card-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 14px;border:0;border-radius:9px;background:#3c68a2;color:#fff;font-size:14px;font-weight:850;text-align:center}
.vacancy-card-link:hover,.vacancy-card-link:focus-visible{background:#294e7e}
.vacancy-empty{margin:18px 0;padding:22px;border:1px dashed #bdc9d7;border-radius:13px;background:#fff;color:#617184;text-align:center}
.vacancy-empty[hidden]{display:none}
.vacancy-load-more{display:block;margin:22px auto 0;border:0;background:#3c68a2;color:#fff;cursor:pointer}
.vacancy-load-more:hover{background:#294e7e}
.vacancy-search-more{display:flex;gap:17px;align-items:flex-start;margin:42px 0 0;padding:22px;border:1px solid #e1e7ef;border-radius:16px;background:#fff}
.vacancy-icon{display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:14px;background:#f7eaf2;color:#b93a83;font-size:26px;font-weight:900}
.vacancy-search-more h2{margin:0 0 4px;color:#203e65;font-size:21px}
.vacancy-search-more p{margin:0 0 12px;color:#68778b}
.vacancy-search-links{display:flex;flex-wrap:wrap;gap:10px 18px}
.vacancy-search-links a,.vacancy-back{color:#315b8e;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.vacancy-disclaimer{margin:20px 0 0;color:#748195;font-size:12px;line-height:1.6}
.vacancy-back{display:inline-block;margin:0 0 18px;text-decoration:none}
.job-detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.job-main,.job-aside{min-width:0}
.job-section,.job-aside-card{margin:0 0 16px;padding:22px;border:1px solid #e1e7ef;border-radius:15px;background:#fff;box-shadow:0 6px 22px #172d450a}
.job-section h2{margin:0 0 12px;color:#203e65;font-size:22px;line-height:1.25}
.job-section p{margin:0;color:#5f6f81}
.job-section ul{margin:0;padding-left:20px;color:#5f6f81}
.job-section li+li{margin-top:8px}
.job-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.job-meta{padding:13px;border-radius:10px;background:#f5f7fa}
.job-meta strong{display:block;margin-bottom:3px;color:#203e65;font-size:12px}
.job-meta span{display:block;color:#64748b;font-size:14px}
.job-company{display:flex;align-items:center;gap:11px;margin-bottom:11px}
.job-company-icon{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:#f7eaf2;color:#b93a83}
.job-company-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.job-company strong{display:block;color:#203e65;font-size:15px}
.job-company small{display:block;color:#748195;font-size:12px}
.job-contact{display:grid;gap:8px;margin-top:12px}
.job-contact a{overflow-wrap:anywhere;color:#315b8e;font-size:13px;font-weight:750}
.job-aside-card h2{margin:0 0 11px;color:#203e65;font-size:18px}
.job-aside-card>p{margin:0 0 12px;color:#68778b;font-size:13px}
.job-aside-card .vacancy-card-link{width:100%;margin-top:9px}
.job-employer-link{display:block;margin-top:11px;color:#315b8e;font-size:13px;font-weight:750;text-align:center;text-decoration:underline}
.job-action{margin:22px 0 0;padding:22px;border-radius:16px;background:linear-gradient(115deg,#294e7e,#3c68a2);color:white}
.job-action h2{margin:0 0 8px;color:#fff!important;font-size:22px;line-height:1.25}
.job-action p{margin:0 0 14px;color:#f3f6fb!important;line-height:1.55}
.job-action .vacancy-card-link{background:#b93a83;color:#fff}
.job-action .vacancy-card-link:hover{background:#9b2d6e}
.job-action .job-source{margin:12px 0 0;color:#f3f6fb!important;font-size:13px;line-height:1.5}
.job-action .vacancy-card-link:focus-visible{outline:3px solid #fff;outline-offset:3px}
.job-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.job-related a{display:block;padding:12px;border:1px solid #e1e7ef;border-radius:10px;background:#fff;color:#203e65;font-size:13px;font-weight:800}
.job-related a span{display:block;margin-top:4px;color:#738196;font-size:11px;font-weight:600}
.job-source{margin:12px 0 0;color:#748195;font-size:12px}
@media(max-width:900px){.vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:700px){.vacancy-hero{background-image:linear-gradient(90deg,rgba(32,62,101,.93),rgba(32,62,101,.68)),url("assets/vacature-hero.webp");background-position:center,64% center;padding:38px 0 42px}.vacancy-content{padding:22px 0 52px}.vacancy-search-panel{align-items:stretch;flex-direction:column;gap:14px;padding:18px}.vacancy-search{width:100%}.vacancy-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.vacancy-filters{flex-wrap:nowrap;max-width:calc(100vw - 28px);overflow-x:auto;padding-bottom:6px}.vacancy-filter{flex:none}.vacancy-grid{grid-template-columns:1fr;gap:11px}.vacancy-card{padding:17px}.vacancy-search-more{margin-top:30px;padding:17px}.job-detail{grid-template-columns:1fr}.job-aside{grid-row:1}.job-section,.job-aside-card{padding:18px}.job-meta-grid{grid-template-columns:1fr 1fr}.job-related{grid-template-columns:1fr}.job-action{padding:19px}}
@media(max-width:380px){.job-meta-grid{grid-template-columns:1fr}.vacancy-search-links{display:grid}}
