/* ============================================================
   iFLOW — блок «Ранее вы смотрели» (v1, 2026-08-12)

   Блок стоит внизу всех страниц и до сих пор выглядел чужим: серая подложка,
   белые карточки без рамок и теней, подписи вплотную. Приводим к тому же виду,
   что каталог и услуги: светлая карточка, мягкая тень, подъём при наведении,
   спокойное появление.

   Разметку не трогаем — только оформление. Откат: снять подключение
   iflow_viewed.css в iflow_seo.php.
   ============================================================ */

.viewed_product_block {
  --ivw-navy: #0f2340;
  --ivw-blue: #1457c8;
  --ivw-blue-2: #365edc;
  --ivw-line: #e3ecf8;
  --ivw-muted: #66788f;
  --ivw-ease: cubic-bezier(.22, .61, .36, 1);

  background: linear-gradient(180deg, #f7fafd, #eef4fb) !important;
  border-top: 1px solid var(--ivw-line);
  padding: 30px 0 34px !important;
}

/* заголовок — как у остальных блоков сайта */
.viewed_product_block .viewed-wrapper > h3 {
  margin: 0 0 18px !important;
  color: var(--ivw-navy) !important;
  font-size: 22px !important;
  font-weight: 700;
  letter-spacing: -.2px;
  position: relative;
  padding-left: 14px;
}
.viewed_product_block .viewed-wrapper > h3::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 4px; height: 20px;
  margin-top: -10px;
  border-radius: 3px;
  background: linear-gradient(180deg, var(--ivw-blue-2), var(--ivw-blue));
}

/* карточка товара */
.viewed_product_block .item_block,
.viewed_product_block .catalog_item {
  border: 1px solid var(--ivw-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden;
  box-shadow: 0 2px 8px -6px rgba(15, 35, 64, .3) !important;
  transition: transform .2s var(--ivw-ease), box-shadow .2s var(--ivw-ease),
              border-color .2s var(--ivw-ease);
}
.viewed_product_block .item_block:hover,
.viewed_product_block .catalog_item:hover {
  transform: translateY(-3px);
  border-color: #bcd3f4 !important;
  box-shadow: 0 16px 28px -18px rgba(15, 35, 64, .45) !important;
}

/* картинка: одинаковое поле, товар вписывается целиком */
.viewed_product_block .image,
.viewed_product_block .image_block {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: #fbfcfe;
  border-radius: 10px;
}
.viewed_product_block .image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform .3s var(--ivw-ease);
}
.viewed_product_block .item_block:hover .image img { transform: scale(1.05); }

/* название и цена */
.viewed_product_block .item-title a,
.viewed_product_block .title a {
  color: var(--ivw-navy) !important;
  font-size: 13.5px;
  line-height: 1.4;
  transition: color .18s var(--ivw-ease);
}
.viewed_product_block .item_block:hover .item-title a,
.viewed_product_block .item_block:hover .title a { color: var(--ivw-blue) !important; }
.viewed_product_block .price,
.viewed_product_block .cost {
  color: var(--ivw-muted) !important;
  font-weight: 600 !important;
  font-size: 13px;
}

/* стрелки карусели — круглые кнопки в тон сайту */
.viewed_product_block .owl-nav button,
.viewed_product_block .owl-prev,
.viewed_product_block .owl-next {
  width: 38px !important;
  height: 38px !important;
  border: 1px solid var(--ivw-line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 4px 12px -6px rgba(15, 35, 64, .4) !important;
  transition: background .2s var(--ivw-ease), border-color .2s var(--ivw-ease), transform .2s var(--ivw-ease);
}
.viewed_product_block .owl-nav button:hover,
.viewed_product_block .owl-prev:hover,
.viewed_product_block .owl-next:hover {
  background: linear-gradient(135deg, var(--ivw-blue-2), var(--ivw-blue)) !important;
  border-color: transparent !important;
  transform: scale(1.06);
}
.viewed_product_block .owl-nav button:hover svg path,
.viewed_product_block .owl-prev:hover svg path,
.viewed_product_block .owl-next:hover svg path { fill: #fff !important; }

/* карточки проявляются лесенкой, когда блок попадает в поле зрения */
@media (prefers-reduced-motion: no-preference) {
  .viewed_product_block .owl-item { animation: ivw-in .45s var(--ivw-ease) backwards; }
  .viewed_product_block .owl-item:nth-child(1) { animation-delay: .03s; }
  .viewed_product_block .owl-item:nth-child(2) { animation-delay: .08s; }
  .viewed_product_block .owl-item:nth-child(3) { animation-delay: .13s; }
  .viewed_product_block .owl-item:nth-child(4) { animation-delay: .18s; }
  .viewed_product_block .owl-item:nth-child(n+5) { animation-delay: .23s; }
  @keyframes ivw-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

@media (max-width: 767px) {
  .viewed_product_block { padding: 22px 0 26px !important; }
  .viewed_product_block .viewed-wrapper > h3 { font-size: 18px !important; }
}


/* ---------- настоящая разметка карточек этого блока ----------
   Aspro рисует их не как товары каталога, а своим компактным блоком:
   .block-item > .item_wrap > .block-item__inner > .block-item__image
   Поэтому оформление вешаем на эти классы. */
.viewed_product_block .block-item {
  border: 1px solid var(--ivw-line) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 2px 8px -6px rgba(15, 35, 64, .3) !important;
  transition: transform .2s var(--ivw-ease), box-shadow .2s var(--ivw-ease),
              border-color .2s var(--ivw-ease);
}
.viewed_product_block .block-item:hover {
  transform: translateY(-3px);
  border-color: #bcd3f4 !important;
  box-shadow: 0 16px 28px -18px rgba(15, 35, 64, .45) !important;
}
.viewed_product_block .block-item__image {
  border-radius: 10px;
  background: #fbfcfe;
  overflow: hidden;
}
.viewed_product_block .block-item__image img {
  object-fit: contain;
  transition: transform .3s var(--ivw-ease);
}
.viewed_product_block .block-item:hover .block-item__image img { transform: scale(1.06); }
.viewed_product_block .block-item .item-title a,
.viewed_product_block .block-item .title a {
  color: var(--ivw-navy) !important;
  transition: color .18s var(--ivw-ease);
}
.viewed_product_block .block-item:hover .item-title a,
.viewed_product_block .block-item:hover .title a { color: var(--ivw-blue) !important; }


/* ============================================================
   iFLOW — «Ранее вы смотрели», v2 (2026-08-12)

   Разбор ряда карточек. Разметку сверил по шаблону Aspro:
   .block-item > .block-item__wrapper > .block-item__inner >
   .block-item__image > a.thumb.shine > img.lazy — внутри поля
   картинки только ссылка с картинкой, ни спиннера, ни абсолютных
   наложений, ни кнопки быстрого просмотра. Поэтому центрировать
   содержимое поля безопасно.
   ============================================================ */

/* ---------- поле картинки ---------- */
/* Картинки приходят из resize_cache 110_110_1 с разными пропорциями: высокие
   упирались в край плашки и им срезало углы, низкие (41px) висели посреди
   пустого поля. Ряд читался рваным — это и есть тот «разнобой размеров»,
   который видно первым. Центрирование держалось на унаследованном line-height
   и промахивалось на 1,5–3px. Габарит 90×90 у Aspro задан по border-box,
   поэтому внутреннее поле его не меняет и ширину .owl-item пересчитывать не
   нужно. Ограничения max-width/max-height картинке уже задают и Aspro,
   и правило выше по файлу — здесь не повторяем. */
.viewed_product_block .block-item__image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  line-height: 0;
}
.viewed_product_block .block-item__image .thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* ---------- название ---------- */
/* height:53px при строке 19,2px = 2,76 строки: текст обрывался ровно посреди
   третьей строки, у букв срезало нижнюю половину, многоточия не было — и так
   во всех восьми карточках. Отдаём три полные строки с многоточием. Высоту
   карточки держит не заголовок, а плашка картинки (14+90+14=120px):
   три строки (58px) плюс статус (22px) укладываются в те же 90px. */
.viewed_product_block .viewed-wrapper .block-item__title {
  height: auto;
  max-height: none;
  overflow: visible;
}
.viewed_product_block .block-item__title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}

/* ---------- цвет названия ---------- */
/* Правила выше по файлу написаны на .item-title и .title — таких классов в
   разметке этого блока нет, поэтому самый заметный текст блока так и остался
   чужим серым, третьим оттенком рядом с заголовком и статусом. Aspro красит
   именно вложенный span, поэтому он в селекторе. */
.viewed_product_block .block-item__title a,
.viewed_product_block .block-item__title a span {
  color: var(--ivw-navy);
  transition: color .18s var(--ivw-ease);
}
.viewed_product_block .block-item:hover .block-item__title a,
.viewed_product_block .block-item:hover .block-item__title a span { color: var(--ivw-blue); }

/* ---------- «Под заказ» ---------- */
/* Это состояние, а не цена, но набрано оно как цена и почти той же кеглей,
   что название: восемь одинаковых серых строк подряд спорили с названиями.
   Делаем тихую плашку-статус. Собственный отступ не добавляем — Aspro уже
   даёт .price.only_price margin-top:8px, и лишние миллиметры вывели бы
   содержимое за 90px, которые держит картинка.
   !important — перебиваем собственное правило .viewed_product_block .price
   выше по файлу, оно объявлено с !important. */
.viewed_product_block .block-item__cost .price.only_price {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 8px;
  background: #e9f0fa;
  color: var(--ivw-blue) !important;
  font-size: 11.5px !important;
  line-height: 18px;
}

/* ---------- скругление карточки ---------- */
/* Белая подложка .block-item__wrapper с прямыми углами занимает всю внутреннюю
   площадь и рисуется поверх рамки родителя — дуга скругления забивалась,
   и по углам карточки читались четыре надлома. На светло-голубой подложке
   блока это заметно. Тень рисуется снаружи box и обрезкой не задевается. */
.viewed_product_block .block-item { overflow: hidden; }
.viewed_product_block .block-item__wrapper { border-radius: 13px; }  /* 14px минус 1px рамки */

/* ---------- стрелки перелистывания ---------- */
/* .owl-nav у Aspro растянут left:-25px / right:-25px, и кнопки ложились поверх
   первой и последней карточек, накрывая их новую рамку и тень, а справа
   уходили почти в край экрана (на резиновых ширинах — 5px до края).
   Уводим пару в строку заголовка, вправо. position:absolute и display:flex
   у .owl-nav — родные, их не трогаем: меняем только смещения и ширину.
   Ниже 768px кнопки у Aspro скрыты, поэтому правка закрыта медиазапросом. */
@media (min-width: 768px) {
  .viewed_product_block .block-items .owl-nav {
    top: -45px;
    left: auto;
    right: 7px;   /* по правому краю карточек: у .owl-stage-outer поле 7px */
    width: auto;
    gap: 8px;     /* при auto-ширине родной space-between кнопки уже не разводит */
  }
}
/* Шеврон 40×40 внутри кнопки 38×38, да ещё повёрнутый на 90°, стоял не по
   центру: в левой кнопке смещён на 3,5px, в правой на 1,5px — кнопки
   перестали быть зеркальными. Центрируем содержимое самой кнопки, размер
   значка не трогаем, чтобы не сдвинуть центр вращения. */
.viewed_product_block .owl-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* ---------- остатки чужого серого ---------- */
/* Верхнюю границу блока мы перекрасили, нижняя осталась серой — на светлом
   градиенте две линии одного блока разного оттенка видно на глаз. Тем же
   серым живёт и сам значок стрелки: фирменный цвет появлялся только при
   наведении. Заливка кнопки при наведении объявлена выше и продолжит
   перекрывать это правило.
   Оговорка: в footer.php есть инлайновое правило
   «footer .viewed_product_block{border-bottom:2px solid ... !important}».
   Пока блок выводится вне тега <footer> (замеры это подтверждают), оно не
   срабатывает; если блок когда-нибудь переедет внутрь футера, наша линия
   станет пустышкой — вреда не будет, но искать причину надо будет там. */
.viewed_product_block { border-bottom: 1px solid var(--ivw-line); }
.viewed_product_block .owl-nav button svg path,
.viewed_product_block .owl-prev svg path,
.viewed_product_block .owl-next svg path { fill: var(--ivw-navy); }

/* ---------- меньше движения ---------- */
/* В файле есть только ветка no-preference для появления карточек. Тем, кто
   отключил анимации в системе, до сих пор двигались карточка и картинка. */
@media (prefers-reduced-motion: reduce) {
  .viewed_product_block .block-item,
  .viewed_product_block .block-item__image img,
  .viewed_product_block .block-item__title a,
  .viewed_product_block .block-item__title a span,
  .viewed_product_block .owl-nav button { transition: none; }
  .viewed_product_block .block-item:hover { transform: none; }
  .viewed_product_block .block-item:hover .block-item__image img { transform: none; }
}


/* ============================================================
   iFLOW — «Ранее вы смотрели», v5 (2026-08-12)

   Владелец прислал снимок: кнопка перелистывания легла на заголовок.
   Причина — .owl-nav у темы растянут во всю ширину (left:-25px/right:-25px)
   и разведён justify-content:space-between, поэтому «назад» уезжает
   к самому началу строки, ровно на слово «Ранее». Правки в прошлой
   версии этого не сняли: у темы селектор весит больше.

   Здесь пара кнопок жёстко ставится в правый конец строки заголовка,
   а заголовку отводится поле под них — наложиться теперь нечем.

   Сами кнопки собраны из фигур логотипа: шестигранник и треугольник
   внутри, две фирменные синие (#1258b1 и #719bd0 — взяты пипеткой
   с самого знака).
   ============================================================ */

.viewed_product_block {
  --ivw-logo-dark: #1258b1;
  --ivw-logo-light: #719bd0;
}

/* ---------- место под кнопки в строке заголовка ---------- */
/* Заголовок занимал всю ширину, кнопки лежали поверх его правого края. */
.viewed_product_block .viewed-wrapper > h3 { padding-right: 108px; }

/* ---------- пара кнопок ---------- */
/* !important — тема задаёт смещения правилом .owl-carousel .owl-nav,
   которое перебивает обычный селектор. */
@media (min-width: 768px) {
  .viewed_product_block .block-items .owl-nav {
    left: auto !important;
    right: 0 !important;
    top: -52px !important;
    width: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 10px;
    pointer-events: none;   /* сама полоса кликов не ловит — только кнопки */
  }
  .viewed_product_block .block-items .owl-nav button { pointer-events: auto; }
}

/* ---------- кнопка: грань логотипа ---------- */
.viewed_product_block .owl-nav button,
.viewed_product_block .owl-prev,
.viewed_product_block .owl-next {
  position: relative;
  width: 42px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, var(--ivw-logo-light), var(--ivw-logo-dark)) !important;
  box-shadow: none !important;
  /* шестигранник знака: острия сверху и снизу, боковые грани прямые */
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  transition: filter .18s var(--ivw-ease), transform .18s var(--ivw-ease);
}
.viewed_product_block .owl-nav button:hover,
.viewed_product_block .owl-prev:hover,
.viewed_product_block .owl-next:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--ivw-logo-light), var(--ivw-logo-dark)) !important;
}
.viewed_product_block .owl-nav button:active { transform: translateY(0) scale(.96); }
.viewed_product_block .owl-nav button.disabled,
.viewed_product_block .owl-nav button[class*="disabled"] {
  opacity: .35;
  pointer-events: none;
}

/* родной шеврон убираем — вместо него треугольник из знака */
.viewed_product_block .owl-nav button svg,
.viewed_product_block .owl-prev svg,
.viewed_product_block .owl-next svg { display: none !important; }

.viewed_product_block .owl-nav button::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 11px; height: 13px;
  margin: -6.5px 0 0 -5.5px;
  background: #fff;
}
.viewed_product_block .owl-prev::before  { clip-path: polygon(100% 0%, 100% 100%, 0% 50%); }
.viewed_product_block .owl-next::before  { clip-path: polygon(0% 0%, 0% 100%, 100% 50%); }

.viewed_product_block .owl-nav button:focus-visible {
  outline: 2px solid var(--ivw-logo-dark);
  outline-offset: 3px;
}

/* ---------- «Под заказ» в этом блоке не нужен ---------- */
/* Восемь одинаковых плашек подряд ничего не сообщают: цена не публикуется,
   и статус у всех товаров один. Освободившееся место отдаём названию —
   оно здесь единственное, ради чего в блок смотрят. */
.viewed_product_block .block-item__cost { display: none !important; }
.viewed_product_block .viewed-wrapper .block-item__title a { -webkit-line-clamp: 4; }

@media (max-width: 767px) {
  .viewed_product_block .viewed-wrapper > h3 { padding-right: 0; }
}


/* ============================================================
   iFLOW — «Ранее вы смотрели», v6 (2026-08-12)

   Форму владелец одобрил, цвет — нет: синие знака (#1258b1/#719bd0)
   заметно глуше того синего, которым на сайте набраны кнопки и ссылки
   (#365edc). Рядом с кнопкой «Оставить заявку» грань логотипа читалась
   выцветшей.

   Берём фирменный синий сайта и раскладываем шестигранник на шесть
   треугольных граней, как в самом знаке: границы секторов сведены с
   вершинами, между ними светлый шов. Стрелка — белый треугольник,
   седьмая фигура той же геометрии.
   ============================================================ */

.viewed_product_block {
  --ivw-face-1: #4f77e6;   /* светлая грань */
  --ivw-face-2: #2f57d8;   /* средняя */
  --ivw-face-3: #1d43bd;   /* тёмная */
  --ivw-seam: rgba(255, 255, 255, .22);
}

.viewed_product_block .owl-nav button,
.viewed_product_block .owl-prev,
.viewed_product_block .owl-next {
  width: 44px !important;
  height: 48px !important;
  /* шесть граней от центра; швы (по 1,5°) приходятся на вершины шестиугольника */
  background:
    conic-gradient(from -30deg,
      var(--ivw-face-1)  0deg   58.5deg,
      var(--ivw-seam)   58.5deg 61.5deg,
      var(--ivw-face-2) 61.5deg 118.5deg,
      var(--ivw-seam)  118.5deg 121.5deg,
      var(--ivw-face-3) 121.5deg 178.5deg,
      var(--ivw-seam)  178.5deg 181.5deg,
      var(--ivw-face-2) 181.5deg 238.5deg,
      var(--ivw-seam)  238.5deg 241.5deg,
      var(--ivw-face-1) 241.5deg 298.5deg,
      var(--ivw-seam)  298.5deg 301.5deg,
      var(--ivw-face-2) 301.5deg 358.5deg,
      var(--ivw-seam)  358.5deg 360deg) !important;
  filter: drop-shadow(0 6px 12px rgba(29, 67, 189, .28));
  transition: transform .18s var(--ivw-ease), filter .18s var(--ivw-ease);
}
.viewed_product_block .owl-nav button:hover,
.viewed_product_block .owl-prev:hover,
.viewed_product_block .owl-next:hover {
  transform: translateY(-2px) scale(1.04);
  filter: drop-shadow(0 10px 16px rgba(29, 67, 189, .42)) brightness(1.06);
}

/* стрелка — тот же треугольник, что и грани, только белый и крупнее */
.viewed_product_block .owl-nav button::before {
  width: 12px;
  height: 14px;
  margin: -7px 0 0 -6px;
}

@media (prefers-reduced-motion: reduce) {
  .viewed_product_block .owl-nav button:hover { transform: none; }
}


/* ============================================================
   iFLOW — «Ранее вы смотрели», v7 (2026-08-12)

   Грани из conic-gradient у центра рассыпались на «битые пиксели»:
   браузер сглаживает угловые границы по-разному в каждом кадре, и на
   44 пикселях швы шли лесенкой. Рисуем ту же фигуру вектором — шесть
   треугольников, как в знаке, и стрелка седьмым. У SVG края чистые
   на любом экране и при любом масштабе.

   Отклик на нажатие: кнопка проседает и грани на миг светлеют.
   ============================================================ */

.viewed_product_block .owl-nav button,
.viewed_product_block .owl-prev,
.viewed_product_block .owl-next {
  width: 44px !important;
  height: 48px !important;
  clip-path: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 44px 48px !important;
  filter: drop-shadow(0 5px 10px rgba(29, 67, 189, .3));
  transition: transform .16s var(--ivw-ease), filter .16s var(--ivw-ease);
}
.viewed_product_block .owl-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 48%22 width=%2244%22 height=%2248%22%3E%3Cpolygon points=%2222.0,24.0 22,0 44,12%22 fill=%22%235b81e8%22/%3E%3Cpolygon points=%2222.0,24.0 44,12 44,36%22 fill=%22%233a63de%22/%3E%3Cpolygon points=%2222.0,24.0 44,36 22,48%22 fill=%22%232450cf%22/%3E%3Cpolygon points=%2222.0,24.0 22,48 0,36%22 fill=%22%231d43bd%22/%3E%3Cpolygon points=%2222.0,24.0 0,36 0,12%22 fill=%22%232c58d6%22/%3E%3Cpolygon points=%2222.0,24.0 0,12 22,0%22 fill=%22%234a72e3%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2222%22 y2=%220%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2244%22 y2=%2212%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2244%22 y2=%2236%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2222%22 y2=%2248%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%220%22 y2=%2236%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%220%22 y2=%2212%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cpolygon points=%2225.5,17 25.5,31 16,24%22 fill=%22%23fff%22/%3E%3C/svg%3E") !important; }
.viewed_product_block .owl-next { background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 48%22 width=%2244%22 height=%2248%22%3E%3Cpolygon points=%2222.0,24.0 22,0 44,12%22 fill=%22%235b81e8%22/%3E%3Cpolygon points=%2222.0,24.0 44,12 44,36%22 fill=%22%233a63de%22/%3E%3Cpolygon points=%2222.0,24.0 44,36 22,48%22 fill=%22%232450cf%22/%3E%3Cpolygon points=%2222.0,24.0 22,48 0,36%22 fill=%22%231d43bd%22/%3E%3Cpolygon points=%2222.0,24.0 0,36 0,12%22 fill=%22%232c58d6%22/%3E%3Cpolygon points=%2222.0,24.0 0,12 22,0%22 fill=%22%234a72e3%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2222%22 y2=%220%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2244%22 y2=%2212%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2244%22 y2=%2236%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%2222%22 y2=%2248%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%220%22 y2=%2236%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cline x1=%2222.0%22 y1=%2224.0%22 x2=%220%22 y2=%2212%22 stroke=%22%23ffffff%22 stroke-opacity=%22.28%22 stroke-width=%221%22/%3E%3Cpolygon points=%2218.5,17 18.5,31 28,24%22 fill=%22%23fff%22/%3E%3C/svg%3E") !important; }

/* белый треугольник теперь внутри самой картинки */
.viewed_product_block .owl-nav button::before { content: none !important; }

.viewed_product_block .owl-nav button:hover,
.viewed_product_block .owl-prev:hover,
.viewed_product_block .owl-next:hover {
  transform: translateY(-2px) scale(1.05);
  filter: drop-shadow(0 9px 15px rgba(29, 67, 189, .45)) brightness(1.07);
}
.viewed_product_block .owl-nav button:active,
.viewed_product_block .owl-prev:active,
.viewed_product_block .owl-next:active {
  transform: translateY(0) scale(.94);
  filter: drop-shadow(0 3px 6px rgba(29, 67, 189, .35)) brightness(1.12);
  transition-duration: .07s;
}

@media (prefers-reduced-motion: reduce) {
  .viewed_product_block .owl-nav button:hover,
  .viewed_product_block .owl-nav button:active { transform: none; }
}


/* ============================================================
   iFLOW — «Ранее вы смотрели», v8 (2026-08-12)

   На экране владельца стрелки выглядели синими квадратами с крестом.
   Причина: в v7 адрес картинки был записан процент-кодированием, браузер
   не разобрал строку и отбросил объявление целиком — осталась заливка
   conic-gradient из v6, а шестигранник (clip-path) v7 уже снял. Отсюда
   квадрат, швы крестом и ни одной стрелки.

   Теперь картинка в base64: в такой строке нет ни кавычек, ни скобок,
   ни решёток — разобрать нечего. Заодно глушим всё, что осталось от
   предыдущих подходов, чтобы под картинкой ничего не проступало.
   ============================================================ */

.viewed_product_block .owl-nav button,
.viewed_product_block .owl-prev,
.viewed_product_block .owl-next {
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 44px 48px !important;
  border: 0 !important;
  box-shadow: none !important;
  clip-path: none !important;
  width: 44px !important;
  height: 48px !important;
}
.viewed_product_block .owl-nav button.owl-prev,
.viewed_product_block .owl-prev {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0OCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ4Ij48cG9seWdvbiBwb2ludHM9IjIyLDI0IDIyLDAgNDQsMTIiIGZpbGw9IiM1YjgxZTgiLz48cG9seWdvbiBwb2ludHM9IjIyLDI0IDQ0LDEyIDQ0LDM2IiBmaWxsPSIjM2E2M2RlIi8+PHBvbHlnb24gcG9pbnRzPSIyMiwyNCA0NCwzNiAyMiw0OCIgZmlsbD0iIzI0NTBjZiIvPjxwb2x5Z29uIHBvaW50cz0iMjIsMjQgMjIsNDggMCwzNiIgZmlsbD0iIzFkNDNiZCIvPjxwb2x5Z29uIHBvaW50cz0iMjIsMjQgMCwzNiAwLDEyIiBmaWxsPSIjMmM1OGQ2Ii8+PHBvbHlnb24gcG9pbnRzPSIyMiwyNCAwLDEyIDIyLDAiIGZpbGw9IiM0YTcyZTMiLz48bGluZSB4MT0iMjIiIHkxPSIyNCIgeDI9IjIyIiB5Mj0iMCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjIyIiBzdHJva2Utd2lkdGg9Ii44Ii8+PGxpbmUgeDE9IjIyIiB5MT0iMjQiIHgyPSI0NCIgeTI9IjEyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuMjIiIHN0cm9rZS13aWR0aD0iLjgiLz48bGluZSB4MT0iMjIiIHkxPSIyNCIgeDI9IjQ0IiB5Mj0iMzYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIuOCIvPjxsaW5lIHgxPSIyMiIgeTE9IjI0IiB4Mj0iMjIiIHkyPSI0OCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjIyIiBzdHJva2Utd2lkdGg9Ii44Ii8+PGxpbmUgeDE9IjIyIiB5MT0iMjQiIHgyPSIwIiB5Mj0iMzYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIuOCIvPjxsaW5lIHgxPSIyMiIgeTE9IjI0IiB4Mj0iMCIgeTI9IjEyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuMjIiIHN0cm9rZS13aWR0aD0iLjgiLz48cG9seWdvbiBwb2ludHM9IjI2LDE2IDI2LDMyIDE1LjUsMjQiIGZpbGw9IiNmZmYiLz48L3N2Zz4=") !important;
}
.viewed_product_block .owl-nav button.owl-next,
.viewed_product_block .owl-next {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NCA0OCIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ4Ij48cG9seWdvbiBwb2ludHM9IjIyLDI0IDIyLDAgNDQsMTIiIGZpbGw9IiM1YjgxZTgiLz48cG9seWdvbiBwb2ludHM9IjIyLDI0IDQ0LDEyIDQ0LDM2IiBmaWxsPSIjM2E2M2RlIi8+PHBvbHlnb24gcG9pbnRzPSIyMiwyNCA0NCwzNiAyMiw0OCIgZmlsbD0iIzI0NTBjZiIvPjxwb2x5Z29uIHBvaW50cz0iMjIsMjQgMjIsNDggMCwzNiIgZmlsbD0iIzFkNDNiZCIvPjxwb2x5Z29uIHBvaW50cz0iMjIsMjQgMCwzNiAwLDEyIiBmaWxsPSIjMmM1OGQ2Ii8+PHBvbHlnb24gcG9pbnRzPSIyMiwyNCAwLDEyIDIyLDAiIGZpbGw9IiM0YTcyZTMiLz48bGluZSB4MT0iMjIiIHkxPSIyNCIgeDI9IjIyIiB5Mj0iMCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjIyIiBzdHJva2Utd2lkdGg9Ii44Ii8+PGxpbmUgeDE9IjIyIiB5MT0iMjQiIHgyPSI0NCIgeTI9IjEyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuMjIiIHN0cm9rZS13aWR0aD0iLjgiLz48bGluZSB4MT0iMjIiIHkxPSIyNCIgeDI9IjQ0IiB5Mj0iMzYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIuOCIvPjxsaW5lIHgxPSIyMiIgeTE9IjI0IiB4Mj0iMjIiIHkyPSI0OCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iLjIyIiBzdHJva2Utd2lkdGg9Ii44Ii8+PGxpbmUgeDE9IjIyIiB5MT0iMjQiIHgyPSIwIiB5Mj0iMzYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9Ii4yMiIgc3Ryb2tlLXdpZHRoPSIuOCIvPjxsaW5lIHgxPSIyMiIgeTE9IjI0IiB4Mj0iMCIgeTI9IjEyIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIuMjIiIHN0cm9rZS13aWR0aD0iLjgiLz48cG9seWdvbiBwb2ludHM9IjE4LDE2IDE4LDMyIDI4LjUsMjQiIGZpbGw9IiNmZmYiLz48L3N2Zz4=") !important;
}
.viewed_product_block .owl-nav button::before,
.viewed_product_block .owl-nav button::after { content: none !important; }
/* ============================================================
   iFLOW — «Ранее вы смотрели», v9 (2026-08-12)

   Раздел v8 (SVG-шестигранники) не трогаем: проверено, что с ним
   больше ничто не спорит — conic-gradient из v6 и clip-path из v5
   перебиты, а объявления background у :hover из v1 и v5 имеют тот же
   вес (0,3,1), что и background-image из v8, и проигрывают ему по
   порядку.

   Всё ниже выведено из кода темы:
   разметка блока — components/aspro/catalog.viewed.max/templates/
   main_horizontal/template.php и script.js;
   карусель — vendor/css/carousel/owl/owl.carousel.css.

   При установке поднять версию в
   /home/bitrix/www/local/php_interface/include/iflow_seo.php:
   iflow_viewed.css?v=8 → ?v=9.
   ============================================================ */


/* ---------- 1. Стрелки не должны висеть, когда листать нечего ---------- */
/* owl сам помечает панель: Navigation.prototype.draw вешает на .owl-nav
   класс disabled, как только items().length <= settings.items, а
   owl.carousel.css:52 такой блок прячет:
   «.owl-carousel .owl-nav.disabled{display:none}».
   Наше правило из v5 (строка 366) «.viewed_product_block .block-items
   .owl-nav{display:flex !important}» это перебивает.
   По data-plugin-options шаблона порог такой: ≤5 карточек при ширине
   ≥1200, ≤4 при 992–1199, ≤3 при 768–991 (при липком меню на одну
   меньше). В этот же момент обе кнопки получают .disabled и по правилу
   v5 гаснут до opacity .35 — в строке заголовка остаются два мёртвых
   полупрозрачных шестигранника, на которые нельзя нажать.
   !important нужен, чтобы перебить наш же !important из v5:
   вес 0,4,0 против 0,3,0. */
.viewed_product_block .block-items .owl-nav.disabled {
  display: none !important;
}


/* ---------- 2. Нативная подсказка на картинке карточки ---------- */
/* Внутренности карточки собирает script.js темы, строка 63:
   <img … alt="…" title="ПОЛНОЕ НАЗВАНИЕ">. При наведении браузер рисует
   свою подсказку поверх соседних карточек — тот самый артефакт, на
   который владелец уже дважды указывал в умном фильтре.
   Атрибут из CSS не убрать, но можно убрать цель наведения: ссылка
   a.thumb растянута на всё поле картинки (v2, строка 205, задал ей
   width/height:100%), поэтому курсор попадёт на неё — ссылка работает,
   подсказки нет. Увеличение картинки не страдает: оно висит на
   .block-item:hover, а не на самой картинке. */
.viewed_product_block .block-item__image img {
  pointer-events: none;
}


/* ---------- 3. Тень стрелки ложится на карточки ---------- */
/* Панель кнопок стоит на top:-52px (v5, строка 361) при высоте кнопки
   48px (v7, строка 514) — низ кнопки всего в нескольких пикселях над
   рядом карточек. А тень покоя из v7 drop-shadow(0 5px 10px) уходит
   вниз на 15px, при наведении drop-shadow(0 9px 15px) при alpha .45 —
   на 24px: синяя дымка постоянно лежит на белой карточке.
   Укладываем тень в зазор, сам отклик сохраняем: при наведении тень
   растёт и знак чуть светлеет, при нажатии тень поджимается.
   !important не нужен — селекторы те же, что в v7, а мы ниже по файлу. */
.viewed_product_block .owl-nav button {
  filter: drop-shadow(0 2px 5px rgba(29, 67, 189, .26));
}
.viewed_product_block .owl-nav button:hover {
  filter: drop-shadow(0 3px 7px rgba(29, 67, 189, .40)) brightness(1.06);
}
.viewed_product_block .owl-nav button:active {
  filter: drop-shadow(0 1px 3px rgba(29, 67, 189, .32)) brightness(1.12);
}


/* ---------- 4. Кольцо фокуса осталось в отклонённом цвете ---------- */
/* В v5 (строка 419) кольцо задано var(--ivw-logo-dark) = #1258b1.
   В шапке v6 записано, что этот синий владелец отклонил как глухой, и
   грани с тех пор перекрашены в фирменный — кольцо фокуса единственное
   место, где старый цвет уцелел. Берём кнопочный #365edc.
   Отступ уменьшаем с 3px до 2px: между кнопками 10px (v5, строка 365),
   и при offset:3px кольца соседних кнопок (3+2 с каждой стороны)
   смыкаются в одну полосу. */
.viewed_product_block .owl-nav button:focus-visible {
  outline: 2px solid #365edc;
  outline-offset: 2px;
}


/* ---------- 5. Пустая карточка-заглушка ---------- */
/* В шаблоне (template.php:22–31) карточка без товара выводится как
   <div class="block-item bordered rounded3"><div class="item_wrap item
   block-item__wrapper"></div></div> — без класса has-item. Такую же
   пустышку дописывает script.js (строка 38 и 44) на каждый лишний ключ
   куки, а у пропавшего товара снимает has-item и удаляет внутренности
   (строка 105). Оболочка при этом остаётся и по правилам из v1 (строки
   146–158) рисуется как белая карточка с рамкой #e3ecf8, скруглением
   14px, тенью и подъёмом при наведении — пустой прямоугольник в ряду.
   Гасим оболочку, но слот в карусели не схлопываем: owl уже посчитал
   ширины, и display:none оставил бы в раскладке дыру.
   !important — перебиваем свои же правила из v1, объявленные с
   !important (вес 0,3,0 и 0,4,0 против 0,2,0 и 0,3,0).
   Если браузер не знает :has(), правило просто отбрасывается и всё
   остаётся как сейчас. */
.viewed_product_block .block-item:not(:has(> .has-item)) {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}
.viewed_product_block .block-item:not(:has(> .has-item)):hover {
  transform: none;
  border-color: transparent !important;
  box-shadow: none !important;
}
/* внутренняя подложка красится темой правилом
   «.viewed_product_block .viewed-wrapper .block-item .item» (вес 0,4,0) —
   отвечаем таким же весом, но ниже по файлу */
.viewed_product_block .viewed-wrapper .block-item__wrapper:not(.has-item) {
  background: transparent;
}


/* ---------- 6. Меньше движения — до конца ---------- */
/* В v2 (строка 322) для reduce объявлено transition:none на
   .owl-nav button, но в v7 (строка 520) ниже по файлу тем же весом
   (0,2,1) снова задан transition для transform и filter — объявление из
   v2 перекрыто, и тень при наведении по-прежнему переезжает за .16s
   (движение самой кнопки v7 гасит отдельно, строка 543).
   Повторяем правило последним, чтобы оно наконец выиграло. */
@media (prefers-reduced-motion: reduce) {
  .viewed_product_block .owl-nav button { transition: none; }
}
