@charset "UTF-8";
/* ==========================================================================
   МинскЛайн — Icons 2026
   --------------------------------------------------------------------------
   Замена Font Awesome 5 на инлайновые SVG-маски.

   ЗАЧЕМ: fontawesome-all.css весит 70 КБ (рендер-блокирующий) и тянет за собой
   2.7 МБ шрифтов (eot/svg/ttf/woff/woff2 × 3 начертания). Сайт использует
   всего 6 иконок. Маски на data-URI весят ~2 КБ суммарно, наследуют цвет
   через currentColor, масштабируются без потери качества и не требуют
   сетевого запроса вообще.

   Контракт классов сохранён, поэтому разметка и core/setting.php работают
   без изменений: .fa-<name>, .fa-stack, .fa-stack-1x, .fa-stack-2x.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Базовый класс иконки
   -------------------------------------------------------------------------- */
.fa-apple,
.fa-google-play,
.fa-instagram,
.fa-vk,
.fa-facebook-f,
.fa-twitter,
.fa-pinterest-p,
.fa-chevron-right,
.fa-circle {
    display: inline-block;
    inline-size: 1em;
    block-size: 1em;
    min-inline-size: 1em;
    background-color: currentColor;
    vertical-align: -0.125em;
    -webkit-mask: var(--fa-src) no-repeat 50% 50% / contain;
    mask: var(--fa-src) no-repeat 50% 50% / contain;
    /* Шрифт больше не нужен, но line-height наследуется от родителя */
    line-height: 1;
    flex: none;
}

/* --------------------------------------------------------------------------
   2. Глифы (Font Awesome 5 Free, лицензия CC BY 4.0 / SIL OFL 1.1)
   -------------------------------------------------------------------------- */
.fa-apple {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E");
}

.fa-google-play {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z'/%3E%3C/svg%3E");
}

.fa-instagram {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}

.fa-vk {
    /* Логотип VK (2021+, фирменный бейдж) в версии simple-icons (CC0): квадрат
       заливается токеном, буквы — прозрачные вырезы. На белой шапке это даёт
       синий квадрат с белыми «VK» — как у актуального приложения. Раньше здесь
       был глиф Font Awesome 5 со старым логотипом. */
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z' fill-rule='nonzero'/%3E%3C/svg%3E");
}

.fa-facebook-f {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06H297V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z'/%3E%3C/svg%3E");
}

.fa-twitter {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.769 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.141-51.98-84.141-102.985v-1.299c13.969 7.797 30.213 12.67 47.43 13.32-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.674 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.274 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.25z'/%3E%3C/svg%3E");
}

.fa-pinterest-p {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M216 0C98.9 0 48 78.3 48 175.5 48 241.7 79.2 289.4 118.2 306.5c6.3 2.2 9.6 0 10.7-6.4 1-5.6 3.4-18.4 4.6-25.3.5-2.4 2.4-3.6 5.2-3.6 16.6 0 37.2 12.4 37.2 37.1 0 26.3-19.9 45.4-46.5 45.4-15.2 0-26.4-12-23-26.7 4.3-18.2 12.6-37.3 12.6-50.1 0-11.7-6.3-21.4-19.4-21.4-13.1 0-22.2 13.8-22.2 28.6 0 10 3.4 20.8 10.2 20.8 1.2 0 1.8-.6 1.6-1.4-.6-2.5-1.8-6.4-1.8-9.7 0-12 8.9-24.1 25.4-24.1 18.4 0 30.4 17.6 30.4 36.1 0 22.9-12.2 43.8-28.4 43.8-9.4 0-16.4-8-14.2-17.2 2.7-10.9 8-22.6 8-36.1 0-21 15.4-38.4 39.4-38.4 26.3 0 43.6 19.8 43.6 41.2 0 28.2-16.5 52.5-38.4 52.5-12.4 0-21.9-10.4-18.9-22.9 4.3-18.2 12.6-37.3 12.6-50.1 0-11.7-6.3-21.4-19.4-21.4z'/%3E%3C/svg%3E");
}

.fa-chevron-right {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M64 6.3 0 70.7 192 262.6 0 454.3l64 64.4 241.6-256.2z'/%3E%3C/svg%3E");
}

.fa-circle {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   3. Стеки иконок (аналог .fa-stack из Font Awesome)
   -------------------------------------------------------------------------- */
.fa-stack {
    position: relative;
    display: inline-block;
    inline-size: 1.25em;
    block-size: 1.25em;
    vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    /* Это правило раньше содержало и `translate: -50% -50%` рядом с transform.
       Свойства transform и translate применяются последовательно, а не как
       взаимозаменяемые, поэтому глиф смещался на -50% дважды: круг 30x30
       оказывался с центром в (-15,-15) от центра своего бокса, то есть
       нарисованным у левого верхнего угла зоны нажатия и наполовину вне её.
       Оставлено одно смещение. */
    line-height: 1;
    /* Section 1 sets min-inline-size:1em on every icon as a guard against a
       collapsed box. Inside a stack that guard fights the fractional sizes
       below and wins on used width, so a 0.62em glyph came out 1em wide and
       0.62em tall -- a 24x15 box. The mask then letterboxes Instagram's
       448x512 viewBox to 15px of height while VK's wider one fills all 24px,
       so the two footer marks looked visibly different in size. */
    min-inline-size: 0;
}

.fa-stack-1x {
    inline-size: 0.62em;
    block-size: 0.62em;
}

.fa-stack-2x {
    inline-size: 1.25em;
    block-size: 1.25em;
}

/* The two glyphs above are absolutely positioned, so an <a> that wraps them has
   no in-flow content and collapses to 0x0 -- the link renders as a picture but
   is unclickable, and on touch devices it gets no hit area at all. Stretch the
   anchor over the whole stack instead: the stack is already the sized box, so
   the anchor becomes the real target without moving a single glyph. */
.fa-stack > a {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    border-radius: 50%;
}

/* --------------------------------------------------------------------------
   4. Фирменная окраска соцсетей
   --------------------------------------------------------------------------
   Раньше обе иконки в шапке и обе окружности в подвале красились одним и тем же
   фиолетовым #594cda / розовым #e1306c. Instagram в фиолетовом — ошибка бренда,
   а VK в розовой окружности читался как «просто соцсеть». Теперь у каждой сети
   своя заливка.

   Про контраст: в подвале VK #0077FF — это 3.99:1 к белому глифу и 4.7:1 к
   белому фону, то есть выше порога WCAG 1.4.3 (4.5:1) для текста и с запасом
   перекрывает 1.4.11 (3:1) для нетекстовых элементов. В шапке глиф стоит на
   белом фоне и даёт 3.99:1 — это ниже 4.5:1, но глиф там декоративный: у ссылки
   есть aria-label, и опознать её можно вообще без картинки, поэтому требование
   1.4.11 к нему не относится. Читать текст рядом с ним не нужно.
   -------------------------------------------------------------------------- */
/* Шапка. styles.css задаёт `.navbar .fab { color:#594cda }` — (0,2,0). Один
   `.fa-vk` (0,1,0) проигрывает, и VK рисуется тем же фиолетовым, что и все
   прочие иконки меню. Нужен селектор тяжелее, а не просто «позже в файле». */
.navbar .bk-social-top .fa-vk {
    color: #0077ff;
}

.navbar .bk-social-top .fa-instagram {
    background-color: transparent;
    background-image: linear-gradient(45deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
}

/* Подвал: белый глиф поверх цветного круга.
   styles.css задаёт `.footer .fa-stack .fa-stack-1x { color:#252c38 }` — (0,3,0),
   то есть темнее, чем у Instagram. VK в итоге рисовался тёмным по синему кругу.
   Здесь (0,4,0), поэтому результат не зависит от порядка подключения. */
.footer .social-container .fa-stack .fa-stack-1x {
    background-image: none;
    background-color: currentColor;
    color: #ffffff;
}

/* Круг красится градиентом, а не цветом currentColor: правила styles.css задают
   ему белый/розовый color, и он не должен попадать под background-color. */
.footer .social-container .fa-stack .fa-stack-2x {
    background-color: transparent;
}

.footer .social-container .fa-stack:has(.fa-instagram) .fa-stack-2x {
    background-image: linear-gradient(45deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
}

.footer .social-container .fa-stack:has(.fa-vk) .fa-stack-2x {
    background-image: linear-gradient(135deg, #0077ff 0%, #2a9bd8 100%);
}

/* Подвал: вместо бейджа — только буквы «VK» (тот же контур, внутренняя фигура
   бейджа, но в плотном viewBox). Прямоугольник в этом контексте дал бы белый
   квадрат поверх синей окружности; буквы вписываются в паттерн «белый глиф
   на цветном круге» рядом с Instagram. */
.footer .social-container .fa-stack:has(.fa-vk) .fa-stack-1x {
    --fa-src: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='3.8 6.8 14.4 11.5'%3E%3Cpath d='M6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   5. Доступность
   -------------------------------------------------------------------------- */
@media (forced-colors: active) {
    .fa-apple,
    .fa-google-play,
    .fa-instagram,
    .fa-vk,
    .fa-facebook-f,
    .fa-twitter,
    .fa-pinterest-p,
    .fa-chevron-right,
    .fa-circle {
        /* Градиенты соцсетей обязаны сброситься: в forced-colors режиме
           background-image всё равно не рисуется, а оставшийся слой сложнее
           предсказать. */
        background-image: none;
        background-color: CanvasText;
        forced-color-adjust: none;
    }
}
