/* Поиск по сайту (theme.search в site.json, tools/portal_theme.py, tools/static/site-search.js):
   кнопка и строка в шапке, подсказки под строкой, страница результатов /poisk (.ks-*). */

/* ---------- шапка: на широком экране и на телефоне — круглая кнопка, по нажатию строка поверх меню;
   когда меню свернуто в «бургер», а место есть (планшет, ноутбук) — сразу строка */
.pt2 .pt-topin:has(.pt-srch){position:relative}
.pt2 .pt-srch{flex:none;display:flex;align-items:center;font-family:var(--pt-body)}
html.pt2 .pt-topin .pt-srch~.pt-hcta{margin-left:0!important}
.pt2 .pt-srch svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pt2 .pt-srch-btn{width:42px;height:42px;border-radius:999px;background:var(--pt-fill);color:var(--pt-ink)!important;display:grid;place-items:center;text-decoration:none;transition:background .15s}
.pt2 .pt-srch-btn:hover{background:#E2E8EE}
.pt2 .pt-srch-btn:focus-visible{outline:3px solid var(--pt-brand);outline-offset:2px}
.pt2 .pt-srch-f{display:none;position:relative;align-items:center;gap:8px;box-sizing:border-box;height:44px;margin:0;padding:0 5px 0 15px;background:#fff;
  border:1px solid var(--pt-line2);border-radius:999px;color:var(--pt-mute);transition:border-color .15s,box-shadow .15s}
.pt2 .pt-srch-f:focus-within{border-color:var(--pt-brand);box-shadow:0 0 0 3px rgba(65,153,218,.18)}
.pt2 .pt-srch-f input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;outline:0;background:transparent;box-shadow:none;
  font:500 16px/1.2 var(--pt-body);color:var(--pt-ink);-webkit-appearance:none;appearance:none}
.pt2 .pt-srch-f input::placeholder{color:#8794A0;opacity:1}
.pt2 .pt-srch-f input::-webkit-search-cancel-button,.pt2 .pt-srch-f input::-webkit-search-decoration{-webkit-appearance:none;display:none}
.pt2 .pt-srch-go{flex:none;height:34px;padding:0 14px;border:0;border-radius:999px;background:var(--pt-brand-d);color:#fff;font:600 14px/1 var(--pt-body);cursor:pointer}
.pt2 .pt-srch-go:hover{background:#185C92}
.pt2 .pt-srch-x{display:none;flex:none;width:34px;height:34px;padding:0;border:0;border-radius:999px;background:var(--pt-fill);color:var(--pt-ink);cursor:pointer;place-items:center}
.pt2 .pt-srch-x svg{width:16px;height:16px}
/* открыта кнопкой: строка во всю шапку */
.pt2 .pt-srch.open .pt-srch-f{display:flex;position:absolute;left:28px;right:28px;top:50%;transform:translateY(-50%);z-index:5;height:48px;
  box-shadow:0 0 0 3px rgba(65,153,218,.18),var(--pt-sh2)}
.pt2 .pt-srch.open .pt-srch-x{display:grid}
.pt2 .pt-srch.open .pt-srch-btn{visibility:hidden}

/* подсказки */
.pt2 .pt-srch-res{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:6;box-sizing:border-box;min-width:min(420px,calc(100vw - 32px));
  max-height:min(72vh,600px);overflow:auto;overscroll-behavior:contain;padding:8px;background:#fff;border:1px solid var(--pt-line);
  border-radius:20px;box-shadow:var(--pt-sh2);text-align:left}
.pt2 .pt-srch-res[hidden]{display:none}
.pt2 .pt-srch-it{display:grid;gap:3px;padding:10px 14px;border-radius:14px;text-decoration:none;color:var(--pt-ink)!important}
.pt2 .pt-srch-it small{font:700 11.5px/1.2 var(--pt-body);letter-spacing:.06em;text-transform:uppercase;color:var(--pt-brand-d)}
.pt2 .pt-srch-it b{font:600 15.5px/1.35 var(--pt-body);color:var(--pt-ink)}
.pt2 .pt-srch-it mark,.ks mark{background:#FFF1B8;color:inherit;border-radius:3px;padding:0 1px}
.pt2 .pt-srch-it:hover,.pt2 .pt-srch-it.on,.pt2 .pt-srch-all:hover,.pt2 .pt-srch-all.on{background:var(--pt-fill)}
.pt2 .pt-srch-all{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px;padding:12px 14px;border-top:1px solid var(--pt-line);
  border-radius:0 0 14px 14px;font:600 15px/1.2 var(--pt-body);color:var(--pt-brand-d)!important;text-decoration:none}
.pt2 .pt-srch-all .pt-srch-arr{width:18px;height:18px}
.pt2 .pt-srch-msg{margin:0;padding:14px;font:500 15px/1.45 var(--pt-body);color:var(--pt-mute)}

/* ширина, на которой меню свернуто, — строка сразу в шапке (точки — как в portal-theme.css) */
@media (max-width:1180px) and (min-width:601px){
  .pt2 .pt-topin:not(:has(.pt-hcta)) .pt-srch{flex:1 1 auto;min-width:0;max-width:520px;margin-left:auto}
  .pt2 .pt-topin:not(:has(.pt-hcta)) .pt-srch-btn{display:none}
  .pt2 .pt-topin:not(:has(.pt-hcta)) .pt-srch-f{display:flex;width:100%}
}
@media (max-width:1240px) and (min-width:601px){
  .pt2 .pt-topin:has(.pt-hcta) .pt-srch{flex:1 1 auto;min-width:0;max-width:520px;margin-left:auto}
  .pt2 .pt-topin:has(.pt-hcta) .pt-srch-btn{display:none}
  .pt2 .pt-topin:has(.pt-hcta) .pt-srch-f{display:flex;width:100%}
}
@media (max-width:1340px) and (min-width:601px){
  .pt2 .pt-topin:has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-srch{flex:1 1 auto;min-width:0;max-width:520px;margin-left:auto}
  .pt2 .pt-topin:has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-srch-btn{display:none}
  .pt2 .pt-topin:has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-srch-f{display:flex;width:100%}
}
/* широкий экран с полным меню из 9 пунктов и «Дневником»: шапка и так заполнена (без поиска «Дневник» заходил за поле на 5 px),
   поэтому с кнопкой поиска — промежутки 10 px, логотип 22 px, поля пунктов меню 8 px (на 1341–1439 — 6 px и шрифт 14 px).
   Проверено 07.11.2026 на 1341, 1366, 1440, 1520, 1600, 1920: все в одну строку, запас от 30 px */
@media (min-width:1341px){
  html.pt2 .pt-topin:has(.pt-srch):has(.pt-hcta):has(.pt-nav>:nth-child(9)){gap:10px!important}
  html.pt2 .pt-topin:has(.pt-srch):has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-logo img{height:22px!important}
  html.pt2 .pt-topin:has(.pt-srch):has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-link{padding-left:8px!important;padding-right:8px!important}
  .pt2 .pt-topin:has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-srch-btn{width:40px;height:40px}
}
@media (min-width:1341px) and (max-width:1439px){
  html.pt2 .pt-topin:has(.pt-srch):has(.pt-hcta):has(.pt-nav>:nth-child(9)) .pt-link{padding-left:6px!important;padding-right:6px!important;font-size:14px!important}
}
@media (max-width:600px){
  .pt2 .pt-srch{margin-left:auto}
  .pt2 .pt-srch-btn{width:40px;height:40px}
  .pt2 .pt-srch.open .pt-srch-f{left:12px;right:12px}
  .pt2 .pt-srch-go{display:none}
  .pt2 .pt-srch-res{min-width:0;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px)}
}
/* узкий телефон: логотип, поиск, «Дневник» и меню в одну строку без прокрутки вбок
   (!important — правила темы для шапки с 9 пунктами меню точнее по селектору) */
@media (max-width:420px){
  html.pt2 .pt-topin:has(.pt-srch){gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  html.pt2 .pt-topin:has(.pt-srch) .pt-logo img{height:18px!important}
  .pt2 .pt-srch-btn{width:38px;height:38px}
  html.pt2 .pt-topin:has(.pt-srch) .pt-hcta{padding:0 12px 0 10px!important;gap:6px!important}
  html.pt2 .pt-topin:has(.pt-srch) .pt-burger>summary{width:40px;height:40px}
}
@media (max-width:370px){
  html.pt2 .pt-topin:has(.pt-srch){gap:6px!important;padding-left:10px!important;padding-right:10px!important}
  html.pt2 .pt-topin:has(.pt-srch) .pt-logo img{height:15px!important}
  .pt2 .pt-srch-btn{width:36px;height:36px}
  html.pt2 .pt-topin:has(.pt-srch) .pt-hcta{height:38px!important;padding:0 10px 0 9px!important;font-size:14px!important}
  html.pt2 .pt-topin:has(.pt-srch) .pt-burger>summary{width:38px;height:38px}
}
@media (prefers-reduced-motion:reduce){.pt2 .pt-srch-f,.pt2 .pt-srch-btn,.ks-item,.ks-secs a{transition:none}}

/* ---------- страница результатов /poisk (внутри main.vp) */
.ks{max-width:880px}
.ks .vp-crumbs{margin-bottom:22px}
.ks h1{margin-bottom:22px}
.ks-form{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--vp-line);border-radius:999px;padding:7px 7px 7px 20px;box-shadow:var(--vp-sh);max-width:720px}
.ks-form:focus-within{border-color:var(--vp-acc);box-shadow:0 0 0 3px rgba(64,153,218,.22)}
.ks-form svg{width:22px;height:22px;fill:none;stroke:var(--vp-mute);stroke-width:2;stroke-linecap:round;flex:none}
.ks-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:inherit;font-size:18px;line-height:1.4;color:var(--vp-ink);padding:10px 0;-webkit-appearance:none;appearance:none}
.ks-form input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.ks-form button{border:0;border-radius:999px;background:var(--vp-acc-d);color:#fff;font:700 15px/1 inherit;font-family:inherit;padding:14px 24px;cursor:pointer}
.ks-hint{margin:12px 4px 0;font-size:14.5px;color:var(--vp-mute)}
.ks-chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.ks-chips:empty{display:none}
.ks-chip{border:1px solid var(--vp-line);background:#fff;border-radius:999px;padding:9px 14px;font:600 14px/1 inherit;font-family:inherit;color:var(--vp-ink);cursor:pointer}
.ks-chip span{color:var(--vp-mute);font-weight:500;margin-left:2px}
.ks-chip[aria-pressed=true]{background:var(--vp-acc-d);border-color:var(--vp-acc-d);color:#fff}
.ks-chip[aria-pressed=true] span{color:rgba(255,255,255,.8)}
.ks-chip:focus-visible,.ks-more:focus-visible{outline:3px solid var(--vp-acc);outline-offset:2px}
.ks-status{margin:22px 0 0;font-size:15.5px;color:var(--vp-mute)}
.ks-status:empty{display:none}
.ks-status b{color:var(--vp-ink)}
.ks-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.ks-item{display:grid;gap:6px;background:#fff;border:1px solid var(--vp-line);border-radius:20px;padding:18px 22px;text-decoration:none;color:var(--vp-ink);transition:box-shadow .18s,transform .18s,border-color .18s}
.ks-item:hover{box-shadow:var(--vp-sh);transform:translateY(-1px);border-color:#d3dce3}
.ks-item:focus-visible{outline:3px solid var(--vp-acc);outline-offset:2px}
.ks-sec{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--vp-acc-d)}
.ks-item b{font-size:19px;line-height:1.3;font-weight:700;color:var(--vp-ink)}
.ks-d{font-size:15.5px;line-height:1.5;color:#3d4d58}
.ks-u{font-size:13px;color:var(--vp-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ks-more{display:block;margin:20px auto 0;border:1px solid var(--vp-line);background:#fff;border-radius:999px;padding:13px 24px;font:700 15px/1 inherit;font-family:inherit;color:var(--vp-acc-d);cursor:pointer}
.ks-more[hidden],.ks-empty[hidden],.ks-start[hidden]{display:none}
.ks-empty{margin:22px 0 0;background:#fff;border:1px solid var(--vp-line);border-radius:22px;padding:24px}
.ks-empty b{display:block;font-size:19px;margin-bottom:6px}
.ks-empty p{margin:0 0 14px;color:#3d4d58}
.ks-start{margin-top:40px}
.ks-start h2{font-size:22px;line-height:1.2;margin:0 0 14px;text-transform:none;letter-spacing:0}
.ks-q{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px;padding:0;list-style:none}
.ks-q a{display:inline-block;border:1px solid var(--vp-line);background:#fff;border-radius:999px;padding:10px 15px;font-size:15px;font-weight:600;color:var(--vp-ink);text-decoration:none}
.ks-q a:hover{border-color:var(--vp-acc);color:var(--vp-acc-d)}
.ks-empty .ks-q{margin:0}
.ks-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.ks-secs a{display:grid;gap:4px;height:100%;box-sizing:border-box;background:#fff;border:1px solid var(--vp-line);border-radius:20px;padding:16px 18px;text-decoration:none;color:var(--vp-ink);transition:box-shadow .18s,transform .18s}
.ks-secs a:hover{box-shadow:var(--vp-sh);transform:translateY(-1px)}
.ks-secs b{font-size:17px}
.ks-secs small{font-size:14px;color:var(--vp-mute);line-height:1.4}
@media (max-width:600px){
  .ks-form{padding:5px 5px 5px 14px}
  .ks-form input{font-size:17px}
  .ks-form button{padding:12px 16px}
  .ks-item{padding:16px;border-radius:18px}
  .ks-item b{font-size:17.5px}
  .ks-d{font-size:15px}
  .ks-start h2{font-size:20px}
}
