/* =============================================================================
   /assets/cookie.css — неблокирующая полоса согласия на cookie (п. 6.2 ТЗ).
   Подфаза 0c. Разметку вставляет /assets/cookie.js, в HTML её нет.

   ГЛАВНОЕ ОГРАНИЧЕНИЕ, КОТОРОЕ ЗАДАЁТ ВСЮ ВЁРСТКУ:
   полоса не модальная. Ни оверлея, ни блокировки прокрутки, ни перехвата фокуса.
   Модальный баннер поверх таблиц сведений — одновременное нарушение п. 4
   Требований приказа Рособрнадзора № 1493 (раздел должен быть доступен без
   дополнительных действий) и п. 5.5 ГОСТ Р 52872-2019 (невмешательство).
   Поэтому: position:fixed внизу, z-index ниже шапки, и --vo-cookie-h,
   который cookie.js измеряет и подставляет в padding-bottom страницы, чтобы
   полоса ничего не закрывала даже в самом низу документа.
   ========================================================================== */

:root{ --vo-cookie-h:0px; }

/* Запас под полосу, пока она видима (класс ставит cookie.js на <html>). */
html.vo-cookie-visible body{ padding-bottom:var(--vo-cookie-h); }

.vo-cookie-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:900;                     /* header в sveden.css — 1000, #a11y-panel — 1200 */
  box-sizing:border-box;
  max-height:80vh;
  overflow-y:auto;
  padding:16px 0 18px;
  background:#0E0E0E;
  color:#E8E8E8;
  border-top:2px solid #F47B20;
  font-family:Inter,Arial,Helvetica,sans-serif;
  font-size:14px;
  line-height:1.6;
  text-align:left;
  box-shadow:0 -6px 24px rgba(0,0,0,.45);
}
.vo-cookie-bar[hidden]{ display:none !important; }

.vo-cookie-inner{ width:min(1000px,92%); margin:0 auto; }

.vo-cookie-text{
  margin:0 0 12px;
  max-width:70ch;                  /* п. 1.4.8: строка не длиннее 80 символов */
  font-size:14px;
  line-height:1.6;
  color:#E8E8E8;
}
/* Ссылки подчёркнуты: цвет не единственное средство различения (п. 1.4.1).
   #F47B20 на #0E0E0E даёт 6,6:1 — выше 4,5:1 по п. 1.4.3. */
.vo-cookie-bar a{ color:#F9A661; text-decoration:underline; }
.vo-cookie-bar a:hover{ color:#FFFFFF; }

.vo-cookie-actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

.vo-cookie-btn{
  font:inherit;
  font-size:14px;
  padding:10px 18px;
  border-radius:8px;
  border:2px solid #F47B20;
  background:transparent;
  color:#F9A661;
  cursor:pointer;
  text-decoration:none;
}
.vo-cookie-btn:hover{ background:#1A1A1A; color:#FFFFFF; }
.vo-cookie-btn--primary{ background:#F47B20; border-color:#F47B20; color:#141414; font-weight:600; }
.vo-cookie-btn--primary:hover{ background:#FFFFFF; border-color:#FFFFFF; color:#141414; }
.vo-cookie-btn--link{ border-color:transparent; padding-left:6px; padding-right:6px; text-decoration:underline; }

/* --- Настройки категорий (раскрываются той же полосой, не новым окном) ----- */
.vo-cookie-settings[hidden]{ display:none !important; }
.vo-cookie-settings{
  margin:16px 0 4px;
  padding-top:14px;
  border-top:1px solid #333;
}
.vo-cookie-settings-title{ margin:0 0 10px; font-size:15px; font-weight:700; color:#FFFFFF; }

.vo-cookie-cat{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:10px 0;
  border-bottom:1px solid #222;
}
.vo-cookie-cat:last-of-type{ border-bottom:0; }
.vo-cookie-cat-body{ flex:1 1 auto; min-width:0; }
.vo-cookie-cat-name{ display:block; font-weight:600; color:#FFFFFF; font-size:14px; }
.vo-cookie-cat-desc{ margin:2px 0 0; font-size:13px; line-height:1.5; color:#A8A8A8; max-width:70ch; }
.vo-cookie-cat-svc{ margin:4px 0 0; font-size:12px; line-height:1.5; color:#8A8A8A; }

/* Переключатель. Реальный <input type="checkbox"> оставлен в потоке и только
   визуально заменён: клавиатура, Tab, Space и скринридеры работают штатно. */
.vo-cookie-switch{ position:relative; flex:0 0 auto; width:52px; height:28px; }
.vo-cookie-switch input{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
}
.vo-cookie-switch-ui{
  position:absolute;
  inset:0;
  border:2px solid #666;
  border-radius:999px;
  background:#1A1A1A;
  pointer-events:none;
  transition:background .2s,border-color .2s;
}
.vo-cookie-switch-ui:before{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#888;
  transition:transform .2s,background .2s;
}
.vo-cookie-switch input:checked + .vo-cookie-switch-ui{ background:#2A1B0B; border-color:#F47B20; }
.vo-cookie-switch input:checked + .vo-cookie-switch-ui:before{ transform:translateX(24px); background:#F47B20; }
.vo-cookie-switch input:disabled + .vo-cookie-switch-ui{ opacity:.85; border-color:#F47B20; }
.vo-cookie-switch input:disabled{ cursor:not-allowed; }
/* Состояние передаётся не только цветом: рядом со переключателем есть
   текстовая подпись «включено / отключено» (п. 1.4.1). */
.vo-cookie-state{ display:block; font-size:12px; color:#A8A8A8; margin-top:2px; }

.vo-cookie-bar :focus{ outline:3px solid #F9A661; outline-offset:2px; }
.vo-cookie-bar :focus-visible{ outline:3px solid #F9A661; outline-offset:2px; }

@media (max-width:640px){
  .vo-cookie-bar{ padding:12px 0 14px; max-height:70vh; }
  .vo-cookie-actions .vo-cookie-btn{ flex:1 1 auto; text-align:center; }
}
@media (prefers-reduced-motion:reduce){
  .vo-cookie-switch-ui,
  .vo-cookie-switch-ui:before{ transition:none; }
}
@media print{
  .vo-cookie-bar{ display:none !important; }
  html.vo-cookie-visible body{ padding-bottom:0; }
}

/* --- Версия для слабовидящих ----------------------------------------------
   Полоса живёт по своим цветам, но в режиме слабовидящих подчиняется схеме:
   иначе на белом фоне остаётся тёмный прямоугольник. Селекторы с html.lowvision
   специфичнее собственных правил файла, порядок подключения не важен. */
html.lowvision .vo-cookie-bar{
  background:var(--a11y-surface) !important;
  color:var(--a11y-fg) !important;
  border-top:3px solid var(--a11y-border) !important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:var(--a11y-fs);
  box-shadow:none;
}
html.lowvision .vo-cookie-text,
html.lowvision .vo-cookie-cat-name,
html.lowvision .vo-cookie-cat-desc,
html.lowvision .vo-cookie-cat-svc,
html.lowvision .vo-cookie-state,
html.lowvision .vo-cookie-settings-title{ color:var(--a11y-fg) !important; }
html.lowvision .vo-cookie-bar a{ color:var(--a11y-link) !important; }
html.lowvision .vo-cookie-btn{
  background:transparent !important;
  color:var(--a11y-fg) !important;
  border:2px solid var(--a11y-border) !important;
  font-size:var(--a11y-fs);
  text-decoration:underline;
}
html.lowvision .vo-cookie-btn--primary{
  background:var(--a11y-accent) !important;
  color:var(--a11y-on-accent) !important;
}
html.lowvision .vo-cookie-switch-ui{ background:var(--a11y-bg); border-color:var(--a11y-border); }
html.lowvision .vo-cookie-switch-ui:before{ background:var(--a11y-muted); }
html.lowvision .vo-cookie-switch input:checked + .vo-cookie-switch-ui{ background:var(--a11y-bg); border-color:var(--a11y-border); }
html.lowvision .vo-cookie-switch input:checked + .vo-cookie-switch-ui:before{ background:var(--a11y-accent); }
html.lowvision .vo-cookie-bar :focus,
html.lowvision .vo-cookie-bar :focus-visible{ outline:3px solid var(--a11y-focus); }
html.lowvision .vo-cookie-cat{ border-bottom-color:var(--a11y-border); }
html.lowvision .vo-cookie-settings{ border-top-color:var(--a11y-border); }
