﻿/* ============================================================
   PRORACING — Inspiration Design v7 (§12 сверена с шаблонами)
   Файл: site/themes/inspiration/theme.custom.css (заменить целиком)

   Новое в v7:
   - §12 переписана под РЕАЛЬНЫЕ классы темы (cart.html, checkout*.html,
     product.cart.html, product.gallery.html, products.list.1.html,
     search.html, category.filter.html, filter.selected.html,
     sidebar.html, offcanvas.html, service.html, header.3.html).
   - Удалены «мёртвые» селекторы v6: table.cart, .cart-totals, .coupon,
     form.purchase, .product-cart, .product-gallery, .uk-thumbnav,
     .uk-filters, .filter-selected, .tm-search-page, .tm-checkout-page,
     .checkout-summary, .uk-modal-header/.uk-modal-footer, .pr-sticky-cta.

   Из v6:
   0. Единая шкала отступов --pr-s1..--pr-s7 (4/8/12/16/24/32/48).
   1. Единый вертикальный ритм секций (--pr-gap-section).
   2. Багфикс чипсов подменю: site → .tm-page-subnav,
      shop → .tm-page-pages (поддержаны оба).

   Исправлено в v5 (баги v4, найденные по файлам темы):
   1. Двойная темная полоса: средний бар и липкий бар стоят
      друг под другом (header.3) — теперь это единый темный блок
      с одной красной линией снизу и тонким разделителем внутри
   2. Подменю страниц: класс в page.html — .tm-page-pages,
      а не .tm-page-subnav (чипсы не работали)
   3. .uk-panel-box: в main.html им обернут ВЕСЬ контент каждой
      страницы — рамка теперь только у боксов сайдбара
   4. Тень липкого мобильного бара (data-uk-sticky на моб. баре)
   5. Спойлер описания категории: кнопка и градиент затухания
   6. Разделители позиций в корзине-дропдауне/офканвасе
   ============================================================ */


/* ------------------------------------------------------------
   0. Переменные
   ------------------------------------------------------------ */
   :root {
    --pr-accent: #ed1e24;
    --pr-accent-dark: #c4151a;
    --pr-accent-soft: rgba(237, 30, 36, 0.08);
    --pr-ink: #1d1d1f;
    --pr-ink-2: #161618;
    --pr-muted: #6b6b6f;
    --pr-bg-soft: #f6f6f7;
    --pr-border: #e6e6e8;
    --pr-radius: 6px;
    --pr-radius-lg: 12px;
    --pr-shadow: 0 8px 24px rgba(0, 0, 0, 0.09);
    --pr-shadow-lg: 0 14px 36px rgba(0, 0, 0, 0.13);

    /* v6: единая шкала отступов. Все margin/padding/gap в файле
       приведены к ней (4 / 8 / 12 / 16 / 24 / 32 / 48). */
    --pr-s1: 4px;
    --pr-s2: 8px;
    --pr-s3: 12px;
    --pr-s4: 16px;
    --pr-s5: 24px;
    --pr-s6: 32px;
    --pr-s7: 48px;

    /* Вертикальный ритм между секциями страницы */
    --pr-gap-section: 32px;
    --pr-gap-card: 16px;
  }

  @media (max-width: 639px) {
    :root {
      --pr-gap-section: 24px;
      --pr-gap-card: 12px;
    }
  }
  
  
  /* ------------------------------------------------------------
     1. Типографика и базовые элементы
     ------------------------------------------------------------ */
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  body { color: var(--pr-ink); }
  
  h1, h2, h3, h4,
  .uk-h1, .uk-h2, .uk-h3, .uk-h4 {
    color: var(--pr-ink);
    letter-spacing: -0.01em;
    line-height: 1.25;
  }
  h1, .uk-h1, h2, .uk-h2 { font-weight: 700; }
  h3, .uk-h3 { font-weight: 600; }
  
  .tm-page-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
  }
  .tm-category-page-title { margin-bottom: var(--pr-s5); }
  .tm-product-page-title { font-size: 28px; line-height: 1.25; }
  
  a { transition: color 0.15s ease; }
  ::selection { background: var(--pr-accent-soft); color: var(--pr-ink); }
  hr, .uk-hr { border-top-color: var(--pr-border); }
  
  /* Боксы ТОЛЬКО в сайдбаре. В main.html классом .uk-panel-box
     обернут весь контент страницы — там рамка не нужна. */
  .uk-sidebar .uk-panel-box {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
  }
  main.content > .uk-panel-box {
    border: none;
    box-shadow: none;
  }
  
  
  /* ------------------------------------------------------------
     2. Кнопки, бейджи, формы, поиск
     ------------------------------------------------------------ */
  .uk-button {
    border-radius: var(--pr-radius);
    font-weight: 600;
    text-transform: none;
    transition: background-color 0.15s ease, border-color 0.15s ease,
                color 0.15s ease, box-shadow 0.15s ease;
  }
  
  .uk-button-primary {
    background-color: var(--pr-accent);
    border-color: var(--pr-accent);
    color: #fff;
  }
  .uk-button-primary:hover,
  .uk-button-primary:focus {
    background-color: var(--pr-accent-dark);
    border-color: var(--pr-accent-dark);
    color: #fff;
  }
  .uk-button-primary:active { background-color: #a91116; }
  
  .uk-button-secondary { background-color: var(--pr-ink); color: #fff; }
  .uk-button-secondary:hover,
  .uk-button-secondary:focus { background-color: #000; color: #fff; }
  
  .uk-button-default {
    background-color: #fff;
    border: 1px solid var(--pr-border);
    color: var(--pr-ink);
  }
  .uk-button-default:hover,
  .uk-button-default:focus {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
    background-color: #fff;
  }
  
  .uk-button-danger { background-color: var(--pr-accent); }
  .uk-button-danger:hover,
  .uk-button-danger:focus { background-color: var(--pr-accent-dark); }
  
  .uk-button-text { color: var(--pr-ink); }
  .uk-button-text:hover { color: var(--pr-accent); }
  
  .uk-lazyload-toggle .uk-button { min-width: 220px; }
  
  .uk-badge {
    background-color: var(--pr-accent);
    font-weight: 600;
    border-radius: 4px;
  }
  .uk-label { border-radius: 4px; text-transform: none; font-weight: 600; }
  .uk-label-danger { background-color: var(--pr-accent); }
  
  .uk-input,
  .uk-select,
  .uk-textarea {
    border-radius: var(--pr-radius);
    border-color: var(--pr-border);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .uk-input:focus,
  .uk-select:focus,
  .uk-textarea:focus {
    border-color: var(--pr-accent);
    box-shadow: 0 0 0 3px var(--pr-accent-soft);
  }
  .uk-checkbox:checked,
  .uk-checkbox:indeterminate,
  .uk-radio:checked {
    background-color: var(--pr-accent);
    border-color: var(--pr-accent);
  }
  
  .uk-search-default .uk-search-input {
    border-radius: var(--pr-radius);
    border-color: var(--pr-border);
    background: #fff;
  }
  .uk-search-default .uk-search-input:focus { border-color: var(--pr-accent); }
  .uk-search-icon { color: var(--pr-muted); }
  
  
  /* ------------------------------------------------------------
     3. Шапка (header.3.html)
     Верх — белый. Лента категорий — тёмная полоса, липкая при
     скролле. Нижний бар — поиск/телефон (без дубля категорий).
     ------------------------------------------------------------ */
  
  /* 3.1 Верхний бар: логотип + страницы + телефон + иконки */
  .uk-bar-container.uk-bar-overlay-light {
    background: #fff;
    border-bottom: 1px solid var(--pr-border);
  }
  
  /* 3.2 Лента категорий — всегда видна; при скролле липнет через CSS sticky */
  .globalheader .uk-visible\@m > .uk-bar-container.uk-bar-middle,
  .uk-bar-container.uk-bar-middle {
    position: sticky;
    top: 0;
    z-index: 982;
    background: var(--pr-ink);
    border-bottom: 3px solid var(--pr-accent);
  }
  .uk-bar-middle .uk-bar-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .uk-bar-middle .uk-bar-nav > li {
    flex: 1 1 auto;
    min-width: 0;
  }
  /* На всякий случай: троеточие menu-more больше не используем */
  .uk-bar-middle .uk-menu-more,
  .uk-bar-middle [data-uk-menu-more] > .uk-menu-more {
    display: none !important;
  }
  
  /* 3.3 Липкий бар — компактная полоса при скролле (категории в §3.2).
     Без height:0 — ломало UIkit. До .uk-active контент скрывает theme.css. */
  .uk-bar-container.uk-bar-sticky:not(.uk-active):not(.uk-sticky-fixed) {
    max-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
    pointer-events: none;
  }
  .uk-bar-container.uk-bar-sticky.uk-sticky-fixed,
  .uk-bar-container.uk-bar-sticky.uk-active {
    background: var(--pr-ink);
    border-bottom: 3px solid var(--pr-accent);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.25);
    overflow: hidden;
  }
  /* Липкий бар низкий: WA/TG чипы вылезали за красную линию — прячем, телефон оставляем */
  .uk-bar-sticky .uk-contact-note {
    display: none !important;
  }
  .uk-bar-sticky .uk-phone {
    margin: 0 !important;
  }
  .uk-bar-sticky .uk-bar {
    min-height: 48px;
    align-items: center !important;
  }
  .uk-bar-sticky .ya-phone-1,
  .uk-bar-sticky .ya-phone-2 {
    line-height: 1.2;
  }
  
  /* Поиск на темном липком баре */
  .uk-bar-sticky .uk-search-default .uk-search-input {
    background: rgba(255, 255, 255, 0.1);
    border-color: transparent;
    color: #fff;
  }
  .uk-bar-sticky .uk-search-default .uk-search-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
  }
  .uk-bar-sticky .uk-search-default .uk-search-input:focus {
    background: #fff;
    color: var(--pr-ink);
  }
  .uk-bar-sticky .uk-search-icon { color: rgba(255, 255, 255, 0.7); }
  
  /* 3.4 Мобильный верхний бар (тоже липкий — data-uk-sticky) */
  .uk-hidden\@m .uk-bar-container.uk-bar-top {
    background: #fff;
    border-bottom: 1px solid var(--pr-border);
  }
  .uk-hidden\@m .uk-bar-container.uk-bar-top.uk-sticky-fixed,
  .uk-hidden\@m .uk-bar-container.uk-bar-top.uk-active {
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.1);
  }
  
  /* 3.5 Меню .uk-bar-nav — компактно, как на «Покраске» */
  .uk-bar-nav > li > a {
    position: relative;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    background: transparent !important;
    transition: color 0.15s ease, background-color 0.15s ease;
  }
  .uk-bar-middle .uk-bar-nav > li > a,
  .uk-bar-sticky .uk-bar-nav > li > a {
    color: rgba(255, 255, 255, 0.92);
    padding: 0 10px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* Подчёркивание только у активного пункта — без hover-линий */
  .uk-bar-nav > li > a::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 0;
    height: 2px;
    background: var(--pr-accent);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.18s ease;
    pointer-events: none;
  }
  .uk-bar-nav > li.uk-active > a::after {
    transform: scaleX(1);
  }
  
  /* Меню на белом верхнем баре */
  .uk-bar-overlay-light .uk-bar-nav > li > a {
    color: var(--pr-ink);
    text-transform: none;
    font-size: 14px;
  }
  .uk-bar-overlay-light .uk-bar-nav > li:hover > a,
  .uk-bar-overlay-light .uk-bar-nav > li.uk-active > a,
  .uk-bar-overlay-light .uk-bar-nav > li.uk-open > a {
    color: var(--pr-accent);
    background: transparent !important;
  }
  
  /* Hover/active на тёмных барах — без серых «плашек» темы */
  .uk-bar-middle .uk-bar-nav > li:hover > a,
  .uk-bar-middle .uk-bar-nav > li.uk-open > a,
  .uk-bar-sticky .uk-bar-nav > li:hover > a,
  .uk-bar-sticky .uk-bar-nav > li.uk-open > a {
    color: #fff;
    background: transparent !important;
  }
  .uk-bar-middle .uk-bar-nav > li.uk-active > a,
  .uk-bar-sticky .uk-bar-nav > li.uk-active > a {
    color: #fff;
    background: rgba(255, 255, 255, 0.06) !important;
  }
  .uk-bar-middle a { color: rgba(255, 255, 255, 0.92); }
  .uk-bar-middle a:hover,
  .uk-bar-sticky a:hover { color: #fff; }
  
  /* 3.6 «МАРКИ И МОДЕЛИ» — красная пилюля */
  .uk-bar-nav > li.brach-id-170608 > a,
  .uk-bar-nav.uk-categories > li > a[href*="/brend"] {
    background: var(--pr-accent) !important;
    color: #fff !important;
    border-radius: 4px;
    margin: 4px 2px;
    padding: 0 12px;
    min-height: 34px;
    align-self: center;
    flex: 0 0 auto;
  }
  .uk-bar-nav > li.brach-id-170608 > a::after,
  .uk-bar-nav.uk-categories > li > a[href*="/brend"]::after { display: none; }
  .uk-bar-nav > li.brach-id-170608:hover > a,
  .uk-bar-nav > li.brach-id-170608.uk-open > a,
  .uk-bar-nav.uk-categories > li:hover > a[href*="/brend"],
  .uk-bar-nav.uk-categories > li.uk-open > a[href*="/brend"] {
    background: var(--pr-accent-dark) !important;
  }
  .uk-bar-middle .uk-bar-nav > li.brach-id-170608,
  .uk-bar-middle .uk-bar-nav.uk-categories > li:has(> a[href*="/brend"]) {
    flex: 0 0 auto;
  }
  
  /* Кнопка «Марки и модели», если добавят вручную */
  .pr-brands-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--pr-accent);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    padding: 8px 16px;
    border-radius: 4px;
    transition: background 0.15s ease;
  }
  .pr-brands-btn:hover { background: var(--pr-accent-dark); }
  
  /* 3.7 Телефоны */
  .ya-phone-1,
  .ya-phone-2 {
    font-weight: 700;
    white-space: nowrap;
    color: var(--pr-ink);
  }
  .uk-bar-overlay-light .ya-phone-1 { font-size: 20px; }
  .ya-phone-1:hover,
  .ya-phone-1 a:hover,
  .ya-phone-2:hover,
  .ya-phone-2 a:hover {
    color: var(--pr-accent) !important;
    text-decoration: none;
  }
  
  /* Телефон на темном липком баре */
  .uk-bar-sticky .ya-phone-1,
  .uk-bar-sticky .ya-phone-2 { color: #fff; font-size: 16px; }
  .uk-bar-sticky .ya-phone-1:hover,
  .uk-bar-sticky .ya-phone-1 a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
  }
  
  /* 3.8 Иконки: корзина, поиск, избранное, сравнение */
  .uk-icon-button { transition: background-color 0.15s ease, color 0.15s ease; }
  .uk-icon-button:hover,
  .uk-icon-button.uk-active { color: var(--pr-accent); }
  
  /* Иконки и ссылки на темных барах */
  .uk-bar-middle .uk-icon-button,
  .uk-bar-sticky .uk-icon-button {
    color: rgba(255, 255, 255, 0.85);
  }
  .uk-bar-middle .uk-icon-button:hover,
  .uk-bar-sticky .uk-icon-button:hover { color: #fff; }
  
  
  /* ------------------------------------------------------------
     4. Дропдауны, dropbar (мега-меню wmimageincat), офканвас, корзина
     ------------------------------------------------------------ */
  .uk-dropdown,
  .uk-navbar-dropdown {
    border-radius: var(--pr-radius);
    border: 1px solid var(--pr-border);
    box-shadow: var(--pr-shadow-lg);
  }
  .uk-dropdown-nav > li > a,
  .uk-navbar-dropdown-nav > li > a {
    color: var(--pr-ink);
    padding: 4px 0;
  }
  .uk-dropdown-nav > li > a:hover,
  .uk-dropdown-nav > li.uk-active > a,
  .uk-navbar-dropdown-nav > li > a:hover,
  .uk-navbar-dropdown-nav > li.uk-active > a {
    color: var(--pr-accent);
  }
  /* Подуровни в дропдаунах (.uk-parent) */
  .uk-dropdown-nav .uk-parent > a::after { color: var(--pr-muted); }
  .uk-dropdown-nav .uk-nav-sub a { color: var(--pr-muted); }
  .uk-dropdown-nav .uk-nav-sub a:hover { color: var(--pr-accent); }
  
  /* Dropbar — полноширинное мега-меню категорий */
  .uk-dropbar {
    border-bottom: 3px solid var(--pr-accent);
    box-shadow: var(--pr-shadow);
  }
  .uk-dropbar a { color: var(--pr-ink); }
  .uk-dropbar a:hover { color: var(--pr-accent); }
  .uk-dropbar .uk-nav-header,
  .uk-dropbar .uk-nav > li.uk-parent > a {
    font-weight: 700;
    color: var(--pr-ink);
    text-transform: none;
  }
  /* Картинки категорий из плагина wmimageincat */
  .uk-dropbar img { border-radius: var(--pr-radius); }
  
  /* Офканвас: меню, фильтры, корзина */
  .uk-offcanvas-bar .uk-nav > li > a { padding: 12px 0; font-size: 15px; }
  .uk-offcanvas-bar .uk-nav-sub a { padding: 8px 0; }
  .uk-offcanvas-bar .uk-nav > li.uk-active > a { color: var(--pr-accent); }
  
  /* Корзина-дропдаун и офканвас-корзина */
  .uk-cart-item + .uk-cart-item {
    border-top: 1px solid var(--pr-border);
    padding-top: 12px;
  }
  .uk-cart-item-name { font-weight: 600; }
  .uk-cart-item-name:hover { color: var(--pr-accent); }
  .uk-cart-item-delete { color: var(--pr-muted); }
  .uk-cart-item-delete:hover { color: var(--pr-accent); }
  .uk-cart .cart-total,
  .uk-offcanvas-bar .cart-total { font-size: 17px; }
  
  .uk-accordion-title { font-weight: 600; color: var(--pr-ink); }
  .uk-accordion-title:hover { color: var(--pr-accent); }
  
  
  /* ------------------------------------------------------------
     5. Крошки, пагинация, подменю, табы, алерты
     ------------------------------------------------------------ */
  .uk-breadcrumb { font-size: 13px; }
  .uk-breadcrumb > * > * { color: var(--pr-muted); }
  .uk-breadcrumb > * > a:hover { color: var(--pr-accent); text-decoration: none; }
  .uk-breadcrumb > :last-child > * { color: var(--pr-ink); }
  
  .uk-pagination > * > * {
    border-radius: 4px;
    padding: 4px 12px;
    color: var(--pr-ink);
    transition: background-color 0.15s ease, color 0.15s ease;
  }
  .uk-pagination > * > a:hover { background: var(--pr-bg-soft); color: var(--pr-accent); }
  .uk-pagination > .uk-active > * { background: var(--pr-accent); color: #fff; }
  
  /* Подменю дочерних страниц (page.html: класс .tm-page-pages) — чипсы */
  /* v6: в page.html (site) класс называется .tm-page-subnav — держим оба */
  .tm-page-pages.uk-subnav,
  .tm-page-subnav.uk-subnav { margin-bottom: var(--pr-s5); }
  .tm-page-pages.uk-subnav > li > a,
  .tm-page-subnav.uk-subnav > li > a {
    border: 1px solid var(--pr-border);
    border-radius: 100px;
    padding: 8px 16px;
    font-size: 14px;
    color: var(--pr-ink);
    text-transform: none;
    transition: all 0.15s ease;
  }
  .tm-page-pages.uk-subnav > li > a:hover,
  .tm-page-subnav.uk-subnav > li > a:hover {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
  }
  
  /* Активный пункт любых subnav (сортировка товаров и т.п.) */
  .uk-subnav > .uk-active > a { color: var(--pr-accent); }
  
  .uk-tab > * > a {
    color: var(--pr-muted);
    text-transform: none;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  .uk-tab > * > a:hover { color: var(--pr-ink); }
  .uk-tab > .uk-active > a { color: var(--pr-ink); border-color: var(--pr-accent); }
  
  .uk-alert-danger {
    background: var(--pr-accent-soft);
    color: var(--pr-accent-dark);
    border-radius: var(--pr-radius);
  }
  
  
  /* ------------------------------------------------------------
     6. Каталог и товар
     ------------------------------------------------------------ */
  .uk-card-default {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    box-shadow: none;
    transition: box-shadow 0.18s ease, transform 0.18s ease,
                border-color 0.18s ease;
  }
  .uk-card-default.uk-card-hover:hover,
  .uk-products .uk-card-default:hover {
    border-color: transparent;
    box-shadow: var(--pr-shadow);
    transform: translateY(-2px);
  }
  .uk-card-default .uk-card-title { font-size: 17px; line-height: 1.35; }
  
  .uk-product-name { color: var(--pr-ink); }
  a.uk-product-name:hover,
  a:hover .uk-product-name { color: var(--pr-accent); text-decoration: none; }
  
  .price { font-weight: 700; color: var(--pr-ink); white-space: nowrap; }
  .compare-at-price,
  del.price { font-weight: 400; color: var(--pr-muted); }
  
  .tm-product-page .price { font-size: 26px; font-weight: 800; }
  .tm-product-page .compare-at-price { font-size: 17px; }
  .uk-product-unavailable .price { color: var(--pr-muted); }
  
  .rating { color: var(--pr-accent); }
  .uk-product-favorite.uk-active,
  .uk-product-compare.uk-active { color: var(--pr-accent); }
  
  .tm-category-page-description { color: var(--pr-ink); line-height: 1.65; }
  .tm-category-page-banner img { border-radius: var(--pr-radius); }
  
  /* Спойлер описания категории: красная кнопка «показать/скрыть»
     и мягкое затухание текста вместо резкого обреза */
  .tm-category-page-description .uk-overlay-default {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 70%);
    width: 100%;
    text-align: right;
    padding-top: 32px;
  }
  .uk-spoiler-toggle.uk-button-link {
    color: var(--pr-accent);
    font-weight: 600;
    text-decoration: none;
  }
  .uk-spoiler-toggle.uk-button-link:hover {
    color: var(--pr-accent-dark);
    text-decoration: underline;
  }
  
  .uk-dotnav > .uk-active > * {
    background-color: var(--pr-accent);
    border-color: var(--pr-accent);
  }
  .uk-slidenav:hover { color: #fff; }
  
  .uk-button-feature.uk-active,
  .uk-button-color.uk-active {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
  }

  /* ------------------------------------------------------------
     6.1 Страница «Марки и модели» (/brend/) — сетка брендов
     Карточки (viewmode 5) — только ПК ≥960; мобилка → M-CAT
     ------------------------------------------------------------ */
  .pr-brands-page {
    background: var(--pr-bg-soft);
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    padding: 32px 24px 32px;
  }
  .pr-brands-page .tm-category-page-title {
    margin-bottom: 8px;
    font-size: clamp(26px, 3vw, 34px);
  }
  .pr-brands-intro {
    max-width: 560px;
    margin: 0 auto 24px;
    color: var(--pr-muted);
    font-size: 16px;
    line-height: 1.55;
  }
  .pr-brands-page .tm-category-page-categories {
    margin-top: 0;
  }
  @media (min-width: 960px) {
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
      display: flex !important;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      height: auto;
      min-height: 148px;
      margin: 0;
      padding: 22px 14px 18px;
      background: #fff;
      border: 1px solid var(--pr-border);
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 1px 2px rgba(23, 26, 34, 0.04);
      transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
    }
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--pr-accent);
      transform: scaleX(0.16);
      transform-origin: left;
      transition: transform 0.22s ease;
    }
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover {
      transform: translateY(-4px);
      border-color: transparent;
      box-shadow: var(--pr-shadow-lg);
    }
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover::before {
      transform: scaleX(1);
    }
    .pr-brands-page .tm-category-page-categories .uk-width-1-3,
    .pr-brands-page .tm-category-page-categories .uk-width-2-3 {
      width: 100% !important;
      max-width: 100%;
      padding: 0;
    }
    .pr-brands-page .tm-category-page-categories .uk-width-1-3:has(> img[src*="dummy"]) {
      display: none !important;
    }
    .pr-brands-page .tm-category-page-categories img {
      display: block;
      width: auto;
      max-width: 100%;
      height: auto;
      max-height: 64px;
      margin: 0 auto 12px;
      object-fit: contain;
      filter: grayscale(0.2);
      opacity: 0.92;
      transition: filter 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
    }
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover img {
      filter: grayscale(0);
      opacity: 1;
      transform: scale(1.04);
    }
    .pr-brands-page .tm-category-page-categories a.uk-text-bold {
      position: static;
      color: var(--pr-ink) !important;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.01em;
      text-decoration: none !important;
      transition: color 0.15s ease;
    }
    .pr-brands-page .tm-category-page-categories a.uk-text-bold::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
    }
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
      color: var(--pr-accent) !important;
    }
  }

  /* ------------------------------------------------------------
     6.2 Подкатегории марок (/bmw/moto/, /honda/atv/…) — те же карточки
     ------------------------------------------------------------ */
  .pr-catalog-page {
    background: var(--pr-bg-soft);
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    padding: 24px 24px 32px;
  }
  .pr-catalog-page .tm-category-page-title {
    margin-bottom: 24px;
    font-size: clamp(24px, 2.8vw, 32px);
  }
  @media (min-width: 960px) {
    .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
      display: flex !important;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      position: relative;
      margin: 0;
      padding: 22px 16px 18px;
      background: #fff;
      border: 1px solid var(--pr-border);
      border-radius: 12px;
      min-height: 96px;
      height: auto;
      box-shadow: 0 1px 2px rgba(23, 26, 34, 0.04);
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    }
    .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover {
      transform: translateY(-4px);
      border-color: transparent;
      box-shadow: var(--pr-shadow-lg);
    }
    .pr-catalog-page .tm-category-page-categories .uk-width-1-3,
    .pr-catalog-page .tm-category-page-categories .uk-width-2-3 {
      width: 100% !important;
      max-width: 100%;
      padding: 0;
    }
    .pr-catalog-page .tm-category-page-categories .uk-width-1-3:has(> img[src*="dummy"]) {
      display: none !important;
    }
    .pr-catalog-page .tm-category-page-categories img {
      display: block;
      width: auto;
      max-width: 100%;
      height: auto;
      max-height: 64px;
      margin: 0 auto 12px;
      object-fit: contain;
    }
    .pr-catalog-page .tm-category-page-categories a.uk-text-bold {
      color: var(--pr-ink) !important;
      font-size: 15px;
      font-weight: 700;
      text-decoration: none !important;
      line-height: 1.35;
    }
    .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
      color: var(--pr-accent) !important;
    }
  }
  /* Список услуг/товаров — та же ширина, что у текста и CTA (1120),
     не на всю ширину uk-container (1200) и не full-bleed. */
  .pr-service-page #product-list,
  .tm-category-page #product-list {
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pr-service-page #product-list [data-uk-slider],
  .tm-category-page #product-list [data-uk-slider],
  .pr-service-page #product-list .uk-slider-container,
  .tm-category-page #product-list .uk-slider-container {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }
  .pr-catalog-page #product-list {
    margin-top: 24px;
  }
  /* Список услуг (товары) на /service/… — после текста категории */
  .pr-service-page #product-list,
  .tm-category-page .tm-category-page-description + #product-list {
    margin-top: 24px;
    clear: both;
  }

  /* v5.1 (баг A): карточка кликабельна целиком (stretched link),
     заглушка-камера dummy200 скрыта — вместо «ссылка + иконка сбоку» */
  .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
    position: relative;
  }
  .pr-catalog-page .tm-category-page-categories img[src*="dummy200"],
  .pr-brands-page .tm-category-page-categories img[src*="dummy200"] {
    display: none;
  }
  .pr-catalog-page .tm-category-page-categories a.uk-text-bold {
    position: static;
  }
  @media (min-width: 960px) {
    .pr-catalog-page .tm-category-page-categories a.uk-text-bold::after {
      content: '';
      position: absolute;
      inset: 0;
      z-index: 1;
    }
  }
  /* Дочерние ссылки 3-го уровня внутри карточки (viewmode 5) —
     мелкие, серые, поверх stretched-link, чтобы оставались кликабельны */
  .pr-catalog-page .tm-category-page-categories a.uk-display-block:not(.uk-text-bold),
  .pr-brands-page .tm-category-page-categories a.uk-display-block:not(.uk-text-bold) {
    position: relative;
    z-index: 2;
    font-size: 13px;
    font-weight: 400;
    color: var(--pr-muted) !important;
    line-height: 1.5;
    margin-top: 0px;
    text-decoration: none !important;
  }
  .pr-catalog-page .tm-category-page-categories a.uk-display-block:not(.uk-text-bold):hover,
  .pr-brands-page .tm-category-page-categories a.uk-display-block:not(.uk-text-bold):hover {
    color: var(--pr-accent) !important;
  }

  /* Подкатегории: отступ до текста/товаров (иначе сетка UIkit наезжает на описание) */
  .tm-category-page .tm-category-page-categories {
    margin-bottom: 32px !important;
    clear: both;
    display: flow-root;
    position: relative;
    z-index: 1;
  }
  /* Сетка карточек — см. §19.3.4b (CSS Grid; flex+25% давал наплывание) */
  .tm-category-page .tm-category-page-categories + .tm-category-page-description,
  .tm-category-page .tm-category-page-categories + #product-list,
  .tm-category-page .tm-category-page-categories + .pr-service-cta {
    clear: both;
    margin-top: 8px;
    position: relative;
    z-index: 0;
  }
  /* На /service/… убираем «В наличии» и пустые звёзды — это услуги, не склад */
  .pr-service-page #product-list .uk-card.uk-card-product .rating,
  .pr-service-page #product-list .uk-card.uk-card-product .stock-high,
  .pr-service-page #product-list .uk-card.uk-card-product .stock-none,
  .pr-service-page #product-list .uk-card.uk-card-product .stock-low {
    display: none !important;
  }
  /* Прячем только заглушку dummy — реальные фото услуг оставляем */
  #product-list .uk-cover-container:has(img[src*="dummy"]) {
    display: none !important;
  }
  .pr-service-page #product-list .uk-products-slider-1 .uk-card.uk-card-product {
    padding: 12px 14px 14px;
    min-height: 0;
    height: auto;
  }
  .pr-service-page #product-list .uk-products-slider-1 .uk-cover-container {
    display: flex !important;
    height: auto !important;
    min-height: 120px;
    max-height: 160px;
    margin-bottom: 10px;
    background: #fff;
  }
  .pr-service-page #product-list .uk-products-slider-1 .uk-cover-container:has(img[src*="dummy"]) {
    display: none !important;
  }

  /* ------------------------------------------------------------
     6.3 Страницы с текстом из БД: layout + legacy normalization
     (service / catalog / brands — всё что в qa-urls.csv)
     ------------------------------------------------------------ */
  .tm-category-page-description {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  /* Старый 2-колоночный сайдбар больше не используем */
  .tm-category-page-description .pr-service-layout {
    display: block;
  }
  .tm-category-page-description .pr-service-aside {
    display: none !important;
  }
  .tm-category-page-description .pr-service-main {
    min-width: 0;
  }
  .tm-category-page-description .pr-legacy-content {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    padding: 24px 24px;
  }
  /* Landing из site_block (uk-section) — без «карточки», секции сами по себе */
  .tm-category-page-description .pr-legacy-content:has(> .uk-section),
  .tm-category-page-description .pr-legacy-content:has(> section.uk-section) {
    padding: 0;
    background: transparent;
    border: none;
  }

  /* Горизонтальная полоса записи — стабильно под текстом на любой странице */
  .pr-service-cta {
    max-width: 1120px;
    margin: 0 auto 28px;
  }
  .pr-brands-page .pr-service-cta,
  .pr-catalog-page .pr-service-cta {
    display: none;
  }
  .pr-service-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px 28px;
    flex-wrap: wrap;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 14px;
    border-left: 4px solid var(--pr-accent);
    box-shadow: 0 4px 20px rgba(26, 26, 31, 0.04);
  }
  .pr-service-cta__text {
    flex: 1 1 240px;
    min-width: 0;
  }
  .pr-service-cta__label {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pr-accent);
  }
  .pr-service-cta__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pr-ink);
  }
  .pr-service-cta__meta {
    margin: 0;
    font-size: 13px;
    color: var(--pr-muted);
    line-height: 1.4;
  }
  .pr-service-cta__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }
  .pr-service-cta__phone {
    font-size: 18px;
    font-weight: 800;
    color: var(--pr-ink);
    text-decoration: none;
    white-space: nowrap;
    margin-right: 4px;
  }
  .pr-service-cta__phone:hover { color: var(--pr-accent); }
  .pr-service-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 10px;
    background: var(--pr-accent);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
  }
  .pr-service-cta__btn:hover {
    background: var(--pr-accent-dark);
    color: #fff !important;
  }
  .pr-service-cta__msg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid var(--pr-border);
    background: #fff;
    color: var(--pr-ink) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
  }
  .pr-service-cta__msg:hover {
    border-color: #bbb;
    background: var(--pr-bg-soft, #f7f8fa);
  }

  /* Старая карточка в сайдбаре — на случай остатков в кэше / JS Bitrix */
  .pr-service-card {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 14px;
    padding: 20px;
  }
  .pr-service-card__badge {
    display: inline-block;
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    color: var(--pr-accent);
    text-transform: uppercase;
  }
  .pr-service-card__title {
    font-weight: 700;
    font-size: 16px;
    margin: 0 0 10px;
    text-transform: none;
    letter-spacing: 0;
  }
  .pr-service-card__phone {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: var(--pr-ink);
    text-decoration: none;
    margin: 0 0 8px;
  }
  .pr-service-card__phone:hover { color: var(--pr-accent); }
  .pr-service-card__hint,
  .pr-service-card__meta {
    font-size: 13px;
    color: var(--pr-muted);
    margin: 0 0 12px;
  }
  .pr-service-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin: 0 0 8px;
    border-radius: 10px;
    background: var(--pr-accent);
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
  }
  .pr-service-card__messengers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .pr-service-card__msg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 1px solid var(--pr-border);
    border-radius: 10px;
    color: var(--pr-ink) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
  }
  .pr-service-card .uk-button-primary { display: none; }

  /* Legacy HTML: единые правила для category + shop pages */
  .pr-legacy-content {
    font-size: 16px;
    line-height: 1.75;
    color: var(--pr-ink);
    overflow-wrap: break-word; /* anywhere ломал слова посередине */
    display: flow-root;
  }
  /* Ширина текста = колонка страницы (не 78ch) */
  .pr-legacy-content font {
    font-family: inherit;
  }
  .pr-legacy-content center {
    display: block;
    max-width: 100%;
  }
  .pr-legacy-content a {
    color: var(--pr-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(237, 30, 36, 0.35);
  }
  .pr-legacy-content a:hover {
    color: var(--pr-accent-dark);
    border-bottom-color: rgba(196, 21, 26, 0.45);
  }
  .pr-legacy-content img,
  .pr-legacy-content table {
    max-width: 100%;
  }
  .pr-legacy-content img {
    height: auto;
    border-radius: 10px;
  }
  /* Не сбрасываем width у галерей из БД (214px и т.п.) — иначе картинки
     растягиваются на всю колонку и текст вокруг выглядит «сбитым». */
  .pr-legacy-content img[width],
  .pr-legacy-content img[height],
  .pr-legacy-content img[style*="width"],
  .pr-legacy-content img[style*="height"] {
    max-width: 100%;
    height: auto;
  }
  .pr-legacy-content img[align="left"],
  .tm-page-content img[align="left"] {
    float: left !important;
    display: inline;
    margin: 0 16px 16px 0 !important;
    max-width: min(42%, 340px);
  }
  .pr-legacy-content img[align="right"],
  .tm-page-content img[align="right"] {
    float: right !important;
    display: inline;
    margin: 0 0 16px 16px !important;
    max-width: min(42%, 340px);
  }
  .pr-legacy-content img[align="center"],
  .tm-page-content img[align="center"] {
    float: none !important;
    display: block;
    margin: 16px auto !important;
  }
  .pr-legacy-content table {
    width: 100% !important;
    border-collapse: collapse;
    table-layout: auto;
  }
  .pr-legacy-content table[width] {
    width: 100% !important;
    max-width: 100%;
  }
  .pr-legacy-content table td,
  .pr-legacy-content table th {
    padding: 8px 12px;
    border: 1px solid var(--pr-border);
    vertical-align: top;
    height: auto !important;
  }
  .pr-legacy-content table td[width],
  .pr-legacy-content table th[width] {
    width: auto !important;
    max-width: 100%;
  }
  .pr-legacy-content table tr:nth-child(even) td {
    background: var(--pr-bg-soft);
  }
  /* v5.1 (баг D): шапки legacy-таблиц — как в §9 (th или первая строка из <strong>) */
  .pr-legacy-content table th,
  .pr-legacy-content table tr:first-child td:has(> strong:only-child),
  .pr-legacy-content table tr:first-child td:has(> b:only-child) {
    background: var(--pr-ink);
    color: #fff !important;
    font-weight: 600;
    text-align: left;
  }

  /* v5.1 (баг D): глобальные перебивки inline-стилей из БД —
     единые для .pr-legacy-content (категории) и .tm-page-content (~2200 страниц) */
  .pr-legacy-content iframe,
  .tm-page-content iframe {
    max-width: 100%;
  }
  .pr-legacy-content table[style],
  .tm-page-content table[style] {
    width: 100% !important;
  }
  /* Не вычищаем все inline width/font-size — ломают сетки и акценты в старом HTML.
     Только не даём вылезать за колонку. */
  .pr-legacy-content :where(div, p)[style*="width"],
  .tm-page-content :where(div, p)[style*="width"] {
    max-width: 100%;
  }

  /* Legacy landing-секции из site_block / старого HTML (kvadrotsikly, service, …) */
  .pr-legacy-content > .uk-section,
  .pr-legacy-content > section {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .pr-legacy-content .uk-section.info {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--pr-ink) 0%, #2d2d32 100%);
    color: #fff;
    padding: 0 !important;
    margin: 0 0 24px !important;
    min-height: 260px;
  }
  .pr-legacy-content .uk-section.info > img {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: min(52%, 520px) !important;
    max-width: 52% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
    float: none !important;
    display: block !important;
    border-radius: 0;
  }
  .pr-legacy-content .uk-section.info .uk-position-center-left,
  .pr-legacy-content .uk-section.info .uk-position-medium,
  /* Сломанный legacy HTML: uk-position-* вне .info — иначе текст наезжает на абзацы ниже */
  .pr-legacy-content .uk-position-center-left:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-center-right:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-center:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-top-center:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-bottom-center:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-small:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-large:not(.uk-slidenav):not(.uk-hidden-hover),
  .pr-legacy-content .uk-position-medium:not(.uk-slidenav):not(.uk-hidden-hover) {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 2;
    padding: 32px 32px;
    max-width: 56%;
  }
  .pr-legacy-content .uk-section.info p {
    color: rgba(255, 255, 255, 0.9) !important;
    margin: 0 0 16px;
  }
  .pr-legacy-content .uk-section.info .uk-button-danger {
    background: var(--pr-accent);
    color: #fff;
    border: none;
    border-radius: 999px;
    font-weight: 700;
    padding: 0 24px;
  }
  .pr-legacy-content .uk-section.info .uk-button-danger:hover {
    background: var(--pr-accent-dark);
  }
  .pr-legacy-content .uk-section.advantages {
    margin: 0 0 24px !important;
    padding: 8px 0 4px !important;
  }
  .pr-legacy-content .uk-section.advantages > h2 {
    max-width: none;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
    line-height: 1.3;
  }
  .pr-legacy-content .uk-section.advantages .uk-card-default {
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    border-top: 2px solid var(--pr-accent);
    box-shadow: none;
    height: 100%;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
  }
  /* Не рвать слова в узких колонках («Мотоэвакуат|ор») */
  .pr-legacy-content .uk-section.advantages .uk-card-default,
  .pr-legacy-content .uk-section.advantages .uk-card-default p,
  .pr-legacy-content .uk-section.advantages .uk-card-default .uk-h4,
  .pr-legacy-content .uk-section.advantages .uk-text-bold {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  @media (max-width: 1199px) and (min-width: 960px) {
    .pr-legacy-content .uk-section.advantages .uk-child-width-1-4\@m > * {
      width: 50%;
    }
  }
  .pr-legacy-content .uk-section.advantages .uk-card-default:hover {
    box-shadow: var(--pr-shadow);
    transform: translateY(-2px);
  }
  .pr-legacy-content .uk-section.advantages .uk-card-body {
    padding: 16px 14px;
  }
  .pr-legacy-content .uk-section.advantages .uk-card-body img {
    max-height: 48px;
    width: auto;
    margin: 0 auto 8px;
  }
  .pr-legacy-content .uk-section.advantages .uk-card-body .uk-h4,
  .pr-legacy-content .uk-section.advantages .uk-card-body .uk-text-bold {
    font-size: 15px;
    line-height: 1.3;
    margin: 0 0 6px;
  }
  .pr-legacy-content .uk-section.advantages .uk-card-body p {
    font-size: 13px;
    line-height: 1.4;
    color: var(--pr-muted);
    margin: 0;
  }
  .pr-legacy-content .uk-section.brands {
    margin: 0 0 24px !important;
    padding: 16px 0 !important;
    background: var(--pr-bg-soft);
    border-radius: 12px;
  }
  .pr-legacy-content .uk-section.brands > h2 {
    max-width: none;
    font-size: 20px;
    padding: 0 16px;
  }
  .pr-legacy-content .uk-section.brands img {
    max-height: 64px;
    width: auto;
    margin: 0 auto;
  }
  .pr-legacy-content .uk-section.brands a {
    border-bottom: none;
  }
  .pr-legacy-content .uk-section.contacts,
  .pr-legacy-content .uk-section.truck {
    margin: 0 0 24px !important;
    padding: 16px 0 !important;
  }
  .pr-legacy-content .uk-section.pay {
    margin: 8px 0 28px !important;
    padding: 0 !important;
  }
  .pr-legacy-content .uk-section.socials {
    margin: 4px 0 28px !important;
    padding: 0 !important;
  }
  .pr-legacy-content .uk-section.contacts .uk-card {
    border-radius: 12px;
    border: 1px solid var(--pr-border);
  }

  /* ------------------------------------------------------------
     Способы оплаты — плитки «pit lane» с акцентом бренда
     ------------------------------------------------------------ */
  .uk-section.pay,
  section.pay {
    margin: 12px 0 30px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .uk-section.pay > h2,
  section.pay > h2,
  .uk-section.socials > h2,
  section.socials > h2,
  .uk-section.contacts > h2,
  section.contacts > h2,
  #kontakty > h2 {
    display: block !important;
  }
  .uk-section.pay > h2::before,
  section.pay > h2::before,
  .uk-section.socials > h2::before,
  section.socials > h2::before,
  .uk-section.contacts > h2::before,
  section.contacts > h2::before,
  #kontakty > h2::before {
    display: none !important;
    content: none !important;
  }
  .uk-section.pay > h2,
  section.pay > h2 {
    margin: 0 0 6px !important;
    padding: 0 !important;
    font-family: "Unbounded", "Manrope", system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: var(--pr-ink) !important;
  }
  .uk-section.pay > h2 .fa,
  section.pay > h2 .fa {
    display: none !important;
  }
  .uk-section.pay > .uk-text-lead,
  section.pay > .uk-text-lead,
  .uk-section.pay > .uk-margin-bottom.uk-text-center,
  section.pay > .uk-margin-bottom.uk-text-center {
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-family: "Manrope", system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    color: var(--pr-muted) !important;
    opacity: 1;
  }
  .uk-section.pay > .uk-background-muted,
  section.pay > .uk-background-muted {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .uk-section.pay .uk-grid,
  section.pay .uk-grid,
  .uk-section.pay .pr-pay-grid,
  section.pay .pr-pay-grid {
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 680px !important;
    background: transparent !important;
    border-radius: 0 !important;
    overflow: visible !important;
    counter-reset: pr-pay;
    grid-template-columns: none !important;
  }
  .uk-section.pay .uk-grid > *,
  section.pay .uk-grid > *,
  .uk-section.pay .pr-pay-grid > *,
  section.pay .pr-pay-grid > *,
  .uk-section.pay [class*="uk-child-width"] > *,
  section.pay [class*="uk-child-width"] > * {
    flex: 0 1 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    counter-increment: pr-pay;
    box-sizing: border-box !important;
  }
  .uk-section.pay .uk-grid::before,
  section.pay .uk-grid::before {
    display: none !important;
  }
  .uk-section.pay .uk-grid-divider > :not(.uk-first-column)::before,
  section.pay .uk-grid-divider > :not(.uk-first-column)::before {
    display: none !important;
  }
  .uk-section.pay .uk-card,
  section.pay .uk-card {
    position: relative;
    height: 100%;
    margin: 0 !important;
    padding: 16px 12px 14px !important;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    overflow: hidden;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
  }
  .uk-section.pay .uk-card::before,
  section.pay .uk-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 2px;
    background: var(--pr-accent);
    border-radius: 0 0 1px 1px;
  }
  .uk-section.pay .uk-card::after,
  section.pay .uk-card::after {
    display: none !important;
    content: none !important;
  }
  .uk-section.pay .uk-card:hover,
  section.pay .uk-card:hover {
    transform: translateY(-2px);
    border-color: rgba(237, 30, 36, 0.28) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07) !important;
  }
  .uk-section.pay .img-pay,
  section.pay .img-pay {
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 54px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 4px auto 12px !important;
    border-radius: 16px !important;
    background: rgba(237, 30, 36, 0.07) !important;
  }
  .uk-section.pay .img-pay::before,
  section.pay .img-pay::before {
    content: "";
    width: 26px;
    height: 26px;
    background: center / contain no-repeat;
  }
  .uk-section.pay .uk-grid > *:nth-child(1) .img-pay::before,
  section.pay .uk-grid > *:nth-child(1) .img-pay::before,
  .pr-pay-grid > *:nth-child(1) .img-pay::before {
    background-image: url("img/pay/cash.svg");
  }
  .uk-section.pay .uk-grid > *:nth-child(2) .img-pay::before,
  section.pay .uk-grid > *:nth-child(2) .img-pay::before,
  .pr-pay-grid > *:nth-child(2) .img-pay::before {
    background-image: url("img/pay/card.svg");
  }
  .uk-section.pay .uk-grid > *:nth-child(3) .img-pay::before,
  section.pay .uk-grid > *:nth-child(3) .img-pay::before,
  .pr-pay-grid > *:nth-child(3) .img-pay::before {
    background-image: url("img/pay/invoice.svg");
  }
  .uk-section.pay .img-pay img,
  section.pay .img-pay img {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
  }
  .uk-section.pay .uk-h4,
  section.pay .uk-h4,
  .uk-section.pay .uk-text-bold.uk-h4,
  section.pay .uk-text-bold.uk-h4 {
    margin: 0 !important;
    font-family: "Manrope", system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--pr-ink) !important;
    text-align: center !important;
  }

  /* Блок «Наши контакты» (карта + режим/адрес/телефон) — на всех страницах */
  .uk-section.contacts,
  section.contacts,
  #kontakty.uk-section {
    margin: 0 0 28px !important;
    padding: 20px 0 8px !important;
  }
  .uk-section.contacts > h2,
  section.contacts > h2,
  #kontakty > h2 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font-family: "Manrope", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: var(--pr-muted) !important;
  }
  .uk-section.contacts > h2 .fa,
  section.contacts > h2 .fa,
  #kontakty > h2 .fa {
    display: none !important;
  }
  .uk-section.contacts > iframe,
  section.contacts > iframe,
  #kontakty > iframe {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 320px !important;
    border: 0 !important;
    border-radius: var(--pr-radius-lg);
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    background: #e8e8ea;
  }
  .uk-section.contacts > p.uk-text-center,
  section.contacts > p.uk-text-center,
  #kontakty > p.uk-text-center {
    margin: 10px 0 16px !important;
    padding: 0 4px;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(29, 29, 31, 0.62);
    text-align: left !important;
  }
  .uk-section.contacts > .uk-grid,
  section.contacts > .uk-grid,
  #kontakty > .uk-grid {
    margin-left: 0 !important;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    overflow: hidden;
  }
  .uk-section.contacts > .uk-grid > *,
  section.contacts > .uk-grid > *,
  #kontakty > .uk-grid > * {
    padding: 18px 20px !important;
    text-align: left !important;
    border-right: 1px solid var(--pr-border);
  }
  .uk-section.contacts > .uk-grid > *:last-child,
  section.contacts > .uk-grid > *:last-child,
  #kontakty > .uk-grid > *:last-child {
    border-right: none;
  }
  .uk-section.contacts > .uk-grid h4,
  section.contacts > .uk-grid h4,
  #kontakty > .uk-grid h4 {
    margin: 0 0 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pr-accent) !important;
  }
  .uk-section.contacts > .uk-grid h4 b,
  section.contacts > .uk-grid h4 b,
  #kontakty > .uk-grid h4 b {
    font-weight: 700 !important;
  }
  .uk-section.contacts > .uk-grid p,
  section.contacts > .uk-grid p,
  #kontakty > .uk-grid p {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.5;
    color: var(--pr-ink);
  }
  .uk-section.contacts > .uk-grid a,
  section.contacts > .uk-grid a,
  #kontakty > .uk-grid a {
    color: var(--pr-ink);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid transparent;
  }
  .uk-section.contacts > .uk-grid a:hover,
  section.contacts > .uk-grid a:hover,
  #kontakty > .uk-grid a:hover {
    color: var(--pr-accent);
    border-bottom-color: var(--pr-accent);
  }

  /* Соцсети — минимальный ряд, иконки theSVG (mono) */
  .uk-section.socials,
  section.socials {
    position: relative;
    margin: 8px 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
  }

  /* Глобальный блок внутри контента (main.html) */
  .pr-site-trust {
    margin: 36px 0 0;
    padding: 28px 0 8px;
    border-top: 1px solid var(--pr-border);
    clear: both;
  }
  .pr-site-trust .uk-section.socials,
  .pr-site-trust .uk-section.pay {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
  }
  .pr-site-trust .uk-section.socials { margin-bottom: 28px !important; }
  .pr-site-trust .uk-section.pay { margin-bottom: 0 !important; }
  .pr-site-trust .uk-section.socials > h2 {
    font-size: 12px !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    color: var(--pr-ink) !important;
    margin-bottom: 18px !important;
  }
  .pr-site-trust .pr-socials-grid,
  .pr-site-trust .uk-section.socials > .uk-grid {
    justify-content: center !important;
    gap: 20px 32px !important;
  }
  .pr-site-trust .uk-section.pay > h2 {
    text-align: center !important;
  }
  .pr-site-trust .uk-section.pay > .uk-text-lead,
  .pr-site-trust .uk-section.pay > .uk-margin-bottom {
    text-align: center !important;
  }
  .pr-site-trust .pr-pay-grid,
  .pr-site-trust .uk-section.pay .uk-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    grid-template-columns: none !important;
  }
  .pr-site-trust .pr-pay-grid > *,
  .pr-site-trust .uk-section.pay .uk-grid > * {
    flex: 0 1 196px !important;
    width: 196px !important;
    max-width: 196px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .pr-site-trust .uk-section.pay > .uk-background-muted {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
    max-width: 680px !important;
    margin: 0 auto !important;
  }
  /* Дубли из старого HTML категорий — скрываем; остаётся только .pr-site-trust */
  body:has(.pr-site-trust) .uk-panel-box .uk-section.socials,
  body:has(.pr-site-trust) .uk-panel-box section.socials,
  body:has(.pr-site-trust) .uk-panel-box .uk-section.pay,
  body:has(.pr-site-trust) .uk-panel-box section.pay,
  body:has(.pr-site-trust) .content .uk-section.socials,
  body:has(.pr-site-trust) .content section.socials,
  body:has(.pr-site-trust) .content .uk-section.pay,
  body:has(.pr-site-trust) .content section.pay {
    display: none !important;
  }
  body:has(.pr-site-trust) .pr-site-trust,
  body:has(.pr-site-trust) .pr-site-trust .uk-section.socials,
  body:has(.pr-site-trust) .pr-site-trust section.socials,
  body:has(.pr-site-trust) .pr-site-trust .uk-section.pay,
  body:has(.pr-site-trust) .pr-site-trust section.pay {
    display: block !important;
  }
  .uk-section.socials::before,
  section.socials::before {
    display: none !important;
  }
  .uk-section.socials > h2,
  section.socials > h2 {
    position: relative;
    margin: 0 0 16px !important;
    padding: 0 !important;
    font-family: "Manrope", system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    text-align: left !important;
    color: var(--pr-muted) !important;
  }
  .uk-section.socials > h2 .fa,
  section.socials > h2 .fa {
    display: none !important;
  }
  .uk-section.socials > .uk-grid,
  section.socials > .uk-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 18px 28px !important;
    margin: 0 !important;
  }
  .uk-section.socials > .uk-grid::before,
  section.socials > .uk-grid::before {
    display: none !important;
  }
  .uk-section.socials > .uk-grid > *,
  section.socials > .uk-grid > * {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .uk-section.socials a,
  section.socials a {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 64px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none;
    box-sizing: border-box !important;
    transition: transform 0.18s ease;
  }
  .uk-section.socials a:hover,
  section.socials a:hover,
  .uk-section.socials a:focus-visible,
  section.socials a:focus-visible {
    transform: translateY(-2px);
    box-shadow: none !important;
    opacity: 1;
  }
  .uk-section.socials a img,
  section.socials a img,
  .uk-section.socials a svg,
  section.socials a svg,
  .uk-section.socials a [uk-icon],
  section.socials a [uk-icon],
  .uk-section.socials a .uk-icon,
  section.socials a .uk-icon,
  .uk-section.socials a .fa,
  section.socials a .fa,
  .uk-section.socials a i,
  section.socials a i {
    display: none !important;
    visibility: hidden !important;
    font-size: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  .pr-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  /* Соцсети — как раньше: кружки + узнаваемые иконки */
  .uk-section.socials a::before,
  section.socials a::before {
    content: "";
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 50%;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    border: 1.5px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    transition: background-color 0.18s ease, border-color 0.18s ease, background-image 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  }
  .uk-section.socials a::after,
  section.socials a::after {
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--pr-muted);
    line-height: 1.2;
    transition: color 0.18s ease;
  }

  .uk-section.socials a[href*="wa.me"],
  section.socials a[href*="wa.me"],
  .uk-section.socials a[href*="whatsapp"],
  section.socials a[href*="whatsapp"] {
    background: transparent !important;
    border: 0 !important;
  }
  .uk-section.socials a[href*="wa.me"]::before,
  section.socials a[href*="wa.me"]::before,
  .uk-section.socials a[href*="whatsapp"]::before,
  section.socials a[href*="whatsapp"]::before {
    background-image: url("img/social/whatsapp.svg");
    background-size: 26px;
    border-color: rgba(37, 211, 102, 0.45);
  }
  .uk-section.socials a[href*="wa.me"]::after,
  section.socials a[href*="wa.me"]::after,
  .uk-section.socials a[href*="whatsapp"]::after,
  section.socials a[href*="whatsapp"]::after { content: "WhatsApp"; }
  .uk-section.socials a[href*="wa.me"]:hover::before,
  section.socials a[href*="wa.me"]:hover::before,
  .uk-section.socials a[href*="whatsapp"]:hover::before,
  section.socials a[href*="whatsapp"]:hover::before {
    background-color: #25D366;
    border-color: #25D366;
    background-image: url("img/social/whatsapp-white.svg");
    box-shadow: 0 8px 18px rgba(37, 211, 102, 0.28) !important;
  }
  .uk-section.socials a[href*="wa.me"]:hover::after,
  section.socials a[href*="wa.me"]:hover::after,
  .uk-section.socials a[href*="whatsapp"]:hover::after,
  section.socials a[href*="whatsapp"]:hover::after { color: var(--pr-ink); }

  .uk-section.socials a[href*="t.me"],
  section.socials a[href*="t.me"],
  .uk-section.socials a[href*="telegram"],
  section.socials a[href*="telegram"] {
    background: transparent !important;
    border: 0 !important;
  }
  .uk-section.socials a[href*="t.me"]::before,
  section.socials a[href*="t.me"]::before,
  .uk-section.socials a[href*="telegram"]::before,
  section.socials a[href*="telegram"]::before {
    background-image: url("img/social/telegram.svg");
    background-size: 24px;
    border-color: rgba(34, 158, 217, 0.45);
  }
  .uk-section.socials a[href*="t.me"]::after,
  section.socials a[href*="t.me"]::after,
  .uk-section.socials a[href*="telegram"]::after,
  section.socials a[href*="telegram"]::after { content: "Telegram"; }
  .uk-section.socials a[href*="t.me"]:hover::before,
  section.socials a[href*="t.me"]:hover::before,
  .uk-section.socials a[href*="telegram"]:hover::before,
  section.socials a[href*="telegram"]:hover::before {
    background-color: #229ED9;
    border-color: #229ED9;
    background-image: url("img/social/telegram-white.svg");
    box-shadow: 0 8px 18px rgba(34, 158, 217, 0.28) !important;
  }
  .uk-section.socials a[href*="t.me"]:hover::after,
  section.socials a[href*="t.me"]:hover::after,
  .uk-section.socials a[href*="telegram"]:hover::after,
  section.socials a[href*="telegram"]:hover::after { color: var(--pr-ink); }

  .uk-section.socials a[href*="vk.com"],
  section.socials a[href*="vk.com"] {
    background: transparent !important;
    border: 0 !important;
  }
  .uk-section.socials a[href*="vk.com"]::before,
  section.socials a[href*="vk.com"]::before {
    background-image: url("img/social/vk.svg");
    border-color: rgba(0, 119, 255, 0.4);
  }
  .uk-section.socials a[href*="vk.com"]::after,
  section.socials a[href*="vk.com"]::after { content: "VK"; }
  .uk-section.socials a[href*="vk.com"]:hover::before,
  section.socials a[href*="vk.com"]:hover::before {
    background-color: #0077FF;
    border-color: #0077FF;
    background-image: url("img/social/vk-white.svg");
    box-shadow: 0 8px 18px rgba(0, 119, 255, 0.22) !important;
  }
  .uk-section.socials a[href*="vk.com"]:hover::after,
  section.socials a[href*="vk.com"]:hover::after { color: var(--pr-ink); }

  .uk-section.socials a[href*="facebook"],
  section.socials a[href*="facebook"] {
    background: transparent !important;
    border: 0 !important;
  }
  .uk-section.socials a[href*="facebook"]::before,
  section.socials a[href*="facebook"]::before {
    background-image: url("img/social/facebook.svg");
    border-color: rgba(8, 102, 255, 0.4);
  }
  .uk-section.socials a[href*="facebook"]::after,
  section.socials a[href*="facebook"]::after { content: "Facebook"; }
  .uk-section.socials a[href*="facebook"]:hover::before,
  section.socials a[href*="facebook"]:hover::before {
    background-color: #0866FF;
    border-color: #0866FF;
    background-image: url("img/social/facebook-white.svg");
    box-shadow: 0 8px 18px rgba(8, 102, 255, 0.22) !important;
  }
  .uk-section.socials a[href*="facebook"]:hover::after,
  section.socials a[href*="facebook"]:hover::after { color: var(--pr-ink); }

  .uk-section.socials a[href*="instagram"],
  section.socials a[href*="instagram"] {
    background: transparent !important;
    border: 0 !important;
  }
  .uk-section.socials a[href*="instagram"]::before,
  section.socials a[href*="instagram"]::before {
    background-image: url("img/social/instagram.svg");
    border-color: rgba(228, 64, 95, 0.4);
  }
  .uk-section.socials a[href*="instagram"]::after,
  section.socials a[href*="instagram"]::after { content: "Instagram"; }
  .uk-section.socials a[href*="instagram"]:hover::before,
  section.socials a[href*="instagram"]:hover::before {
    background-color: #E4405F;
    border-color: #E4405F;
    background-image: url("img/social/instagram-white.svg");
    box-shadow: 0 8px 18px rgba(228, 64, 95, 0.22) !important;
  }
  .uk-section.socials a[href*="instagram"]:hover::after,
  section.socials a[href*="instagram"]:hover::after { color: var(--pr-ink); }
  /* Пустой Bitrix-клик под таблицей эвакуатора */
  .uk-section.truck .uk-margin.uk-text-center:has(> script:only-child),
  .uk-section.truck .uk-margin.uk-text-center:empty {
    display: none !important;
  }
  .pr-legacy-content h2 .fa,
  .pr-legacy-content h3 .fa {
    color: var(--pr-accent);
    margin-right: 8px;
    font-style: normal;
  }
  .pr-legacy-content .uk-section.online,
  .tm-page-content .uk-section.online {
    margin: 0 0 24px !important;
    padding: 24px 24px !important;
    background: var(--pr-bg-soft);
    border: 1px solid var(--pr-border);
    border-radius: 12px;
  }

  .tm-page .tm-page-content > .pr-legacy-content {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    padding: 24px 24px;
  }

  /* ------------------------------------------------------------
     6.4 Прайс-лист (список услуг/товаров) — ТОЛЬКО viewmode list-1
     ------------------------------------------------------------ */
  .tm-category-page #product-list .uk-products.uk-products-list-1 {
    margin-top: 16px;
  }
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product {
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    background: #fff;
    box-shadow: none;
    padding: 12px 16px;
  }
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product:hover {
    border-color: transparent;
    box-shadow: var(--pr-shadow);
    transform: translateY(-1px);
  }

  /* Услуга: картинка меньше, без огромных отступов */
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-product-image {
    width: 64px;
    height: 64px;
    object-fit: contain;
  }
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-cover-container.uk-margin {
    margin: 0;
  }

  /* Сетка внутри строки: выравнивание по центру */
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-grid {
    align-items: center;
  }

  /* Название услуги */
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-product-name,
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product a.uk-link-reset {
    color: var(--pr-ink);
    font-weight: 700;
    text-decoration: none;
  }
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product a:hover {
    color: var(--pr-accent);
    text-decoration: none;
  }

  /* Цена — выделить и прижать вправо */
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .tm-product-pricing,
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-product-pricing {
    margin: 0;
    text-align: right;
    font-size: 16px;
    font-weight: 800;
    white-space: nowrap;
  }
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .compare-at-price,
  .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product del.price {
    font-weight: 400;
    color: var(--pr-muted);
  }

  /* Межстрочные разделители между элементами списка */
  .tm-category-page #product-list .uk-products-list-1 .product-list > li + li {
    margin-top: 8px;
  }

  /* Страница одной услуги (/service/.../regulirovka_.../) */
  .tm-product-page #product-description.pr-legacy-content,
  .tm-product-page .product-info .pr-legacy-content {
    line-height: 1.65;
    color: var(--pr-ink);
  }
  .tm-product-page #overview.product-info {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--pr-border);
  }

  @media (max-width: 639px) {
    .pr-brands-page { padding: 14px 12px 18px; }
    .pr-brands-intro { font-size: 15px; margin-bottom: 16px; }
    .pr-catalog-page { padding: 14px 12px 18px; }
    .tm-category-page-description .pr-legacy-content,
    .tm-page .tm-page-content > .pr-legacy-content {
      padding: 16px 16px;
    }
    .pr-service-cta__inner {
      padding: 12px 12px 12px 14px;
      gap: 0;
    }
    .pr-service-cta__text { margin-bottom: 10px; }
    .pr-service-cta__actions {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px;
    }
    .pr-service-cta__phone {
      grid-column: 1 / -1;
      width: 100%;
      font-size: 16px;
    }
    .pr-service-cta__btn {
      grid-column: 1 / -1;
      flex: none;
      min-width: 0;
      min-height: 40px;
    }
    .pr-service-cta__msg {
      flex: none;
      min-width: 0;
    }
    .pr-legacy-content table {
      display: block;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
    .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product {
      padding: 12px 12px;
    }
    .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-product-image {
      width: 56px;
      height: 56px;
    }
    .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .uk-product-pricing,
    .tm-category-page #product-list .uk-products-list-1 .uk-card.uk-card-product .tm-product-pricing {
      font-size: 15px;
    }
  }
  
  
  /* ------------------------------------------------------------
     7. Checkout (только внешний вид)
     ------------------------------------------------------------ */
  .uk-checkout-step {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    margin-bottom: 16px;
    overflow: hidden;
  }
  .uk-checkout-step-header {
    background: var(--pr-bg-soft);
    font-weight: 600;
    padding: 12px 16px;
  }
  .uk-checkout-step-wrapper { padding: 16px 16px 4px; }
  .uk-checkout-step-done { color: #1a9e4b; }
  .uk-checkout-step-error { border-radius: var(--pr-radius); margin: 12px 16px; }
  
  
  /* ------------------------------------------------------------
     8. Подвал (footer.4.html)
     ------------------------------------------------------------ */
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom {
    background: var(--pr-ink);
    color: rgba(255, 255, 255, 0.72);
  }
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding {
    border-top: 4px solid var(--pr-accent);
  }
  
  /* Заголовки колонок — с коротким красным подчеркиванием */
  .uk-bar-secondary.uk-bar-bottom .uk-h3,
  .uk-bar-secondary.uk-bar-bottom .uk-h4,
  .uk-bar-secondary.uk-bar-bottom .uk-h5,
  .uk-bar-secondary.uk-bar-bottom h3,
  .uk-bar-secondary.uk-bar-bottom h4,
  .uk-bar-secondary.uk-bar-bottom h5 {
    position: relative;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #fff;
    margin-bottom: 16px;
    padding-bottom: 8px;
  }
  .uk-bar-secondary.uk-bar-bottom .uk-h3::after,
  .uk-bar-secondary.uk-bar-bottom .uk-h4::after,
  .uk-bar-secondary.uk-bar-bottom .uk-h5::after,
  .uk-bar-secondary.uk-bar-bottom h3::after,
  .uk-bar-secondary.uk-bar-bottom h4::after,
  .uk-bar-secondary.uk-bar-bottom h5::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: var(--pr-accent);
  }
  
  .uk-bar-secondary.uk-bar-bottom,
  .uk-bar-secondary.uk-bar-bottom .uk-text-muted,
  .uk-bar-secondary.uk-bar-bottom .uk-text-meta {
    color: rgba(255, 255, 255, 0.72);
  }
  .uk-bar-secondary.uk-bar-bottom a {
    color: rgba(255, 255, 255, 0.72);
    transition: color 0.15s ease;
  }
  .uk-bar-secondary.uk-bar-bottom a:hover { color: #fff; text-decoration: none; }
  .uk-bar-secondary.uk-bar-bottom .uk-nav > li > a { padding: 4px 0; }
  
  .uk-bar-secondary.uk-bar-bottom .ya-phone-1,
  .uk-bar-secondary.uk-bar-bottom .ya-phone-2 { color: #fff; font-size: 17px; }
  .uk-bar-secondary.uk-bar-bottom .ya-phone-1 a:hover,
  .uk-bar-secondary.uk-bar-bottom .ya-phone-2 a:hover,
  .uk-bar-secondary.uk-bar-bottom a.ya-phone-1:hover,
  .uk-bar-secondary.uk-bar-bottom a.ya-phone-2:hover { color: var(--pr-accent); }
  
  .uk-bar-secondary.uk-bar-bottom .uk-icon-button {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
  }
  .uk-bar-secondary.uk-bar-bottom .uk-icon-button:hover {
    background: var(--pr-accent);
    color: #fff;
  }

  /* ------------------------------------------------------------
     8.1 Мессенджеры в шапке и подвале — компактные чипы
     ------------------------------------------------------------ */
  /* Не трогаем липкий бар — там чипы не влезают по высоте */
  .globalheader .uk-bar-container:not(.uk-bar-sticky) .uk-contact-note:has(a[href*="wa.me"]),
  .globalheader .uk-bar-container:not(.uk-bar-sticky) .uk-contact-note:has(a[href*="t.me"]),
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note:has(a[href*="wa.me"]),
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note:has(a[href*="t.me"]),
  .globalfooter .uk-contact-note:has(a[href*="wa.me"]),
  .globalfooter .uk-contact-note:has(a[href*="t.me"]),
  #uk-contacts-target .uk-contact-note:has(a[href*="wa.me"]),
  #uk-contacts-target .uk-contact-note:has(a[href*="t.me"]),
  .pr-home-map .uk-contact-note:has(a[href*="wa.me"]),
  .pr-home-map .uk-contact-note:has(a[href*="t.me"]) {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    line-height: 1;
  }

  /* Липкий бар: WA/TG скрыты (специфичнее, чем чипы выше) */
  .globalheader .uk-bar-sticky .uk-contact-note,
  .globalheader .uk-bar-sticky .uk-contact-note:has(a[href*="wa.me"]),
  .globalheader .uk-bar-sticky .uk-contact-note:has(a[href*="t.me"]),
  .globalheader .uk-bar-sticky.uk-sticky-fixed .uk-contact-note,
  .globalheader .uk-bar-sticky.uk-active .uk-contact-note {
    display: none !important;
  }

  /* Лишний текст «WhatsApp, Telegram» без ссылок */
  .uk-phone .uk-contact-note:not(:has(a)) {
    display: none !important;
  }

  .globalheader .uk-contact-note a[href*="wa.me"],
  .globalheader .uk-contact-note a[href*="t.me"],
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="wa.me"],
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="t.me"],
  .globalfooter .uk-contact-note a[href*="wa.me"],
  .globalfooter .uk-contact-note a[href*="t.me"],
  #uk-contacts-target .uk-contact-note a[href*="wa.me"],
  #uk-contacts-target .uk-contact-note a[href*="t.me"],
  .pr-home-map .uk-contact-note a[href*="wa.me"],
  .pr-home-map .uk-contact-note a[href*="t.me"],
  .pr-msg {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px 0 7px;
    margin: 0 !important;
    border-radius: 999px;
    font-family: "Manrope", system-ui, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;
    vertical-align: middle;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  }

  .globalheader .uk-contact-note a img,
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a img,
  .globalfooter .uk-contact-note a img,
  #uk-contacts-target .uk-contact-note a img,
  .pr-home-map .uk-contact-note a img,
  .pr-msg img {
    display: none !important;
  }

  .globalheader .uk-contact-note a[href*="wa.me"]::before,
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="wa.me"]::before,
  .globalfooter .uk-contact-note a[href*="wa.me"]::before,
  #uk-contacts-target .uk-contact-note a[href*="wa.me"]::before,
  .pr-home-map .uk-contact-note a[href*="wa.me"]::before,
  .pr-msg--wa::before {
    content: "";
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    background: center / contain no-repeat
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2325d366'%3E%3Cpath d='M12 2a10 10 0 0 0-8.7 14.9L2 22l5.3-1.4A10 10 0 1 0 12 2zm0 18.2c-1.5 0-2.9-.4-4.1-1.1l-.3-.2-3.1.8.8-3-.2-.3A8.2 8.2 0 1 1 12 20.2z'/%3E%3Cpath d='M17.5 14.4c-.3-.1-1.6-.8-1.8-.9-.2-.1-.4-.1-.6.1-.2.2-.7.9-.8 1-.1.2-.3.2-.6.1-.3-.1-1.2-.4-2.3-1.4-.8-.8-1.4-1.7-1.6-2-.1-.3 0-.4.1-.6l.5-.6c.1-.2.1-.3 0-.5l-.8-1.9c-.2-.5-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.2.3-.9.9-.9 2.1s.9 2.4 1 2.6c.1.2 1.8 2.8 4.4 3.9 1.6.7 2.2.8 3 .7.5-.1 1.6-.6 1.8-1.3.2-.6.2-1.2.1-1.3-.1-.1-.3-.2-.6-.3z'/%3E%3C/svg%3E");
  }

  .globalheader .uk-contact-note a[href*="t.me"]::before,
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="t.me"]::before,
  .globalfooter .uk-contact-note a[href*="t.me"]::before,
  #uk-contacts-target .uk-contact-note a[href*="t.me"]::before,
  .pr-home-map .uk-contact-note a[href*="t.me"]::before,
  .pr-msg--tg::before {
    content: "";
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    background: center / contain no-repeat
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232aabee'%3E%3Cpath d='M9.8 15.2 9.6 18c.3 0 .5-.1.7-.3l1.7-1.6 3.5 2.6c.6.3 1.1.2 1.3-.6l2.3-10.9c.2-.9-.3-1.3-.9-1.1L4.5 10.3c-.9.3-.9.8-.2 1l3.6 1.1 8.3-5.2c.4-.2.7-.1.5.1l-6.9 7.9z'/%3E%3C/svg%3E");
  }

  /* Шапка (светлая) */
  .globalheader .uk-contact-note a[href*="wa.me"],
  .globalheader .uk-contact-note a[href*="t.me"] {
    background: #f4f5f7;
    border: 1px solid rgba(23, 26, 34, 0.08);
    color: #3a3f4b !important;
  }
  .globalheader .uk-contact-note a[href*="wa.me"]:hover,
  .globalheader .uk-contact-note a[href*="t.me"]:hover {
    background: #fff;
    border-color: rgba(23, 26, 34, 0.16);
    color: var(--pr-ink) !important;
  }

  /* Подвал / карта / offcanvas (тёмные) */
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="wa.me"],
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="t.me"],
  .globalfooter .uk-contact-note a[href*="wa.me"],
  .globalfooter .uk-contact-note a[href*="t.me"],
  .pr-home-map .uk-contact-note a[href*="wa.me"],
  .pr-home-map .uk-contact-note a[href*="t.me"],
  #uk-contacts-target .uk-contact-note a[href*="wa.me"],
  #uk-contacts-target .uk-contact-note a[href*="t.me"] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.88) !important;
  }
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="wa.me"]:hover,
  .uk-bar-secondary.uk-bar-bottom .uk-contact-note a[href*="t.me"]:hover,
  .globalfooter .uk-contact-note a[href*="wa.me"]:hover,
  .globalfooter .uk-contact-note a[href*="t.me"]:hover,
  .pr-home-map .uk-contact-note a[href*="wa.me"]:hover,
  .pr-home-map .uk-contact-note a[href*="t.me"]:hover,
  #uk-contacts-target .uk-contact-note a[href*="wa.me"]:hover,
  #uk-contacts-target .uk-contact-note a[href*="t.me"]:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.18);
    color: #fff !important;
  }
  
  /* Нижняя строка копирайта */
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-bar-medium {
    background: var(--pr-ink-2);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
  }
  
  .uk-totop {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 50%;
    box-shadow: var(--pr-shadow);
    color: var(--pr-ink);
    padding: 8px;
    transition: color 0.15s ease, border-color 0.15s ease;
  }
  .uk-totop:hover {
    color: var(--pr-accent);
    border-color: var(--pr-accent);
    background: #fff;
  }
  
  
  /* ------------------------------------------------------------
     9. АВТОСТИЛИ .tm-page-content — ~2200 страниц из БД
     выглядят по-новому БЕЗ правки контента.
     Осторожные селекторы :not([class]) не трогают разметку
     с собственными классами (pr-*, uk-* и т.п.).
     ------------------------------------------------------------ */
  .tm-page-content {
    color: var(--pr-ink);
    font-size: 16px;
    line-height: 1.65;
  }
  
  /* Все H2 контента — с красным штрихом слева (единый стиль сайта) */
  .tm-page-content h2 {
    position: relative;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    padding-left: 16px;
    margin: 32px 0 12px;
  }
  .tm-page-content h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    border-radius: 2px;
    background: var(--pr-accent);
  }
  .tm-page-content h3 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.25;
    margin: 24px 0 12px;
  }
  .tm-page-content p { margin: 0 0 12px; }
  
  /* Ссылки в тексте — акцентные */
  .tm-page-content p a,
  .tm-page-content li a {
    color: var(--pr-accent);
    text-decoration: none;
    border-bottom: 1px solid rgba(237, 30, 36, 0.3);
    transition: border-color 0.15s ease;
  }
  .tm-page-content p a:hover,
  .tm-page-content li a:hover {
    border-bottom-color: var(--pr-accent);
  }
  
  /* Обычные списки из БД — фирменный ромб-маркер */
  .tm-page-content ul:not([class]) {
    list-style: none;
    padding: 0;
    margin: 12px 0 16px;
  }
  .tm-page-content ul:not([class]) > li {
    position: relative;
    padding: 4px 0 4px 24px;
    margin: 0;
  }
  .tm-page-content ul:not([class]) > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: var(--pr-accent);
    transform: rotate(45deg);
  }
  /* Вложенные списки — серый маркер поменьше */
  .tm-page-content ul:not([class]) ul > li::before {
    width: 7px;
    height: 7px;
    top: 14px;
    background: var(--pr-muted);
  }
  
  .tm-page-content ol:not([class]) { padding-left: 24px; margin: 12px 0 16px; }
  .tm-page-content ol:not([class]) > li { padding: 3px 0; }
  .tm-page-content ol:not([class]) > li::marker {
    color: var(--pr-accent);
    font-weight: 700;
  }
  
  /* Картинки и цитаты из БД */
  .tm-page-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--pr-radius);
  }
  /* Сохраняем заданную ширину миниатюр/галерей, только не даём вылезать */
  .tm-page-content img[width],
  .tm-page-content img[height],
  .tm-page-content img[style*="width"],
  .tm-page-content img[style*="height"] {
    max-width: 100%;
    height: auto;
  }
  .tm-page-content img[align="left"] {
    float: left !important;
    display: inline;
    margin: 0 16px 16px 0 !important;
    max-width: min(42%, 340px);
  }
  .tm-page-content img[align="right"] {
    float: right !important;
    display: inline;
    margin: 0 0 16px 16px !important;
    max-width: min(42%, 340px);
  }
  .tm-page-content img[align="center"] {
    float: none !important;
    display: block;
    margin: 16px auto;
  }
  .tm-page-content font {
    font-family: inherit;
  }
  .tm-page-content center {
    display: block;
    max-width: 100%;
  }
  .tm-page-content blockquote {
    border-left: 4px solid var(--pr-accent);
    background: var(--pr-bg-soft);
    border-radius: 0 var(--pr-radius) var(--pr-radius) 0;
    margin: 16px 0;
    padding: 16px 16px;
    font-style: normal;
    color: var(--pr-ink);
  }
  
  /* Таблицы цен из БД — зебра, без правки HTML */
  .tm-page-content table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: collapse;
    margin: 12px 0 16px;
    font-size: 15px;
    table-layout: auto;
  }
  .tm-page-content table[width] {
    width: 100% !important;
  }
  .tm-page-content table td[width],
  .tm-page-content table th[width] {
    width: auto !important;
    max-width: 100%;
  }
  .tm-page-content table td,
  .tm-page-content table th {
    border: 1px solid var(--pr-border);
    padding: 8px 12px;
  }
  /* v5.1: было `td strong:only-child` — темный фон красил сам <strong>
     («темная нашлепка» внутри белой ячейки), теперь красится ячейка */
  .tm-page-content table th,
  .tm-page-content table tr:first-child td:has(> strong:only-child),
  .tm-page-content table tr:first-child td:has(> b:only-child) {
    background: var(--pr-ink);
    color: #fff;
    font-weight: 600;
    text-align: left;
  }
  .tm-page-content table th { background: var(--pr-ink); }
  .tm-page-content table tr:nth-child(even) td { background: var(--pr-bg-soft); }
  
  /* На мобильных широкие таблицы скроллятся, а не ломают верстку.
     v5.1: overflow был на всем .tm-page-content — резал тени карточек
     и ломал sticky; теперь скроллится сама таблица (как в .pr-legacy-content) */
  @media (max-width: 639px) {
    .tm-page-content table {
      display: block;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
  }
  
  
  /* ------------------------------------------------------------
     10. Блоки .pr-* для НОВОЙ разметки (услуги, главная)
     ------------------------------------------------------------ */
  .tm-page-content .pr-hero {
    border-left: 4px solid var(--pr-accent);
    padding: 4px 0 4px 16px;
    margin: 4px 0 24px;
  }
  .tm-page-content .pr-hero p {
    font-size: 18px;
    color: var(--pr-muted);
    margin: 0;
    max-width: 760px;
  }
  
  .tm-page-content .pr-section { margin: 0 0 var(--pr-gap-section); }
  .tm-page-content .pr-section + .pr-section {
    padding-top: 32px;
    border-top: 1px solid var(--pr-border);
  }
  .tm-page-content .pr-section--soft {
    background: var(--pr-bg-soft);
    border-radius: var(--pr-radius);
    padding: 24px 24px;
    border-top: none !important;
  }
  
  .tm-page-content .pr-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin: 16px 0;
    padding: 0;
    list-style: none;
  }
  .tm-page-content .pr-card {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-top: 3px solid var(--pr-accent);
    border-radius: var(--pr-radius);
    padding: 16px 16px 16px;
    transition: box-shadow 0.18s ease, transform 0.18s ease;
  }
  .tm-page-content .pr-card:hover {
    box-shadow: var(--pr-shadow);
    transform: translateY(-2px);
  }
  .tm-page-content .pr-card h3 { font-size: 17px; margin: 0 0 8px; }
  .tm-page-content .pr-card h3 a {
    color: var(--pr-ink);
    text-decoration: none;
    border-bottom: none;
  }
  .tm-page-content .pr-card h3 a:hover { color: var(--pr-accent); }
  .tm-page-content .pr-card p { font-size: 14px; color: var(--pr-muted); margin: 0 0 8px; }
  .tm-page-content .pr-card ul:not([class]) > li { padding: 2px 0 2px 24px; font-size: 14px; }
  
  .tm-page-content .pr-price {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: var(--pr-ink);
    white-space: nowrap;
  }
  .tm-page-content .pr-price small {
    font-size: 13px;
    font-weight: 400;
    color: var(--pr-muted);
  }
  
  .tm-page-content .pr-cta {
    background: var(--pr-ink);
    color: #fff;
    border-radius: var(--pr-radius);
    padding: 24px 24px;
    margin: 32px 0 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 24px;
  }
  .tm-page-content .pr-cta h3,
  .tm-page-content .pr-cta p { color: #fff; margin: 0; }
  .tm-page-content .pr-cta p { color: rgba(255, 255, 255, 0.75); font-size: 14px; }
  .tm-page-content .pr-cta .pr-cta__text { flex: 1 1 320px; }
  .tm-page-content .pr-cta a.pr-cta__phone {
    display: inline-block;
    background: var(--pr-accent);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: none;
    padding: 12px 24px;
    border-radius: var(--pr-radius);
    white-space: nowrap;
    transition: background 0.15s ease;
  }
  .tm-page-content .pr-cta a.pr-cta__phone:hover { background: var(--pr-accent-dark); }
  
  /* Блоки главной (home.html) */
  .tm-home-page {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 0 8px;
  }

  /* Hero — один блок, без фото из каталога (коллаж ломал композицию) */
  .pr-band {
    position: relative;
    margin: 0 0 20px;
    border-radius: 14px;
    overflow: hidden;
    background:
      radial-gradient(ellipse 70% 80% at 100% 0%, rgba(255, 53, 70, 0.22), transparent 55%),
      linear-gradient(145deg, #1f2128 0%, #121318 55%, #0e0f12 100%);
  }
  .pr-band::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--pr-accent);
  }
  .pr-band__grid,
  .pr-band__visual,
  .pr-band__photo,
  .pr-band__tags {
    display: none !important;
  }
  .pr-band__content {
    position: relative;
    z-index: 1;
    max-width: 720px;
    padding: 40px 40px 40px 44px;
    color: #fff;
  }
  .pr-band__eyebrow {
    display: inline-block;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #ff8a95;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .pr-band__content h1,
  .pr-band h1 {
    color: #fff;
    margin: 0 0 14px;
    font-size: clamp(28px, 3.4vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    max-width: none;
  }
  .pr-band__lead {
    color: rgba(255, 255, 255, 0.78);
    margin: 0 0 22px;
    font-size: 16px;
    line-height: 1.55;
    max-width: 54ch;
  }
  .pr-band .pr-band__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .pr-band .pr-band__phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pr-accent);
    color: #fff !important;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none !important;
    padding: 13px 24px;
    border-radius: 10px;
    white-space: nowrap;
    box-shadow: none;
    transition: background 0.15s ease;
  }
  .pr-band .pr-band__phone:hover {
    background: var(--pr-accent-dark);
    transform: none;
    box-shadow: none;
  }
  .pr-band .pr-band__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 10px;
    padding: 12px 18px;
    text-decoration: none !important;
    font-weight: 600;
    background: transparent;
    transition: border-color 0.15s ease, background 0.15s ease;
  }
  .pr-band .pr-band__link:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff !important;
  }
  .pr-band .pr-band__note {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    white-space: nowrap;
  }

  /* Цифры — ровная сетка 4 в ряд, без наезда на hero */
  .pr-advantages {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
  }
  .pr-advantage {
    position: relative;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    padding: 18px 16px;
    min-height: 0;
    box-shadow: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    overflow: hidden;
  }
  .pr-advantage::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pr-accent);
  }
  .pr-advantage:hover {
    transform: none;
    border-color: #d8dbe0;
    box-shadow: 0 6px 20px rgba(26, 26, 31, 0.06);
  }
  .pr-advantage__icon {
    display: none;
  }
  .pr-advantage .pr-advantage__num {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: var(--pr-accent);
    line-height: 1;
    margin-bottom: 4px;
  }
  .pr-advantage h3 {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 4px;
    color: var(--pr-ink);
  }
  .pr-advantage p {
    font-size: 13px;
    color: var(--pr-muted);
    margin: 0;
    line-height: 1.4;
  }

  .pr-home-section--services {
    margin: 0 0 24px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  
  .pr-heading {
    position: relative;
    padding-left: 16px;
    margin: 0 0 16px;
    font-size: 26px;
    font-weight: 700;
  }
  .pr-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    border-radius: 2px;
    background: var(--pr-accent);
  }
  .pr-home-intro {
    margin: -4px 0 16px;
    color: var(--pr-muted);
    max-width: 720px;
    font-size: 15px;
  }

  /* Главная: полосы-якоря услуг (Вариант C) */
  .pr-home-services {
    margin-bottom: 0;
  }
  .pr-home-anchors {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .pr-home-anchor {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 26px;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    color: var(--pr-ink) !important;
    text-decoration: none !important;
    transition: border-color 0.15s, background 0.15s;
  }
  .pr-home-anchor:hover {
    border-color: rgba(255, 53, 70, 0.4);
    background: var(--pr-bg-soft);
  }
  .pr-home-anchor__num {
    flex: 0 0 auto;
    min-width: 62px;
    font-size: 44px;
    font-weight: 800;
    line-height: 1;
    color: var(--pr-accent);
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.02em;
  }
  .pr-home-anchor__body {
    flex: 1 1 auto;
    min-width: 0;
  }
  .pr-home-anchor__title {
    display: block;
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
  }
  .pr-home-anchor__text {
    display: block;
    margin: 0;
    color: var(--pr-muted);
    font-size: 14px;
    line-height: 1.5;
    max-width: 620px;
  }
  .pr-home-anchor__cta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 11px 20px;
    border-radius: 8px;
    background: var(--pr-accent);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    transition: filter 0.15s, box-shadow 0.15s;
  }
  .pr-home-anchor:hover .pr-home-anchor__cta {
    filter: brightness(1.06);
    box-shadow: 0 6px 16px rgba(255, 53, 70, 0.22);
  }

  .pr-home-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
    padding: 24px 22px;
    background: linear-gradient(135deg, #fff 0%, var(--pr-bg-soft) 100%);
    border: 1px solid var(--pr-border);
    border-radius: 14px;
    box-sizing: border-box;
    max-width: 100%;
  }
  .pr-home-cta .pr-band__phone {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }
  .pr-home-cta__text h2 {
    margin: 0 0 6px;
    font-size: 22px;
    font-weight: 800;
  }
  .pr-home-cta__text p {
    margin: 0;
    color: var(--pr-muted);
    font-size: 15px;
  }
  .tm-home-page .tm-home-page-block-1 {
    display: none !important;
  }

  /* Главная: карта в футере — не на всю ширину экрана */
  .pr-home-map {
    margin: 8px 0 0;
    padding: 24px 0 32px;
    background: var(--pr-bg-soft);
    border-top: 1px solid var(--pr-border);
  }
  .pr-home-map__frame {
    height: 340px;
    max-width: 1120px;
    margin: 0 auto;
    border-radius: 12px;
    border: 1px solid var(--pr-border);
    background: #e8e8ea;
    box-shadow: var(--pr-shadow);
  }
  .pr-home-map__frame iframe {
    border: 0;
    display: block;
  }
  .pr-home-map__contacts {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    max-width: 300px;
  }
  .pr-home-map__contacts .uk-card-secondary {
    border-radius: 10px;
    box-shadow: var(--pr-shadow-lg);
  }

  /* Главная: блок «Наши услуги» — те же карточки, что pr-catalog-page (без фото-overlay) */
  .tm-home-page .tm-home-page-categories {
    margin-top: 8px;
  }
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 0;
    padding: 24px 16px 16px;
    min-height: 122px;
    height: 100%;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    border-top: 3px solid var(--pr-accent);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: var(--pr-shadow-lg);
  }
  /* На главной — только название, без фото (иначе одна карточка с мото, остальные пустые) */
  .tm-home-page .tm-home-page-categories img {
    display: none !important;
  }
  .tm-home-page .tm-home-page-categories .uk-width-1-3,
  .tm-home-page .tm-home-page-categories .uk-width-2-3 {
    width: 100% !important;
    max-width: 100%;
    padding: 0;
  }
  .tm-home-page .tm-home-page-categories a.uk-text-bold {
    position: static;
    color: var(--pr-ink) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none !important;
  }
  .tm-home-page .tm-home-page-categories a.uk-text-bold::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
    color: var(--pr-accent) !important;
  }
  /* Старый viewmode uk-card (если включат в настройках) — не ломать, но спрятать overlay */
  .tm-home-page .tm-home-page-categories .uk-card {
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    border-top: 3px solid var(--pr-accent);
    overflow: hidden;
    background: #fff;
  }
  .tm-home-page .tm-home-page-categories .uk-card .uk-overlay-default,
  .tm-home-page .tm-home-page-categories .uk-card [class*="uk-overlay"] {
    position: static !important;
    background: #fff !important;
    padding: 16px 12px !important;
  }
  .tm-home-page .tm-home-page-categories .uk-card .uk-h4,
  .tm-home-page .tm-home-page-categories .uk-card .uk-h5 {
    color: var(--pr-ink) !important;
    font-size: 15px;
    font-weight: 700;
  }
  .tm-home-page .tm-home-page-categories .uk-card img {
    display: none !important;
  }
  .tm-home-page .tm-home-page-categories .uk-card .uk-cover-container {
    display: none !important;
  }
  
  
  /* ------------------------------------------------------------
     11. Доступность, мобильные
     ------------------------------------------------------------ */
  a:focus-visible,
  button:focus-visible,
  .uk-button:focus-visible,
  .uk-input:focus-visible {
    outline: 2px solid var(--pr-accent);
    outline-offset: 2px;
  }
  
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
    }
  }
  
  @media (max-width: 959px) {
    .tm-page-title { font-size: 26px; }
    .tm-product-page-title { font-size: 23px; }
  }
  
  @media (max-width: 639px) {
    .tm-page-title { font-size: 23px; }
    .tm-page-content { font-size: 15px; }
    .tm-page-content h2 { font-size: 22px; }
    .tm-page-content .pr-hero p { font-size: 16px; }
    .tm-page-content .pr-section--soft { padding: 16px 16px; }
    .tm-page-content .pr-cta { padding: 24px 16px; }
    .tm-page-content .pr-cta a.pr-cta__phone { width: 100%; text-align: center; }
    .pr-band {
      border-radius: 12px;
    }
    .pr-band__content {
      padding: 28px 20px 28px 24px;
    }
    .pr-band__content h1,
    .pr-band h1 {
      font-size: 26px;
    }
    .pr-band .pr-band__phone { width: 100%; text-align: center; font-size: 16px; }
    .pr-band .pr-band__actions { gap: 8px; }
    .pr-band .pr-band__link { width: 100%; text-align: center; }
    .pr-band .pr-band__note { width: 100%; white-space: normal; }
    .pr-advantages {
      grid-template-columns: 1fr 1fr;
      margin: 0 0 20px;
      gap: 10px;
    }
    .pr-advantage { padding: 14px 12px; }
    .pr-advantage .pr-advantage__num { font-size: 24px; }
    .pr-home-section--services {
      margin: 0 0 20px;
      padding: 0;
    }
    .pr-home-anchor {
      align-items: center;
      flex-wrap: wrap;
      gap: 6px 16px;
      padding: 18px 16px;
    }
    .pr-home-anchor__num { min-width: 0; font-size: 32px; }
    .pr-home-anchor__cta {
      flex: 1 1 100%;
      width: 100%;
      justify-content: center;
      margin-top: 6px;
    }
    .pr-home-cta {
      flex-direction: column;
      align-items: stretch;
      text-align: center;
    }
    .pr-home-cta .pr-band__phone { width: 100%; text-align: center; }
    .pr-home-map { padding: 16px 0 24px; }
    .pr-home-map__frame { height: 260px; border-radius: 10px; }
    .pr-home-map__contacts {
      position: static;
      transform: none;
      max-width: none;
      margin: 12px 12px 0;
    }
    .uk-button { min-height: 44px; }
  }
  


  /* ============================================================
     12. FULL-SITE COMPONENTS (v7 — сверено с шаблонами)
     Каждый селектор ниже взят из реального HTML темы:
     cart.html, checkout*.html, product.cart.html, product.gallery.html,
     product.overview.html, products.list.1.html, search.html,
     category.filter.html, filter.selected.html, sidebar.html,
     offcanvas.html, service.html, header.3.html, page.html.
     Только внешний вид: JS-классы состояния (uk-active/uk-open/
     uk-done/uk-upcoming), data-uk-*, name/action форм не тронуты.
     ============================================================ */

  /* ------------------------------------------------------------
     12.1 Вертикальный ритм (все типы страниц)
     ------------------------------------------------------------ */
  .uk-breadcrumb { margin: 0 0 var(--pr-s3); }

  .tm-page-title,
  .tm-category-page-title,
  .tm-cart-page-title { margin-top: 0; }

  .tm-cart-page-title {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: var(--pr-s5);
  }

  /* Блок товаров всегда отделен от того, что выше */
  #product-list { margin-top: var(--pr-gap-section); }
  #product-list > .uk-margin:first-child { margin-top: 0; }

  .uk-pagination { margin: var(--pr-s5) 0 0; }
  .uk-lazyload-toggle { margin-top: var(--pr-s5) !important; }


  /* ------------------------------------------------------------
     12.2 Страница товара / услуги
     product.1.html: .uk-grid > (gallery | product.cart | overview)
     ------------------------------------------------------------ */

  /* 12.2.1 Галерея (product.gallery.html, data-uk-product-gallery) */
  [data-uk-product-gallery] .uk-slideshow-items,
  [data-uk-product-gallery] .uk-slider-items img {
    border-radius: var(--pr-radius-lg);
  }
  [data-uk-product-gallery] .uk-slideshow-items img { border-radius: var(--pr-radius-lg); }

  .uk-product-gallery-thumbs { margin-top: var(--pr-s3); }
  .uk-product-gallery-thumbs img {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    padding: 2px;
    background: #fff;
    transition: border-color 0.15s ease, opacity 0.15s ease;
  }
  .uk-product-gallery-thumbs a:hover img { border-color: var(--pr-accent); }
  .uk-thumbnav-selected .selected img,
  .uk-product-gallery-thumbs .selected img { border-color: var(--pr-accent); }

  /* Бейджи на фото товара */
  .badge-wrapper .badge,
  .badge-wrapper > * {
    background: var(--pr-accent);
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
  }

  /* 12.2.2 Блок покупки (product.cart.html: form#cart-form.uk-product-form) */
  #cart-form.uk-product-form,
  #cart-form-dialog.uk-product-form {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    padding: var(--pr-s5);
  }
  #cart-form .uk-h2.uk-product-name,
  #cart-form-dialog .uk-h2.uk-product-name {
    font-size: 24px;
    line-height: 1.25;
    margin: 0 0 var(--pr-s3);
  }
  /* Цена */
  #cart-form .pricing,
  #cart-form-dialog .pricing { margin: 0 0 var(--pr-s4); }
  #cart-form .price.uk-price,
  #cart-form-dialog .price.uk-price {
    font-size: 28px;
    font-weight: 800;
    color: var(--pr-ink);
  }
  .compare-at-price.uk-compare-price {
    font-weight: 400;
    color: var(--pr-muted);
    text-decoration: line-through;
  }
  .uk-product-you-save { display: block; margin-top: var(--pr-s1); }
  .uk-product-you-save-price { color: var(--pr-accent); font-weight: 600; }

  /* Кнопка «В корзину» */
  #cart-form .uk-button-primary.uk-button-large,
  #cart-form-dialog .uk-button-primary.uk-button-large {
    min-height: 48px;
    padding: 0 var(--pr-s5);
    font-size: 16px;
  }
  #cart-form .uk-button-group,
  #cart-form-dialog .uk-button-group {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    overflow: hidden;
  }
  .uk-product-quantity { border: none !important; box-shadow: none !important; }

  /* Артикул, наличие, опции */
  .sku--vendor-code,
  .vendor-codes { font-size: 13px; color: var(--pr-muted); }
  .stocks.uk-product-stocks { margin: var(--pr-s3) 0 !important; font-size: 14px; }
  .stock-high { color: #1a9e4b !important; }
  .stock-low,
  .stock-critical { color: #c47b00 !important; }
  .stock-none { color: var(--pr-muted) !important; }

  .skus.uk-list > li,
  .options .option { padding: var(--pr-s1) 0; }
  .uk-button-feature,
  .uk-button-colorfeature {
    border-radius: var(--pr-radius);
    margin: 0 var(--pr-s2) var(--pr-s2) 0;
  }
  .uk-unavailable-option,
  .sku-no-available,
  .sku-no-stock { opacity: 0.45; }

  /* Доп. услуги к товару */
  .services.uk-product-services {
    border-top: 1px solid var(--pr-border);
    margin-top: var(--pr-s4) !important;
    padding-top: var(--pr-s4);
  }
  .services.uk-product-services .service-price { color: var(--pr-muted); }

  .aux.uk-product-aux { margin-top: var(--pr-s4); color: var(--pr-muted); }

  /* 12.2.3 Табы описания (product.overview.html: #overview.product-info) */
  #overview.product-info .product-nav.uk-tab { margin-bottom: var(--pr-s5); }
  #overview.product-info .uk-switcher > * { padding-top: 0; }
  #overview.product-info .uk-accordion-content { margin-top: var(--pr-s3); }

  /* Характеристики (table.features) */
  #overview.product-info table.features { margin: 0; }
  #overview.product-info table.features td.name {
    color: var(--pr-muted);
    width: 42%;
  }
  #overview.product-info table.features td.value { font-weight: 600; }
  #overview.product-info table.features tr.divider td {
    background: var(--pr-bg-soft);
    font-weight: 700;
    color: var(--pr-ink);
  }

  /* Отзывы */
  #overview.product-info .reviews .rating-distribution .bar {
    background: var(--pr-bg-soft);
    border-radius: 999px;
    overflow: hidden;
    height: 8px;
  }
  #overview.product-info .reviews .rating-distribution .filling {
    background: var(--pr-accent);
    height: 8px;
  }

  /* Теги внизу товара (#product-tags.tags.uk-subnav) */
  #product-tags.uk-subnav > * > a,
  .tags.uk-subnav > * > a {
    border: 1px solid var(--pr-border);
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 13px;
    color: var(--pr-muted);
    text-transform: none;
  }
  #product-tags.uk-subnav > * > a:hover,
  .tags.uk-subnav > * > a:hover {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
  }


  /* ------------------------------------------------------------
     12.3 Карточки списка товаров (products.list.1.html)
     Работают везде: категория, поиск, страница, favorite/viewed
     ------------------------------------------------------------ */
  #product-list .uk-card.uk-card-product,
  .tm-page-product-list .uk-card.uk-card-product {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    background: #fff;
    box-shadow: none;
    padding: 12px 16px;
    transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
  }
  #product-list .uk-card.uk-card-product:hover,
  .tm-page-product-list .uk-card.uk-card-product:hover {
    border-color: transparent;
    box-shadow: var(--pr-shadow);
    transform: translateY(-1px);
  }
  ul.product-list.uk-products > li + li { margin-top: var(--pr-s3); }

  /* Кнопка превью (zoom) — видна на hover, не «прыгает» */
  .uk-card-product .uk-icon-button.uk-transition-fade {
    background: rgba(255, 255, 255, 0.92);
    color: var(--pr-ink);
    box-shadow: var(--pr-shadow);
  }
  .uk-card-product .uk-icon-button.uk-transition-fade:hover { color: var(--pr-accent); }

  /* Избранное / сравнение */
  .uk-product-favorite.uk-active,
  .uk-product-compare.uk-active { color: var(--pr-accent); }

  /* Бейдж «низкая цена» */
  .uk-card-product .badge.low-price {
    background: var(--pr-accent);
    color: #fff;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 8px;
  }


  /* ------------------------------------------------------------
     12.4 Поиск (search.html / search.list.html)
     Обёртки .tm-search-page НЕТ — якорь только .tm-search-page-title
     ------------------------------------------------------------ */
  .tm-search-page-title { margin-bottom: var(--pr-s4); }
  .tm-search-page-title .uk-text-danger { color: var(--pr-accent) !important; }

  /* Форма поиска на пустой выдаче */
  .tm-search-page-title ~ form.uk-search-default {
    max-width: 560px;
    margin: 0 0 var(--pr-gap-section);
  }
  .tm-search-page-title ~ form.uk-search-default .uk-search-input {
    height: 48px;
    background: #fff;
    border: 1px solid var(--pr-border);
  }
  #clear-list { margin-bottom: var(--pr-s4); }


  /* ------------------------------------------------------------
     12.5 Фильтры
     category.filter.html: .filters > .filters-form > .filter-param + uk-drop
     sidebar.html:         .filters > .uk-accordion
     filter.selected.html: .uk-selected-filters > a.uk-products-filter-clear
     ------------------------------------------------------------ */
  .filters .filters-form { margin: 0; }
  .filters .filter-param > .uk-button-default {
    border-radius: 999px;
    border: 1px solid var(--pr-border);
    background: #fff;
    font-weight: 600;
    text-transform: none;
    padding: 0 var(--pr-s4);
  }
  .filters .filter-param > .uk-button-default:hover,
  .filters .filter-param.uk-open > .uk-button-default {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
  }
  .filters .uk-drop { width: 280px; }
  .filters .uk-drop .uk-card-default {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    box-shadow: var(--pr-shadow-lg);
  }
  .filters .uk-drop label,
  .filters .uk-accordion-content label {
    display: block;
    padding: var(--pr-s1) 0;
    cursor: pointer;
  }
  .filters .uk-drop label:hover,
  .filters .uk-accordion-content label:hover { color: var(--pr-accent); }
  .filters .slider .uk-input { text-align: center; }
  .filters .uk-button-primary,
  .filters .uk-button-secondary { margin-top: var(--pr-s3); }

  /* Фильтры в сайдбаре — аккордеон */
  .uk-card-sidebar .filters .uk-accordion > li + li {
    border-top: 1px solid var(--pr-border);
    margin-top: 0;
  }
  .uk-card-sidebar .filters .uk-accordion-title {
    font-size: 15px;
    font-weight: 700;
    padding: var(--pr-s3) 0;
    text-transform: none;
  }
  .uk-card-sidebar .filters .uk-accordion-content {
    margin-top: 0;
    padding-bottom: var(--pr-s3);
  }

  /* Чипсы выбранных фильтров */
  .uk-selected-filters { margin-bottom: var(--pr-s4) !important; }
  .uk-selected-filters > span { color: var(--pr-muted); font-size: 14px; }
  .uk-selected-filters a.uk-products-filter-clear {
    border-radius: 999px;
    border: 1px solid var(--pr-border);
    background: var(--pr-bg-soft);
    color: var(--pr-ink);
    font-weight: 600;
    text-transform: none;
    padding: 0 12px;
  }
  .uk-selected-filters a.uk-products-filter-clear:hover {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
    background: var(--pr-accent-soft);
  }
  .uk-selected-filters a.uk-button-danger,
  .uk-selected-filters a.uk-button-dangerdefault {
    background: var(--pr-accent);
    border-color: var(--pr-accent);
    color: #fff;
  }
  .uk-selected-filters .uk-selected-filter-close { margin-left: var(--pr-s1); opacity: 0.7; }


  /* ------------------------------------------------------------
     12.6 Корзина (cart.html)
     Реальная разметка: form.tm-cart-page.uk-cart > .cart.cart-summary-page
     > .item.uk-cart-item (grid), .cart-coupon, #discount-row,
     .cart-total.total, .cart-checkout. Таблицы НЕТ.
     ------------------------------------------------------------ */
  .tm-cart-page .cart-summary-page {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    padding: var(--pr-s3) var(--pr-s5) var(--pr-s5);
  }
  .tm-cart-page .item.uk-cart-item {
    padding: var(--pr-s4) 0 !important;
  }
  .tm-cart-page .item.uk-cart-item.uk-border-top { border-top: 1px solid var(--pr-border); }

  .tm-cart-page .uk-cart-item-image {
    border-radius: var(--pr-radius);
    background: var(--pr-bg-soft);
  }
  .tm-cart-page .item-name .uk-h4 { margin: 0; font-size: 16px; line-height: 1.4; }
  .tm-cart-page a.uk-cart-item-name {
    color: var(--pr-ink);
    font-weight: 700;
    text-decoration: none;
  }
  .tm-cart-page a.uk-cart-item-name:hover { color: var(--pr-accent); }
  .tm-cart-page .uk-cart-item-sku-name { display: inline-block; }

  .tm-cart-page .item-qty .uk-button-group {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    overflow: hidden;
  }
  .tm-cart-page .uk-cart-item-quantity {
    border: none !important;
    box-shadow: none !important;
    font-weight: 600;
  }
  .tm-cart-page .item-total.price { font-size: 17px; font-weight: 800; }
  .tm-cart-page .item-remove .uk-cart-item-delete {
    color: var(--pr-muted);
    transition: color 0.15s ease;
  }
  .tm-cart-page .item-remove .uk-cart-item-delete:hover { color: var(--pr-accent); }

  .tm-cart-page .services.uk-services { margin-top: var(--pr-s2); }
  .tm-cart-page .service.uk-service { font-size: 14px; color: var(--pr-muted); }

  /* Купон / скидка / итог */
  .tm-cart-page .cart-coupon { margin: var(--pr-s4) 0; }
  .tm-cart-page #discount-row { margin-top: var(--pr-s3); color: var(--pr-muted); }
  .tm-cart-page .cart-discount,
  .tm-cart-page .affiliate-discount { color: var(--pr-accent); font-weight: 600; }
  .tm-cart-page .cart-total.total {
    font-size: 24px;
    font-weight: 800;
    color: var(--pr-ink);
  }
  .tm-cart-page .cart-checkout .uk-button-primary {
    min-height: 48px;
    padding: 0 var(--pr-s6);
    font-size: 16px;
  }
  .tm-cart-page .uk-cart-clear.uk-button-danger { font-weight: 600; }
  .tm-cart-page .related.uk-card-default {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    box-shadow: none;
  }

  /* Пустая корзина */
  .cart.your-cart-is-empty {
    background: var(--pr-bg-soft);
    border: 1px dashed var(--pr-border);
    border-radius: var(--pr-radius-lg);
    padding: var(--pr-s7) var(--pr-s5);
    text-align: center;
  }
  .cart.your-cart-is-empty .tm-cart-page-title { margin-bottom: var(--pr-s3); }
  .cart.your-cart-is-empty p { color: var(--pr-muted); }
  .cart.your-cart-is-empty .back { margin-top: var(--pr-s5); }


  /* ------------------------------------------------------------
     12.7 Checkout (checkout.html + шаги)
     Обёртка: .uk-checkout (uk-container-small), шаги .uk-checkout-step
     с состояниями .uk-active / .uk-done / .uk-upcoming
     ------------------------------------------------------------ */
  .uk-checkout { padding-top: var(--pr-s2); }
  .uk-checkout .uk-checkout-form { margin-bottom: var(--pr-s4) !important; }

  .uk-checkout-step {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    overflow: hidden;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .uk-checkout-step.uk-active {
    border-color: var(--pr-ink);
    box-shadow: var(--pr-shadow);
  }
  .uk-checkout-step.uk-upcoming { opacity: 0.6; }

  .uk-checkout-step-header {
    background: var(--pr-bg-soft) !important;
    border-bottom: 1px solid var(--pr-border);
    padding: var(--pr-s4) var(--pr-s5) !important;
    font-size: 17px;
    font-weight: 700;
  }
  .uk-checkout-step.uk-active > .uk-checkout-step-header { background: #fff !important; }
  .uk-checkout-step-header .uk-link-reset { color: var(--pr-ink); }
  .uk-checkout-step-header .uk-text-muted { color: var(--pr-accent) !important; }
  .uk-checkout-step-done { color: #1a9e4b !important; }
  .uk-checkout-step-prev.uk-button-default {
    margin-left: var(--pr-s3);
    font-size: 13px;
  }

  .uk-checkout-step-wrapper { padding: var(--pr-s5) var(--pr-s5) 0 !important; }
  .uk-checkout-step-buttons { margin-top: var(--pr-s5) !important; padding-bottom: var(--pr-s5); }
  .uk-checkout-step-buttons .uk-button-primary { min-height: 44px; padding: 0 var(--pr-s5); }
  .uk-checkout-step-buttons .uk-button-large { min-height: 48px; }
  .uk-checkout-step-error { margin-top: var(--pr-s3); }

  /* Способы доставки и оплаты — карточки-радио */
  .uk-shipping-item,
  .uk-payment-item {
    border: 1px solid var(--pr-border) !important;
    border-radius: var(--pr-radius);
    margin-bottom: var(--pr-s3);
    padding: var(--pr-s4) !important;
    transition: border-color 0.15s ease, background-color 0.15s ease;
  }
  .uk-shipping-item:hover,
  .uk-payment-item:hover { border-color: var(--pr-accent) !important; }
  .uk-shipping-item:has(input:checked),
  .uk-payment-item:has(input:checked) {
    border-color: var(--pr-accent) !important;
    background: var(--pr-accent-soft);
  }
  .uk-shipping-header,
  .uk-payment-header { font-size: 16px; font-weight: 700; }
  .uk-shipping-image,
  .uk-payment-image { max-height: 32px; width: auto; }
  .uk-shipping-price { font-weight: 700; color: var(--pr-ink); }
  .uk-shipping-delivery { color: var(--pr-muted); font-size: 13px; }
  .uk-shipping-details { margin-top: var(--pr-s3); }
  .uk-shipping-rates.uk-select { margin-top: var(--pr-s2); }

  /* Подтверждение заказа */
  .uk-checkout-step-content .uk-tile-muted,
  .uk-checkout-step-content .uk-tile-default {
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    padding: var(--pr-s4) !important;
  }
  .uk-checkout-step-content .uk-tile-muted { background: var(--pr-bg-soft); }
  .uk-checkout-step-content .services.uk-list { color: var(--pr-muted); font-size: 14px; }

  /* Успех / ошибка оплаты */
  .uk-checkout-step-content .error.uk-alert-danger h1 { font-size: 22px; margin: 0 0 var(--pr-s2); }
  .uk-checkout-step-content .back { margin-top: var(--pr-s5); }

  /* Авторизация внутри первого шага (checkout.auth.html) */
  [data-uk-checkout-auth] {
    background: var(--pr-bg-soft);
    border-bottom: 1px solid var(--pr-border);
    padding: var(--pr-s4) var(--pr-s5) !important;
  }
  [data-uk-checkout-auth] label { cursor: pointer; padding: var(--pr-s1) 0; display: inline-block; }


  /* ------------------------------------------------------------
     12.8 Сравнение (compare.html)
     ------------------------------------------------------------ */
  .tm-compare-page table td,
  .tm-compare-page table th {
    border: 1px solid var(--pr-border);
    padding: var(--pr-s3) var(--pr-s4);
    vertical-align: middle;
  }
  .tm-compare-page table th {
    background: var(--pr-ink);
    color: #fff;
    font-weight: 600;
    text-align: left;
    text-transform: none;
  }
  .tm-compare-page img {
    max-height: 120px;
    width: auto;
    border-radius: var(--pr-radius);
  }
  .tm-compare-page .price { font-size: 17px; }


  /* ------------------------------------------------------------
     12.9 Модалки (service.html)
     Реальная разметка: .uk-modal > .uk-modal-dialog.uk-modal-body
     (+ .uk-modal-container для превью/страниц, .uk-width-1-1.uk-height-1-1
     для карты). Header/footer в шаблонах НЕТ.
     ------------------------------------------------------------ */
  .uk-modal-dialog {
    border-radius: var(--pr-radius-lg);
    box-shadow: var(--pr-shadow-lg);
  }
  .uk-modal-dialog.uk-modal-body { padding: var(--pr-s6); }
  .uk-modal-title,
  .uk-modal-dialog .uk-h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 var(--pr-s3);
  }
  .uk-modal-close-default {
    color: var(--pr-muted);
    padding: var(--pr-s2);
    border-radius: 50%;
    transition: color 0.15s ease, background-color 0.15s ease;
  }
  .uk-modal-close-default:hover {
    color: var(--pr-accent);
    background: var(--pr-bg-soft);
  }
  .uk-modal-content { min-height: 40px; }
  .uk-modal-content a { color: var(--pr-accent); }

  /* Карта в модалке — во весь диалог, без белых полей и скруглений */
  .uk-modal-dialog.uk-width-1-1.uk-height-1-1 {
    padding: 0;
    border-radius: 0;
  }
  .uk-modal-dialog.uk-width-1-1.uk-height-1-1 iframe {
    border: 0;
    display: block;
  }
  .uk-modal-close-full { color: #fff; }
  .uk-modal-close-full:hover { color: var(--pr-accent); }

  /* Превью товара: внутри модалки лежит #cart-form-dialog — без двойной рамки */
  .uk-modal-content #cart-form-dialog.uk-product-form {
    border: none;
    padding: 0;
    background: transparent;
  }

  /* Уведомления «добавлено в корзину/сравнение» */
  .uk-notification-message,
  .uk-alert.uk-box-shadow-medium {
    border-radius: var(--pr-radius);
    box-shadow: var(--pr-shadow-lg);
  }
  .uk-notification-message a { color: var(--pr-accent); }


  /* ------------------------------------------------------------
     12.10 Offcanvas (offcanvas.html: #uk-categories-target, #uk-menu-target,
     #uk-search-target, #uk-account-target, #uk-contacts-target, фильтры)
     Бар идет с .uk-padding-remove-vertical — вертикальный отступ даем nav'у
     ------------------------------------------------------------ */
  .uk-offcanvas-bar {
    background: #fff;
    color: var(--pr-ink);
    padding-left: var(--pr-s4);
    padding-right: var(--pr-s4);
  }
  .uk-offcanvas-bar > .uk-nav,
  .uk-offcanvas-bar > .uk-panel,
  .uk-offcanvas-bar > form { padding: var(--pr-s6) 0 var(--pr-s5); }

  .uk-offcanvas-bar a,
  .uk-offcanvas-bar .uk-nav > li > a { color: var(--pr-ink); }
  .uk-offcanvas-bar .uk-nav > li > a { padding: 12px 0; font-size: 15px; }
  .uk-offcanvas-bar .uk-nav > li + li { border-top: 1px solid var(--pr-border); }
  .uk-offcanvas-bar .uk-nav > li > a:hover,
  .uk-offcanvas-bar .uk-nav > li.uk-active > a { color: var(--pr-accent); }
  .uk-offcanvas-bar .uk-nav-header {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--pr-muted);
    padding: 0 0 var(--pr-s2);
    border-top: none;
  }
  .uk-offcanvas-bar .uk-nav-sub { padding-left: var(--pr-s4); }
  .uk-offcanvas-bar .uk-nav-sub a { padding: 8px 0; color: var(--pr-muted); }
  .uk-offcanvas-bar .uk-nav-sub a:hover { color: var(--pr-accent); }
  .uk-offcanvas-bar .uk-offcanvas-close { color: var(--pr-muted); }
  .uk-offcanvas-bar .uk-offcanvas-close:hover { color: var(--pr-accent); }
  .uk-offcanvas-bar .uk-search-input {
    background: var(--pr-bg-soft);
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    height: 44px;
  }
  .uk-offcanvas-bar .uk-button-primary { min-height: 44px; }
  .uk-offcanvas-bar .uk-h2,
  .uk-offcanvas-bar .uk-h3,
  .uk-offcanvas-bar .uk-h4 { color: var(--pr-ink); }

  /* Пункт «Показать все» в подменю (добавляется скриптом темы) */
  .uk-submenu-show-all > a { color: var(--pr-accent) !important; font-weight: 600; }

  /* Плашка cookie */
  #cookie-privacy-policy .uk-alert {
    border-radius: var(--pr-radius-lg);
    border: 1px solid var(--pr-border);
    background: #fff;
    padding: var(--pr-s4);
  }


  /* ------------------------------------------------------------
     12.11 Lightbox (галерея товара, data-uk-lightbox)
     ------------------------------------------------------------ */
  .uk-lightbox { background: rgba(15, 15, 17, 0.94); }
  .uk-lightbox-toolbar { background: transparent; }
  .uk-lightbox-button:hover,
  .uk-lightbox-toolbar-icon:hover { color: var(--pr-accent); }


  /* ------------------------------------------------------------
     12.12 Сайдбар (sidebar.html: .uk-card.uk-card-sidebar)
     ------------------------------------------------------------ */
  .uk-card-sidebar {
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius-lg);
    box-shadow: none;
    margin-bottom: var(--pr-s4) !important;
    overflow: hidden;
  }
  .uk-card-sidebar > .uk-card-header {
    background: var(--pr-bg-soft);
    border-bottom: 1px solid var(--pr-border);
    padding: var(--pr-s3) var(--pr-s4);
  }
  .uk-card-sidebar > .uk-card-header .uk-card-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pr-muted);
    margin: 0;
  }
  .uk-card-sidebar > .uk-card-body { padding: var(--pr-s4); }
  .uk-card-sidebar .uk-nav > li > a { padding: 6px 0; color: var(--pr-ink); }
  .uk-card-sidebar .uk-nav > li > a:hover,
  .uk-card-sidebar .uk-nav > li.uk-active > a { color: var(--pr-accent); }
  .uk-card-sidebar .tags a {
    display: inline-block;
    border: 1px solid var(--pr-border);
    border-radius: 999px;
    padding: 2px 12px;
    margin: 0 4px 8px 0;
    font-size: 13px;
    color: var(--pr-muted);
    text-decoration: none;
  }
  .uk-card-sidebar .tags a:hover { border-color: var(--pr-accent); color: var(--pr-accent); }


  /* ------------------------------------------------------------
     12.13 Info-страницы (page.html: site → .tm-page-subnav,
     shop → .tm-page-pages; чипсы описаны в §5)
     ------------------------------------------------------------ */
  .tm-page .tm-page-content { margin-top: 0; }
  .tm-page .tm-page-product-list { margin-top: var(--pr-gap-section) !important; }
  .tm-page .tm-page-content > .pr-legacy-content > *:first-child { margin-top: 0; }
  .tm-page .tm-page-content > .pr-legacy-content > *:last-child { margin-bottom: 0; }


  /* ------------------------------------------------------------
     12.14 Шапка: мобильный бар и dropbar (header.3.html)
     ------------------------------------------------------------ */
  .uk-hidden\@m .uk-bar-top .uk-icon-button { min-width: 40px; min-height: 40px; }

  /* Мега-меню категорий не должно обрезаться и наезжать */
  .uk-menu-dropbar,
  .uk-dropbar { padding-top: var(--pr-s5); padding-bottom: var(--pr-s5); }
  .uk-menu-dropbar .uk-nav-header {
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--pr-muted);
  }


  /* ------------------------------------------------------------
     12.15 Глобальное: формы, алерты, таблицы, тултипы
     ------------------------------------------------------------ */
  .uk-alert {
    border-radius: var(--pr-radius);
    padding: var(--pr-s4) var(--pr-s5);
  }
  .uk-alert-success { background: rgba(26, 158, 75, 0.1); color: #157a3a; }
  .uk-alert-warning { background: rgba(196, 123, 0, 0.1); color: #8a5700; }

  .uk-tooltip {
    background: var(--pr-ink);
    border-radius: var(--pr-radius);
    font-size: 13px;
  }
  .uk-table th { text-transform: none; color: var(--pr-ink); }
  .uk-table-striped tbody tr:nth-of-type(odd) { background: var(--pr-bg-soft); }

  /* Горизонтальный скролл гасим локально: overflow на html/body сломал бы
     position:sticky (шапка, .pr-service-aside) */
  .tm-page-content iframe,
  .pr-legacy-content iframe,
  .tm-page-content video { max-width: 100%; }


  /* ------------------------------------------------------------
     12.16 Mobile ≤639px
     ------------------------------------------------------------ */
  @media (max-width: 639px) {
    .tm-cart-page-title { font-size: 24px; }
    .tm-cart-page .cart-summary-page { padding: var(--pr-s2) var(--pr-s4) var(--pr-s4); }
    .tm-cart-page .item.uk-cart-item { padding: var(--pr-s3) 0 !important; }
    .tm-cart-page .cart-checkout .uk-button-primary { width: 100%; }
    .cart.your-cart-is-empty { padding: var(--pr-s6) var(--pr-s4); }

    #cart-form.uk-product-form,
    #cart-form-dialog.uk-product-form { padding: var(--pr-s4); }
    #cart-form .price.uk-price { font-size: 24px; }
    #cart-form .uk-button-primary.uk-button-large { width: 100%; }

    .uk-checkout-step-header { padding: var(--pr-s3) var(--pr-s4) !important; font-size: 16px; }
    .uk-checkout-step-wrapper { padding: var(--pr-s4) var(--pr-s4) 0 !important; }
    .uk-checkout-step-buttons { padding-bottom: var(--pr-s4); }
    .uk-checkout-step-buttons .uk-button-primary { width: 100%; }
    [data-uk-checkout-auth] { padding: var(--pr-s3) var(--pr-s4) !important; }

    .uk-modal-dialog.uk-modal-body { padding: var(--pr-s5) var(--pr-s4); }
    .uk-offcanvas-bar { padding-left: var(--pr-s3); padding-right: var(--pr-s3); }
    .uk-offcanvas-bar > .uk-nav { padding: var(--pr-s5) 0 var(--pr-s4); }

    .uk-card-sidebar > .uk-card-body { padding: var(--pr-s3); }
    .filters .uk-drop { width: 260px; }
  }


  /* ============================================================
     13. НОРМАЛИЗАЦИЯ ТИПОВ СТРАНИЦ (v7.1)
     Убирает 10 расхождений между 18 типами: размеры H1, ширина
     колонки текста, радиусы, высота CTA, фон обёрток, плотность
     legacy-текста, высота карточек, чипсы, таблицы, модалки.
     Правила намеренно идут ПОСЛЕ §0–12 — перебивают их по каскаду.
     ============================================================ */

  /* 13.1 Шкала заголовков — одна на весь сайт
     Было: 32 / 28 / clamp(26–34) / clamp(24–32) / 32 → 5 размеров H1 */
  .tm-page-title,
  .tm-category-page-title,
  .tm-product-page-title,
  .tm-cart-page-title,
  .tm-search-page-title,
  .pr-brands-page .tm-category-page-title,
  .pr-catalog-page .tm-category-page-title {
    font-size: clamp(26px, 2.6vw, 32px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 var(--pr-s5);
  }
  /* H2 внутри контента — тоже один размер */
  .tm-page-content h2,
  .pr-heading,
  .uk-h2 { font-size: clamp(22px, 2vw, 26px); }

  /* Текст на всю ширину контент-колонки (раньше 78ch — слишком узко) */
  .tm-category-page-description,
  .tm-page .tm-page-content { max-width: none; }
  .pr-legacy-content > *:where(p, ul, ol, blockquote, h2, h3, h4) {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .tm-page-content > *:where(p, ul, ol, blockquote) { max-width: none; }
  /* Таблицы и медиа — во всю колонку */
  .pr-legacy-content > table,
  .tm-page-content > table { max-width: 100%; }

  /* 13.3 Радиусы — только две переменные, без хардкода
     (перебиваем оставшиеся 12px в §6/§10) */
  .pr-brands-page,
  .pr-catalog-page,
  .pr-service-card,
  .pr-home-map__frame,
  .pr-legacy-content .uk-section.info,
  .pr-legacy-content .uk-section.brands,
  .tm-category-page-description .pr-legacy-content,
  .tm-page .tm-page-content > .pr-legacy-content,
  .tm-category-page #product-list .uk-card.uk-card-product,
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid,
  .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid,
  .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
    border-radius: var(--pr-radius-lg);
  }
  /* Все «пилюли» — один радиус */
  .tm-page-pages.uk-subnav > li > a,
  .tm-page-subnav.uk-subnav > li > a { border-radius: 999px; }

  /* 13.4 Высота CTA — одна (48px) на всех типах, а не 40/44/48 */
  .uk-button-large,
  #cart-form .uk-button-primary,
  .tm-cart-page .cart-checkout .uk-button-primary,
  .uk-checkout-step-buttons .uk-button-primary,
  .pr-service-card .uk-button-primary,
  .pr-band__phone,
  .tm-page-content a.pr-cta__phone {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .uk-button { min-height: 40px; }

  /* 13.5 Обёртка типов категорий — единый фон
     Было: /brend/ и hub в серой панели, leaf-услуга — на белом */
  .pr-brands-page,
  .pr-catalog-page {
    background: transparent;
    border: none;
    padding: 0;
  }
  .pr-brands-page .tm-category-page-categories,
  .pr-catalog-page .tm-category-page-categories { margin-top: var(--pr-s5); }

  /* 13.6 Плотность legacy-текста — одна (16/1.7) в shop-page и в категории */
  .pr-legacy-content,
  .tm-page-content { font-size: 16px; line-height: 1.7; }

  /* 13.7 Карточки категорий — одна высота на главной, /brend/ и hub (ПК ≥960) */
  @media (min-width: 960px) {
    .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid,
    .pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid,
    .pr-catalog-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
      min-height: 96px;
      height: auto;
      padding: var(--pr-s5) var(--pr-s4);
    }
  }

  /* 13.8 Все чипсы (подменю, теги, фильтры, «Показать ещё») — один стиль */
  .tm-page-pages.uk-subnav > li > a,
  .tm-page-subnav.uk-subnav > li > a,
  #product-tags.uk-subnav > * > a,
  .uk-card-sidebar .tags a,
  .filters .filter-param > .uk-button-default,
  .uk-selected-filters a.uk-products-filter-clear {
    font-size: 13px;
    font-weight: 600;
    min-height: 32px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    line-height: 1;
  }

  /* 13.9 Таблицы — одни отступы и шапка везде (legacy, контент, товар, сравнение) */
  .pr-legacy-content table td,
  .pr-legacy-content table th,
  .tm-page-content table td,
  .tm-page-content table th,
  .tm-compare-page table td,
  .tm-compare-page table th,
  #overview.product-info table.features td {
    padding: 10px 14px;
    border: 1px solid var(--pr-border);
  }
  #overview.product-info table.features { font-size: 15px; }

  /* 13.10 Модалки и карточки — один внутренний отступ (24px, не 32) */
  .uk-modal-dialog.uk-modal-body { padding: var(--pr-s5); }
  .uk-modal-dialog.uk-width-1-1.uk-height-1-1 { padding: 0; }


  /* ============================================================
     14. ПОСЛЕДНИЕ 13 ФАЙЛОВ (v8)
     main.html, bar.html, breadcrumb.html, error.html, login.html,
     compare.html, product.html, products.sorting/pagination/thumbs.1,
     checkout.contactinfo.html, footer.1.html, header.html
     ============================================================ */

  /* ------------------------------------------------------------
     14.0 БАГФИКС §6.4: row-стили прайса — только .uk-products-list-1.
     Thumbs/slider больше не получают 64px-картинки из §6.4.
     Ниже — страховка, если старые селекторы где-то останутся.
     ------------------------------------------------------------ */
  .tm-category-page #product-list .uk-products-thumbs-1 .uk-card.uk-card-product .uk-product-image,
  .tm-category-page #product-list .uk-products-slider-1 .uk-card.uk-card-product .uk-product-image {
    width: auto;
    height: auto;
    object-fit: cover;
  }
  .tm-category-page #product-list .uk-products-thumbs-1 .uk-card.uk-card-product .uk-cover-container.uk-margin,
  .tm-category-page #product-list .uk-products-slider-1 .uk-card.uk-card-product .uk-cover-container.uk-margin {
    margin-bottom: var(--pr-s3);
  }
  .tm-category-page #product-list .uk-products-thumbs-1 .uk-card.uk-card-product .uk-grid,
  .tm-category-page #product-list .uk-products-slider-1 .uk-card.uk-card-product .uk-grid {
    align-items: stretch;
  }
  .tm-category-page #product-list .uk-products-thumbs-1 .uk-card.uk-card-product .tm-product-pricing,
  .tm-category-page #product-list .uk-products-thumbs-1 .uk-card.uk-card-product .uk-product-pricing,
  .tm-category-page #product-list .uk-products-slider-1 .uk-card.uk-card-product .tm-product-pricing,
  .tm-category-page #product-list .uk-products-slider-1 .uk-card.uk-card-product .uk-product-pricing {
    text-align: left;
  }

  /* ------------------------------------------------------------
     14.1 Оболочка страницы (main.html)
     .container.uk-container > .uk-grid > main.content.uk-content
       > .uk-panel.uk-panel-box   ← им обёрнут ВЕСЬ контент
     + aside.sidebar.uk-sidebar.uk-width-medium
     ------------------------------------------------------------ */
  main.content.uk-content { padding-top: var(--pr-s5); padding-bottom: var(--pr-s7); }
  main.content > .uk-panel-box {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
  }
  .uk-grid > aside.sidebar.uk-sidebar { padding-top: var(--pr-s5); }

  /* ------------------------------------------------------------
     14.2 Бары шапки/футера (bar.html: .uk-bar > .uk-bar-group)
     ------------------------------------------------------------ */
  .uk-bar { gap: var(--pr-s4); }
  .uk-bar-group { display: flex; align-items: center; gap: var(--pr-s3); min-width: 0; }
  .uk-bar-group.uk-flex-column { align-items: flex-start; gap: var(--pr-s1); }

  /* ------------------------------------------------------------
     14.3 Хлебные крошки (breadcrumb.html: ul.breadcrumbs.uk-breadcrumb)
     ------------------------------------------------------------ */
  ul.breadcrumbs.uk-breadcrumb { margin: 0 0 var(--pr-s4); }
  ul.breadcrumbs.uk-breadcrumb > li > a > [data-uk-icon="home"] { opacity: 0.7; }
  ul.breadcrumbs.uk-breadcrumb > li:empty { display: none; }
  /* Вариант slider: не переносить, скрыть полосу прокрутки */
  ul.breadcrumbs.uk-slider-items {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  ul.breadcrumbs.uk-slider-items::-webkit-scrollbar { display: none; }
  ul.breadcrumbs.uk-slider-items > li { flex: 0 0 auto; }

  /* ------------------------------------------------------------
     14.4 Сортировка и переключатель вида (products.sorting.html)
     ------------------------------------------------------------ */
  .uk-margin.uk-flex.uk-flex-middle > * > .sorting.uk-select,
  select.sorting.uk-select {
    height: 40px;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    background-color: #fff;
    font-size: 14px;
    font-weight: 600;
  }
  .uk-iconnav > * > .uk-icon { color: var(--pr-muted); }
  .uk-iconnav > * > .uk-icon.uk-active,
  .uk-iconnav > * > .uk-icon:hover { color: var(--pr-accent); }

  /* ------------------------------------------------------------
     14.5 Пагинация и «показать ещё» (products.pagination.html)
     ------------------------------------------------------------ */
  .uk-pagination > * > * {
    min-width: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--pr-radius);
    color: var(--pr-ink);
    font-weight: 600;
  }
  .uk-pagination > * > *:hover { background: var(--pr-bg-soft); color: var(--pr-accent); }
  .uk-pagination > .selected.uk-active > *,
  .uk-pagination > .uk-active > * {
    background: var(--pr-accent);
    color: #fff;
  }
  .uk-pagination > .uk-disabled > * { color: var(--pr-muted); }
  .uk-pagination.uk-products-per-page { justify-content: flex-end; }
  .uk-pagination.uk-products-per-page > * > * {
    min-width: 32px;
    min-height: 32px;
    font-size: 13px;
    font-weight: 400;
  }
  .uk-lazyload-toggle .uk-button-primary { min-height: 48px; padding: 0 var(--pr-s6); }

  /* ------------------------------------------------------------
     14.6 Плитка товаров (products.thumbs.1.html: .uk-products-thumbs-1)
     ------------------------------------------------------------ */
  .uk-products-thumbs-1 > li > .uk-card.uk-card-product {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: var(--pr-s4);
  }
  .uk-products-thumbs-1 .uk-cover-container {
    aspect-ratio: 4 / 3;
    background: var(--pr-bg-soft);
    border-radius: var(--pr-radius);
    overflow: hidden;
  }
  /* Услуги: иконки, не фото 4:3 — иначе пустые высокие карточки */
  .pr-service-page .uk-products-thumbs-1 .uk-cover-container,
  .pr-service-page .uk-products-slider-1 .uk-cover-container {
    aspect-ratio: auto;
  }
  .uk-products-thumbs-1 .uk-h4 { font-size: 15px; line-height: 1.4; }
  .uk-products-thumbs-1 .tm-product-button { margin-top: auto; }
  .uk-products-thumbs-1 .tm-product-button .uk-button-primary { width: 100%; min-height: 40px; }

  /* ------------------------------------------------------------
     14.7 Сравнение (compare.html)
     table.compare + клон шапки #compare-table-fixed.compare-fixed
     ------------------------------------------------------------ */
  .tm-compare-page-title { margin-bottom: var(--pr-s4); }
  .tm-compare-page .uk-subnav-pill > * > * {
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    text-transform: none;
    padding: 6px 14px;
  }
  .tm-compare-page .uk-subnav-pill > .uk-active > * {
    background: var(--pr-accent);
    color: #fff;
  }
  table.compare { border-collapse: separate; border-spacing: 0; }
  table.compare .name-wrapper { padding: var(--pr-s2) 0; }
  table.compare .name-link {
    color: var(--pr-ink);
    font-weight: 700;
    text-decoration: none;
  }
  table.compare .name-link:hover { color: var(--pr-accent); }
  table.compare .image-link img {
    max-height: 120px;
    width: auto;
    border-radius: var(--pr-radius);
  }
  table.compare .price { font-size: 17px; font-weight: 800; }
  table.compare .compare-remove {
    color: var(--pr-muted);
    text-decoration: none;
  }
  table.compare .compare-remove:hover { color: var(--pr-accent); }
  /* Одинаковые значения приглушены, различия — акцент */
  table.compare tr.same td,
  table.compare .gray { color: var(--pr-muted); }
  /* Липкий клон шапки не должен просвечивать */
  .compare-fixed {
    background: #fff;
    box-shadow: var(--pr-shadow);
    z-index: 10;
  }

  /* ------------------------------------------------------------
     14.8 Вход (login.html — отдельная страница и внутри auth-модалки)
     ------------------------------------------------------------ */
  .tm-login-page { max-width: 460px; }
  .tm-login-page-title.uk-h1 {
    font-size: clamp(24px, 2.4vw, 30px);
    margin-bottom: var(--pr-s5);
  }
  .uk-modal-content .tm-login-page { max-width: none; }
  .uk-modal-content .tm-login-page-title { font-size: 22px; }
  .wa-auth-adapters.uk-subnav { gap: var(--pr-s2); margin-top: var(--pr-s4); }
  .wa-auth-adapters.uk-subnav > * > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--pr-border);
    border-radius: 50%;
  }
  .wa-auth-adapters.uk-subnav > * > a:hover { border-color: var(--pr-accent); }

  /* ------------------------------------------------------------
     14.9 Формы Webasyst (checkout.contactinfo.html, login.html)
     .wa-form > .wa-field > .wa-name + .wa-value — главная форма сайта
     ------------------------------------------------------------ */
  .wa-form { max-width: 560px; }
  .wa-form .wa-field { margin-bottom: var(--pr-s4); }
  .wa-form .wa-name {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--pr-muted);
    margin-bottom: var(--pr-s1);
  }
  .wa-form .wa-value input:not([type="checkbox"]):not([type="radio"]),
  .wa-form .wa-value select,
  .wa-form .wa-value textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    background: #fff;
    padding: 0 12px;
    font-size: 15px;
  }
  .wa-form .wa-value textarea { padding: 10px 12px; min-height: 88px; }
  .wa-form .wa-value input:focus,
  .wa-form .wa-value select:focus,
  .wa-form .wa-value textarea:focus {
    border-color: var(--pr-accent);
    outline: none;
    box-shadow: 0 0 0 3px var(--pr-accent-soft);
  }
  .wa-form .uk-form-danger,
  .wa-form .error.uk-input { border-color: var(--pr-accent) !important; }
  .wa-form .errormsg {
    display: block;
    color: var(--pr-accent);
    font-size: 13px;
    margin-top: var(--pr-s1);
  }
  .wa-form .service-agreement-wrapper { font-size: 13px; color: var(--pr-muted); }
  .wa-form .service-agreement-wrapper a { color: var(--pr-accent); }
  #create-user-div {
    background: var(--pr-bg-soft);
    border: 1px solid var(--pr-border);
    border-radius: var(--pr-radius);
    padding: var(--pr-s4);
    margin-top: var(--pr-s4);
  }
  #edit-billing-address-link { font-size: 13px; }

  /* ------------------------------------------------------------
     14.10 404 / ошибка (error.html)
     ------------------------------------------------------------ */
  .tm-error-page {
    text-align: center;
    padding: var(--pr-s7) var(--pr-s5);
    background: var(--pr-bg-soft);
    border: 1px dashed var(--pr-border);
    border-radius: var(--pr-radius-lg);
  }
  .tm-error-page-title {
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 800;
    margin: 0 0 var(--pr-s3);
  }
  .tm-error-page-title::first-line { color: var(--pr-accent); }
  .tm-error-page p { color: var(--pr-muted); max-width: 42ch; margin: 0 auto; }

  /* ------------------------------------------------------------
     14.11 Mobile ≤639px
     ------------------------------------------------------------ */
  @media (max-width: 639px) {
    main.content.uk-content { padding-top: var(--pr-s4); padding-bottom: var(--pr-s6); }
    .uk-bar { gap: var(--pr-s2); }
    .uk-pagination.uk-products-per-page { justify-content: flex-start; }
    .uk-products-thumbs-1 > li > .uk-card.uk-card-product { padding: var(--pr-s3); }
    .wa-form,
    .tm-login-page { max-width: none; }
    .tm-error-page { padding: var(--pr-s6) var(--pr-s4); }
    table.compare .image-link img { max-height: 80px; }
  }


  /* ============================================================
     15. ПОРЕЗЫ, НАЕЗДЫ, Z-INDEX (v9)
     Аудит по всем 41 шаблонам: что физически обрезается или
     вылезает. Каждый пункт — воспроизводимый баг, не вкусовщина.
     ============================================================ */

  /* 15.1 🔴 ПОРЕЗ: выпадающее меню в сайдбаре обрезалось карточкой.
     sidebar.html подставляет .uk-menu-dropdown в .uk-card-sidebar,
     а main.html вешает на <aside> data-uk-menu="align: left|right"
     → подменю выезжает ЗА карточку, а у неё стоял overflow: hidden. */
  .uk-card-sidebar { overflow: visible; }
  /* скругление, которое давал overflow, возвращаем адресно */
  .uk-card-sidebar > .uk-card-header {
    border-radius: var(--pr-radius-lg) var(--pr-radius-lg) 0 0;
  }
  .uk-card-sidebar > .uk-card-body:last-child {
    border-radius: 0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  }
  .uk-card-sidebar .uk-menu-dropdown { z-index: 990; }

  /* 15.2 🔴 ПОРЕЗ: шаг оформления заказа резал всё, что выходит за рамку
     (автодополнение адреса, подсказки, tooltip'ы в contactinfo). */
  .uk-checkout-step { overflow: visible; }
  .uk-checkout-step > .uk-checkout-step-header {
    border-radius: var(--pr-radius-lg) var(--pr-radius-lg) 0 0;
  }
  .uk-checkout-step > .uk-checkout-step-wrapper:last-child {
    border-radius: 0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  }

  /* 15.3 🔴 ПОРЕЗ: dropdown фильтров под соседней карточкой товара.
     .filter-param — uk-inline (position: relative), .uk-drop всплывал
     в том же контексте наложения, что и карточки списка. */
  .filters .filter-param { z-index: 1; }
  .filters .filter-param.uk-open { z-index: 20; }
  .filters .uk-drop { z-index: 1020; }

  /* 15.4 🔴 ВЫЛЕЗАНИЕ: длинная цена/телефон рвали флекс на 375px.
     white-space: nowrap без min-width: 0 выдавливает соседа за экран. */
  .uk-bar-group,
  .uk-card-product .uk-grid > *,
  .tm-cart-page .uk-grid > * { min-width: 0; }
  .price,
  .tm-price,
  .item-total.price { overflow-wrap: normal; }
  @media (max-width: 400px) {
    .price,
    .tm-price { white-space: normal; }
  }

  /* 15.5 Наезд: длинное название услуги в одну строку не помещается,
     но и многоточие не нужно — переносим по словам, а не по буквам. */
  .uk-product-name,
  .uk-cart-item-name,
  .name-link,
  .tm-product-page-title,
  .tm-category-page-title { overflow-wrap: break-word; hyphens: none; }

  /* 15.6 Z-index: единая лестница, чтобы ничего не пряталось друг под другом.
     шапка(980) < сайдбар-меню(990) < dropbar(1000) < фильтр-дроп(1020)
     < offcanvas(1030) < модалка(1010 UIkit) — модалку не трогаем. */
  .uk-menu-dropbar,
  .uk-dropbar { z-index: 1000; }
  .compare-fixed { z-index: 970; }   /* липкая шапка сравнения — ПОД шапкой сайта */

  /* 15.7 Скролл таблиц: всегда scroll-контейнер (не display:table на desktop —
     иначе overflow:hidden из §19 обрезает широкие прайсы) */
  .pr-legacy-content table,
  .tm-page-content table,
  .uk-section.truck table,
  .uk-card-body > table {
    display: block;
    width: 100% !important;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* 15.8 Тач: hover-подъём карточки залипал после тапа на телефоне */
  @media (hover: none) {
    .uk-card-product:hover,
    .pr-service-card:hover,
    .tm-home-page-categories .uk-card:hover {
      transform: none;
      box-shadow: none;
    }
  }

  /* 15.9 Изображения из legacy-БД: никогда не шире колонки */
  .pr-legacy-content img,
  .tm-page-content img { max-width: 100%; height: auto; }


  /* ============================================================
     16. ДИЗАЙН-АКЦЕНТЫ (v9)
     ============================================================ */

  /* 16.1 Цифры в прайсе не «пляшут» — табличные цифры */
  .price,
  .tm-price,
  .uk-price,
  .cart-total,
  .item-total,
  table.compare .price { font-variant-numeric: tabular-nums; }

  /* 16.2 Красный = действие. Декоративный красный убираем в чёрный:
     полоски у заголовков и маркеры списков перестают спорить с кнопками. */
  .pr-legacy-content h2::before,
  .tm-page-content h2::before,
  .pr-heading::before { background: var(--pr-ink) !important; }
  .pr-legacy-content ul:not([class]) > li::before,
  .tm-page-content ul:not([class]) > li::before { color: var(--pr-ink) !important; }

  /* 16.3 Страница услуги — это запись, а не покупка.
     Кнопка «В корзину» на leaf-услуге читается как основное действие. */
  .pr-service-page #product-list .uk-card-product .uk-button-primary {
    background: #fff;
    color: var(--pr-ink);
    border: 1px solid var(--pr-border);
    font-weight: 600;
  }
  .pr-service-page #product-list .uk-card-product .uk-button-primary:hover {
    border-color: var(--pr-accent);
    color: var(--pr-accent);
    background: var(--pr-accent-soft);
  }
  /* …а «Позвонить» в sticky-блоке остаётся единственной красной кнопкой */
  .pr-service-cta__btn,
  .pr-service-aside .pr-service-card__btn,
  .pr-service-aside .uk-button-primary,
  .pr-band__phone { background: var(--pr-accent); color: #fff; }

  /* 16.4 Фокус клавиатурой — видимый (доступность + не ломает мышь) */
  a:focus-visible,
  button:focus-visible,
  input:focus-visible,
  select:focus-visible,
  textarea:focus-visible {
    outline: 2px solid var(--pr-accent);
    outline-offset: 2px;
  }

  /* 16.5 Плавность без укачивания */
  @media (prefers-reduced-motion: reduce) {
    * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  }

  /* ------------------------------------------------------------
     17.0 Crossfade фото в карточках (theme.custom.js ProductsGallery)
     ------------------------------------------------------------ */
  .uk-product-image-stack {
    position: relative;
    display: block;
    width: 100%;
  }
  .uk-product-image-stack > .uk-product-image-layer {
    display: block;
    max-width: 100%;
    transition: opacity var(--pr-fade-ms, 380ms) ease;
  }
  .uk-product-image-stack > .uk-product-image-alt {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
  }
  .uk-product-image-stack > .uk-product-image-layer:not(.is-visible) {
    opacity: 0;
  }
  .uk-product-image-stack > .uk-product-image-layer.is-visible {
    opacity: 1;
  }
  @media (prefers-reduced-motion: reduce) {
    .uk-product-image-stack > .uk-product-image-layer {
      transition: none;
    }
  }


/* ============================================================
   PRORACING — §15 INDUSTRIAL NIGHT SERVICE (v9)
   Куда: ДОПИСАТЬ В КОНЕЦ theme.custom.css (после §14).
   Ничего из §0–14 не удалять — v9 перебивает по каскаду.

   Идея: тёмная «мастерская ночью» как оболочка сайта
   (шапка, фон, hero, футер) + белый «лист» для чтения
   контента (~2200 страниц из БД остаются читаемыми).
   Акцент #ff3546 — дозированно: CTA, активные состояния,
   тонкие линии. Типографика: Unbounded (display) + Manrope.

   Требует:
   1) Google Fonts в head.html (см. head.fonts.snippet.html)
   2) theme.custom.js v9 (reveal-анимации; работает и без него)
   ============================================================ */


/* ------------------------------------------------------------
   15.0 Токены ночной темы (перебивают :root из §0)
   ------------------------------------------------------------ */
:root {
  /* Акцент бренда — обновлён под ТЗ */
  --pr-accent: #ff3546;
  --pr-accent-dark: #d92435;
  --pr-accent-soft: rgba(255, 53, 70, 0.1);

  /* Ночные поверхности */
  --pr-night: #0c0d11;      /* фон страницы */
  --pr-night-2: #13151b;    /* приподнятые панели: шапка, табы */
  --pr-night-3: #1a1d25;    /* карточки на тёмном */
  --pr-hairline: rgba(255, 255, 255, 0.09);
  --pr-night-text: rgba(255, 255, 255, 0.85);
  --pr-night-muted: rgba(255, 255, 255, 0.55);

  /* Светлый «лист» контента */
  --pr-paper: #ffffff;

  /* Радиусы чуть мягче, единые */
  --pr-radius: 8px;
  --pr-radius-lg: 14px;

  /* Шрифты */
  --pr-font-display: 'Unbounded', 'Arial Black', 'Trebuchet MS', sans-serif;
  --pr-font-text: 'Manrope', -apple-system, 'Segoe UI', Roboto, sans-serif;
}


/* ------------------------------------------------------------
   15.1 Атмосфера: фон, шум, типографика
   ------------------------------------------------------------ */
html { background: var(--pr-night); }

body {
  font-family: var(--pr-font-text);
  color: var(--pr-ink);
  overflow-x: hidden; /* страховка: слайдеры/100vw не раздувают страницу */
  background:
    /* лёгкий шум мастерской */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E") repeat,
    /* тёплый красный отсвет сверху справа */
    radial-gradient(1100px 520px at 82% -140px, rgba(255, 53, 70, 0.08), transparent 60%),
    /* холодный отсвет слева */
    radial-gradient(900px 600px at -10% 20%, rgba(120, 140, 190, 0.05), transparent 55%),
    var(--pr-night);
  background-attachment: fixed, fixed, fixed, fixed;
}

/* Display-шрифт — только «лицо»: H1 страниц, hero, заголовки секций.
   H2/H3 внутри контента из БД остаются на Manrope — иначе 2200
   легаси-страниц «кричат». */
.tm-page-title,
.tm-category-page-title,
.tm-product-page-title,
.tm-cart-page-title,
.tm-search-page-title,
.pr-heading,
.pr-band h1,
.pr-band__content h1,
.pr-home-cta__text h2 {
  font-family: var(--pr-font-display);
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Заголовки секций на тёмном фоне главной */
.tm-home-page .pr-heading {
  color: #fff;
  padding-left: 0;
  font-size: clamp(20px, 2vw, 26px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tm-home-page .pr-heading::before {
  top: auto;
  bottom: -8px;
  left: 1px;
  width: 44px;
  height: 3px;
  border-radius: 2px;
}
.tm-home-page .pr-heading { padding-bottom: 12px; margin-bottom: 20px; }
.tm-home-page .pr-home-intro { color: var(--pr-night-muted); }

::selection { background: rgba(255, 53, 70, 0.25); color: #fff; }


/* ------------------------------------------------------------
   15.2 Шапка (header.3.html) — единый тёмный блок
   Верхний бар → ночь; лента категорий → ночь-2 + красная линия;
   липкий бар — тот же характер. Ничего не «прыгает»: высоты
   и логика §3 сохранены, меняется только окраска.
   ------------------------------------------------------------ */
.globalheader { position: relative; z-index: 5; }

/* 15.2.1 Верхний бар (был белым) */
.globalheader .uk-bar-container.uk-bar-overlay-light {
  background: var(--pr-night);
  border-bottom: 1px solid var(--pr-hairline);
}
.globalheader .uk-bar-overlay-light .uk-bar-nav > li > a { color: var(--pr-night-text); }
.globalheader .uk-bar-overlay-light .uk-bar-nav > li:hover > a,
.globalheader .uk-bar-overlay-light .uk-bar-nav > li.uk-active > a,
.globalheader .uk-bar-overlay-light .uk-bar-nav > li.uk-open > a { color: #fff; }
.globalheader .uk-bar-overlay-light .uk-bar-nav > li.uk-active > a::after { transform: scaleX(1); }

/* Логотип: текстовый — белый; если PNG-логотип тёмный на прозрачном,
   добавьте сайту класс pr-logo-invert (Настройки → HTML-код / body) */
.globalheader .uk-logo,
.globalheader .uk-logo a,
.globalheader .uk-logo .uk-text-bold { color: #fff !important; }
.pr-logo-invert .globalheader .uk-logo img { filter: brightness(0) invert(1); }

/* Телефон в шапке — главный второй сигнал */
.globalheader .uk-bar-overlay-light .ya-phone-1,
.globalheader .uk-bar-overlay-light .ya-phone-2 { color: #fff; }
.globalheader .ya-phone-1:hover,
.globalheader .ya-phone-1 a:hover,
.globalheader .ya-phone-2:hover,
.globalheader .ya-phone-2 a:hover { color: var(--pr-accent) !important; }

/* Иконки на тёмном верхе */
.globalheader .uk-bar-overlay-light .uk-icon-button { color: rgba(255, 255, 255, 0.8); }
.globalheader .uk-bar-overlay-light .uk-icon-button:hover { color: #fff; }
.globalheader .uk-badge { background: var(--pr-accent); }

/* 15.2.2 Лента категорий */
.globalheader .uk-bar-container.uk-bar-middle {
  background: var(--pr-night-2);
  border-top: 1px solid var(--pr-hairline);
  border-bottom: 2px solid var(--pr-accent);
  position: sticky;
  top: 0;
  z-index: 982;
}

/* 15.2.3 Липкий бар */
.globalheader .uk-bar-container.uk-bar-sticky.uk-sticky-fixed,
.globalheader .uk-bar-container.uk-bar-sticky.uk-active {
  background: rgba(15, 16, 21, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 2px solid var(--pr-accent);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
.globalheader .uk-bar-sticky .uk-contact-note,
.globalheader .uk-bar-sticky .uk-contact-note:has(a[href*="wa.me"]),
.globalheader .uk-bar-sticky .uk-contact-note:has(a[href*="t.me"]) {
  display: none !important;
}

/* 15.2.4 Мобильный верхний бар */
.uk-hidden\@m .uk-bar-container.uk-bar-top {
  background: var(--pr-night);
  border-bottom: 1px solid var(--pr-hairline);
}
.uk-hidden\@m .uk-bar-container.uk-bar-top.uk-sticky-fixed,
.uk-hidden\@m .uk-bar-container.uk-bar-top.uk-active {
  background: rgba(15, 16, 21, 0.94);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--pr-hairline);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45);
}
.uk-hidden\@m .uk-bar-top .uk-icon-button,
.uk-hidden\@m .uk-bar-top a { color: rgba(255, 255, 255, 0.85); }
.uk-hidden\@m .uk-bar-top .uk-icon-button:hover { color: #fff; }

/* 15.2.5 Поиск в шапке */
.globalheader .uk-search-default .uk-search-input {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius);
  color: #fff;
}
.globalheader .uk-search-default .uk-search-input::placeholder { color: rgba(255, 255, 255, 0.45); }
.globalheader .uk-search-default .uk-search-input:focus {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 53, 70, 0.6);
  color: #fff;
}
.globalheader .uk-search-icon { color: rgba(255, 255, 255, 0.6); }

/* 15.2.6 Дропдауны и мега-меню из шапки — тёмные, в тон */
.globalheader .uk-dropdown,
.globalheader .uk-drop > .uk-card,
.uk-dropbar {
  background: var(--pr-night-2);
  border: 1px solid var(--pr-hairline);
  border-radius: 0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5);
  color: var(--pr-night-text);
}
.globalheader .uk-dropdown a,
.uk-dropbar a { color: var(--pr-night-text); }
.globalheader .uk-dropdown a:hover,
.uk-dropbar a:hover { color: #fff; }
.uk-dropbar .uk-nav-header,
.globalheader .uk-dropdown .uk-nav-header { color: var(--pr-night-muted); }
.uk-dropbar hr, .globalheader .uk-dropdown hr { border-color: var(--pr-hairline); }


/* ------------------------------------------------------------
   15.3 HERO главной (.pr-band) — full-bleed, «ночной цех»
   Разметка не меняется: content → eyebrow → h1 → lead → actions.
   ------------------------------------------------------------ */
/* Главная: контент без белого листа и без верхнего отступа секции */
main.content > .uk-panel-box:has(.tm-home-page) {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
body:has(.tm-home-page) .maincontent.uk-section { padding-top: 0; }
.tm-home-page { max-width: none; }

.pr-band {
  /* full-bleed: вырываемся из uk-container */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 0;
  border-radius: 0;
  min-height: min(72vh, 640px);
  display: flex;
  align-items: center;
  background:
    /* тонкая инженерная сетка */
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 72px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 72px),
    /* свет от «лампы» и красный отсвет */
    radial-gradient(900px 480px at 78% 8%, rgba(255, 53, 70, 0.16), transparent 58%),
    radial-gradient(700px 500px at 12% 100%, rgba(255, 255, 255, 0.045), transparent 60%),
    linear-gradient(160deg, #14161d 0%, #0d0e13 55%, #0a0b0e 100%);
}
.pr-band::before {
  /* вместо боковой полосы — красная «линия старта» снизу */
  left: 0; right: 0; top: auto; bottom: 0;
  width: auto; height: 3px;
  background: linear-gradient(90deg, var(--pr-accent) 0%, rgba(255, 53, 70, 0.25) 55%, transparent 100%);
}
/* Гигантский контурный PRORACING — фирменный знак первого экрана.
   Если уберут логотип из шапки, экран всё равно «подписан». */
.pr-band::after {
  content: "PRORACING";
  position: absolute;
  right: -0.06em;
  bottom: -0.12em;
  z-index: 0;
  font-family: var(--pr-font-display);
  font-weight: 700;
  font-size: clamp(72px, 13vw, 190px);
  line-height: 1;
  letter-spacing: 0.02em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.07);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}
@supports not (-webkit-text-stroke: 1px #fff) {
  .pr-band::after { color: rgba(255, 255, 255, 0.04); }
}

/* Контент hero — по сетке контейнера 1120px */
.pr-band__content {
  max-width: none;
  width: 100%;
  padding: clamp(56px, 9vh, 96px) 24px;
  padding-left: max(24px, calc(50vw - 560px));
  padding-right: max(24px, calc(50vw - 560px));
}
.pr-band__eyebrow {
  color: var(--pr-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.22em;
  margin-bottom: 18px;
}
.pr-band__eyebrow::before {
  content: "";
  display: inline-block;
  vertical-align: 2px;
  width: 28px;
  height: 2px;
  margin-right: 10px;
  background: var(--pr-accent);
}
.pr-band__content h1,
.pr-band h1 {
  font-size: clamp(30px, 4.6vw, 56px);
  line-height: 1.08;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  max-width: 18ch;
  margin-bottom: 18px;
}
.pr-band__lead {
  font-size: clamp(15px, 1.3vw, 18px);
  color: rgba(255, 255, 255, 0.68);
  max-width: 52ch;
  margin-bottom: 28px;
}
.pr-band .pr-band__actions { gap: 14px; position: relative; z-index: 1; }
.pr-band .pr-band__phone {
  font-size: 18px;
  padding: 15px 28px;
  border-radius: var(--pr-radius);
  box-shadow: 0 10px 30px rgba(255, 53, 70, 0.3);
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.pr-band .pr-band__phone:hover {
  background: var(--pr-accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(255, 53, 70, 0.4);
}
.pr-band .pr-band__link {
  border-radius: var(--pr-radius);
  padding: 14px 22px;
  border-color: rgba(255, 255, 255, 0.25);
}
.pr-band .pr-band__note { font-size: 13px; color: rgba(255, 255, 255, 0.45); }


/* ------------------------------------------------------------
   15.4 Блок доверия (.pr-advantages) — тёмные карточки-«таблички»
   ------------------------------------------------------------ */
.tm-home-page .pr-advantages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  width: 100%;
  max-width: 1120px;
  margin: -28px auto 32px;
  padding: 0 24px;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
.tm-home-page .pr-advantage {
  min-width: 0;
  background: linear-gradient(180deg, var(--pr-night-3) 0%, var(--pr-night-2) 100%);
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius-lg);
  padding: 22px 20px 20px;
  overflow: hidden;
}
.tm-home-page .pr-advantage::after {
  height: 2px;
  background: linear-gradient(90deg, var(--pr-accent), transparent 70%);
}
.tm-home-page .pr-advantage:hover {
  border-color: rgba(255, 53, 70, 0.35);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.4);
}
.tm-home-page .pr-advantage .pr-advantage__num {
  font-family: var(--pr-font-display);
  font-weight: 700;
  font-size: 30px;
  color: #fff;
  margin-bottom: 6px;
}
.tm-home-page .pr-advantage .pr-advantage__num::after {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  margin-top: 10px;
  background: var(--pr-accent);
}
.tm-home-page .pr-advantage h3 { color: #fff; }
.tm-home-page .pr-advantage p { color: var(--pr-night-muted); }


/* ------------------------------------------------------------
   15.5 Услуги (полосы-якоря .pr-home-anchor) — тёмная консоль
   ------------------------------------------------------------ */
.tm-home-page .pr-home-anchor {
  background: var(--pr-night-2);
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius-lg);
  color: var(--pr-night-text) !important;
}
.tm-home-page .pr-home-anchor:hover {
  border-color: rgba(255, 53, 70, 0.45);
  background: var(--pr-night-2);
}
.tm-home-page .pr-home-anchor__title { color: #fff; }
.tm-home-page .pr-home-anchor__text { color: var(--pr-night-muted); }

/* Сетка категорий на главной — тёмные карточки той же породы */
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid {
  background: var(--pr-night-2);
  border: 1px solid var(--pr-hairline);
  border-top: 2px solid rgba(255, 53, 70, 0.6);
  border-radius: var(--pr-radius-lg);
}
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 53, 70, 0.4);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}
.tm-home-page .tm-home-page-categories a.uk-text-bold { color: #fff !important; }
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
  color: var(--pr-accent) !important;
}


/* ------------------------------------------------------------
   15.6 CTA-полоса и карта на главной
   ------------------------------------------------------------ */
.tm-home-page .pr-home-cta {
  background:
    radial-gradient(500px 220px at 90% 0%, rgba(255, 53, 70, 0.14), transparent 60%),
    var(--pr-night-2);
  border: 1px solid var(--pr-hairline);
  border-left: 3px solid var(--pr-accent);
  border-radius: var(--pr-radius-lg);
  padding: 28px 26px;
}
.tm-home-page .pr-home-cta__text h2 {
  color: #fff;
  font-size: clamp(20px, 2vw, 24px);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.tm-home-page .pr-home-cta__text p { color: var(--pr-night-muted); }

.tm-home-page .pr-home-map {
  background: transparent;
  border-top: 1px solid var(--pr-hairline);
  padding: 32px 0 8px;
}
.tm-home-page .pr-home-map__frame {
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius-lg);
  background: var(--pr-night-3);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);
}
.tm-home-page .pr-home-map__frame iframe { filter: grayscale(0.85) contrast(1.05); }
.tm-home-page .pr-home-map__frame:hover iframe { filter: none; transition: filter 0.3s ease; }
.tm-home-page .pr-home-map__contacts .uk-card-secondary {
  background: var(--pr-night-2);
  border: 1px solid var(--pr-hairline);
  color: var(--pr-night-text);
}


/* ------------------------------------------------------------
   15.7 Внутренние страницы: белый «лист» на тёмном фоне
   (main.html: main.content > .uk-panel-box оборачивает контент)
   ------------------------------------------------------------ */
main.content > .uk-panel-box {
  background: var(--pr-paper);
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius-lg);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
  padding: clamp(20px, 3.2vw, 40px);
}
/* …кроме главной (правило выше в 15.3) и welcome */
main.content > .uk-panel-box:has(.tm-home-page) { padding: 0; }

main.content.uk-content { padding-top: var(--pr-s6); padding-bottom: var(--pr-s7); }

/* Хлебные крошки живут на листе — стиль из §14.3 подходит; уплотняем */
main.content .breadcrumbs.uk-breadcrumb { margin-bottom: var(--pr-s4); }

/* Сайдбар — карточки в тон листа */
.uk-grid > aside.sidebar.uk-sidebar { padding-top: var(--pr-s6); }
aside.sidebar .uk-panel-box,
aside.sidebar .uk-card-sidebar {
  background: var(--pr-paper);
  border: 1px solid var(--pr-hairline);
  border-radius: var(--pr-radius-lg);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.35);
}

/* Welcome-страница (page.welcome) — тоже лист */
.content > .uk-panel-box > .tm-welcome { background: transparent; }


/* ------------------------------------------------------------
   15.8 Кнопки, формы, фокус — глобально
   ------------------------------------------------------------ */
.uk-button {
  border-radius: var(--pr-radius);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: background 0.15s ease, color 0.15s ease,
              border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.uk-button-primary {
  background: var(--pr-accent);
  color: #fff;
}
.uk-button-primary:hover,
.uk-button-primary:focus {
  background: var(--pr-accent-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(255, 53, 70, 0.3);
}
.uk-button-primary:active { transform: translateY(0); box-shadow: none; }
.uk-button-secondary { background: var(--pr-ink); color: #fff; }
.uk-button-secondary:hover { background: #000; color: #fff; }
.uk-button-default {
  border: 1px solid var(--pr-border);
  background: #fff;
  color: var(--pr-ink);
}
.uk-button-default:hover {
  border-color: var(--pr-ink);
  color: var(--pr-ink);
}

/* Формы на белом листе */
.uk-input, .uk-select, .uk-textarea {
  border-radius: var(--pr-radius);
  border: 1px solid var(--pr-border);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.uk-input:focus, .uk-select:focus, .uk-textarea:focus {
  border-color: var(--pr-accent);
  box-shadow: 0 0 0 3px var(--pr-accent-soft);
}

/* Видимый фокус с клавиатуры — везде одинаковый */
a:focus-visible,
button:focus-visible,
.uk-button:focus-visible,
input:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--pr-accent);
  outline-offset: 2px;
  border-radius: 4px;
}


/* ------------------------------------------------------------
   15.9 Футер — ночной, в одном тоне с шапкой
   ------------------------------------------------------------ */
.globalfooter { margin-top: var(--pr-s7); }
body:has(.tm-home-page) .globalfooter { margin-top: var(--pr-s6); }

.uk-bar-container.uk-bar-secondary.uk-bar-bottom {
  background: var(--pr-night-2);
  color: var(--pr-night-muted);
}
.uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding,
.uk-bar-container.uk-bar-secondary.uk-bar-bottom:first-child {
  border-top: 2px solid var(--pr-accent);
}
.uk-bar-secondary.uk-bar-bottom a { color: var(--pr-night-muted); }
.uk-bar-secondary.uk-bar-bottom a:hover { color: #fff; }
.uk-bar-secondary.uk-bar-bottom .uk-icon-button {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--pr-hairline);
}
.uk-bar-secondary.uk-bar-bottom .uk-icon-button:hover {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
}
/* Нижняя строка копирайта — глубже фона */
.uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-bar-medium,
.uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-bar-small:last-child {
  background: var(--pr-night);
  border-top: 1px solid var(--pr-hairline);
  color: rgba(255, 255, 255, 0.4);
}

/* Подписка в футере (footer.subscribe.html) */
.globalfooter .uk-form-icon + .uk-input,
.globalfooter .uk-input {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--pr-hairline);
  color: #fff;
}
.globalfooter .uk-input::placeholder { color: rgba(255, 255, 255, 0.4); }

.uk-totop {
  background: var(--pr-night-3);
  border: 1px solid var(--pr-hairline);
  color: #fff;
}
.uk-totop:hover {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
  color: #fff;
}


/* ------------------------------------------------------------
   15.10 Offcanvas — НЕ тёмный (светлая оболочка в §16.3 / §21).
   Модалки: лёгкая тень в тон.
   ------------------------------------------------------------ */
/* .uk-offcanvas-bar dark rules removed — single source: §16.3 + §21 */

.uk-modal-dialog {
  border-radius: var(--pr-radius-lg);
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.55);
}


/* ------------------------------------------------------------
   15.11 Reveal-анимации (класс вешает theme.custom.js v9)
   ------------------------------------------------------------ */
.pr-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
  transition-delay: var(--pr-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.pr-reveal.is-inview {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .pr-reveal { opacity: 1; transform: none; transition: none; }
  .uk-button, .pr-band .pr-band__phone { transition: none; }
}


/* ------------------------------------------------------------
   15.12 Адаптив: tablet ≤959, mobile ≤639
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .tm-home-page .pr-advantages { grid-template-columns: repeat(2, 1fr); }
  .pr-band { min-height: 0; }
  .pr-band::after { font-size: clamp(56px, 16vw, 120px); }
}

@media (max-width: 639px) {
  body { background-attachment: scroll; } /* iOS: fixed-фон тормозит */

  .pr-band__content { padding-top: 56px; padding-bottom: 64px; }
  .pr-band__content h1, .pr-band h1 { font-size: clamp(26px, 8vw, 34px); }
  .pr-band .pr-band__actions { flex-direction: column; align-items: stretch; }
  .pr-band .pr-band__phone,
  .pr-band .pr-band__link {
    width: 100%;
    justify-content: center;
    min-height: 52px; /* зона большого пальца */
  }
  .pr-band .pr-band__note { white-space: normal; text-align: center; }

  .tm-home-page .pr-advantages {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 0;
    padding: 0 12px;
  }
  .tm-home-page .pr-advantage { padding: 16px 14px; }
  .tm-home-page .pr-advantage .pr-advantage__num { font-size: 24px; }

  .tm-home-page .pr-home-anchor { padding: 18px 16px; }
  .tm-home-page .pr-home-cta { padding: 20px 16px; }
  .tm-home-page .pr-home-map__contacts {
    position: static;
    transform: none;
    max-width: none;
    margin-top: 12px;
  }

  main.content > .uk-panel-box { padding: 18px 16px; border-radius: var(--pr-radius); }
  main.content > .uk-panel-box:has(.tm-home-page) { padding: 0; }
}

@media (max-width: 479px) {
  .tm-home-page .pr-advantages { grid-template-columns: 1fr 1fr; }
  .pr-band::after { display: none; } /* на узких экранах watermark лишний */
}


/* ------------------------------------------------------------
   15.13 Страховки совместимости
   ------------------------------------------------------------ */
/* Если браузер не знает :has() — главная получит белый лист.
   Дублируем через класс на body: в head.html можно добавить
   {if $wa_app_url == $wa->currentUrl(0,1)} class="pr-is-home" {/if}.
   Ниже — те же правила через класс: */
body.pr-is-home .maincontent.uk-section { padding-top: 0; }
body.pr-is-home main.content > .uk-panel-box {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
body.pr-is-home .globalfooter { margin-top: var(--pr-s6); }

/* Печать: обратно в светлое */
@media print {
  body { background: #fff; }
  main.content > .uk-panel-box { box-shadow: none; border: none; }
}

/* ============================================================
   PRORACING — §16 LIGHT PREMIUM (v10)
   Куда: ДОПИСАТЬ В КОНЕЦ theme.custom.css (после §15).
   §15 НЕ удалять: v10 гасит тёмную «оболочку» и оставляет
   из ночной темы только три точки — hero, тёмную ленту
   категорий с липким баром и футер.

   Светлый премиальный слой:
   - фон сайта: тёплый светло-серый + едва заметная фактура
     (не плоский белый лист на весь экран)
   - контент: белые «листы» с тонкой рамкой и мягкой тенью
   - акцент #ff3546 — дозированно (CTA, активные, линии)
   - шрифты Unbounded + Manrope сохраняются
   ============================================================ */


/* ------------------------------------------------------------
   16.0 Токены светлой оболочки
   ------------------------------------------------------------ */
:root {
  --pr-bg-page: #f4f5f7;            /* фон страницы */
  --pr-border: #e7e8ec;             /* тонкие рамки на светлом */
  --pr-bg-soft: #f6f6f8;
  --pr-shadow-card: 0 1px 2px rgba(23, 26, 34, 0.05),
                    0 12px 32px rgba(23, 26, 34, 0.07);
  --pr-shadow-card-lg: 0 2px 4px rgba(23, 26, 34, 0.05),
                       0 20px 48px rgba(23, 26, 34, 0.1);
}


/* ------------------------------------------------------------
   16.1 Фон и базовые цвета — свет вместо ночи
   ------------------------------------------------------------ */
html { background: var(--pr-bg-page); }

body {
  color: var(--pr-ink);
  background:
    /* еле заметная фактура бумаги */
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E") repeat,
    /* тончайший тёплый отсвет сверху */
    radial-gradient(1200px 420px at 78% -160px, rgba(255, 53, 70, 0.035), transparent 60%),
    var(--pr-bg-page);
  background-attachment: scroll;
}

::selection { background: rgba(255, 53, 70, 0.16); color: var(--pr-ink); }


/* ------------------------------------------------------------
   16.2 Шапка: верхний бар снова светлый.
   Тёмными остаются лента категорий и липкий бар (§15) —
   это один осознанный тёмный элемент навигации.
   ------------------------------------------------------------ */
/* 16.2.1 Верхний бар (desktop) */
.globalheader .uk-bar-container.uk-bar-overlay-light {
  background: #fff;
  border-bottom: 1px solid var(--pr-border);
}
.globalheader .uk-bar-overlay-light .uk-bar-nav > li > a { color: var(--pr-ink); }
.globalheader .uk-bar-overlay-light .uk-bar-nav > li:hover > a,
.globalheader .uk-bar-overlay-light .uk-bar-nav > li.uk-active > a,
.globalheader .uk-bar-overlay-light .uk-bar-nav > li.uk-open > a { color: var(--pr-accent); }

/* Логотип на белом — обратно в чернила */
.globalheader .uk-bar-overlay-light .uk-logo,
.globalheader .uk-bar-overlay-light .uk-logo a,
.globalheader .uk-bar-overlay-light .uk-logo .uk-text-bold { color: var(--pr-ink) !important; }
.pr-logo-invert .globalheader .uk-bar-overlay-light .uk-logo img { filter: none; }

/* Телефон и иконки на белом верхе */
.globalheader .uk-bar-overlay-light .ya-phone-1,
.globalheader .uk-bar-overlay-light .ya-phone-2 { color: var(--pr-ink); }
.globalheader .uk-bar-overlay-light .uk-icon-button { color: var(--pr-ink); }
.globalheader .uk-bar-overlay-light .uk-icon-button:hover { color: var(--pr-accent); }

/* 16.2.2 Мобильный верхний бар — светлый, с блюром при скролле */
.uk-hidden\@m .uk-bar-container.uk-bar-top {
  background: #fff;
  border-bottom: 1px solid var(--pr-border);
}
.uk-hidden\@m .uk-bar-container.uk-bar-top.uk-sticky-fixed,
.uk-hidden\@m .uk-bar-container.uk-bar-top.uk-active {
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--pr-border);
  box-shadow: 0 6px 20px rgba(23, 26, 34, 0.08);
}
.uk-hidden\@m .uk-bar-top .uk-icon-button,
.uk-hidden\@m .uk-bar-top a { color: var(--pr-ink); }
.uk-hidden\@m .uk-bar-top .uk-icon-button:hover { color: var(--pr-accent); }
.uk-hidden\@m .uk-bar-top .uk-logo,
.uk-hidden\@m .uk-bar-top .uk-logo a { color: var(--pr-ink) !important; }

/* 16.2.3 Поиск: светлый по умолчанию, тёмный ТОЛЬКО на липком баре */
.globalheader .uk-search-default .uk-search-input {
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  color: var(--pr-ink);
}
.globalheader .uk-search-default .uk-search-input::placeholder { color: var(--pr-muted); }
.globalheader .uk-search-default .uk-search-input:focus {
  background: #fff;
  border-color: var(--pr-accent);
  color: var(--pr-ink);
  box-shadow: 0 0 0 3px var(--pr-accent-soft);
}
.globalheader .uk-search-icon { color: var(--pr-muted); }

.globalheader .uk-bar-sticky .uk-search-default .uk-search-input {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.globalheader .uk-bar-sticky .uk-search-default .uk-search-input::placeholder { color: rgba(255, 255, 255, 0.5); }
.globalheader .uk-bar-sticky .uk-search-default .uk-search-input:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 53, 70, 0.6);
  color: #fff;
  box-shadow: none;
}
.globalheader .uk-bar-sticky .uk-search-icon { color: rgba(255, 255, 255, 0.6); }

/* 16.2.4 Дропдауны и мега-меню — светлые карточки */
.globalheader .uk-dropdown,
.globalheader .uk-drop > .uk-card,
.uk-dropbar {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: 0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  box-shadow: var(--pr-shadow-card-lg);
  color: var(--pr-ink);
}
.globalheader .uk-dropdown a,
.uk-dropbar a { color: var(--pr-ink); }
.globalheader .uk-dropdown a:hover,
.uk-dropbar a:hover { color: var(--pr-accent); }
.uk-dropbar .uk-nav-header,
.globalheader .uk-dropdown .uk-nav-header { color: var(--pr-muted); }
.uk-dropbar hr,
.globalheader .uk-dropdown hr { border-color: var(--pr-border); }


/* ------------------------------------------------------------
   16.3 Offcanvas (мобильное меню) — светлый
   ------------------------------------------------------------ */
.uk-offcanvas-bar {
  background: #fff;
  color: var(--pr-ink);
  box-shadow: 20px 0 60px rgba(23, 26, 34, 0.18);
}
.uk-offcanvas-bar a { color: var(--pr-ink); }
.uk-offcanvas-bar a:hover { color: var(--pr-accent); }
.uk-offcanvas-bar .uk-nav-divider,
.uk-offcanvas-bar hr { border-color: var(--pr-border); }
.uk-offcanvas-bar .uk-nav > li.uk-active > a { color: var(--pr-accent); }
.uk-offcanvas-bar .uk-input,
.uk-offcanvas-bar .uk-search-input {
  background: var(--pr-bg-soft);
  border-color: var(--pr-border);
  color: var(--pr-ink);
}
.uk-offcanvas-bar .uk-close,
.uk-offcanvas-bar .uk-offcanvas-close { color: var(--pr-muted); }
.uk-offcanvas-bar .uk-close:hover { color: var(--pr-ink); }


/* ------------------------------------------------------------
   16.4 Контент: белый лист на светлом фоне
   ------------------------------------------------------------ */
main.content > .uk-panel-box {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  box-shadow: var(--pr-shadow-card);
}
main.content > .uk-panel-box:has(.tm-home-page),
body.pr-is-home main.content > .uk-panel-box {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

aside.sidebar .uk-panel-box,
aside.sidebar .uk-card-sidebar {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  box-shadow: var(--pr-shadow-card);
}

.uk-totop {
  background: #fff;
  border: 1px solid var(--pr-border);
  color: var(--pr-ink);
  box-shadow: var(--pr-shadow-card);
}
.uk-totop:hover {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
  color: #fff;
}


/* ------------------------------------------------------------
   16.5 Главная: hero остаётся тёмным (из §15.3), всё после
   него — светлые премиальные карточки.
   ------------------------------------------------------------ */
/* Чуть мягче переход hero → светлый фон: линия старта остаётся */
.pr-band { box-shadow: 0 24px 60px rgba(12, 13, 17, 0.25); }

/* 16.5.1 Заголовки секций — чернила + красная черта снизу */
.tm-home-page .pr-heading { color: var(--pr-ink); }
.tm-home-page .pr-home-intro { color: var(--pr-muted); }

/* 16.5.2 Цифры доверия — белые карточки поверх кромки hero */
.tm-home-page .pr-advantage {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  box-shadow: var(--pr-shadow-card);
}
.tm-home-page .pr-advantage::after {
  height: 2px;
  background: linear-gradient(90deg, var(--pr-accent), rgba(255, 53, 70, 0.15) 70%, transparent);
}
.tm-home-page .pr-advantage:hover {
  border-color: rgba(255, 53, 70, 0.35);
  box-shadow: var(--pr-shadow-card-lg);
}
.tm-home-page .pr-advantage .pr-advantage__num { color: var(--pr-ink); }
.tm-home-page .pr-advantage h3 { color: var(--pr-ink); }
.tm-home-page .pr-advantage p { color: var(--pr-muted); }

/* 16.5.3 Полосы-якоря услуг — светлая консоль (плоские полосы, без тяжёлых теней) */
.tm-home-page .pr-home-anchor {
  background: #fff;
  border: 1px solid var(--pr-border);
  box-shadow: none;
  color: var(--pr-ink) !important;
}
.tm-home-page .pr-home-anchor:hover {
  border-color: rgba(255, 53, 70, 0.4);
  background: var(--pr-bg-soft);
}
.tm-home-page .pr-home-anchor__title { color: var(--pr-ink); }
.tm-home-page .pr-home-anchor__text { color: var(--pr-muted); }

/* 16.5.4 Карточки категорий на главной — светлые */
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-top: 2px solid var(--pr-accent);
  box-shadow: var(--pr-shadow-card);
}
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover {
  border-color: rgba(255, 53, 70, 0.35);
  border-top-color: var(--pr-accent);
  box-shadow: var(--pr-shadow-card-lg);
}
.tm-home-page .tm-home-page-categories a.uk-text-bold { color: var(--pr-ink) !important; }
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
  color: var(--pr-accent) !important;
}

/* 16.5.5 CTA-полоса — светлая, с красной кромкой */
.tm-home-page .pr-home-cta {
  background:
    radial-gradient(520px 220px at 92% 0%, rgba(255, 53, 70, 0.06), transparent 60%),
    #fff;
  border: 1px solid var(--pr-border);
  border-left: 3px solid var(--pr-accent);
  box-shadow: var(--pr-shadow-card);
}
.tm-home-page .pr-home-cta__text h2 { color: var(--pr-ink); }
.tm-home-page .pr-home-cta__text p { color: var(--pr-muted); }

/* 16.5.6 Карта — светлая рамка; цвет проявляется по hover */
.tm-home-page .pr-home-map { border-top: 1px solid var(--pr-border); }
.tm-home-page .pr-home-map__frame {
  border: 1px solid var(--pr-border);
  background: var(--pr-bg-soft);
  box-shadow: var(--pr-shadow-card);
}
.tm-home-page .pr-home-map__frame iframe { filter: grayscale(0.6); }
.tm-home-page .pr-home-map__contacts .uk-card-secondary {
  background: #fff;
  border: 1px solid var(--pr-border);
  color: var(--pr-ink);
  box-shadow: var(--pr-shadow-card-lg);
}

/* Продуктовые ленты/отзывы из home.html (если включат) — заголовки в тон */
.tm-home-page .uk-h2 {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: clamp(20px, 2vw, 26px);
  color: var(--pr-ink);
}


/* ------------------------------------------------------------
   16.6 Футер — остаётся тёмным (см. §15.9), только шов:
   светлая страница → тёмный футер через красную линию.
   ------------------------------------------------------------ */
.globalfooter { margin-top: var(--pr-s7); }
body.pr-is-home .globalfooter,
body:has(.tm-home-page) .globalfooter { margin-top: var(--pr-s6); }

/* Подписка в футере: инпут читаем на тёмном (правила §15.9 подходят) */


/* ------------------------------------------------------------
   16.7 Hero на светлой странице: аккуратный стык сверху.
   Верхний бар белый, лента категорий тёмная, hero тёмный —
   лента и hero сливаются в один тёмный блок. Убираем двойную
   красную линию между ними: у ленты граница остаётся только
   вне главной.
   ------------------------------------------------------------ */
body.pr-is-home .globalheader .uk-bar-container.uk-bar-middle,
body:has(.tm-home-page) .globalheader .uk-bar-container.uk-bar-middle {
  border-bottom-color: transparent;
}


/* ------------------------------------------------------------
   16.8 Мелкая полировка светлого слоя
   ------------------------------------------------------------ */
/* Крошки на листе */
main.content .breadcrumbs.uk-breadcrumb a { color: var(--pr-muted); }
main.content .breadcrumbs.uk-breadcrumb a:hover { color: var(--pr-accent); }

/* Алерты/бейджи — светлая палитра */
.uk-alert { border-radius: var(--pr-radius); }
.uk-badge { background: var(--pr-accent); }

/* Модалки — светлые, тень мягче ночной */
.uk-modal-dialog { box-shadow: 0 30px 80px rgba(23, 26, 34, 0.28); }

/* Печать */
@media print {
  body { background: #fff; }
  .pr-band { box-shadow: none; }
}


/* ------------------------------------------------------------
   16.9 Адаптив: уточнения поверх §15.12
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Карточки цифр на светлом — компактнее и без тяжёлой тени */
  .tm-home-page .pr-advantage { box-shadow: 0 1px 2px rgba(23, 26, 34, 0.06); }
  /* Лист контента: на мобиле без рамки, только фон */
  main.content > .uk-panel-box {
    border: none;
    box-shadow: 0 1px 2px rgba(23, 26, 34, 0.05);
  }
  main.content > .uk-panel-box:has(.tm-home-page),
  body.pr-is-home main.content > .uk-panel-box { box-shadow: none; }
}
/* ============================================================
   PRORACING — §17 FULL TEMPLATE COVERAGE (v11)
   Куда: в конец theme.custom.css, ПОСЛЕ §16 (Light Premium).
   Закрывает страницы и компоненты, до которых стили не
   дотягивались: login / signup / forgotpassword, личный
   кабинет (.uk-page, my.profile), feedback, welcome, поиск
   и автокомплит, все модалки из service.html, уведомления,
   тултипы, offcanvas-меню (аккордеон), полный набор кнопок,
   текстовые элементы и нативные контролы форм.
   ============================================================ */


/* ------------------------------------------------------------
   17.1 Формы Webasyst — единая система на всех страницах
   (wa-form генерирует голые input без uk-классов)
   ------------------------------------------------------------ */
/* Ошибки: у фидбека класс .wa-error-msg, у auth-форм .errormsg */
.wa-error-msg,
.wa-form .errormsg,
.uk-form-danger + .wa-error-msg {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
  color: var(--pr-accent);
}
.wa-form input.wa-error,
.wa-form .wa-error,
input.uk-form-danger,
textarea.uk-form-danger,
select.uk-form-danger {
  border-color: var(--pr-accent) !important;
  box-shadow: 0 0 0 3px var(--pr-accent-soft) !important;
}

/* Чекбоксы/радио/range — фирменный акцент нативно */
input[type="checkbox"],
input[type="radio"],
input[type="range"],
progress {
  accent-color: var(--pr-accent);
}
input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.wa-form label,
#tm-action-feedback label {
  cursor: pointer;
}

/* Капча */
.wa-captcha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wa-captcha img {
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  background: #fff;
}
.wa-captcha input,
.wa-captcha .wa-captcha-input {
  max-width: 160px;
}
.wa-captcha-refresh {
  font-size: 13px;
  color: var(--pr-muted);
}
.wa-captcha-refresh:hover { color: var(--pr-accent); }

/* Кнопки, которые wa-формы выводят как <input type=submit> без классов */
.wa-form input[type="submit"]:not(.uk-button),
#tm-action-feedback input[type="submit"]:not(.uk-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 24px;
  border: none;
  border-radius: var(--pr-radius);
  background: var(--pr-accent);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.wa-form input[type="submit"]:not(.uk-button):hover {
  background: var(--pr-accent-dark);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(255, 53, 70, 0.3);
}

/* Строка «отправить»: кнопка + ссылки рядом */
.wa-form .wa-submit,
#tm-action-feedback .wa-submit {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: var(--pr-s2);
}
.wa-form .wa-submit a { color: var(--pr-muted); font-size: 14px; }
.wa-form .wa-submit a:hover { color: var(--pr-accent); }

/* Ссылки внутри форм (оферта, «забыли пароль» и т.п.) */
.wa-form a:not(.uk-button) { color: var(--pr-accent); text-decoration: none; }
.wa-form a:not(.uk-button):hover { text-decoration: underline; }


/* ------------------------------------------------------------
   17.2 Login / Signup / Forgot password — карточка по центру
   (у signup/forgot раньше не было НИКАКИХ стилей)
   ------------------------------------------------------------ */
.tm-login-page,
.tm-signup-page,
.tm-forgotpassword-page {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--pr-s5) 0 var(--pr-s6);
}

.tm-login-page-title,
.tm-signup-page-title,
.tm-forgotpassword-page-title {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.2;
  margin: 0 0 var(--pr-s5);
}
/* Красная черта под заголовком — как у секций */
.tm-login-page-title::after,
.tm-signup-page-title::after,
.tm-forgotpassword-page-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-top: 12px;
  border-radius: 2px;
  background: var(--pr-accent);
}

.tm-signup-page .wa-form,
.tm-forgotpassword-page .wa-form,
.tm-login-page .wa-form { max-width: none; }

/* Служебные тексты auth-страниц */
.tm-login-page p,
.tm-signup-page p,
.tm-forgotpassword-page p {
  color: var(--pr-muted);
  font-size: 14px;
  line-height: 1.55;
}
.tm-signup-page p em { font-style: normal; }

/* В модалке авторизации карточку не сжимаем */
.uk-modal-content .tm-login-page,
.uk-modal-content .tm-signup-page,
.uk-modal-content .tm-forgotpassword-page {
  max-width: none;
  padding: 0;
}


/* ------------------------------------------------------------
   17.3 Личный кабинет (.uk-page: my.profile.html, welcome)
   ------------------------------------------------------------ */
.uk-page-title,
.uk-page-header {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: 0;
  margin: 0 0 var(--pr-s5);
  color: var(--pr-ink);
}

/* Просмотр профиля: строки «имя — значение» ровной сеткой */
#wa-my-info-read-wrapper .wa-field {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 6px 20px;
  align-items: baseline;
  padding: 10px 0;
  border-bottom: 1px solid var(--pr-border);
  margin: 0;
}
#wa-my-info-read-wrapper .wa-field:last-child { border-bottom: none; padding-top: var(--pr-s4); }
#wa-my-info-read-wrapper .wa-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--pr-muted);
  text-transform: none;
}
#wa-my-info-read-wrapper .wa-value { font-size: 15px; color: var(--pr-ink); }

/* Подключённые аккаунты */
.wa-connect .uk-h3 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: var(--pr-s3);
}

/* Ссылка «Выйти» в сайдбаре кабинета */
.uk-card-sidebar .uk-nav a.uk-text-danger { color: var(--pr-accent) !important; }
.uk-card-sidebar .uk-nav a.uk-text-danger:hover { color: var(--pr-accent-dark) !important; }

/* Welcome-страница нового сайта */
.uk-page .uk-page-content { color: var(--pr-muted); font-size: 16px; }
.uk-page .uk-page-content a { color: var(--pr-accent); }


/* ------------------------------------------------------------
   17.4 Feedback (#tm-action-feedback)
   ------------------------------------------------------------ */
#tm-action-feedback { max-width: 560px; }
#tm-action-feedback h1 {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: clamp(24px, 2.4vw, 30px);
  margin: 0 0 var(--pr-s5);
}
#tm-action-feedback .wa-field { margin-bottom: var(--pr-s4); }
#tm-action-feedback .wa-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--pr-muted);
  margin-bottom: 6px;
}
#tm-action-feedback .uk-textarea { min-height: 120px; }


/* ------------------------------------------------------------
   17.5 Поиск: крупная форма и автокомплит
   ------------------------------------------------------------ */
.tm-search-page .uk-search.uk-search-default {
  gap: 10px;
}
.tm-search-page .uk-search-input {
  min-height: 48px;
  font-size: 16px;
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  padding: 0 16px;
}
.tm-search-page .uk-search-input:focus {
  border-color: var(--pr-accent);
  box-shadow: 0 0 0 3px var(--pr-accent-soft);
}
.tm-search-page .uk-search .uk-button-primary {
  min-height: 48px;
  min-width: 56px;
  padding: 0 18px;
}

/* Автокомплит из шапки (search.plugin) */
.uk-autocomplete-items { padding: 6px; }
.uk-autocomplete-items > li + li { margin-top: 4px; }
.uk-autocomplete-items .uk-card.uk-card-muted {
  background: #fff;
  border: 1px solid transparent;
  border-radius: var(--pr-radius);
  padding: 10px 12px;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.uk-autocomplete-items .uk-card.uk-card-muted:hover {
  background: var(--pr-bg-soft);
  border-color: var(--pr-border);
}
.uk-autocomplete-items .uk-h5 { font-size: 14px; font-weight: 700; }
.uk-autocomplete-items .uk-text-meta { font-size: 12px; }
.uk-autocomplete-items .match {
  color: var(--pr-accent);
  background: var(--pr-accent-soft);
  border-radius: 2px;
}


/* ------------------------------------------------------------
   17.6 Модалки (service.html: page-modal, added-to-cart,
   auth-modal, полноэкранная карта) — единый стиль окон
   ------------------------------------------------------------ */
.uk-modal { backdrop-filter: blur(2px); }
.uk-modal-dialog {
  border-radius: var(--pr-radius-lg);
  background: #fff;
}
.uk-modal-dialog.uk-modal-body { padding: var(--pr-s6) var(--pr-s6) var(--pr-s5); }

.uk-modal-title {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.25;
  margin-bottom: var(--pr-s4);
  padding-right: 32px; /* не наезжать на крестик */
}

/* Крестики закрытия */
.uk-modal-close-default,
.uk-modal-close-outside {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--pr-muted);
  background: var(--pr-bg-soft);
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.uk-modal-close-default:hover,
.uk-modal-close-outside:hover {
  color: #fff;
  background: var(--pr-accent);
  transform: rotate(90deg);
}
.uk-modal-close-full {
  background: #fff;
  color: var(--pr-ink);
  border-radius: 0 0 0 var(--pr-radius-lg);
  padding: 14px;
}
.uk-modal-close-full:hover { color: var(--pr-accent); background: #fff; }

/* «Товар добавлен в корзину» */
.uk-modal-dialog .uk-modal-title + p { color: var(--pr-muted); margin: 0; }
.uk-modal-dialog p a { color: var(--pr-accent); font-weight: 600; }

/* Спиннер загрузки (auth-modal, page-modal) — акцентный */
.uk-spinner,
[data-uk-spinner] { color: var(--pr-accent); }
.uk-modal-content > [data-uk-spinner] {
  display: block;
  margin: var(--pr-s6) auto;
}

/* Полноэкранная карта: рамка окна не нужна */
.uk-modal-dialog.uk-width-1-1.uk-height-1-1 { border-radius: 0; }


/* ------------------------------------------------------------
   17.7 Уведомления-тосты (добавлено в корзину / избранное)
   ------------------------------------------------------------ */
.uk-notification { z-index: 10500; }
.uk-notification-message {
  background: #fff;
  color: var(--pr-ink);
  font-size: 14px;
  font-weight: 500;
  border: 1px solid var(--pr-border);
  border-left: 3px solid var(--pr-accent);
  border-radius: var(--pr-radius);
  box-shadow: var(--pr-shadow-card-lg);
  padding: 14px 40px 14px 16px;
}
.uk-notification-message a {
  color: var(--pr-accent);
  font-weight: 700;
  text-decoration: none;
}
.uk-notification-message a:hover { text-decoration: underline; }
.uk-notification-message .uk-notification-close { color: var(--pr-muted); }
.uk-notification-message-danger { border-left-color: var(--pr-accent); }
.uk-notification-message-success { border-left-color: #2ea44f; }
.uk-notification-message-warning { border-left-color: #d9a514; }


/* ------------------------------------------------------------
   17.8 Тултипы
   ------------------------------------------------------------ */
.uk-tooltip {
  background: var(--pr-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
  padding: 6px 10px;
  box-shadow: 0 8px 24px rgba(23, 26, 34, 0.25);
}


/* ------------------------------------------------------------
   17.9 Offcanvas-меню: аккордеон, заголовки, активные пункты
   ------------------------------------------------------------ */
.uk-offcanvas-bar { width: min(320px, 86vw); }
.uk-offcanvas-bar .uk-nav-header {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pr-muted);
  padding: 18px 0 8px;
}
.uk-offcanvas-bar .uk-nav > li > a {
  padding: 10px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
}
.uk-offcanvas-bar .uk-nav > li.uk-active > a {
  color: var(--pr-accent);
  /* без inset-полоски — она ломала выравнивание; акцент в §21 */
  box-shadow: none;
  padding-left: 0;
}
/* Вложенные уровни аккордеона */
.uk-offcanvas-bar .uk-nav ul {
  padding-left: 14px;
  border-left: 1px solid var(--pr-border);
  margin: 2px 0 6px;
}
.uk-offcanvas-bar .uk-nav ul a {
  font-size: 14px;
  font-weight: 500;
  color: var(--pr-muted);
  padding: 7px 0;
  display: block;
}
.uk-offcanvas-bar .uk-nav ul a:hover { color: var(--pr-accent); }
/* Стрелка родителя */
.uk-offcanvas-bar .uk-menu-parent-icon > li > a > .uk-icon:last-child,
.uk-offcanvas-bar .uk-parent > a::after { color: var(--pr-muted); }
.uk-offcanvas-bar .uk-parent.uk-open > a { color: var(--pr-ink); }

/* Кнопка закрытия offcanvas */
.uk-offcanvas-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pr-bg-soft);
  color: var(--pr-muted);
}
.uk-offcanvas-close:hover { background: var(--pr-accent); color: #fff; }

/* «Показать ещё» из service.html в подменю */
.uk-submenu-show-all > a {
  font-size: 13px;
  font-weight: 700;
  color: var(--pr-accent) !important;
}


/* ------------------------------------------------------------
   17.10 Кнопки — полный набор состояний и вариантов
   ------------------------------------------------------------ */
/* Размеры */
.uk-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.uk-button-small { min-height: 34px; padding: 0 14px; font-size: 13px; }
.uk-button-large { min-height: 52px; padding: 0 32px; font-size: 16px; }

/* Danger (например, «отмена» в профиле) — сдержанный контур,
   а не вторая красная заливка рядом с primary.
   color !important обязателен: в theme.css у danger стоит
   color:#fff !important — иначе текст белый на прозрачном фоне
   и «проявляется» только на hover. */
.uk-button-danger {
  background: transparent;
  border: 1px solid rgba(255, 53, 70, 0.45);
  color: var(--pr-accent) !important;
  -webkit-text-fill-color: var(--pr-accent);
}
.uk-button-danger:hover,
.uk-button-danger:focus,
.uk-button-danger:active {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}

/* «Вызвать эвакуатор» — всегда заливка + белый текст */
a.pr-evacuator-btn,
.pr-evacuator-btn,
.pr-evacuator-btn.uk-button,
.pr-evacuator-btn.uk-button-danger,
.pr-evacuator-btn.uk-button-primary {
  background: var(--pr-accent) !important;
  border: 1px solid var(--pr-accent) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}
a.pr-evacuator-btn:hover,
a.pr-evacuator-btn:focus,
a.pr-evacuator-btn:active,
.pr-evacuator-btn:hover,
.pr-evacuator-btn:focus,
.pr-evacuator-btn:active {
  background: var(--pr-accent-dark) !important;
  border-color: var(--pr-accent-dark) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Текстовые кнопки */
.uk-button-text,
.uk-button-link {
  min-height: 0;
  padding: 0;
  color: var(--pr-accent);
  font-weight: 600;
}
.uk-button-text:hover,
.uk-button-link:hover { color: var(--pr-accent-dark); text-decoration: underline; }

/* Disabled — одинаково для всех вариантов */
.uk-button:disabled,
.uk-button.uk-disabled {
  background: var(--pr-bg-soft);
  border-color: var(--pr-border);
  color: #b3b4ba;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Иконочные кнопки шапки/карточек — единый размер и hover */
.uk-icon-button {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}
.uk-icon-button:hover { background: var(--pr-accent-soft); }
.globalheader .uk-bar-sticky .uk-icon-button:hover,
.uk-bar-secondary .uk-icon-button:hover { background: var(--pr-accent); }


/* ------------------------------------------------------------
   17.11 Текстовые элементы на «листе» (вне .tm-page-content)
   ------------------------------------------------------------ */
main.content blockquote:not([class]) {
  margin: var(--pr-s4) 0;
  padding: var(--pr-s3) var(--pr-s4);
  border-left: 3px solid var(--pr-accent);
  background: var(--pr-bg-soft);
  border-radius: 0 var(--pr-radius) var(--pr-radius) 0;
  color: var(--pr-ink);
  font-size: 16px;
}
main.content code:not([class]) {
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 0.9em;
  color: var(--pr-accent-dark);
}
mark {
  background: var(--pr-accent-soft);
  color: var(--pr-ink);
  border-radius: 2px;
  padding: 0 3px;
}

.uk-label {
  background: var(--pr-accent);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 8px;
}
.uk-label-success { background: #2ea44f; }
.uk-label-warning { background: #d9a514; }

/* Алерты — тонкая карточка с цветной кромкой */
.uk-alert {
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  border-left: 3px solid var(--pr-muted);
  border-radius: var(--pr-radius);
  color: var(--pr-ink);
  padding: 14px 40px 14px 16px;
}
.uk-alert-success { border-left-color: #2ea44f; background: #f2faf4; }
.uk-alert-warning { border-left-color: #d9a514; background: #fdf8ec; }
.uk-alert-danger  { border-left-color: var(--pr-accent); background: #fef3f4; }
.uk-alert p { margin: 0; }
.uk-alert .uk-alert-close { color: var(--pr-muted); }

/* Описательные списки (характеристики и т.п.) */
main.content dl:not([class]) dt { font-weight: 700; margin-top: var(--pr-s3); }
main.content dl:not([class]) dd { margin-left: 0; color: var(--pr-muted); }


/* ------------------------------------------------------------
   17.12 Пагинация и «хвосты» интерфейса
   ------------------------------------------------------------ */
.uk-pagination > * > a,
.uk-pagination > * > span {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--pr-radius);
  transition: background 0.15s ease, color 0.15s ease;
}
.uk-pagination > * > a:hover { background: var(--pr-bg-soft); color: var(--pr-ink); }
.uk-pagination > .uk-active > * {
  background: var(--pr-accent);
  color: #fff;
  font-weight: 700;
}

/* Лайтбокс: тулбар читаемый */
.uk-lightbox { background: rgba(10, 11, 14, 0.92); }
.uk-lightbox-toolbar { color: rgba(255, 255, 255, 0.8); }
.uk-lightbox-toolbar-icon:hover { color: var(--pr-accent); }


/* ------------------------------------------------------------
   17.13 Мобильные уточнения для новых поверхностей
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .tm-login-page,
  .tm-signup-page,
  .tm-forgotpassword-page { padding-top: var(--pr-s3); }

  #wa-my-info-read-wrapper .wa-field {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 8px 0;
  }

  .uk-modal-dialog.uk-modal-body { padding: var(--pr-s5) var(--pr-s4); }
  .uk-notification { left: 10px; right: 10px; width: auto; }

  .tm-search-page .uk-search.uk-search-default { flex-wrap: nowrap; }

  /* Все ключевые CTA — под большой палец */
  .wa-form input[type="submit"]:not(.uk-button),
  #tm-action-feedback input[type="submit"] { width: 100%; min-height: 50px; }
}
/* ============================================================
   PRORACING — §18 EDITORIAL POLISH (v12)
   Куда: в конец theme.custom.css, ПОСЛЕ §17.
   Светлая тема. Редакторская проработка:
   18.1 Рендеринг и «характер» текста
   18.2 Заголовки: фирменная система «красный слэш»
   18.3 Текст статей: ритм, лид-абзац, ссылки, списки, цитаты
   18.4 Таблицы и цифры
   18.5 Окна (модалки): фирменная кромка, шапка, анимация
   18.6 Карточки категорий: единый узнаваемый паттерн
   18.7 Кнопки: премиальная доводка
   18.8 Сайдбар, крошки, скроллбар, мелочи
   18.9 Мобильная типографика
   ============================================================ */


/* ------------------------------------------------------------
   18.1 Рендеринг текста — базовый «характер»
   ------------------------------------------------------------ */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Заголовки не оставляют «висячих» одиноких слов,
   абзацы переносятся аккуратнее (прогрессивно) */
h1, h2, h3, .uk-h1, .uk-h2, .uk-h3,
.tm-page-title, .pr-heading, .uk-modal-title { text-wrap: balance; }
.tm-page-content p,
.pr-legacy-content p { text-wrap: pretty; }


/* ------------------------------------------------------------
   18.2 Заголовки: система «красный слэш» PRORACING
   H1 страницы получает кикер-линию сверху — фирменный знак.
   ------------------------------------------------------------ */
.tm-page-title,
.tm-category-page-title,
.tm-product-page-title,
.tm-cart-page-title,
.tm-search-page-title {
  position: relative;
  padding-top: 14px;
  letter-spacing: 0.005em;
}
.tm-page-title::before,
.tm-category-page-title::before,
.tm-product-page-title::before,
.tm-cart-page-title::before,
.tm-search-page-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1px;
  width: 44px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--pr-accent) 60%, rgba(255, 53, 70, 0.25));
}

/* H2 в контенте: скошенный красный «слэш» вместо квадратика —
   мотив шеврона/разметки трека, единый по всему сайту */
.tm-page-content h2::before,
.pr-legacy-content h2::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  width: 10px;
  height: 0.72em;
  margin-right: 12px;
  border-radius: 2px;
  background: var(--pr-accent);
  transform: skewX(-14deg);
}
.tm-page-content h2,
.pr-legacy-content h2 {
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-top: 2.2em;
  margin-bottom: 0.7em;
}
.tm-page-content > h2:first-child,
.pr-legacy-content > h2:first-child { margin-top: 0; }

/* H3 — технический подзаголовок: капс-меткой, спокойный */
.tm-page-content h3,
.pr-legacy-content h3 {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--pr-ink);
  margin-top: 1.9em;
  margin-bottom: 0.6em;
}
.tm-page-content h3::before,
.pr-legacy-content h3::before {
  content: "// ";
  color: var(--pr-accent);
  letter-spacing: 0;
}

/* H4 — просто жирный, чтобы иерархия не рассыпалась */
.tm-page-content h4,
.pr-legacy-content h4 {
  font-size: 16px;
  font-weight: 700;
  margin-top: 1.6em;
  margin-bottom: 0.5em;
}


/* ------------------------------------------------------------
   18.3 Текст статей: ритм чтения
   ------------------------------------------------------------ */
.tm-page-content,
.pr-legacy-content {
  font-size: 16px;
  line-height: 1.75;
}
.tm-page-content p,
.pr-legacy-content p { margin: 0 0 1.1em; }

/* Лид: первый абзац статьи — крупнее и глубже по тону */
.tm-page-content > .pr-legacy-content > p:first-child,
.tm-page-content > p:first-of-type,
article.tm-page .pr-legacy-content > p:first-child {
  font-size: 18px;
  line-height: 1.65;
  color: #3c3f48;
}

/* Ссылки в тексте: живое подчёркивание, растущее по hover */
.tm-page-content a:not(.uk-button):not(.pr-card a),
.pr-legacy-content a:not(.uk-button) {
  color: var(--pr-accent-dark);
  border-bottom: none;
  text-decoration: none;
  background-image: linear-gradient(90deg, rgba(255, 53, 70, 0.35), rgba(255, 53, 70, 0.35));
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 96%;
  transition: background-size 0.18s ease, color 0.18s ease;
}
.tm-page-content a:not(.uk-button):hover,
.pr-legacy-content a:not(.uk-button):hover {
  color: var(--pr-accent);
  background-image: linear-gradient(90deg, var(--pr-accent), var(--pr-accent));
  background-size: 100% 2px;
}

/* Маркированные списки: красное тире-шеврон */
.tm-page-content ul:not([class]),
.pr-legacy-content ul:not([class]) {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1.2em;
}
.tm-page-content ul:not([class]) > li,
.pr-legacy-content ul:not([class]) > li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 0.45em;
}
.tm-page-content ul:not([class]) > li::before,
.pr-legacy-content ul:not([class]) > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  background: var(--pr-accent);
  transform: skewX(-14deg);
}
/* Вложенные — серые точки, чтобы не рябило красным */
.tm-page-content ul:not([class]) ul > li::before,
.pr-legacy-content ul:not([class]) ul > li::before {
  width: 5px;
  height: 5px;
  top: 0.62em;
  border-radius: 50%;
  background: #c6c8ce;
  transform: none;
}

/* Нумерованные: цифры в display-шрифте */
.tm-page-content ol:not([class]),
.pr-legacy-content ol:not([class]) {
  list-style: none;
  counter-reset: pr-ol;
  padding-left: 0;
  margin: 0 0 1.2em;
}
.tm-page-content ol:not([class]) > li,
.pr-legacy-content ol:not([class]) > li {
  position: relative;
  padding-left: 38px;
  margin-bottom: 0.55em;
  counter-increment: pr-ol;
}
.tm-page-content ol:not([class]) > li::before,
.pr-legacy-content ol:not([class]) > li::before {
  content: counter(pr-ol, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0.18em;
  font-family: var(--pr-font-display);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: var(--pr-accent);
  letter-spacing: 0.02em;
}

/* Цитата: крупная кавычка в display-шрифте */
.tm-page-content blockquote,
.pr-legacy-content blockquote {
  position: relative;
  margin: 1.6em 0;
  padding: 20px 24px 20px 56px;
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  border-left: 3px solid var(--pr-accent);
  border-radius: 0 var(--pr-radius) var(--pr-radius) 0;
  font-size: 17px;
  line-height: 1.6;
}
.tm-page-content blockquote::before,
.pr-legacy-content blockquote::before {
  content: "\201C";
  position: absolute;
  left: 16px;
  top: 4px;
  font-family: var(--pr-font-display);
  font-size: 40px;
  line-height: 1;
  color: var(--pr-accent);
  opacity: 0.85;
}
.tm-page-content blockquote p:last-child,
.pr-legacy-content blockquote p:last-child { margin-bottom: 0; }

/* Разделитель — короткий красный штрих по центру */
.tm-page-content hr,
.pr-legacy-content hr {
  border: none;
  width: 56px;
  height: 3px;
  border-radius: 2px;
  margin: 2.2em auto;
  background: linear-gradient(90deg, var(--pr-accent), rgba(255, 53, 70, 0.3));
}

/* Ссылки-цвет из старой палитры → новый акцент */
.pr-legacy-content a {
  border-bottom-color: rgba(255, 53, 70, 0.35);
}


/* ------------------------------------------------------------
   18.4 Таблицы и цифры
   ------------------------------------------------------------ */
/* Табличные цифры: прайсы ровными колонками */
.pr-legacy-content table,
.tm-page-content table,
.uk-table,
.price, .uk-price, .pr-price {
  font-variant-numeric: tabular-nums;
}
/* Строка под курсором */
.pr-legacy-content table tbody tr:hover td,
.tm-page-content table tbody tr:hover td {
  background: rgba(255, 53, 70, 0.045);
}
/* Шапка таблиц: чуть глубже + красная нижняя кромка */
.pr-legacy-content table th,
.tm-page-content table th {
  border-bottom: 2px solid var(--pr-accent) !important;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Цены в последней колонке — жирные; nowrap только если влезает, иначе перенос */
.pr-legacy-content table td:last-child,
.tm-page-content table td:last-child {
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 639px) {
  .pr-legacy-content table td:last-child,
  .tm-page-content table td:last-child {
    white-space: normal;
  }
}


/* ------------------------------------------------------------
   18.5 Окна: фирменная кромка, шапка, появление
   ------------------------------------------------------------ */
.uk-modal-dialog {
  overflow: hidden; /* для верхней кромки с радиусом */
  border: 1px solid var(--pr-border);
}
/* Красная стартовая кромка сверху — как у футера и hero */
.uk-modal-dialog::before {
  content: "";
  display: block;
  height: 3px;
  margin: 0 0 0;
  background: linear-gradient(90deg, var(--pr-accent) 0%, rgba(255, 53, 70, 0.25) 60%, transparent 100%);
}
.uk-modal-dialog.uk-width-1-1.uk-height-1-1::before { display: none; }

/* Заголовок окна как «шапка»: линия-отбивка снизу */
.uk-modal-title {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pr-border);
}

/* Появление окна: мягкий подъём + масштаб (поверх transition UIkit) */
.uk-modal .uk-modal-dialog {
  transform: translateY(14px) scale(0.985);
  opacity: 0;
  transition: transform 0.22s cubic-bezier(0.22, 0.7, 0.3, 1), opacity 0.18s ease;
}
.uk-modal.uk-open .uk-modal-dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .uk-modal .uk-modal-dialog { transition: none; transform: none; opacity: 1; }
}

/* Кнопочный ряд внизу окон */
.uk-modal-footer {
  background: var(--pr-bg-soft);
  border-top: 1px solid var(--pr-border);
  padding: 16px var(--pr-s5);
}


/* ------------------------------------------------------------
   18.6 Карточки категорий: узнаваемый паттерн (только ПК ≥960;
   на мобиле — theme.mobile.css M-CAT)
   ------------------------------------------------------------ */
@media (min-width: 960px) {
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid,
.tm-category-page-categories > .uk-grid > li > .uk-grid {
  position: relative;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

/* Название: рядом живёт штрих, растущий по hover */
.tm-home-page-categories a.uk-text-bold,
.tm-category-page-categories a.uk-text-bold {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.tm-home-page-categories a.uk-text-bold::after,
.tm-category-page-categories a.uk-text-bold::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 22px;
  height: 2px;
  border-radius: 1px;
  background: var(--pr-accent);
  transition: width 0.22s cubic-bezier(0.22, 0.7, 0.3, 1);
}
.tm-home-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold::after,
.tm-category-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold::after {
  width: 100%;
}

/* Стрелка-шеврон в углу карточки, выезжает по hover */
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid::after,
.tm-category-page-categories > .uk-grid > li > .uk-grid::after {
  content: "\2192"; /* → */
  position: absolute;
  right: 16px;
  bottom: 12px;
  font-size: 18px;
  line-height: 1;
  color: var(--pr-accent);
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  pointer-events: none;
}
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover::after,
.tm-category-page-categories > .uk-grid > li > .uk-grid:hover::after {
  opacity: 1;
  transform: translateX(0);
}

/* Списки подкатегорий внутри карточек — компактные, серые → красные */
.tm-home-page-categories .uk-nav a,
.tm-category-page-categories .uk-nav a {
  font-size: 13px;
  color: var(--pr-muted);
  padding: 3px 0;
}
.tm-home-page-categories .uk-nav a:hover,
.tm-category-page-categories .uk-nav a:hover { color: var(--pr-accent); }
}


/* ------------------------------------------------------------
   18.7 Кнопки: премиальная доводка
   ------------------------------------------------------------ */
/* Primary/secondary — капс-набор небольшим кеглем, как на
   гоночной технике; градиент + светлая грань сверху */
.uk-button-primary,
.uk-button-secondary {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.uk-button-primary {
  background: linear-gradient(180deg, #ff4655 0%, var(--pr-accent) 55%, #f22738 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(217, 36, 53, 0.3);
}
.uk-button-primary:hover,
.uk-button-primary:focus {
  background: linear-gradient(180deg, #ff3546 0%, var(--pr-accent-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 8px 22px rgba(255, 53, 70, 0.32);
}
.uk-button-primary:active {
  background: var(--pr-accent-dark);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.18);
}

/* Default: при наведении лёгкая красная «зарядка» */
.uk-button-default:hover {
  border-color: var(--pr-accent);
  color: var(--pr-accent);
  background: #fff;
}

/* Кнопки со стрелкой: → уезжает вправо (просто ставьте → в тексте) */
.uk-button .pr-arrow,
.pr-band__link .pr-arrow { display: inline-block; transition: transform 0.18s ease; margin-left: 8px; }
.uk-button:hover .pr-arrow { transform: translateX(4px); }

/* Hero-кнопки не капсим — там телефон */
.pr-band .pr-band__phone,
.pr-band .pr-band__link,
.pr-home-cta .pr-band__phone {
  text-transform: none;
  letter-spacing: 0;
  font-size: 17px;
}


/* ------------------------------------------------------------
   18.8 Сайдбар, крошки, скроллбар, мелкие фирменные детали
   ------------------------------------------------------------ */
/* Заголовки карточек сайдбара — техно-метка */
aside.sidebar .uk-card-sidebar .uk-card-title {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
aside.sidebar .uk-card-sidebar .uk-card-header {
  border-bottom: 1px solid var(--pr-border);
  position: relative;
}
aside.sidebar .uk-card-sidebar .uk-card-header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 36px;
  height: 2px;
  background: var(--pr-accent);
}

/* Хлебные крошки: разделитель-слэш в тон */
main.content .breadcrumbs.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  color: #c6c8ce;
  margin: 0 10px;
  transform: skewX(-14deg);
  display: inline-block;
}
main.content .breadcrumbs.uk-breadcrumb > * > * { font-size: 13px; }

/* Скроллбар (WebKit) — тонкий, в палитре */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--pr-bg-page); }
::-webkit-scrollbar-thumb {
  background: #c9cbd1;
  border-radius: 6px;
  border: 2px solid var(--pr-bg-page);
}
::-webkit-scrollbar-thumb:hover { background: var(--pr-accent); }

/* Плавный якорный скролл с отступом под липкую шапку */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Картинки в тексте: мягкая рамка */
.tm-page-content img:not([class]),
.pr-legacy-content img:not([class]) {
  border: 1px solid var(--pr-border);
}


/* ------------------------------------------------------------
   18.9 Мобильная типографика
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .tm-page-content,
  .pr-legacy-content { font-size: 15.5px; line-height: 1.7; }

  .tm-page-content > p:first-of-type,
  article.tm-page .pr-legacy-content > p:first-child { font-size: 17px; }

  .tm-page-content h2,
  .pr-legacy-content h2 { font-size: 20px; margin-top: 1.8em; }
  .tm-page-content h2::before,
  .pr-legacy-content h2::before { height: 0.68em; margin-right: 10px; }

  .tm-page-content h3,
  .pr-legacy-content h3 { font-size: 13px; }

  .tm-page-content blockquote,
  .pr-legacy-content blockquote { padding: 16px 16px 16px 46px; font-size: 16px; }
  .tm-page-content blockquote::before,
  .pr-legacy-content blockquote::before { left: 12px; font-size: 32px; }

  .tm-page-content ol:not([class]) > li,
  .pr-legacy-content ol:not([class]) > li { padding-left: 32px; }

  /* Таблицы-прайсы: горизонтальный скролл вместо ломания колонок */
  .pr-legacy-content table,
  .tm-page-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* ============================================================
   PRORACING — §19 MENUS · TABLES · CARDS · PHOTOS (v13)
   Куда: в конец theme.custom.css, ПОСЛЕ §18.
   19.1 Выпадающие меню шапки: dropdown, dropbar, мега «Марки»
   19.2 Таблицы: скруглённый корпус, зебра, прайс-колонка
   19.3 Карточки: единый язык для всех (viewmode 3/4/5,
        услуги, преимущества, бренды, главная)
   19.4 Фото: аккуратные кадры везде
   19.5 Мобильные уточнения
   ============================================================ */


/* ------------------------------------------------------------
   19.1 ВЫПАДАЮЩИЕ МЕНЮ ШАПКИ
   ------------------------------------------------------------ */
/* 19.1.1 Появление: мягкий сдвиг сверху (не «прыжок») */
@keyframes pr-drop-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.uk-dropbar,
.globalheader .uk-dropdown,
.uk-dropdown {
  animation: pr-drop-in 0.18s cubic-bezier(0.22, 0.7, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
  .uk-dropbar, .uk-dropdown { animation: none; }
}

/* 19.1.2 Малые дропдауны (аккаунт, часы работы, корзина) */
.uk-dropdown {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  box-shadow: var(--pr-shadow-card-lg);
  color: var(--pr-ink);
  padding: 18px 20px;
}
.uk-dropdown .uk-nav > li > a {
  color: var(--pr-ink);
  padding: 7px 0;
  border-radius: 6px;
  transition: color 0.12s ease, padding-left 0.15s ease;
}
.uk-dropdown .uk-nav > li > a:hover {
  color: var(--pr-accent);
  padding-left: 6px;
}
.uk-dropdown .uk-nav-header {
  font-family: var(--pr-font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pr-muted);
}
.uk-dropdown hr { border-color: var(--pr-border); }

/* 19.1.3 Dropbar — широкая панель под тёмной лентой категорий */
.uk-dropbar {
  background: #fff;
  border: none;
  border-bottom: 1px solid var(--pr-border);
  border-radius: 0 0 var(--pr-radius-lg) var(--pr-radius-lg);
  box-shadow: 0 30px 60px rgba(23, 26, 34, 0.16);
  padding-top: 28px;
  padding-bottom: 28px;
  max-height: min(72vh, 640px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* Тонкая красная стартовая линия — продолжение мотива шапки */
.uk-dropbar::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--pr-accent) 0%, rgba(255, 53, 70, 0.2) 55%, transparent 100%);
}
.uk-dropbar::-webkit-scrollbar { width: 8px; }
.uk-dropbar::-webkit-scrollbar-thumb { background: #d7d9de; border-radius: 4px; }

/* 19.1.4 Меню разделов: заголовки групп и ссылки */
.uk-menu-dropbar .uk-nav-header,
.uk-dropbar .uk-nav > li.uk-parent > a,
.uk-menu-dropbar > li > ul > .uk-parent > a {
  font-family: var(--pr-font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pr-ink);
  padding-bottom: 10px;
  margin-bottom: 4px;
}
/* Красный слэш перед заголовком группы */
.uk-menu-dropbar > li > ul > .uk-parent > a::before,
.uk-dropbar .uk-nav > li.uk-parent > a::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 11px;
  margin-right: 8px;
  border-radius: 2px;
  background: var(--pr-accent);
  transform: skewX(-14deg);
}
/* Ссылки внутри групп */
.uk-dropbar ul a,
.uk-menu-dropbar ul ul a {
  font-size: 14px;
  font-weight: 500;
  color: #4a4d57;
  padding: 5px 0;
  display: inline-block;
  transition: color 0.12s ease, transform 0.15s ease;
}
.uk-dropbar ul a:hover,
.uk-menu-dropbar ul ul a:hover {
  color: var(--pr-accent);
  transform: translateX(3px);
}
/* Активный раздел */
.uk-dropbar li.uk-active > a { color: var(--pr-accent); }

/* 19.1.5 Мега-меню с картинками («Марки и модели»,
   dropbar-secondary / dropbar-icons) — плитки брендов */
.uk-menu-dropbar.uk-menu-secondary > li > ul > li > a,
.uk-menu-dropbar.uk-menu-icons > li > ul > li > a {
  border: 1px solid transparent;
  border-radius: var(--pr-radius);
  padding: 10px 12px;
  transition: border-color 0.15s ease, background 0.15s ease,
              box-shadow 0.15s ease, transform 0.15s ease;
}
.uk-menu-dropbar.uk-menu-secondary > li > ul > li > a:hover,
.uk-menu-dropbar.uk-menu-icons > li > ul > li > a:hover {
  background: #fff;
  border-color: var(--pr-border);
  box-shadow: var(--pr-shadow-card);
  transform: translateY(-2px);
  color: var(--pr-ink);
}
/* Логотипы марок: единый кадр, серые → цвет по hover */
.uk-menu-dropbar.uk-menu-secondary img,
.uk-menu-dropbar.uk-menu-icons img {
  max-height: 44px;
  width: auto;
  object-fit: contain;
  filter: grayscale(1) contrast(0.9);
  opacity: 0.75;
  transition: filter 0.18s ease, opacity 0.18s ease;
}
.uk-menu-dropbar.uk-menu-secondary li > a:hover img,
.uk-menu-dropbar.uk-menu-icons li > a:hover img {
  filter: none;
  opacity: 1;
}
/* Иконки в dropdown-icons (маленькие, слева от текста) */
.uk-menu-dropbar.uk-menu-icons ul ul img {
  max-height: 22px;
  filter: none;
  opacity: 1;
}

/* Баннер в dropbar-banner — аккуратный кадр */
.uk-dropbar .uk-background-default img {
  border-radius: var(--pr-radius);
  border: 1px solid var(--pr-border);
}


/* ------------------------------------------------------------
   19.2 ТАБЛИЦЫ: скруглённый корпус
   (прайсы и legacy HTML из БД)
   ------------------------------------------------------------ */
.pr-legacy-content table,
.tm-page-content table,
.uk-section.truck table,
.uk-card-body > table {
  border-collapse: separate !important;
  border-spacing: 0;
  border: 1px solid var(--pr-border);
  border-radius: 10px;
  /* auto — не hidden: иначе широкая таблица обрезается по краю карточки */
  overflow-x: auto;
  overflow-y: hidden;
  margin: 1.4em 0;
  width: 100% !important;
  max-width: 100%;
  display: block;
  -webkit-overflow-scrolling: touch;
}
/* Сетка изнутри: только правые/нижние линии, чтобы не двоило */
.pr-legacy-content table td,
.pr-legacy-content table th,
.tm-page-content table td,
.tm-page-content table th {
  border: none !important;
  border-right: 1px solid var(--pr-border) !important;
  border-bottom: 1px solid var(--pr-border) !important;
  padding: 10px 14px;
}
.pr-legacy-content table tr > *:last-child,
.tm-page-content table tr > *:last-child { border-right: none !important; }
.pr-legacy-content table tr:last-child > *,
.tm-page-content table tr:last-child > * { border-bottom: none !important; }

/* Шапка: тёмная плашка, красная кромка (из §18 сохраняется) */
.pr-legacy-content table th,
.tm-page-content table th,
.pr-legacy-content table tr:first-child td:has(> strong:only-child),
.pr-legacy-content table tr:first-child td:has(> b:only-child) {
  border-bottom: 2px solid var(--pr-accent) !important;
}

/* Скругление углов шапки */
.pr-legacy-content table tr:first-child > *:first-child,
.tm-page-content table tr:first-child > *:first-child { border-top-left-radius: 9px; }
.pr-legacy-content table tr:first-child > *:last-child,
.tm-page-content table tr:first-child > *:last-child { border-top-right-radius: 9px; }

/* Зебра мягче + hover уже из §18 */
.pr-legacy-content table tr:nth-child(even) td,
.tm-page-content table tr:nth-child(even) td { background: #fafafc; }

/* Подпись к таблице */
.pr-legacy-content table caption,
.tm-page-content table caption {
  caption-side: bottom;
  padding-top: 8px;
  font-size: 13px;
  color: var(--pr-muted);
  text-align: left;
}


/* ------------------------------------------------------------
   19.3 КАРТОЧКИ: единый язык
   Общие правила hover: подъём -3px, тень card-lg, красный
   элемент оживает. Ничего не «плавает» по-разному.
   ------------------------------------------------------------ */
/* 19.3.1 Базовая карточка UIkit (viewmode 4/5, товары, фото) */
.uk-card.uk-card-default {
  background: #fff;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  box-shadow: none;
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.uk-card.uk-card-default.uk-card-hover:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 53, 70, 0.3);
  box-shadow: var(--pr-shadow-card-lg);
  background: #fff;
}
.uk-card-default .uk-card-body { padding: 18px 18px 20px; }
.uk-card-default .uk-card-title { font-weight: 700; }

/* 19.3.2 Карточки-обложки (текст поверх фото, viewmode cover) */
.uk-card.uk-cover-container img[data-uk-cover] {
  transition: transform 0.35s ease;
}
.uk-card.uk-cover-container:hover img[data-uk-cover] {
  transform: scale(1.04);
}
.uk-card .uk-overlay-primary,
.uk-card .uk-overlay-default {
  background: linear-gradient(180deg, rgba(12, 13, 17, 0) 20%, rgba(12, 13, 17, 0.72) 100%);
  color: #fff;
}
.uk-card .uk-overlay-default { color: #fff; }
.uk-card .uk-overlay-default * { color: inherit; }

/* 19.3.3 Список «картинка + ссылки» (viewmode 3 в categories.html) */
.tm-category-page-categories > .uk-grid > li > .uk-grid.uk-grid-small,
.tm-home-page-categories > .uk-grid > li > .uk-grid.uk-grid-small {
  align-items: flex-start;
}
.tm-category-page-categories .uk-width-1-3 img,
.tm-home-page-categories .uk-width-1-3 img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
  padding: 8px;
}

/* 19.3.4 Сетка подкатегорий-«окон» (единый рост высоты) */
.tm-category-page-categories > .uk-grid > li > .uk-grid,
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid {
  height: auto;
  padding: 18px;
  margin: 0;
}
.tm-category-page-categories > .uk-grid > li > .uk-grid,
.tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid { width: 100%; }

/* 19.3.4b Сетка подкатегорий — CSS Grid на ПК (≥960).
   Мобилка ≤959: theme.mobile.css → M-CAT (единственный источник). */
@media (min-width: 960px) {
  .tm-category-page-categories > .uk-grid:not(.uk-slider-items),
  .tm-home-page-categories > .uk-grid:not(.uk-slider-items) {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-left: 0 !important;
    margin-top: 0 !important;
    align-items: stretch;
    height: auto !important;
    min-height: 0 !important;
  }
  .tm-category-page-categories > .uk-grid:not(.uk-slider-items) > li,
  .tm-home-page-categories > .uk-grid:not(.uk-slider-items) > li {
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    min-width: 0;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    float: none !important;
    display: flex !important;
    visibility: visible !important;
  }
}
@media (min-width: 1200px) {
  .pr-brands-page .tm-category-page-categories > .uk-grid:not(.uk-slider-items) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

/* 19.3.5 Слайдеры: аккуратные стрелки (не «кнопка-прожектор»)
   Клипаем только контейнер — иначе лента даёт горизонтальный скролл.
   На .uk-slider-items overflow:hidden НЕ ставим: режет названия/цену. */
.uk-slider-container {
  overflow: hidden !important;
  max-width: 100%;
}
.uk-slider.uk-slider-container {
  overflow: hidden !important;
  max-width: 100%;
}
.uk-slider .uk-position-relative.uk-visible-toggle:not(.uk-slider-container) {
  overflow: visible;
}

/* Базовые стрелки — мягкий «стеклянный» круг.
   transform только translateY(-50%) для центра — без scale. */
.uk-slidenav,
.uk-slider [data-uk-slidenav-next],
.uk-slider [data-uk-slidenav-previous],
.uk-slider .uk-slidenav-large {
  box-sizing: border-box;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  min-height: 40px;
  padding: 0 !important;
  margin: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff 0%, #f6f7f9 100%) !important;
  border: 1px solid rgba(23, 26, 34, 0.1) !important;
  color: #2a2d36 !important;
  box-shadow:
    0 1px 1px rgba(255, 255, 255, 0.9) inset,
    0 1px 2px rgba(23, 26, 34, 0.04),
    0 8px 20px rgba(23, 26, 34, 0.1);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 0;
  overflow: visible;
  cursor: pointer;
  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.uk-slider .uk-position-center-left,
.uk-slider .uk-position-center-left-out,
.uk-slidenav.uk-position-center-left,
[data-uk-slidenav-previous].uk-position-center-left {
  left: 8px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.uk-slider .uk-position-center-right,
.uk-slider .uk-position-center-right-out,
.uk-slidenav.uk-position-center-right,
[data-uk-slidenav-next].uk-position-center-right {
  right: 8px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
/* Красный только при реальном hover мышью — не после тапа на тачскрине */
@media (hover: hover) and (pointer: fine) {
  .uk-slidenav:hover,
  .uk-slider [data-uk-slidenav-next]:hover,
  .uk-slider [data-uk-slidenav-previous]:hover,
  .uk-slider .uk-slidenav-large:hover {
    background: linear-gradient(180deg, #ff4d5c 0%, var(--pr-accent, #ff3546) 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.25) inset,
      0 6px 18px rgba(255, 53, 70, 0.28);
  }
}
/* Клик мышью даёт :focus — без красного. Красный только :focus-visible (клавиатура). */
.uk-slidenav:focus,
.uk-slider [data-uk-slidenav-next]:focus,
.uk-slider [data-uk-slidenav-previous]:focus,
.uk-slider .uk-slidenav-large:focus {
  outline: none;
}
.uk-slidenav:focus:not(:focus-visible),
.uk-slider [data-uk-slidenav-next]:focus:not(:focus-visible),
.uk-slider [data-uk-slidenav-previous]:focus:not(:focus-visible),
.uk-slider .uk-slidenav-large:focus:not(:focus-visible) {
  background: linear-gradient(180deg, #ffffff 0%, #f6f7f9 100%) !important;
  border: 1px solid rgba(23, 26, 34, 0.1) !important;
  color: #2a2d36 !important;
  box-shadow:
    0 1px 1px rgba(255, 255, 255, 0.9) inset,
    0 1px 2px rgba(23, 26, 34, 0.04),
    0 8px 20px rgba(23, 26, 34, 0.1);
}
.uk-slidenav:focus-visible,
.uk-slider [data-uk-slidenav-next]:focus-visible,
.uk-slider [data-uk-slidenav-previous]:focus-visible,
.uk-slider .uk-slidenav-large:focus-visible {
  background: linear-gradient(180deg, #ff4d5c 0%, var(--pr-accent, #ff3546) 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.25) inset,
    0 6px 18px rgba(255, 53, 70, 0.28);
  outline: 2px solid rgba(255, 53, 70, 0.35);
  outline-offset: 2px;
}
.uk-slidenav.uk-position-center-left:hover,
.uk-slidenav.uk-position-center-left:focus-visible,
.uk-slidenav.uk-position-center-left:active,
.uk-slidenav.uk-position-center-right:hover,
.uk-slidenav.uk-position-center-right:focus-visible,
.uk-slidenav.uk-position-center-right:active,
[data-uk-slidenav-previous].uk-position-center-left:hover,
[data-uk-slidenav-previous].uk-position-center-left:focus-visible,
[data-uk-slidenav-previous].uk-position-center-left:active,
[data-uk-slidenav-next].uk-position-center-right:hover,
[data-uk-slidenav-next].uk-position-center-right:focus-visible,
[data-uk-slidenav-next].uk-position-center-right:active {
  transform: translateY(-50%) !important;
}

/* Карточки услуг: стрелки всегда на виду */
#product-list .uk-slidenav,
#product-list [data-uk-slidenav-next],
#product-list [data-uk-slidenav-previous] {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  min-height: 42px;
  opacity: 1 !important;
  visibility: visible !important;
  background: #fff !important;
  border: 1px solid rgba(23, 26, 34, 0.08) !important;
  color: #2a2d36 !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.8) inset,
    0 4px 14px rgba(23, 26, 34, 0.1);
}
@media (hover: hover) and (pointer: fine) {
  #product-list .uk-slidenav:hover,
  #product-list [data-uk-slidenav-next]:hover,
  #product-list [data-uk-slidenav-previous]:hover {
    background: linear-gradient(180deg, #ff4d5c 0%, var(--pr-accent, #ff3546) 100%) !important;
    border-color: transparent !important;
    color: #fff !important;
  }
}
#product-list .uk-slidenav:focus,
#product-list [data-uk-slidenav-next]:focus,
#product-list [data-uk-slidenav-previous]:focus {
  outline: none;
}
#product-list .uk-slidenav:focus:not(:focus-visible),
#product-list [data-uk-slidenav-next]:focus:not(:focus-visible),
#product-list [data-uk-slidenav-previous]:focus:not(:focus-visible) {
  background: #fff !important;
  border: 1px solid rgba(23, 26, 34, 0.08) !important;
  color: #2a2d36 !important;
}
#product-list .uk-slidenav:focus-visible,
#product-list [data-uk-slidenav-next]:focus-visible,
#product-list [data-uk-slidenav-previous]:focus-visible {
  background: linear-gradient(180deg, #ff4d5c 0%, var(--pr-accent, #ff3546) 100%) !important;
  border-color: transparent !important;
  color: #fff !important;
}
#product-list .uk-slidenav.uk-hidden-hover,
#product-list [data-uk-slidenav-next].uk-hidden-hover,
#product-list [data-uk-slidenav-previous].uk-hidden-hover {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Шевирон */
.uk-slidenav svg,
.uk-slider [data-uk-slidenav-next] svg,
.uk-slider [data-uk-slidenav-previous] svg {
  width: 12px !important;
  height: 18px !important;
  max-width: none;
  max-height: none;
  display: block;
  flex-shrink: 0;
  fill: currentColor;
  opacity: 0.92;
}
.uk-slidenav:hover svg,
.uk-slidenav:focus-visible svg {
  opacity: 1;
}
.uk-dotnav > * > * { background: #d0d2d8; }
.uk-dotnav > .uk-active > * { background: var(--pr-accent); }

/* 19.3.6 Преимущества и услуги — синхронный hover-язык */
.tm-home-page .pr-advantage,
.pr-service-card,
.pr-card {
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.tm-home-page .pr-advantage:hover,
.pr-service-card:hover,
.pr-card:hover { transform: translateY(-3px); }


/* ------------------------------------------------------------
   19.4 ФОТО: аккуратные кадры по всему сайту
   ------------------------------------------------------------ */
img { image-rendering: auto; }

/* Баннер категории — широкий кадр с ограничением высоты */
.tm-category-page-banner img {
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  border-radius: var(--pr-radius-lg);
  border: 1px solid var(--pr-border);
}

/* Фото в тексте: рамка уже есть (§18); белая подложка
   для прозрачных PNG и мягкая тень при обтекании */
.tm-page-content img:not([class]),
.pr-legacy-content img:not([class]) {
  background: #fff;
}
.pr-legacy-content img[align="left"],
.pr-legacy-content img[align="right"],
.tm-page-content img[align="left"],
.tm-page-content img[align="right"] {
  box-shadow: var(--pr-shadow-card);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius);
}

/* Подписи к фото */
.tm-page-content figure,
.pr-legacy-content figure { margin: 1.4em 0; }
.tm-page-content figcaption,
.pr-legacy-content figcaption {
  margin-top: 8px;
  font-size: 13px;
  color: var(--pr-muted);
  text-align: center;
}

/* Галереи-сетки фото (photos app, сайдбар): кадр + лёгкий зум */
aside.sidebar .uk-card-sidebar img,
.tm-home-page-photos img {
  border-radius: var(--pr-radius);
  border: 1px solid var(--pr-border);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
aside.sidebar .uk-card-sidebar a:hover img,
.tm-home-page-photos a:hover img {
  transform: scale(1.02);
  box-shadow: var(--pr-shadow-card);
}

/* Заглушки (dummy200.png) — приглушаем, чтобы не спорили с фото */
img[src*="dummy"] {
  filter: grayscale(1);
  opacity: 0.4;
}

/* ------------------------------------------------------------
   19.6 Карточки подкатегорий — desktop ≥960
   Мобилка: theme.mobile.css → M-CAT
   ------------------------------------------------------------ */
@media (min-width: 960px) {
  .pr-service-page .tm-category-page-categories > .uk-grid > li > .uk-grid,
  .tm-category-page .tm-category-page-categories > .uk-grid > li > .uk-grid {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 96px;
    margin: 0;
    padding: 22px 16px 20px;
    background: #fff;
    border: 1px solid var(--pr-border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  .tm-category-page .tm-category-page-categories .uk-width-1-3,
  .tm-category-page .tm-category-page-categories .uk-width-2-3,
  .pr-service-page .tm-category-page-categories .uk-width-1-3,
  .pr-service-page .tm-category-page-categories .uk-width-2-3 {
    width: 100% !important;
    max-width: 100%;
    padding: 0;
  }
  .pr-service-page .tm-category-page-categories img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 72px;
    margin: 0 auto 12px;
    object-fit: contain;
  }
  .tm-category-page .tm-category-page-categories > .uk-grid > li > .uk-grid::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--pr-accent);
    transform: scaleX(0.18);
    transform-origin: left center;
    transition: transform 0.22s ease;
  }
  .tm-category-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: var(--pr-shadow-lg);
  }
  .tm-category-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover::before {
    transform: scaleX(1);
  }
  .tm-category-page .tm-category-page-categories a.uk-text-bold::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    left: 0;
    bottom: 0;
    transform: none;
  }
  .tm-category-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover a.uk-text-bold {
    color: var(--pr-accent) !important;
  }
}
.tm-category-page .tm-category-page-categories img[src*="dummy200"] {
  display: none !important;
}
.pr-service-page .tm-category-page-categories a.uk-text-bold,
.tm-category-page .tm-category-page-categories a.uk-text-bold {
  position: static;
  color: var(--pr-ink) !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  line-height: 1.35;
  padding-bottom: 0;
}

/* Логотипы брендов на странице «Марки» — единый кадр как в мега-меню */
.pr-brands-page .tm-category-page-categories img {
  filter: grayscale(1) contrast(0.9);
  opacity: 0.8;
  transition: filter 0.18s ease, opacity 0.18s ease;
}
.pr-brands-page .tm-category-page-categories > .uk-grid > li > .uk-grid:hover img {
  filter: none;
  opacity: 1;
}


/* ------------------------------------------------------------
   19.5 Мобильные уточнения
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .tm-category-page-banner img { max-height: 220px; }
}
@media (max-width: 639px) {
  .uk-card-default .uk-card-body { padding: 14px 14px 16px; }

  .tm-category-page-banner img {
    max-height: 180px;
    border-radius: var(--pr-radius);
  }

  /* Обтекаемые фото на мобиле — во всю ширину, без float */
  .pr-legacy-content img[align="left"],
  .pr-legacy-content img[align="right"],
  .tm-page-content img[align="left"],
  .tm-page-content img[align="right"] {
    float: none !important;
    display: block;
    max-width: 100%;
    margin: 14px auto !important;
  }
}
/* ============================================================
   PRORACING — §20 MOBILE THEME (v14)
   Куда: в конец theme.custom.css, ПОСЛЕ §19.
   Полная мобильная тема на весь сайт. Desktop не трогаем:
   всё внутри @media (max-width: 959px / 639 / 479 / 399).
   Сетка брейкпоинтов: 959 (планшет+телефон), 639 (телефон),
   479 (узкий телефон), 399 (375/390).
   Принципы: touch ≥44px, без горизонтального скролла страницы
   (таблицы и крошки скроллятся сами), inputs 16px (без зума iOS),
   safe-area для липких элементов.
   ============================================================ */


/* ------------------------------------------------------------
   20.1 База: планшет и телефон (≤959)
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  /* Страница никогда не скроллится вбок */
  html, body { overflow-x: clip; }

  /* Контейнер: ровные поля */
  .uk-container { padding-left: 16px; padding-right: 16px; }

  /* Сетка страницы без отрицательного gutter — иначе справа обрезает лист */
  .uk-container > .uk-grid {
    margin-left: 0 !important;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .uk-container > .uk-grid > * {
    padding-left: 0 !important;
    min-width: 0;
    box-sizing: border-box;
  }
  main.content,
  main.content > .uk-panel-box {
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
  }

  /* iOS не зумит поля ввода при фокусе */
  .uk-input, .uk-select, .uk-textarea,
  .wa-form input[type="text"],
  .wa-form input[type="email"],
  .wa-form input[type="password"],
  .wa-form input[type="tel"],
  .wa-form textarea,
  .uk-search-input {
    font-size: 16px !important;
    min-height: 48px;
  }
  .uk-textarea { min-height: 110px; }

  /* Touch-мишени */
  .uk-button { min-height: 46px; }
  .uk-button-small { min-height: 38px; }
  .uk-icon-button { width: 42px; height: 42px; }
  .uk-pagination > * > a,
  .uk-pagination > * > span { min-width: 42px; min-height: 42px; }

  /* Виджеты не выталкивают страницу */
  iframe, video, embed, object { max-width: 100%; }

  /* Дропдауны не шире экрана */
  .uk-dropdown { max-width: calc(100vw - 24px); }

  /* Плавный внутренний скролл везде */
  .uk-dropbar, .uk-offcanvas-bar, .uk-modal-dialog {
    -webkit-overflow-scrolling: touch;
  }
}


/* ------------------------------------------------------------
   20.2 Мобильная шапка (uk-bar-top) — ≤959
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .uk-hidden\@m .uk-bar-container.uk-bar-top {
    min-height: 56px;
    padding-top: max(0px, env(safe-area-inset-top));
  }
  .uk-hidden\@m .uk-bar-top .uk-bar { min-height: 56px; }
  .uk-hidden\@m .uk-bar-top .uk-bar-group { gap: 2px; }

  /* Лого по центру не наезжает на иконки */
  .uk-hidden\@m .uk-bar-top .uk-logo {
    max-width: 46vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 17px;
  }
  .uk-hidden\@m .uk-bar-top .uk-logo img { max-height: 34px; width: auto; }

  /* Бейдж корзины: читаемый, не обрезается */
  .uk-hidden\@m .uk-bar-top .uk-badge {
    min-width: 17px;
    height: 17px;
    font-size: 10px;
    line-height: 17px;
  }

  /* Дропдауны из мобильного бара (контакты/часы/корзина) —
     во всю ширину, как панель под шапкой */
  .uk-hidden\@m .uk-bar-top ~ * .uk-dropdown,
  .uk-hidden\@m .uk-dropdown {
    width: calc(100vw - 24px);
    left: 12px !important;
    border-radius: var(--pr-radius-lg);
  }
}


/* ------------------------------------------------------------
   20.3 Offcanvas-меню: эргономика пальца — ≤959
   (бренд-шапка/CTA — в §21; здесь только touch + переносы)
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .uk-offcanvas-bar:not(.pr-offcanvas) {
    width: min(92vw, 360px);
    max-width: 100%;
    box-sizing: border-box;
    padding: 56px 20px calc(28px + env(safe-area-inset-bottom)) 20px;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .uk-offcanvas-bar:not(.pr-offcanvas) .uk-offcanvas-close {
    top: 12px;
    right: 12px;
    width: 44px;
    height: 44px;
    z-index: 5;
    background: var(--pr-bg-soft);
    border-radius: 50%;
  }
  .uk-offcanvas-bar:not(.pr-offcanvas) > .uk-nav,
  .uk-offcanvas-bar:not(.pr-offcanvas) > .uk-panel,
  .uk-offcanvas-bar:not(.pr-offcanvas) > form {
    padding-top: 4px;
  }
  .uk-offcanvas-bar:not(.pr-offcanvas) .uk-nav-header {
    padding: 8px 48px 10px 0;
    margin: 0;
    line-height: 1.3;
  }
  .uk-offcanvas-bar .uk-nav > li + .uk-nav-header {
    padding-right: 0;
    margin-top: 12px;
  }

  /* Ряды меню — touch + перенос длинных названий */
  .uk-offcanvas-bar .uk-nav > li > a {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 2px 12px 0;
    font-size: 15px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .uk-offcanvas-bar .uk-nav > li > a > *:not(.uk-icon):not([uk-nav-parent-icon]) {
    flex: 1 1 auto;
    min-width: 0;
  }
  .uk-offcanvas-bar .uk-nav ul a {
    min-height: 42px;
    display: flex;
    align-items: center;
    font-size: 14.5px;
    line-height: 1.35;
    padding-right: 4px;
    overflow-wrap: anywhere;
  }
  .uk-offcanvas-bar .uk-parent > a { justify-content: space-between; }
  .uk-offcanvas-bar .uk-parent > a > .uk-icon:last-child {
    flex: 0 0 auto;
    margin-left: 4px;
    padding: 0;
  }

  .uk-offcanvas-bar a[href^="tel:"]:not(.pr-offcanvas-cta__btn) {
    color: var(--pr-ink);
    font-weight: 800;
    font-size: 17px;
  }
}

@media (max-width: 399px) {
  .uk-offcanvas-bar:not(.pr-offcanvas) {
    width: 100vw;
    max-width: 100vw;
    padding-left: 16px;
    padding-right: 16px;
  }
  .uk-offcanvas-bar .uk-nav > li > a { font-size: 14.5px; }
}


/* ------------------------------------------------------------
   20.4 Модалки: bottom-sheet на телефоне — ≤639
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .uk-modal { padding: 0 !important; }
  .uk-modal .uk-modal-dialog:not(.uk-height-1-1) {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    width: auto;
    margin: 0;
    border-radius: var(--pr-radius-lg) var(--pr-radius-lg) 0 0;
    border-bottom: none;
    max-height: min(92dvh, 92vh);
    overflow-y: auto;
    padding-bottom: calc(var(--pr-s5) + env(safe-area-inset-bottom));
    transform: translateY(24px);
  }
  .uk-modal.uk-open .uk-modal-dialog:not(.uk-height-1-1) { transform: translateY(0); }

  /* «Ручка» шторки */
  .uk-modal-dialog:not(.uk-height-1-1)::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 50%;
    width: 40px;
    height: 4px;
    margin-left: -20px;
    border-radius: 2px;
    background: #d6d8dd;
  }
  .uk-modal-dialog.uk-modal-body { padding-top: 26px; }

  .uk-modal-close-default {
    top: 14px;
    right: 12px;
    width: 40px;
    height: 40px;
  }
  .uk-modal-title { font-size: 19px; padding-right: 44px; }

  /* Полноэкранные (карта) — без шторки, на весь экран */
  .uk-modal-dialog.uk-width-1-1.uk-height-1-1 {
    border-radius: 0;
    max-height: none;
  }
  .uk-modal-dialog.uk-width-1-1.uk-height-1-1::after { display: none; }

  /* Кнопки в окнах — колонкой во всю ширину */
  .uk-modal-dialog .uk-button + .uk-button { margin-top: 10px; margin-left: 0; }
  .uk-modal-footer { padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); }
  .uk-modal-footer .uk-button { width: 100%; }
}


/* ------------------------------------------------------------
   20.5 Главная — ≤639 (доводка поверх §15/§16)
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .pr-band { min-height: 0; }
  .pr-band__content {
    padding-top: 48px;
    padding-bottom: 56px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .pr-band__eyebrow { font-size: 11px; margin-bottom: 14px; }
  .pr-band__lead { font-size: 15px; margin-bottom: 22px; }

  .tm-home-page > *:not(.pr-band) { padding-left: 0; padding-right: 0; }
  .tm-home-page .pr-heading { font-size: 19px; }

  /* Полосы-якоря услуг: кнопка на всю ширину под текстом */
  .tm-home-page .pr-home-anchor__cta { min-height: 44px; }

  .tm-home-page .pr-home-cta { text-align: left; }
  .tm-home-page .pr-home-cta .uk-button,
  .tm-home-page .pr-home-cta a[href^="tel:"] { width: 100%; justify-content: center; }

  .tm-home-page .pr-home-map__frame iframe { height: 300px; }
}

@media (max-width: 479px) {
  .tm-home-page .pr-advantages { gap: 8px; }
  .tm-home-page .pr-advantage h3 { font-size: 13.5px; }
  .tm-home-page .pr-advantage p { font-size: 12.5px; line-height: 1.45; }
}

@media (max-width: 399px) { /* 375/390 */
  .pr-band__content h1, .pr-band h1 { font-size: 24px; }
  .tm-home-page .pr-advantage .pr-advantage__num { font-size: 21px; }
}


/* ------------------------------------------------------------
   20.6 Прочие страницы — ≤639 (подкатегории → theme.mobile.css M-CAT)
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .pr-brands-page .tm-category-page-title { font-size: 22px; }

  /* Описание категории: лид-типографика чуть плотнее */
  .tm-category-page-description { font-size: 15.5px; }

  /* Карточка услуги: телефон и мессенджеры во всю ширину */
  .pr-service-card { padding: 16px; }
  .pr-service-card__phone { font-size: 20px; }
  .pr-service-card__btn,
  .pr-service-card__msg { min-height: 46px; }

  /* Полоса записи — компактная колонка на телефоне (детали в theme.mobile.css M13) */
  .pr-service-cta__inner {
    flex-direction: column;
    align-items: stretch;
    padding: 12px 12px 12px 14px;
    gap: 0;
  }
  .pr-service-cta__text { margin-bottom: 10px; }
  .pr-service-cta__title { font-size: 14px; }
  .pr-service-cta__actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .pr-service-cta__phone {
    grid-column: 1 / -1;
    width: 100%;
    font-size: 16px;
  }
  .pr-service-cta__btn {
    grid-column: 1 / -1;
    min-height: 40px;
    justify-content: center;
  }
  .pr-service-cta__msg {
    min-height: 36px;
    justify-content: center;
  }

  /* Эвакуатор-кнопка — компактная на мобилке */
  .pr-evacuator-btn {
    display: inline-flex !important;
    width: auto;
    max-width: 100%;
    min-height: 40px !important;
    height: auto !important;
    padding: 8px 18px !important;
    margin: 0 auto;
    align-items: center;
    justify-content: center;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.25 !important;
    letter-spacing: 0.01em;
    text-transform: none !important;
    border-radius: 10px !important;
  }

  /* Legacy-лендинги: тёмные секции .info в одну колонку */
  .pr-legacy-content .uk-section.info { min-height: 0; }
  .pr-legacy-content .uk-section.info > img {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 180px !important;
  }
}


/* ------------------------------------------------------------
   20.7 Товар / корзина / оформление — ≤639
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Товар: фото во всю ширину, кнопки колонкой */
  .tm-product-page .uk-grid > [class*="uk-width"] { width: 100%; }
  .tm-product-page .uk-button-primary { width: 100%; }
  .tm-product-page-title { font-size: 21px; }

  /* Количество: крупные +/- */
  input[type="number"].uk-input,
  .uk-form-controls input[type="number"] { min-width: 64px; text-align: center; }

  /* Корзина: таблица скроллится сама, кнопки во всю ширину */
  .tm-cart-page .uk-table-container,
  .tm-cart-page .uk-overflow-auto { -webkit-overflow-scrolling: touch; }
  .tm-cart-page .uk-button { width: 100%; }
  .tm-cart-page .uk-button + .uk-button { margin-top: 10px; margin-left: 0; }

  /* Checkout-шаги: поля колонкой */
  .wa-form .wa-field { margin-bottom: 14px; }
  .wa-form .wa-name { margin-bottom: 4px; font-size: 13px; }
}


/* ------------------------------------------------------------
   20.8 Таблицы и прайсы — ≤639
   (свой скролл + липкая первая колонка + подсказка края)
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .pr-legacy-content table,
  .tm-page-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    /* тень-подсказка «есть продолжение справа» */
    background:
      linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0)) left / 32px 100% no-repeat local,
      linear-gradient(270deg, #fff 30%, rgba(255, 255, 255, 0)) right / 32px 100% no-repeat local,
      linear-gradient(90deg, rgba(23, 26, 34, 0.12), rgba(23, 26, 34, 0)) left / 14px 100% no-repeat scroll,
      linear-gradient(270deg, rgba(23, 26, 34, 0.12), rgba(23, 26, 34, 0)) right / 14px 100% no-repeat scroll,
      #fff;
  }
  .pr-legacy-content table td,
  .pr-legacy-content table th,
  .tm-page-content table td,
  .tm-page-content table th {
    padding: 9px 12px;
    font-size: 14px;
    min-width: 96px;
  }
  /* Первая колонка (название работы) — липкая */
  .pr-legacy-content table td:first-child,
  .pr-legacy-content table th:first-child,
  .tm-page-content table td:first-child,
  .tm-page-content table th:first-child {
    position: sticky;
    left: 0;
    background: #fff;
    box-shadow: 6px 0 8px -6px rgba(23, 26, 34, 0.12);
    min-width: 140px;
    max-width: 55vw;
  }
  .pr-legacy-content table tr:nth-child(even) td:first-child,
  .tm-page-content table tr:nth-child(even) td:first-child { background: #fafafc; }
  .pr-legacy-content table th:first-child,
  .pr-legacy-content table tr:first-child td:first-child:has(> strong:only-child),
  .pr-legacy-content table tr:first-child td:first-child:has(> b:only-child) {
    background: var(--pr-ink);
  }
}


/* ------------------------------------------------------------
   20.9 Формы, поиск, слайдеры, галереи — ≤639
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Кнопки отправки — во всю ширину (submit уже в §17) */
  .wa-form .uk-button,
  #tm-action-feedback .uk-button { width: 100%; }
  .wa-form .wa-submit { flex-direction: column; align-items: stretch; text-align: center; }

  /* Капча в одну строку с полем */
  .wa-captcha { gap: 8px; }
  .wa-captcha input { flex: 1; max-width: none; }

  /* Поиск: поле + кнопка без переноса */
  .tm-search-page .uk-search-input { min-height: 50px; }
  .tm-search-page .uk-search .uk-button-primary { min-height: 50px; min-width: 52px; padding: 0 14px; }

  /* Слайдеры: стрелки видимы и досягаемы */
  .uk-slider .uk-position-center-left,
  .uk-slider .uk-position-center-right { opacity: 1 !important; }
  .uk-slidenav { width: 36px; height: 36px; }
  .uk-dotnav { gap: 6px; }
  .uk-dotnav > * > * { width: 8px; height: 8px; }

  /* Лайтбокс: кнопки не у самого края */
  .uk-lightbox-toolbar { padding: 10px calc(10px + env(safe-area-inset-right)) 10px 10px; }
  .uk-lightbox-button { width: 44px; height: 44px; }
}


/* ------------------------------------------------------------
   20.10 Крошки, сайдбар, футер — ≤639
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Крошки: одна строка со своим скроллом */
  main.content .breadcrumbs.uk-breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    white-space: nowrap;
    margin-bottom: var(--pr-s3);
    padding-bottom: 2px;
  }
  main.content .breadcrumbs.uk-breadcrumb::-webkit-scrollbar { display: none; }
  main.content .breadcrumbs.uk-breadcrumb > * { flex: 0 0 auto; }

  /* Сайдбар уходит под контент единой колонкой */
  .uk-grid > aside.sidebar.uk-sidebar { width: 100%; padding-top: var(--pr-s4); }

  /* Футер: блоки колонкой, ссылки — touch-ряды */
  .uk-bar-secondary.uk-bar-bottom .uk-bar,
  .uk-bar-secondary.uk-bar-bottom .uk-bar-group {
    flex-wrap: wrap;
  }
  .uk-bar-secondary.uk-bar-bottom .uk-nav > li > a {
    min-height: 42px;
    display: flex;
    align-items: center;
  }
  .uk-bar-secondary.uk-bar-bottom .uk-icon-button { width: 44px; height: 44px; }

  /* Подписка: поле и кнопка колонкой */
  .globalfooter .uk-form-stacked .uk-button,
  .globalfooter form .uk-button { width: 100%; margin-top: 10px; }

  /* Копирайт — по центру, над safe-area */
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom:last-child {
    text-align: center;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }

  .uk-totop {
    width: 44px;
    height: 44px;
    margin-bottom: env(safe-area-inset-bottom);
  }
}


/* ------------------------------------------------------------
   20.11 Заголовки и текст — узкие экраны
   ------------------------------------------------------------ */
@media (max-width: 479px) {
  .tm-page-title,
  .tm-category-page-title,
  .tm-product-page-title,
  .tm-cart-page-title,
  .tm-search-page-title { font-size: 21px; }

  .tm-login-page-title,
  .tm-signup-page-title,
  .tm-forgotpassword-page-title { font-size: 22px; }

  .uk-modal-title { font-size: 18px; }
}

@media (max-width: 399px) {
  .uk-container { padding-left: 14px; padding-right: 14px; }
  .tm-page-content, .pr-legacy-content { font-size: 15px; }
  .uk-hidden\@m .uk-bar-top .uk-logo { max-width: 40vw; }
}


/* ============================================================
   21. OFFCANVAS BRAND (v1.1.67) — аккуратная светлая панель
   Без «линеек», без inset-полоски active, телефон внутри CTA.
   ============================================================ */

.uk-offcanvas-bar {
  background: #fff;
  color: var(--pr-ink);
  box-shadow: 18px 0 48px rgba(23, 26, 34, 0.14);
}
.uk-offcanvas-bar a { color: var(--pr-ink); }
.uk-offcanvas-bar a:hover { color: var(--pr-accent); }
.uk-offcanvas-bar .uk-nav-divider,
.uk-offcanvas-bar hr { border-color: var(--pr-border); }
.uk-offcanvas-bar .uk-input,
.uk-offcanvas-bar .uk-search-input {
  background: var(--pr-bg-soft);
  border-color: var(--pr-border);
  color: var(--pr-ink);
}

.uk-offcanvas-bar.pr-offcanvas {
  display: block;
  width: min(88vw, 340px);
  max-width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  max-height: 100dvh;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  box-sizing: border-box;
}

/* Список категорий — скроллится вместе с панелью; шапка и CTA липнут */
.pr-offcanvas > .uk-nav {
  overflow: visible;
  padding: 10px 12px 18px;
  margin: 0;
}
.pr-offcanvas > .uk-nav::-webkit-scrollbar { display: none; width: 0; height: 0; }

.pr-offcanvas .uk-nav > li + li { border-top: none !important; }

.pr-offcanvas .uk-nav-header {
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pr-muted);
  padding: 10px 12px 6px !important;
  margin: 0;
  line-height: 1.2;
}
.pr-offcanvas .uk-nav > li + .uk-nav-header {
  margin-top: 10px;
  padding-top: 14px !important;
  border-top: 1px solid var(--pr-border);
}

.pr-offcanvas .uk-nav > li > a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px !important;
  margin: 1px 0;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  border-radius: 10px;
  box-shadow: none !important;
  overflow-wrap: anywhere;
  transition: background 0.15s ease, color 0.15s ease;
}
.pr-offcanvas .uk-nav > li > a:hover {
  background: var(--pr-bg-soft, #f4f5f7);
  color: var(--pr-ink);
}
.pr-offcanvas .uk-nav > li.uk-active > a {
  color: var(--pr-accent) !important;
  background: rgba(255, 53, 70, 0.07);
  box-shadow: none !important;
  padding-left: 12px !important;
  font-weight: 700;
}

.pr-offcanvas .uk-nav ul {
  padding: 2px 0 6px 10px;
  margin: 0 0 4px 12px;
  border-left: 2px solid rgba(255, 53, 70, 0.2);
}
.pr-offcanvas .uk-nav ul a {
  min-height: 40px;
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--pr-muted);
  border-radius: 8px;
}
.pr-offcanvas .uk-nav ul a:hover {
  color: var(--pr-accent);
  background: rgba(255, 53, 70, 0.05);
}

/* Стрелки без серых «квадратиков» — только иконки в ссылках, не сам ul.uk-nav-parent-icon */
.pr-offcanvas .uk-parent > a > .uk-icon:last-child,
.pr-offcanvas .uk-menu-parent-icon > li > a > .uk-icon:last-child {
  flex: 0 0 auto;
  margin-left: 4px;
  padding: 0 !important;
  width: 18px;
  height: 18px;
  color: #b8bcc4;
  background: transparent !important;
  border-radius: 0;
  opacity: 0.85;
}
/* БАГ-fix: ul.uk-nav-parent-icon не должен наследовать размеры иконки */
.pr-offcanvas > .uk-nav.uk-nav-parent-icon {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  flex: 1 1 auto !important;
  min-height: 0;
}
/* Аккордеон: подменю скрыто, раскрывается по tap (JS) */
.pr-offcanvas .uk-parent:not(.uk-open) > ul {
  display: none !important;
}
.pr-offcanvas .uk-parent.uk-open > ul {
  display: block;
}
.pr-offcanvas .uk-parent.uk-open > a {
  color: var(--pr-ink);
  background: var(--pr-bg-soft, #f4f5f7);
}

/* Родитель-строка: [название-ссылка | кнопка-шеврон]; подменю — на всю ширину.
   Тап по названию ведёт в раздел, шеврон раскрывает подменю (theme.custom.js). */
.pr-offcanvas .uk-parent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.pr-offcanvas .uk-parent > a {
  flex: 1 1 auto;
  min-width: 0;
}
.pr-offcanvas .uk-parent > ul {
  flex: 0 0 calc(100% - 12px);
  box-sizing: border-box;
}
.pr-offcanvas .pr-oc-toggle {
  flex: 0 0 auto;
  width: 44px;
  min-height: 44px;
  margin: 1px 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  border-radius: 10px;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.pr-offcanvas .pr-oc-toggle:hover {
  background: var(--pr-bg-soft, #f4f5f7);
}
.pr-offcanvas .uk-nav ul .pr-oc-toggle {
  min-height: 40px;
}

/* Шапка */
.pr-offcanvas-brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 14px 14px 18px;
  border-bottom: 1px solid var(--pr-border);
  background: #fff;
  box-shadow: inset 0 3px 0 var(--pr-accent);
  position: sticky;
  top: 0;
  z-index: 6;
}
.pr-offcanvas-brand__link {
  display: flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
  color: var(--pr-ink) !important;
}
.pr-offcanvas-brand__img {
  display: block;
  max-height: 32px;
  width: auto;
  max-width: min(168px, 56vw);
  object-fit: contain;
}
.pr-offcanvas-brand__name {
  font-family: var(--pr-font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pr-ink);
}
.pr-offcanvas .pr-offcanvas-close,
.pr-offcanvas .uk-offcanvas-close {
  position: static !important;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 10px;
  color: var(--pr-muted);
  border: 1px solid var(--pr-border);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.pr-offcanvas .pr-offcanvas-close:hover,
.pr-offcanvas .uk-offcanvas-close:hover {
  background: var(--pr-accent);
  border-color: var(--pr-accent);
  color: #fff;
}

/* CTA: компактная одна строка */
.pr-offcanvas-cta {
  flex: 0 0 auto;
  padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--pr-border);
  background: #fff;
  position: sticky;
  bottom: 0;
  z-index: 6;
}
.pr-offcanvas-cta__btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  height: 40px;
  max-height: 40px;
  padding: 0 14px;
  background: var(--pr-accent);
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 10px;
  box-sizing: border-box;
  transition: background 0.2s ease, transform 0.15s ease;
}
.pr-offcanvas-cta__btn:hover {
  background: #e02e3d;
  color: #fff !important;
}
.pr-offcanvas-cta__btn:active { transform: scale(0.985); }
.pr-offcanvas-cta__label {
  font-family: var(--pr-font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  white-space: nowrap;
}
.pr-offcanvas-cta__num {
  font-family: var(--pr-font-body, inherit);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0;
  opacity: 0.95;
  line-height: 1;
  white-space: nowrap;
}
.pr-offcanvas-cta__num::before {
  content: "·";
  margin-right: 8px;
  opacity: 0.55;
  font-weight: 400;
}

/* Мессенджеры: чипы WhatsApp / Telegram над кнопкой «Позвонить» */
.pr-offcanvas-msgr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 8px;
}
.pr-offcanvas-msgr__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid var(--pr-border, #e7e8ec);
  background: #fff;
  color: var(--pr-ink, #1f2329) !important;
  font-family: var(--pr-font-display);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.02em;
  line-height: 1;
  text-decoration: none !important;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.pr-offcanvas-msgr__btn svg {
  flex: 0 0 auto;
  display: block;
}
.pr-offcanvas-msgr__btn:active { transform: scale(0.985); }
.pr-offcanvas-msgr__btn--wa:hover {
  border-color: #25d366;
  background: rgba(37, 211, 102, 0.08);
}
.pr-offcanvas-msgr__btn--tg:hover {
  border-color: #29a9ea;
  background: rgba(41, 169, 234, 0.08);
}

/* Бургер → крестик */
.pr-burger {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.pr-burger__box {
  position: relative;
  display: block;
  width: 22px;
  height: 16px;
}
.pr-burger__line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition:
    transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s ease,
    top 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.pr-burger__line:nth-child(1) { top: 0; }
.pr-burger__line:nth-child(2) { top: 7px; }
.pr-burger__line:nth-child(3) { top: 14px; }
.pr-burger.is-open .pr-burger__line:nth-child(1) {
  top: 7px;
  transform: rotate(45deg);
}
.pr-burger.is-open .pr-burger__line:nth-child(2) {
  opacity: 0;
  transform: scaleX(0.4);
}
.pr-burger.is-open .pr-burger__line:nth-child(3) {
  top: 7px;
  transform: rotate(-45deg);
}
@media (prefers-reduced-motion: reduce) {
  .pr-burger__line { transition: none; }
}

@media (max-width: 399px) {
  .uk-offcanvas-bar.pr-offcanvas {
    width: 100vw;
    max-width: 100vw;
  }
  .pr-offcanvas > .uk-nav { padding-left: 10px; padding-right: 10px; }
  .pr-offcanvas-brand { padding-left: 14px; padding-right: 10px; }
  .pr-offcanvas-cta { padding-left: 12px; padding-right: 12px; }
}

/* ============================================================
   PRORACING — §22 MOBILE QA FIX PACK (v15)
   Куда: в конец theme.custom.css, ПОСЛЕ §21.
   Точечные фиксы по результатам обхода мобильной версии.
   Каждый блок — конкретный баг/слабое место. Desktop не задет:
   правки либо в @media ≤959/639, либо чинят мобильные слои.
   ============================================================ */


/* ------------------------------------------------------------
   22.1 БАГ: стрелки аккордеона в меню смещены на 8px
   §20.3 задавал .uk-icon { padding:8px; margin:-8px }, §21
   перебил padding, но отрицательный margin остался → иконка
   уезжает вверх-вправо. Сбрасываем margin полностью.
   ------------------------------------------------------------ */
.pr-offcanvas .uk-parent > a > .uk-icon:last-child,
.pr-offcanvas .uk-menu-parent-icon > li > a > .uk-icon:last-child {
  margin: 0 0 0 4px !important;
}

/* ------------------------------------------------------------
   22.2 БАГ: watermark hero может выступать ниже блока
   (белый контур на светлом фоне под hero). Клипуем по блоку.
   Тень блока — box-shadow, обрезке не подлежит.
   ------------------------------------------------------------ */
.pr-band { overflow: hidden; }

/* ------------------------------------------------------------
   22.3 БАГ: на товаре расплющивались ВСЕ сетки (миниатюры
   галереи становились во всю ширину, ряд «кол-во + купить»
   рвался). Складываем только крупные колонки.
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .tm-product-page .uk-grid > [class*="uk-width-auto"],
  .tm-product-page .uk-grid > [class*="uk-width-1-4"],
  .tm-product-page .uk-grid > [class*="uk-width-1-5"],
  .tm-product-page .uk-grid > [class*="uk-width-1-6"],
  .tm-product-page .uk-grid > [class*="uk-width-small"] {
    width: auto;
  }
  /* Миниатюры галереи — компактная лента */
  .tm-product-page .uk-thumbnav img { max-height: 56px; width: auto; }
}

/* ------------------------------------------------------------
   22.4 Правые offcanvas-панели (поиск / контакты / аккаунт):
   §21 стилизует только главное меню (.pr-offcanvas), эти три
   оставались «сырыми»: гигантские uk-padding вокруг контактов,
   заголовок под крестиком. Приводим к тому же языку.
   ------------------------------------------------------------ */
#uk-search-target .uk-offcanvas-bar,
#uk-contacts-target .uk-offcanvas-bar,
#uk-account-target .uk-offcanvas-bar {
  width: min(86vw, 340px);
  padding: 14px 16px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
}
/* Заголовок не под крестиком */
#uk-search-target .uk-nav-header,
#uk-contacts-target .uk-nav-header,
#uk-account-target .uk-nav-header {
  padding: 8px 44px 10px 0;
  margin: 0;
  font-family: var(--pr-font-display);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pr-muted);
  border-bottom: 1px solid var(--pr-border);
  margin-bottom: 8px;
}
/* Крестик — как в главном меню */
#uk-search-target .uk-offcanvas-close,
#uk-contacts-target .uk-offcanvas-close,
#uk-account-target .uk-offcanvas-close {
  top: 10px;
  right: 12px;
  width: 40px;
  height: 40px;
  border: 1px solid var(--pr-border);
  border-radius: 10px;
  color: var(--pr-muted);
}
/* Контакты: вместо uk-padding (30px+) — компактные блоки */
#uk-contacts-target .uk-nav > li > .uk-padding {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--pr-border);
}
#uk-contacts-target .uk-nav > li:last-child > .uk-padding { border-bottom: none; }
#uk-contacts-target a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 18px;
  font-weight: 800;
  color: var(--pr-ink);
}
/* Аккаунт: ряды-мишени и «Выйти» красным */
#uk-account-target .uk-nav > li > a {
  min-height: 44px;
  display: flex;
  align-items: center;
  border-radius: 10px;
  padding: 8px 10px;
  font-weight: 600;
}
#uk-account-target .uk-nav > li > a:hover { background: var(--pr-bg-soft); }
#uk-account-target .uk-text-danger { color: var(--pr-accent) !important; }
/* Поиск: форма сразу под заголовком, кнопка-иконка досягаема */
#uk-search-target form.uk-search { margin-top: 6px; }
#uk-search-target .uk-search-input {
  background: var(--pr-bg-soft);
  border: 1px solid var(--pr-border);
  border-radius: 10px;
  padding-left: 14px;
}
#uk-search-target .uk-search-input:focus {
  background: #fff;
  border-color: var(--pr-accent);
  box-shadow: 0 0 0 3px var(--pr-accent-soft);
}

/* ------------------------------------------------------------
   22.5 Тосты не прячутся за липкой шапкой и не висят по центру
   пальца: на телефоне — снизу, над safe-area.
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .uk-notification {
    top: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
  }
  .uk-notification-message { font-size: 13.5px; padding: 12px 36px 12px 14px; }
}

/* ------------------------------------------------------------
   22.6 Якоря на мобиле: липкий бар 56px, а scroll-padding был
   96px — контент «проваливался». Выравниваем.
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  html { scroll-padding-top: 68px; }
}

/* ------------------------------------------------------------
   22.8 Футер: основной блок — колонки не жмутся, а складываются
   с ровным ритмом (только блок с uk-padding; копирайт не задет).
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding .uk-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
  }
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding .uk-bar-group {
    width: 100%;
    justify-content: flex-start;
  }
  /* Заголовки колонок футера — та же техно-метка */
  .uk-bar-secondary.uk-bar-bottom .uk-nav-header {
    font-family: var(--pr-font-display);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    padding-bottom: 6px;
  }
}

/* ------------------------------------------------------------
   22.9 Мелочь: кнопка «показать все» в поисковом автокомплите
   и карточки автокомплита — touch-высота.
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .uk-autocomplete-items .uk-card.uk-card-muted { padding: 12px 12px; }
  .uk-autocomplete-items .uk-h5 { font-size: 15px; }
}

/* ------------------------------------------------------------
   22.10 Reduced motion: гасим и мобильные микро-анимации слоёв
   §20–21 (шторка, бургер уже учтён).
   ------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .uk-modal .uk-modal-dialog { transition: none !important; transform: none !important; }
}
/* ============================================================
   PRORACING — §23 PRODUCT GRID FIX · CTA · DENSITY (v16)
   Куда: в конец theme.custom.css, ПОСЛЕ §22.
   23.1 БАГ: карточки товаров накладываются друг на друга
   23.2 Секции «Запишитесь … онлайн» — CSS-страховка к JS
   23.3 Карточки товаров: ровная сетка, цена/кнопка внизу
   23.4 Липкая CTA-панель (мобила) — конверсия
   23.5 Плотность: элементы аккуратнее, без «толстых» блоков
   23.6 Конверсионные мелочи
   ============================================================ */


/* ------------------------------------------------------------
   23.1 БАГ: наложение карточек товаров.
   Причина: правило §12.3 `ul.product-list > li + li { margin-top }`
   писалось для СПИСКА (list-1), но действовало и в СЕТКЕ:
   карточки одного ряда получали разный сдвиг вниз и наезжали
   на следующий ряд. В сетке возвращаем управление UIkit.
   ------------------------------------------------------------ */
ul.product-list.uk-products.uk-grid > li + li { margin-top: 0; }
ul.product-list.uk-products.uk-grid > li.uk-grid-margin { margin-top: 24px; }
/* Списочный режим — как было */
ul.product-list.uk-products.uk-products-list-1 > li + li { margin-top: var(--pr-s3); }

/* Сетка плитки (thumbs) — равная высота; слайдер/список не трогаем */
ul.product-list.uk-products.uk-products-thumbs-1.uk-grid { align-items: stretch; }
ul.product-list.uk-products.uk-products-thumbs-1.uk-grid > li > .uk-card { height: 100%; }


/* ------------------------------------------------------------
   23.2 «Запишитесь на диагностику и ремонт онлайн» —
   секции удаляет JS (v16); CSS прячет их до срабатывания JS,
   чтобы не мигали битые iframe.
   ------------------------------------------------------------ */
.uk-section.online:has(iframe[src*="bitrix24"]),
.pr-legacy-content .uk-section.online,
.tm-page-content .uk-section.online,
.pr-legacy-content .pr-booking-form,
.tm-page-content .pr-booking-form {
  display: none !important;
}


/* ------------------------------------------------------------
   23.3 Карточки ТОЛЬКО в плитке (thumbs-1).
   Не применять к slider/list: иначе названия/цены пропадают,
   карточки тянутся пустым белым низом.
   ------------------------------------------------------------ */
ul.uk-products-thumbs-1.uk-grid .uk-card.uk-card-product,
ul.uk-products-thumbs-1.uk-grid .uk-card.uk-card-default {
  display: flex;
  flex-direction: column;
  padding: 12px 14px 14px;
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-lg);
  background: #fff;
  overflow: visible;
}
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-product.uk-product-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-cover-container,
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-product-image-wrap {
  flex: 0 0 auto;
  border-radius: var(--pr-radius);
  overflow: hidden;
  background: #fff;
}
ul.uk-products-thumbs-1.uk-grid .uk-card img.uk-product-image {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-product-name,
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-h4 {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
  color: var(--pr-ink);
  font-size: 14.5px;
  line-height: 1.35;
  font-weight: 600;
  min-height: 0;
  margin: 8px 0 4px;
}
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-product-pricing,
ul.uk-products-thumbs-1.uk-grid .uk-card .tm-product-pricing {
  margin-top: auto;
  padding-top: 10px;
}
ul.uk-products-thumbs-1.uk-grid .uk-card .price { font-size: 16px; }
ul.uk-products-thumbs-1.uk-grid .uk-card .uk-button { min-height: 40px; font-size: 12.5px; }

/* Слайдер услуг/товаров: горизонтальная лента + видимые название/цена */
#product-list .uk-products-slider-1 .uk-card.uk-card-product {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  padding: 12px 14px 14px;
}
#product-list .uk-products-slider-1 .uk-product.uk-product-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
/* Важно: шаблон вставляет пустой span.uk-height-1-1 для uk-cover.
   При фиксированной высоте + overflow:hidden он съедает весь кадр,
   а реальное фото оказывается ниже и обрезается → «пустое белое окно». */
#product-list .uk-cover-container > span.uk-height-1-1,
#product-list .uk-cover-container > .uk-inline.uk-height-1-1 {
  display: none !important;
}
#product-list .uk-products-slider-1 .uk-cover-container {
  flex: 0 0 auto;
  position: relative;
  height: auto !important;
  min-height: 120px;
  max-height: 160px;
  margin-bottom: 10px;
  background: #fff;
  border-radius: var(--pr-radius);
  overflow: hidden;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
#product-list .uk-products-slider-1 .uk-cover-container > a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 120px;
}
#product-list .uk-products-slider-1 img.uk-product-image {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 140px !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
}
#product-list .uk-products-slider-1 .uk-h4.uk-overflow-hidden {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
#product-list .uk-products-slider-1 .uk-product-name,
#product-list .uk-products-slider-1 .uk-h4,
#product-list .uk-products-slider-1 .uk-product-pricing,
#product-list .uk-products-slider-1 .tm-product-pricing,
#product-list .uk-products-slider-1 .price {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  color: var(--pr-ink) !important;
  min-height: 0 !important;
  height: auto !important;
}
#product-list .uk-products-slider-1 .uk-product-name {
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 6px;
}
#product-list .uk-products-slider-1 .uk-product-pricing,
#product-list .uk-products-slider-1 .tm-product-pricing {
  margin-top: auto;
  padding-top: 8px;
}
#product-list .uk-products-slider-1 .uk-cover-container:has(img[src*="dummy"]) {
  display: none !important;
}

/* Карточки в слайдере/плитке: в ширине колонки страницы, без «расплющивания». */
.pr-service-page #product-list .uk-products-slider-1 > li {
  max-width: none;
}

/* ПК: услуги — та же колонка 1120, что у CTA; компактные иконки
   (не 5 растянутых пустых карточек на всю ширину контейнера). */
@media (min-width: 960px) {
  .pr-service-page #product-list,
  .tm-category-page.pr-service-page #product-list {
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #product-list ul.uk-products-slider-1:not([class*="uk-child-width"]) > li,
  #product-list ul.uk-products.uk-slider-items:not([class*="uk-child-width"]) > li {
    width: 25% !important;
    max-width: 25% !important;
    box-sizing: border-box !important;
  }

  .pr-service-page #product-list ul.uk-products-thumbs-1.uk-grid,
  .pr-service-page #product-list ul.uk-products-slider-1.uk-grid {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1.uk-grid > li,
  .pr-service-page #product-list ul.uk-products-slider-1.uk-grid > li,
  .pr-service-page #product-list ul.uk-products-slider-1.uk-slider-items > li {
    width: 25% !important;
    max-width: 25% !important;
    flex: 0 0 25% !important;
    box-sizing: border-box !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1.uk-grid > li > .uk-card,
  .pr-service-page #product-list ul.uk-products-slider-1 > li > .uk-card {
    height: auto !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-card.uk-card-product,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-card.uk-card-product {
    padding: 12px 12px 14px !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-product.uk-product-form,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-product.uk-product-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }
  /* Критично: сбрасываем aspect-ratio 4/3 — иначе пустые «простыни» */
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-cover-container,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-cover-container {
    flex: 0 0 auto !important;
    aspect-ratio: auto !important;
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #f7f8fa !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-cover-container > span.uk-height-1-1,
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-cover-container > .uk-inline.uk-height-1-1,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-cover-container > span.uk-height-1-1,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-cover-container > .uk-inline.uk-height-1-1 {
    display: none !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 img.uk-product-image,
  .pr-service-page #product-list ul.uk-products-slider-1 img.uk-product-image {
    max-height: 80px !important;
    max-width: 85% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-h4,
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-product-name,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-h4,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-product-name {
    margin: 0 0 6px !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-product-pricing,
  .pr-service-page #product-list ul.uk-products-thumbs-1 .tm-product-pricing,
  .pr-service-page #product-list ul.uk-products-slider-1 .uk-product-pricing,
  .pr-service-page #product-list ul.uk-products-slider-1 .tm-product-pricing {
    margin-top: 4px !important; /* не auto — иначе дыра в карточке */
    padding-top: 0 !important;
  }
}

.pr-service-page #product-list .uk-products-slider-1 .uk-card.uk-card-product {
  box-shadow: none;
}


/* ------------------------------------------------------------
   23.4 Липкая CTA-панель (создаёт JS v16, только ≤639)
   Тонкая, не «толстая»: 52px, два действия, safe-area.
   ------------------------------------------------------------ */
.pr-sticky-cta {
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: calc(10px + env(safe-area-inset-bottom, 0px));
  z-index: 990;
  display: flex;
  gap: 8px;
  padding: 6px;
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid var(--pr-border);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(23, 26, 34, 0.18);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.22s ease;
}
.pr-sticky-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.pr-sticky-cta.is-near-footer { opacity: 0; pointer-events: none; }
.pr-sticky-cta__call {
  flex: 1 1 100%;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-decoration: none !important;
  background: var(--pr-accent);
  color: #fff !important;
}
.pr-sticky-cta__call:active { background: var(--pr-accent-dark); }
/* totop не прячется под панелью */
@media (max-width: 639px) {
  body.pr-has-sticky-cta .uk-totop {
    margin-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
}
@media (min-width: 640px) {
  .pr-sticky-cta { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-sticky-cta { transition: none; }
}


/* ------------------------------------------------------------
   23.5 Плотность: аккуратнее, без гигантских элементов
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Кнопки: 44px достаточно (было местами 46–52) */
  .uk-button { min-height: 44px; }
  .uk-button-large { min-height: 48px; font-size: 15px; }
  .pr-band .pr-band__phone, .pr-band .pr-band__link { min-height: 48px; }
  .pr-evacuator-btn { min-height: 40px !important; font-size: 13px !important; }
  .pr-offcanvas-cta__btn { min-height: 40px; height: 40px; max-height: 40px; }

  /* Отступы секций и листа — плотнее, ритм ровный */
  main.content.uk-content { padding-top: var(--pr-s4); padding-bottom: var(--pr-s5); }
  main.content > .uk-panel-box { padding: 16px 14px; }
  main.content > .uk-panel-box:has(.tm-home-page),
  body.pr-is-home main.content > .uk-panel-box { padding: 0; }
  .tm-home-page .pr-heading { margin-bottom: 14px; }
  .tm-home-page .pr-home-anchor { padding: 16px 14px; }
  .tm-home-page .pr-home-cta { padding: 16px 14px; }
  .globalfooter { margin-top: var(--pr-s5); }

  /* Заголовки статей не давят */
  .tm-page-title, .tm-category-page-title { margin-bottom: 12px; }

  /* Модалки: паддинги умеренные */
  .uk-modal-dialog.uk-modal-body { padding: 24px 16px calc(18px + env(safe-area-inset-bottom)); }
}


/* ------------------------------------------------------------
   23.6 Конверсионные мелочи (desktop + mobile)
   ------------------------------------------------------------ */
/* Телефоны в тексте всегда выглядят кликабельно */
.tm-page-content a[href^="tel:"],
.pr-legacy-content a[href^="tel:"] {
  font-weight: 800;
  white-space: nowrap;
  background: none;
  color: var(--pr-accent-dark);
}

/* Ряды цен в прайсах: сумма всегда видна и весома */
.pr-legacy-content table td:last-child,
.tm-page-content table td:last-child { font-variant-numeric: tabular-nums; }

/* Кнопка «Позвонить и записаться» в карточке услуги — главный
   акцент, мессенджеры вторичны (визуальная иерархия действий) */
.pr-service-card__btn { font-weight: 800; }
.pr-service-card__msg { opacity: 0.92; }

/* Пустых «дыр» после удалённых онлайн-секций не остаётся */
.pr-legacy-content > .uk-margin-large:empty,
.pr-legacy-content > div:empty:not([class]) { display: none; }
/* ============================================================
   PRORACING — §24 MOBILE REPAIR PACK (v17)
   Куда: в конец theme.custom.css, ПОСЛЕ §23.
   24.1 БАГ: бургер-меню «смещено влево» (видна полоса панели)
   24.2 БАГ: кривые таблицы на мобиле → .pr-table-scroll (JS v17)
   24.3 Старый дизайн текста на части страниц → паритет §18
   24.4 Мобильная нормализация legacy-вёрстки (inline width,
        float, iframe) — главный источник «кривизны»
   24.5 Доводка главной и общих страниц на мобиле
   ============================================================ */


/* ------------------------------------------------------------
   24.1 БАГ: offcanvas смещён влево.
   UIkit прячет панель через left:-270px при ширине 270px.
   Мы расширили панель до 340px/100vw, не сдвинув скрытую
   позицию — 70px+ панели оставались видимыми у левого края.
   Чиним обе стороны через одну переменную ширины.
   ------------------------------------------------------------ */
:root { --pr-oc-w: 340px; }
@media (max-width: 959px) { :root { --pr-oc-w: min(86vw, 340px); } }
@media (max-width: 399px) { :root { --pr-oc-w: 100vw; } }

.uk-offcanvas-bar {
  width: var(--pr-oc-w);
  left: calc(-1 * var(--pr-oc-w) - 24px); /* запас под тень */
}
.uk-open > .uk-offcanvas-bar { left: 0; }

/* Панели справа (поиск/контакты/аккаунт открываются flip) */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: calc(-1 * var(--pr-oc-w) - 24px);
}
.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar,
.uk-offcanvas-flip.uk-open > .uk-offcanvas-bar {
  left: auto;
  right: 0;
}
/* Ширины из §21/§22 больше не конфликтуют */
.uk-offcanvas-bar.pr-offcanvas,
#uk-search-target .uk-offcanvas-bar,
#uk-contacts-target .uk-offcanvas-bar,
#uk-account-target .uk-offcanvas-bar {
  width: var(--pr-oc-w);
  max-width: 100vw;
}


/* ------------------------------------------------------------
   24.2 Таблицы: JS оборачивает в .pr-table-scroll.
   Скроллится ОБЁРТКА, таблица остаётся настоящей таблицей —
   строки/колонки больше не расходятся по ширине.
   ------------------------------------------------------------ */
.pr-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  margin: 1.4em 0;
  border-radius: 10px;
  /* тени-подсказки «есть продолжение» — на обёртке */
  background:
    linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0)) left / 32px 100% no-repeat local,
    linear-gradient(270deg, #fff 30%, rgba(255, 255, 255, 0)) right / 32px 100% no-repeat local,
    linear-gradient(90deg, rgba(23, 26, 34, 0.12), rgba(23, 26, 34, 0)) left / 12px 100% no-repeat scroll,
    linear-gradient(270deg, rgba(23, 26, 34, 0.12), rgba(23, 26, 34, 0)) right / 12px 100% no-repeat scroll,
    #fff;
}
.pr-table-scroll::-webkit-scrollbar { height: 8px; }
.pr-table-scroll::-webkit-scrollbar-thumb { background: #d7d9de; border-radius: 4px; }

/* Таблица внутри обёртки — обычная таблица во всю нужную ширину */
.pr-table-scroll > table,
.pr-legacy-content .pr-table-scroll > table,
.tm-page-content .pr-table-scroll > table {
  display: table !important;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  overflow: visible;
  background: transparent;
}
@media (max-width: 639px) {
  .pr-table-scroll > table,
  .pr-legacy-content .pr-table-scroll > table,
  .tm-page-content .pr-table-scroll > table {
    min-width: 560px; /* прайс не сжимается в кашу */
  }
  /* Липкая первая колонка — работает и в обёртке */
  .pr-table-scroll > table td:first-child,
  .pr-table-scroll > table th:first-child {
    position: sticky;
    left: 0;
    background: #fff;
    box-shadow: 6px 0 8px -6px rgba(23, 26, 34, 0.12);
    max-width: 55vw;
  }
  .pr-table-scroll > table tr:nth-child(even) td:first-child { background: #fafafc; }
  .pr-table-scroll > table th:first-child { background: var(--pr-ink); }
}
/* Внутри модалок таблицы не оборачиваются — обычный вид */


/* ------------------------------------------------------------
   24.3 ПАРИТЕТ ТИПОГРАФИКИ: «старый» текст оставался там,
   где контейнер не .tm-page-content/.pr-legacy-content.
   Распространяем редакторскую систему §18 на все текстовые
   поверхности: описания категорий/услуг, товар, кабинет.
   ------------------------------------------------------------ */
.tm-category-page-description,
.tm-product-page .uk-panel-box [itemprop="description"],
.tm-product-page .uk-product-description,
.uk-page-content {
  font-size: 16px;
  line-height: 1.75;
  color: var(--pr-ink);
}
.tm-category-page-description p,
.uk-page-content p { margin: 0 0 1.1em; text-wrap: pretty; }

.tm-category-page-description h2,
.uk-page-content h2 {
  font-weight: 800;
  letter-spacing: -0.01em;
  margin-top: 2.2em;
  margin-bottom: 0.7em;
}
.tm-category-page-description h2::before,
.uk-page-content h2::before {
  content: "";
  display: inline-block;
  vertical-align: baseline;
  width: 10px;
  height: 0.72em;
  margin-right: 12px;
  border-radius: 2px;
  background: var(--pr-accent);
  transform: skewX(-14deg);
}
.tm-category-page-description > h2:first-child { margin-top: 0; }

.tm-category-page-description h3,
.uk-page-content h3 {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  margin-top: 1.9em;
  margin-bottom: 0.6em;
}
.tm-category-page-description h3::before,
.uk-page-content h3::before { content: "// "; color: var(--pr-accent); letter-spacing: 0; }

/* Ссылки, списки, телефоны — как в §18 */
.tm-category-page-description a:not(.uk-button):not([class*="pr-"]),
.uk-page-content a:not(.uk-button) {
  color: var(--pr-accent-dark);
  text-decoration: none;
  background-image: linear-gradient(90deg, rgba(255, 53, 70, 0.35), rgba(255, 53, 70, 0.35));
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: 0 96%;
  transition: background-size 0.18s ease, color 0.18s ease;
}
.tm-category-page-description a:not(.uk-button):not([class*="pr-"]):hover,
.uk-page-content a:not(.uk-button):hover {
  color: var(--pr-accent);
  background-size: 100% 2px;
}
.tm-category-page-description a[href^="tel:"] {
  font-weight: 800;
  white-space: nowrap;
  background: none;
}
.tm-category-page-description ul:not([class]) {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1.2em;
}
.tm-category-page-description ul:not([class]) > li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 0.45em;
}
.tm-category-page-description ul:not([class]) > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  background: var(--pr-accent);
  transform: skewX(-14deg);
}


/* ------------------------------------------------------------
   24.4 МОБИЛЬНАЯ НОРМАЛИЗАЦИЯ LEGACY-ВЁРСТКИ.
   Главный источник «кривой мобилы»: inline width/height,
   float и жёсткие iframe из старых страниц БД.
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  .pr-legacy-content img,
  .tm-page-content img,
  .tm-category-page-description img {
    max-width: 100% !important;
    height: auto !important;
  }
  .pr-legacy-content iframe,
  .tm-page-content iframe,
  .tm-category-page-description iframe {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    border-radius: var(--pr-radius);
  }
  /* Инлайновые фиксированные ширины блоков */
  .pr-legacy-content [style*="width"],
  .tm-page-content [style*="width"],
  .tm-category-page-description [style*="width"] {
    max-width: 100% !important;
  }
  /* float-раскладки складываются */
  .pr-legacy-content::after,
  .tm-page-content::after,
  .tm-category-page-description::after {
    content: "";
    display: block;
    clear: both;
  }
}
@media (max-width: 639px) {
  .pr-legacy-content [style*="float"],
  .tm-page-content [style*="float"],
  .tm-category-page-description [style*="float"] {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Колоночные uk-grid внутри текста — в одну колонку */
  .pr-legacy-content .uk-grid > [class*="uk-width"],
  .tm-category-page-description .uk-grid > [class*="uk-width"] {
    width: 100%;
  }
}


/* ------------------------------------------------------------
   24.5 Доводка страниц на мобиле
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Главная: ровный вертикальный ритм секций */
  .tm-home-page > * + * { margin-top: 22px; }
  .tm-home-page > .pr-band + * { margin-top: 0; }
  .tm-home-page .pr-advantages { margin-bottom: 22px; }

  /* Описание категории/услуги: заголовки не давят */
  .tm-category-page-description { font-size: 15.5px; line-height: 1.7; }
  .tm-category-page-description h2 { font-size: 20px; margin-top: 1.8em; }
  .tm-category-page-description h3 { font-size: 13px; }

  /* Кабинет/страницы .uk-page */
  .uk-page-title, .uk-page-header { font-size: 22px; margin-bottom: 16px; }

  /* Панель сортировки/фильтров каталога — в строку со скроллом */
  .filters .filters-form {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 8px;
    padding-bottom: 4px;
  }
  .filters .filters-form::-webkit-scrollbar { display: none; }
  .filters .filter-param { flex: 0 0 auto; }

  /* Пагинация: по центру, без переноса на 3 строки */
  .uk-pagination {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }
}
/* ============================================================
   PRORACING — §25 MOBILE COMPACT REBUILD (v18)
   Куда: в конец theme.custom.css, ПОСЛЕ §24.
   По скриншотам мобилы: блоки через чур большие. Плотная
   пересборка ≤639: hero и заголовки ужаты, меню-стрелки
   развёрнуты, ритм 8/12. Подкатегории → theme.mobile.css M-CAT.
   Desktop не задет — всё в @media.
   ============================================================ */


/* ------------------------------------------------------------
   25.1 Подкатегории на мобиле → theme.mobile.css M-CAT
   ------------------------------------------------------------ */


/* ------------------------------------------------------------
   25.2 Hero и главная (скрин 3): ужимаем масштаб
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .pr-band__content {
    padding-top: 34px;
    padding-bottom: 40px;
  }
  .pr-band__eyebrow { font-size: 10px; letter-spacing: 0.18em; margin-bottom: 10px; }
  .pr-band__eyebrow::before { width: 20px; margin-right: 8px; }
  .pr-band__content h1, .pr-band h1 {
    font-size: 22px;
    line-height: 1.18;
    margin-bottom: 12px;
  }
  .pr-band__lead { font-size: 14px; line-height: 1.55; margin-bottom: 18px; }
  .pr-band .pr-band__actions { gap: 8px; }
  .pr-band .pr-band__phone {
    min-height: 48px;
    padding: 12px 20px;
    font-size: 16px;
    box-shadow: 0 6px 18px rgba(255, 53, 70, 0.25);
  }
  .pr-band .pr-band__link { min-height: 44px; padding: 10px 18px; font-size: 14px; }
  .pr-band .pr-band__note { font-size: 12px; }

  /* Цифры доверия — компактные плашки, без наезда на баннер */
  .tm-home-page .pr-advantages { margin-top: 0 !important; gap: 8px; }
  .tm-home-page .pr-advantage { padding: 12px 12px 12px; border-radius: 10px; }
  .tm-home-page .pr-advantage .pr-advantage__num { font-size: 19px; }
  .tm-home-page .pr-advantage .pr-advantage__num::after { width: 18px; margin-top: 6px; }
  .tm-home-page .pr-advantage h3 { font-size: 12.5px; margin: 6px 0 2px; }
  .tm-home-page .pr-advantage p { font-size: 12px; line-height: 1.4; }

  /* Ритм секций главной плотнее */
  .tm-home-page > * + * { margin-top: 18px; }
  .tm-home-page .pr-advantages { margin-bottom: 18px; }
  .tm-home-page .pr-heading { font-size: 17px; margin-bottom: 10px; padding-bottom: 10px; }
  .tm-home-page .pr-home-intro { font-size: 13.5px; }
  .tm-home-page .pr-home-anchor { padding: 14px 14px; }
  .tm-home-page .pr-home-anchor__num { font-size: 28px; }
  .tm-home-page .pr-home-anchor__title { font-size: 18px; }
  .tm-home-page .pr-home-anchor__cta { min-height: 42px; font-size: 14px; }
  .tm-home-page .pr-home-cta { padding: 14px 14px; }
  .tm-home-page .pr-home-cta__text h2 { font-size: 17px; }
  .tm-home-page .pr-home-cta__text p { font-size: 13.5px; }
  .tm-home-page .pr-home-map__frame iframe { height: 260px; }
}


/* ------------------------------------------------------------
   25.3 Заголовки страниц, лист, крошки (скрин 1)
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  main.content.uk-content { padding-top: 10px; padding-bottom: 20px; }
  main.content > .uk-panel-box { padding: 12px 12px 16px; border-radius: 10px; }
  main.content > .uk-panel-box:has(.tm-home-page),
  body.pr-is-home main.content > .uk-panel-box { padding: 0; }

  main.content .breadcrumbs.uk-breadcrumb { margin-bottom: 8px; }
  main.content .breadcrumbs.uk-breadcrumb > * > * { font-size: 12px; }
  main.content .breadcrumbs.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before { margin: 0 7px; }
  /* Текущая страница в крошках — приглушена (дубль имени не бросается) */
  main.content .breadcrumbs.uk-breadcrumb > :last-child > * { color: #b3b5bb; }

  .tm-page-title,
  .tm-category-page-title,
  .tm-product-page-title,
  .tm-cart-page-title,
  .tm-search-page-title {
    font-size: 19px;
    line-height: 1.22;
    padding-top: 10px;
    margin-bottom: 12px;
  }
  .tm-page-title::before,
  .tm-category-page-title::before,
  .tm-product-page-title::before,
  .tm-cart-page-title::before,
  .tm-search-page-title::before { width: 34px; height: 3px; }
}


/* ------------------------------------------------------------
   25.4 Offcanvas (скрин 2): стрелки смотрели влево «<».
   Разворачиваем: закрыто → вправо, открыто → вниз. Плюс
   плотнее ряды.
   ------------------------------------------------------------ */
.pr-offcanvas .uk-parent > a > .uk-icon:last-child,
.pr-offcanvas .uk-menu-parent-icon > li > a > .uk-icon:last-child {
  transform: rotate(180deg);
  transition: transform 0.2s ease;
}
.pr-offcanvas .uk-parent.uk-open > a > .uk-icon:last-child {
  transform: rotate(270deg);
}
@media (prefers-reduced-motion: reduce) {
  .pr-offcanvas .uk-parent > a > .uk-icon:last-child { transition: none; }
}

@media (max-width: 639px) {
  .pr-offcanvas > .uk-nav { padding: 6px 10px 12px; }
  .pr-offcanvas .uk-nav > li > a {
    min-height: 42px;
    padding: 8px 10px !important;
    font-size: 14.5px;
  }
  .pr-offcanvas .uk-nav ul a { min-height: 38px; font-size: 13.5px; padding: 6px 10px; }
  .pr-offcanvas .uk-nav-header { padding: 8px 10px 4px !important; font-size: 10.5px; }
  .pr-offcanvas .uk-nav > li + .uk-nav-header { margin-top: 6px; padding-top: 10px !important; }
  .pr-offcanvas-brand { padding: 12px 12px 12px 16px; }
  .pr-offcanvas-brand__img { max-height: 28px; }
  .pr-offcanvas-cta { padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); }
  .pr-offcanvas-cta__btn {
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    border-radius: 10px;
    flex-direction: row !important;
    gap: 8px !important;
    padding: 0 14px !important;
  }
  .pr-offcanvas-cta__label { font-size: 12px; }
  .pr-offcanvas-cta__num { font-size: 12.5px; }
}


/* ------------------------------------------------------------
   25.5 Общая плотность ≤639: кнопки/окна/футер
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  .uk-button { min-height: 42px; font-size: 13px; }
  .uk-button-large { min-height: 46px; font-size: 14px; }
  .uk-button-small { min-height: 34px; }
  .pr-evacuator-btn { min-height: 40px !important; font-size: 13px !important; padding: 8px 18px !important; }
  .pr-sticky-cta { padding: 5px; border-radius: 12px; }
  .pr-sticky-cta__call { min-height: 42px; font-size: 13.5px; }
  body.pr-has-sticky-cta .uk-totop {
    margin-bottom: calc(58px + env(safe-area-inset-bottom, 0px));
  }

  .uk-modal-dialog.uk-modal-body { padding: 22px 14px calc(16px + env(safe-area-inset-bottom)); }
  .uk-modal-title { font-size: 17px; margin-bottom: 12px; padding-bottom: 10px; }

  /* Футер плотнее */
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding { padding: 22px 0; }
  .uk-bar-container.uk-bar-secondary.uk-bar-bottom.uk-padding .uk-bar { gap: 14px; }
  .uk-bar-secondary.uk-bar-bottom .uk-nav > li > a { min-height: 38px; font-size: 14px; }

  /* Текст статей: плотнее, но читаемо */
  .tm-page-content, .pr-legacy-content, .tm-category-page-description {
    font-size: 15px;
    line-height: 1.65;
  }
  .tm-page-content > p:first-of-type,
  article.tm-page .pr-legacy-content > p:first-child { font-size: 16px; }
  .tm-page-content h2, .pr-legacy-content h2,
  .tm-category-page-description h2 { font-size: 18px; margin-top: 1.6em; }
}
/* ============================================================
   PRORACING — §26 MOBILE COMPLETE (v19)
   Куда: в конец theme.custom.css, ПОСЛЕ §25.
   Финальный сводный слой полной мобильной оптимизации:
   26.1 Touch-поведение: у телефона нет hover — интерфейс
        не должен от него зависеть
   26.2 Производительность длинных страниц на мобиле
   26.3 Страховочная сетка: ничего не ломает раскладку
   26.4 Товар и корзина: мобильные сценарии покупки/звонка
   26.5 Автозаполнение и клавиатуры форм
   ============================================================ */


/* ------------------------------------------------------------
   26.1 TOUCH-ПОВЕДЕНИЕ (hover: none = любой тач-девайс,
   включая планшеты в desktop-раскладке)
   ------------------------------------------------------------ */
@media (hover: none) {
  /* Скрытые до hover элементы видимы сразу:
     кнопка zoom на карточке товара, стрелки слайдеров */
  .uk-card-product .uk-icon-button.uk-transition-fade,
  .uk-transition-toggle .uk-transition-fade {
    opacity: 1 !important;
  }

  /* «Залипающий hover» после тапа: подъёмы карточек выключаем,
     обратная связь — короткое нажатие (:active) */
  .uk-card.uk-card-default.uk-card-hover:hover,
  .tm-home-page .pr-advantage:hover,
  .pr-service-card:hover,
  .pr-card:hover,
  .tm-category-page-categories > .uk-grid > li > .uk-grid:hover,
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:hover {
    transform: none;
  }
  .uk-card.uk-card-default:active,
  .tm-category-page-categories > .uk-grid > li > .uk-grid:active,
  .tm-home-page .tm-home-page-categories > .uk-grid > li > .uk-grid:active {
    background: var(--pr-bg-soft);
    transition-duration: 0.06s;
  }
  .uk-button-primary:active,
  .pr-band .pr-band__phone:active,
  .pr-sticky-cta__call:active {
    transform: scale(0.98);
  }
  .pr-offcanvas .uk-nav a:active,
  .uk-dropdown .uk-nav a:active {
    background: var(--pr-bg-soft);
  }

  /* Карта: цвет сразу, а не по hover (его нет) */
  .tm-home-page .pr-home-map__frame iframe { filter: none; }
  /* Логотипы брендов: не «серые навсегда» — мягкий полуцвет */
  .pr-brands-page .tm-category-page-categories img,
  .uk-menu-dropbar.uk-menu-secondary img,
  .uk-menu-dropbar.uk-menu-icons img {
    filter: grayscale(0.35);
    opacity: 0.95;
  }
}

/* Без синей вспышки WebKit при тапе — на всех интерактивных */
a, button, .uk-button, [role="button"], input, label, summary {
  -webkit-tap-highlight-color: transparent;
}
/* Тап-феедбек не съедает выделение текста в статьях */
.tm-page-content, .pr-legacy-content, .tm-category-page-description {
  -webkit-user-select: text;
  user-select: text;
}


/* ------------------------------------------------------------
   26.2 ПРОИЗВОДИТЕЛЬНОСТЬ ДЛИННЫХ СТРАНИЦ (≤959)
   Legacy-статьи по 2000+ слов: рендерим по мере прокрутки.
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  /* Секции лендингов и большие куски текста за экраном
     не считаются, пока не доскроллили */
  .pr-legacy-content > .uk-section,
  .pr-legacy-content > section {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
  }
  .pr-legacy-content img,
  .tm-category-page-categories img,
  .tm-category-page-description img {
    content-visibility: visible;
  }
  /* Футер тоже */
  .globalfooter {
    content-visibility: auto;
    contain-intrinsic-size: auto 600px;
  }

  /* Тени и блюры дешевле на мобиле */
  main.content > .uk-panel-box { box-shadow: 0 1px 2px rgba(23, 26, 34, 0.05); }
  .pr-band { box-shadow: 0 12px 28px rgba(12, 13, 17, 0.2); }
  .uk-modal-dialog { box-shadow: 0 -10px 40px rgba(23, 26, 34, 0.2); }
}
/* Липкие столбцы прайса и sticky-CTA не попадают под contain */
.pr-table-scroll { contain: none; }


/* ------------------------------------------------------------
   26.3 СТРАХОВОЧНАЯ СЕТКА (≤959): что бы ни лежало в БД,
   страница не разъезжается
   ------------------------------------------------------------ */
@media (max-width: 959px) {
  /* Длинные слова/URL/артикулы переносятся */
  .tm-page-content, .pr-legacy-content, .tm-category-page-description,
  .uk-page-content, .uk-card, .uk-modal-dialog, .uk-offcanvas-bar {
    overflow-wrap: break-word;
    word-break: break-word;
  }
  /* flex/grid-дети могут ужиматься (классическая причина вылезаний) */
  .uk-grid > *, .uk-flex > *, [class*="uk-child-width"] > * { min-width: 0; }

  /* pre/code не раздувают экран */
  .tm-page-content pre, .pr-legacy-content pre {
    overflow-x: auto;
    max-width: 100%;
  }

  /* Видео-обёртки старых страниц */
  .pr-legacy-content [style*="position: absolute"][style*="iframe"],
  .pr-legacy-content .video-wrap { max-width: 100%; }

  /* Абсолютные декорации из legacy не перехватывают тапы */
  .pr-legacy-content [style*="position:absolute"],
  .pr-legacy-content [style*="position: absolute"] { max-width: 100%; }
}


/* ------------------------------------------------------------
   26.4 ТОВАР И КОРЗИНА: мобильный сценарий (≤639)
   ------------------------------------------------------------ */
@media (max-width: 639px) {
  /* Товар: цена крупная и заметная, кнопки в ряд не лезут */
  .tm-product-page .price { font-size: 22px; }
  .tm-product-page .compare-at-price,
  .tm-product-page del.price { font-size: 15px; }

  /* Блок покупки: количество + кнопка в одну удобную строку */
  .tm-product-page .uk-flex:has(> .uk-button-primary) { gap: 10px; flex-wrap: wrap; }

  /* Избранное/сравнение — вторичные, не раздуваем */
  .tm-product-page .uk-product-favorite,
  .tm-product-page .uk-product-compare { width: 42px; height: 42px; }

  /* Корзина: итог и кнопка оформления всегда весомые */
  .tm-cart-page .uk-text-large,
  .tm-cart-page .total { font-size: 20px; font-weight: 800; }

  /* Пустая корзина/выдача — по центру, с воздухом */
  .tm-cart-page .uk-text-center > .uk-button,
  #clear-list + .uk-text-center .uk-button { margin-top: 10px; }
}


/* ------------------------------------------------------------
   26.5 ФОРМЫ: автозаполнение и клавиатуры
   ------------------------------------------------------------ */
/* Жёлтая заливка автозаполнения WebKit — в наш стиль */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
  -webkit-text-fill-color: var(--pr-ink);
  border-color: var(--pr-border);
  transition: background-color 9999s ease-out;
}
/* Поле поиска: убираем системный крестик, есть свой */
input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
/* Числовые поля без спиннеров-миниатюр (крупные +/- в теме) */
@media (max-width: 959px) {
  input[type="number"]::-webkit-outer-spin-button,
  input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
  input[type="number"] { -moz-appearance: textfield; appearance: textfield; }
}
/* ============================================================
   PRORACING — §27 SERVICE CARD & FINAL POLISH (v20)
   Куда: в конец theme.custom.css, ПОСЛЕ §26.
   По скрину 4: в карточке «Запись в сервис» пустой разрыв
   ~150px между расписанием и телефоном. Чиним каркасом
   flex+gap и гасим пустые элементы-обёртки.
   ============================================================ */

/* Каркас карточки: ровный ритм 10px, ничего не «висит» */
.pr-service-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}
.pr-service-card > * { margin: 0 !important; }
/* Пустые обёртки (источник разрыва) не занимают место */
.pr-service-card > *:empty { display: none !important; }
.pr-service-card > div:not([class]):empty { display: none !important; }
/* Медиа внутри карточки не раздувают её */
.pr-service-card img,
.pr-service-card iframe {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

.pr-service-card__badge { order: 0; }
.pr-service-card__title { order: 1; }
.pr-service-card__meta  { order: 2; }
.pr-service-card__phone { order: 3; margin-top: 4px !important; }
.pr-service-card__btn   { order: 4; }
.pr-service-card__messengers { order: 5; }

/* Мессенджеры — в одну строку, вторичные */
.pr-service-card__messengers {
  display: flex;
  gap: 8px;
}
.pr-service-card__messengers .pr-service-card__msg,
.pr-service-card__msg {
  flex: 1 1 0;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13.5px;
}

@media (max-width: 639px) {
  .pr-service-card { padding: 14px; gap: 8px; }
  .pr-service-card__phone { font-size: 19px; }
  .pr-service-card__btn { min-height: 46px; }
}
/* ============================================================
   PRORACING — §28 REAL-DOM FIX (v21)
   Куда: в конец theme.custom.css, ПОСЛЕ §27.
   uk-card viewmode 1–4: desktop ≥960. Мобилка → theme.mobile.css M-CAT.
   Стрелки меню — ::after c background-image (UIkit uk-nav-parent-icon).
   ============================================================ */


/* ------------------------------------------------------------
   28.1 Подкатегории (uk-card) на мобиле → theme.mobile.css M-CAT
   ------------------------------------------------------------ */


/* ------------------------------------------------------------
   28.2 Подкатегории (uk-card): DESKTOP ≥960 — без «пустых» заглушек
   Карточка с dummy-картинкой выглядит пустой и на ПК.
   Прячем заглушку, карточка становится аккуратной плиткой.
   ------------------------------------------------------------ */
@media (min-width: 960px) {
  .tm-category-page-categories .uk-card > div:has(> img[src*="dummy"]),
  .tm-home-page-categories .uk-card > div:has(> img[src*="dummy"]) {
    display: none;
  }
  .tm-category-page-categories > .uk-grid > li > .uk-card.uk-card-default,
  .tm-home-page-categories > .uk-grid > li > .uk-card.uk-card-default {
    min-height: 86px;
    display: flex;
    align-items: center;
    padding: 16px 40px 16px 18px;
    position: relative;
    border-top: 2px solid var(--pr-accent);
  }
  .tm-category-page-categories .uk-card .uk-panel,
  .tm-home-page-categories .uk-card .uk-panel {
    padding: 0 !important;
    position: static !important;
    background: none !important;
  }
  .tm-category-page-categories .uk-card .uk-panel [class*="uk-h"],
  .tm-home-page-categories .uk-card .uk-panel [class*="uk-h"] {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    text-align: left;
    color: var(--pr-ink);
  }
  .tm-category-page-categories > .uk-grid > li > .uk-card::after,
  .tm-home-page-categories > .uk-grid > li > .uk-card::after {
    content: "\2192";
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -11px;
    font-size: 17px;
    line-height: 22px;
    color: var(--pr-accent);
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    pointer-events: none;
  }
  .tm-category-page-categories > .uk-grid > li > .uk-card:hover::after,
  .tm-home-page-categories > .uk-grid > li > .uk-card:hover::after {
    opacity: 1;
    transform: none;
  }
  /* Карточки с реальным фото — оставляем как есть (высота из настроек) */
  .tm-category-page-categories .uk-card > div:has(img:not([src*="dummy"])) { display: block; }
}


/* ------------------------------------------------------------
   28.3 Стрелки offcanvas-меню: это ::after с background-image
   (UIkit uk-nav-parent-icon). Подменяем на свой шеврон-вправо
   и вращаем вниз при раскрытии — работает независимо от того,
   какой символ зашит в иконках темы.
   ------------------------------------------------------------ */
.pr-offcanvas .uk-nav-parent-icon > .uk-parent > a::after,
.pr-offcanvas .uk-parent > a::after,
.uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 16px;
  height: 16px;
  margin-left: 8px;
  flex: 0 0 auto;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%239aa0a8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M6 3.5 L10.5 8 L6 12.5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px;
  transform: none;
  transition: transform 0.2s ease;
}
.pr-offcanvas .uk-parent.uk-open > a::after,
.uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  transform: rotate(90deg);
}
/* Активный пункт: шеврон в тон акцента, без серой плашки */
.pr-offcanvas .uk-nav > li.uk-active.uk-parent > a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ff3546' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M6 3.5 L10.5 8 L6 12.5'/%3E%3C/svg%3E") !important;
}
@media (prefers-reduced-motion: reduce) {
  .pr-offcanvas .uk-parent > a::after { transition: none; }
}

/* ============================================================
   PRORACING — §29 PRODUCT SLIDER STRIP (v22)
   Горизонтальная лента товаров/услуг вместо сетки на всю ширину.
   Карточки фиксированной ширины → появляется скролл/свайп.
   Перебивает §23 (width:25% на слайдах).
   ============================================================ */

/* Лента: клип контейнера, UIkit двигает .uk-slider-items */
#product-list [data-uk-slider],
.tm-page-product-list [data-uk-slider] {
  max-width: 100%;
}
#product-list .uk-slider-container,
.tm-page-product-list .uk-slider-container {
  overflow: hidden !important;
  max-width: 100%;
}

/* ПК: если карточек мало — группа по центру колонки (не прилипает влево).
   Если не влезают — max-width:100% и обычный слайдер. */
@media (min-width: 960px) {
  #product-list [data-uk-slider],
  .tm-page-product-list [data-uk-slider] {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }
  #product-list .uk-slider-container,
  .tm-page-product-list .uk-slider-container {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #product-list ul.uk-products-slider-1,
  #product-list ul.uk-products.uk-slider-items,
  .tm-page-product-list ul.uk-products.uk-slider-items {
    justify-content: center;
  }
}

/* Фикс. ширина слайда — не % от ряда (иначе 4 карточки = 100% и скролла нет).
   Специфичность ≥ §23 (.pr-service-page … width:25%). */
#product-list ul.uk-products-slider-1 > li,
#product-list ul.uk-products.uk-slider-items > li,
#product-list ul.uk-products-slider-1.uk-slider-items > li,
#product-list ul.uk-products-slider-1.uk-grid > li,
.pr-service-page #product-list ul.uk-products-slider-1 > li,
.pr-service-page #product-list ul.uk-products-slider-1.uk-grid > li,
.pr-service-page #product-list ul.uk-products-slider-1.uk-slider-items > li,
.tm-page-product-list ul.uk-products.uk-slider-items > li {
  width: 240px !important;
  max-width: 240px !important;
  min-width: 240px !important;
  flex: 0 0 240px !important;
  box-sizing: border-box !important;
}

/* Компактная карточка: картинка сверху, название/цена видны, без «простыни» */
#product-list ul.uk-products-slider-1 .uk-card.uk-card-product,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-card.uk-card-product {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 12px !important;
  overflow: visible !important;
}
#product-list ul.uk-products-slider-1 .uk-product.uk-product-form,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-product.uk-product-form {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
}

#product-list ul.uk-products-slider-1 .uk-cover-container,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-cover-container {
  flex: 0 0 auto !important;
  aspect-ratio: auto !important;
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f7f8fa !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
#product-list ul.uk-products-slider-1 .uk-cover-container > span.uk-height-1-1,
#product-list ul.uk-products-slider-1 .uk-cover-container > .uk-inline.uk-height-1-1,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-cover-container > span.uk-height-1-1,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-cover-container > .uk-inline.uk-height-1-1 {
  display: none !important;
}
#product-list ul.uk-products-slider-1 img.uk-product-image,
.tm-page-product-list ul.uk-products.uk-slider-items img.uk-product-image {
  max-height: 100px !important;
  max-width: 90% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
  position: relative !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#product-list ul.uk-products-slider-1 .uk-h4,
#product-list ul.uk-products-slider-1 .uk-product-name,
#product-list ul.uk-products-slider-1 .uk-product-pricing,
#product-list ul.uk-products-slider-1 .tm-product-pricing,
#product-list ul.uk-products-slider-1 .price,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-h4,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-product-name,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-product-pricing,
.tm-page-product-list ul.uk-products.uk-slider-items .tm-product-pricing,
.tm-page-product-list ul.uk-products.uk-slider-items .price {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--pr-ink, #1d1d1f) !important;
  -webkit-text-fill-color: var(--pr-ink, #1d1d1f) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
#product-list ul.uk-products-slider-1 .uk-h4.uk-overflow-hidden,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-h4.uk-overflow-hidden {
  height: auto !important;
  overflow: visible !important;
}
#product-list ul.uk-products-slider-1 .uk-product-name,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-product-name {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 6px !important;
}
#product-list ul.uk-products-slider-1 .uk-product-pricing,
#product-list ul.uk-products-slider-1 .tm-product-pricing,
.tm-page-product-list ul.uk-products.uk-slider-items .uk-product-pricing,
.tm-page-product-list ul.uk-products.uk-slider-items .tm-product-pricing {
  margin-top: 4px !important;
  padding-top: 0 !important;
}
#product-list ul.uk-products-slider-1 .price,
.tm-page-product-list ul.uk-products.uk-slider-items .price {
  font-size: 15px !important;
  font-weight: 800 !important;
}

/* Стрелки слайдера видны на ПК */
#product-list .uk-slidenav.uk-hidden-hover,
#product-list [data-uk-slidenav-next],
#product-list [data-uk-slidenav-previous] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Мобилка: чуть уже карточка, удобный свайп */
@media (max-width: 959px) {
  #product-list ul.uk-products-slider-1 > li,
  #product-list ul.uk-products.uk-slider-items > li,
  #product-list ul.uk-products-slider-1.uk-slider-items > li,
  #product-list ul.uk-products-slider-1.uk-grid > li,
  .pr-service-page #product-list ul.uk-products-slider-1 > li,
  .pr-service-page #product-list ul.uk-products-slider-1.uk-grid > li,
  .pr-service-page #product-list ul.uk-products-slider-1.uk-slider-items > li,
  .tm-page-product-list ul.uk-products.uk-slider-items > li {
    width: 72vw !important;
    max-width: 260px !important;
    min-width: 200px !important;
    flex: 0 0 auto !important;
  }
  #product-list ul.uk-products-slider-1 .uk-cover-container,
  .tm-page-product-list ul.uk-products.uk-slider-items .uk-cover-container {
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
  }
}

/* Если пользователь переключит в thumbs — тоже компактно, не «простыни» */
@media (min-width: 960px) {
  .pr-service-page #product-list ul.uk-products-thumbs-1.uk-grid > li {
    /* не форсим 25% поверх child-width темы */
    flex: initial;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-cover-container {
    aspect-ratio: auto !important;
    height: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;
  }
  .pr-service-page #product-list ul.uk-products-thumbs-1 .uk-card.uk-card-product {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* ============================================================
   PRORACING — §30 CLEAN UI · LEGACY UNIFY (v23)
   1) Убрать лишние контролы списка товаров
   2) Старые страницы из БД — без «серой карточки», шрифт как на новых
   ============================================================ */

/* Сетка/список + «Показать по» — страховка, если кэш/настройки вернут HTML */
[data-uk-viewmode],
.uk-products-per-page {
  display: none !important;
}

/* Вложенная рамка у текста из БД — главная причина «старого» вида.
   Новые лендинги (uk-section) уже без неё; выравниваем остальные. */
.tm-category-page-description .pr-legacy-content,
.tm-page .tm-page-content > .pr-legacy-content,
.tm-page-content > .pr-legacy-content,
#page.pr-legacy-content,
#page .pr-legacy-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Декоративные hr из старого HTML (короткие красные линии) */
.pr-legacy-content hr,
.tm-page-content hr,
.pr-legacy-content .uk-hr,
.tm-page-content .uk-hr {
  display: none !important;
}

/* Типографика = новые страницы (Manrope / Unbounded), перебиваем font из БД */
.pr-legacy-content,
.tm-page-content,
.tm-category-page-description {
  font-family: var(--pr-font-text, "Manrope", system-ui, sans-serif) !important;
  font-size: 16px;
  line-height: 1.75;
  color: var(--pr-ink, #1d1d1f);
}
.pr-legacy-content font,
.tm-page-content font,
.pr-legacy-content [style*="font-family"],
.tm-page-content [style*="font-family"],
.pr-legacy-content [face],
.tm-page-content [face] {
  font-family: var(--pr-font-text, "Manrope", system-ui, sans-serif) !important;
}
.tm-page-title,
.tm-category-page-title,
.tm-product-page-title,
.pr-legacy-content h1,
.pr-legacy-content h2,
.pr-legacy-content h3,
.tm-page-content h1,
.tm-page-content h2,
.tm-page-content h3 {
  font-family: var(--pr-font-display, "Unbounded", "Manrope", sans-serif) !important;
  color: var(--pr-ink, #1d1d1f);
}
.pr-legacy-content p,
.tm-page-content p {
  font-family: inherit !important;
  color: inherit;
}

/* Списки: спокойнее, без «старого» красного тире на каждой строке */
.tm-page-content ul:not([class]) > li::before,
.pr-legacy-content ul:not([class]) > li::before {
  width: 6px;
  height: 6px;
  top: 0.55em;
  border-radius: 50%;
  background: var(--pr-accent);
  transform: none;
}

/* ============================================================
   PRORACING — §31 SERVICE FEATURE ROWS (v24)
   Страницы вроде /service/.../diagnostika-moto/:
   старый HTML помечает блоки как uk-section.info (как hero),
   из‑за этого фото/текст «плывут». Здесь: настоящий hero
   оставляем, контентные ряды «фото + текст» приводим к виду.
   ============================================================ */

/* Контентные «info» с сеткой — НЕ тёмный hero */
.pr-legacy-content .uk-section.info:has(.uk-grid),
.pr-legacy-content .uk-section.info:has([class*="uk-child-width"]) {
  background: transparent !important;
  color: var(--pr-ink, #1d1d1f) !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 8px 0 28px !important;
  margin: 0 0 12px !important;
  border-radius: 0 !important;
}
.pr-legacy-content .uk-section.info:has(.uk-grid) p,
.pr-legacy-content .uk-section.info:has(.uk-grid) h2,
.pr-legacy-content .uk-section.info:has(.uk-grid) h3,
.pr-legacy-content .uk-section.info:has(.uk-grid) h4,
.pr-legacy-content .uk-section.info:has([class*="uk-child-width"]) p,
.pr-legacy-content .uk-section.info:has([class*="uk-child-width"]) h2,
.pr-legacy-content .uk-section.info:has([class*="uk-child-width"]) h3,
.pr-legacy-content .uk-section.info:has([class*="uk-child-width"]) h4 {
  color: var(--pr-ink, #1d1d1f) !important;
}

/* Заголовок секции */
.pr-legacy-content .uk-section.info:has(.uk-grid) > h2,
.pr-legacy-content section:has(> .uk-child-width-1-2\@m) > h2 {
  font-family: var(--pr-font-display, "Unbounded", sans-serif) !important;
  font-size: clamp(18px, 2vw, 22px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  text-align: center;
  margin: 0 0 20px !important;
  text-transform: uppercase;
}

/* Ряд 50/50: ровно рядом на ПК, не «лесенка» */
@media (min-width: 960px) {
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid,
  .pr-legacy-content [class*="uk-child-width-1-2"].uk-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    column-gap: 28px !important;
    row-gap: 0 !important;
    margin-left: 0 !important;
  }
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid > *,
  .pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > * {
    width: calc(50% - 14px) !important;
    max-width: calc(50% - 14px) !important;
    padding-left: 0 !important;
    margin: 0 !important;
    float: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
  }
}

/* Площадка под фото — единый «стол», без кривых PNG на белом */
.pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div:has(> img),
.pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > div:has(> img) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 240px;
  padding: 22px 18px !important;
  background: linear-gradient(160deg, #f4f5f7 0%, #ebecef 100%);
  border: 1px solid var(--pr-border, #e7e8ec);
  border-radius: 14px;
  box-sizing: border-box;
}
.pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div:has(> img) img,
.pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > div:has(> img) img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 260px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  display: block !important;
  border-radius: 8px;
  float: none !important;
  position: static !important;
  transform: none !important;
}

/* Текстовая колонка */
.pr-legacy-content .uk-child-width-1-2\@m.uk-grid .uk-text-middle,
.pr-legacy-content [class*="uk-child-width-1-2"].uk-grid .uk-text-middle {
  text-align: left !important;
  padding: 4px 4px 4px 8px !important;
}
.pr-legacy-content .uk-child-width-1-2\@m.uk-grid .uk-text-middle > h4,
.pr-legacy-content [class*="uk-child-width-1-2"].uk-grid .uk-text-middle > h4 {
  font-family: var(--pr-font-display, "Unbounded", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  margin: 0 0 12px !important;
  color: var(--pr-ink) !important;
}

/* Списки из <p>- пункт</p> (после нормализации JS — .pr-dash-list) */
.pr-legacy-content ul.pr-dash-list {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}
.pr-legacy-content ul.pr-dash-list > li {
  position: relative;
  padding: 0 0 0 18px;
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--pr-ink);
}
.pr-legacy-content ul.pr-dash-list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--pr-accent);
}

/* Абзац под секцией */
.pr-legacy-content > p.uk-text-left,
.pr-legacy-content .uk-section.info + p {
  max-width: 72ch;
  margin: 0 auto 28px !important;
  text-align: left !important;
  color: var(--pr-muted, #6b6b6f);
  font-size: 15.5px;
  line-height: 1.7;
}

/* Блок марок: спокойнее, без россыпи точек */
.pr-legacy-content .uk-section.brands .uk-dotnav {
  display: none !important;
}
.pr-legacy-content .uk-section.brands {
  padding: 20px 12px 24px !important;
  margin-bottom: 32px !important;
}

/* ============================================================
   PRORACING — §32 BRANDS MARQUEE DESKTOP (v25)
   Та же плавная бесконечная лента, что на мобилке.
   ============================================================ */
@keyframes pr-brands-marquee {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

.uk-section.brands {
  overflow: hidden;
  background: var(--pr-bg-soft, #f6f6f7);
  border-radius: 14px;
}
.uk-section.brands > h2 {
  text-align: center;
  margin: 0 0 18px !important;
}
.uk-section.brands .uk-slider,
.uk-section.brands .uk-slider-container,
.uk-section.brands .pr-brands-strip {
  overflow: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  position: relative !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent);
  mask-image: linear-gradient(90deg, transparent 0, #000 28px, #000 calc(100% - 28px), transparent);
}
.uk-section.brands .uk-slider-items,
.uk-section.brands .uk-slider-items.pr-brands-marquee {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 6px 20px 14px !important;
  gap: 14px !important;
  overflow: visible !important;
  will-change: transform;
  cursor: grab;
  animation: pr-brands-marquee 40s linear infinite;
}
.uk-section.brands .uk-slider-items:active,
.uk-section.brands .uk-slider-items.is-paused,
.uk-section.brands .pr-brands-strip:hover .uk-slider-items {
  animation-play-state: paused;
  cursor: grabbing;
}
.uk-section.brands .uk-slider-items > li,
.uk-section.brands .uk-slider-items > * {
  width: 168px !important;
  max-width: 168px !important;
  min-width: 168px !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  padding: 18px 16px !important;
  margin: 0 !important;
  background: #fff;
  border: 1px solid var(--pr-border, #e7e8ec);
  border-radius: 14px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 88px;
  box-shadow: 0 6px 18px rgba(23, 26, 34, 0.06);
  visibility: visible !important;
  opacity: 1 !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.uk-section.brands .uk-slider-items > li:hover {
  border-color: rgba(255, 53, 70, 0.35);
  box-shadow: 0 10px 24px rgba(23, 26, 34, 0.1);
}
.uk-section.brands .uk-slider-items img {
  max-width: 100% !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  display: block !important;
  margin: 0 auto;
  pointer-events: none;
}
.uk-section.brands .uk-dotnav,
.uk-section.brands .uk-slidenav,
.uk-section.brands [uk-slidenav-previous],
.uk-section.brands [uk-slidenav-next],
.uk-section.brands [data-uk-slidenav-previous],
.uk-section.brands [data-uk-slidenav-next] {
  display: none !important;
}
.uk-section.brands a {
  border-bottom: none !important;
  background-image: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .uk-section.brands .uk-slider-items,
  .uk-section.brands .uk-slider-items.pr-brands-marquee {
    animation: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .uk-section.brands .uk-slider,
  .uk-section.brands .pr-brands-strip {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 959px) {
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div:has(> img),
  .pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > div:has(> img) {
    min-height: 180px;
    padding: 16px !important;
    margin-bottom: 14px !important;
  }
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div:has(> img) img {
    max-height: 200px !important;
  }
  /* §31 display:flex !important перебивает uk-visible@s → на мобиле
     показывались ОБА фото (uk-hidden@s + uk-visible@s) в блоке эвакуатора */
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div.uk-visible\@s:has(> img),
  .pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > div.uk-visible\@s:has(> img),
  .pr-legacy-content .uk-section.truck .uk-visible\@s:has(> img) {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
  }
}

@media (min-width: 640px) {
  .pr-legacy-content .uk-child-width-1-2\@m.uk-grid > div.uk-hidden\@s:has(> img),
  .pr-legacy-content [class*="uk-child-width-1-2"].uk-grid > div.uk-hidden\@s:has(> img),
  .pr-legacy-content .uk-section.truck .uk-hidden\@s:has(> img) {
    display: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
  }
}


/* ============================================================
   PRORACING — §29 PERFORMANCE PATCH (v22)
   Куда: в конец theme.custom.css. Дизайн НЕ меняется.
   Главный тормоз: background-attachment: fixed на body —
   4 слоя (шум + 2 градиента + цвет) перерисовывались при
   КАЖДОМ кадре скролла на desktop. Переносим атмосферу на
   фиксированный псевдоэлемент: выглядит идентично, рисуется
   один раз, скролл больше не перерисовывает фон.
   ============================================================ */
body {
  background: var(--pr-bg-page, #f4f5f7) !important; /* плоский, дёшево */
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E") repeat,
    radial-gradient(1200px 420px at 78% -160px, rgba(255, 53, 70, 0.035), transparent 60%),
    var(--pr-bg-page, #f4f5f7);
}
/* На мобиле атмосферный слой не нужен вовсе (и так был scroll) */
@media (max-width: 959px) {
  body::before { display: none; }
}
/* Маячок PR-M, если остался в custom при слияниях — погасить */
body::after { content: none !important; display: none !important; }
