/* Font Awesome — ручной сабсет под фактический словарь сайта.
   Вместо 100 КБ CSS + 950 КБ шрифтов: два woff2-сабсета (solid 1,7 КБ на
   17 глифов, brands 2,9 КБ на 18) и только те правила, чьи классы
   встречаются в шаблонах или контенте БД (сверено по HTML всех живых URL,
   см. план рефакторинга). Новая иконка не отрисуется без пересбора
   сабсета — процедура в css/icons/font-awesome/README-subset.md. */

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    /* block: у иконочного шрифта нет осмысленного фолбэка, swap мигал бы «тофу» */
    font-display: block;
    src: url("font-awesome/fa-solid-900.woff2") format("woff2");
}

@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("font-awesome/fa-brands-400.woff2") format("woff2");
}

.fa, .fas, .fa-solid,
.fab, .fa-brands {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    display: var(--fa-display, inline-block);
}

.fa, .fas, .fa-solid { font-family: "Font Awesome 6 Free"; font-weight: 900; }
.fab, .fa-brands     { font-family: "Font Awesome 6 Brands"; font-weight: 400; }

/* Модификаторы, встречающиеся в разметке */
.fa-fw { text-align: center; width: 1.25em; }
.fa-rotate-90 { transform: rotate(90deg); }

/* Solid */
.fa-angle-right:before { content: "\f105"; }
.fa-arrow-circle-right:before { content: "\f0a9"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-blog:before { content: "\f781"; }
.fa-caret-down:before { content: "\f0d7"; } /* стрелки подменю, создаёт canvas-lite.js */
.fa-check:before { content: "\f00c"; }
.fa-chevron-circle-down:before { content: "\f13a"; }
.fa-chevron-circle-right:before { content: "\f138"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-chevron-left:before { content: "\f053"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-chevron-up:before { content: "\f077"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-heart:before { content: "\f004"; }
.fa-money-bill-wave:before { content: "\f53a"; }
.fa-phone:before { content: "\f095"; }
.fa-plus-square:before { content: "\f0fe"; }
.fa-wifi:before { content: "\f1eb"; }

/* Brands (сабсет fa-brands-400.woff2 шире — глифы для соцблоков подвала) */
.fa-facebook:before { content: "\f09a"; }
.fa-facebook-f:before { content: "\f39e"; }
.fa-facebook-square:before { content: "\f082"; }
.fa-instagram:before { content: "\f16d"; }
.fa-tiktok:before { content: "\e07b"; }
.fa-twitter:before { content: "\f099"; }
.fa-twitter-square:before { content: "\f081"; }
.fa-x-twitter:before { content: "\e61b"; }
.fa-youtube:before { content: "\f167"; }

/* ------------------------------------------------------------------ *
 * Замена Bootstrap Icons (были 128 КБ woff2 + 84 КБ CSS ради 5 глифов)
 * и Unicons (644 КБ шрифтов ради 5 глифов): те же классы, но глиф — это
 * inline-SVG-маска, закрашиваемая currentColor. Разметка и контент БД
 * работают без правок; новые иконки добавляются новым правилом ниже.
 * ------------------------------------------------------------------ */
.uil-schedule, .uil-folder-open, .uil-angle-left-b, .uil-angle-right-b, .uil-angle-up,
.bi-type, .bi-printer, .bi-share, .bi-question-circle, .bi-list {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: var(--bbf-icon) no-repeat center / contain;
    mask: var(--bbf-icon) no-repeat center / contain;
    font-style: normal;
}
.uil-schedule { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M3 1h2v2h6V1h2v2h2v12H1V3h2V1zm-1 5v8h12V6H2zm2 2h3v3H4V8z"/></svg>'); }
.uil-folder-open { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M1 3h5l1.5 2H15v9H1V3zm1.5 4L2 13h11.6l1-6H2.5z"/></svg>'); }
.uil-angle-left-b { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M10.8 2.3 5.1 8l5.7 5.7 1.4-1.4L7.9 8l4.3-4.3-1.4-1.4z"/></svg>'); }
.uil-angle-right-b { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5.2 2.3 3.8 3.7 8.1 8l-4.3 4.3 1.4 1.4L10.9 8 5.2 2.3z"/></svg>'); }
.uil-angle-up { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 4.6 1.8 10.8l1.4 1.4L8 7.4l4.8 4.8 1.4-1.4L8 4.6z"/></svg>'); }
.bi-type { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M7 2h2l4.5 12h-2.1l-1.1-3H5.7l-1.1 3H2.5L7 2zm1 2.9L6.3 9.4h3.4L8 4.9z"/></svg>'); }
.bi-printer { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 1h8v3h2v7h-2v4H4v-4H2V4h2V1zm1.5 1.5V4h5V2.5h-5zm0 8V14h5v-3.5h-5zM4 6.5h1.5V8H4V6.5z"/></svg>'); }
.bi-share { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 1a2.5 2.5 0 0 1 0 5c-.7 0-1.4-.3-1.8-.8L6 7.6v.8l4.2 2.4c.4-.5 1.1-.8 1.8-.8a2.5 2.5 0 1 1-2.5 2.5v-.4L5.3 9.7a2.5 2.5 0 1 1 0-3.4l4.2-2.4v-.4A2.5 2.5 0 0 1 12 1z"/></svg>'); }
.bi-question-circle { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1zm0 1.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11zM8 11a1 1 0 1 1 0 2 1 1 0 0 1 0-2zm0-7c1.7 0 3 1.2 3 2.8 0 1-.6 1.6-1.4 2.1-.5.4-.8.6-.8 1.1H7.2c0-1.1.6-1.6 1.3-2.1.5-.3.9-.6.9-1.1 0-.7-.6-1.2-1.4-1.2-.8 0-1.4.5-1.5 1.3H5C5.1 5.2 6.3 4 8 4z"/></svg>'); }
.bi-list { --bbf-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 3.5h12V5H2V3.5zm0 3.8h12v1.5H2V7.3zm0 3.7h12v1.5H2V11z"/></svg>'); }
