/* WMARKA — структурный слой шаблона. Собрано tools/css.py, руками не править.
   Порядок: fonts.css → uikit.min.css → ЭТОТ ФАЙЛ → фирменный слой сайта. */

/* =========================================================================
   СТРУКТУРНЫЕ ТОКЕНЫ ШАБЛОНА — нейтральная шкала.
   Собрано tools/css.py. Фирменный слой сайта переопределяет эти значения
   (см. «мост» в конце фирменного файла). Ни одного фирменного цвета здесь
   быть не должно: иначе шаблон не переиспользуется.
   ========================================================================= */
:root{
  --wm-ink:#1b1d1f;
  --dark-primary:#1b1d1f;
  --white-bg:#ffffff;
  --tm-text-main:#1b1d1f;
  --tm-text-muted:#6b7075;
  --tm-border:rgba(27,29,31,.16);
  --tm-mono:ui-monospace,'SFMono-Regular',Consolas,monospace;
  --gold-brand:#6b7075;
  --gold-deep:#3a3e42;
  --gold-light:#f2f3f4;
  --gold-pale:#f7f8f9;
  --rust:#8a3b2a;
  --wm-ico:#6b7075;
}

/* Единственный источник компенсации якорей — здесь. scroll-padding-top и
   scroll-margin-top суммируются, поэтому scroll-margin у целей не задаём. */
:root{ --wm-anchor:86px; }
/* Основной шрифт сайта */
:root {
    --uk-font-family-primary: 'Noto Sans SemiCondensed', sans-serif;
}
body {
    font-family: 'Noto Sans SemiCondensed', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
}
/* Настройка заголовков */
h1, h2, h3, h4, h5, h6, .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6 {
    font-family: 'Noto Sans SemiCondensed', sans-serif;
    font-weight: 600; /* Используем SemiBold для заголовков */
    text-transform: none;
}
b, strong {
    font-weight: 700; /* Используем Bold */
}
/* Эффект для казахстанских обложек (Intro Image) */
.uk-card-media-top img, 
.intro-image img {
    filter: sepia(20%) contrast(110%); /* Теплый, благородный тон */
    transition: transform 0.5s ease;
    border-radius: 4px;
}
/* Эффект при наведении на карточку */
.uk-card:hover .uk-card-media-top img {
    transform: scale(1.03);
    filter: sepia(0%) contrast(100%); /* При наведении фото становится "живым" */
}
/* Оформление разделителя склеенных постов */
.thread-sep {
    border: 0;
    height: 1px;
    /* Мягкий градиент в стиле UIkit */
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0));
    margin: 40px 0;
    position: relative;
    overflow: visible;
    display: block;
}
/* Вставка иконки UIkit "more" через SVG */
.thread-sep::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 20px;
    background-color: #fff; /* Цвет фона под иконкой, чтобы перекрыть линию */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle fill='%23999' cx='3' cy='10' r='1.5'/%3E%3Ccircle fill='%23999' cx='10' cy='10' r='1.5'/%3E%3Ccircle fill='%23999' cx='17' cy='10' r='1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}
/* =========================================================================
   OFFCANVAS: вертикальное меню.
   В боковую панель попадает тот же модуль, что и в навбар (Joomla рендерит
   модуль один раз), поэтому горизонтальный uk-navbar-nav перекладываем
   в колонку, а JS-выпадашки превращаем в статичные вложенные списки.
   ========================================================================= */
.uk-offcanvas-bar .uk-navbar-nav {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}
.uk-offcanvas-bar .uk-navbar-nav > li > a {
    min-height: 44px;
    padding: 10px 0;
    justify-content: flex-start;
    font-size: 1rem;
}
/* Подменю: без абсолютного позиционирования, всегда развёрнуто, со сдвигом */
.uk-offcanvas-bar .uk-navbar-dropdown {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
    width: auto;
    padding: 0 0 5px 18px;
    margin: 0;
    background: transparent;
    box-shadow: none;
}
.uk-offcanvas-bar .uk-navbar-dropdown-nav > li > a {
    color: rgba(255, 255, 255, 0.55);
    padding: 6px 0;
}
.uk-offcanvas-bar .uk-navbar-dropdown-nav > li > a:hover,
.uk-offcanvas-bar .uk-navbar-dropdown-nav > li.uk-active > a {
    color: #fff;
}
/* Стрелки-индикаторы выпадашек в колонке не нужны */
.uk-offcanvas-bar .uk-navbar-parent-icon {
    display: none;
}
/* Кнопки сторонних способов входа (Passkeys/WebAuthn): компактная иконка */
.wmarka-extra-login-btn svg,
.plg_system_webauthn_login_button svg {
    width: 22px;
    height: 22px;
    vertical-align: text-bottom;
    margin-right: 8px;
    fill: currentColor;
}
/* =========================================================================
   ФРОНТЕНД-РЕДАКТИРОВАНИЕ: мост Bootstrap-классов ядра Joomla → вид UIkit.
   Покрывает все формы (профиль, статья, контакт, модуль com_config, поля
   плагинов), где ядро выводит form-control/btn/nav-tabs и т.п.
   ========================================================================= */
.form-control,
.form-select {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 0 10px;
    height: 40px;
    border: 1px solid #e5e5e5;
    border-radius: 500px;
    background: #fff;
    color: #666;
    font: inherit;
    transition: 0.2s ease-in-out;
    transition-property: color, background-color, border;
}
textarea.form-control {
    height: auto;
    min-height: 90px;
    padding: 8px 12px;
    border-radius: 12px;
}
.form-control:focus,
.form-select:focus {
    outline: none;
    border-color: #1e87f0;
    background: #fff;
    color: #666;
}
.form-select {
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='24' height='16' viewBox='0 0 24 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline fill='none' stroke='%23666' stroke-width='1.1' points='17 1 12 6 7 1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 34px;
}
select.form-select[multiple],
select.form-control[multiple] {
    height: auto;
    border-radius: 12px;
    padding: 6px 10px;
    background-image: none;
}
.form-check-input {
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    vertical-align: middle;
}
/* Кнопки ядра */
.btn {
    display: inline-block;
    box-sizing: border-box;
    padding: 0 24px;
    line-height: 38px;
    border: 1px solid #e5e5e5;
    border-radius: 500px;
    background: #fff;
    color: #333;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    cursor: pointer;
    transition: 0.1s ease-in-out;
    transition-property: color, background-color, border-color;
}
.btn:hover { background: #f8f8f8; color: #333; }
.btn-primary { background: #1e87f0; border-color: transparent; color: #fff; }
.btn-primary:hover { background: #0f7ae5; color: #fff; }
.btn-danger { background: #f0506e; border-color: transparent; color: #fff; }
.btn-danger:hover { background: #ee395b; color: #fff; }
.btn-secondary { background: #222; border-color: transparent; color: #fff; }
.btn-secondary:hover { background: #151515; color: #fff; }
.btn-sm { line-height: 28px; padding: 0 14px; font-size: 0.75rem; }
/* Группа "инпут + кнопка" (медиа-поле, календарь) */
.input-group { display: flex; align-items: stretch; }
.input-group .form-control { flex: 1 1 auto; border-radius: 500px 0 0 500px; }
.input-group .btn { border-radius: 0 500px 500px 0; line-height: 38px; }
/* Вкладки ядра (если где-то остались nav-tabs) */
.nav-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 0; margin: 0 0 20px; list-style: none; border-bottom: 1px solid #e5e5e5; }
.nav-tabs .nav-link { display: block; padding: 8px 14px; color: #999; text-transform: uppercase; font-size: 0.875rem; text-decoration: none; border-bottom: 2px solid transparent; }
.nav-tabs .nav-link.active { color: #333; border-bottom-color: #1e87f0; }
fieldset { border: none; padding: 0; margin: 0 0 20px; }
fieldset legend { font-size: 1.1rem; font-weight: 600; padding: 0 0 8px; }
/* Календарь и медиа-модалки ядра наследуют шрифт */
.js-calendar, .field-calendar { font: inherit; }
/* ===== Служебная строка и метки в стиле новостных сайтов ===== */
.wm-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 8px;
    font-size: 13px;
    line-height: 1.5;
    color: #8f959e;
}
.wm-meta a { color: inherit; text-decoration: none; }
.wm-meta a:hover { color: #333; }
.wm-meta .wm-meta__cat { text-transform: uppercase; letter-spacing: 0.6px; font-size: 11.5px; font-weight: 600; }
.wm-meta .wm-meta__sep { color: #c5c9cf; }
.wm-meta time { white-space: nowrap; }
.wm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.wm-tags a {
    font-size: 12px;
    letter-spacing: 0.3px;
    color: #8f959e;
    text-decoration: none;
    transition: color 0.15s ease;
}
.wm-tags a:hover { color: #1e87f0; }
.wm-readmore { white-space: nowrap; }
/* ===== Блог: режим «список» (как каталоги магазинов) и позиции картинок ===== */
.wm-view-list > div { width: 100% !important; }
.wm-view-list article.uk-card { display: flex; flex-flow: row wrap; }
.wm-view-list article .uk-card-media-top { flex: 0 0 320px; max-width: 42%; }
.wm-view-list article .uk-card-media-top img,
.wm-view-list article .uk-card-media-top picture { height: 100%; }
.wm-view-list article .uk-card-media-top img { object-fit: cover; }
.wm-view-list article .uk-card-body { flex: 1 1 300px; }
.wm-view-list article .uk-card-footer { flex-basis: 100%; }
@media (max-width: 639px) {
    .wm-view-list article .uk-card-media-top { flex-basis: 100%; max-width: 100%; }
}
/* Картинка снизу карточки */
.wm-imgpos-bottom:not(.wm-view-list) article .uk-card-media-top { order: 90; }
.wm-imgpos-bottom:not(.wm-view-list) article .uk-card-footer   { order: 91; }
/* Чередование: чётные карточки — картинка снизу (в списке — справа) */
.wm-imgpos-alternate:not(.wm-view-list) > div:nth-child(even) article .uk-card-media-top { order: 90; }
.wm-imgpos-alternate:not(.wm-view-list) > div:nth-child(even) article .uk-card-footer   { order: 91; }
.wm-view-list.wm-imgpos-alternate > div:nth-child(even) article { flex-direction: row-reverse; }
.wm-view-list.wm-imgpos-bottom > div article { flex-direction: row-reverse; }
/* Счётчик статей у категорий */
.wm-cat-badge { background: #f0f2f5; color: #666; }
.wm-blog-toolbar .uk-button.uk-active { background: #1e87f0; color: #fff; border-color: transparent; }
/* ===== Панель фильтра по меткам: одна прокручиваемая линия ===== */
.wm-tagbar { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 14px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.wm-tagbtn { flex: 0 0 auto; padding: 5px 14px; border: 1px solid #e5e5e5; border-radius: 500px; background: #fff; font-size: 12.5px; color: #666; cursor: pointer; white-space: nowrap; transition: 0.15s; }
.wm-tagbtn:hover { border-color: #1e87f0; color: #1e87f0; }
.wm-tagbtn.uk-active { background: #1e87f0; border-color: transparent; color: #fff; }
/* Деревья карты меток/категорий */
.wm-tree { margin: 4px 0 0; }
.wm-tree .wm-tree { margin-left: 16px; border-left: 1px solid #eee; padding-left: 12px; }
.wm-tree > li { margin-bottom: 4px; }
/* ===== Меню: стиль «кнопки», инверсия, мегаменю, иконки ===== */
.wm-menu-buttons .uk-navbar-nav > li > a { border: 1px solid rgba(255,255,255,.25); border-radius: 500px; margin: 10px 3px; padding: 0 16px; min-height: 36px; }
.wm-menu-buttons .uk-navbar-nav > li.uk-active > a,
.wm-menu-buttons .uk-navbar-nav > li > a:hover { background: rgba(255,255,255,.12); }
.uk-navbar-inverse .uk-navbar-nav > li > a { color: #333; }
.wm-menu-buttons.uk-navbar-inverse .uk-navbar-nav > li > a { border-color: #e5e5e5; }
.wm-menu-icon { vertical-align: -3px; margin-right: 6px; fill: currentColor; }
.wm-mega { padding: 20px; }
.wm-mega-col { min-width: 0; }
.wm-mega-head { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #999; margin-bottom: 10px; }
.wm-mega-item { margin-bottom: 6px; }
.wm-mega-item a { color: #333; }
.wm-mega-item a:hover { color: #1e87f0; }
.wm-mega-foot { margin-top: 12px; padding-top: 10px; border-top: 1px solid #eee; font-size: 13px; }
.wm-mega-modal .wm-mega-head { font-size: 14px; }
/* Мегамодалка «меню в меню»: вложенные уровни */
.wm-mega-nav { margin: 0; }
.wm-mega-nav .wm-mega-nav { margin-left: 12px; border-left: 1px solid #eee; padding-left: 10px; }
.wm-mega-nav > li { margin-bottom: 4px; }
.wm-mega-nav a { color: #333; }
.wm-mega-nav a:hover { color: #1e87f0; }
.wm-mega-subhead { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: #999; margin: 8px 0 4px; }
/* Мега-дропдаун: карточные колонки без зазора, инверсная карточка */
.wm-mega--cards { padding: 0; overflow: hidden; }
.wm-mega-card { padding: 20px; height: 100%; box-sizing: border-box; border-left: 1px solid #eee; }
.wm-mega--cards > div > div:first-child .wm-mega-card,
.wm-mega--cards .uk-first-column .wm-mega-card { border-left: none; }
.wm-mega-card--invert { background: #181b1f; }
.wm-mega-card--invert .wm-mega-head,
.wm-mega-card--invert .wm-mega-head a { color: #d4af37; }
.wm-mega-card--invert a, .wm-mega-card--invert .wm-mega-nav a { color: #e8e8e8; }
.wm-mega-card--invert .wm-mega-nav a:hover { color: #fff; }
.wm-mega-card--invert .wm-mega-subhead { color: #8a8f98; }
.wm-mega-card--invert .wm-mega-foot { border-top-color: #2b3038; }
/* Команда/Авторы: режим «список» — фото уменьшено, строка горизонтальная */
.wm-team-grid.wm-view-list .wm-team-card { display: flex; align-items: center; text-align: left; }
.wm-team-grid.wm-view-list .uk-card-media-top { padding: 12px !important; }
.wm-team-grid.wm-view-list .wm-team-photo { width: 56px; height: 56px; }
/* Тег-каталог: водяные знаки «видео/фото» на превью + живой masonry-грид */
.wm-mark-video .uk-card-media-top, .wm-mark-photo .uk-card-media-top { position: relative; }
.wm-mark-video .uk-card-media-top::after, .wm-mark-photo .uk-card-media-top::after {
    content: ""; position: absolute; inset: 0; margin: auto; width: 64px; height: 64px;
    background: rgba(24,27,31,.55); border-radius: 50%;
    -webkit-mask: var(--wm-ico) center/34px no-repeat, linear-gradient(#000 0 0);
    mask: var(--wm-ico) center/34px no-repeat; mask-composite: exclude;
    -webkit-mask-composite: xor; pointer-events: none;
}
.wm-mark-video .uk-card-media-top::after { --wm-ico: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><polygon points="7,5 15,10 7,15"/></svg>'); }
.wm-mark-photo .uk-card-media-top::after { --wm-ico: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M3 6h3l1.5-2h5L14 6h3v10H3z"/><circle cx="10" cy="11" r="3" fill="black"/></svg>'); }
/* ===== 3.0.25: Компактный фильтр-хедер (поиск + лимит + «сетка/список») ===== */
.wm-filterbar { gap: 8px; }
.wm-filterbar__search { flex: 1 1 auto; min-width: 0; }
.wm-filterbar__search .uk-input { min-width: 0; }
.wm-filterbar__limit .uk-select { width: auto; }
.wm-filterbar__view { flex: 0 0 auto; }
@media (max-width: 639px) {
    /* Максимальное сжатие: инпут 16px (iOS не автозумит), селект и кнопки — иконки */
    .wm-filterbar { gap: 6px; }
.wm-filterbar__search .uk-input { font-size: 16px; height: 34px; padding-left: 32px; }
.wm-filterbar__search .uk-input::placeholder { font-size: 13px; }
.wm-filterbar__limit .uk-select { max-width: 64px; font-size: 13px; height: 34px; }
.wm-filterbar__view .uk-button { padding: 0 8px; line-height: 30px; }
}
/* ===== 3.0.25: Каталог меток — режим «список» ===== */
.wm-cat-grid.wm-cat-listview > div { width: 100% !important; }
.wm-cat-grid.wm-cat-listview .uk-card { display: flex; align-items: center; text-align: left; }
.wm-cat-grid.wm-cat-listview .uk-card-media-top { flex: 0 0 96px; height: 64px !important; }
.wm-cat-grid.wm-cat-listview .uk-card-body { padding: 8px 14px !important; }
/* ===== 3.0.25: mod_articles_categories — навигация с бейджами ===== */
.wm-cat-nav > li > a { padding: 6px 0; color: #333; }
.wm-cat-nav > li > a:hover .uk-text-truncate { color: #1e87f0; }
.wm-cat-nav .uk-nav-sub { padding-left: 14px; border-left: 1px solid #eee; }
/* ===== 3.0.25: мобильная страховка ===== */
/* Фиксированные аватары контактов не должны вылезать за экран */
.com-contact-category img { max-width: 100%; }
/* Таблица тегов: сортировочные ссылки не переносить, скролл уже есть (uk-overflow-auto) */
.wm-tag-tableview th a { white-space: nowrap; }
/* Контент статей: редакторские таблицы и iframe не ломают мобильную вёрстку */
.uk-article table, .item-page table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.uk-article iframe, .item-page iframe, .uk-article video, .item-page video { max-width: 100%; }
/* ===== 4.0.0-hotfix: формы ядра (профиль, пароли) и фронтенд-редактирование ===== */

/* Служебно-скрытые классы Bootstrap/ядра: без них текст «Показать пароль»,
   «Редактировать» и т.п. вылазит в вёрстку */
.visually-hidden, .sr-only,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    position: absolute !important; width: 1px !important; height: 1px !important;
    margin: -1px !important; padding: 0 !important; overflow: hidden !important;
    clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important;
}
/* Статические тултипы ядра (aria-describedby у кнопок фронтенд-редактирования):
   без CSS ядра видны постоянно */
div[role="tooltip"] { display: none; }
/* Кнопка «показать пароль»: не тёмная пилюля, а компактное продолжение инпута;
   глаз — CSS-mask (иконочный шрифт ядра на фронте не грузится) */
.btn.input-password-toggle {
    flex: 0 0 auto; background: #fff; color: #8f959e; border: 1px solid #e5e5e5;
    border-left: 0; padding: 0 14px; line-height: 38px;
}
.btn.input-password-toggle:hover { background: #fff; color: #1e87f0; }
.input-password-toggle .icon-eye,
.input-password-toggle .icon-eye-slash {
    display: inline-block; width: 18px; height: 18px; vertical-align: middle;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9 4.5-10 7 1 2.5 5 7 10 7s9-4.5 10-7c-1-2.5-5-7-10-7zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9zm0-2A2.5 2.5 0 1 0 12 9.5a2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9 4.5-10 7 1 2.5 5 7 10 7s9-4.5 10-7c-1-2.5-5-7-10-7zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9zm0-2A2.5 2.5 0 1 0 12 9.5a2.5 2.5 0 0 0 0 5z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.input-password-toggle .icon-eye-slash {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9 4.5-10 7 1 2.5 5 7 10 7s9-4.5 10-7c-1-2.5-5-7-10-7zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9z'/%3E%3Cpath d='M2 2l20 20' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c-5 0-9 4.5-10 7 1 2.5 5 7 10 7s9-4.5 10-7c-1-2.5-5-7-10-7zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9z'/%3E%3Cpath d='M2 2l20 20' stroke='black' stroke-width='2.4'/%3E%3C/svg%3E");
}
/* Индикатор стойкости пароля ядра */
.progress { height: 6px; margin-top: 6px; background: #eee; border-radius: 3px; overflow: hidden; }
.progress-bar { height: 100%; background: #32d296; transition: width .2s; }
/* Кнопки фронтенд-редактирования модулей/меню: компактный карандаш-кружок,
   полупрозрачный до наведения, не расползается по навбару */
a.btn.jmodedit, a.btn.jedit-button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; padding: 0; margin: 2px; line-height: 1;
    background: #fff; border: 1px solid #e5e5e5; border-radius: 50%;
    opacity: .4; transition: opacity .15s; vertical-align: middle;
}
a.btn.jmodedit:hover, a.btn.jedit-button:hover { opacity: 1; color: #1e87f0; background: #fff; }
.jmodedit .icon-edit, .jedit-button .icon-edit, a.btn .icon-apply {
    display: inline-block; width: 13px; height: 13px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75L3 17.25zM20.7 7a1 1 0 0 0 0-1.4l-2.3-2.3a1 1 0 0 0-1.4 0l-1.8 1.8 3.75 3.75L20.7 7z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75L3 17.25zM20.7 7a1 1 0 0 0 0-1.4l-2.3-2.3a1 1 0 0 0-1.4 0l-1.8 1.8 3.75 3.75L20.7 7z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* ===== Choices.js (селекты ядра: часовой пояс, мультиселекты) — минимальный скин ===== */
.choices { position: relative; }
.choices:focus-within .choices__inner { border-color: #1e87f0; }
.choices__inner {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px;
    min-height: 40px; padding: 4px 14px; background: #fff;
    border: 1px solid #e5e5e5; border-radius: 8px; font-size: .875rem;
}
.choices__list { margin: 0; padding: 0; list-style: none; }
.choices__list--single { display: inline-flex; align-items: center; gap: 6px; padding: 0; }
.choices__list--multiple { display: contents; }
.choices__list--multiple .choices__item {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 2px 10px; background: #222; color: #fff;
    border-radius: 500px; font-size: 12px; line-height: 1.6;
}
.choices__input {
    flex: 1 1 60px; min-width: 60px; border: 0 !important; outline: 0;
    background: transparent; font: inherit; padding: 4px 0; margin: 0;
}
/* Кнопка удаления: текст «Remove item» → аккуратный крестик */
.choices__button_joomla {
    flex: 0 0 auto; width: 16px; height: 16px; padding: 0; border: 0;
    background: transparent; color: inherit; font-size: 0; line-height: 0;
    cursor: pointer; opacity: .65;
}
.choices__button_joomla::before { content: "×"; font-size: 15px; line-height: 16px; display: block; }
.choices__button_joomla:hover { opacity: 1; }
.choices__list--dropdown {
    position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0;
    display: none; background: #fff; border: 1px solid #e5e5e5; border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .08); max-height: 280px; overflow: auto;
}
.choices__list--dropdown.is-active { display: block; }
.choices__item--choice { padding: 7px 14px; cursor: pointer; }
.choices__item--choice.is-highlighted { background: #f5f6f8; }
.choices__heading { padding: 7px 14px 3px; font-size: 11px; text-transform: uppercase; color: #999; }
.choices__placeholder { opacity: .6; }
.choices .is-hidden { display: none !important; }
/* Стрелка у одиночного селекта */
.choices[data-type*="select-one"] .choices__inner { padding-right: 34px; }
.choices[data-type*="select-one"]::after {
    content: ""; position: absolute; right: 16px; top: 50%; width: 7px; height: 7px;
    margin-top: -5px; border-right: 1px solid #999; border-bottom: 1px solid #999;
    transform: rotate(45deg); pointer-events: none;
}
/* Кнопки форм: рядом, с зазором */
.wm-form-actions { gap: 12px; }
/* Карандаш редактирования — глобально для icon-edit (иконочный шрифт ядра
   на фронте не загружен); закрывает и статьи, и модули, и контакты */
.icon-edit {
    display: inline-block; width: 13px; height: 13px; vertical-align: -1px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75L3 17.25zM20.7 7a1 1 0 0 0 0-1.4l-2.3-2.3a1 1 0 0 0-1.4 0l-1.8 1.8 3.75 3.75L20.7 7z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.8 9.94l-3.75-3.75L3 17.25zM20.7 7a1 1 0 0 0 0-1.4l-2.3-2.3a1 1 0 0 0-1.4 0l-1.8 1.8 3.75 3.75L20.7 7z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Кнопка «Редактировать» статьи: компактный чип по правому краю колонки,
   без float (uk-align-right в протухшем оверрайде выталкивал её из колонки) */
.wm-edit-chip { text-align: right; }
.wm-edit-chip a {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 3px 12px; font-size: 12px; color: #8f959e;
    background: #fff; border: 1px solid #e5e5e5; border-radius: 500px;
    text-decoration: none; transition: color .15s, border-color .15s;
}
.wm-edit-chip a:hover { color: #1e87f0; border-color: #1e87f0; }
/* Пагинация статьи «Назад/Далее»: не чёрные пилюли, а лёгкие кнопки
   по краям с шевронами через mask */
.pagenavigation { display: flex; justify-content: space-between; gap: 12px; margin: 28px 0 0; }
.pagenavigation .pagination { display: contents; }
.pagenavigation .btn {
    background: #fff; color: #666; border: 1px solid #e5e5e5;
    display: inline-flex; align-items: center; gap: 6px;
}
.pagenavigation .btn:hover { color: #1e87f0; border-color: #1e87f0; background: #fff; }
.pagenavigation .btn.next { margin-left: auto; }
.icon-chevron-left, .icon-chevron-right {
    display: inline-block; width: 11px; height: 11px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 4.6 8 12l7.4 7.4 1.4-1.4-6-6 6-6z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15.4 4.6 8 12l7.4 7.4 1.4-1.4-6-6 6-6z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.icon-chevron-right { transform: scaleX(-1); }
/* Choices: у одиночного селекта крестик сброса не показываем (для
   «- По умолчанию -» он бессмыслен и налезает на стрелку) */
.choices__list--single .choices__button_joomla { display: none; }
/* Радиус — как у остальных пилюль-инпутов шаблона */
.choices__inner { border-radius: 500px; padding-left: 18px; }
.choices__list--dropdown { border-radius: 14px; }
/* ===== Подпись картинки — оверлей в правом нижнем углу самого фото ===== */
.wm-figure { display: inline-block; position: relative; max-width: 100%; line-height: 0; }
.wm-figcaption-overlay {
    position: absolute; right: 10px; bottom: 10px; margin: 0;
    max-width: calc(100% - 20px); padding: 3px 11px;
    font-size: 11px; line-height: 1.6; color: #fff;
    background: rgba(20, 23, 26, .58); border-radius: 500px;
    backdrop-filter: blur(2px); white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis;
}
.wm-figcaption-overlay .uk-icon { color: #fff; vertical-align: -2px; margin-right: 4px; }
/* «Выключить редактор» TinyMCE: не чёрная пилюля, а лёгкая кнопка */
.toggle-editor .btn, .js-tiny-toggler-button, button[class*="toggler-button"] {
    background: #fff; color: #8f959e; border: 1px solid #e5e5e5;
    font-size: 12px; line-height: 26px; padding: 0 12px;
}
.toggle-editor .btn:hover, .js-tiny-toggler-button:hover { color: #1e87f0; background: #fff; }
.toggle-editor { margin-top: 6px; }
/* Кнопка календаря у полей дат: не синяя глыба, а продолжение инпута с иконкой */
.field-calendar .btn, .field-calendar .btn-primary {
    background: #fff; color: #8f959e; border: 1px solid #e5e5e5; border-left: 0;
    padding: 0 12px; line-height: 38px;
}
.field-calendar .btn:hover { background: #fff; color: #1e87f0; }
.icon-calendar, .icon-calendar-alt {
    display: inline-block; width: 15px; height: 15px; vertical-align: -2px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 1v3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V1h-2v3H9V1H7zm-2 8h14v11H5V9z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 1v3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V1h-2v3H9V1H7zm-2 8h14v11H5V9z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Choices: шеврон рамками рендерился «слэшем» — заменяем на mask-стрелку */
.choices[data-type*="select-one"]::after {
    border: 0; width: 12px; height: 12px; margin-top: -6px; right: 16px;
    transform: none; background: #8f959e;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.6 8.6 12 16l7.4-7.4L18 7.2l-6 6-6-6z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.6 8.6 12 16l7.4-7.4L18 7.2l-6 6-6-6z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* Кнопки фронтенд-редактирования в футере: прижаты к правому верхнему углу
   своей колонки, почти невидимы до наведения — не ломают колонку меню */
#footer .uk-grid > div, #footer [class*="uk-width"] { position: relative; }
#footer a.btn.jmodedit {
    position: absolute; top: 0; right: 0; margin: 0;
    width: 20px; height: 20px; opacity: .18;
    background: rgba(255, 255, 255, .12); border-color: transparent; color: #fff;
}
#footer a.btn.jmodedit:hover { opacity: 1; color: #fff; }
/* Сообщения, дорисованные скриптом ядра (Joomla.renderMessages → joomla-alert):
   минимальный скин в тон uk-alert, чтобы ajax-алерты не были голым бутстрапом */
joomla-alert {
    display: block; position: relative; margin-bottom: 20px;
    padding: 15px 44px 15px 18px; background: #f8f8f8; border-radius: 8px;
    border-left: 3px solid #1e87f0; font-size: .875rem;
}
joomla-alert[type="success"] { border-left-color: #32d296; background: #edfbf6; }
joomla-alert[type="warning"] { border-left-color: #faa05a; background: #fef5ee; }
joomla-alert[type="danger"]  { border-left-color: #f0506e; background: #fef4f6; }
joomla-alert .joomla-alert--close, joomla-alert .btn-close {
    position: absolute; top: 10px; right: 12px; width: 22px; height: 22px;
    padding: 0; border: 0; background: transparent; color: inherit;
    font-size: 18px; line-height: 22px; opacity: .5; cursor: pointer;
}
joomla-alert .joomla-alert--close:hover, joomla-alert .btn-close:hover { opacity: 1; }
#system-message-container .uk-alert { margin-top: 0; }
/* Индикатор стойкости пароля: ядро вставляет его всегда — пустой серый
   обрубок под полем. Показываем только при вводе (поле в фокусе),
   на полную ширину; в браузерах без :has() просто скрыт */
.password-group .progress, .password-group meter { display: none; width: 100%; }
.password-group:has(input:focus) .progress,
.password-group:has(input:focus) meter { display: block; }
.uk-offcanvas-bar.bg-dark-nav .uk-divider-small {
    border-color: rgba(212, 147, 0, 0.45);
    margin-left: auto;
    margin-right: auto;
}
/* ---------- Кнопка «Наверх» (uk-totop из index.php) — в золото бренда ---------- */
.uk-totop { color: var(--gold-brand); }
.uk-totop:hover, .uk-totop:focus-visible { color: var(--rust); }
/* ---------- Пагинация Joomla (оверрайд wmarka) в ромбической айдентике:
   активная страница — золотой ромб, как tm-пагинация прототипа ---------- */
.uk-pagination > .uk-active > * {
    color: var(--gold-deep);
    font-weight: 700;
}
/* ---------- Системные сообщения Joomla (#system-message-container)
   в палитре бренда ---------- */
#system-message-container .alert,
#system-message-container joomla-alert {
    border-left: 3px solid var(--gold-brand);
}
#breadcrumb .uk-breadcrumb > * > * { color: var(--tm-text-muted); }
#breadcrumb .uk-breadcrumb > :last-child > * { color: var(--tm-text-main); }
/* ---------- Компенсация якорной прокрутки под фактическую высоту
   Joomla-навбара (в tamgard.css зашито 104px от более высокой шапки
   прототипа; здесь навбар 86px — иначе между кромкой меню и секцией
   остаётся полоса фона). При изменении высоты шапки (логотип, паддинги)
   скорректировать одно число: высота = top дропдауна мегаменю в DevTools. ---------- */
/* ЕДИНСТВЕННЫЙ источник компенсации — scroll-padding-top на html.
   scroll-margin у целей ОБНУЛЁН явно (в tamgard.css зашито 104px, а
   padding и margin по спецификации СУММИРУЮТСЯ — дубль давал лишний
   отступ ровно в высоту навбара под его кромкой). */
html { scroll-padding-top: var(--wm-anchor); }
section[id], [id]:target { scroll-margin-top: 0; }

/* ---------- Премиальный пак служебных элементов ---------- */

/* Пагинация списков: квадратные ячейки, моно-цифры, активная — тёмная с золотом */
.wmarka-pagination .uk-pagination { gap: 6px; }
/* Канонический маркап оверрайда wmarka (li > a|span + meta микроразметки):
   стилизуем только звенья, meta не трогаем */
.wmarka-pagination .uk-pagination > * > :is(a, span) {
    min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--tm-border); background: var(--white-bg);
    font-family: var(--tm-mono); font-size: 13px; letter-spacing: .06em; color: var(--tm-text-main);
    transition: border-color .25s ease, background .25s ease, color .25s ease;
}
.wmarka-pagination .uk-pagination > * > a:hover { border-color: var(--gold-brand); color: var(--gold-deep); }
.wmarka-pagination .uk-pagination > .uk-active > span {
    background: var(--dark-primary); border-color: var(--gold-brand); color: var(--gold-pale); font-weight: 700;
}
.wmarka-pagination .uk-pagination > .uk-disabled > span { opacity: .35; }
/* Счётчик «Страница N из M» */
.uk-text-meta { font-family: var(--tm-mono); font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--tm-text-muted); }
/* Постраничная навигация статьи (плагин pagenavigation) */
.pagenavigation { border-top: 1px solid var(--tm-border); padding-top: 22px; margin-top: 34px; }
.pagenavigation a, .pagenavigation .btn {
    border: 1px solid var(--tm-border) !important; background: transparent !important; border-radius: 0 !important;
    font-family: var(--tm-mono) !important; font-size: 11.5px !important; letter-spacing: .16em; text-transform: uppercase;
    color: var(--tm-text-main) !important; padding: 12px 22px !important;
    transition: border-color .25s ease, color .25s ease, background .25s ease;
}
.pagenavigation a:hover { border-color: var(--gold-brand) !important; color: var(--gold-deep) !important; background: var(--gold-light) !important; }
/* ---------- Страница поиска (com_finder, TAMGARD-редакция) ---------- */
.wm-fnd-input { border-radius: 0; height: 52px; border-color: var(--tm-border); }
.wm-fnd-input:focus { border-color: var(--gold-brand); }
.wm-fnd-submit {
    border-radius: 0; height: 52px; background: var(--gold-brand); color: var(--dark-primary);
    font-family: var(--tm-mono); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
.wm-fnd-submit:hover { background: var(--gold-deep); color: #fff; }
.wm-fnd-adv { border-radius: 0; height: 52px; border: 1px solid var(--tm-border); }
.wm-fnd-adv:hover { border-color: var(--gold-brand); color: var(--gold-deep); }
.wm-fnd-advcard { border: 1px solid var(--tm-border); border-radius: 0; }
.wm-finder-thumb { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.wm-finder-desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wm-fnd-tag {
    display: inline-block; margin: 0 6px 6px 0; padding: 3px 10px;
    border: 1px solid var(--gold-brand); color: var(--gold-deep); background: transparent;
    font-family: var(--tm-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase;
}
.wm-fnd-empty { border: 1px dashed var(--tm-border); border-radius: 0; padding: 48px 24px; }
.com-finder__sorting .uk-button { border-radius: 0; font-family: var(--tm-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.com-finder__results-list > li { border-color: var(--tm-border) !important; }
.com-finder__results-list h3 a:hover { color: var(--gold-deep); }
/* Пагинация поиска: центр, воздух, счётчик в моно-капс под строкой */
.com-finder__navigation { border-top: 1px solid var(--tm-border); padding-top: 28px; }
.com-finder__pagination .uk-pagination { justify-content: center; margin-bottom: 0; }
.com-finder__counter { letter-spacing: .14em; }
@media (max-width: 639px) {
    .com-finder__pagination .uk-pagination { flex-wrap: wrap; row-gap: 6px; }
}

/* ============================================================
   Структурная база для tm-хуков шаблона.
   Нейтральные правила без фирменных цветов: разметка оверрайдов
   не «рассыпается» на чистом UIkit. Фирменный слой сайта
   переопределяет их своим CSS.
   ============================================================ */
.tm-page-hero{padding:40px 0}
.tm-kicker{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.tm-breadcrumb{margin-bottom:12px}
.tm-article-body{max-width:46rem}
.tm-jr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.tm-jr-card{display:flex;flex-direction:column;gap:8px}
.tm-jr-shot{aspect-ratio:16/10;overflow:hidden}
.tm-jr-shot img{width:100%;height:100%;object-fit:cover;display:block}
.tm-jr-chip{display:inline-block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border:1px solid currentColor;opacity:.8}
.tm-jr-empty{padding:32px 0;opacity:.7}
.tm-icon-circle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid currentColor}
.tm-mega{padding:24px 0}
.tm-mega-head{font-weight:700;margin-bottom:8px}
.tm-menu-modal{padding:32px 0}
.tm-offcanvas-link{display:block;padding:8px 0}
