/* ============================================
   CSS ПЕРЕМЕННЫЕ
   ============================================ */

:root {
  --vision-font-multiplier: 1;
  --vision-bg: #ffffff;
  --vision-text: #000000;
  --vision-link: #0066cc;
  --vision-font-family: inherit;
  --vision-letter-spacing: normal;
  --vision-word-spacing: normal;
}


/* ============================================
   БЛОК 1: ЦВЕТОВЫЕ СХЕМЫ
   ============================================ */

html[data-vision-theme="white-black"] {
  --vision-bg: #ffffff;
  --vision-text: #000000;
  --vision-link: #0000ff;
}

html[data-vision-theme="black-white"] {
  --vision-bg: #000000;
  --vision-text: #ffffff;
  --vision-link: #66b3ff;
}

html[data-vision-theme="blue-black"] {
  --vision-bg: #9DD1FF;
  --vision-text: #000000;
  --vision-link: #000080;
}

html[data-vision-theme="beige-brown"] {
  --vision-bg: #F7F3D6;
  --vision-text: #4D4B43;
  --vision-link: #2d2b27;
}

/* Применение цветов к странице */
html[data-vision-enabled="true"] {
  background: var(--vision-bg) !important;
}

html[data-vision-enabled="true"] body {
  background: var(--vision-bg) !important;
  color: var(--vision-text) !important;
}


html[data-vision-enabled="true"] p:not(.vision-panel *),
html[data-vision-enabled="true"] span:not(.vision-panel *),
html[data-vision-enabled="true"] div:not(.vision-panel):not(.vision-panel *),
html[data-vision-enabled="true"] li:not(.vision-panel *),
html[data-vision-enabled="true"] td:not(.vision-panel *),
html[data-vision-enabled="true"] th:not(.vision-panel *),
html[data-vision-enabled="true"] label:not(.vision-panel *),
html[data-vision-enabled="true"] h1:not(.vision-panel *),
html[data-vision-enabled="true"] h2:not(.vision-panel *),
html[data-vision-enabled="true"] h3:not(.vision-panel *),
html[data-vision-enabled="true"] h4:not(.vision-panel *),
html[data-vision-enabled="true"] h5:not(.vision-panel *),
html[data-vision-enabled="true"] h6:not(.vision-panel *),
html[data-vision-enabled="true"] footer{
  color: var(--vision-text) !important;
  background: var(--vision-bg) !important;
}


html[data-vision-enabled="true"] a:not(.vision-panel *) {
  color: var(--vision-link) !important;
  text-decoration: underline !important;
  background: var(--vision-bg) !important;
}


/* ============================================
   БЛОК 2: РАЗМЕР ШРИФТА
   ============================================ */

html[data-vision-font-size="-1"] { --vision-font-multiplier: 0.9; }
html[data-vision-font-size="0"] { --vision-font-multiplier: 1; }
html[data-vision-font-size="1"] { --vision-font-multiplier: 1.2; }
html[data-vision-font-size="2"] { --vision-font-multiplier: 1.5; }

/* Применение размера */
html[data-vision-enabled="true"] p,
html[data-vision-enabled="true"] span,
html[data-vision-enabled="true"] div,
html[data-vision-enabled="true"] a,
html[data-vision-enabled="true"] li,
html[data-vision-enabled="true"] td,
html[data-vision-enabled="true"] th,
html[data-vision-enabled="true"] label,
html[data-vision-enabled="true"] .btn,
html[data-vision-enabled="true"] .nav-link {
  font-size: calc(1rem * var(--vision-font-multiplier)) !important;
}

html[data-vision-enabled="true"] h1 { font-size: calc(2rem * var(--vision-font-multiplier)) !important; }
html[data-vision-enabled="true"] h2 { font-size: calc(1.75rem * var(--vision-font-multiplier)) !important; }
html[data-vision-enabled="true"] h3 { font-size: calc(1.5rem * var(--vision-font-multiplier)) !important; }
html[data-vision-enabled="true"] h4 { font-size: calc(1.25rem * var(--vision-font-multiplier)) !important; }
html[data-vision-enabled="true"] h5 { font-size: calc(1.1rem * var(--vision-font-multiplier)) !important; }
html[data-vision-enabled="true"] h6 { font-size: calc(1rem * var(--vision-font-multiplier)) !important; }


/* ============================================
   БЛОК 3: СЕМЕЙСТВО ШРИФТА
   ============================================ */

html[data-vision-font="original"] { --vision-font-family: inherit; }
html[data-vision-font="sans"] { --vision-font-family: Arial, Helvetica, sans-serif; }
html[data-vision-font="serif"] { --vision-font-family: Georgia, "Times New Roman", serif; }
html[data-vision-font="mono"] { --vision-font-family: "Courier New", Courier, monospace; }

/* Применение шрифта */
html[data-vision-enabled="true"] body {
  font-family: var(--vision-font-family) !important;
}


html[data-vision-enabled="true"] p,
html[data-vision-enabled="true"] span:not(.arrow),
html[data-vision-enabled="true"] div,
html[data-vision-enabled="true"] a,
html[data-vision-enabled="true"] li,
html[data-vision-enabled="true"] td,
html[data-vision-enabled="true"] th,
html[data-vision-enabled="true"] label,
html[data-vision-enabled="true"] h1,
html[data-vision-enabled="true"] h2,
html[data-vision-enabled="true"] h3,
html[data-vision-enabled="true"] h4,
html[data-vision-enabled="true"] h5,
html[data-vision-enabled="true"] h6,
html[data-vision-enabled="true"] input,
html[data-vision-enabled="true"] textarea,
html[data-vision-enabled="true"] select {
  font-family: var(--vision-font-family) !important;
}


/* ============================================
   БЛОК 4: МЕЖБУКВЕННЫЙ ИНТЕРВАЛ
   ============================================ */

html[data-vision-spacing="normal"] {
  --vision-letter-spacing: normal;
  --vision-word-spacing: normal;
}

html[data-vision-spacing="large"] {
  --vision-letter-spacing: 0.12em;
  --vision-word-spacing: 0.16em;
}

html[data-vision-spacing="huge"] {
  --vision-letter-spacing: 0.2em;
  --vision-word-spacing: 0.25em;
}

/* Применение интервалов */
html[data-vision-enabled="true"] body {
  letter-spacing: var(--vision-letter-spacing) !important;
  word-spacing: var(--vision-word-spacing) !important;
}

html[data-vision-enabled="true"] p,
html[data-vision-enabled="true"] span,
html[data-vision-enabled="true"] div,
html[data-vision-enabled="true"] a,
html[data-vision-enabled="true"] li,
html[data-vision-enabled="true"] td,
html[data-vision-enabled="true"] th,
html[data-vision-enabled="true"] label,
html[data-vision-enabled="true"] h1,
html[data-vision-enabled="true"] h2,
html[data-vision-enabled="true"] h3,
html[data-vision-enabled="true"] h4,
html[data-vision-enabled="true"] h5,
html[data-vision-enabled="true"] h6 {
  letter-spacing: var(--vision-letter-spacing) !important;
  word-spacing: var(--vision-word-spacing) !important;
}


/* ============================================
   БЛОК 5: РЕЖИМЫ ИЗОБРАЖЕНИЙ
   ============================================ */

html[data-vision-images="grayscale"] img {
  filter: grayscale(100%) !important;
}

html[data-vision-images="off"] img:not(.logo) {
  display: none !important;
}


/* ============================================
   БЛОК 6: ОБЩИЕ УЛУЧШЕНИЯ ДОСТУПНОСТИ
   ============================================ */

/* Убираем декорации */
html[data-vision-enabled="true"] p,
html[data-vision-enabled="true"] div,
html[data-vision-enabled="true"] span,
html[data-vision-enabled="true"] a {
  background-image: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-align: left !important;
}

html[data-vision-enabled="true"] h1,
html[data-vision-enabled="true"] h2,
html[data-vision-enabled="true"] h3,
html[data-vision-enabled="true"] h4,
html[data-vision-enabled="true"] h5,
html[data-vision-enabled="true"] h6 {
  font-weight: bold !important;
  line-height: 1.3 !important;
  text-shadow: none !important;
}

html[data-vision-enabled="true"] body {
  line-height: 1.5 !important;
}

/* Убираем скругления */
html[data-vision-enabled="true"] .card,
html[data-vision-enabled="true"] .navbar,
html[data-vision-enabled="true"] button,
html[data-vision-enabled="true"] .btn,
html[data-vision-enabled="true"] input,
html[data-vision-enabled="true"] select {
  border-radius: 0 !important;
}


/* ============================================
   БЛОК 7: КНОПКИ И ФОРМЫ
   ============================================ */

html[data-vision-enabled="true"] button,
html[data-vision-enabled="true"] .btn,
html[data-vision-enabled="true"] input[type="button"],
html[data-vision-enabled="true"] input[type="submit"] {
  background: var(--vision-text) !important;
  color: var(--vision-bg) !important;
  border: 2px solid var(--vision-text) !important;
}

html[data-vision-enabled="true"] input,
html[data-vision-enabled="true"] textarea,
html[data-vision-enabled="true"] select {
  background: var(--vision-bg) !important;
  color: var(--vision-text) !important;
  border: 2px solid var(--vision-text) !important;
}


/* ============================================
   БЛОК 8: ТАБЛИЦЫ
   ============================================ */

html[data-vision-enabled="true"] table,
html[data-vision-enabled="true"] th,
html[data-vision-enabled="true"] td {
  border: 1px solid var(--vision-text) !important;
  background: var(--vision-bg) !important;
  color: var(--vision-text) !important;
}


/* ============================================
   БЛОК 9: КОНТЕЙНЕРЫ
   ============================================ */

html[data-vision-enabled="true"] .container,
html[data-vision-enabled="true"] .container-lg {
  max-width: 100% !important;
}


/* ============================================
   БЛОК 10: СКРЫТИЕ ДЕКОРАТИВНЫХ ЭЛЕМЕНТОВ
   ============================================ */

html[data-vision-enabled="true"] .snowman,
html[data-vision-enabled="true"] #tsparticles,
html[data-vision-enabled="true"] .fx-layer {
  display: none !important;
}

