/* === КАСТОМНЫЕ ЦВЕТА === */
:root {
  /* Светлая тема */
  --md-primary-fg-color:        #F5726A;     /* Акцент */
  --md-primary-bg-color:        #FFFFFF;     /* Фон хэдера (светлая) */
  --md-accent-fg-color:         #F5726A;     /* Hover, активные иконки */

  --md-default-fg-color:        #232323;     /* Основной текст */
  --md-default-fg-color--light: #5F5F5F;     /* Неактивные пункты, иконки */
  --md-default-fg-color--lighter: #999999;

  --md-typeset-a-color:         #F5726A;     /* Ссылки в контенте */
}

/* === ТЁМНАЯ ТЕМА === */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        #F5726A;
  --md-accent-fg-color:         #F5726A;

  --md-default-fg-color:        #e0e0e0;
  --md-default-fg-color--light: #aaaaaa;
  --md-default-fg-color--lighter: #cccccc;

  --md-hue: 220;
}

/* === ВЕРХНИЙ ХЭДЕР (HEADER) === */
/* Светлая тема: белый фон, чёрный текст */
.md-header {
  background-color: #FFFFFF !important;
  color: #232323 !important;
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1);
}

.md-header .md-header__button,
.md-header .md-header__title,
.md-header .md-header__topic {
  color: #232323 !important;
}

/* Тёмная тема: фон как у страницы (slate), текст светлый */
[data-md-color-scheme="slate"] .md-header {
  background-color: #1e1e1e !important; /* Как фон .md-main */
  color: #e0e0e0 !important;
  box-shadow: none;
}

[data-md-color-scheme="slate"] .md-header .md-header__button,
[data-md-color-scheme="slate"] .md-header .md-header__title,
[data-md-color-scheme="slate"] .md-header .md-header__topic {
  color: #e0e0e0 !important;
}

/* === ФОН АКТИВНОГО ПУНКТА === */
.md-nav__link--active {
  background-color: #F8F8F8 !important;
  color: #232323 !important;
  font-weight: 2000; /* Inter Semibold */
}

[data-md-color-scheme="slate"] .md-nav__link--active {
  background-color: #333333 !important;
  color: #e0e0e0 !important;
}

/* === НЕАКТИВНЫЕ ПУНКТЫ === */
.md-nav__link {
  color: #5F5F5F !important;
  font-weight: 500; /* Inter Medium */
}

[data-md-color-scheme="slate"] .md-nav__link {
  color: #bbbbbb !important;
}

/* === ИКОНКИ В НАВИГАЦИИ === */
.md-nav__link > svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  color: var(--md-default-fg-color--light);
  opacity: 0.7;
  transition: color 0.2s, opacity 0.2s;
}

.md-nav__link:hover > svg,
.md-nav__link--active > svg,
.md-nav__container:hover .md-nav__link > svg,
.md-nav__container .md-nav__link--active > svg {
  color: var(--md-accent-fg-color);
  opacity: 1;
}

/* === СТРЕЛКИ РАСКРЫТИЯ === */
.md-nav__icon {
  color: var(--md-default-fg-color--light);
}
.md-nav__link:hover .md-nav__icon,
.md-nav__link--active .md-nav__icon {
  color: var(--md-accent-fg-color);
}

/* === ЦВЕТА В КОДОВЫХ БЛОКАХ === */
.highlight .nf, .highlight .k, .highlight .o {  /* Синий */
  color: #4180F0 !important;
}
.highlight .s, .highlight .err {               /* Красный */
  color: #F5736A !important;
}

/* === ФОН И ОТСТУПЫ КОДОВЫХ БЛОКОВ === */
.highlight {

  /* === СИНИЙ (#4180F0): Ключевые слова, функции, операторы, КЛЮЧИ JSON/YAML === */
  .k, .kc, .kd, .kn, .kp, .kr, .kt,      /* Python: def, if, import */
  .nf, .nc, .fm,                         /* function names, classes */
  .o, .ow,                               /* =, ==, :, in */
  .nb, .bp,                              /* len, self */

  /* === JSON: ключи === */
  .p + .s,                               /* "key": "value" → "key" перед : */
  .s + .p + .s,                          /* в массивах/объектах */
  .nx,                                   /* JSON ключи (иногда) */

  /* === YAML: ключи === */
  .l-Scalar-Plain + .p,                  /* key: value → key */
  .nt {                                  /* YAML ключи (named tag) */
    color: #4180F0 !important;
  }

  /* === КРАСНЫЙ (#F5736A): Строки и комментарии === */
  .s, .sa, .sb, .sc, .dl, .s2, .sh, .si, .sx, .sr, .s1,  /* строки */
  .c, .ch, .cm, .c1, .cs {                                /* комментарии */
    color: #F5736A !important;
  }

  /* === ОТКЛЮЧАЕМ НЕЖЕЛАТЕЛЬНЫЕ ЦВЕТА === */
  .n, .bp, .vc, .vg, .vi, .vm,           /* переменные, имена */
  .mi, .mf, .mh, .il, .mo {              /* числа */
    color: inherit !important;
  }
}

/* 1) Целим только в иконки внутри grid.cards (карточки) */
.grid.cards svg,
.grid.cards .icon svg,
.md-typeset .grid.cards svg {
  /* заставляем svg вести себя как outline-иконка */
  fill: none !important;                /* отключаем заливку по умолчанию */
  stroke-width: 1.4 !important;         /* тонкая линия (вариант: 1.2–1.6) */
  color: var(--md-default-fg-color--light); /* дефолтный цвет иконок в карточках */
  opacity: 0.9;
  vertical-align: middle;
  vector-effect: non-scaling-stroke;    /* сохраняет толщину при scale */
}

/* 2) Наведение / актив: перекрасим в accent */
.grid.cards a:hover svg,
.grid.cards a:focus svg,
.grid.cards a[data-active] svg {
  color: var(--md-accent-fg-color) !important;
  opacity: 1;
}

/* 4) Защита: если иконки содержат цветные заливки и вы хотите сохранить их — используйте `.preserve-color` класс */
.grid.cards svg.preserve-color,
.grid.cards .icon svg.preserve-color {
  fill: initial !important;
  stroke: initial !important;
}

/* === КНОПКИ ДЛЯ REDOC / SWAGGER === */
.vulners-api-buttons {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 8px 0 18px;
  flex-wrap: wrap;
}

.vulners-api-buttons a {
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.2s ease;
  white-space: nowrap;
}

/* Светлая тема */
.vulners-api-buttons a {
  background: #232323;
  color: #ffffff;
  border: 1px solid #333;
}

/* Тёмная тема — остаются белыми на тёмном фоне */
[data-md-color-scheme="slate"] .vulners-api-buttons a {
  background: #ffffff;
  color: #232323;
  border: 1px solid #555;
}

/* Hover — лёгкий подъём + акцент */
.vulners-api-buttons a:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

[data-md-color-scheme="slate"] .vulners-api-buttons a:hover {
  background: #F5726A;
  color: white;
  border-color: #F5726A;
  box-shadow: 0 4px 12px rgba(245,114,106,0.3);
}