/* jobs.none.kz v1 (Z-336, макет Claude Design 31.10.2026 «как hh.kz»).
 *
 * Строится на токенах --n-*, --st-* и классах .nt-* из v2/tablicy.css (пакет таблиц 29.10) — их же макет и
 * использует; здесь только раскладка экранов jobs. Радиус — шкала проекта (6 px), панели — --n-radius-panel. */

.jv { color: var(--n-ink); font-family: 'Montserrat', sans-serif; line-height: normal; }
/* Поле содержимого — 1 200 px, как в макете (1 440 с полями по 120); max-width с учётом боковых полей 32 px. */
.jv-wrap { max-width: 1264px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 32px); }
.jv-poisk { background: var(--n-surface); border-bottom: 1px solid var(--n-line); padding: 20px 0; }
.jv-poisk-ryad { display: grid; grid-template-columns: minmax(0, 1fr) 220px auto; gap: 8px; }
.jv-poisk-ryad .nt-field, .jv-poisk-ryad .nt-btn { height: 48px; font-size: 15px; }
.jv-poisk-ryad .nt-btn--primary { justify-content: center; padding: 0 28px; }
/* Лупа в поле поиска (макет «Вакансии» s1): кружок 14 px обводкой ink-3. */
.jv-poisk-q { position: relative; }
.jv-poisk-q .nt-field { width: 100%; padding-left: 40px; }
.jv-lupa { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 2px var(--n-ink-3); pointer-events: none; }
.jv-telo { padding-top: 24px; padding-bottom: 48px; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; align-items: start; }
.jv-otbor { display: flex; flex-direction: column; gap: 20px; padding: 18px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); }
.jv-otbor-h { font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.jv-otbor .nt-field { width: 100%; min-width: 0; }
/* Отбор кнопками (Z-343): район, разряд, опыт — радио и галочки внутри .nt-filter; выбранное красится по :checked,
   без скрипта. Сам переключатель не виден, но в фокусе — обводка у кнопки. */
.jv-chipy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.jv-otbor-h + .jv-chipy { margin-top: 0; }
.jv-chip { height: 30px; font-size: 12px; cursor: pointer; position: relative; }
.jv-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.jv-chip:has(input:checked) { background: var(--n-accent-tint); color: var(--n-accent); box-shadow: inset 0 0 0 1px var(--n-accent-line); }
.jv-chip:has(input:focus-visible) { outline: 2px solid var(--n-accent); outline-offset: 2px; }
.jv-razryady { display: flex; gap: 6px; }
.jv-razryady .jv-chip { height: 32px; width: 36px; justify-content: center; padding: 0; font-size: 13px; }
.jv-eshche { display: contents; }
.jv-eshche > summary { list-style: none; }
.jv-eshche > summary::-webkit-details-marker { display: none; }
.jv-eshche > summary::before { content: none; }
.jv-eshche[open] > summary { display: none; }
.jv-ot-do { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
/* «в месяц / в смену / сдельно» — сегмент макета: рамка line-strong, выбранное — заливка accent. */
.jv-segment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 8px; padding: 3px; border-radius: var(--radius); box-shadow: inset 0 0 0 1px var(--n-line-strong); font-size: 12px; font-weight: 600; text-align: center; }
.jv-segment label { padding: 6px 0; border-radius: var(--radius-badge); color: var(--n-ink-2); cursor: pointer; position: relative; }
.jv-segment input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.jv-segment label:has(input:checked) { background: var(--n-accent); color: var(--n-accent-ink); }
.jv-segment label:has(input:focus-visible) { outline: 2px solid var(--n-accent); outline-offset: 1px; }
.jv-otbor-shapka { display: none; justify-content: space-between; align-items: center; }
.jv-otbor-shapka b { font-size: 18px; }
.jv-otbor-shapka .nt-btn { width: 44px; height: 44px; font-size: 18px; }
.jv-filtry-knopka { display: none; height: 44px; }
/* Со скриптом на компьютере отбор применяется сразу — кнопки «Сбросить / Показать» только в листе на телефоне. */
@media (min-width: 901px) { .jv-otbor[data-sam] .jv-otbor-knopki { display: none; } }

.jv-galki { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }
.jv-galki label { display: flex; gap: 8px; align-items: center; }
/* Галочки — системные, как в макете: общий слой (app.css) рисует свои квадраты со скруглением 6 px, на 16 px они
   выглядят кружками. */
.jv input[type="checkbox"].nt-chk { appearance: auto; -webkit-appearance: checkbox; width: 16px; height: 16px; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; accent-color: auto; }
.jv-otbor-knopki { display: grid; grid-template-columns: 1fr 2fr; gap: 8px; }
.jv-otbor-knopki .nt-btn { height: 44px; justify-content: center; }
.jv-spisok-h { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.jv-spisok-h h1 { margin: 0; font-size: 20px; font-weight: 700; }
/* Высота управляющих над списком и в карточке — 38 px (макет: ctlS). */
.jv-spisok-h select { height: 38px; }
.jv-soobshchenie { margin-bottom: 14px; }
.jv-spisok-d { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.jv-spisok-d form { display: contents; }
.jv-spisok-d .nt-btn { height: 38px; }
.jv-spisok-d .jv-melko { display: none; }
.jv-karty { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.jv-karta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; padding: 18px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); }
/* Название — цвет текста, не ссылки (макет): слой jobs красит все .jb a акцентом, перебиваем двумя классами. */
.jv .jv-karta-t { font-size: 17px; font-weight: 700; color: var(--n-ink); text-decoration: none; }
.jv .jv-karta-t:hover { color: var(--n-accent); }
.jv-karta-r { font-size: 13px; color: var(--n-ink-3); margin-left: 6px; }
.jv-oplata { margin-top: 6px; font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.jv-oplata small { font-size: 13px; font-weight: 500; color: var(--n-ink-3); }
.jv-gde { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--n-ink-2); }
.jv .jv-gde a { font-weight: 600; color: inherit; text-decoration: none; }
.jv .jv-gde a:hover { text-decoration: underline; }
.jv-metki { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.jv-kogda { font-size: 12px; color: var(--n-ink-3); margin-left: 4px; }
.jv-karta-d { display: flex; gap: 6px; align-items: flex-start; justify-content: flex-end; }
.jv-karta-d .nt-btn { height: 38px; }
.jv .jv-karta-d .jv-serdce { width: 38px; box-shadow: inset 0 0 0 1px var(--n-line-strong); color: var(--n-ink-2); font-size: 16px; }
.jv .jv-serdce[aria-pressed="true"] { color: var(--n-accent); }
.jv-esche { flex-wrap: wrap; gap: 10px; }
.jv-esche .nt-btn { height: 38px; }
.jv-pusto { margin-top: 14px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); }
.jv-oslabit { display: flex; flex-direction: column; gap: 6px; width: 100%; max-width: 420px; }
.jv-oslabit a { justify-content: space-between; height: auto; min-height: 44px; padding: 8px 14px; white-space: normal; text-align: left; line-height: 1.3; gap: 12px; }
.jv-oslabit b { color: var(--n-ink-3); font-weight: 600; white-space: nowrap; }
.jv-zhdat { margin-top: 6px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.jv-zhdat form { display: contents; }
.jv-zhdat .nt-btn { height: 44px; max-width: 100%; white-space: normal; text-align: center; }

/* Карточка вакансии */
.jv-put { font-size: 13px; color: var(--n-ink-3); padding-top: 20px; }
.jv .jv-put a { text-decoration: none; color: inherit; }
.jv .jv-put a:hover { color: var(--n-accent); }
.jv-vak { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; padding-bottom: 48px; }
.jv-blok { padding: 28px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); }
.jv-blok + .jv-blok { margin-top: 20px; }
/* Заголовок вакансии 44/700 (макет s3); общий слой витрины красит h1 своим весом — перебиваем двумя классами. */
.jv .jv-blok h1 { margin: 12px 0 0; font-size: 44px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.jv .jv-blok h2 { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: inherit; }
.jv-blok-tekst { display: flex; flex-direction: column; gap: 22px; font-size: 15px; line-height: 1.6; }
.jv-blok-tekst ul { margin: 0; padding-left: 20px; color: var(--n-ink-2); }
.jv-oplata-big { margin-top: 14px; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.jv-oplata-big small { font-size: 15px; font-weight: 500; color: var(--n-ink-3); }
.jv-fakty { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.jv-fakty > div { padding: 12px; border-radius: var(--radius); background: var(--n-surface-2); }
.jv-fakty small { display: block; font-size: 12px; color: var(--n-ink-3); }
.jv-fakty b { display: block; font-size: 14px; font-weight: 600; margin-top: 2px; }
.jv-usloviya { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; color: var(--n-ink-2); }
.jv-usloviya b { color: var(--n-ink); }
.jv-bok { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 20px; }
.jv-bok .jv-blok { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
/* Длинное «Откликнуться резюме «Электросварщик»» переносится, а не вылезает за кнопку. */
.jv-bok .nt-btn { height: auto; min-height: 48px; padding-top: 8px; padding-bottom: 8px; justify-content: center; text-align: center; white-space: normal; line-height: 1.2; font-size: 15px; text-decoration: none; }
/* «♡ В избранное» в боковом блоке — ниже и мельче кнопок отклика (макет s3: 44 px, 13 px). */
.jv-bok form[data-izbrannoe-knopka] { display: contents; }
.jv-bok [data-izbrannoe-knopka] .nt-btn, .jv-bok a.nt-btn[data-izbrannoe-knopka] { min-height: 44px; font-size: 13px; width: 100%; }
.jv-pohozhie { padding-bottom: 56px; }
.jv .jv-pohozhie h2 { margin: 36px 0 0; font-size: 22px; font-weight: 700; line-height: normal; }
.jv-pohozhie-setka { margin-top: 14px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.jv a.jv-pohozhaya { display: flex; flex-direction: column; gap: 8px; padding: 18px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); text-decoration: none; color: var(--n-ink); }
.jv-pohozhaya b { font-size: 16px; }
.jv-pohozhaya-o { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; }
.jv-pohozhaya-o small { font-size: 13px; font-weight: 500; color: var(--n-ink-3); }
.jv-pohozhaya-k { font-size: 13px; color: var(--n-ink-2); }
.jv-melko { font-size: 12px; line-height: 1.5; color: var(--n-ink-3); }
.jv a.jv-kompaniya { display: flex; flex-direction: row; gap: 12px; align-items: center; text-decoration: none; color: var(--n-ink); }
.jv-kompaniya .nt-avatar { width: 44px; height: 44px; border-radius: var(--radius); font-size: 14px; flex: none; }
.jv-kompaniya b { display: block; font-size: 15px; }
.jv-kompaniya small { display: block; font-size: 13px; color: var(--n-ink-3); }

.jv-niz { display: none; }

/* Главная и страница компании */
/* Главная (макет «Главная jobs» s1, Z-343): шапка-поиск на поверхности с линией снизу, поиск 52 px, «Часто ищут:»
   чипами 32 px; разделы — заголовок 22/700 и ссылка «… →» справа. */
.jv-geroy { padding: 56px 0 48px; background: var(--n-surface); border-bottom: 1px solid var(--n-line); }
.jv .jv-geroy h1 { margin: 0; font-size: 44px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; max-width: 760px; }
.jv .jv-geroy p { margin: 12px 0 0; font-size: 16px; line-height: 1.55; color: var(--n-ink-2); max-width: 640px; }
.jv-geroy-poisk { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) 240px auto; gap: 8px; max-width: 960px; }
.jv-geroy-poisk .nt-field, .jv-geroy-poisk .nt-btn { height: 52px; font-size: 15px; width: 100%; }
.jv-geroy-poisk .nt-btn { justify-content: center; padding: 0 28px; }
.jv-chasto { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.jv-chasto > span { font-size: 13px; color: var(--n-ink-3); margin-right: 4px; }
.jv-chasto .nt-btn { height: 32px; font-size: 13px; }
.jv-razdel { padding: 40px 0 0; }
.jv .jv-razdel h2 { margin: 0 0 14px; font-size: 22px; font-weight: 700; line-height: normal; }
.jv-razdel-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.jv .jv-razdel-h h2 { margin: 0; }
.jv .jv-razdel-h a { font-size: 14px; font-weight: 600; text-decoration: none; }
.jv-populyarnye { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.jv a.jv-populyarnye-p, .jv .jv-populyarnye a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 52px; padding: 0 14px; border-radius: var(--radius); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); text-decoration: none; color: var(--n-ink); font-size: 14px; font-weight: 600; min-width: 0; }
.jv-populyarnye span { min-width: 0; overflow-wrap: anywhere; line-height: 1.25; padding: 8px 0; }
.jv-populyarnye small { font-size: 12px; font-weight: 600; color: var(--n-ink-3); font-variant-numeric: tabular-nums; }
.jv-goroda { display: flex; flex-wrap: wrap; gap: 8px; }
.jv-goroda .nt-btn { height: 38px; }
.jv-svezhie { padding-bottom: 48px; }
.jv-svezhie-setka { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.jv-svezhaya { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); }
.jv-svezhaya-v { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
/* Название — ссылка на всю карточку (::after), ♡ — поверх неё. */
.jv .jv-svezhaya-t { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--n-ink); text-decoration: none; }
.jv-svezhaya-t::after { content: ''; position: absolute; inset: 0; border-radius: inherit; }
.jv-svezhaya:hover .jv-svezhaya-t { color: var(--n-accent); }
.jv-svezhaya [data-izbrannoe-knopka] { position: relative; z-index: 1; flex: none; color: var(--n-ink-2); }
.jv-svezhaya [data-izbrannoe-knopka][aria-pressed="true"] { color: var(--n-accent); }
.jv-svezhaya-r { font-size: 12px; color: var(--n-ink-3); margin-top: 2px; }
.jv-svezhaya-o { font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.jv-svezhaya-o small { font-size: 13px; font-weight: 500; color: var(--n-ink-3); margin-left: 4px; }
.jv-svezhaya-k { font-size: 13px; line-height: 1.45; color: var(--n-ink-2); }
.jv-svezhaya-k b { font-weight: 600; color: var(--n-ink); }
.jv-svezhaya-d { font-size: 12px; color: var(--n-ink-3); margin-top: auto; }
.jv-zhdat--ryad { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; }
/* Отклик (макет «Отклик» s1–s7, Z-343): слева 640 px — заголовок и форма, справа 340 px — сводка вакансии. */
.jv-otklik { padding-top: 36px; padding-bottom: 64px; display: grid; grid-template-columns: minmax(0, 640px) 340px; gap: 28px; align-items: start; }
.jv-otklik-l { min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.jv .jv-otklik-l h1 { margin: 10px 0 0; font-size: 44px; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.jv .jv-otklik-k { margin: 6px 0 0; font-size: 14px; color: var(--n-ink-2); }
.jv-anketa-obyortka > summary { list-style: none; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--n-accent); text-align: center; }
.jv-anketa-obyortka > summary::-webkit-details-marker { display: none; }
.jv-anketa-obyortka > summary::before { content: none; }
.jv-anketa-obyortka[open] > summary { display: none; }
.jv-anketa { display: flex; flex-direction: column; gap: 16px; }
.jv-anketa-h { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.jv-anketa-z { font-size: 15px; font-weight: 700; }
.jv .jv-anketa-h a { font-size: 13px; font-weight: 600; text-decoration: none; }
.jv-anketa-oshibki { padding: 12px 14px; font-size: 13px; font-weight: 600; color: var(--n-danger); }
.jv-pole > label, .jv-pole-podpis { display: block; font-size: 13px; font-weight: 500; color: var(--n-ink-2); margin-bottom: 6px; }
.jv-pole-zh { color: var(--n-ink-3); }
.jv-pole .nt-field { width: 100%; min-width: 0; height: 44px; }
.jv-pole textarea.nt-field { height: 84px; padding: 10px 12px; resize: vertical; }
.jv-pole-pod { font-size: 12px; color: var(--n-ink-3); margin-top: 4px; }
.jv-pole-dva { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jv-vybor { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-align: left; cursor: pointer; }
.jv-vybor [data-pusto] { color: var(--n-ink-3); }
.jv-vybor-strelka { color: var(--n-ink-3); font-size: 12px; }
fieldset.jv-segment { margin: 0; border: 0; min-width: 0; }
.jv-segment--opyt { grid-template-columns: repeat(4, 1fr); margin-top: 0; height: 44px; font-size: 13px; }
.jv-segment--opyt label { display: flex; align-items: center; justify-content: center; }
.jv-segment[aria-invalid="true"] { box-shadow: inset 0 0 0 1.5px var(--n-danger); }
.jv-soglasie { padding: 12px 14px; border-radius: var(--radius); box-shadow: inset 0 0 0 1px var(--n-line); }
.jv-soglasie[data-oshibka] { box-shadow: inset 0 0 0 1.5px var(--n-danger); }
.jv-soglasie label { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; }
.jv-soglasie input { margin-top: 2px; flex: none; }
.jv-soglasie details { margin-top: 6px; color: var(--n-ink-2); }
.jv-soglasie summary { cursor: pointer; font-weight: 600; color: var(--n-accent); list-style: none; display: inline; }
.jv-soglasie summary::-webkit-details-marker { display: none; }
.jv-soglasie summary::before { content: none; }
.jv-soglasie .nt-field__error { margin-left: 26px; }
.jv-sboy { flex-wrap: wrap; }
.jv-sboy[hidden] { display: none; }
.jv-sboy-z { font-size: 14px; font-weight: 700; color: var(--n-danger); }
.jv-sboy-t { font-size: 13px; color: var(--n-ink-2); margin-top: 4px; }
.jv .jv-otpravit { height: 48px; justify-content: center; font-size: 15px; }
.jv-otklik-svodka { padding: 20px; display: flex; flex-direction: column; gap: 10px; position: sticky; top: 20px; }
.jv-otklik-svodka-n { font-size: 12px; color: var(--n-ink-3); }
.jv-otklik-svodka b { font-size: 17px; }
.jv-otklik-svodka-r { font-size: 13px; color: var(--n-ink-2); }
.jv-otklik-svodka-o { font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.jv-otklik-svodka-o small { font-size: 13px; font-weight: 500; color: var(--n-ink-3); margin-left: 4px; }
.jv-otklik-svodka-k { font-size: 13px; line-height: 1.5; color: var(--n-ink-2); }
/* Резюме в одно нажатие (s1): строка резюме — название 15/700, подпись 13 ink-2, «Обновлено» 12 ink-3; кнопка 48 px. */
.jv [data-blok="otklik-rezyume"] .jk-vidimost b { font-size: 15px; }
.jv [data-blok="otklik-rezyume"] .jk-vidimost .jk-pod { font-size: 12px; color: var(--n-ink-3); }
.jv [data-blok="otklik-rezyume"] > .nt-btn--primary { height: 48px; justify-content: center; font-size: 15px; }
.jv [data-blok="otklik-rezyume"] .nt-notice { background: var(--n-surface-2); }
/* «Отклик отправлен» (s5). */
.jv-gotovo { display: flex; flex-direction: column; gap: 14px; }
.jv-gotovo .nt-status { align-self: flex-start; }
.jv .jv-gotovo h1 { margin: 0; }
.jv .jv-gotovo > p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--n-ink-2); }
.jv-gotovo > p b { color: var(--n-ink); }
.jv-gotovo-profil { padding: 18px; border-radius: var(--radius); background: var(--n-accent-tint); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.jv-gotovo-profil-z { font-size: 16px; font-weight: 700; }
.jv .jv-gotovo-profil p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--n-ink-2); }
.jv-gotovo-profil .nt-btn { height: 44px; }
.jv-gotovo-d { display: flex; gap: 8px; flex-wrap: wrap; }
.jv .jv-gotovo-d a.jv-gotovo-glavnaya { box-shadow: none; }
/* Страница компании (макет s1, Z-343): лента на поверхности, логотип-буквы 72 px, вакансии строками 1fr + оплата. */
.jv-kompaniya-lenta { padding: 36px 0; background: var(--n-surface); border-bottom: 1px solid var(--n-line); }
.jv-kompaniya-shapka { margin-top: 18px; display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.jv-kompaniya-shapka .nt-avatar { width: 72px; height: 72px; border-radius: var(--radius-vitrina-xs); font-size: 22px; flex: none; }
.jv .jv-kompaniya-shapka h1 { margin: 0; font-size: 44px; font-weight: 700; line-height: 1.1; letter-spacing: -.02em; }
.jv .jv-kompaniya-shapka p { margin: 6px 0 0; font-size: 14px; color: var(--n-ink-2); }
.jv-kompaniya-vakansii { padding: 28px 0 56px; display: flex; flex-direction: column; gap: 14px; max-width: 812px; }
.jv .jv-kompaniya-vakansii h2 { margin: 0; font-size: 22px; font-weight: 700; line-height: normal; }
.jv a.jv-stroka { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 20px; align-items: center; padding: 18px; border-radius: var(--radius-vitrina-xs); background: var(--n-surface); box-shadow: inset 0 0 0 1px var(--n-line); text-decoration: none; color: var(--n-ink); }
.jv-stroka b { font-size: 16px; }
.jv-stroka-r { font-size: 13px; color: var(--n-ink-3); }
.jv-stroka-m { display: block; font-size: 13px; color: var(--n-ink-2); margin-top: 4px; }
.jv-stroka .jv-metki { display: flex; }
.jv-stroka-o { font-size: 16px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.jv-stroka-o small { display: block; font-size: 12px; font-weight: 500; color: var(--n-ink-3); }
/* Правая колонка (Z-344): «О компании» и «Объекты», 360 px. */
.jv-kompaniya-telo { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; }
.jv-kompaniya-telo .jv-kompaniya-vakansii { max-width: none; }
.jv-kompaniya-bok { padding-top: 28px; display: flex; flex-direction: column; gap: 12px; }
.jv-kompaniya-bok .jv-blok { padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.jv-kompaniya-bok b { font-size: 15px; }
.jv .jv-kompaniya-bok p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--n-ink-2); white-space: pre-line; }
.jv .jv-kompaniya-bok .nt-ref { font-size: 14px; align-self: flex-start; color: var(--n-ink); }
.jv-obekt { display: flex; gap: 10px; font-size: 14px; line-height: 1.45; color: var(--n-ink-2); }
.jv-obekt::before { content: ''; width: 6px; height: 6px; border-radius: var(--radius-metka); background: var(--n-accent); margin-top: 7px; flex: none; }
/* «Для работодателей» — тёмный блок акцентом (макет s1): надпись капсом, заголовок 24/700, две кнопки справа. */
.jv-rabotodatelyam { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: center; padding: 36px 40px; border-radius: var(--radius-vitrina-xs); background: var(--n-accent); color: var(--n-accent-ink); }
.jv-rabotodatelyam-n { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.jv-rabotodatelyam-t { margin-top: 8px; font-size: 24px; font-weight: 700; line-height: 1.2; }
.jv .jv-rabotodatelyam p { margin: 10px 0 0; font-size: 14px; line-height: 1.6; opacity: .85; max-width: 620px; color: inherit; }
.jv-rabotodatelyam-d { display: flex; flex-direction: column; gap: 8px; }
.jv-rabotodatelyam-d .nt-btn { height: 44px; justify-content: center; }
.jv .jv-rabotodatelyam a.jv-rabotodatelyam-1 { background: var(--n-accent-ink); color: var(--n-accent); box-shadow: none; }
.jv .jv-rabotodatelyam a.jv-rabotodatelyam-2 { background: transparent; color: var(--n-accent-ink); box-shadow: inset 0 0 0 1px currentColor; }

@media (max-width: 900px) {
  .jv-telo { grid-template-columns: minmax(0, 1fr); }
  /* Телефон (макет s5): отбор — лист поверх списка по кнопке «Фильтры · N»; открывается якорем #filtry,
     без скрипта. Кнопки «Сбросить / Показать» липнут к низу листа. */
  .jv-otbor { display: none; position: fixed; inset: 0; z-index: 40; overflow-y: auto; border-radius: 0; padding: 16px 16px 0; }
  .jv-otbor:target { display: flex; }
  .jv-otbor-shapka { display: flex; }
  .jv-otbor-knopki { position: sticky; bottom: 0; padding: 12px 0 24px; background: var(--n-surface); }
  .jv-otbor-knopki .nt-btn { height: 48px; }
  .jv-filtry-knopka { display: inline-flex; }
  .jv-spisok-d .nt-btn, .jv-spisok-h select { height: 44px; }
  .jv-vak { grid-template-columns: minmax(0, 1fr); padding-bottom: 96px; }
  .jv-bok { position: static; }
  .jv-fakty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jv-blok { padding: 18px; }
  .jv .jv-blok h1 { font-size: 28px; }
  .jv-pohozhie-setka { grid-template-columns: minmax(0, 1fr); }
  .jv-geroy { padding: 28px 0; }
  .jv .jv-geroy h1 { font-size: 28px; }
  .jv-geroy-poisk { grid-template-columns: minmax(0, 1fr); }
  .jv-geroy-poisk .nt-field, .jv-geroy-poisk .nt-btn { height: 48px; }
  .jv-populyarnye { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jv a.jv-populyarnye-p, .jv .jv-populyarnye a { font-size: 13px; }
  .jv-svezhie-setka { grid-template-columns: minmax(0, 1fr); }
  .jv-rabotodatelyam { grid-template-columns: minmax(0, 1fr); padding: 24px 20px; }
  .jv-otklik { padding-top: 20px; padding-bottom: 32px; grid-template-columns: minmax(0, 1fr); }
  .jv .jv-otklik-l h1 { font-size: 28px; }
  .jv-otklik-svodka { display: none; }
  .jv-pole-dva { grid-template-columns: minmax(0, 1fr); }
  .jv-pole .nt-field, .jv-segment--opyt { height: 48px; }
  .jv-kompaniya-lenta { padding: 24px 0; }
  .jv .jv-kompaniya-shapka h1 { font-size: 28px; }
  .jv-kompaniya-shapka .nt-avatar { width: 56px; height: 56px; }
  .jv a.jv-stroka { grid-template-columns: minmax(0, 1fr); }
  .jv-kompaniya-telo { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .jv-kompaniya-bok { padding-top: 0; padding-bottom: 32px; }
  .jv-stroka-o { text-align: left; }
  .jv-usloviya { grid-template-columns: minmax(0, 1fr); }
  .jv-poisk-ryad { grid-template-columns: minmax(0, 1fr) auto; }
  .jv-poisk-ryad select { display: none; }
  .jv-niz { display: grid; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: var(--n-surface); border-top: 1px solid var(--n-line); }
  .jv-niz .nt-btn { height: 48px; justify-content: center; font-size: 15px; text-decoration: none; }
  .jv-karta { grid-template-columns: minmax(0, 1fr); }
  .jv-karta-d { justify-content: stretch; }
  .jv-karta-d .nt-btn { flex: 1; justify-content: center; height: 44px; }
  .jv .jv-serdce { flex: none; width: 44px; }
}

/* Шапка на jobs (владелец 31.10: шапка общая с none.kz, #484; от макета JobsHeader — только подсветка текущего
   пункта и «Для работодателей»). Пункт — плашка 36 px, текущий — заливка accent-tint, 700. Только на jobs: файл
   подключает один каркас layouts.jobs. */
.site-header .main-nav { gap: 2px; align-items: center; }
.site-header .main-nav a { height: 36px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: var(--radius); color: var(--n-ink-2); white-space: nowrap; }
.site-header .main-nav a[aria-current="page"] { font-weight: 700; color: var(--n-accent); background: var(--n-accent-tint); }

/* Кнопки-ссылки: цвет ссылки витрины не должен перебивать цвет кнопки */
.jv a.nt-btn { text-decoration: none; color: var(--n-ink); }
.jv a.nt-btn--primary, .jv a.nt-btn--primary:hover { color: var(--n-accent-ink); }
.jv-razryad { margin-top: 4px; font-size: 15px; color: var(--n-ink-2); }
