/* ===== стили внутренних страниц (Пациентам / Сведения об организации) =====
   Подключается ПОСЛЕ style.css и пользуется его токенами.
   На главной не нужен — там этих классов нет. */

/* ---------- шапка страницы ---------- */
.phead{
  background:
    radial-gradient(760px 340px at 90% -20%,var(--red-lt),transparent 62%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%);
  padding:44px 0 52px;border-bottom:1px solid var(--line);
}
.crumbs{font-size:14px;color:var(--ink-3);margin-bottom:18px}
.crumbs a{color:var(--ink-3)}
.crumbs a:hover{color:var(--red)}
.crumbs span{margin:0 8px;opacity:.6}
.phead h1{font-size:clamp(29px,3.8vw,44px);font-weight:800;margin-bottom:16px;max-width:900px}
.phead .lead{max-width:760px}

/* ---------- сетка: оглавление + текст ---------- */
.pwrap{display:grid;grid-template-columns:262px minmax(0,1fr);gap:56px;padding:54px 0 84px;align-items:start}

.toc{position:sticky;top:96px}
.toc h2{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.toc li{counter-increment:toc}
.toc a{
  display:flex;gap:10px;padding:8px 12px;border-radius:10px;font-size:15px;
  color:var(--ink-2);line-height:1.35;transition:background .18s,color .18s;
}
.toc a::before{content:counter(toc,decimal-leading-zero);font-size:12px;font-weight:800;color:var(--ink-3);padding-top:2px;flex-shrink:0}
.toc a:hover{background:var(--bg-alt);color:var(--ink)}
.toc a.is-active{background:var(--red-lt);color:var(--red)}
.toc a.is-active::before{color:var(--red)}

/* ---------- блоки текста ---------- */
.blk{scroll-margin-top:100px;padding-bottom:52px;margin-bottom:52px;border-bottom:1px solid var(--line)}
.blk:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.blk>h2{font-size:clamp(23px,2.6vw,30px);font-weight:800;margin-bottom:20px}
.blk h3{font-size:19px;font-weight:700;margin:28px 0 12px}
.blk p{color:var(--ink-2);margin-bottom:14px;max-width:78ch}
.blk p:last-child{margin-bottom:0}
.blk ul,.blk ol{color:var(--ink-2);margin:0 0 16px;padding-left:22px;max-width:78ch}
.blk li{margin-bottom:9px}
.blk li::marker{color:var(--red)}
.blk a:not(.doci):not(.btn){color:var(--red);border-bottom:1px solid transparent;transition:border-color .18s}
.blk a:not(.doci):not(.btn):hover{border-bottom-color:var(--red)}
.blk strong{color:var(--ink);font-weight:700}

/* ---------- таблица «поле — значение» ---------- */
.deflist{display:grid;grid-template-columns:minmax(190px,270px) minmax(0,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}
.deflist dt,.deflist dd{background:var(--surface);margin:0;padding:15px 20px}
.deflist dt{font-size:14.5px;font-weight:700;color:var(--ink-3)}
.deflist dd{color:var(--ink-2)}
.deflist dd a:hover{color:var(--red)}

/* ---------- карточка сотрудника ---------- */
.staff{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 20px;margin-bottom:18px}
.staff__top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:6px}
.staff__name{font-size:20px;font-weight:800;color:var(--ink)}
.staff__post{font-size:15px;color:var(--red);font-weight:700}
.staff__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 28px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.staff__grid h4{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.staff__grid p{font-size:15px;margin:0}

/* ---------- список документов ---------- */
.doclist{display:grid;gap:12px;margin-bottom:8px}
.doci{
  display:flex;align-items:center;gap:16px;padding:16px 20px;
  background:var(--surface);border:1px solid var(--line);border-radius:14px;
  transition:border-color .18s,box-shadow .2s,transform .18s;
}
.doci:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-2px)}
.doci__ico{
  flex-shrink:0;width:44px;height:44px;border-radius:11px;background:var(--red-lt);color:var(--red);
  display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.05em;
}
.doci__txt{min-width:0}
.doci__txt b{display:block;font-size:16px;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:3px}
.doci__txt span{display:block;font-size:13.5px;color:var(--ink-3)}
.doci__go{margin-left:auto;flex-shrink:0;font-size:13.5px;font-weight:700;color:var(--red);white-space:nowrap}

/* ---------- QR выписки из реестра лицензий ---------- */
.licqr{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;margin-bottom:16px;
}
.licqr img{display:block;width:150px;height:150px;background:#fff;border-radius:10px;padding:8px}
.licqr>div{min-width:240px;flex:1}
.licqr p{font-size:14.5px;margin-bottom:8px}
.licqr p:last-child{margin-bottom:0;font-size:13.5px;color:var(--ink-3)}
.licqr b{color:var(--ink);font-weight:700}

/* ---------- контролирующий орган ---------- */
.orgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.org{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.org h3{font-size:17px;font-weight:700;margin:0 0 12px;line-height:1.3}
.org p{font-size:15px;margin-bottom:8px}
.org p:last-child{margin-bottom:0}
.org b{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:2px}
.org a:hover{color:var(--red)}

/* ---------- выноска ---------- */
.note{
  background:var(--bg-alt);border:1px solid var(--line);border-left:3px solid var(--red);
  border-radius:12px;padding:18px 22px;margin-bottom:18px;
}
.note p{font-size:15.5px;margin-bottom:8px}
.note p:last-child{margin-bottom:0}

/* ---------- ПОМЕТКА: ждём данные от заказчика ----------
   Служебная плашка на время сборки. Когда заказчик пришлёт данные —
   заменить блок текстом и УДАЛИТЬ .todo целиком (grep 'todo' по файлу). */
.todo{
  background:repeating-linear-gradient(135deg,var(--bg-alt),var(--bg-alt) 12px,transparent 12px,transparent 24px);
  border:1.5px dashed var(--line-2);border-radius:12px;padding:18px 22px;margin-bottom:18px;
}
.todo b{
  display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin-bottom:8px;
}
.todo p{font-size:15px;color:var(--ink-2);margin-bottom:6px}
.todo p:last-child{margin-bottom:0}
.todo ul{margin:6px 0 0;font-size:15px}

/* ---------- адаптив ---------- */
@media (max-width:1080px){
  .pwrap{grid-template-columns:1fr;gap:0;padding:34px 0 64px}
  .toc{position:static;margin-bottom:34px;padding:20px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-alt)}
  .toc ol{columns:2;column-gap:18px}
  .toc li{break-inside:avoid}
}
@media (max-width:720px){
  .phead{padding:28px 0 34px}
  .toc ol{columns:1}
  .deflist{grid-template-columns:1fr}
  .deflist dt{padding-bottom:0;background:var(--surface)}
  .blk{padding-bottom:38px;margin-bottom:38px}
  .doci{flex-wrap:wrap;gap:12px}
  .doci__go{margin-left:60px}
}

/* активный пункт основной навигации на внутренних страницах */
.nav a[aria-current="page"]{color:var(--red)}
.nav a[aria-current="page"]::after{right:0}

/* =====================================================================
   /raspisanie/ — недельная сетка приёма
   На десктопе таблица врач × день, на телефоне карточки: таблица
   на семь колонок при 360px нечитаема даже с горизонтальной прокруткой.
   ===================================================================== */
.rsp__nav{display:flex;align-items:center;gap:12px;margin-bottom:26px;flex-wrap:wrap}
.rsp__nav b{font-size:19px;font-weight:700;min-width:220px}
.rsp__sp{flex:1}
.rsp__arr{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);
          background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer;
          transition:.16s;flex:none}
.rsp__arr:hover{border-color:var(--red);color:var(--red)}
.rsp__load,.rsp__empty{color:var(--ink-3);padding:38px 0;text-align:center;line-height:1.7}
.rsp__empty{background:var(--bg-alt);border:1px dashed var(--line-2);border-radius:var(--radius);
            padding:34px 24px}
.rsp__empty a,.rsp__load a{color:var(--red)}

.rsp__scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
table.rsp{width:100%;border-collapse:collapse;min-width:900px;background:var(--surface)}
table.rsp th,table.rsp td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);
                          padding:14px 12px;text-align:left;vertical-align:top}
table.rsp tr:last-child th,table.rsp tr:last-child td{border-bottom:0}
table.rsp th:last-child,table.rsp td:last-child{border-right:0}
table.rsp thead th{font-size:13px;font-weight:700;color:var(--ink-3);background:var(--bg-alt);
                   text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
table.rsp thead th small{display:block;font-size:12.5px;font-weight:600;letter-spacing:0;
                         text-transform:none;color:var(--ink-2);margin-top:3px}
table.rsp thead th.is-today{color:var(--red)}
.rsp__doc{width:270px;min-width:250px}
.rsp__doc img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top;
              float:left;margin-right:11px;background:var(--bg-alt)}
.rsp__doc b{display:block;font-size:15px;font-weight:700;line-height:1.3}
.rsp__doc i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3);
            line-height:1.35;margin-top:3px}
.rsp__off{color:var(--ink-3);text-align:center}
.rsp__on b{display:block;font-size:15.5px;font-weight:700;white-space:nowrap}
.rsp__on i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.rsp__on.is-today{background:var(--red-lt)}
.rsp__free{display:inline-block;margin-top:7px;font-size:12.5px;font-weight:700;color:var(--ok);
           background:rgba(26,138,74,.10);border-radius:20px;padding:2px 9px;white-space:nowrap}
.rsp__free.none{color:var(--ink-3);background:var(--bg-alt)}
.rsp__note{margin-top:22px;font-size:14px;color:var(--ink-3);line-height:1.65;max-width:78ch}

.rspm{display:none;flex-direction:column;gap:14px}
.rspm__d{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);
         padding:16px 18px}
.rspm__h{display:flex;align-items:center;gap:11px;padding-bottom:12px;margin-bottom:12px;
         border-bottom:1px solid var(--line)}
.rspm__h img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:center top;
             flex:none;background:var(--bg-alt)}
.rspm__h b{display:block;font-size:15.5px;font-weight:700;line-height:1.3}
.rspm__h i{display:block;font-style:normal;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.rspm__off{color:var(--ink-3);font-size:14.5px}
.rspm__l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.rspm__l li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.rspm__day{flex:1 0 100%;font-size:13px;font-weight:700;color:var(--ink-3)}
.rspm__t{font-size:15.5px;font-weight:700}
.rspm__t i{font-style:normal;font-size:12.5px;font-weight:500;color:var(--ink-3)}
.rspm__l .rsp__free{margin-top:0}

@media (max-width:860px){
  .rsp__scroll{display:none}
  .rspm{display:flex}
  .rsp__nav b{min-width:0;font-size:17px}
}

/* ===== карточки специалистов /spetsialisty/ ===== */
.spec{display:grid;grid-template-columns:288px minmax(0,1fr);gap:0;
      background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
      overflow:hidden;margin-bottom:26px;scroll-margin-top:110px}
.spec:last-of-type{margin-bottom:0}
.spec__photo{background:var(--bg-alt)}
.spec__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.spec__body{padding:30px 32px 28px;min-width:0}
.spec__name{font-size:clamp(20px,2.2vw,25px);font-weight:800;margin:0 0 6px}
.spec__post{color:var(--red);font-weight:700;font-size:15.5px;margin:0 0 16px}
.spec__tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0}
.spec__tags li{font-size:13px;font-weight:600;color:var(--ink-2);background:var(--bg-alt);
               border:1px solid var(--line);border-radius:20px;padding:5px 13px}
.spec__lead{color:var(--ink-2);margin:0 0 18px;max-width:70ch}
.spec__more{border-top:1px solid var(--line);padding-top:16px;margin-bottom:18px}
.spec__more>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;
                    font-size:15px;font-weight:700;color:var(--red);width:max-content}
.spec__more>summary::-webkit-details-marker{display:none}
.spec__more>summary::after{content:'';width:9px;height:9px;border-right:2px solid currentColor;
                           border-bottom:2px solid currentColor;transform:rotate(45deg);
                           margin-top:-5px;transition:transform .2s}
.spec__more[open]>summary::after{transform:rotate(-135deg);margin-top:3px}
.spec__more>summary:hover{color:var(--red-dk)}
.spec__more>summary:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:4px}
.spec__more .spec__more-close{display:none}
.spec__more[open] .spec__more-open{display:none}
.spec__more[open] .spec__more-close{display:inline}
.spec__det{padding-top:18px}
.spec__det h3{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
              color:var(--ink-3);margin:22px 0 8px}
.spec__det h3:first-child{margin-top:0}
.spec__det p{color:var(--ink-2);margin:0 0 6px;max-width:78ch}
.spec__det ol{color:var(--ink-2);margin:0;padding-left:20px;max-width:78ch}
.spec__det li{margin-bottom:7px}
.spec__det li::marker{color:var(--red)}

.spec__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0}
.spec__link{font-size:15px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--line-2)}
.spec__link:hover{color:var(--red);border-bottom-color:var(--red)}
.spec__note{margin-top:26px;font-size:14px;color:var(--ink-3);line-height:1.65;max-width:78ch}
.spec__note a{color:var(--red)}

@media (max-width:860px){
  .spec{grid-template-columns:1fr}
  .spec__photo{aspect-ratio:4/3}
  .spec__photo img{object-position:center 22%}
  .spec__body{padding:24px 22px 26px}
}

/* ============================================================
   ПРАЙС (/price/)
   Не таблица: на узком экране трёхколоночная таблица либо едет
   горизонтально, либо давит название в столбик. Здесь строка —
   flex, цена не переносится, название занимает остаток ширины.
   ============================================================ */
.prc{
  border:1px solid var(--line);border-radius:12px;background:var(--surface);
  overflow:hidden;margin-bottom:22px;
}
.prc__row{
  display:flex;align-items:baseline;gap:16px 24px;
  padding:14px 20px;border-bottom:1px solid var(--line);
}
.prc__row:last-child{border-bottom:0}
.prc__row:nth-child(even){background:var(--bg-alt)}
.prc__name{flex:1;min-width:0;font-size:15.5px;line-height:1.5;color:var(--ink)}
.prc__code{
  display:block;margin-top:3px;font-size:12px;font-weight:600;letter-spacing:.04em;
  color:var(--ink-3);font-variant-numeric:tabular-nums;
}
.prc__code--no{color:var(--line-2)}
.prc__sum{
  flex-shrink:0;white-space:nowrap;font-size:17px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.prc__sum span{font-weight:600;color:var(--ink-3)}

.prc__warn{margin-bottom:30px}
/* прайс утверждён и подписан — акцент зелёный вместо красного */
.prc__ok{margin-bottom:30px;border-left-color:var(--ok)}
.prc__note{font-size:14px;color:var(--ink-3);line-height:1.65}

@media (max-width:560px){
  .prc__row{padding:13px 15px;gap:10px 14px}
  .prc__name{font-size:15px}
  .prc__sum{font-size:16px}
}

/* =====================================================================
   ПОИСК ПО САЙТУ, КАРТА САЙТА, АНКЕТА (приказ 118н, приложение № 2)
   Страницы генерируются: ElitMed/tools/build_site_extras.py
   ===================================================================== */

/* ---------- общий подводка-абзац ---------- */
.srch__lead,.ank__lead{font-size:17px;color:var(--ink-2);max-width:78ch;margin-bottom:22px}

/* ---------- поиск ---------- */
.srch{margin-bottom:28px}
.srch__lbl{display:block;font-size:13px;font-weight:700;color:var(--ink-3);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.srch__row{display:flex;gap:10px;flex-wrap:wrap}
.srch__inp{flex:1 1 320px;min-width:0;padding:14px 16px;font:inherit;font-size:16px;
  color:var(--ink);background:var(--field);border:1.5px solid var(--line-2);
  border-radius:12px;transition:border-color .18s,box-shadow .18s}
.srch__inp:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px var(--red-lt)}
.srch__btn{flex:0 0 auto}
.srch__cnt{font-size:14px;color:var(--ink-3);margin-bottom:14px}
.srch__list{list-style:none;margin:0;padding:0}
.srch__it{padding:16px 0;border-top:1px solid var(--line)}
.srch__it:first-child{border-top:0;padding-top:0}
.srch__ttl{display:inline-block;font-size:17.5px;font-weight:700;color:var(--red);
  border-bottom:1px solid transparent}
.srch__ttl:hover{border-bottom-color:var(--red)}
.srch__page{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px}
.srch__snip{font-size:15px;color:var(--ink-2);margin:8px 0 0;max-width:80ch}
.srch__snip mark{background:var(--red-lt);color:var(--ink);padding:0 2px;border-radius:3px}
.srch__none{font-size:16px;color:var(--ink-2);padding:18px 0}

/* ---------- карта сайта ---------- */
.kmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px 34px}
.kmap__sec{min-width:0}
.kmap__h{font-size:18px;font-weight:800;margin:0 0 12px;padding-bottom:10px;
  border-bottom:1px solid var(--line)}
.kmap__list{list-style:none;margin:0;padding:0}
.kmap__list li{margin-bottom:8px;font-size:15.5px;line-height:1.45}
.kmap__list li::marker{content:none}
.kmap__sub{padding-left:16px;position:relative;font-size:14.5px}
.kmap__sub::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:1px;
  background:var(--line-2)}

/* ---------- анкета ---------- */
.ank__pd{margin-bottom:26px}
.ank__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ank__q{border:0;padding:0;margin:0 0 26px}
.ank__q legend,.ank__lbl{display:block;font-size:16.5px;font-weight:700;color:var(--ink);
  margin-bottom:12px;max-width:72ch}
.ank__lbl span{font-weight:500;color:var(--ink-3)}
.ank__opts{display:flex;flex-wrap:wrap;gap:8px}
.ank__opts--col{flex-direction:column;align-items:flex-start}
.ank__opt{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  padding:9px 14px;border:1.5px solid var(--line-2);border-radius:999px;
  background:var(--surface);font-size:15px;color:var(--ink-2);
  transition:border-color .16s,background .16s,color .16s}
.ank__opt:hover{border-color:var(--line-2);background:var(--bg-alt)}
.ank__opt input{accent-color:var(--red);margin:0;width:16px;height:16px;flex:0 0 auto}
.ank__opt:has(input:checked){border-color:var(--red);background:var(--red-lt);color:var(--ink)}
.ank__opt input:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.ank__area{width:100%;max-width:640px;padding:13px 15px;font:inherit;font-size:16px;
  color:var(--ink);background:var(--field);border:1.5px solid var(--line-2);
  border-radius:12px;resize:vertical}
.ank__area:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px var(--red-lt)}
.ank__act{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.ank__note{font-size:14.5px;color:var(--ink-3);margin:0}
.ank__note--err{color:var(--red)}
.ank__ok{font-size:17px;color:var(--ink-2);background:var(--bg-alt);
  border:1px solid var(--line);border-left:3px solid var(--ok);
  border-radius:12px;padding:20px 24px;margin:0}
.ank__ok b{color:var(--ink)}

@media (max-width:640px){
  .ank__opts{flex-direction:column;align-items:stretch}
  .ank__opt{justify-content:flex-start}
  .kmap{gap:22px}
}

/* колонка контента для страниц без бокового оглавления (поиск, карта сайта, анкета) */
.swrap{padding-top:54px;padding-bottom:84px}  /* горизонтальные отступы — у .wrap, не затираем */
.swrap>.blk{max-width:900px}

/* ---------- важная выноска (крупно): правило подтверждения записи ---------- */
.note--imp{
  background:var(--red-lt);border-color:var(--red);border-left-width:4px;
  padding:22px 26px;margin:22px 0 24px;
}
.note--imp .note__t{
  font-size:20px;font-weight:800;color:var(--ink);line-height:1.3;margin-bottom:12px;
}
.note--imp p{font-size:16.5px;line-height:1.62;margin-bottom:10px}
.note--imp b{font-weight:700}
@media (max-width:560px){
  .note--imp{padding:18px 18px}
  .note--imp .note__t{font-size:18px}
  .note--imp p{font-size:15.5px}
}

/* ================= вакансии (/vakansii/, 22.09.2026) ================= */
.vaklead{font-size:17.5px;line-height:1.65;color:var(--ink-2);max-width:74ch}
.vaklead b{color:var(--ink);font-weight:700}

/* чем хороша работа у нас — четыре плитки с иконками */
.vakwhy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.vakwhy__i{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 22px 20px;transition:border-color .18s,box-shadow .18s,transform .18s;
}
.vakwhy__i:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-2px)}
.vakwhy__i svg{
  width:30px;height:30px;display:block;margin-bottom:13px;fill:none;stroke:var(--red);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.vakwhy__i b{display:block;font-size:16.5px;font-weight:800;color:var(--ink);margin-bottom:7px;line-height:1.35}
.vakwhy__i p{font-size:14.8px;line-height:1.6;color:var(--ink-2);margin:0;max-width:none}

/* карточки вакансий */
.vaklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px;margin-top:24px}
.vak{
  display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:26px 26px 24px;scroll-margin-top:100px;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.vak:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-2px)}
.vak__hd{margin-bottom:12px}
.vak__t{font-size:19.5px;font-weight:800;color:var(--ink);margin:0 0 9px;line-height:1.3}
.blk .vak__t{margin:0 0 9px}
.vak__tag{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.04em;
  color:var(--red);background:var(--red-lt);border-radius:999px;padding:5px 12px;
}
.vak__lead{font-size:15.2px;line-height:1.6;color:var(--ink-2);margin:0 0 14px;max-width:none}
.vak__req{margin:0 0 20px;padding-left:20px;font-size:14.8px;color:var(--ink-2);max-width:none}
.vak__req li{margin-bottom:7px}
.vak__req li:last-child{margin-bottom:0}
.vak__go{align-self:flex-start;margin-top:auto}
.vak--other{background:var(--bg-alt);border-style:dashed}

/* как проходит отклик — нумерованные шаги */
.vaksteps{list-style:none;counter-reset:vs;margin:22px 0 22px;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;max-width:none}
.vaksteps li{counter-increment:vs;position:relative;padding:22px 22px 20px 22px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0}
.vaksteps li::before{
  content:counter(vs);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--red);color:#fff;font-size:14px;font-weight:800;margin-bottom:12px;
}
.vaksteps li::marker{content:none}
.vaksteps b{display:block;font-size:16.5px;font-weight:800;color:var(--ink);margin-bottom:6px;line-height:1.35}
.vaksteps span{display:block;font-size:14.8px;line-height:1.6;color:var(--ink-2)}

/* форма отклика */
.vakf{margin-top:8px;max-width:820px}
.vakf__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.vakf select.is-hl{border-color:var(--red);box-shadow:0 0 0 4px var(--red-lt)}
.vakf .chk{margin:10px 0 22px;font-size:14px;line-height:1.55}

/* площадка «перетащите резюме»: сам input спрятан, кликается вся площадка */
.vakf__drop{
  display:flex;align-items:center;gap:13px;padding:20px 22px;cursor:pointer;
  border:1.5px dashed var(--line-2);border-radius:14px;background:var(--field);
  color:var(--ink-2);font-size:15px;font-weight:400;margin:0;
  transition:border-color .18s,background .18s,color .18s;
}
.vakf__drop:hover,.vakf__drop.is-over{border-color:var(--red);color:var(--ink);background:var(--red-lt)}
.vakf__drop svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--red);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vakf__drop b{font-weight:700;color:var(--ink)}
.vakf__drop input[type=file]{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ГРАБЛИ: у .vakf__drop и .vakf__file стоит display:flex, а он перебивает
   атрибут hidden — без этого правила площадка и карточка файла видны обе. */
.vakf__drop[hidden],.vakf__file[hidden]{display:none}

/* выбранный файл */
.vakf__file{
  display:flex;align-items:center;gap:11px;padding:14px 16px;border-radius:14px;
  background:var(--red-lt);border:1.5px solid var(--red);font-size:15px;color:var(--ink);
}
.vakf__file svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--red);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vakf__file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vakf__file button{
  margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;
  background:transparent;color:var(--red);font-size:15px;line-height:1;transition:background .18s;
}
.vakf__file button:hover{background:rgba(232,67,74,.18)}

.vakpd{margin-top:18px;font-size:13.8px;line-height:1.6;color:var(--ink-3);max-width:none}
.vakpd b{color:var(--ink-2);font-weight:700}

@media(max-width:700px){
  .vakwhy{grid-template-columns:1fr}
  .vakf__grid{grid-template-columns:1fr}
  .vak{padding:22px 20px 20px}
  .vakf{padding:26px 20px}
}
