/* Доп. стили: выпадающее меню, версия для слабовидящих (ГОСТ Р 52872), cookie-баннер */

/* --- Выпадающее меню --- */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{
  background:none;border:none;font:inherit;color:var(--ink-soft);font-weight:600;font-size:.92rem;
  padding:8px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:4px;
}
.nav-dropdown-toggle:hover{background:var(--teal-100);color:var(--teal-600)}
.nav-dropdown.open .nav-dropdown-toggle,.nav-dropdown-toggle.active{background:var(--teal-100);color:var(--teal-600)}
.nav-dropdown-toggle .caret{font-size:.7em;transition:transform .2s}
.nav-dropdown.open .nav-dropdown-toggle .caret{transform:rotate(180deg)}
.nav-dropdown-menu{
  position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lg);padding:6px;min-width:230px;display:none;flex-direction:column;z-index:60;
}
.nav-dropdown-menu a{padding:9px 12px;border-radius:6px;white-space:nowrap;font-size:.92rem}
.nav-dropdown.open .nav-dropdown-menu{display:flex}
@media (min-width:861px){
  .nav-dropdown:hover .nav-dropdown-menu{display:flex}
}
@media (max-width:860px){
  .nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:2px 0 2px 14px;min-width:0}
  .nav-dropdown-toggle{width:100%;padding:12px;justify-content:space-between}
}

/* --- Версия для слабовидящих: панель --- */
.a11y-wrap{position:relative}
.a11y-toggle-btn{
  background:none;border:1px solid var(--border);border-radius:8px;padding:7px 12px;cursor:pointer;
  font-weight:700;font-size:.86rem;color:var(--blue-900);margin-right:6px;
}
.a11y-toggle-btn:hover{background:var(--teal-100)}
.a11y-panel{
  display:none;position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:18px;width:280px;z-index:70;
}
.a11y-panel.open{display:block}
.a11y-panel h4{font-size:.86rem;margin:0 0 8px;color:var(--blue-900)}
.a11y-group{margin-bottom:16px}
.a11y-group:last-child{margin-bottom:0}
.a11y-btn-row{display:flex;gap:6px;flex-wrap:wrap}
.a11y-opt{
  border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 10px;font-size:.82rem;
  cursor:pointer;color:var(--ink);
}
.a11y-opt.active{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}
.a11y-check{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:8px;cursor:pointer}
.a11y-check input{width:auto}
.a11y-reset{font-size:.78rem;color:var(--ink-faint);background:none;border:none;text-decoration:underline;cursor:pointer;padding:0}

/* Размер шрифта (переопределяет :root font-size на html — выше специфичность) */
html.a11y-font-2{font-size:18px}
html.a11y-font-3{font-size:20px}

/* Межбуквенный интервал */
html.a11y-spacing body,html.a11y-spacing p,html.a11y-spacing a,html.a11y-spacing h1,
html.a11y-spacing h2,html.a11y-spacing h3,html.a11y-spacing h4,html.a11y-spacing li,html.a11y-spacing td,html.a11y-spacing th{
  letter-spacing:.04em;word-spacing:.06em;
}

/* Отключение изображений (кроме служебных иконок раскрытия) */
html.a11y-no-images img{display:none}
html.a11y-no-images .brand-mark-img{display:none}

/* Контрастные темы — переопределение CSS-переменных, применяется ко всем компонентам сайта */
html.a11y-theme-bw{
  --bg:#fff;--bg-alt:#f2f2f2;--card:#fff;--ink:#000;--ink-soft:#000;--ink-faint:#333;--border:#000;
  --teal-600:#000;--teal-500:#000;--teal-100:#eaeaea;--blue-900:#000;--blue-800:#000;--blue-700:#000;--blue-600:#000;
  --amber:#000;--amber-bg:#eee;--red:#000;--red-bg:#eee;--green:#000;--green-bg:#eee;
}
html.a11y-theme-bw body{background:#fff;color:#000}
html.a11y-theme-bw a{text-decoration:underline}

html.a11y-theme-wb{
  --bg:#000;--bg-alt:#111;--card:#141414;--ink:#fff;--ink-soft:#e8e8e8;--ink-faint:#bbb;--border:#666;
  --teal-600:#7fffd4;--teal-500:#7fffd4;--teal-100:#123b36;--blue-900:#fff;--blue-800:#e6e6e6;--blue-700:#d0d0d0;--blue-600:#bfbfbf;
  --amber:#ffd166;--amber-bg:#3a2a05;--red:#ff8a80;--red-bg:#3a0a10;--green:#7be3a5;--green-bg:#0a2f1a;
}
html.a11y-theme-wb body{background:#000;color:#fff}
html.a11y-theme-wb a{text-decoration:underline}

html.a11y-theme-blue{
  --bg:#eaf4ff;--bg-alt:#dbeafe;--card:#fff;--ink:#0b2545;--ink-soft:#0f3a63;--ink-faint:#1a6fb0;--border:#7fb3e0;
  --teal-600:#0b5ea8;--teal-500:#1a6fb0;--teal-100:#cfe6fb;--blue-900:#0b2545;--blue-800:#0f3a63;--blue-700:#14548a;--blue-600:#1a6fb0;
}
html.a11y-theme-blue body{background:#eaf4ff;color:#0b2545}

/* --- Cookie-баннер --- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--blue-900);color:#e6f1f7;
  padding:14px 20px;display:none;box-shadow:0 -4px 18px rgba(0,0,0,.18);
}
.cookie-banner.show{display:block}
.cookie-banner-inner{
  max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cookie-banner p{margin:0;font-size:.86rem;color:#cfe0ea;max-width:760px}
.cookie-banner a{color:#fff;text-decoration:underline}

/* --- Honeypot анти-спам поле форм: скрыто от людей, видно ботам --- */
.a11y-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cookie-banner .btn{padding:9px 20px;font-size:.88rem;white-space:nowrap}
