/* ВАЖНО (14.08.2026). Здесь НЕТ правил вида `body.fs-accent-*-full a { color: … }`.
   Они были и ломали две вещи сразу: у заливных кнопок (.fs-btn--primary/--cta) белый
   текст становился цветом акцента — контраст 1,28:1, надпись не читалась, — а в тёмном
   подвале светлые ссылки и телефон уходили в тёмный индиго (2,5:1). Тема FulSystem
   переменная: ссылки берут цвет из --fs-primary, который сам подставляется из
   --blue-text, поэтому акцент переключается и без сплошной окраски ссылок.
   Если модуль ставят на тему с зашитыми цветами ссылок — добавлять правила адресно
   (например `.entry-content a`), но не на все `a` подряд. */

/* FulSystem · смена акцента. Подключается плагином после стиля темы.
   Работает по двум селекторам: класс body.fs-accent-* (без JS)
   и атрибут [data-accent] (для панелей и разметки, читающей его напрямую).
   Статусные цвета и палитру данных не затрагивает. */

/* ── Слой совместимости ─────────────────────────────────────────
   Тема fulsystem.ru объявляет только --accent, остальные шесть
   переменных в ней отсутствуют, часть синего вписана литералом.
   Объявляем весь набор со значениями текущего сайта: переведённые
   участки уже переключаются, непереведённые остаются синими.
   Порядок перевода — «ТЗ - Перевод темы на переменные.md». */

:root{
  --blue:        #0078D4;
  --blue-hover:  #0069BE;
  --blue-text:   #005A9E;
  --blue-soft:   rgba(0,120,212,.10);
  --accent:      #0078D4;
  --accent-soft: rgba(0,120,212,.14);
  --accent-line: rgba(0,120,212,.32);
}

/* Пока в теме остались литералы, элементы можно подтягивать
   поштучно: добавьте селектор темы в этот блок — он читает акцент
   и переключается вместе с остальным. Список ведём здесь, чтобы
   правки не расползались по шаблонам. */
.fs-accent-hook,
[data-tile]{
  background:   var(--accent-soft);
  border-color: var(--accent-line);
  color:        var(--accent);
}
[data-tile]:hover{ border-color: var(--accent); }

/* ── Синий + индиго ───────────────────────────────────────────── */
body.fs-accent-duo, [data-accent="duo"]{
  --blue-text:   #3D4FB8;
  --accent:      #4B5FD0;
  --accent-soft: rgba(75,95,208,.14);
  --accent-line: rgba(75,95,208,.34);
}

/* ── Индиго ───────────────────────────────────────────────────── */
body.fs-accent-indigo, [data-accent="indigo"]{
  --blue-text:   #3D4FB8;
  --accent:      #4B5FD0;
  --blue-soft:   rgba(75,95,208,.10);
  --accent-soft: rgba(75,95,208,.16);
  --accent-line: rgba(75,95,208,.40);
}

/* ── Лёгкое индиго ────────────────────────────────────────────── */
body.fs-accent-indigo-light, [data-accent="indigo-light"]{
  --blue-text:   #4757C4;
  --accent:      #6C7FE8;
  --blue-soft:   rgba(131,149,245,.14);
  --accent-soft: rgba(131,149,245,.20);
  --accent-line: rgba(131,149,245,.46);
}

/* ── Фиолетовый ───────────────────────────────────────────────── */
/* ── Морская волна ────────────────────────────────────────────── */
body.fs-accent-teal, [data-accent="teal"]{
  --blue-text:   #0B6E6E;
  --accent:      #0E8A8A;
  --blue-soft:   rgba(14,138,138,.10);
  --accent-soft: rgba(14,138,138,.16);
  --accent-line: rgba(14,138,138,.40);
}

/* violet — старое имя, оставлено псевдонимом: фиолетовый теперь один */
body.fs-accent-violet, [data-accent="violet"],
body.fs-accent-violet-full, [data-accent="violet-full"]{
  --blue:        #6152C9;
  --blue-hover:  #5344AF;
  --blue-text:   #5344AF;
  --blue-soft:   rgba(97,82,201,.10);
  --accent:      #6152C9;
  --accent-soft: rgba(97,82,201,.14);
  --accent-line: rgba(97,82,201,.36);
}

body.fs-accent-violet [data-logo], [data-accent="violet"] [data-logo],
body.fs-accent-violet-full [data-logo],
[data-accent="violet-full"] [data-logo] { background: #6152C9; }

/* ── Палитра бирюзы: фирменный #00E5FF, на белом темнее ──────── */
body.fs-accent-cyan, [data-accent="cyan"]{
  --blue-text:   #046B7C;
  --accent:      #00B8D4;
  --blue-soft:   rgba(0,184,212,.10);
  --accent-soft: rgba(0,184,212,.14);
  --accent-line: rgba(0,184,212,.36);
}

/* ── Бирюза TecMachinery: #1697C4 из бренд-бука (растровые референсы) ──
   Сам #1697C4 даёт белому только 3,36:1 — он идёт в плитки, рамки и значки
   (графике достаточно 3:1), но не в надписи и не в заливку кнопки.
   Для текста берём #106D8D (5,84:1), для заливки в полном режиме #117395 (5,37:1). */
body.fs-accent-tec, [data-accent="tec"]{
  --blue-text:   #106D8D;
  --accent:      #1697C4;
  --blue-soft:   rgba(22,151,196,.10);
  --accent-soft: rgba(22,151,196,.14);
  --accent-line: rgba(22,151,196,.36);
}

/* ── Синий TecMachinery: #1E70B4 со второго листа бренд-бука ──────
   Этот тон держит контраст сам: белый на нём 5,21:1, он на белом 5,21:1 —
   затемнять для кнопки и текста не нужно, в отличие от бирюзы #1697C4. */
body.fs-accent-tec-blue, [data-accent="tec-blue"]{
  --blue-text:   #1E70B4;
  --accent:      #1E70B4;
  --blue-soft:   rgba(30,112,180,.10);
  --accent-soft: rgba(30,112,180,.14);
  --accent-line: rgba(30,112,180,.36);
}

/* ── Тёплые: рядом со статусами, статус подписываем словом ────── */
body.fs-accent-orange, [data-accent="orange"]{
  --blue-text:   #A9500F;
  --accent:      #E2681C;
  --blue-soft:   rgba(226,104,28,.10);
  --accent-soft: rgba(226,104,28,.14);
  --accent-line: rgba(226,104,28,.34);
}
body.fs-accent-red, [data-accent="red"]{
  --blue-text:   #AC0811;
  --accent:      #C90A15;
  --blue-soft:   rgba(201,10,21,.08);
  --accent-soft: rgba(201,10,21,.10);
  --accent-line: rgba(201,10,21,.30);
}

/* ── Пары с зелёным: кнопка своего цвета, плитки зелёные ──────── */
body.fs-accent-green, [data-accent="green"]{
  --accent:      #2E9E5B;
  --accent-soft: rgba(46,158,91,.14);
  --accent-line: rgba(46,158,91,.34);
}
body.fs-accent-green-indigo, [data-accent="green-indigo"]{
  --blue-text:   #3D4FB8;
  --accent:      #2E9E5B;
  --accent-soft: rgba(46,158,91,.14);
  --accent-line: rgba(46,158,91,.34);
}

/* ── Полные режимы: меняют кнопки и логотип ───────────────────── */

/* Базовый синий полным режимом. Значения совпадают с :root, но объявлены явно:
   пункт «Как сейчас — синий» нужен и во второй группе переключателя, чтобы
   возвращаться к исходному виду, не уходя в начало списка (просьба владельца
   14.08.2026). Знак логотипа тоже возвращается к синему. */
body.fs-accent-blue-full, [data-accent="blue-full"]{
  --blue:        #0078D4;
  --blue-hover:  #0069BE;
  --blue-text:   #005A9E;
  --blue-soft:   rgba(0,120,212,.10);
  --accent:      #0078D4;
  --accent-soft: rgba(0,120,212,.14);
  --accent-line: rgba(0,120,212,.32);
}

body.fs-accent-blue-full [data-logo],
[data-accent="blue-full"] [data-logo] { background: #0078D4; }
body.fs-accent-indigo-full, [data-accent="indigo-full"]{
  --blue:        #4B5FD0;
  --blue-hover:  #3D4FB8;
  --blue-text:   #3D4FB8;
  --blue-soft:   rgba(75,95,208,.10);
  --accent:      #4B5FD0;
  --accent-soft: rgba(75,95,208,.16);
  --accent-line: rgba(75,95,208,.40);
}

body.fs-accent-indigo-full [data-logo],
[data-accent="indigo-full"] [data-logo] { background: #4B5FD0; }

body.fs-accent-cyan-full, [data-accent="cyan-full"]{
  --blue:        #008296;
  --blue-hover:  #006F80;
  --blue-text:   #046B7C;
  --blue-soft:   rgba(0,184,212,.10);
  --accent:      #00B8D4;
  --accent-soft: rgba(0,184,212,.14);
  --accent-line: rgba(0,184,212,.36);
}

body.fs-accent-cyan-full [data-logo],
[data-accent="cyan-full"] [data-logo] { background: #008296; }

/* Полная бирюза TecMachinery: акцент фирменный #1697C4, кнопка и знак — затемнённый
   #117395 (белый 5,37:1), наведение #0F6785 (6,37:1). */
body.fs-accent-tec-full, [data-accent="tec-full"]{
  --blue:        #117395;
  --blue-hover:  #0F6785;
  --blue-text:   #106D8D;
  --blue-soft:   rgba(22,151,196,.10);
  --accent:      #1697C4;
  --accent-soft: rgba(22,151,196,.14);
  --accent-line: rgba(22,151,196,.36);
}

body.fs-accent-tec-full [data-logo],
[data-accent="tec-full"] [data-logo] { background: #117395; }

/* Полный синий TecMachinery: заливка — сам фирменный #1E70B4 (белый 5,21:1),
   наведение #1A639E (6,32:1). Притемнять заливку здесь не требуется. */
body.fs-accent-tec-blue-full, [data-accent="tec-blue-full"]{
  --blue:        #1E70B4;
  --blue-hover:  #1A639E;
  --blue-text:   #1A639E;
  --blue-soft:   rgba(30,112,180,.10);
  --accent:      #1E70B4;
  --accent-soft: rgba(30,112,180,.14);
  --accent-line: rgba(30,112,180,.36);
}

body.fs-accent-tec-blue-full [data-logo],
[data-accent="tec-blue-full"] [data-logo] { background: #1E70B4; }

body.fs-accent-teal-full, [data-accent="teal-full"]{
  --blue:        #0D8383;
  --blue-hover:  #0A6E6E;
  --blue-text:   #0B6E6E;
  --blue-soft:   rgba(14,138,138,.10);
  --accent:      #0E8A8A;
  --accent-soft: rgba(14,138,138,.14);
  --accent-line: rgba(14,138,138,.34);
}

body.fs-accent-teal-full [data-logo],
[data-accent="teal-full"] [data-logo] { background: #0E8A8A; }

body.fs-accent-green-full, [data-accent="green-full"]{
  --blue:        #28874D;
  --blue-hover:  #216F40;
  --blue-text:   #1F7A45;
  --blue-soft:   rgba(46,158,91,.10);
  --accent:      #2E9E5B;
  --accent-soft: rgba(46,158,91,.14);
  --accent-line: rgba(46,158,91,.34);
}

body.fs-accent-green-full [data-logo],
[data-accent="green-full"] [data-logo] { background: #28874D; }

body.fs-accent-orange-full, [data-accent="orange-full"]{
  --blue:        #C15714;
  --blue-hover:  #A64A0F;
  --blue-text:   #A9500F;
  --blue-soft:   rgba(226,104,28,.10);
  --accent:      #E2681C;
  --accent-soft: rgba(226,104,28,.14);
  --accent-line: rgba(226,104,28,.34);
}

body.fs-accent-orange-full [data-logo],
[data-accent="orange-full"] [data-logo] { background: #C15714; }

body.fs-accent-red-full, [data-accent="red-full"]{
  --blue:        #C90A15;
  --blue-hover:  #AC0811;
  --blue-text:   #AC0811;
  --blue-soft:   rgba(201,10,21,.08);
  --accent:      #C90A15;
  --accent-soft: rgba(201,10,21,.10);
  --accent-line: rgba(201,10,21,.30);
}

body.fs-accent-red-full [data-logo],
[data-accent="red-full"] [data-logo] { background: #C90A15; }

/* ── Светлый текст акцента на графите ─────────────────────────── */
[data-theme="dark"][data-accent="indigo"],
[data-theme="dim"][data-accent="indigo"],
[data-theme="dark"][data-accent="duo"],
[data-theme="dim"][data-accent="duo"],
[data-theme="dark"][data-accent="green-indigo"],
[data-theme="dim"][data-accent="green-indigo"],
[data-theme="dark"][data-accent="indigo-full"],
[data-theme="dim"][data-accent="indigo-full"]       { --blue-text: #8395F5; }
[data-theme="dark"][data-accent="indigo-light"],
[data-theme="dim"][data-accent="indigo-light"]      { --blue-text: #A9B6FF; }
[data-theme="dark"][data-accent="violet"],
[data-theme="dim"][data-accent="violet"],
[data-theme="dark"][data-accent="violet-full"],
[data-theme="dim"][data-accent="violet-full"]      { --blue-text: #A79CF5; }
[data-theme="dark"][data-accent="tec"],
[data-theme="dim"][data-accent="tec"],
[data-theme="dark"][data-accent="tec-full"],
[data-theme="dim"][data-accent="tec-full"]          { --blue-text: #29B6E7; }
[data-theme="dark"][data-accent="tec-blue"],
[data-theme="dim"][data-accent="tec-blue"],
[data-theme="dark"][data-accent="tec-blue-full"],
[data-theme="dim"][data-accent="tec-blue-full"]     { --blue-text: #469AE0; }
[data-theme="dark"][data-accent="teal"],
[data-theme="dim"][data-accent="teal"],
[data-theme="dark"][data-accent="teal-full"],
[data-theme="dim"][data-accent="teal-full"]         { --blue-text: #2CC4C4; }
[data-theme="dark"][data-accent="green-full"],
[data-theme="dim"][data-accent="green-full"]        { --blue-text: #4CC276; }
[data-theme="dark"][data-accent="orange-full"],
[data-theme="dim"][data-accent="orange-full"]       { --blue-text: #F79A50; }
[data-theme="dark"][data-accent="red-full"],
[data-theme="dim"][data-accent="red-full"]          { --blue-text: #FF858E; }
[data-theme="dark"][data-accent="cyan"],
[data-theme="dim"][data-accent="cyan"],
[data-theme="dark"][data-accent="cyan-full"],
[data-theme="dim"][data-accent="cyan-full"]        { --blue-text: #2ED4EC; }
[data-theme="dark"][data-accent="orange"],
[data-theme="dim"][data-accent="orange"]           { --blue-text: #F79A50; }
[data-theme="dark"][data-accent="red"],
[data-theme="dim"][data-accent="red"]              { --blue-text: #FF858E; }

/* ── Элементы, читающие акцент ────────────────────────────────── */
[data-tile]{
  background:   var(--accent-soft);
  border-color: var(--accent-line);
  color:        var(--accent);
}
[data-tile]:hover{ border-color: var(--accent); }
