/* Общие стили к /assets/site.js: панель «Версия для слабовидящих» и «Поиск», плашка cookie,
   режимы для слабовидящих (ГОСТ Р 52872-2019). Свои элементы с префиксом ks-, режимы на <html>:
   a11y (включено), a11y-f2 / a11y-f3 (шрифт 130 / 160 %), a11y-bw / a11y-wb (чёрным по белому /
   белым по чёрному), a11y-noimg (без изображений). Сам размер шрифта увеличивает site.js. */

.ks-ui{--ks-petrol:#0b4865;--ks-sky:#178ac0;--ks-ink:#17212f;--ks-line:#e3e8ee;--ks-mute:#5b6b7c;--ks-pale:#f4f9fc;
  font-family:inherit;font-size:15px;line-height:1.45;color:var(--ks-ink);text-align:left;letter-spacing:normal;
  overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual}
.ks-ui *,.ks-ui *::before,.ks-ui *::after{box-sizing:border-box}
.ks-ui :where(p,ul,li){margin:0;padding:0}
.ks-ui[hidden],.ks-ui [hidden]{display:none!important}
.ks-ui :where(button,input){font:inherit;color:inherit;margin:0}
.ks-ui :where(button){cursor:pointer}
.ks-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap;border:0}
.ks-ui :focus-visible{outline:3px solid var(--ks-sky);outline-offset:2px}

/* ── полоска сверху: цвет шапки сайта, на главной сливается с первым экраном ── */
.ks-bar{position:relative;z-index:50;background:var(--ks-petrol);color:#fff;border-bottom:2px solid transparent}
.ks-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 4px;padding:0 8px}
.ks-tb{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;
  border:0;border-radius:10px;background:transparent;color:#fff;font-size:.93em;font-weight:600;line-height:1.2;
  text-align:left;transition:background-color .15s ease}
.ks-tb svg{flex:none}
.ks-tb:hover{background:rgba(255,255,255,.13)}
.ks-tb[aria-pressed="true"],.ks-tb[aria-expanded="true"]{background:#fff;color:var(--ks-petrol)}
.ks-bar .ks-tb:focus-visible{outline-color:#fff;outline-offset:-4px}
.ks-tb[aria-pressed="true"]:focus-visible,.ks-tb[aria-expanded="true"]:focus-visible{outline-color:var(--ks-sky)}
@media(max-width:359px){.ks-tl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

.ks-in{max-width:1040px;margin:0 auto;padding:12px 16px 16px}

/* ── панель настроек ── */
.ks-a11y{background:#fff;color:var(--ks-ink);border-bottom:1px solid var(--ks-line)}
.ks-a11y .ks-in{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 28px}
.ks-gl{display:block;margin-bottom:6px;font-size:.87em;font-weight:700;color:var(--ks-mute)}
.ks-os{display:flex;flex-wrap:wrap;gap:6px}
.ks-o{position:relative;display:inline-flex;cursor:pointer}
.ks-o span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;
  border:2px solid var(--ks-line);border-radius:10px;background:#fff;color:var(--ks-ink);font-weight:600;line-height:1.15}
.ks-o:hover span{border-color:var(--ks-sky)}
.ks-o input:checked+span{border-color:var(--ks-petrol);background:var(--ks-petrol);color:#fff}
.ks-o input:focus-visible+span{outline:3px solid var(--ks-sky);outline-offset:2px}
.ks-f1{font-size:1em}.ks-f2{font-size:1.2em}.ks-f3{font-size:1.4em}
.ks-o .ks-cbw{background:#fff;color:#000;border-color:#000}
.ks-o .ks-cwb{background:#000;color:#fff;border-color:#000}
.ks-o input:checked+.ks-cbw,.ks-o input:checked+.ks-cwb{box-shadow:0 0 0 3px var(--ks-sky)}
.ks-off{min-height:44px;padding:0 16px;border:2px solid var(--ks-petrol);border-radius:10px;background:#fff;
  color:var(--ks-petrol);font-weight:700}
.ks-off:hover{background:var(--ks-pale)}

/* ── поиск: выпадает поверх страницы, ничего не сдвигает ── */
.ks-find{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--ks-ink);
  border-bottom:1px solid var(--ks-line);box-shadow:0 22px 44px -22px rgba(11,72,101,.5)}
.ks-find .ks-in{max-width:720px}
.ks-q{display:flex;gap:8px}
.ks-q input{flex:1;min-width:0;min-height:48px;padding:0 14px;border:2px solid var(--ks-line);border-radius:12px;
  background:#fff;font-size:17px;outline:none;-webkit-appearance:none;appearance:none}
.ks-q input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.ks-q input:focus{border-color:var(--ks-petrol)}
.ks-q input:focus-visible{outline:3px solid var(--ks-sky);outline-offset:1px}
.ks-x{flex:none;width:48px;min-height:48px;border:0;border-radius:12px;background:var(--ks-pale);font-size:26px;line-height:1}
.ks-x:hover{background:var(--ks-line)}
.ks-st{margin-top:8px;font-size:.9em;color:var(--ks-mute)}
.ks-st:empty{display:none}
.ks-st a,.ks-ck a{color:var(--ks-sky);text-decoration:underline}
.ks-res{list-style:none;margin-top:6px;max-height:min(62vh,560px);overflow-y:auto}
.ks-res a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:inherit}
.ks-res a:hover{background:var(--ks-pale)}
.ks-res b{display:block;font-size:1.05em;color:var(--ks-petrol)}
.ks-res span{display:block;margin-top:2px;font-size:.92em;color:var(--ks-mute)}

/* ── плашка cookie ── */
.ks-ck{position:fixed;left:12px;right:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:110;
  max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:14px 16px;
  background:#fff;border:1px solid var(--ks-line);border-radius:14px;font-size:14px;
  box-shadow:0 16px 40px -14px rgba(11,72,101,.45)}
.ks-ck p{flex:1 1 300px}
.ks-ok{flex:none;min-height:44px;padding:0 24px;border:0;border-radius:10px;background:var(--ks-petrol);
  color:#fff;font-weight:700}
.ks-ok:hover{background:#083a52}
@media(max-width:520px){.ks-ck{left:8px;right:8px;bottom:8px;bottom:calc(8px + env(safe-area-inset-bottom))}.ks-ok{flex:1 1 100%}}

@media print{.ks-ui{display:none!important}}

/* ═══ режим для слабовидящих ═══ */
html.a11y-f2 .ks-ui{font-size:17px}
html.a11y-f3 .ks-ui{font-size:19px}
html.a11y-f2 .ks-ck,html.a11y-f3 .ks-ck{font-size:16px}
/* крупный текст должен переноситься, а не уезжать вбок */
html.a11y-f2 body,html.a11y-f3 body{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}
html.a11y-f2 body :not(pre,textarea),html.a11y-f3 body :not(pre,textarea){white-space:normal!important}
/* ширина поля ввода растёт вместе с кеглем: не даём ему распирать колонку */
html.a11y-f2 body :is(select,textarea,input:is(:not([type]),[type=text],[type=tel],[type=email],[type=search],[type=number])),
html.a11y-f3 body :is(select,textarea,input:is(:not([type]),[type=text],[type=tel],[type=email],[type=search],[type=number])){width:100%;max-width:100%}
/* движение мешает читать: анимации сразу в конечное положение */
html.a11y body *,html.a11y body *::before,html.a11y body *::after{animation-duration:.001s!important;
  animation-iteration-count:1!important;animation-delay:0s!important;scroll-behavior:auto!important}
html.a11y{scroll-behavior:auto!important}
html.a11y :focus-visible{outline:3px solid currentColor;outline-offset:2px}

/* чёрным по белому */
html.a11y-bw,html.a11y-bw body,html.a11y-bw body *{background-color:#fff!important;background-image:none!important;
  color:#000!important;border-color:#000!important;box-shadow:none!important;text-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* белым по чёрному */
html.a11y-wb{color-scheme:dark}
html.a11y-wb,html.a11y-wb body,html.a11y-wb body *{background-color:#000!important;background-image:none!important;
  color:#fff!important;border-color:#fff!important;box-shadow:none!important;text-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.a11y-bw a,html.a11y-wb a{text-decoration:underline!important}
html.a11y-bw body ::before,html.a11y-bw body ::after,html.a11y-wb body ::before,html.a11y-wb body ::after{
  background-image:none!important;color:inherit!important;text-shadow:none!important}
html.a11y-bw :is(button,select,textarea,[role="button"],a[class*="btn"]),
html.a11y-bw input:not([type="checkbox"]):not([type="radio"]){border:2px solid #000!important}
html.a11y-wb :is(button,select,textarea,[role="button"],a[class*="btn"]),
html.a11y-wb input:not([type="checkbox"]):not([type="radio"]){border:2px solid #fff!important}
html.a11y-bw ::placeholder{color:#555!important;opacity:1}
html.a11y-wb ::placeholder{color:#bbb!important;opacity:1}
html.a11y-bw :focus-visible{outline:3px solid #000!important;outline-offset:2px!important}
html.a11y-wb :focus-visible{outline:3px solid #fff!important;outline-offset:2px!important}
/* выбранное в панели: инверсия, чтобы было видно без цвета */
html.a11y-bw .ks-o input:checked+span,html.a11y-bw .ks-tb[aria-pressed="true"],html.a11y-bw .ks-tb[aria-expanded="true"],
html.a11y-bw .ks-ok{background-color:#000!important;color:#fff!important}
html.a11y-wb .ks-o input:checked+span,html.a11y-wb .ks-tb[aria-pressed="true"],html.a11y-wb .ks-tb[aria-expanded="true"],
html.a11y-wb .ks-ok{background-color:#fff!important;color:#000!important}
html.a11y-bw .ks-o input:checked+span,html.a11y-wb .ks-o input:checked+span{text-decoration:underline}
html.a11y-bw .ks-tb[aria-pressed="true"] *,html.a11y-bw .ks-tb[aria-expanded="true"] *,
html.a11y-wb .ks-tb[aria-pressed="true"] *,html.a11y-wb .ks-tb[aria-expanded="true"] *{background-color:transparent!important;color:inherit!important}

/* без изображений: фото «до/после», отзывы, документы; иконки в кнопках остаются */
html.a11y-noimg img,html.a11y-noimg picture,html.a11y-noimg video,html.a11y-noimg [role="img"]{display:none!important}
html.a11y-noimg figure:has(img){display:none!important}
html.a11y-noimg ::before,html.a11y-noimg ::after{background-image:none!important}
