/* Исправления по полной проверке страницы (26.09): наложения, скачки высоты, доступность, контраст.
   Подключается последним, поверх rabota.css и v8-*.css. Оформление (цвета, шрифты, композиция) не меняет. */

/* якоря и фокус с клавиатуры не прячутся под шапкой и нижней кнопкой */
html{scroll-padding-top:88px}
/* снизу — только пока видна нижняя кнопка; без неё отступ лишний и уводит заголовок шага под шапку */
@media (max-width:860px){html:has(.sticky-cta.is-on){scroll-padding-bottom:96px}}


/* рабочее место: на компьютере высота не прыгает по шагам — все панели в одной ячейке, видна активная */
@media (min-width:861px){
  body.design-ready .ws-body{display:grid}
  body.design-ready .ws .pane{display:flex;grid-area:1/1;visibility:hidden;animation:none}
  body.design-ready .ws .pane.is-on{visibility:visible;animation:stepIn .45s var(--ease)}
}
/* активный шаг теперь aria-current вместо aria-selected */
.flow-steps button[aria-current=step]{background:#fff;color:var(--ink);border-color:#fff;transform:translateX(6px)}
.flow-steps button[aria-current=step] .n{background:var(--lime);color:var(--ink)}
body.v-editorial .flow-steps button[aria-current=step]{background:#F8FCFC;color:#13374F;border-color:#F8FCFC;transform:none}
@media (max-width:860px){.flow-steps button[aria-current=step]{transform:none}}

/* кнопки «Взял в работу» и «Не целевой» одного кегля */
button.nb{font-size:14px}

/* шахматка: клетки — кнопки (клавиатура), на телефоне квадратные, чтобы попасть пальцем; легенда словами */
.cells .cell{display:block;width:100%;border:0;padding:0;margin:0;font:inherit;-webkit-appearance:none;appearance:none}
.cells.big .cell:focus-visible{outline:3px solid #087F87;outline-offset:1px}
@media (max-width:860px){body.design-ready .cells.big .cell{aspect-ratio:1/1}}
.cells-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0 0;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.cells-legend span{display:inline-flex;align-items:center;gap:6px}
.cells-legend .lg{width:14px;height:10px;border-radius:3px;display:inline-block}
.cells-legend .lg.free{background:#BFE9EC}
.cells-legend .lg.hot{background:var(--lime)}
.cells-legend .lg.sold{background:#D9DEE2}
.plink u.nw{white-space:nowrap}
.plink:focus,.flat:focus{outline:none}
.flat:focus-visible{outline:3px solid #087F87;outline-offset:2px}
.plink:focus-visible{outline:3px solid #087F87;outline-offset:2px}
/* шахматка и легенда — одна колонка, карточка квартиры справа */
.board-col{min-width:0}
/* на компьютере клетка высотой 19 px: между центрами соседних ≥ 24 px (min-height через пропорцию распирал колонку на 1024) */
@media (min-width:861px){body.design-ready .cells.big .cell{aspect-ratio:auto;height:19px}}

/* рамка фокуса на светлом рабочем месте — видимая (лаймовая сливалась) */
body.design-ready .dark .ws :is(a,button):focus-visible{outline-color:#087F87}

/* видео: чистая обложка без вшитого значка, кнопка в углу, где нет надписей */
body.design-ready .video-facade .play{top:16px;right:16px;bottom:auto;left:auto;transform:none}
body.design-ready .video-facade:hover .play{transform:scale(1.08)}

/* тренажёр: пока он на экране, нижняя кнопка скрыта — разбору хватает небольшого отступа */
.tr-fb{scroll-margin-bottom:16px}

/* анкета: на 1001–1199 px подсказка комментария обрезалась */
@media (min-width:1001px) and (max-width:1199px){body.design-ready #apply .a-files .fld textarea{height:132px;min-height:132px}}

/* зона нажатия у ссылок «или сразу: телефон · Telegram · MAX» — невидимым расширением, без сдвига строки (.hf-alt — flex) */
.hf-alt a{position:relative}
.hf-alt a::after{content:"";position:absolute;inset:-11px -4px}

/* карточки «Позвонить / Telegram / MAX» ровно по верху, даже если подпись перенеслась */
body.v-editorial .channels .channel{align-content:start}

/* скрытая нижняя кнопка не ловит Tab */
.sticky-cta{visibility:hidden;transition:transform .4s var(--ease),visibility 0s .4s}
.sticky-cta.is-on{visibility:visible;transition-delay:0s}

/* контраст мелких подписей до нормы WCAG AA (4,5:1) — оттенки те же, чуть темнее */
body.v-editorial .sec-sand .eyebrow{color:#0B6F75}
.sec-sand .illus-note,.ws-bar{color:#486274}
.bubble.next small,.ch-fb.ok small,.tr-fb.ok small{opacity:1}
.err{color:#C81E2C}
.meet .cal b{color:#C81E2C}
.meet small{color:#4A7532}
.foot small{opacity:.8;font-size:13px}
@media (min-width:861px){.foot{padding-bottom:40px}}

/* телефон в «Офисе» выглядит ссылкой */
.office dd a.tel-link{color:var(--teal-t);text-decoration:underline;text-underline-offset:3px}

/* подзаголовки недель и карточек стали h3 (были h4) — вид прежний */
.wk h3{font-size:21px;font-weight:800;margin:6px 0 8px;letter-spacing:-.01em}
.term h3{font-size:18px;font-weight:800;margin-bottom:8px;letter-spacing:-.01em}
body.v-editorial .term h3{font-family:var(--font-text);font-weight:600}

/* кнопка «Открыть» на карте: правило .map-meta span перекрашивало её текст в серый на тёмном */
body.v-editorial .map-card .map-meta .map-open{color:#fff;display:inline-flex;margin-top:0;font-size:14px}

/* карта офиса: подпись «© Яндекс» внизу справа не закрыта плашкой; шире своих 650 px картинка не растягивается;
   карточка заполняет высоту блока (без пустой подложки), обрезка — слева, подпись справа цела;
   на телефоне — квадратный кадр, чтобы плашка не закрывала метку */
body.v-editorial .map-card picture{display:block;height:100%}
body.v-editorial .map-card .map-meta{bottom:40px}
@media (min-width:641px){
  body.design-ready .office .map{display:flex;max-width:650px;width:100%}
  body.v-editorial .map-card{flex:1 1 auto}
  body.v-editorial .map-card img{object-position:100% 100%}
}
@media (max-width:640px){
  body.v-editorial .map-card,body.v-editorial .map-card img{min-height:0}
  body.v-editorial .map-card img{height:auto;aspect-ratio:1/1}
  body.v-editorial .map-card .map-meta{bottom:34px}
  body.design-ready .office .map{min-height:0}
}

/* «От чего зависит доход»: приписка — обычный текст; класс совпал со старым правилом пунктирной ссылки */
body.v-editorial #dohod .income-note,body.v-editorial #dohod .income-note:hover{font-weight:inherit;border-bottom:0}

/* шаг 1: ярлык «Пример другого исхода» одной строкой под кнопкой — не растягивает «Взял в работу»; текст 5,9:1 */
body.v-editorial .nbtns{grid-template-columns:1fr}
body.v-editorial .nbtns .nb:not(.ok){min-height:40px;color:#486274}

/* первый экран на 861–1100: белая карточка формы не закрывает руку героини с планшетом */
@media (min-width:861px) and (max-width:1100px){body.design-ready .hero .hero-photo img{object-position:55% 0!important}}

/* 861–959: шахматка во всю ширину окна, карточка под ней — иначе клетки уже 24 px с шагом (WCAG 2.5.8) */
@media (min-width:861px) and (max-width:959px){body.design-ready .board2{grid-template-columns:1fr}}

/* отклик — только звонок или анкета (решение Сергея 26.09): под формой одна карточка звонка */
body.design-ready .channels{grid-template-columns:minmax(0,340px)}

/* «От чего зависит доход» на компьютере — по нижней линии с карточкой «Конверсия по компании», а не выше заголовка (замечание Сергея 27.09) */
@media (min-width:861px){body.v-editorial #dohod .income-side{align-self:end}}

/* ловушка для ботов в формах: людям не видна, в порядке Tab её нет */
.hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
/* ошибка отправки анкеты — под кнопкой «Отправить отклик» */
#applyForm .err-send{margin-top:10px}
