/* Импорт шрифта Roboto */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
/* База */
:root {
  --bg: #fff;
  --text: #111827;
  --blue: #009fed;
  --gap-main: 20px;
  --clr-brand: #009fed;
  --clr-brand-hover: #0085c7;
  --clr-bg-main: #F9FAFB;
  --clr-bg-card: #FFFFFF;
  --clr-text-main: #111827;
  --clr-text-muted: #6B7280;
  --clr-border: #E5E7EB;
  --clr-success: #10B981;
  --font-ui: 'Manrope', sans-serif;
  --font-data: 'Roboto', sans-serif;
  --radius-card: 16px;
  --radius-img: 12px;
  --radius-btn: 8px;
  --shadow-hover: 0 12px 24px -8px rgba(17, 24, 39, 0.15);
  --transition-card: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
* {
  box-sizing: border-box;
}
html,
body {
  height: 100%;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Roboto", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight: 400; /* по ТЗ */
}
.header-actions {
  column-gap: 64px;
}

/* Утилиты */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 1px, 1px);
  white-space: nowrap;
  border: 0;
}

/* Контейнер и общий отступ сверху */
.container {
  padding-left: 240px;
  padding-right: 240px;
}
@media (min-width: 1800px) {
  .container.catalog__container {
    padding-right: 225px;
  }
}
.site-header {
  padding-top: 30px;
}

/* Ряд 1 — верхние ссылки */
.header-top {
}
.header-top__list {
  display: flex;
  gap: 50px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.header-top__list a {
  text-decoration: none;
  color: #000000;
  font-size: 18px;
  font-family: "Roboto", sans-serif;
}

/* Разделитель между рядами (30px) */
.header-main {
  margin-top: 20px;
}

/* Ряд 2 — основная панель (высота 80px) */
.header-main {
  display: grid;
  align-items: center;
  grid-template-columns: auto auto 510px auto auto; /* logo, catalog, search, icons, cta */
  column-gap: var(--gap-main);
  height: 80px; /* по ТЗ */
}

/* Логотип */
.logo {
  display: inline-flex;
  align-items: center;
}
.logo img {
  display: block;
  height: 80px;
}

/* Каталог — 174x60, gap от логотипа 60px */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 60px;
  border: 0;
  background: #fff;
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
  border-radius: 8px;
  font-family: "Roboto", sans-serif;
}
.btn-catalog {
  width: 174px;
  margin-left: 45px;
  display: inline-flex;
  flex-direction: row-reverse; /* иконка после текста */
  justify-content: space-between;
  border: 1px solid #009fed;
  border-radius: 15px;
  padding: 20px;
}

/* Поиск — 460x60 */
.search {
  position: relative;
  height: 60px;
}
.search input {
  width: 460px;
  height: 60px;
  border-radius: 8px;
  border: 1px solid #d1d5db;
  background: #fff;
  padding: 0 16px 0 48px; /* место под иконку */
  font: inherit;
  outline: none;
  font-family: "Roboto", sans-serif;
}
.search .i--search {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
}

/* Пачка иконок — общий gap 20px */
.iconbar {
  display: flex;
  gap: 20px;
}
.iconbtn {
  width: 60px;
  height: 60px;
  border: 0;
  background: #fff; /* белый фон */
  border-radius: 12px; /* скруглённые углы */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.iconbtn .i {
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* CTA — голубая, с левым паддингом 64px */
.btn-cta {
  background: var(--blue);
  color: #fff;
  /* убираем кастомный левый паддинг, чтобы текст центрировался */
  padding: 20px;
  width: 212px;
  border-radius: 8px;
  height: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center; /* центрируем текст */
  text-align: center;
}

/* Иконки как background-image — по заданным путям */
.i {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.i--search {
  background-image: url("/wp-content/themes/newtheme/assets/icons/search.png");
}
.i--group {
  background-image: url("/wp-content/themes/newtheme/assets/icons/Group.png");
}
.i--compare {
  background-image: url("/wp-content/themes/newtheme/assets/icons/compare.png");
}
.i--heart {
  background-image: url("/wp-content/themes/newtheme/assets/icons/heart.png");
}
.i--cart {
  background-image: url("/wp-content/themes/newtheme/assets/icons/cart.png");
}
.i--menu {
  background-image: url("/wp-content/themes/newtheme/assets/icons/menu-filter.png");
}
.i--main {
  background-image: url("/wp-content/themes/newtheme/assets/icons/domik.svg");
}

/* ==== АДАПТИВ ШАПКИ ==== */

/* до 1400 – уменьшаем паддинги контейнера */
@media (max-width: 1400px) {
  .container {
    padding-left: 120px;
    padding-right: 120px;
  }
  .search input {
    width: 360px;
  }
}

/* до 1200 – ещё компактнее */
@media (max-width: 1200px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
  .header-main {
    grid-template-columns: auto auto 1fr auto;
  }
  .search input {
    width: 100%;
  }
  .btn-catalog {
    margin-left: 30px;
  }
}

/* планшеты и мобилки */
@media (max-width: 1024px) {
  .header-top {
    display: none;
  } /* скрываем верхнее меню */
  .btn-catalog,
  .iconbar {
    display: none;
  } /* скрываем каталог, поиск и иконки */

  .header-main {
    grid-template-columns: auto auto;
    height: 64px;
  }
  .logo img {
    height: 48px;
  }
  .btn-cta {
    height: 44px;
    padding: 0 16px;
    font-size: 15px;
  }
}

/* ==== Нижняя навигация на мобилках ==== */
.mobile-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: #fff;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-around;
  align-items: center;
  z-index: 999;
}
.mobile-nav__btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #6b7280;
  font-size: 12px;
}
.mobile-nav__btn .i {
  width: 24px;
  height: 24px;
  margin-bottom: 4px;
}
.mobile-nav__btn.is-active {
  color: var(--blue);
}
.mobile-nav__btn.is-active .i {
  filter: brightness(0) saturate(100%) invert(35%) sepia(93%) saturate(1416%)
    hue-rotate(177deg) brightness(96%) contrast(101%);
}
/* ===== HEADER / Mobile ≤1024 ===== */
@media (max-width: 1024px) {
  /* сетка: логотип + CTA сверху, поиск вторым рядом */
  .header-main {
    display: grid;
    grid-template-areas:
      "logo cta"
      "search search";
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 12px;
    height: auto;
    margin-top: 16px;
    align-items: center;
  }
  .logo {
    grid-area: logo;
  }
  .btn-cta {
    grid-area: cta;
    justify-self: end;
    height: 40px;
    padding: 0 12px;
    font-size: 14px;
    white-space: nowrap;
    border-radius: 10px;
  }

  /* << УБРАТЬ КАТАЛОГ НА МОБИЛКАХ >> */
  .header-main .btn-catalog {
    display: none;
  }
  #megaCatalog {
    display: none;
  }

  /* поиск под логотипом на всю ширину */
  .search {
    grid-area: search;
    width: 100%;
    height: auto;
  }
  .search input {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    padding: 0 16px 0 44px;
    font-size: 16px;
  }
  .search .i--search {
    left: 12px;
  }

  /* верхняя полоска и иконбар вверху не нужны — есть нижняя панель */
  .header-top,
  .iconbar {
    display: none;
  }
}

/* ===== Desktop ≥1025 — тонкая доводка иконок ===== */
@media (min-width: 1025px) {
  .iconbar {
    gap: 20px;
  }
  /* порядок уже задан разметкой: ... group, compare, heart, cart */
}

@media (max-width: 1199px) {
  .header-main {
    display: grid;
    grid-template-areas:
      "logo cta"
      "search search";
    grid-template-columns: 1fr auto;
    row-gap: 12px;
    column-gap: 12px;
    height: auto;
    margin-top: 16px;
    align-items: center;
  }
  .logo {
    grid-area: logo;
  }

  /* CTA «Связаться с нами» справа */
  .btn-cta {
    grid-area: cta;
    justify-self: end;
    height: 40px;
    padding: 0 12px;
    font-size: 14px;
    white-space: nowrap;
    border-radius: 10px;
  }

  /* поиск под логотипом */
  .search {
    grid-area: search;
    width: 100%;
    height: auto;
  }
  .search input {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    padding: 0 16px 0 44px;
    font-size: 16px;
  }
  .search .i--search {
    left: 12px;
  }

  /* прячем каталог на мобилках */
  .btn-catalog,
  #megaCatalog {
    display: none;
  }

  /* верхнее меню и верхние иконки убираем — их дублирует нижняя панель */
  .header-top,
  .iconbar {
    display: none;
  }
}

.search input {
  padding-left: 16px; /* текст слева */
  padding-right: 44px; /* место под лупу справа */
}
.search .i--search {
  left: auto;
  right: 12px; /* ← положение лупы */
  transform: translateY(-50%);
  pointer-events: none;
}
.blog-carousel {
  overflow: hidden;
}
/* Мобилки: уменьшаем вертикальные отступы шапки и hero */
@media (max-width: 1199px) {
  .site-header {
    padding-top: 16px;
  } /* было 30px */
  .search {
    margin-top: 6px;
  } /* если нужно ещё компактнее — 0 */
}

.header-main {
  display: grid;
  column-gap: 20px;
  align-items: center;
  height: 80px;
}
.search input {
  border: 1px solid #009fed;
  border-radius: 15px;
  padding: 20px;
}

/* === MOBILE HEADER: логотип + CTA сверху, поиск на всю ширину снизу === */
@media (max-width: 480px) {
  .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .header-main {
    display: grid;
    grid-template-areas:
      "logo cta"
      "search search";
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 12px;
    height: auto;
    margin-top: 8px;
    align-items: center;
  }

  .logo {
    grid-area: logo;
  }
  .logo img {
    height: 40px;
  }

  /* Кнопка — справа, не тянется по ширине сетки */
  .btn-cta {
    grid-area: cta;
    justify-self: end;
    height: 36px;
    padding: 0 12px;
    font-size: 14px;
    border-radius: 10px;
    white-space: nowrap; /* не переносим */
    width: auto; /* не растягиваем */
    max-width: none; /* на всякий случай */
  }

  /* Поиск — на всю ширину второго ряда */
  .search {
    grid-area: search;
    width: 100%;
    height: auto;
    margin-top: 6px;
  }
  .search input {
    display: block;
    width: 100%;
    height: 44px;
    border-radius: 12px;
    padding: 0 14px 0 44px; /* запас слева под иконку */
  }
  /* Иконка лупы справа */
  .search .i--search {
    left: auto;
    right: 12px;
    transform: translateY(-50%);
    pointer-events: none;
  }

  /* Лишнее на мобилке — прячем надёжно */
  .btn-catalog,
  #megaCatalog,
  .header-top,
  .iconbar {
    display: none !important;
  }
}

/* Чуть шире телефонов — та же логика */
@media (min-width: 481px) and (max-width: 1199px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  .header-main {
    display: grid;
    grid-template-areas:
      "logo cta"
      "search search";
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 12px;
    height: auto;
    margin-top: 12px;
    align-items: center;
  }
  .btn-cta {
    justify-self: end;
    height: 40px;
    padding: 0 14px;
    white-space: nowrap;
  }
  .search {
    grid-area: search;
    width: 100%;
  }
  .search input {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    padding: 0 16px 0 44px;
  }
  .search .i--search {
    left: auto;
    right: 12px;
    transform: translateY(-50%);
  }
  .btn-catalog,
  #megaCatalog,
  .header-top,
  .iconbar {
    display: none !important;
  }
}

/* First section HERO */
/* ===== HERO ===== */
:root {
  /* сколько арт «заходит» на шапку (можешь поправить при желании) */
  --hero-art-overlap: -30px;
}

.hero {
  position: relative;
  margin-top: 70px; /* от большого текста до шапки */
  padding-bottom: 60px; /* паддинг снизу от последних плашек */
}

/* сетка секции: текст слева */
.hero__grid {
  display: grid;
  grid-template-columns: 1fr;
}

/* правый арт — абсолютный, высокий индекс, привязываем к правой «стене» контейнера */
.hero__art {
  position: absolute;
  right: 240px; /* синхрон с боковым паддингом контейнера */
  top: var(--hero-art-overlap);
  z-index: 5; /* поверх шапки при необходимости */
  width: min(50vw, 820px);
  height: auto;
  pointer-events: none;
}

/* Заголовок */
.hero__title {
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
  font-weight: 700;
  font-size: 64px;
  letter-spacing: -0.014em;
  margin: 0 0 50px; /* между заголовком и описанием 50px */
  color: #000;
  max-width: 1172px;
}
.hero__title .accent {
  color: #009fed;
  font-weight: 700;
}

/* Подзаголовок/описание — Roboto 20/400 как в макете */
.hero__lead {
  margin: 0;
  font-family: "Roboto", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.15;
  max-width: 600px; /* как на макете около 562px; оставляю комфортный лимит */
  color: #000;
  letter-spacing: -0.01em;
}

/* Кнопка каталога под текстом — 50px от описания */
.hero__cta {
  margin-top: 50px; /* от текста до кнопки 50px */
}

/* Кнопка (переиспользуемая) */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid #009fed;
  border-radius: 15px;
  padding: 20px;
}
.btn-primary {
  background: #009fed;
  color: #fff;
}

/* Плашки: сетка с gap 30px и внутренним 25px */
.hero-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px; /* между плашками 30px */
  margin-top: 77px; /* от кнопки до плашек 77px */
  list-style: none;
  padding: 0;
}
.feature-card {
  background: #efefef;
  border-radius: 40px;
  padding: 25px; /* внутренние паддинги 25px */
  height: 259px; /* визуальная устойчивость */
  width: 338px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 20px;
  padding-right: 56px;
}
.feature-card__title {
  font-weight: 700;
  color: #000000;
  font-size: 28px;
  letter-spacing: -0.01em;
  line-height: 140%;
}
.feature-card__title.title2 {
  font-weight: 700;
  color: #ffffff;
  font-size: 28px;
  letter-spacing: -0.01em;
  line-height: 100%;
}
.feature-card__more {
  font-size: 20px;
  color: #000000;
  line-height: -1%;
  opacity: 0.6;
}
.feature-card--accent {
  background: #009fed;
  color: #fff;
}
/* ===== иконки в плашках ===== */
.feature-icon {
  display: block;
  width: 70px;
  height: 70px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* индивидуальные иконки */
.i-cert {
  background-image: url("/wp-content/themes/newtheme/assets/icons/1.svg");
}
.i-network {
  background-image: url("/wp-content/themes/newtheme/assets/icons/2.svg");
}
.i-delivery {
  background-image: url("/wp-content/themes/newtheme/assets/icons/3.svg");
}
.i-logo {
  background-image: url("/wp-content/themes/newtheme/assets/icons/logo.png");
}

/* для акцентной плашки — белая иконка поверх голубого фона */
.feature-card--accent .feature-icon {
  filter: brightness(0) invert(1);
}

.feature-card--accent .feature-card__more {
  color: #e6f6ff;
}

:root {
  --container-pad: 240px; /* твой контейнер */
  --hero-art-overlap: -230px; /* если нужно, чтобы слегка залезал на шапку */
}

.hero {
  position: relative;
  overflow: visible;
}

/* Арт справа, но не шире экрана */
.hero__art {
  position: absolute;
  top: var(--hero-art-overlap);
  right: 0; /* прижали к правому краю окна */
  width: 775px;
  height: 942px;
  height: auto;
  z-index: -1;
  pointer-events: none;
}

/* Шапка чтобы арт мог слегка перекрывать */
.site-header {
  position: relative;
  z-index: 30;
}

/* адаптив */

/* ====== АДАПТИВ ДЛЯ HERO (только медиа) ====== */

/* 1700↓ — авто-перенос плашек */
@media (max-width: 1700px) {
  .hero-features {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
  }
  .feature-card {
    width: auto;
    min-height: 230px;
    box-sizing: border-box;
  }
}

/* 1200↓ — планшеты: арт под текстом, 2 колонки плашек, типографика компактнее */
@media (max-width: 1200px) {
  .hero__art {
    position: static;
    width: 100%;
    height: auto;
    margin-top: 30px;
    z-index: -1;
  }
  .hero-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 48px;
  }
  .hero__title {
    font-size: clamp(34px, 4.2vw, 56px);
  }
  .hero__lead {
    font-size: clamp(16px, 1.7vw, 19px);
    line-height: 1.35;
  }
}
@media (max-width: 1200px) {
  .hero {
    background-image: url("/wp-content/themes/newtheme/assets/icons/gaz.svg");
    background-repeat: no-repeat;

    /* ↓ эти два значения подгоняешь сам ↓ */
    background-position: right -20px top 180px; /* смещение: вправо/вверх */
    background-size: 350px auto; /* масштаб картинки */
  }

  /* если <img class="hero__art"> остался в разметке – скрыть его на мобилках */
  .hero__art {
    display: none;
  }
}

/* 768↓ — мобилки: горизонтальная карусель, без вылезаний за экран */
@media (max-width: 768px) {
  /* контейнерная страховка */
  .hero {
    overflow: hidden;
  }
  .hero__left {
    min-width: 0;
  }
  .hero__title,
  .hero__lead {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  .hero-features {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    padding: 0 12px 12px;
    margin: 32px 0 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .hero-features::-webkit-scrollbar {
    display: none;
  }
  .hero__lead {
    max-width: 300px;
  }
  .btn-primary {
    margin-top: 20px;
  }
  /* карточка ровно «в экран» с учётом внутренних отступов */
  .hero-features > .feature-card {
    flex: 0 0 calc(100vw - 32px);
    min-width: calc(100vw - 32px);
    scroll-snap-align: start;
    border-radius: 24px;
    padding: 18px;
    min-height: 200px;
  }

  .hero__title {
    font-size: clamp(28px, 8vw, 40px);
    line-height: 1.1;
    margin: 0 0 30px;
    margin-top: -20px;
  }
  .hero__lead {
    font-size: 16px;
  }
  .feature-card__title {
    font-size: 20px;
  }
  .feature-card__more {
    font-size: 14px;
  }
  .btn {
    height: 46px;
    padding: 0 16px;
  }
}

/* 360↓ — позволяем карточке быть чуть уже */
@media (max-width: 360px) {
  .hero-features > .feature-card {
    flex-basis: calc(100vw - 24px);
    min-width: calc(100vw - 24px);
  }
}
/* Мобилки: следующий слайд «торчит» за правый padding контейнера */
@media (max-width: 768px) {
  .hero {
    overflow: visible;
  }
  .hero .container {
    overflow: visible;
  }

  .hero-features {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;

    /* слева держим паддинг контейнера, справа — выходим за него */
    padding-left: 16px;
    padding-right: 0;
    margin-right: -10px; /* ← игнорируем правый padding контейнера */
    gap: 15px;
    transform: translate(0px, 120px);
  }
  .hero-features::-webkit-scrollbar {
    display: none;
  }

  /* ширина карточки меньше экрана, чтобы справа было видно следующую */
  .hero-features > .feature-card {
    /* экран − левый padding (16) − видимая «подсказка» (24) */
    flex: 0 0 calc(50vw - 16px - 24px);
    min-width: calc(70vw - 20px - 10px);
    scroll-snap-align: start;
    border-radius: 24px;
    padding: 18px;
    box-sizing: border-box;
    height: 173px;
    border: 1px solid #e5e7eb;
  }
}

@media (min-width: 1200px) {
  .mobile-nav {
    display: none;
  }
}

/* Section 2 */
/* ===== CATALOG ===== */
.catalog {
  padding: 70px 0; /* сверху 70, снизу 70 */
}
.catalog__title {
  margin: 0 0 36px; /* между заголовком и сеткой 30 */
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
  margin-top: 5px;
}

/* Сетка 3 колонки, гибкая, без фиксированных высот */
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px; /* паддинг между плашками 30px */
}

/* Базовая плитка */
.cat-tile {
  position: relative;
  display: block;
  background: #e5e7eb; /* фон плашек */
  border-radius: 16px;
  padding: 30px; /* внутренности — слегка, чтобы не давить макет */
  text-decoration: none;
  color: inherit;
  overflow: hidden; /* прячем «хвост» картинок в углах */
}

/* Большая слева — на 2 строки; высоту задаёт контент (без min-height) */
.cat-tile--xl {
  grid-row: span 2;
}

/* Заголовок плитки */
.cat-tile__title {
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: #000;
  max-width: 75%;
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
}

/* Картинка: не влияет на высоту, плавает в правом-нижнем углу */
.cat-tile__img {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(60%, 360px); /* мягкое ограничение ширины */
  height: auto;
  user-select: none;
  pointer-events: none;
  object-fit: contain;
}

/* CTA плитка */
.cat-tile--cta {
  background: #009fed;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cat-tile__title--light {
  color: #fff;
}

.cat-tile__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 210px;
  border-radius: 15px;
  padding: 20px 40px;
  background: #fff;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
  margin-top: 16px;
}

/* СЕКЦИЯ */
.catalog {
  padding: 70px 0;
  background: #fff; /* контраст для плашек E5E7EB */
}
.catalog__title {
  margin: 0 0 36px;
}

/* СЕТКА */
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

/* ПЛАШКИ */
.cat-tile {
  position: relative;
  display: block;
  background: #e5e7eb; /* как просил */
  border-radius: 16px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}
.cat-tile--xl {
  grid-row: span 2;
}

.cat-tile--cta {
  background: #009fed;
  color: #fff;
}
.cat-tile__title--light {
  color: #fff;
}

/* Картинки внутри плашек */
.cat-tile__img {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(60%, 360px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
/* ===== КАТАЛОГ: десктопная сетка ровно как в макете ===== */
.catalog {
  padding: 70px 0;
  padding-bottom: 0;
}

/* Базово — адаптив (как было).
   Ниже включим "макетные" размеры в медиазапросе. */
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

/* СТРОГО ПО МАКЕТУ (широкие экраны) */
@media (min-width: 1280px) {
  .catalog__grid {
    /* 3 колонки по 460px */
    grid-template-columns: 460px 460px 460px;
    /* каждая «маленькая» плитка 266 → 265.5 для точной суммы 561 c gap=30 */
    grid-auto-rows: 265.5px;
    /* фиксированная раскладка */
    grid-template-areas:
      "big   sm1   sm2"
      "big   sm3   cta";
    justify-content: start; /* без растяжения */
  }
  .cat-tile--xl {
    grid-area: big;
    grid-row: span 2;
  }
  .cat-sm1 {
    grid-area: sm1;
  }
  .cat-sm2 {
    grid-area: sm2;
  }
  .cat-sm3 {
    grid-area: sm3;
  }
  .cat-tile--cta {
    grid-area: cta;
  }
}

/* Вид плашек (фон как просил) */
.cat-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #e5e7eb;
  border-radius: 16px;
  padding: 30px;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  width: auto;
}
.cat-tile--cta {
  background: #009fed;
  color: #fff;
}
.cat-tile__title--light {
  color: #fff;
}

/* Картинки внутри не ломают высоту, сидят в правом-нижнем краю */
.cat-tile__img {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(60%, 360px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
.cat-tile__img.img1 {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(100%, 438px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
}
.cat-tile__img.img2 {
  position: absolute;
  right: 10px;
	bottom: -30px;
		width: min(43%, 220px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.cat-tile__img.img3 {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(100%, 185px) !important;
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

.cat-tile__img.img4 {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: min(50%, 160px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
}

/* ====== БАЗА (как у тебя): гибкая сетка ====== */
.catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  row-gap: 30px;
}

@media (max-width: 767.98px) {
  /* сетка */
  .catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    grid-template-areas:
      "big big"
      "sm1 sm2"
      "sm3 cta";
  }

  /* разметка областей */
  .cat-tile--xl {
    grid-area: big;
  }
  .cat-sm1 {
    grid-area: sm1;
  }
  .cat-sm2 {
    grid-area: sm2;
  }
  .cat-sm3 {
    grid-area: sm3;
  }
  .cat-tile--cta {
    grid-area: cta;
  }

  /* большой тайл: 343×162 при экране 375 (контейнер 16+16) */
  .cat-tile--xl {
    height: 162px;
    min-height: 162px;
    display: flex;
    align-items: center; /* текст по вертикальному центру */
    padding: 20px 20px 20px 20px;
    padding-right: 160px; /* место под картинку справа */
  }
  .cat-tile--xl .cat-tile__title {
    margin: 0;
    text-align: left; /* ТЕКСТ СЛЕВА */
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1.15;
    max-width: none;
  }
  .cat-tile--xl .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: min(44%, 155px); /* компактно, не давит на текст */
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }

  /* мелкие плитки — компактнее, но читаемо */
  .cat-tile {
    padding: 16px;
    border-radius: 12px;
  }
  .cat-tile:not(.cat-tile--xl) {
    min-height: 120px;
  }
  .cat-tile__title {
    font-size: clamp(15px, 4.4vw, 18px);
    max-width: 80%;
  }
  .cat-tile__img {
    width: min(48%, 180px);
  }

  /* кнопка в CTA чуть ниже */
  .cat-tile--cta .cat-tile__btn {
    height: 36px;
    padding: 0 14px;
  }
}

/* ====== ПЛАНШЕТ: 768–1199 ====== */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .catalog__grid {
    grid-template-columns: repeat(
      3,
      minmax(0, 1fr)
    ); /* гибко, без фикс. ширин */
    grid-auto-rows: auto;
  }
  .cat-tile--xl {
    grid-row: span 2;
  }
  .cat-tile__title {
    font-size: clamp(20px, 2.2vw, 26px);
  }
  .cat-tile__img {
    width: min(55%, 300px);
  }
}

/* мелкие UX-штрихи */
.cat-tile__img {
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

/* ===== МОБИЛКА: 375px (контейнер 16+16) ===== */
@media (max-width: 399.98px) {
  /* сетка: 2×164 + 12 gap = 340px, помещается в 343px контейнера */

  /* области */
  .cat-tile--xl {
    grid-area: big;
  }
  .cat-sm1 {
    grid-area: sm1;
  }
  .cat-sm2 {
    grid-area: sm2;
  }
  .cat-sm3 {
    grid-area: sm3;
  }
  .cat-tile--cta {
    grid-area: cta;
  }

  /* ===== Большой тайл (Электроинструмент) ===== */
  .cat-tile--xl {
    height: 162px;
    min-height: 162px;
    display: flex;
    align-items: center; /* текст по вертикальному центру */
	padding-right: 165px !important;
    padding: 18px 20px;
  }
  .cat-tile--xl .cat-tile__title {
    margin: 0;
    text-align: left; /* ТЕКСТ СЛЕВА */
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1.15;
    max-width: none;
  }
  .cat-tile--xl .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: min(100%, 255px);
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }

  /* ===== Маленькие карточки: 164×162 и по две в строке ===== */
  .catalog__grid .cat-tile:not(.cat-tile--xl) {
    width: auto; /* совпадает с шириной колонки */
    height: 162px; /* фиксированная высота по ТЗ */
    padding: 14px;
    border-radius: 12px;
    overflow: hidden; /* чтобы картинка не вытекала */
    display: block;
  }
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__title {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    max-width: 90%;
    white-space: normal;
  }
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: min(48%, 120px);
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }

  /* CTA кнопка компактнее */
  .cat-tile--cta .cat-tile__btn {
    height: 36px;
    padding: 0 14px;
  }
}

/* Мобилка */
@media (max-width: 399.98px) {
  /* 1) Большой тайл: чуть больше воздуха слева + тонкая центровка текста */
  .cat-tile--xl {
    padding-left: 2px; /* было 18–20, добавили воздуха у левого борта */
    padding-right: 70px; /* оставляем место под картинку справа */
    display: flex;
    align-items: center; /* вертикальный центр заголовка */
    height: 162px;
    min-height: 162px;
  }
  .cat-tile--xl .cat-tile__title {
    text-align: left;
    line-height: 1.15;
    /* микро-подстройка по оптике, чтобы выглядело «по центру» в блоке */
    transform: translateY(50px);
  }

  /* 2) Шиномонтажное оборудование — опустить картинку ниже */
  .cat-sm1 .cat-tile__img {
    bottom: -8px; /* опустили ниже края карточки */
    width: min(48%, 130px); /* чуть компактнее, чтобы не давила на текст */
  }
}

/* ==== MOBILE FLEX UP: 400px–768px (как на 375, но растягивается) ==== */
@media (min-width: 400px) and (max-width: 767.98px) {
  /* Сетка — две колонки, тот же gap и те же области */
  .catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    grid-template-areas:
      "big  big"
      "sm1  sm2"
      "sm3  cta";
    justify-content: start;
  }
  .cat-tile--xl {
    grid-area: big;
  }
  .cat-sm1 {
    grid-area: sm1;
  }
  .cat-sm2 {
    grid-area: sm2;
  }
  .cat-sm3 {
    grid-area: sm3;
  }
  .cat-tile--cta {
    grid-area: cta;
  }

  /* МАЛЫЕ ТАЙЛЫ: убираем фикс 164×162 и держим форму через аспект-рацио */
  .catalog__grid .cat-tile:not(.cat-tile--xl) {
    width: auto !important;
    height: auto !important;
    aspect-ratio: 164 / 162; /* форма как на макете 375 */
    border-radius: 12px;
    padding: clamp(14px, 3.5vw, 18px);
    overflow: hidden;
    display: block;
  }
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__title {
    margin: 0;
    font-size: clamp(16px, 4.2vw, 18px);
    line-height: 1.2;
    max-width: 78%;
    white-space: normal;
  }
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: clamp(110px, 42vw, 180px); /* растём, но без перелива */
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }

  /* БОЛЬШОЙ ТАЙЛ: форма как на 375, но растягивается пропорционально ширине */
  .cat-tile--xl {
    aspect-ratio: 340 / 162; /* ширина двух колонок + gap на 375 */
    height: auto !important;
    min-height: 0;
    display: flex;
    align-items: center;
    padding: clamp(16px, 3.8vw, 22px) clamp(16px, 3.8vw, 22px);
    padding-right: clamp(120px, 34vw, 220px); /* место под картинку справа */
  }
  .cat-tile--xl .cat-tile__title {
    margin: 0;
    text-align: left;
    font-size: clamp(20px, 6vw, 28px);
    line-height: 1.15;
    max-width: none;
    transform: translateY(50px);
  }
  .cat-tile--xl .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: clamp(155px, 44vw, 280px);
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }

  /* Частные правки из макета — «Шиномонтажное оборудование» опускаем чуть ниже */
  .cat-sm1 .cat-tile__img {
    bottom: -8px;
    width: clamp(130px, 40vw, 220px);
  }

  /* CTA-кнопка внутри синего тайла — не «прыгает» при росте */
  .cat-tile--cta .cat-tile__btn {
    height: clamp(36px, 9vw, 42px);
    padding: 0 clamp(14px, 4vw, 18px);
  }
}
/* ==== MOBILE 400–768: уменьшаем картинки малых тайлов и прижимаем вниз-справа ==== */
@media (min-width: 400px) and (max-width: 767.98px) {
  /* общий размер картинок у малых карточек */
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: clamp(110px, 35%, 140px) !important; /* всегда меньше половины ширины тайла */
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }
}

/* ≤400 – тоже слегка ужимаем (если там всё ок – можно оставить) */
@media (max-width: 399.98px) {
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__img {
    right: 8px;
    bottom: 0;
    width: clamp(90px, 40%, 50px) !important;
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }
	
}

/* ==== TABLET VIEW: 768–1199 px ==== */
@media (min-width: 768px) and (max-width: 1199.98px) {
  /* сетка — три колонки, но строки выше */
  .catalog__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 220px; /* было auto — теперь фиксируем ~220px */
    gap: 30px;
  }

  /* большой тайл как и прежде на две строки — станет ~440px высотой */
  .cat-tile--xl {
    grid-row: span 2;
  }

  /* внутренние отступы и шрифты немного крупнее */
  .cat-tile {
    padding: 24px;
    border-radius: 16px;
  }
  .cat-tile__title {
    font-size: clamp(20px, 2.3vw, 26px);
    line-height: 1.25;
    max-width: 80%;
  }

  /* картинки внутри малых карточек: чуть компактнее и прижаты вниз */
  .catalog__grid .cat-tile:not(.cat-tile--xl) .cat-tile__img {
    right: 8px;
    bottom: 0;
    width: clamp(100px, 35%, 160px);
    height: auto;
    object-fit: contain;
    pointer-events: none;
  }
}

/* SLIDER */

/* ===== Популярные товары ===== */
.popular-products {
  padding: 60px 0;
  background: #ffffff;
  padding-bottom: 0;
}
.popular-products__title {
  margin: 0 0 30px;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
  font-family: "Roboto", sans-serif;
  padding-top: 9px;
}

/* стрелки */
.pp-nav {
  position: absolute;
  z-index: 5;
  top: calc(72px + 12px); /* примерно по вертикали с серединой карточек */
  width: 74px;
  height: 84px;
  border-radius: 999px;
  border: 0;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  cursor: pointer;
}

.pp-next::before {
  transform: none;
} /* вправо */
.pp-nav:disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* обёртка карусели */
.popular-swiper {
  padding: 6px 0 10px;
} /* небольшой внутренний, чтобы тень не обрезалось */

/* карточка */
.product-card {
  position: relative;
  background: #fff;
  border-radius: 30px;
  border: 2px solid rgba(0, 159, 237, 0.3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin-right: 30px;
}
.product-card__imglink {
  display: block;
  margin-left: 15px;
}
.product-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* убираем абсолют */
.product-card__badge-wrap {
  display: flex;
  justify-content: flex-start; /* выравнивание слева */
}
.product-card__badge {
  background: #009fed;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 10px;
  display: inline-block;
}
.product-card__badge1 {
  background: #009fed;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 6px 10px;
  border-radius: 10px;
  display: inline-block;
}
/* тело карточки */
/* сама карточка — нужные внутренние отступы */
.product-card {
  padding: 25px 20px 40px;
}

/* ОБЯЗАТЕЛЬНО: бейдж больше не абсолютный */
.product-card__badge-wrap {
  display: flex;
  justify-content: flex-start; /* слева */
}
.product-card__badge {
  position: static !important; /* глушим старые absolute */
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  display: inline-block;
  background: #009fed;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  border-radius: 12px;
  padding: 10px 15px;
}
.product-card__badge1 {
  position: static !important; /* глушим старые absolute */
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  display: inline-block;
  background: #009fed;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  border-radius: 12px;
  padding: 10px 15px;
  margin-top: 10px;
}
/* бокс под изображение 263×237 */
.product-card__imgbox {
  width: 263px;
  height: 237px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-card__imglink img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.product-card__price {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.product-card__price1 {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.price-now {
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -0.01em;
  color: #000;
}
.price-old {
  color: #6b7280;
  text-decoration: line-through;
  font-size: 14px;
}

/* заголовок */
.product-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
}

/* рейтинг и отзывы */
.product-card__meta {
  color: #425466;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.i-star {
  width: 16px;
  height: 16px;
  display: inline-block;
  background: url("/wp-content/themes/newtheme/assets/icons/star-blue.svg")
    center/contain no-repeat;
}

/* адаптивные отступы под стрелки */
@media (max-width: 1280px) {
  .pp-prev,
  .pp-next {
    display: none;
  } /* на планшете и ниже используем свайп */
}
/* ===== POPULAR PRODUCTS – мобилки ≤768px: две карточки в ряд ===== */
@media (max-width: 768px) {
  /* Контейнер свайпера – убираем лишние внутренние отступы */
  .popular-swiper {
    padding: 0 6px 10px;
  }

  /* Каждый слайд – на половину видимой ширины минус зазор */
  .popular-swiper .swiper-slide {
    width: calc(
      50% - 8px
    ) !important; /* две карточки + spaceBetween:16 => 8px с каждой стороны */
    box-sizing: border-box;
  }

  /* Карточка: пусть тянется на всю ширину слайда */
  .product-card {
    width: 100%;
    padding: 20px 16px 18px;
    border-radius: 14px;
  }

  /* Бокс под изображение: растягиваем на всю ширину карточки,
     фиксируем соотношение сторон чтобы не прыгало */
  .product-card__imgbox {
    width: 100% !important;
    aspect-ratio: 263 / 237; /* прежние пропорции */
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product-card__imgbox img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  /* Бейдж скидки – чуть компактнее */
  .product-card__badge {
    font-size: 13px;
    padding: 5px 8px;
  }
  /* Бейдж скидки – чуть компактнее */
  .product-card__badge1 {
    font-size: 13px;
    padding: 5px 8px;
  }

  /* Цена и заголовок – уменьшаем шрифты чтобы всё влезало */
  .price-now {
    font-size: 18px;
  }
  .price-old {
    font-size: 13px;
  }
  .product-card__title {
    font-size: 15px;
    line-height: 1.3;
  }
}
/* ===== Popular products: мобильные кнопки действий ===== */
@media (max-width: 768px) {
  .product-card {
    display: flex;
    flex-direction: column;
  }
  .product-card__body {
    /* чтобы экшен-полоса прижалась к низу карточки */
    margin-bottom: 12px;
  }

  .product-card__actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 10px; /* отступ между кнопками = 10px */
  }

  /* Кнопка: В корзину */
  .btn-cart {
    flex: 1 1 auto; /* растягивается, занимает всю ширину слева */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 14px;
    border-radius: 8px; /* ТЗ: 8px */
    background: #009fed;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid #009fed;
    white-space: nowrap;
  }
  .btn-cart:hover {
    filter: brightness(0.95);
  }
  .btn-cart:active {
    transform: translateY(1px);
  }

  /* Кнопка: Избранное (сердце) */
  .pc-wishlist,
  .pc-wishlist a {
    /* некоторые плагины выводят <div><a>… */
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1.5px solid #009fed;
    color: #009fed;
    background: #fff;
    text-decoration: none;
  }
  .pc-wishlist .i-heart,
  .pc-wishlist a .i-heart {
    width: 22px;
    height: 22px;
    display: block;
    background: url("/wp-content/themes/newtheme/assets/icons/heart-outline-blue.svg")
      center/contain no-repeat;
  }

  /* Активное состояние (добавляет плагин или JS) — заливка */
  .pc-wishlist.is-active,
  .pc-wishlist.added,           /* YITH/TI часто ставят этот класс */
  .pc-wishlist a.added {
    background: #009fed;
    border-color: #009fed;
    color: #fff;
  }
  .pc-wishlist.is-active .i-heart,
  .pc-wishlist.added .i-heart,
  .pc-wishlist a.added .i-heart {
    background: url("/wp-content/themes/newtheme/assets/icons/heart-filled-white.svg")
      center/contain no-repeat;
  }

  /* Немного компактим типографику карточки на мобилках */
  .price-now {
    font-size: 18px;
  }
  .price-old {
    font-size: 13px;
  }
  .product-card__title {
    font-size: 15px;
    line-height: 1.3;
  }
}

@media (max-width: 768px) {
  :root {
    --pp-gap: 16px;
  }

  .popular-swiper {
    padding: 0 0 10px;
  }
  .popular-swiper .swiper-slide {
    width: calc((100% - var(--pp-gap)) / 2) !important;
    box-sizing: border-box;
  }

  /* карточка – гибкая длина, но не меньше макетных 298px */
  .product-card {
    min-height: 298px; /* ← ключ: минимальная длина */
    padding: 12px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
  }
  .product-card__body {
    flex: 1 1 auto;
  }

  /* фото стабильно по высоте */
  .product-card__imglink {
    padding: 0;
  }
  .product-card__imgbox {
    width: 100%;
    height: 136px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .product-card__imgbox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .product-card__price {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .product-card__price1 {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .price-now {
    font-weight: 700;
    font-size: 16px;
  }
  .price-old {
    font-size: 12px;
    color: #6b7280;
    text-decoration: line-through;
  }
  .product-card__title {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .product-card__meta {
    margin-top: 6px;
    font-size: 12px;
  }

  /* полоса действий прижата к низу */
  .product-card__actions {
    margin-top: auto; /* ← прижимает вниз */
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .product-card__actions .btn-cart {
    flex: 1 1 auto;
    height: 36px;
    padding: 0 12px;
    border-radius: 8px;
    background: #009fed;
    border: 1px solid #009fed;
    font-weight: 400;
    font-size: 10px;
    letter-spacing: -0.01em;
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .product-card__actions .pc-wishlist,
  .product-card__actions .pc-wishlist a,
  .product-card__actions .pc-wishlist button {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    border: 1.5px solid #009fed;
    background: #fff;
    color: #009fed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    text-decoration: none;
  }
  .product-card__actions .i-heart {
    width: 18px;
    height: 18px;
    background: url("/wp-content/themes/newtheme/assets/icons/heart-outline-blue.svg")
      center/contain no-repeat;
  }
  .product-card__actions .pc-wishlist.added,
  .product-card__actions .pc-wishlist.exists,
  .product-card__actions .pc-wishlist.is-active,
  .product-card__actions .pc-wishlist a.added,
  .product-card__actions .pc-wishlist button.added {
    background: #009fed;
    border-color: #009fed;
    color: #fff;
  }
  .product-card__actions .pc-wishlist.added .i-heart,
  .product-card__actions .pc-wishlist.exists .i-heart,
  .product-card__actions .pc-wishlist.is-active .i-heart,
  .product-card__actions .pc-wishlist a.added .i-heart,
  .product-card__actions .pc-wishlist button.added .i-heart {
    background: url("/wp-content/themes/newtheme/assets/icons/heart-filled-white.svg")
      center/contain no-repeat;
  }
}

/* ===== Новости ===== */
.news {
  padding: 60px 0;
  background: #fff;
}
.news .container {
  position: relative;
  background: #fff;
}
@media (min-width: 1800px) {
  .news .container {
    position: relative;
    background: #fff;
    padding-right: 220px;
  }
}
.news__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
}
.news__title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 42px);
}
.news__all {
  white-space: nowrap;
}

.news-swiper {
  padding: 6px 0 10px;
}

.news-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
}
.news-card__thumb {
  display: block;
}
.news-card__thumb img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.news-card__body {
  padding: 14px 16px 16px;
}
.news-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #0b0b0b;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}
.news-card__title:hover {
  text-decoration: underline;
}
.news-card__date {
  display: block;
  margin-top: 10px;
  color: #6b7280;
  font-size: 14px;
}

/* 1) Даём «якорь» секциям со слайдерами */
.popular-products,
.new-products,
.news .container {
  /* у news у тебя уже было, но оставлю для единообразия */
  position: relative;
}

/* 2) Вертикально центрируем стрелки внутри своей секции */
.popular-products .pp-nav,
.new-products .pp-nav,
.news .pp-nav {
  top: 50%;
  transform: translateY(-50%);
}

/* 3) Привязываем к краю контейнера: полу-вылет за пределы контента */
.popular-products .pp-prev,
.new-products .new-prev,
.news .news-prev {
  left: calc(var(--container-pad, 240px) - 22px);
}

.popular-products .pp-next,
.new-products .new-next,
.news .news-next {
  right: calc(var(--container-pad, 240px) - 22px);
}

/* На планшете и ниже — как и было, скрываем стрелки, оставляем свайп */
@media (max-width: 1280px) {
  .popular-products .pp-nav,
  .new-products .pp-nav,
  .news .pp-nav {
    display: none;
  }
}

/* Слайд берёт ширину по контенту */
.news-swiper .swiper-slide {
  width: auto;
}

/* Карточка: максимум 338×370, на узких — 100% но не шире 338 */
.news-card {
  width: 100%;
  max-width: 338px;
  max-height: 370px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 16px;
}

/* Превью: фиксируем высоту, чтобы карточка не «раздувалась» */
.news-card__thumb img {
  width: 100%;
  height: 180px; /* можно 180–200, подбери под макет */
  object-fit: cover;
  display: block;
}

/* Тело — заполняет оставшееся и не вываливается */
.news-card__body {
  padding: 14px 16px 16px;
  overflow: hidden;
}
.news-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card__date {
  white-space: nowrap;
}

/* ===== Новинки ===== */
.new-products {
  padding: 56px 0;
  background: #fff; /* ← белый фон */
}
/* у нас уже есть общие позиции стрелок: .new-products .pp-nav { top:50% ... } */

/* Карточка товара фиксированной ширины — не расползётся, даже если Swiper вдруг не поднялся */
.new-swiper .product-card {
  width: 263px;
} /* твой размер бокса под превью */
.new-swiper .swiper-wrapper {
  align-items: stretch;
}
.new-products .pp-nav {
  top: 50%;
  transform: translateY(-50%);
}

/* Если Swiper не инициализирован (нет .swiper-initialized) — прячем стрелки */
.new-products .swiper:not(.swiper-initialized) ~ .new-prev,
.new-products .swiper:not(.swiper-initialized) ~ .new-next {
  display: none;
}

/* ==== Новинки: карточка ровной высоты ==== */
.new-products {
  padding-bottom: 0;
}

.new-swiper .swiper-wrapper {
  align-items: stretch;
} /* выровнять по высоте */
.new-swiper .swiper-slide {
  height: auto;
}

.new-swiper .product-card {
  max-width: 340px !important; /* ширина, как на втором скрине */
  max-height: 468px !important; /* общая высота, чтобы не плясали */
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 2px solid rgba(0, 159, 237, 0.3);
  border-radius: 30px;
  overflow: hidden;
  padding: 20px;
}

/* зона изображения — фиксированная */
.new-swiper .product-card__imglink {
  display: block;
}
.new-swiper .product-card__imgbox {
  width: 100%; /* фиксируем высоту превью */
  display: flex;
  align-items: center;
  justify-content: center;
}
.new-swiper .product-card__imglink img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  margin-bottom: 5px;
  margin-right: 15px;
}

/* бейдж скидки — как на макете, в углу изображения */
.new-swiper .product-card__badge-wrap {
  position: relative;
  padding-top: 15px;
}
.new-swiper .product-card__badge {
  position: absolute;
  left: 14px;
  top: -34px; /* «лежит» поверх фото */
  background: #009fed;
  border-radius: 12px;
  padding: 10px 15px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
}

/* тело карточки */
.new-swiper .product-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 9px;
}
.new-swiper .product-card__price {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.new-swiper .product-card__price1 {
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.new-swiper .price-now {
  font-weight: 700;
  font-size: 28px;
}
.new-swiper .price-old {
  color: #6b7280;
  text-decoration: line-through;
  font-size: 18px;
}

/* заголовок — ровно 2 строки */
.new-swiper .product-card__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none;
  color: #0b0b0b;
  font-weight: 700;
  line-height: 1.25;
  min-height: calc(1.25em * 2); /* фикс по высоте строки */
}

/* рейтинг/отзывы — внизу карточки */
.new-swiper .product-card__meta {
  margin-top: auto;
  color: #425466;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.new-swiper .i-star {
  width: 18px;
  height: 18px;
  display: inline-block;
  background: url("/wp-content/themes/newtheme/assets/icons/star-blue.svg")
    center/contain no-repeat;
}

/* стрелки по центру секции */
.new-products .pp-nav {
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1280px) {
  .new-products .pp-nav {
    display: none;
  }
}

/* ===== NEW PRODUCTS — мобилки ≤768px: 2 в ряд, геометрия 164×298 ===== */
@media (max-width: 768px) {
  :root {
    --new-gap: 15px;
  } /* должен совпадать с spaceBetween в JS */
  .new-products {
    padding-top: 0px;
  }
  .popular-products {
    padding-top: 0px;
  }
  /* по две карточки без пустот */
  .new-swiper {
    padding: 0 0 10px;
  }
  .new-swiper .swiper-slide {
    width: calc((100% - var(--new-gap)) / 2) !important;
    box-sizing: border-box;
  }

  /* карточка — гибкая, но не меньше макетной длины */
  .new-swiper .product-card {
    min-height: 298px; /* как в «Популярных» */
    padding: 12px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    border: 2px solid rgba(0, 159, 237, 0.3);
  }
  .new-swiper .product-card__body {
    flex: 1 1 auto;
  }

  /* фото стабильно */
  .new-swiper .product-card__imglink {
    padding: 0;
  }
  .new-swiper .product-card__imgbox {
    width: 100%;
    height: 136px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .new-swiper .product-card__imgbox img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* типографика — как в «Популярных» мобилках */
  .new-swiper .product-card__price {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .new-swiper .product-card__price1 {
    display: flex;
    align-items: baseline;
    gap: 8px;
  }
  .new-swiper .price-now {
    font-weight: 700;
    font-size: 16px;
  }
  .new-swiper .price-old {
    font-size: 12px;
    color: #6b7280;
    text-decoration: line-through;
  }
  .new-swiper .product-card__title {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .new-swiper .product-card__meta {
    margin-top: 6px;
    font-size: 12px;
  }

  /* полоса действий: корзина + сердце */
  .new-swiper .product-card__actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .new-swiper .product-card__actions .btn-cart {
    flex: 1 1 auto;
    height: 36px;
    padding: 0 12px;
    border-radius: 8px;
    background: #009fed;
    border: 1px solid #009fed;
    font-weight: 400;
    font-size: 10px;
    letter-spacing: -0.01em;
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .new-swiper .product-card__actions .pc-wishlist,
  .new-swiper .product-card__actions .pc-wishlist a,
  .new-swiper .product-card__actions .pc-wishlist button {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 8px;
    border: 1.5px solid #009fed;
    background: #fff;
    color: #009fed;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    text-decoration: none;
  }
  .new-swiper .product-card__actions .i-heart {
    width: 18px;
    height: 18px;
    display: block;
    background: url("/wp-content/themes/newtheme/assets/icons/heart-outline-blue.svg")
      center/contain no-repeat;
  }
  .new-swiper .product-card__actions .pc-wishlist.added,
  .new-swiper .product-card__actions .pc-wishlist.exists,
  .new-swiper .product-card__actions .pc-wishlist.is-active,
  .new-swiper .product-card__actions .pc-wishlist a.added,
  .new-swiper .product-card__actions .pc-wishlist button.added {
    background: #009fed;
    border-color: #009fed;
    color: #fff;
  }
  .new-swiper .product-card__actions .pc-wishlist.added .i-heart,
  .new-swiper .product-card__actions .pc-wishlist.exists .i-heart,
  .new-swiper .product-card__actions .pc-wishlist.is-active .i-heart,
  .new-swiper .product-card__actions .pc-wishlist a.added .i-heart,
  .new-swiper .product-card__actions .pc-wishlist button.added .i-heart {
    background: url("/wp-content/themes/newtheme/assets/icons/heart-filled-white.svg")
      center/contain no-repeat;
  }

  /* бейдж компактный как в мобилках «Популярных» */
  .new-swiper .product-card__badge {
    font-size: 12px;
    padding: 4px 7px;
    border-radius: 8px;
    position: static;
  }
  .new-swiper .product-card__badge1 {
    font-size: 12px;
    padding: 4px 7px;
    border-radius: 8px;
    position: static;
  }
  .new-swiper .product-card__badge-wrap {
    margin-top: 8px;
    display: flex;
  }
}

/* Секция */
.contacts {
  background: #fff; /* ← фон всей секции */
  padding: 10px 0 70px; /* сверху 10px, снизу 70px */
  padding-bottom: 0;
}

/* Заголовок */
.contacts__title {
  margin: 0 0 30px;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.035em;
  color: #000;
}
@media (max-width: 768px) {
  .contacts__title {
    font-weight: 800;
    font-size: clamp(24px, 3.5vw, 56px);
  }
}

/* Сетка: две колонки с отступом 30px */
.contacts__grid {
  display: grid;
  grid-template-columns: auto 1fr; /* ← ширина левого блока теперь авто */
  gap: 30px;
  align-items: start;
  padding-bottom: 50px !important;
}

.contacts__info {
  width: 340px;
  min-height: 380px;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 30px;
  padding: 20px;
  font-family: "Roboto", sans-serif;
}
@media (max-width: 768px) {
  .contacts__info {
    height: 100%;
    width: 100%;
    top: 0px;
    left: 0px;
  }
}
/* ссылки — синие */
.contacts__info a {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #009fed;
  text-decoration: none;
}
.contacts__info a:hover {
  text-decoration: underline;
	color: #fff;
}

/* «Написать сообщение» — кнопка заливкой */
.contacts__info .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  padding: 20px 40px;
  background: #009fed;
  color: #fff;
  text-decoration: none;
  font-family: "Roboto", sans-serif;
}

/* «Подписаться на рассылку» — прозрачная кнопка с синим бордером */
.contacts__subscribe {
  display: inline-block;
  padding: 10px 24px;
  border: 1px solid #009fed;
  border-radius: 15px;
  color: #009fed;
  text-decoration: none;
}
.contacts__subscribe:hover {
  background: #009fed;
  color: #fff !important;
}

/* Карта справа */
.contacts__map {
  min-height: 400px;
  border-radius: 12px;
  overflow: hidden;
}

/* Адаптив */
@media (max-width: 1199px) {
  .contacts__grid {
    grid-template-columns: 1fr;
  }
  .contacts__map {
    min-height: 300px;
  }
}

/* ===== Blog Carousel ===== */
.blog-carousel {
  background: #fff; /* фон секции */
  padding: 10px 0 120px; /* сверху 10, снизу 120 */
}
.blog-carousel__title {
  margin: 0 0 30px;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 3vw, 36px);
  color: #111827;
}

/* Контейнер свайпера не должен обрезать «уши» соседей */
.blog-swiper {
  overflow: visible;
}

/* Ширина слайдов — через CSS: видны части соседних карточек */
.blog-slide {
  width: min(
    86vw,
    1120px
  ); /* ← базовая ширина слайда (регулируй при желании) */
}

/* Видео-рамка с большим play по центру */
.blog-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* единая пропорция */
  background: #ddd center/cover no-repeat;
  border-radius: 50px; /* радиус видео 50px */
  overflow: hidden;
}

/* Кнопка Play (крупная, по центру) */
.blog-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 96px;
  height: 96px;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.blog-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  transform: translate(-40%, -50%);
  border-left: 26px solid #fff;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
}

/* Встроенный iframe занимает всю карточку и наследует скругление */
.blog-video__frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  border-radius: 50px;
}

/* Отступы между карточками */
.blog-swiper .swiper-slide {
  margin-right: 0;
} /* управляет spaceBetween */
.swiper {
  --swiper-theme-color: transparent;
} /* на всякий случай глушим дефолт */

@media (max-width: 1200px) {
  .blog-slide {
    width: min(90vw, 960px);
  }
}
@media (max-width: 768px) {
  .blog-slide {
    width: 92vw;
  } /* почти во всю ширину, но «ушки» остаются */
  .blog-video__play {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 480px) {
  .blog-video__play {
    width: 68px;
    height: 68px;
  }
}
/* Шапка белая только на странице "Каталог" */
body.page-id-63 .site-header {
  background: #fff;
}
.blog-carousel {
  background: #fff;
  padding: 10px 0 120px;
}
.blog-carousel__in {
  display: grid;
  gap: 24px;
}
.blog-carousel__title {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 3vw, 36px);
  color: #111827;
}
.blog-swiper {
  overflow: visible;
}
.blog-slide {
  width: min(86vw, 1120px);
}
.blog-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #ddd center/cover no-repeat;
  border-radius: 50px;
  overflow: hidden;
}
.blog-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 96px;
  height: 96px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.blog-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  transform: translate(-40%, -50%);
  border-left: 26px solid #fff;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
}
.blog-video__frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  border-radius: 50px;
}
.blog-nav {
  display: grid;
  grid-auto-flow: column;
  justify-content: end;
  gap: 12px;
}
.blog-prev,
.blog-next {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
}
.blog-prev:active,
.blog-next:active {
  transform: translateY(1px);
}
@media (max-width: 1200px) {
  .blog-slide {
    width: min(90vw, 960px);
  }
}
@media (max-width: 768px) {
  .blog-slide {
    width: 92vw;
  }
  .blog-video__play {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 480px) {
  .blog-video__play {
    width: 68px;
    height: 68px;
  }
}
.blog-video {
  position: relative;
}
.blog-video__play {
  z-index: 2;
  pointer-events: auto;
}
.blog-video::before {
  content: "";
  position: absolute;
  inset: 0;
} /* гарант высоты клика */
.blog-swiper .swiper-wrapper {
  display: flex !important;
}
.blog-swiper .swiper-slide {
  flex: 0 0 auto;
}
.blog-video__play {
  z-index: 2;
}

/* ===== CATALOG PAGE ===== */
.catalog-page {
  background: #fff;
  padding: 70px 0 80px;
}
.catalog-page__title {
  margin: 0 0 30px;
  font-family: "Open Sans", system-ui, Arial, sans-serif;
  font-weight: 700;
  font-size: 64px;
  color: #111827;
}

/* якорь для стрелок */
.catalog-block {
  position: relative;
}

/* карусель */
.catalog-swiper {
  overflow: visible;
}
.catalog-swiper .swiper-wrapper {
  align-items: stretch;
}

/* стрелки — на половину «заходят» внутрь карусели */
.catalog-nav {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  cursor: pointer;
}
.catalog-prev {
  left: 0;
  transform: translate(-50%, -50%);
} /* центр кнопки совпадает с левым краем */
.catalog-next {
  right: 0;
  transform: translate(50%, -50%);
} /* центр с правым краем */

/* адаптив */
@media (max-width: 1280px) {
  .catalog-swiper .swiper-slide {
    width: 360px;
  }
  .catalog-prev,
  .catalog-next {
    display: none;
  } /* на планшете свайп */
}
@media (max-width: 640px) {
  .catalog-swiper .swiper-slide {
    width: 90vw;
  }
  .catalog-swiper .cat-tile__img {
    position: absolute;
    bottom: -10px;
    max-height: 100%;
    width: auto;
    object-fit: contain;
    pointer-events: none;
    width: 82px;
    height: 102px;
    right: -10px;
  }
}

/* фикс-ширина карточки, высота 266 */
.catalog-swiper .swiper-slide {
  width: 460px;
}
.catalog-swiper .cat-tile {
  position: relative;
  height: 265px;
  background: #e8ecf1;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
}
.catalog-swiper .cat-tile__link {
  display: flex;
  flex: 1;
  text-decoration: none;
  color: #111827;
}
.catalog-swiper .cat-tile__title {
  z-index: 2;
  max-width: 65%;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.35;
}
.catalog-swiper .cat-tile__img {
  position: absolute;
  bottom: -10px;
  max-height: 100%;
  width: auto;
  object-fit: contain;
  pointer-events: none;
  right: -10px;
}

/* стрелки (как раньше) */
.catalog-block {
  position: relative;
}
.catalog-nav {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  cursor: pointer;
}
.catalog-prev {
  left: 0;
  transform: translate(-50%, -50%);
}
.catalog-next {
  right: 0;
  transform: translate(50%, -50%);
}

@media (max-width: 1280px) {
  .catalog-swiper .swiper-slide {
    width: 360px;
  }
  .catalog-prev,
  .catalog-next {
    display: none;
  } /* на планшете свайп */
}
@media (max-width: 640px) {
  .catalog-swiper .swiper-slide {
    width: 164px;
    height: 162px;
  }
}

/* ===== Новости (внешний вид секции) ===== */
.news {
  padding: 70px 0;
  background: #fff;
  padding-bottom: 50px;
}
.news .container {
  position: relative;
}
.news__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 24px;
}
.news__title {
  margin: 0;
  font-weight: 800;
  font-size: clamp(24px, 3.5vw, 56px);
}
.news__all {
  height: 56px;
  padding: 0 22px;
  border-radius: 16px;
}

/* стрелки по центру секции, «полу-вылезают» из контейнера */
.news .pp-nav {
  top: 50%;
  transform: translateY(-50%);
}
.news .news-prev {
  left: calc(var(--container-pad, 240px) - 22px);
}
.news .news-next {
  right: calc(var(--container-pad, 240px) - 22px);
}
@media (max-width: 1280px) {
  .news .pp-nav {
    display: none;
  }
}

/* ===== Новости (карточка) ===== */
.news-swiper {
  overflow: hidden;
} /* чтобы не вылазили за контейнер */
.news-swiper .swiper-wrapper {
  gap: 0 !important;
  align-items: stretch;
}

.news-card {
  background: #e5e7eb; /* серый фон как на рефе */
  border-radius: 28px;
  padding: 14px; /* внутренняя рамка вокруг фото */
  display: flex;
  flex-direction: column;
  height: auto;
}

/* картинка: широкая, с большим радиусом, фиксированная высота */
.news-card__thumb {
  display: block;
}
.news-card__thumb img {
  object-fit: contain;
  display: block;
  border-radius: 24px;
  aspect-ratio: 1/1;
}

/* тело */
.news-card__body {
  padding: 15px 5px 18px;
}
.news-card__title {
  margin: 0 0 20px;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
  word-spacing: 2px;
  line-height: 1.15;
}
.news-card__title:hover {
  text-decoration: underline;
}
.news-card__date {
  color: #6b7280;
  font-size: 16px;
}

/* ===== Точные ширины слайдов: 4/3/2 ===== */
@media (min-width: 1280px) {
  /* 4 карточки: (100% - 3*30px)/4 */
  .news-swiper .swiper-slide {
    width: calc((100% - 90px) / 4) !important;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  /* 3 карточки */
  .news-swiper .swiper-slide {
    width: calc((100% - 60px) / 3) !important;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  /* 2 карточки */
  .news-swiper .swiper-slide {
    width: calc((100% - 30px) / 2) !important;
  }
}
/* на мобилке — авто-ширина от контента */

/* ====== MEGA MENU (Каталог) ====== */
.mega {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 12px); /* ниже второй линии шапки */
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.mega__inner {
  margin: 0 var(--container-pad, 240px);
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.12);
  display: grid;
  grid-template-columns: 280px 1fr;
  overflow: hidden;
}

/* показ */
.mega.is-open {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}

/* левая колонка */
.mega-left {
  background: #f3f6f9;
  padding: 12px;
}
.mega-left__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mega-left__item {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  font: 600 15px/1.2 Roboto, sans-serif;
  color: #0b0b0b;
  cursor: pointer;
}
.mega-left__item:hover {
  background: #e6f1ff;
}
.mega-left__item.is-active {
  background: #009fed;
  color: #fff;
}
.mega-left__count {
  font: 700 12px/1 Roboto, sans-serif;
  background: rgba(0, 0, 0, 0.08);
  color: inherit;
  padding: 4px 8px;
  border-radius: 999px;
}
.mega-left__item.is-active .mega-left__count {
  background: rgba(255, 255, 255, 0.25);
}

/* правая зона */
.mega-right {
  padding: 18px 18px 22px;
  background: #fff;
  min-height: 320px;
}
.mega-panel {
  display: none;
}
.mega-panel.is-active {
  display: block;
  animation: megaFade 0.18s ease;
}
@keyframes megaFade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.mega-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 6px 4px 14px;
}
.mega-panel__title {
  font: 700 20px/1.2 "Open Sans", system-ui, sans-serif;
  color: #0b0b0b;
  text-decoration: none;
}
.mega-panel__all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #e6f6ff;
  color: #046;
  text-decoration: none;
  font-weight: 600;
}

/* сетка карточек подкатегорий */
.mega-grid {
  --col: 4;
  display: grid;
  grid-template-columns: repeat(var(--col), minmax(0, 1fr));
  gap: 16px;
  padding: 0;
}
@media (max-width: 1400px) {
  .mega-grid {
    --col: 3;
  }
}
@media (max-width: 1100px) {
  .mega-grid {
    --col: 2;
  }
}

.mega-card {
  background: #f7fafc;
  border: 1px solid #edf2f7;
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.mega-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}

.mega-card__link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  padding: 10px;
  text-decoration: none;
  color: #0b0b0b;
}
.mega-card__img {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 10px;
}
.mega-card__img img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
.mega-card__name {
  font: 600 15px/1.25 Roboto, sans-serif;
}

/* позиционирование контейнера шапки, чтобы dropdown был относительно него */
.site-header {
  position: relative;
  z-index: 50;
}
.header-main {
  position: relative;
}

/* мета-строка: найдено + сброс */
.fltMeta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 30px 0 26px;
}
.fltMeta__left {
  font: 400 20px/1.3 Roboto, sans-serif;
  color: #111827;
}
.btnReset {
  color: #e11d48;
  text-decoration: none;
  font: 600 16px/1 Roboto, sans-serif;
}

/* ====== Сетка товаров каталога (ABER STYLE) ====== */
:root {
  --aber-dark: #0a1128;
  --aber-blue: #009fed;
  --aber-blue-hover: #0085c7;
  --aber-bg-img: #f8f9fa;
  --aber-text-gray: #6b7280;
  --aber-border: #eef0f3;
  --badge-green-bg: #e5f6ed;
  --badge-green-text: #0bb050;
  --badge-check-bg: #fff8e1;
  --badge-check-text: #f59e0b;
  --chip-segment-bg: #fff3e0;
  --chip-segment-text: #e65100;
  --chip-usp-bg: #e3f2fd;
  --chip-usp-text: #0277bd;
  --chip-tech-bg: #f1f5f9;
  --chip-tech-text: #334155;
  --spec-bg: #0f172a;
  --spec-text: #e2e8f0;
  --spec-label-text: #94a3b8;
  --spec-divider: rgba(255, 255, 255, 0.08);
  --btn-check-bg: #f59e0b;
  --btn-check-hover: #d97706;
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.plist__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(4, 1fr);
  align-items: flex-start;
  overflow: visible;
}
@media (max-width: 1199px) {
  .plist__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 991px) {
  .plist__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 575px) {
  .plist__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

.plist .aber-card-wrap {
  position: relative;
  min-height: 460px;
  overflow: visible;
}

.plist .aber-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 100%;
  height: auto;
  box-sizing: border-box;
  background: #fff;
  border-radius: 16px;
  border: 1px solid transparent;
  padding: 16px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  transition:
    width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.35s ease,
    border-color 0.2s ease,
    transform 0.35s ease;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03);
}

.plist .aber-card-wrap:hover .aber-card {
  width: calc(100% + 50px);
  min-height: calc(100% + 140px);
  border-color: var(--aber-border);
  box-shadow: 0 20px 40px rgba(10, 17, 40, 0.08);
  transform: translateY(-4px);
  z-index: 10;
}

.plist .aber-card__link {
  text-decoration: none;
  display: block;
}

.plist .aber-card__image-box {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: var(--aber-bg-img);
  border-radius: 12px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: var(--transition-smooth);
}

.plist .aber-card__image-box img {
  width: 90%;
  height: 90%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.plist .aber-card-wrap:hover .aber-card__image-box img {
  transform: scale(1.06);
}

.plist .ab-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  color: #fff;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 8px;
  z-index: 2;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.plist .ab-card-badge--top-prodazh { background: #22c55e; }
.plist .ab-card-badge--akciya { background: #f97316; }
.plist .ab-card-badge--rekomenduem { background: var(--aber-blue, #009FED); }
.plist .ab-card-badge--snyat-s-proizvodstva { background: #6b7280; }

.plist .aber-card__badge-sale {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--aber-blue);
  color: #fff;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  padding: 4px 10px;
  border-radius: 8px;
  z-index: 2;
}
.plist .aber-card__image-box:has(.ab-card-badge) .aber-card__badge-sale { left: auto; right: 12px; }

.plist .aber-card__badges {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
}

.plist .aber-card__image-box:has(.ab-card-badge) .aber-card__badges {
  top: 44px;
}

/* Компактные характеристики на карточке (hover / всегда на мобиле) */
.plist .aber-card__hover-specs {
  margin-top: 8px;
  margin-bottom: 6px;
  font-family: var(--font-ui);
  font-size: 11px;
  color: #6b7280;
  line-height: 1.4;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(4px);
  transition: max-height 0.3s ease, opacity 0.25s ease, transform 0.25s ease;
}

.plist .aber-card-wrap:hover .aber-card__hover-specs {
  max-height: 120px;
  opacity: 1;
  transform: translateY(0);
}

.plist .hover-spec-row {
  display: flex;
  justify-content: space-between;
  gap: 6px;
}

.plist .hover-spec-label {
  color: #9ca3af;
}

.plist .hover-spec-value {
  color: #111827;
  font-weight: 600;
}

.plist .badge-stock {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 100px;
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.plist .badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.plist .badge-instock {
  background: var(--badge-green-bg);
  color: var(--badge-green-text);
}

.plist .badge-instock .badge-dot {
  background: var(--badge-green-text);
}

.plist .badge-check {
  background: var(--badge-check-bg);
  color: var(--badge-check-text);
}

.plist .badge-check .badge-dot {
  background: var(--badge-check-text);
}

.plist .aber-card__title {
  font-family: var(--font-ui);
  font-size: 15px;
  font-weight: 600;
  color: var(--aber-dark);
  line-height: 1.4;
  margin: 0 0 10px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.plist .aber-card-wrap:hover .aber-card__title {
  color: var(--aber-blue);
  -webkit-line-clamp: unset;
  display: block;
  overflow: visible;
}

.plist .aber-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
  min-height: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: var(--transition-smooth);
}

.plist .aber-card-wrap:hover .aber-card__chips {
  max-height: 80px;
  opacity: 1;
  min-height: 28px;
}

.plist .aber-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
  line-height: 1.3;
}

.plist .aber-chip--segment {
  background: var(--chip-segment-bg);
  color: var(--chip-segment-text);
}

.plist .aber-chip--usp {
  background: var(--chip-usp-bg);
  color: var(--chip-usp-text);
}

.plist .aber-chip--tech {
  background: var(--chip-tech-bg);
  color: var(--chip-tech-text);
}

.plist .aber-card__price-block {
  position: relative;
  margin-top: auto;
}

.plist .price-main .amount {
  font-family: var(--font-ui);
  font-size: 28px;
  font-weight: 800;
  color: var(--aber-dark);
  line-height: 1;
  letter-spacing: -0.5px;
}

.plist .price-main del .amount {
  font-size: 14px;
  color: var(--aber-text-gray);
  text-decoration: line-through;
  font-weight: 500;
  margin-right: 8px;
}

.plist .price-tax-note {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 600;
  color: var(--badge-green-text);
  margin-top: 6px;
  opacity: 0;
  height: 0;
  transform: translateY(-5px);
  transition: var(--transition-smooth);
}

.plist .aber-card-wrap:hover .price-tax-note {
  opacity: 1;
  height: auto;
  transform: translateY(0);
}

.plist .aber-card__drawer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: var(--transition-smooth);
  margin-top: 0;
}

.plist .aber-card-wrap:hover .aber-card__drawer {
  max-height: 350px;
  opacity: 1;
  margin-top: 16px;
}

.plist .aber-card__divider {
  height: 1px;
  background: var(--aber-border);
  margin-bottom: 12px;
}

.plist .aber-card__specs {
  background: var(--spec-bg);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 12px;
}

.plist .spec-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 5px 0;
  border-bottom: 1px solid var(--spec-divider);
}

.plist .spec-row:last-child {
  border-bottom: none;
}

.plist .spec-label {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 400;
  color: var(--spec-label-text);
  white-space: nowrap;
  margin-right: 12px;
}

.plist .spec-value {
  font-family: var(--font-data);
  font-size: 12px;
  font-weight: 600;
  color: var(--spec-text);
  text-align: right;
}

.plist .aber-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-data);
  font-size: 12px;
  margin-bottom: 12px;
}

.plist .meta-label {
  color: var(--aber-text-gray);
  font-weight: 500;
}

.plist .meta-value {
  color: var(--aber-dark);
  font-weight: 600;
  letter-spacing: 0.5px;
}

.plist .aber-card__actions .btn-aber-cart {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 8px;
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

.plist .aber-card__actions .btn-aber-cart--buy,
.plist .aber-card__actions .add_to_cart_button {
  background: var(--aber-blue);
  color: #fff;
}

.plist .aber-card__actions .btn-aber-cart--buy:hover,
.plist .aber-card__actions .add_to_cart_button:hover {
  background: var(--aber-blue-hover);
  box-shadow: 0 4px 12px rgba(0, 159, 237, 0.3);
}

.plist .aber-card__actions .btn-aber-cart--check {
  background: var(--btn-check-bg);
  color: #fff;
}

.plist .aber-card__actions .btn-aber-cart--check:hover {
  background: var(--btn-check-hover);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.plist__empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--clr-text-muted);
}

@media (max-width: 991px) {
  .plist .aber-card-wrap {
    min-height: auto;
  }
  .plist .aber-card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    min-height: auto;
    padding: 12px;
  }
  .plist .aber-card-wrap:hover .aber-card {
    width: 100%;
    min-height: auto;
    transform: none;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03);
    z-index: auto;
  }
  .plist .aber-card__image-box {
    margin-bottom: 12px;
  }
  .plist .price-main .amount {
    font-size: 22px;
  }
  .plist .aber-card__title {
    font-size: 13px;
    -webkit-line-clamp: 2;
    margin-bottom: 6px;
  }
  .plist .aber-card-wrap:hover .aber-card__title {
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
  }
  .plist .aber-card__chips {
    max-height: 60px;
    opacity: 1;
    min-height: 0;
    margin-bottom: 8px;
  }
  .plist .aber-chip {
    font-size: 10px;
    padding: 3px 7px;
  }
  .plist .aber-chip:nth-child(n+3) {
    display: none;
  }
  .plist .price-tax-note {
    opacity: 1;
    height: auto;
    transform: translateY(0);
    font-size: 10px;
  }
  .plist .aber-card__drawer {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
  }
  .plist .aber-card-wrap.is-open .aber-card__drawer {
    max-height: 350px;
    opacity: 1;
    margin-top: 12px;
  }
  .plist .aber-card-wrap:hover .aber-card__image-box img {
    transform: none;
  }
  .plist .aber-card-wrap:hover .aber-card__chips {
    max-height: 60px;
  }
  /* На мобильных компактные характеристики всегда видны (нет hover) */
  .plist .aber-card__hover-specs {
    max-height: none;
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 575px) {
  .plist .aber-card {
    padding: 10px;
    border-radius: 12px;
  }
  .plist .aber-card__image-box {
    border-radius: 8px;
    margin-bottom: 10px;
  }
  .plist .price-main .amount {
    font-size: 18px;
  }
  .plist .aber-card__title {
    font-size: 12px;
    line-height: 1.35;
  }
  .plist .aber-chip {
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 4px;
  }
  .plist .aber-card__specs {
    padding: 10px 12px;
  }
  .plist .spec-label,
  .plist .spec-value {
    font-size: 11px;
  }
  .plist .aber-card__actions .btn-aber-cart {
    padding: 12px;
    font-size: 13px;
  }
}

/* Скрываем пустые контейнеры чипов и ТТХ */
.plist .aber-card__specs:empty {
  display: none;
  padding: 0;
  margin: 0;
}
.plist .aber-card__chips:empty {
  display: none;
  margin: 0;
}

/* ====== Карточка товара (product-card — каталог) ====== */
.plist .product-card {
  background: #fff;
  border: 1px solid #e0e4e8;
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  font-family: 'Inter', var(--font-ui), sans-serif;
}

.plist .product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0,150,231,0.15);
  border-color: #0096e7;
}

.plist .product-card__link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  color: inherit;
}

.plist .product-card .card-image-wrapper {
  position: relative;
  height: 240px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.plist .product-card .card-image-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.plist .product-card .card-image-inner img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.plist .product-card .stock-status {
  position: absolute;
  top: 15px;
  right: 15px;
  background: #e6f7ef;
  color: #00b862;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 5px;
  z-index: 2;
}

.plist .product-card .stock-dot {
  width: 6px;
  height: 6px;
  background: #00b862;
  border-radius: 50%;
}

.plist .product-card .stock-wait {
  background: #f1f5f9;
  color: var(--aber-text-gray, #6b7280);
}

.plist .product-card .stock-wait .stock-dot { background: currentColor; }

.plist .product-card .badges {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 2;
}

.plist .product-card .badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.plist .product-card .badge-hit { background: #0096e7; color: #fff; }
.plist .product-card .badge-sale { background: #0096e7; color: #fff; }
.plist .product-card .badge-video {
  background: #1a1a2e;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.plist .product-card .card-content {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.plist .product-card .brand-name {
  font-size: 12px;
  color: #8896a6;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.plist .product-card .product-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.4;
  margin: 0 0 15px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s ease;
}

.plist .product-card:hover .product-title {
  color: #0096e7;
}

.plist .product-card .specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
  background: #f8f9fb;
  padding: 10px;
  border-radius: 8px;
}

.plist .product-card .spec-item {
  display: flex;
  flex-direction: column;
}

.plist .product-card .spec-label {
  font-size: 10px;
  color: #8896a6;
}

.plist .product-card .spec-value {
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

.plist .product-card .price-block {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 15px;
  gap: 12px;
}

.plist .product-card .price-main { font-size: 24px; font-weight: 800; color: #1a1a2e; }
.plist .product-card .price-main .amount { font-size: 24px; font-weight: 800; color: #1a1a2e; }
.plist .product-card .price-main del .amount { font-size: 14px; color: #8896a6; text-decoration: line-through; font-weight: 500; }

.plist .product-card .vat-info {
  font-size: 11px;
  color: #8896a6;
  display: block;
  margin-top: 2px;
}

.plist .product-card .leasing-info {
  font-size: 11px;
  color: #0096e7;
  font-weight: 600;
  text-align: right;
  cursor: pointer;
  border-bottom: 1px dashed #0096e7;
}

.plist .product-card__footer {
  padding: 0 20px 20px;
  border-top: 1px solid #f0f0f0;
}

.plist .product-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  margin-bottom: 12px;
  margin-top: 12px;
}

.plist .product-card__meta .meta-label { color: #8896a6; font-weight: 500; }
.plist .product-card__meta .meta-value { color: #1a1a2e; font-weight: 600; letter-spacing: 0.5px; }

.plist .product-card__actions .btn-cart,
.plist .product-card__actions .btn,
.plist .product-card__actions .button,
.plist .product-card__actions .add_to_cart_button {
  width: 100%;
  background: #0096e7;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-family: inherit;
}

.plist .product-card__actions .btn-cart:hover,
.plist .product-card__actions .btn:hover,
.plist .product-card__actions .button:hover,
.plist .product-card__actions .add_to_cart_button:hover {
  background: #007bbd;
}

@media (max-width: 991px) {
  .plist .product-card .card-image-wrapper { height: 200px; padding: 12px; }
  .plist .product-card .card-content { padding: 14px; }
  .plist .product-card .product-title { font-size: 15px; }
  .plist .product-card .specs-grid { margin-bottom: 12px; padding: 8px; gap: 8px; }
  .plist .product-card .price-main .amount { font-size: 20px; }
  .plist .product-card__footer { padding: 0 14px 14px; }
}

/* ====== Expert card (рендер + живое фото, ТТХ при hover) ====== */
.plist .expert-card {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  background: #fff;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  border: 1px solid #eef1f6;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  font-family: 'Manrope', var(--font-ui), sans-serif;
}

.plist .expert-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 75, 147, 0.15);
  border-color: #dceefb;
}

.plist .expert-card .card-media {
  height: 260px;
  position: relative;
  overflow: hidden;
  background: #fff;
}

.plist .expert-card .expert-card__img-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
  color: inherit;
}

.plist .expert-card .img-render-wrap,
.plist .expert-card .img-live-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  transition: opacity 0.4s ease;
}

.plist .expert-card .img-render-wrap img,
.plist .expert-card .img-live-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.plist .expert-card .img-live-wrap {
  padding: 0;
  opacity: 0;
  z-index: 2;
}

.plist .expert-card .img-live-wrap img {
  object-fit: cover;
}

.plist .expert-card:hover .img-render-wrap { opacity: 0; }
.plist .expert-card:hover .img-live-wrap { opacity: 1; }

.plist .expert-card .badges {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.plist .expert-card .badge {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 6px;
  letter-spacing: 0.5px;
}

.plist .expert-card .badge-stock { background: #e6f7ef; color: #00b862; }
.plist .expert-card .badge-stock-wait { background: #f1f5f9; color: #6b7280; }
.plist .expert-card .badge-video { background: #1a1a2e; color: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.2); }
.plist .expert-card .badge-sale { background: #0096e7; color: #fff; }

.plist .expert-card .media-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  opacity: 0;
  z-index: 3;
  transition: opacity 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
}

.plist .expert-card:hover .media-overlay { opacity: 1; }

.plist .expert-card .btn-play-video {
  background: rgba(255,255,255,0.2);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255,255,255,0.5);
  color: #fff;
  padding: 12px 24px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transform: scale(0.9);
  transition: transform 0.2s, background 0.2s, border-color 0.2s;
  cursor: pointer;
  text-decoration: none;
  margin-top: auto;
}

.plist .expert-card:hover .btn-play-video { transform: scale(1); }
.plist .expert-card .btn-play-video:hover {
  background: #0096e7;
  border-color: #0096e7;
  color: #fff;
  transform: scale(1);
}

.plist .expert-card .tech-specs-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  z-index: 5;
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.plist .expert-card:hover .tech-specs-overlay { transform: translateY(0); }

.plist .expert-card .specs-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.plist .expert-card .spec-tag {
  background: rgba(255,255,255,0.95);
  color: #1a1a2e;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.plist .expert-card .spec-tag span {
  font-size: 9px;
  color: #666;
  font-weight: 400;
  margin-bottom: 2px;
}

.plist .expert-card .card-info {
  padding: 20px;
  background: #fff;
  z-index: 6;
  position: relative;
}

.plist .expert-card .expert-card__title-link {
  text-decoration: none;
  color: inherit;
}

.plist .expert-card .product-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.4;
  margin: 0 0 8px 0;
  height: 44px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: color 0.2s ease;
}

.plist .expert-card .expert-card__title-link:hover .product-title { color: #0096e7; }

.plist .expert-card .finance-block {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px dashed #eee;
}

.plist .expert-card .price-wrapper { display: flex; flex-direction: column; }
.plist .expert-card .price { font-size: 22px; font-weight: 800; color: #1a1a2e; }
.plist .expert-card .price .amount { font-size: 22px; font-weight: 800; color: #1a1a2e; }
.plist .expert-card .price del .amount { font-size: 14px; color: #6b7280; text-decoration: line-through; font-weight: 500; }

.plist .expert-card .leasing-offer {
  font-size: 11px;
  color: #0096e7;
  font-weight: 600;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.plist .expert-card .leasing-offer svg { flex-shrink: 0; }

.plist .expert-card .product-card__actions--icon {
  flex-shrink: 0;
}

.plist .expert-card .action-btn,
.plist .expert-card .product-card__actions--icon .button,
.plist .expert-card .product-card__actions--icon .add_to_cart_button {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border-radius: 10px;
  border: none;
  background: #f0f2f5;
  color: #1a1a2e;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0;
  box-sizing: border-box;
}

.plist .expert-card .action-btn::before,
.plist .expert-card .product-card__actions--icon .button::before,
.plist .expert-card .product-card__actions--icon .add_to_cart_button::before {
  content: '';
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'%3E%3C/circle%3E%3Ccircle cx='20' cy='21' r='1'%3E%3C/circle%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'%3E%3C/path%3E%3C/svg%3E") center/contain no-repeat;
}

.plist .expert-card:hover .action-btn,
.plist .expert-card:hover .product-card__actions--icon .button,
.plist .expert-card:hover .product-card__actions--icon .add_to_cart_button {
  background: #0096e7;
  color: #fff;
}

.plist .expert-card .action-btn:hover,
.plist .expert-card .product-card__actions--icon .button:hover,
.plist .expert-card .product-card__actions--icon .add_to_cart_button:hover {
  background: #007bbd;
  color: #fff;
}

@media (max-width: 991px) {
  .plist .expert-card .card-media { height: 220px; }
  .plist .expert-card .product-title { font-size: 15px; height: 40px; }
  .plist .expert-card .price .amount { font-size: 20px; }
}

/* ====== Smart card (card-placeholder + раскрывающийся x-ray) ====== */
.plist .card-placeholder {
  width: 100%;
  height: 420px;
  position: relative;
}

.plist .smart-card {
  width: 100%;
  height: 100%;
  background: #fff;
  border: 1px solid #e0e4e8;
  border-radius: 12px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', var(--font-ui), sans-serif;
}

.plist .card-placeholder:hover .smart-card {
  width: calc(100% + 40px);
  min-width: 340px;
  height: auto;
  min-height: 520px;
  top: -20px;
  left: -20px;
  z-index: 100;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  border-color: #0096e7;
}

.plist .smart-card .card-visual {
  height: 240px;
  position: relative;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  text-decoration: none;
  color: inherit;
}

.plist .smart-card .card-visual .product-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: transform 0.3s;
  mix-blend-mode: multiply;
}

.plist .card-placeholder:hover .smart-card .product-img {
  transform: scale(1.05);
}

.plist .smart-card .badges {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 2;
}

.plist .smart-card .badge {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  color: #fff;
}

.plist .smart-card .badge.bg-blue { background: #0096e7; }
.plist .smart-card .badge.bg-dark { background: #1a1a2e; }

.plist .smart-card .card-body {
  padding: 15px 20px;
  flex-grow: 1;
  background: #fff;
  min-height: 0;
}

.plist .smart-card .category {
  font-size: 11px;
  color: #8896a6;
  margin-bottom: 5px;
}

.plist .smart-card .title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.4;
  margin: 0 0 10px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.plist .smart-card .title a {
  color: inherit;
  text-decoration: none;
}

.plist .smart-card .title a:hover { color: #0096e7; }

.plist .smart-card .x-ray-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.3s ease 0.1s, opacity 0.3s ease 0.1s, border-color 0.2s, padding 0.2s;
  border-top: 1px solid transparent;
}

.plist .card-placeholder:hover .smart-card .x-ray-content {
  max-height: 500px;
  opacity: 1;
  border-top-color: #f0f0f0;
  padding-top: 15px;
}

.plist .smart-card .specs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 15px;
}

.plist .smart-card .spec-row {
  font-size: 12px;
  line-height: 1.3;
}

.plist .smart-card .spec-label {
  color: #8896a6;
  display: block;
  font-size: 10px;
}

.plist .smart-card .spec-val {
  font-weight: 600;
  color: #333;
}

.plist .smart-card .video-preview-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  background: #f8f9fa;
  border: 1px dashed #ced4da;
  padding: 10px;
  border-radius: 8px;
  margin-bottom: 0;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
  color: inherit;
}

.plist .smart-card .video-preview-btn:hover {
  background: #eef1f6;
  border-color: #0096e7;
}

.plist .smart-card .play-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  background: #e53935;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 10px;
}

.plist .smart-card .video-text {
  font-size: 12px;
  font-weight: 600;
  color: #333;
}

.plist .smart-card .card-footer {
  padding: 20px;
  background: #fff;
  margin-top: auto;
}

.plist .smart-card .price-block {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 15px;
}

.plist .smart-card .price {
  font-size: 20px;
  font-weight: 800;
  color: #1a1a2e;
}

.plist .smart-card .price .amount { font-size: 20px; font-weight: 800; }
.plist .smart-card .price del .amount { font-size: 14px; color: #8896a6; text-decoration: line-through; font-weight: 500; }

.plist .smart-card .leasing {
  font-size: 11px;
  color: #0096e7;
  border-bottom: 1px dashed currentColor;
  cursor: pointer;
}

.plist .smart-card .btn-buy,
.plist .smart-card .smart-card__actions .button,
.plist .smart-card .smart-card__actions .add_to_cart_button {
  width: 100%;
  background: #1a1a2e;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
}

.plist .smart-card .btn-buy:hover,
.plist .smart-card .smart-card__actions .button:hover,
.plist .smart-card .smart-card__actions .add_to_cart_button:hover {
  background: #0096e7;
}

@media (max-width: 991px) {
  .plist .card-placeholder { height: 400px; }
  .plist .card-placeholder:hover .smart-card { min-width: 300px; width: calc(100% + 24px); left: -12px; top: -12px; min-height: 480px; }
  .plist .smart-card .card-visual { height: 200px; padding: 12px; }
  .plist .smart-card .title { font-size: 14px; }
  .plist .smart-card .price .amount { font-size: 18px; }
}

/* ====== Горизонтальное раскрытие (card-wrapper + product-card--expand) ====== */
/* Как карточка категории №6: перекрывает соседей (не расталкивает), плавная анимация */
.plist .card-wrapper {
  --expand-ease: cubic-bezier(0.4, 0, 0.2, 1); /* как в catalog-grid-16 */
  --expand-dur: 0.4s;
  position: relative;
  width: 100%;
  height: 480px;
  z-index: 1;
  overflow: visible; /* раскрытая карточка не обрезается, перекрывает соседей */
}

.plist .card-wrapper:hover {
  z-index: 100;
}

.plist .product-card--expand {
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #e0e4e8;
  border-radius: 8px;
  overflow: hidden;
  transition:
    width var(--expand-dur) var(--expand-ease),
    min-width var(--expand-dur) var(--expand-ease),
    height var(--expand-dur) var(--expand-ease),
    min-height var(--expand-dur) var(--expand-ease),
    transform var(--expand-dur) var(--expand-ease),
    box-shadow var(--expand-dur) var(--expand-ease),
    border-color var(--expand-dur) var(--expand-ease),
    flex-direction 0s linear 0.001s;
  display: flex;
  flex-direction: column;
  font-family: 'Inter', var(--font-ui), sans-serif;
}

.plist .card-wrapper:hover .product-card--expand {
  width: 200%;
  min-width: 340px;
  height: auto;
  min-height: 100%;
  transform: translateY(-4px); /* лёгкий подъём как у карточки категории №6 */
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.15);
  border-color: #0096e7;
  flex-direction: row;
}

.plist .product-card--expand .card-visual {
  width: 100%;
  height: 280px;
  position: relative;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #f0f0f0;
  transition:
    width var(--expand-dur) var(--expand-ease),
    height var(--expand-dur) var(--expand-ease),
    min-height var(--expand-dur) var(--expand-ease),
    border-color 0.2s ease,
    border-width 0.2s ease,
    background 0.25s ease;
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}

.plist .card-wrapper:hover .product-card--expand .card-visual {
  width: 45%;
  height: auto;
  min-height: 280px;
  border-bottom: none;
  border-right: 1px solid #f0f0f0;
  background: #fcfcfc;
}

.plist .product-card--expand .product-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.plist .product-card--expand .badges {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.plist .product-card--expand .badge {
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  color: #fff;
  text-transform: uppercase;
}

.plist .product-card--expand .b-hit,
.plist .product-card--expand .b-sale { background: #0096e7; }
.plist .product-card--expand .b-video { background: #1a1a2e; display: inline-flex; align-items: center; gap: 4px; }

.plist .product-card--expand .video-overlay-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: rgba(0, 150, 231, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.3s var(--expand-ease) 0.12s; /* появляется чуть после раскрытия */
  box-shadow: 0 0 0 5px rgba(0,150,231,0.3);
}

.plist .card-wrapper:hover .product-card--expand .video-overlay-btn {
  opacity: 1;
}

.plist .product-card--expand .video-overlay-btn:hover {
  background: #0096e7;
  color: #fff;
}

.plist .product-card--expand .card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  transition: width var(--expand-dur) var(--expand-ease);
}

.plist .card-wrapper:hover .product-card--expand .card-content {
  width: 55%;
  background: #fff;
}

.plist .product-card--expand .brand {
  font-size: 11px;
  color: #8896a6;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 5px;
}

.plist .product-card--expand .title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.4;
  margin: 0 0 15px 0;
  height: 42px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: height var(--expand-dur) var(--expand-ease), font-size 0.35s var(--expand-ease);
}

.plist .card-wrapper:hover .product-card--expand .title {
  height: auto;
  font-size: 16px;
  -webkit-line-clamp: unset;
}

.plist .product-card--expand .title a {
  color: inherit;
  text-decoration: none;
}

.plist .product-card--expand .title a:hover { color: #0096e7; }

.plist .product-card--expand .specs-table {
  max-height: 0;
  opacity: 0;
  margin-bottom: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  overflow: hidden;
  transition:
    max-height 0.4s var(--expand-ease) 0.08s,
    opacity 0.35s var(--expand-ease) 0.1s,
    margin-bottom 0.3s var(--expand-ease),
    border-color 0.2s ease;
}

.plist .card-wrapper:hover .product-card--expand .specs-table {
  max-height: 320px;
  opacity: 1;
  margin-bottom: 20px;
  border-color: #eee;
}

.plist .product-card--expand .spec-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  font-size: 12px;
  border-bottom: 1px solid #eee;
}

.plist .product-card--expand .spec-row:last-child { border-bottom: none; }
.plist .product-card--expand .spec-row:nth-child(odd) { background: #f9f9f9; }

.plist .product-card--expand .spec-name { color: #666; }
.plist .product-card--expand .spec-val { font-weight: 600; color: #333; }

.plist .product-card--expand .footer { margin-top: auto; }

.plist .product-card--expand .price-block { margin-bottom: 15px; }

.plist .product-card--expand .price {
  font-size: 22px;
  font-weight: 800;
  color: #1a1a2e;
}

.plist .product-card--expand .price .amount { font-size: 22px; font-weight: 800; }
.plist .product-card--expand .price del .amount { font-size: 14px; color: #8896a6; text-decoration: line-through; font-weight: 500; }

.plist .product-card--expand .leasing-tag {
  display: inline-block;
  background: #eef8ff;
  color: #0096e7;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 4px;
  margin-top: 5px;
}

.plist .product-card--expand .actions {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 10px;
}

.plist .product-card--expand .btn-cart,
.plist .product-card--expand .actions__cart .button,
.plist .product-card--expand .actions__cart .add_to_cart_button {
  width: 100%;
  background: #1a1a2e;
  color: #fff;
  border: none;
  padding: 12px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
  font-family: inherit;
}

.plist .product-card--expand .btn-cart:hover,
.plist .product-card--expand .actions__cart .button:hover,
.plist .product-card--expand .actions__cart .add_to_cart_button:hover {
  background: #0096e7;
}

.plist .product-card--expand .btn-fav,
.plist .product-card--expand .actions__fav .btn-fav,
.plist .product-card--expand .actions__fav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  background: #f0f2f5;
  border: none;
  border-radius: 6px;
  color: #8896a6;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s, background 0.2s;
}

.plist .product-card--expand .actions__fav .yith-wcwl-add-button > a,
.plist .product-card--expand .actions__fav .yith-wcwl-add-to-wishlist > a,
.plist .product-card--expand .actions__fav .tinvwl_add_to_wishlist-button {
  min-height: 44px;
  padding: 0 12px;
  background: #f0f2f5 !important;
  border-radius: 6px;
  color: #8896a6 !important;
}

.plist .product-card--expand .btn-fav:hover,
.plist .product-card--expand .actions__fav a:hover {
  color: #ff4757;
  background: #fff0f1;
}

@media (max-width: 991px) {
  .plist .card-wrapper { height: 420px; }
  .plist .card-wrapper:hover .product-card--expand { width: 100%; min-width: 0; flex-direction: column; }
  .plist .card-wrapper:hover .product-card--expand .card-visual { width: 100%; min-height: 200px; height: 200px; border-right: none; border-bottom: 1px solid #f0f0f0; }
  .plist .card-wrapper:hover .product-card--expand .card-content { width: 100%; }
  .plist .product-card--expand .card-visual { height: 200px; }
  .plist .product-card--expand .title { height: 38px; font-size: 14px; }
  .plist .product-card--expand .price .amount { font-size: 18px; }
}

/* Fallback для старых card (другие секции) */
.card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.card__price { margin: 12px 0 6px; font: 700 22px/1 Roboto, sans-serif; color: #111827; }
.card__title { margin: 12px 0 11px; font: 700 18px/1.25 Roboto, sans-serif; }
.card__rating { margin-top: auto; display: flex; align-items: center; gap: 8px; color: #6b7280; }
.card__star { flex: 0 0 auto; }
.card__rate { font: 700 18px/1 Roboto, sans-serif; color: #111827; }
.card__reviews { font: 400 14px/1.2 Roboto, sans-serif; }

/* === ФИЛЬТРЫ (канон) ===================================== */
.flt {
  padding-top: 30px;
}
.flt__wrap {
  background: #e5e7eb;
  border-radius: 18px;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  column-gap: 20px;
  row-gap: 16px;
  align-items: start;
}
.ctl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.ctl__label {
  font: 400 16px/1.2 Roboto, sans-serif;
  padding-left: 10px;
  color: #111827;
}
.ctl__box {
  width: 328px;
  height: 60px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 14px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  position: relative;
}
.ctl__input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font: 400 17.5px/1.1 Roboto, sans-serif;
  color: #111827;
}

/* селекты */
.ctl__input--select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 22px;
}
.ctl__box--select::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2301182B' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E")
    center/18px 18px no-repeat;
  pointer-events: none;
}

/* === Цена внутри тайла (fixed) ============================= */

/* Контейнер цены — добавляем место под слайдер и убираем «трясучку» */
.ctl--price .ctl__box {
  position: relative;
  padding: 12px 18px 46px; /* низ под слайдер, чтобы инпуты не толкались */
  display: flex;
  align-items: center;
  gap: 10px;
}

/* подписи ближе к числам */
.priceHint {
  font: 400 20px/1.1 Roboto, sans-serif;
  color: #9ca3af;
  margin-right: 6px; /* было 8px */
}

/* разделитель — строго по центру блока, компактнее по бокам */
.priceDivider {
  width: 1px;
  height: 28px;
  background: #c9cdd3;
  border-radius: 1px;
  margin: 0 -5px; /* было 16px */
  align-self: center;
}

/* числа: без бордеров и заливки, не прыгают поверх слайдера */
.priceNum {
  width: 118px;
  height: 36px;
  padding: 0 6px;
  border: 0;
  box-shadow: none;
  outline: 0;
  background: transparent;
  font: 500 17px/1.1 Roboto, sans-serif;
  color: #111827;
  position: relative;
  z-index: 2; /* всегда выше слайдера */
}

/* глушим любые старые стили */
.priceRow {
  display: none !important;
}
.flt__wrap .price {
  all: unset;
}

/* ===== Слайдер — лежит ПРЯМО НА НИЖНЕМ БОРДЕРЕ плитки ===== */
.ctl__box--price {
  position: relative;
}

.ctl__box--price .price {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 0; /* прижат к внутреннему низу */
  height: 22px; /* зона под хэндлы */
  z-index: 1; /* ниже инпутов */
}

/* трек проходит ровно по линии нижнего бордера */
.ctl__box--price .price__track {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.5px); /* было: 100% / стало +0.5px */
  transform: translateY(-50%); /* оставляем центрирование по высоте */
  height: 6px;
  background: #ddeaf6;
  border-radius: 999px;
}

/* активная полоса */
.ctl__box--price .price__bar {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 3px - 2.5px); /* было: calc(100% - 3px) */
  height: 4px;
  background: #009fed;
  border-radius: 999px;
  pointer-events: none;
}

/* двойной range заполняет всю ширину и «щупает» трек */
.ctl__box--price .price__range {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 23px + 0.5px); /* было: calc(100% - 13px) */
  height: 26px;
  margin: 0;
  background: transparent;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
}
/* важно, чтобы кружки не обрезались */
.ctl__box {
  overflow: visible;
}
.ctl__box--price .price__range::-webkit-slider-runnable-track {
  background: transparent;
  height: 6px;
}
.ctl__box--price .price__range::-moz-range-track {
  background: transparent;
  height: 6px;
}

.ctl__box--price .price__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 36px;
  height: 20px; /* шире, ниже */
  border-radius: 12px; /* овальный */
  background: #fff;
  border: 3px solid #009fed;
  cursor: pointer;
}
.ctl__box--price .price__range::-moz-range-thumb {
  width: 36px;
  height: 20px;
  border-radius: 12px;
  background: #fff;
  border: 3px solid #009fed;
  cursor: pointer;
}

.ctl__box {
  overflow: visible;
}

/* адаптив */
@media (max-width: 1440px) {
  .flt__wrap {
    grid-template-columns: repeat(3, 328px);
  }
}
@media (max-width: 1100px) {
  .flt__wrap {
    grid-template-columns: repeat(2, 328px);
  }
}
@media (max-width: 720px) {
  .flt__wrap {
    grid-template-columns: 328px;
  }
}

/* трек и полоса ниже по слою, чем ручки */
.ctl__box--price .price__track,
.ctl__box--price .price__bar {
  z-index: -1;
}
/* кликаем только по «пилюлям», не по всей полосе */
.ctl__box--price .price__range {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 24px); /* центр по бордеру */
  height: 36px; /* побольше зона захвата */
  margin: 0;
  background: transparent;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
  pointer-events: none; /* << важно: клики ловят ТОЛЬКО "пилюли" */
}

/* сами «пилюли» кликабельные */
.ctl__box--price .price__range::-webkit-slider-thumb {
  pointer-events: auto; /* << включили */
  width: 36px;
  height: 20px;
  border-radius: 12px;
  background: #fff;
  border: 3px solid #009fed;
  cursor: pointer;
}
.ctl__box--price .price__range::-moz-range-thumb {
  pointer-events: auto; /* ff */
  width: 36px;
  height: 20px;
  border-radius: 12px;
  background: #fff;
  border: 3px solid #009fed;
  cursor: pointer;
}
/* блок цены */
.ctl--price .ctl__box {
  height: 60px; /* фикс высота */
  display: flex;
  align-items: center; /* центрируем всё по вертикали */
  padding: 0 18px; /* только горизонтальные отступы */
  position: relative;
  gap: 10px; /* небольшой промежуток */
}

/* подписи "от/до" */
.priceHint {
  font: 400 20px/1.1 Roboto, sans-serif;
  color: #9ca3af;
  margin: 0 4px;
}

/* разделитель — строго по центру */
.priceDivider {
  width: 1px;
  height: 28px; /* меньше чем вся коробка */
  background: #c9cdd3;
  border-radius: 1px;
  flex: 0 0 auto;
}

/* слои: левый выше правого по умолчанию (дальше JS будет менять) */
#rmin {
  z-index: 5;
}
#rmax {
  z-index: 4;
}

/* FOOTER — premium redesign */
.site-footer {
  position: relative;
  background: #080C14;
  color: #E5E7EB;
  overflow: hidden;
  margin-top: 20px;
}

.site-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 159, 237, 0) 10%,
    rgba(0, 159, 237, 0.5) 50%,
    rgba(0, 159, 237, 0) 90%,
    transparent 100%
  );
}

.site-footer::after {
  content: "";
  position: absolute;
  top: -160px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(
    ellipse at center,
    rgba(0, 159, 237, 0.06) 0%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 0;
}

.footer-container {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  padding: 72px 24px 40px;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
}

@media (max-width: 1199px) {
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

.footer-column {
  opacity: 0;
  transform: translateY(24px);
  animation: abFooterFadeUp 0.6s ease forwards;
}

.footer-column:nth-child(1) { animation-delay: 0.1s; }
.footer-column:nth-child(2) { animation-delay: 0.2s; }
.footer-column:nth-child(3) { animation-delay: 0.3s; }
.footer-column:nth-child(4) { animation-delay: 0.4s; }

@keyframes abFooterFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.footer-column h3 {
  font-family: "Manrope", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  margin: 0 0 20px;
  padding-bottom: 12px;
  position: relative;
}

.footer-column h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background: #009FED;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-column:hover h3::after {
  width: 48px;
}

.footer-column ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-column ul li {
  margin-bottom: 0;
}

.footer-column ul li a {
  display: inline-flex;
  align-items: center;
  padding: 7px 0;
  font-size: 0.88rem;
  font-weight: 500;
  color: #9CA3AF;
  text-decoration: none;
  position: relative;
  transition: color 0.25s ease, transform 0.25s ease;
}

.footer-column ul li a::before {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 0;
  height: 1px;
  background: #009FED;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-column ul li a:hover {
  color: #FFFFFF;
  transform: translateX(4px);
}

.footer-column ul li a:hover::before {
  width: 100%;
}

.footer-column address {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-column address a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.92rem;
  font-weight: 600;
  color: #E5E7EB;
  text-decoration: none;
  transition: color 0.25s ease;
  position: relative;
  padding-left: 24px;
}

.footer-column address p {
  font-size: 0.85rem;
  color: #6B7280;
  margin: 0;
  padding-left: 24px;
  line-height: 1.5;
  position: relative;
}

.footer-divider {
  border: none;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(148, 163, 184, 0.15) 20%,
    rgba(148, 163, 184, 0.15) 80%,
    transparent 100%
  );
  margin: 48px 0 28px;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.social-icons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(148, 163, 184, 0.15);
  background: rgba(255, 255, 255, 0.03);
  transition:
    border-color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

.social-icons a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  background: radial-gradient(
    circle at center,
    rgba(0, 159, 237, 0.15),
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.3s ease;
}

.social-icons a:hover {
  border-color: rgba(0, 159, 237, 0.4);
  background: rgba(0, 159, 237, 0.08);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 159, 237, 0.12);
}

.social-icons a:hover::before {
  opacity: 1;
}

.social-icons a:active {
  transform: translateY(0) scale(0.95);
}

.social-icons a img {
  width: 30px;
  height: 30px;
  position: relative;
  z-index: 1;
  opacity: 0.6;
  transition: opacity 0.3s ease, filter 0.3s ease;
  filter: grayscale(1) brightness(1.8);
}

.social-icons a:hover img {
  opacity: 1;
  filter: grayscale(0) brightness(1);
}

/* ===== AB Home 2026: выравнивание шрифтов под корпоративный (Manrope) ===== */
.catalog--ab-home-2026 .catalog__title,
.catalog--ab-home-2026 .cat-tile__title {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
}

/* === SINGLE PRODUCT OVERRIDES === */
body.single-product {
  background: #fff;
}
body.single-product .site-header {
  background: #fff;
}

/* Заголовок */
.pdp__header {
  margin-top: 60px;
  margin-bottom: 20px;
}
.pdp__title {
  margin: 0px 0 30px;
  font-weight: 700;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
  font-family: "Open Sans", system-ui, Arial, sans-serif;
}
@media (max-width: 768px) {
  .pdp__title {
    font-size: 22px;
  }
}
.pdp__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 16px;
  color: #6b7280;
}
.pdp__sku {
  color: #374151;
}

.pdp__rating {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pdp__reviews {
  font-size: 14px;
}
.pdp__warranty {
  color: #009fed;
  font-weight: 500;
}
.pdp__manual a {
  display: inline-block;
  padding: 8px 18px;
  border-radius: 8px;
  background: #009fed;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}

/* Первый блок: 3 колонки, gap 30px + нижний ряд для описания */
.pdp__hero {
  display: grid;
  grid-template-columns: 540px 1fr 360px; /* левый медиа / центр / правый buy */
  grid-template-rows: auto auto; /* 2-й ряд под summary */
  grid-template-areas:
    "media specs buy"
    "media summary summary";
  gap: 30px;
}

/* Левый блок */
.pdp__media {
  grid-area: media;
  display: flex;
  gap: 30px;
}
.pdp__thumbs {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.pdp__thumb {
  display: block;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 20px;
  width: 100px;
  height: 100px;
  cursor: pointer;
}
.pdp__thumb.is-active {
  box-shadow: 0 0 0 2px rgba(0, 159, 237, 0.25) inset;
}
.pdp__thumb-img {
  display: block;
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.pdp__image {
  flex: 1;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 24px;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp__image-img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Центр: краткие хар-ки */
.pdp__specs {
  grid-area: specs;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 24px;
  padding: 24px;
  height: 250px;
}
.pdp-specs {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}
.pdp-specs__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 16px;
  padding: 6px 0;
}
.pdp-specs__k {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
}
.pdp-specs__v {
  color: #111827;
}
.pdp-specs__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6b7280;
  text-decoration: none;
}

/* Право: цена/кнопки */
.pdp__buybox {
  grid-area: buy;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 24px;
  padding: 24px;
}
.pdp-buy__price {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 18px;
}
.pdp-buy__actions {
  margin-bottom: 14px;
}
.pdp-buy__calc {
  width: 100%;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid #009fed;
  background: #fff;
  cursor: pointer;
}

/* Низ внутри первого блока — «Описание» */
.pdp__summary {
  grid-area: summary;
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 24px;
  padding: 20px;
  font-weight: 400;
  font-size: 20px;
  line-height: 124%;
  letter-spacing: -0.01em;
  color: #000;
  padding-top: 30px;
  padding-bottom: 26px;
}

/* Полное описание ниже секции */
.pdp__desc {
  margin: 40px auto 80px;
}

/* ===== PDP: Технические характеристики ===== */
.pdp-tech {
  margin: 75px 0 80px;
}
.pdp-tech__title {
  margin: 0 0 25px;
  font-weight: 600;
  font-size: 36px;
  letter-spacing: -0.01em;
  color: #000;
  font-size: clamp(24px, 2.6vw, 36px);
}
.pdp-tech__grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr; /* левый столбец шире */
  gap: 60px;
  align-items: start;
}

/* Левая колонка — таблица с точечной «линейкой» */
.spec-table {
  background: #fff;
}
.spec-row {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 16px;
  align-items: baseline;
  padding: 10px 0;
  position: relative;
}
.spec-k,
.spec-v {
  position: relative;
  z-index: 1;
}
.spec-k span,
.spec-v span {
  background: #fff;
  padding: 0 0.25rem;
}

/* пунктир между названием и значением */
.spec-row::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-bottom: 1px dotted #9ed3f7; /* оттенок под макет */
  z-index: 0;
}
/* чтобы пунктир не залезал под края текста */
.spec-k {
  padding-right: 0.25rem;
}
.spec-v {
  padding-left: 0.25rem;
  white-space: nowrap;
}

/* Правая колонка — карточки */
.pdp-tech__right {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 15px;
}
.pdp-rcard h3 {
  margin: 0 0 20px;
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: #000;
}
.pdp-bullets {
  margin: 0;
  padding: 0 0 0 35px;
  list-style: disc; /* буллеты перед пунктами */
}
.pdp-bullets li {
  margin: 10px 0;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: #000;
}

/* Видео */
.pdp-video {
  border: 1px solid #009fed;
  border-radius: 24px;
  background: #e5e7eb;
  height: 325px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.pdp-video__play {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.35);
  position: relative;
}
.pdp-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  border-left: 28px solid #fff;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
}

/* Адаптив */
@media (max-width: 980px) {
  .pdp-tech__grid {
    grid-template-columns: 1fr;
  }
}
/* ===== Похожие товары ===== */
.related-products {
  padding: 40px 0 60px;
}
.related-title {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 48px);
}

.related-block {
  position: relative;
}
.rel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 5;
  cursor: pointer;
}
.rel-prev {
  left: -6px;
}
.rel-next {
  right: -6px;
}
.rel-nav::before {
  margin-left: 10px;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #111;
  border-left: 2px solid #111;
  transform: rotate(-45deg);
}
.rel-next::before {
  transform: rotate(135deg);
}

/* карточка */
.rel-card {
  background: #fff;
  border: 1px solid #009fed;
  border-radius: 24px;
  padding: 16px;
  height: 100%;
  display: flex;
  flex-direction: column;
  width: 338px;
}
.rel-card__pic {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 20px;
  padding: 12px;
  margin-bottom: 12px;
  height: 220px; /* фиксированная высота */
  background: #fff;
}

.rel-card__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.rel-card__badge {
  position: absolute;
  left: 12px;
  top: 12px;
  background: #0ba5ec;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  padding: 8px 10px;
  border-radius: 12px;
}

.rel-card__price {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 8px;
}
.rel-card__title {
  display: block;
  color: #111827;
  text-decoration: none;
  font-size: 18px;
  line-height: 1.25;
  margin-bottom: 10px;
}
.rel-card__rating {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rel-card__rc {
  font-size: 14px;
  color: #6b7280;
}

@media (max-width: 768px) {
  .rel-prev {
    left: 0;
  }
  .rel-next {
    right: 0;
  }
}
/* ===== CONTACTS PAGE (template: page-contacts.php) ===== */

/* Шапка и фон только на этой странице */
body.page-template-page-contacts {
  background: #fff;
}
body.page-template-page-contacts .site-header {
  background: #fff;
}
body.page-id-81 .site-header {
  background: #fff;
}

body.page-id-81 {
  background: #fff;
}
/* Заголовок: отступ сверху 70, снизу 30 */
.contacts-page__title {
  margin: 70px 0 30px;
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 5vw, 64px);
  line-height: 1.1;
  color: #111827;
}

/* Сетка: левый блок + карта; gap между ними 30px */
.contacts-page__grid {
  display: grid;
  grid-template-columns: 520px 1fr; /* ширину левой колонки можно менять */
  gap: 30px; /* ← по ТЗ 30px между колонками */
  align-items: stretch;
}

.contacts-page {
  padding-bottom: 70px;
}

/* Левый блок */
.contacts-card {
  background: #fff;
  border: 1px solid #009fed; /* тонкий синий бордер */
  border-radius: 30px; /* радиус 30px */
  overflow: hidden;
}
.contacts-card__block {
  padding: 30px; /* ← по ТЗ внутренний отступ 30px */
}

.contacts-card__phone,
.contacts-card__mail {
  margin: 0 0 16px;
  font: 700 28px/1.2 "Roboto", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
  color: #111827;
}
.contacts-card__mail {
  font-weight: 400;
}

/* Соцкнопки (иконки можно подменить своими SVG фонами) */
.contacts-card__social {
  display: flex;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 14px 0 22px;
}
.soc {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-block;
  background: #eaf6ff center/60% no-repeat;
}

/* Подзаголовок «Свяжитесь с нами» */
.contacts-card__sub {
  margin: 6px 0 14px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.2;
  color: #111827;
}

/* Форма */
.contacts-form {
  display: grid;
  gap: 16px;
}
.contacts-form input {
  width: 100%;
  height: 60px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid #9ca3af;
  background: #fff;
  font: 400 18px/1.2 "Roboto", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
  outline: none;
}
.contacts-form input:focus {
  border-color: #009fed;
  box-shadow: 0 0 0 3px rgba(0, 159, 237, 0.15);
}

.contacts-form .btn-primary {
  height: 64px;
  border-radius: 14px;
  border: 0;
  cursor: pointer;
  background: #009fed;
  color: #fff;
  font: 700 20px/1 "Roboto", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
  width: 100%;
}
@media (min-width: 1250px) {
  .btn-primary {
    border-radius: 15px;
    padding: 20px 40px;
    width: 299px;
    height: 60px;
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 24px;
    letter-spacing: -0.01em;
    color: #fff;
  }
}
/* Карта справа */
.contacts-map {
  min-height: 600px;
  background: #f3f4f6;
  border-radius: 30px; /* радиус 30px */
  overflow: hidden;
}

/* Адаптив */
@media (max-width: 1100px) {
  .contacts-page__grid {
    grid-template-columns: 1fr;
  }
  .contacts-map {
    min-height: 420px;
  }
}

/* ===== PAGE: БЛОГ / НОВОСТИ ===== */
body.page-template-page-news {
  background: #fff;
}
.news-page {
  background: #fff;
  padding: 70px 0;
} /* отступ сверху/снизу 70px */
.news-page__title {
  margin: 0 0 30px; /* 30px от h1 до правой колонки */
  font-family: "Open Sans", system-ui, Arial, sans-serif;
  font-weight: 600;
  font-size: clamp(28px, 3.8vw, 64px);
}

/* Двухколоночная сетка: слева новости, справа обзоры+статьи */
.news-page__grid {
  display: grid;
  grid-template-columns: 305px 1fr; /* ширина левой колонки */
  column-gap: 80px; /* между колонками 80px */
  position: relative;
}

/* Вертикальная разделительная черта между колонками */
.news-page__grid::before {
  content: "";
  position: absolute;
  left: 310px;
  top: 0;
  bottom: 0;
  transform: translateX(40px); /* половина gap (80 / 2) */
  width: 2px;
  background: #009fed;
  border-radius: 2px;
}

/* ===== LEFT: Новости ===== */
.np-left__title {
  margin: 0 0 30px;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
}
.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 30px;
}

/* карточка новости (маленькая) */
.news-card-sm {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  align-items: start;
  padding-right: 10px; /* визуальное дыхание от синей линии */
}
.news-card-sm__thumb img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}
.news-card-sm__title {
  display: block;
  margin: 0 0 6px;
  font-weight: 700;
  color: #0b0b0b;
  text-decoration: none;
}
.news-card-sm__title:hover {
  text-decoration: underline;
}
.news-card-sm__excerpt {
  margin: 0 0 6px;
  color: #374151;
  font-size: 14px;
  line-height: 1.35;
}
.news-card-sm__date {
  color: #6b7280;
  font-size: 12px;
}
.news-empty {
  color: #6b7280;
}

/* ===== RIGHT: заголовок/кнопка ===== */
.np-right__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 30px;
}
.np-right__title {
  margin: 0;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
}
.np-right__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #009fed;
  color: #fff;
  text-decoration: none;
  border-radius: 15px;
  padding: 20px 40px;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: #fff;
  width: 272px;
  height: 60px;
  margin-right: 140px;
}

/* ===== Reviews slider (без стрелок) ===== */
.reviews-swiper .swiper-wrapper {
  overflow: hidden;
}
.reviews-swiper {
  overflow: hidden;
  margin-bottom: 30px;
} /* 30px от обзоров до статей */
.reviews-swiper .swiper-wrapper {
  align-items: stretch;
}
.review-slide {
  width: min(44vw, 540px);
} /* видны «ушки» соседних слайдов */
.review-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #e5e7eb;
  border-radius: 30px;
  overflow: hidden;
}
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.review-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 88px;
  height: 88px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.review-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  border-left: 26px solid #fff;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  width: 0;
  height: 0;
}

/* ===== Articles ===== */
.np-articles__title {
  margin: 50px 0 30px;
  font-family: "Open Sans", sans-serif;
  font-weight: 600;
  font-size: 48px;
  letter-spacing: -0.01em;
  color: #000;
}
.articles-list {
  display: grid;
  gap: 30px;
}

/* строка статьи: фото слева без внутренних отступов, текст — с 20px */
.article-row {
  display: grid;
  grid-template-columns: 338px 1fr;
  gap: 2px;
  align-items: stretch;
  background: #e5e7eb;
  border-radius: 30px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
  max-width: 1054px;
}
.article-row__thumb img {
  border-radius: 30px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-top-left-radius: 18px;
  border-bottom-left-radius: 18px;
}
.article-row__body {
  padding: 20px;
  background: #e5e7eb;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
} /* ← внутренние отступы 20px */
.article-row__title {
  display: block;
  margin: 0 0 8px;
  font-weight: 700;
  color: #0b0b0b;
  text-decoration: none;
}
.article-row__title:hover {
  text-decoration: underline;
}
.article-row__excerpt {
  margin: 0 0 8px;
  color: #374151;
}
.article-row__date {
  color: #6b7280;
  font-size: 12px;
}

/* Адаптивы */
@media (max-width: 1200px) {
  .review-slide {
    width: min(60vw, 520px);
  }
}
@media (max-width: 960px) {
  .news-page__grid {
    grid-template-columns: 1fr;
  }
  .news-page__grid::before {
    display: none;
  } /* вертикальная черта только на десктопе */
  .np-right {
    margin-top: 30px;
  }
}
@media (max-width: 720px) {
  .news-card-sm {
    grid-template-columns: 100px 1fr;
  }
  .news-card-sm__thumb img {
    height: 100px;
  }
  .article-row {
    grid-template-columns: 1fr;
  }
  .article-row__thumb img {
    border-radius: 18px 18px 0 0;
    height: 220px;
  }
}
body.page-id-83 {
  background: #fff;
}
body.page-id-83 .site-header {
  background: #fff;
}
.reviews-swiper {
  overflow: hidden;
  margin-bottom: 30px;
}
.reviews-swiper .swiper-wrapper {
  overflow: visible;
  gap: 30px;
}
.reviews-swiper .swiper-slide {
  width: auto;
  margin: 0 !important;
}

.review-slide {
  box-sizing: border-box;
}
.review-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 30px;
  overflow: hidden;
  background: #e5e7eb;
}
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.review-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 88px;
  height: 88px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.review-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  border-left: 26px solid #fff;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  width: 0;
  height: 0;
}

/* ====== Account: контейнер ====== */
.container,
.woocommerce-account .woocommerce {
  box-sizing: border-box;
}
.woocommerce-account .woocommerce {
  max-width: var(--container-width, 1200px);
  margin: 0 auto;
  padding: 48px 16px 80px;
}
.catalog-swiper {
  overflow: hidden;
}
/* Заголовок страницы */
.woocommerce-account .entry-title,
.woocommerce-account h1.page-title {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 40px);
  color: #0f172a;
}

/* Подсказка (гость) */
.account-hint {
  max-width: 760px;
  margin: 0 auto 18px;
  padding: 12px 14px;
  background: #f3faff;
  border: 1px solid #d6eeff;
  border-radius: 12px;
  color: #111827;
}
.account-hint .ah-link {
  color: #009fed;
  text-decoration: underline;
}

/* ====== Карточки вход/регистрация ====== */
.account-auth__grid {
  max-width: 760px; /* центрируем весь блок для гостя */
  margin: 0 auto;
  display: grid;
  gap: 24px;
}
.account-auth__grid.has-register {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 900px) {
  .account-auth__grid.has-register {
    grid-template-columns: 1fr;
  }
}

.account-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 18px 18px 20px;
}
.account-card__title {
  margin: 0 0 14px;
  font-weight: 700;
  font-size: clamp(18px, 2.2vw, 22px);
}

/* Поля форм */
.woocommerce form .form-row {
  margin: 0 0 14px;
}
.woocommerce form .form-row label {
  display: block;
  margin: 0 0 6px;
  font-weight: 600;
  font-size: 14px;
  color: #374151;
}
.woocommerce form .input-text,
.woocommerce form input.input-text {
  width: 100%;
  height: 46px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce form .input-text:focus {
  outline: 0;
  border-color: #009fed;
  box-shadow: 0 0 0 3px rgba(0, 159, 237, 0.16);
}

/* Чекбокс и кнопки */
.account-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.woocommerce .button,
.woocommerce a.button,
.woocommerce input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  padding: 0 20px;
  border: 0;
  border-radius: 12px;
  background: #009fed;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 8px 16px rgba(0, 159, 237, 0.22);
  transition: transform 0.05s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce .button:hover {
  background: #0aa7ff;
}
.woocommerce .button:active {
  transform: translateY(1px);
  box-shadow: 0 5px 12px rgba(0, 159, 237, 0.26);
}
.woocommerce .lost_password a {
  color: #009fed;
}

/* ====== ЛК для авторизованных (nav + content) ====== */
/* Активируем сетку только когда есть меню (см. body класс из functions.php) */
.account-has-nav .woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 24px;
}
@media (max-width: 1199px) {
  .account-has-nav .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
}

/* Навигация аккаунта */
.woocommerce-MyAccount-navigation {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  align-self: start;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: #111827;
  text-decoration: none;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation a:hover {
  background: #f3faff;
  color: #009fed;
}

/* Контент аккаунта */
.woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

/* Таблицы заказов — чуть чищe */
.woocommerce table.my_account_orders th,
.woocommerce table.shop_table th {
  font-weight: 700;
}
.woocommerce table.shop_table {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
  border-top: 1px solid #eef2f6;
}
/* Хлебные/заголовок страницы Woo внутри контейнера */
.woocommerce-account .entry-title,
.woocommerce-account .page-title,
.woocommerce-account .woocommerce-breadcrumb {
  max-width: var(--container-width, 1200px);
  margin: 0 auto 18px;
  padding: 0 16px;
  box-sizing: border-box;
}
/* Заголовок уже в контейнере выше */
.account-cta {
  margin: 10px 0 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #374151;
}
.account-cta .btn-link {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid #009fed;
  color: #009fed;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.account-cta .btn-link:hover {
  background: #009fed;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 159, 237, 0.22);
}
/* ----- One-card auth tabs ----- */
.account-card.auth-tabs {
  padding: 0;
  overflow: hidden;
}
.auth-tabs__nav {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}
.auth-tab {
  flex: 1 1 0;
  padding: 14px 16px;
  border: 0;
  background: #fff;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  color: #374151;
  border-bottom: 2px solid transparent;
}
.auth-tab.is-active {
  color: #009fed;
  border-color: #009fed;
  background: #f8fbff;
}
.auth-panel {
  display: none;
  padding: 18px;
  background: #fff;
}
.auth-panel.is-active {
  display: block;
}

/* Сужаем карточку и центрируем */
.account-card.auth-tabs {
  max-width: 760px;
  margin: 0 auto;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}
/* ===== PDP: buy buttons ===== */

/* Сетка: qty + кнопка в одну линию */
.pdp .pdp-buy__actions form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Кол-во */
.pdp .pdp-buy__actions .quantity .qty {
  width: 76px;
  height: 56px;
  text-align: center;
  border: 1px solid #d1d5db;
  border-radius: 16px;
  background: #fff;
  font-weight: 600;
}
.pdp .pdp-buy__actions .quantity .qty:focus {
  outline: 0;
  border-color: #009fed;
  box-shadow: 0 0 0 3px rgba(0, 159, 237, 0.16);
}

/* Кнопка "В корзину" — синяя, белый текст, радиус 16px */
.pdp .single_add_to_cart_button,
.pdp .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto;
  height: 56px;
  padding: 0 22px;
  border: 0;
  border-radius: 16px;
  background: #009fed;
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 16px rgba(0, 159, 237, 0.22);
  transition: background 0.2s, transform 0.05s, box-shadow 0.2s;
}
.pdp .single_add_to_cart_button:hover {
  background: #0aa7ff;
}
.pdp .single_add_to_cart_button:active {
  transform: translateY(1px);
  box-shadow: 0 6px 12px rgba(0, 159, 237, 0.26);
}
.pdp .single_add_to_cart_button:disabled,
.pdp .single_add_to_cart_button.disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}

/* Кнопка "Рассчитать доставку" — белая, синий бордер и текст, радиус 16px */
.pdp .pdp-buy__calc {
  width: 100%;
  height: 56px;
  margin-top: 0px;
  border: 1px solid #009fed;
  border-radius: 16px;
  background: #fff;
  color: #009fed;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
	font-size: 18px;
  justify-content: center;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}
.pdp .pdp-buy__calc:hover {
  background: #f3faff;
  box-shadow: 0 6px 14px rgba(0, 159, 237, 0.12);
}

/* На маленьких экранах — кнопка под количеством */
@media (max-width: 480px) {
  .pdp .pdp-buy__actions form.cart {
    flex-direction: column;
    align-items: stretch;
  }
  .pdp .pdp-buy__actions .quantity .qty {
    width: 100%;
  }
  .pdp .single_add_to_cart_button {
    width: 100%;
  }
}
/* PDP: убрать инпут количества и растянуть кнопку */
.pdp .pdp-buy__actions .quantity {
  display: none;
}
.pdp .pdp-buy__actions form.cart {
  display: block;
} /* перестаём делать ряд */
.pdp .pdp-buy__actions .single_add_to_cart_button {
  width: 100%;
}
/* PDP: кнопка "В корзину" синяя, белый текст, radius 16px */
.pdp .single_add_to_cart_button,
.pdp .single_add_to_cart_button.button,
.pdp .single_add_to_cart_button.alt,
.single-product .pdp .single_add_to_cart_button {
  height: 56px;
  padding: 0 22px;
  background: #009fed !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
	font-size: 18px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 16px rgba(0, 159, 237, 0.22);
  transition: background 0.2s, transform 0.05s, box-shadow 0.2s;
}
.pdp .single_add_to_cart_button:hover {
  background: #0aa7ff !important;
}
.pdp .single_add_to_cart_button:active {
  transform: translateY(1px);
  box-shadow: 0 6px 12px rgba(0, 159, 237, 0.26);
}
/* PDP: блок цен */
.pdp .pdp-buy__price {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 15px;
}

/* актуальная (ins) — слева, крупнее, без подчёркивания */
.pdp .pdp-buy__price ins {
  order: 1;
  text-decoration: none;
  font-weight: 800;
  font-size: 28px;
  color: #111827;
}

/* старая (del) — справа, серая, зачёркнутая, чуть меньше */
.pdp .pdp-buy__price del {
  order: 2;
  color: #9ca3af;
  opacity: 1; /* чтобы не было полупрозрачности от темы */
  font-size: 18px;
}

/* На всякий: убираем подчёркивание у <bdi> */
.pdp .pdp-buy__price ins .amount,
.pdp .pdp-buy__price del .amount {
  text-decoration: none;
}
/* ===== CART: контейнер и сетка ===== */
body.woocommerce-cart {
  background: #f5f7fa;
}
body.woocommerce-cart .woocommerce {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 60px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px; /* таблица + сайдбар */
  gap: 40px;
}

/* ===== Таблица товаров ===== */
body.woocommerce-cart form.woocommerce-cart-form table.shop_table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
}
body.woocommerce-cart form.woocommerce-cart-form table.shop_table th {
  text-align: left;
  padding: 12px 16px;
  font-weight: 600;
  background: #f0f4f8;
  color: #374151;
  border-bottom: 2px solid #e5e7eb;
}
body.woocommerce-cart form.woocommerce-cart-form table.shop_table td {
  padding: 16px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: middle;
}
body.woocommerce-cart .product-thumbnail img {
  max-width: 80px;
  border-radius: 8px;
}
body.woocommerce-cart .product-name a {
  color: #009fed;
  font-weight: 600;
  text-decoration: none;
}
body.woocommerce-cart .product-name a:hover {
  text-decoration: underline;
}

/* Количество */
body.woocommerce-cart .quantity .qty {
  width: 64px;
  text-align: center;
  padding: 6px 8px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
}

/* Кнопки в строках (удалить, обновить) */
body.woocommerce-cart a.remove {
  color: #e11d48 !important;
  background: #fdf2f8 !important;
  border-radius: 8px;
}
body.woocommerce-cart button[name="update_cart"] {
  border: 1px solid #009fed;
  background: #fff;
  color: #009fed;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 600;
}
body.woocommerce-cart button[name="update_cart"]:hover {
  background: #e6f6ff;
}

/* Купоны (дропдаун и форма) */
body.woocommerce-cart .woocommerce-form-coupon,
body.woocommerce-cart .woocommerce-notices-wrapper + .woocommerce-info {
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
}
body.woocommerce-cart .woocommerce-form-coupon .button {
  background: #009fed;
  border: 2px solid #009fed;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
}
body.woocommerce-cart .woocommerce-form-coupon .button:hover {
  background: #007dc1;
  border-color: #007dc1;
}

/* ===== Сайдбар итогов ===== */
body.woocommerce-cart .cart-collaterals {
  margin: 0;
}
body.woocommerce-cart .cart_totals {
  position: sticky;
  top: 24px;
  border: 2px solid #009fed;
  border-radius: 12px;
  background: #f9fafb;
  padding: 20px 20px 24px;
}
body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
}
body.woocommerce-cart .cart_totals table.shop_table {
  background: transparent;
  border: 0;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  border: 0;
  padding: 10px 0;
}
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
  font-size: 22px;
  font-weight: 800;
  color: #009fed;
}

/* ===== Кнопка «Перейти к оформлению заказа» ===== */
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none !important;
  background: #009fed;
  color: #fff !important;
  border: 2px solid #009fed;
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0, 159, 237, 0.18);
  transition: transform 0.06s ease, background 0.2s ease, box-shadow 0.2s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: #007dc1;
  border-color: #007dc1;
  box-shadow: 0 8px 22px rgba(0, 125, 193, 0.24);
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
  transform: translateY(1px);
}

/* ===== Мобилка ===== */
@media (max-width: 1199px) {
  body.woocommerce-cart .woocommerce {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 16px 40px;
    border-radius: 12px;
  }
  body.woocommerce-cart h1 {
    font-size: 34px;
  }
  body.woocommerce-cart .cart_totals {
    position: static;
  }
}
.pdp__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  font-size: 15px;
  color: #555;
}
.pdp__warranty svg {
  vertical-align: middle;
  margin-right: 6px;
  width: 18px;
  height: 18px;
}

.pdp__manual a {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  color: #009fed;
  background: none;
}
.pdp__manual svg {
  vertical-align: middle;
  margin-bottom: 5px;
  transform: translatex(10px);
}
.pdp__manual a:hover {
  text-decoration: underline;
}
.pdp__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  font-size: 15px;
  color: #555;
}

.pdp__meta-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
}

.pdp__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.iconbtn {
  display: inline-grid;
  place-items: center;
  border: 1px solid #009fed;
  border-radius: 15px;
  background: #fff;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.iconbtn:hover {
  border-color: #009fed;
  background: #009fed;
	fill: #fff;
	color: #fff;
}

.iconbtn.is-active .i--heart {
  filter: brightness(0) saturate(100%) invert(36%) sepia(94%) saturate(1913%)
    hue-rotate(177deg) brightness(94%) contrast(93%);
  transform: scale(1.05);
}
/* ===== PDP HERO: жидкая сетка и брейкпоинты ===== */

/* БАЗА (>= ~1360): 3 колонки с плавной усадкой */
.pdp__hero {
  display: grid;
  gap: 30px;
  grid-template-columns:
    clamp(360px, 38vw, 584px) /* media */
    minmax(460px, 1fr) /* specs */
    clamp(200px, 24vw, 340px); /* buy */
  grid-template-areas:
    "media specs buy"
    "media summary summary";
}

/* КОМПАКТНЫЙ ДЕСКТОП (~1200–1360): сжимаем зазоры и колонки */
@media (max-width: 1360px) {
  .pdp__hero {
    gap: 24px;
  }
  .pdp__image {
    padding: 22px;
  }
  .pdp__thumb-img {
    width: 84px;
    height: 84px;
  }
}

/* СРЕДНИЕ ЭКРАНЫ (<=1200): 2 колонки, обтекание buy-бокса */
@media (max-width: 1200px) {
  .pdp__hero {
    grid-template-columns: 1fr clamp(300px, 36vw, 380px);
    grid-template-areas:
      "media buy"
      "specs buy"
      "summary summary";
  }
}

/* ПЛАНШЕТ (<=980): всё в одну колонку, логичный порядок */
@media (max-width: 980px) {
  .pdp__hero {
    grid-template-columns: 1fr;
    grid-template-areas:
      "media"
      "buy"
      "specs"
      "summary";
    gap: 20px;
  }
  .pdp__image {
    padding: 18px;
    border-radius: 20px;
  }
  .pdp__specs,
  .pdp__buybox,
  .pdp__summary {
    border-radius: 20px;
  }
}

/* МОБИЛА (<=640): горизонтальная лента превью, более мелкие элементы */
@media (max-width: 640px) {
  .pdp__media {
    flex-direction: column;
    gap: 12px;
  }
  .pdp__thumbs {
    order: 2;
    flex-direction: row;
    gap: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .pdp__thumb {
    padding: 4px;
    border-radius: 10px;
  }
  .pdp__thumb-img {
    width: 72px;
    height: 72px;
  }
  .pdp__image {
    order: 1;
    padding: 14px;
  }
  .pdp__buybox {
    padding: 18px;
  }
  .pdp__specs {
    padding: 18px;
  }
  .pdp__summary {
    padding: 18px;
    font-size: 16px;
  }
}

.del-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
}
.del-modal.is-open {
  display: block;
}
.del-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 14, 44, 0.55);
  backdrop-filter: saturate(110%) blur(2px);
}
.del-dialog {
  position: relative;
  max-width: min(1080px, 94vw);
  margin: 25vh auto;
  background: #fff;
  border: 1px solid #d6e7f4;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  padding: 20px;
}
.del-close {
  z-index: 50;
  position: absolute;
  right: 12px;
  top: 8px;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  border: 1px solid #d6e7f4;
  background: #fff;
  cursor: pointer;
}
.del-grid {
  padding-top: 40px;
  display: grid;
  gap: 16px;
  grid-template-columns: 420px minmax(280px, 1fr);
}
.del-left {
  display: grid;
  gap: 14px;
  align-content: start;
}
.del-right {
  min-height: 360px;
}
.del-map {
  width: 100%;
  height: 100%;
  border-radius: 16px;
  border: 1px solid #d6e7f4;
  background: #f7f9fc;
}
.del-services {
  position: relative;
  border: 1px solid #d6e7f4;
  border-radius: 16px;
  padding: 12px;
}
.del-srv {
  display: grid;
  place-items: center;
  width: 120px;
  height: 80px;
  border: 1px solid #e6f1fa;
  border-radius: 12px;
  background: #fff;
}
.del-label {
  font-size: 14px;
  color: #6b7280;
}
.del-input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d6e7f4;
  border-radius: 12px;
}
.del-hint {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  border: 1px dashed #9ed3f7;
  border-radius: 12px;
  background: #f7fbff;
}
.del-sw-prev,
.del-sw-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #d6e7f4;
  z-index: 2;
  cursor: pointer;
}
.del-sw-prev {
  left: 6px;
}
.del-sw-next {
  right: 6px;
}
@media (max-width: 980px) {
  .del-grid {
    grid-template-columns: 1fr;
  }
  .del-right {
    min-height: 280px;
  }
}

/* === 0) Переменная высоты шапки на этой странице (подстрой при необходимости) === */
.page-template-about {
  --header-h: 80px; /* реальная высота твоего .site-header */
  --pad-x: 120px; /* боковые паддинги */
}

/* === 1) Шапка поверх фото и без своего фона/тени только на About === */
.page-template-about .site-header {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
  position: relative;
  z-index: 5; /* шапка выше контента, фото видно через неё */
}

/* === 2) Hero тянем под шапку: фото видно и за хедером === */
.about-hero {
  background: url("../img/Rectangle 24.png") center/cover no-repeat;
  /* тянем вверх под шапку, а отступ контента сверху = 60px */
  margin-top: calc(-1 * var(--header-h));
  padding-top: calc(var(--header-h) + 60px);
  padding-left: var(--pad-x);
  padding-right: var(--pad-x);
  color: #fff;
}

/* между блоками 60px — если ниже есть ещё секции */
.about-gap60 {
  height: 60px;
}

/* === 3) Таймлайн: год и подпись над линией, смещены вправо от точки === */
.about-timeline {
  list-style: none;
  margin: 0px;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about-timeline::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 44px;
  height: 2px;
  background: rgba(255, 255, 255, 0.8);
  margin-top: 23px;
}
.about-timeline__item {
  position: relative;
  width: 16.5%;
  min-width: 80px;
}
.about-timeline__dot {
  position: absolute;
  top: 38px;
  left: 0;
  right: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.18);
  margin-top: 23px;
}
.about-timeline__year {
  display: block;
  font-weight: 800;
  font-size: clamp(18px, 2.4vw, 36px);
  letter-spacing: 0.3px;
  transform: translateX(6px);
}
.about-timeline__label {
  display: block;
  font-size: clamp(11px, 1.4vw, 14px);
  opacity: 0.95;
  margin-top: 3px;
  transform: translateX(6px);
}

/* === 4) Заголовок с «черточкой» справа и подзаголовок === */
.about-title {
  position: relative;
  margin: 0 0 16px;
  font-weight: 800;
  font-size: clamp(28px, 4.2vw, 56px);
  line-height: 1.1;
  padding-top: 100px;
}
.about-title::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 2px;
  background: #fff;
  width: clamp(60px, 20vw, 220px);
  margin-left: 16px;
  transform: translateY(-8px);
}
.about-subtitle {
  margin: 0 0 60px;
  font-weight: 400;
  font-size: 28px;
  line-height: 141%;
  letter-spacing: -0.01em;
  color: #fff;
}

/* === 5) Синие цифры === */
.about-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 143px;
}
@media (max-width: 980px) {
  .about-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
  }
}
.about-stat__num {
  font-weight: 700;
  font-size: 128px;
  letter-spacing: -0.01em;
  color: #009fed;
}
.about-stat__label {
  font-weight: 500;
  font-size: 32px;
  line-height: 141%;
  letter-spacing: -0.01em;
  color: #fff;
}

/* === 6) Адаптив паддингов и таймлайна === */
@media (max-width: 1280px) {
  .page-template-about {
    --pad-x: 80px;
  }
}
@media (max-width: 980px) {
  .page-template-about {
    --pad-x: 40px;
  }
  .about-timeline {
    flex-wrap: wrap;
    row-gap: 18px;
  }
  .about-timeline::before {
    top: 66px;
  }
  .about-timeline__item {
    width: 48%;
  }
  .about-timeline__dot {
    top: 60px;
  }
}
@media (max-width: 640px) {
  .page-template-about {
    --pad-x: 20px;
    --header-h: 72px;
  } /* если на мобиле шапка ниже */
  .about-timeline__item {
    width: 100%;
  }
  .about-timeline::before {
    display: none;
  }
  .about-title::after {
    display: none;
  }
}
/* Только для шаблона About */
.page-template-about .site-header {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  z-index: 20; /* шапка над фоном hero */
}
/* На странице About храним высоту шапки */
.page-template-about .about-page {
  --header-h: 0px;
  --pad-x: 120px;
}

/* Фон фото и отступы по макету */
.about-hero {
  background: url("../img/Rectangle 24.png") center/cover no-repeat;
  padding-left: var(--pad-x);
  padding-right: var(--pad-x);
  padding-top: calc(var(--header-h) + 60px); /* отступ контента от шапки */
  color: #fff;
}
.about-hero .container {
  padding-bottom: 110px;
}

/* Таймлайн */
.about-timeline {
  --gap-col: 10px;
  --line-y: clamp(84px, 12vw, 110px);
  --line-h: 2px;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: var(--gap-col);
  position: relative;
  padding: 0;
  color: #fff;
}

/* Линия начинается от первой точки */
.about-timeline::before {
  content: "";
  position: absolute;
  top: var(--line-y);
  left: calc(50% / 40); /* сдвиг к центру первой колонки */
  right: calc(
    50% / 8
  ); /* и к центру последней, чтобы кончалась точно на точке */
  height: var(--line-h);
  background: rgba(255, 255, 255, 0.7);
}

/* Пункт таймлайна */
.about-timeline__item {
  position: relative;
  display: grid;
  align-content: start;
  justify-items: start;
  row-gap: 10px;
}

/* Контент сверху – год и подпись */
.about-timeline__top {
  display: grid;
  justify-items: start;
  text-align: left;
  transform: translateX(14px); /* немного вправо от точки */
  row-gap: 6px;
}

.about-timeline__year {
  font-weight: 700;
  font-size: 64px;
  letter-spacing: -0.01em;
  color: #fff;
}

.about-timeline__label {
  font-weight: 500;
  font-size: 20px;
  line-height: 141%;
  letter-spacing: -0.01em;
  color: #fff;
}

/* Точка на линии */
.about-timeline__dot {
  position: absolute;
  top: var(--line-y);
  left: 50%;
  transform: translate(-400%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.2);
}

/* Адаптив */
@media (max-width: 900px) {
  .about-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    --line-y: 96px;
  }
  .about-timeline::before {
    left: calc(50% / 3);
    right: calc(50% / 3);
  }
}
@media (max-width: 560px) {
  .about-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    --line-y: 90px;
  }
  .about-timeline::before {
    left: calc(50% / 2);
    right: calc(50% / 2);
  }
}
@media (max-width: 380px) {
  .about-timeline {
    grid-template-columns: 1fr;
    --line-y: 86px;
  }
  .about-timeline::before {
    display: none;
  }
}
@media (min-width: 1001px) {
  .about-timeline__label {
    white-space: nowrap;
    word-break: keep-all;
  }
}
@media (max-width: 1000px) {
  .about-timeline::before {
    display: none;
  }

  .about-timeline__dot {
    display: none;
  }
}
.about-title {
  position: relative;
  margin: 0;
  font-weight: 600;
  font-size: 64px;
  letter-spacing: -0.01em;
  color: #fff;
}

.about-title::after {
  content: "";
  display: block;
  width: clamp(60px, 20vw, 100px);
  height: 2px;
  background: #fff;
  margin: 20px 0 20px;
}
.about-info {
  padding: clamp(20px, 4vw, 30px) 0;
  color: #000;
  background: #fff;
}
.about-info__brands-title {
  margin: 0;
  padding-top: 30px;
}
.about-info__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 30px;
  margin-bottom: clamp(60px, 8vw, 120px);
}

.about-info__row--reverse {
  grid-template-columns: 1fr 1fr;
  direction: rtl;
}
.about-info__row--reverse .about-info__text {
  direction: ltr;
}

.about-info__text {
  display: grid;
  align-content: start;
  gap: 20px;
}

.about-info__title {
  font-family: var(--second-family);
  font-weight: 600;
  font-size: clamp(36px, 5vw, 44px);
  letter-spacing: -0.01em;
  color: #000;
  margin: 0;
}
@media (min-width: 1200px) {
  .about-info__title {
    margin-top: 60px;
  }
}
.about-info__line {
  width: 100px;
  height: 3px;
  background: #009fed;
}

.about-info__desc {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.41;
  letter-spacing: -0.01em;
  color: #000;
  max-width: 700px;
  margin: 0;
}

.about-info__image img {
  width: 100%;
  height: auto;
  border-radius: 30px;
  display: block;
  object-fit: cover;
}

/* ==== Блок брендов ==== */
.about-info__brands {
  text-align: center;
  display: grid;
  gap: 20px;
}

.about-info__brands-title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: clamp(26px, 3vw, 48px);
  line-height: 1.41;
  letter-spacing: -0.01em;
  color: #000;
  text-align: left;
}

.about-info__logos {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(20px, 3vw, 60px);
}

/* ==== Адаптив ==== */
@media (max-width: 960px) {
  .about-info__row,
  .about-info__row--reverse {
    grid-template-columns: 1fr;
    direction: ltr;
  }

  .about-info__image {
    order: -1;
  }

  .about-info__text {
    text-align: center;
    align-items: center;
  }

  .about-info__desc {
    max-width: none;
  }

  .about-info__line {
    margin: 0 auto;
  }
}
.about-info__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch; /* растягивает оба блока по высоте строки */
  margin-bottom: 31.5px;
}

.about-info__image {
  display: flex;
  align-items: stretch;
}

.about-info__image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* сохраняет пропорции и заполняет всю высоту */
  border-radius: 30px;
}
.about-videos {
  padding: clamp(5px, 1vw, 10px) 0;
  background: #fff;
}
.about-videos__title {
  font-weight: 600;
  font-size: clamp(20px, 3.6vw, 32px);
  letter-spacing: -0.01em;
}
.about-videos__slider {
  position: relative;
  overflow: hidden;
  touch-action: pan-y;
}
.about-videos__track {
  display: flex;
}
.about-videos__slide {
  flex: 0 0 auto;
  width: min(680px, 62vw);
  opacity: 0.6;
  transform: scale(0.94);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.swiper-slide-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}
.vcard {
  display: grid;
  gap: 12px;
}
.vcard__media {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #000;
}
.vcard__media video,
.vcard__media iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
}
.about-videos__slide:not(.swiper-slide-active) .vcard__media,
.about-videos__slide:not(.swiper-slide-active) .vcard__play {
  pointer-events: none;
}
.vcard__title {
  font-size: 15px;
  line-height: 1.4;
}
.vcard__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 84px;
  height: 84px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.6);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.vcard__play svg {
  width: 40px;
  height: 40px;
  fill: #fff;
}

@media (max-width: 1199px) {
  .about-videos__slide {
    width: 80vw;
  }
}
@media (max-width: 640px) {
  .about-videos__slide {
    width: 92vw;
  }
  .about-videos__slider {
    padding-inline: 4vw;
  }
}

/* drag UX */
.about-videos__slider.is-dragging,
.about-videos__slider.is-dragging * {
  cursor: grabbing !important;
}
/* Шапка белая только на странице "Каталог" */
body.page-id-104 .site-header {
  background: #fff;
}

.price-now {
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -0.01em;
  color: #000;
  margin-top: 10px;
}

.product-card__actions {
  margin-top: 10px;
}
.meta-rating svg {
  transform: translate(0px, 4px);
}
@media (min-width: 1201px) {
  .product-card__actions {
    display: none;
  }
}
.yith-wcwl-add-to-wishlist-button__label {
  display: none;
}
.yith-wcwl-add-button .i--heart {
  transition: transform 0.2s ease, color 0.2s ease;
}
.yith-wcwl-add-button:hover .i--heart {
  color: #009fed;
}
.yith-wcwl-add-button.added .i--heart,
.yith-wcwl-add-button.exists .i--heart {
  color: #009fed;
  transform: scale(1.08);
}
.wishlist-page {
  padding: clamp(40px, 6vw, 80px) 0;
}
.wishlist-page__title {
  font-weight: 600;
  font-size: clamp(24px, 4vw, 40px);
  letter-spacing: -0.01em;
  margin: 0 0 24px 0;
}
.wishlist-page {
  padding: clamp(40px, 6vw, 80px) 0;
}
.wishlist-page__title {
  margin: 0 0 24px;
  font-weight: 600;
  font-size: clamp(24px, 4vw, 40px);
  letter-spacing: -0.01em;
}
/* Контейнер для всей таблицы */
.woocommerce .shop_table {
  width: 100%;
  border-collapse: collapse;
  border: none;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
}

/* Внутренние ячейки */
.woocommerce .shop_table th,
.woocommerce .shop_table td {
  padding: 16px 20px;
  text-align: left;
  font-size: 16px;
  border-bottom: 1px solid #e5e7eb;
}

/* Заголовки таблицы */
.woocommerce .shop_table th {
  font-weight: 600;
  background: #f9fafb;
  color: #111827;
}

/* Последняя строка без нижней линии */
.woocommerce .shop_table tr:last-child td {
  border-bottom: none;
}

/* Изображения товаров */
.woocommerce .shop_table td.product-thumbnail img {
  width: 80px;
  height: auto;
  border-radius: 8px;
}

/* Названия товаров */
.woocommerce .shop_table td.product-name a {
  color: #111;
  font-weight: 500;
  text-decoration: none;
}

.woocommerce .shop_table td.product-name a:hover {
  color: #009fed;
}

/* Кнопка "В корзину" */
.woocommerce .shop_table td .add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  background: #009fed;
  border-radius: 8px;
  transition: background 0.25s ease;
}

.woocommerce .shop_table td .add_to_cart_button:hover {
  background: #0084ce;
}

/* Удалить из списка */
.woocommerce .shop_table td.product-remove a {
  color: #ff3b30;
  font-size: 22px;
  text-decoration: none;
  line-height: 1;
}

/* Responsive улучшения */
@media (max-width: 768px) {
  .woocommerce .shop_table th,
  .woocommerce .shop_table td {
    padding: 12px 10px;
    font-size: 14px;
  }
}
.woocommerce #content table.shop_table,
.woocommerce table.shop_table {
  max-width: 1600px;
  margin-inline: auto; /* центрирование */
}
/* Заголовок списка желаний — общий контейнер */

/* Если хочешь ровно как твой .container */
@media (min-width: 1280px) {
  .wishlist-title,
  .wishlist-title-with-form {
    max-width: var(--container-width, 1200px);
  }
}

/* Небольшая настройка для визуала */
.wishlist-title h2,
.wishlist-title-with-form h2 {
  font-family: var(--second-family, "Onest", sans-serif);
  font-weight: 600;
  font-size: clamp(24px, 4vw, 40px);
  letter-spacing: -0.01em;
  color: #000;
  margin: 0 0 24px;
}
.woocommerce .wishlist-title h2 {
  vertical-align: middle;
  margin-bottom: 0;
  margin-left: 150px;
}
.yith-wcwl-share {
  display: none;
}
.wc-block-components-sidebar-layout.wc-block-cart {
  padding-top: 0;
  max-width: 1500px;
}
.review-video__play {
  display: none;
}
.review-slide.has-video .review-video__play {
  display: block;
}
/* ===== Единый размер карточек обзоров ===== */

.review-card {
  display: grid;
  gap: 12px;
}

/* Контейнер под видео / фото */
.review-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* всегда одинаковая пропорция */
  border-radius: 24px; /* мягкие углы */
  overflow: hidden;
  background: #f2f4f7;
}

/* Превью картинки (и для видео, и для фото) */
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover; /* не тянет пропорции */
  display: block;
}

/* Кнопка Play — только если есть видео */
.review-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  border: none;
  cursor: pointer;
}
.review-video__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-35%, -50%);
  border-left: 20px solid #fff;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  width: 0;
  height: 0;
}

/* Ссылка на всю карточку */
.review-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
}

/* Текст под карточкой */
.review-card__meta {
  display: grid;
  gap: 6px;
}
.review-card__title {
  font-weight: 600;
  font-size: 16px;
  color: #0b0b0b;
  text-decoration: none;
}
.review-card__date {
  font-size: 13px;
  color: #6b7280;
}
.review-card__excerpt {
  font-size: 14px;
  color: #374151;
  line-height: 1.4;
}

/* Адаптив */
@media (max-width: 960px) {
  .review-slide {
    width: min(70vw, 400px);
  }
}
@media (max-width: 540px) {
  .review-slide {
    width: 84vw;
  }
}
.review-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 24px;
  overflow: hidden;
  background: #f2f4f7;
}
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Swiper сам задаст ширину слайдов — не переопределяем */
.reviews-swiper .swiper-slide {
  width: auto !important;
}

/* Единый визуальный размер внутри карточки */
.review-video {
  position: relative;
  width: 100%;
  aspect-ratio: auto; /* одинаковая высота и пропорция */
  border-radius: 24px;
  overflow: hidden;
  background: #f2f4f7;
  height: 419px;
  width: 582px;
}
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  min-width: 582px;
}

/* Play показываем только если есть видео (у вас уже есть логика has-video) */
.review-video__play {
  display: none;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  cursor: pointer;
}
.review-slide.has-video .review-video__play {
  display: block;
}
.article-row__thumb {
  max-width: 338px;
  height: 225px;
  border-radius: 30px;
} /* === Отключаем влияние паддингов контейнера на слайды === */

/* ===== Blog Carousel (bc) ===== */
.bc {
  padding: 56px 0;
  background: #fff;
  overflow: hidden;
}
.bc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}
.bc__title {
  margin: 0;
  font: 700 clamp(24px, 2.4vw, 36px) / 1.2 "Open Sans", system-ui, Arial,
    sans-serif;
  color: #111827;
}

/* Навигация */
.bc__nav {
  display: flex;
  gap: 10px;
}
.bc__prev,
.bc__next {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #111;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  cursor: pointer;
}
.bc__prev:hover,
.bc__next:hover {
  border-color: #cfd4dc;
}

/* Слайдер */
.bc__slider {
  overflow: visible;
} /* режем не тут; режется контейнером страницы */
.bc__slider .swiper-wrapper {
  align-items: stretch;
}

/* Карточка */
.bc-slide {
  display: grid;
  gap: 10px;
}
.bc-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #f3f4f6;
  border-radius: 24px;
  overflow: hidden;
}
.bc-media__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.bc-media__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 74px;
  height: 74px;
  border: 0;
  cursor: pointer;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.36);
}
.bc-media__play::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-32%, -50%);
  width: 0;
  height: 0;
  border-left: 22px solid #fff;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
}
.bc-media__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* Подписи */
.bc-meta {
  display: grid;
  gap: 6px;
}
.bc-meta__title {
  font-weight: 600;
  color: #0b0b0b;
  text-decoration: none;
}
.bc-meta__title:hover {
  text-decoration: underline;
}
.bc-meta__date {
  font-size: 13px;
  color: #6b7280;
}

/* Адаптив ширины карточек задаём Swiper'ом: slidesPerView */
@media (max-width: 960px) {
  .bc {
    padding: 44px 0;
  }
}
.video-rail {
  padding: clamp(40px, 6vw, 60px) 0;
  background: #fff;
  padding-bottom: 110px;
}
.video-rail__title {
  font-family: var(--second-family, inherit);
  font-weight: 600;
  font-size: clamp(24px, 4vw, 48px);
  letter-spacing: -0.01em;
  color: #000;
}
.video-rail__wrap {
  position: relative;
}

.vrail {
  overflow: hidden;
}
.vrail__track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.vrail__track::-webkit-scrollbar {
  display: none;
}

.vcard {
  flex: 0 0 100%;
  scroll-snap-align: center;
  display: grid;
  gap: 12px;
}
.vcard__media {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 50px;
  overflow: hidden;
  background: #eceef3;
}
.vcard__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 1000px) {
  .vcard__play {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 168px;
    height: 168px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.55);
    border: none;
    transition: transform 0.2s ease, background 0.2s ease;
  }
  .vcard__play::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-left: 50px solid #fff;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
  }
}
.vcard.is-playing .vcard__play {
  background: rgba(0, 0, 0, 0.65);
}
.vcard.is-playing .vcard__play::before {
  width: 18px;
  height: 18px;
  border: none;
  background: linear-gradient(#fff, #fff) left center/6px 18px no-repeat,
    linear-gradient(#fff, #fff) right center/6px 18px no-repeat;
  transform: none;
}

.vcard__title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: #3a4050;
}
.feature-card__more {
  text-decoration: none;
}
.mega-left__more {
  display: grid;
  place-items: center;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mega-left__all {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 44px;
  width: 100%;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  background: #009fed;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.25s ease;
}

@media (hover: hover) {
  .mega-left__all:hover {
    background: #007dc0;
  }
}
.pp-nav {
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(
    -50%
  ); /* всегда идеально центрирует стрелку по вертикали */
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.pp-prev {
  left: -22px;
} /* при необходимости можно подвинуть по горизонтали */
.pp-next {
  right: -22px;
}

.pp-nav svg {
  width: 14px;
  height: auto;
  display: block;
  transform: translateY(
    0.5px
  ); /* микрокоррекция — оптически центрирует линию */
}

.pp-nav:disabled {
  opacity: 0.4;
  pointer-events: none;
}
/* 1) якорь для абсолютного позиционирования */
.popular-products > .container,
.new-products > .container {
  position: relative;
}

/* 2) сам слайдер закрыт */
.popular-swiper,
.new-swiper {
  position: relative;
  overflow: hidden;
}

/* 3) кнопки */
.pp-nav {
  position: absolute;
  z-index: 20;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 0;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  cursor: pointer;
}
.pp-nav svg {
  display: block;
  width: 30px;
  height: 30px;
}

/* 1300–1600 — “отдалить” сильнее */
@media (min-width: 1300px) and (max-width: 1600px) {
  .popular-products .pp-prev,
  .new-products .new-prev {
    left: 25px;
  }
  .popular-products .pp-next,
  .new-products .new-next {
    right: 25px;
  }
}
@media (min-width: 1600px) and (max-width: 1900px) {
  .popular-products .pp-next,
  .new-products .new-next,
  .news .news-next {
    right: 150px;
  }
  button.pp-nav.pp-prev.swiper-button-disabled {
    left: 155px;
  }
  .new-products .new-prev {
    left: 155px;
  }
  .news .news-prev {
    left: 155px;
  }
}
/* планшеты и ниже — чуть внутрь, чтобы не обрезало */
@media (max-width: 1199px) {
  .popular-products .pp-prev,
  .new-products .new-prev {
    left: 8px;
  }
  .popular-products .pp-next,
  .new-products .new-next {
    right: 8px;
  }
}
@media (min-width: 1201px) and (max-width: 1400px) {
  .new-swiper .product-card {
    max-width: 263px;
  }
} /* 1) Фото-блок = двухрядная сетка: 200px под фото + строка под бейдж */
.card__img {
  display: grid;
  grid-template-rows: 200px auto; /* высота зоны фото + строка бейджа */
  row-gap: 11px; /* РОВНО 11px между фото и скидкой */
  align-content: start;
  justify-items: center;
  overflow: hidden;
  border-radius: 10px;
  position: relative; /* можно оставить, но уже не для бейджа */
}

/* 2) Картинка строго в первой строке, по центру */
.card__img img {
  grid-row: 1;
  max-height: 200px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* 3) Бейдж больше НЕ абсолютный — обычный элемент потока */
.card__badge {
  grid-row: 2;
  position: static !important; /* снимаем старые absolute/bottom/left */
  justify-self: start; /* слева под фото */
  background: #009fed;
  color: #fff;
  font: 700 14px/1 Roboto, sans-serif;
  padding: 8px 10px;
  border-radius: 12px;
}
/* Фото + скидка: двухрядная сетка */
.card__img {
  /* СБРОС старой фикс-высоты и перевод в grid */
  height: auto !important;
  display: grid !important;
  grid-template-rows: 200px auto; /* 1: фото, 2: строка под бейдж */
  row-gap: 11px; /* ровно 11px между фото и скидкой */
  align-content: start;
  justify-items: center;
  overflow: hidden; /* можно оставить ради скруглений */
  border-radius: 10px;
  position: relative; /* не влияет на бейдж теперь */
}

/* Картинка строго в первой строке, по центру */
.card__img img {
  grid-row: 1;
  max-height: 237px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* Бейдж — больше НЕ absolute: обычный потоковый элемент под фото */
.card__badge {
  grid-row: 2;
  position: static !important; /* снимаем старые absolute/bottom/left */
  justify-self: start; /* слева под фото */
  background: #009fed;
  color: #fff;
  font: 700 14px/1 Roboto, sans-serif;
  padding: 8px 10px;
  border-radius: 12px;
}

@media (min-width: 1440px) and (max-width: 1600px) {
  .card__badge {
    margin-left: -10px;
  }
}

@media (min-width: 400px) and (max-width: 600px) {
  .card__badge {
    margin-left: -70px;
  }
}
.search {
  position: relative;
  width: 460px; /* фикс ширина блока поиска */
  height: 60px;
}

.search input {
  width: 460px; /* фикс ширина поля */
  height: 60px;
  border-radius: 15px;
  border: 1px solid #009fed;
  background: #fff;
  padding-right: 48px; /* место под иконку справа */
  font: inherit;
  outline: none;
  font-family: "Roboto", sans-serif;
}

/* Иконка внутри справа */
.search .i--search {
  position: absolute;
  right: 16px; /* внутри поля */
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("/wp-content/themes/newtheme/assets/icons/search.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none; /* чтобы клики шли на input */
}
.header-main {
  display: grid;
  align-items: center;
  grid-template-columns: auto auto 460px auto; /* logo, catalog, search, actions */
  column-gap: 20px; /* между Каталог — Поиск — Иконки */
  height: 80px;
}

/* Вложенный грид справа: иконки + кнопка */
.header-actions {
  display: grid;
  grid-template-columns: auto auto; /* иконки + CTA */
  column-gap: 64px; /* между иконками и кнопкой */
  align-items: center;
}

/* Иконки с gap=20 внутри */
.iconbar {
  display: flex;
  gap: 20px;
}

/* Иконки и кнопка — без изменений */
.iconbtn {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  border: 1px solid #009fed;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cat-tile__title {
  font-weight: 600;
  font-size: 32px;
  letter-spacing: -0.01em;
  color: #000;
  max-width: 75%;
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Arial,
    sans-serif;
}
.btn-primary2 {
  background: #009fed;
  border-radius: 15px;
  padding: 20px 40px;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #fff;
  font-family: "roboto", sans-serif;
}
.news-card {
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: 24px;
  background: #f2f3f6;
  overflow: hidden; /* чтобы картинка обрезалась по радиусу */
}

/* Контейнер под картинку */
.news-card__thumb {
  display: block;
  position: relative;
  width: 100%;
  height: 215px; /* высота по макету */
}

/* Фото заполняет контейнер целиком */
.news-card__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
  border-radius: 32px;
}

.contacts__value {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
  margin: 0;
}
.contacts__label {
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #000;
  opacity: 0.5;
  margin: 0;
}
.p {
  margin: 0;
  margin-block-start: 0em;
  margin-block-end: 0em;
}
.method2 {
  margin-top: 15px;
}
.contacts__info {
  display: grid;
  gap: 20px;
}
.contacts__info p {
  margin: 0;
}

.contacts__field {
  display: grid;
  gap: 10px;
}
.contacts__label {
  font-weight: 600;
}
.contacts__list {
  display: grid;
  gap: 10px;
}

.contacts__actions {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.contacts__subscribe {
  border: 1px solid #009fed;
  border-radius: 15px;
  padding: 20px 40px;
  background: #fff;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: -0.01em !important;
  color: #009fed !important;
  width: 298px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: 0.2s ease;
}

.contacts__subscribe:hover {
  background: #009fed;
  color: #fff;
}
/* Карта — адаптивная, с обрезкой углов */
.contacts__map {
  width: min(1074px, 100%);
  aspect-ratio: 1074 / 506; /* держим пропорцию */
  border-radius: 30px;
  overflow: hidden;
}

/* Если нужен «жёсткий» максимум высоты на очень широких экранах */
@media (min-width: 1280px) {
  .contacts__map {
    max-height: 506px;
  }
}

/* На узких — можно чуть увеличить высоту, если текст рядом становится выше */
@media (max-width: 768px) {
  .contacts__map {
    aspect-ratio: 16 / 10;
  }
}
@media (max-width: 1366px) {
  .cat-tile {
    width: auto;
  }
}
.video-rail {
  padding: clamp(30px, 6vw, 30px) 0;
  background: #fff;
  padding-bottom: 110px;
}

.footer-column address a {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  opacity: 0.8;
} /* сетка хедера: logo | catalog | search | actions */

.header-main {
  display: grid;
  align-items: center;
  grid-template-columns: auto auto clamp(320px, 35vw, 460px) max-content;
  column-gap: 20px;
  height: auto;
  min-width: 0;
}
@media (max-width: 1000px) {
  .header-main {
    display: grid;
    align-items: center;
    grid-template-columns: auto;
    column-gap: 20px;
    height: auto;
    min-width: 0;
  }
}
.header-main > * {
  min-width: 0;
}

/* поиск больше не фикс 460 — тянется по ширине колонки */
.search {
  width: 100%;
  height: 60px;
}
.search input {
  width: 100%;
  height: 60px;
  border: 1px solid #009fed;
  border-radius: 15px;
  padding: 0 48px 0 16px;
}

/* иконка справа внутри поля */
.search .i--search {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("/wp-content/themes/newtheme/assets/icons/search.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
}

/* правый блок: иконки + CTA */
.header-actions {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 64px;
}
.iconbar {
  display: flex;
  gap: 20px;
}

/* убираем распирание слева у «Каталога» */
.btn-catalog {
  margin-left: 0;
}
/* ===== ДЕСКТОП ≥1025px: эластичная сетка ===== */
@media (min-width: 1025px) {
  .header-main {
    display: grid;
    align-items: center;
    /* logo | catalog | search | actions  */
    grid-template-columns:
      auto
      auto
      clamp(370px, 34vw, 450px)
      /* поиск сжимается после ~1400px, но не меньше 370 */
      1fr; /* правый блок получает остаток */
    column-gap: 20px;
    height: auto;
    min-width: 0;
  }
  .header-main > * {
    min-width: 0;
  }

  /* поиск больше НЕ фикс — тянется по колонке */
  .search {
    width: 100%;
    height: 60px;
  }
  .search input {
    width: 100%; /* ширина = ширине колонки */
    max-width: 460px; /* верхний предел */
    height: 60px;
  }

  /* правый блок: разрешаем перенос, чтобы кнопка не «залазила» вправо */
  .header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    flex-wrap: wrap; /* КЛЮЧ: можно переносить на следующую линию */
    gap: 12px 72px; /* row gap 12, column gap 64 (иконки ↔ CTA) */
    max-width: 100%;
    min-width: 0;
  }
  .iconbar {
    display: flex;
    gap: 20px;
    flex: 0 1 auto;
  }
  .btn-cta {
    flex: 0 0 auto;
  } /* занимает свою ширину, при нехватке — уходит на строку ниже */

  /* не распираем ряд «Каталогом» */
  .btn-catalog {
    margin-left: 0;
  }
}

/* Доп. ужатие контейнера на средних десктопах — чтобы было больше места под хедер */
@media (min-width: 1025px) and (max-width: 1400px) {
  .container {
    padding-left: 100px;
    padding-right: 100px;
  } /* было 240 */
  .iconbar {
    gap: 16px;
  }
}

@media (min-width: 1025px) and (max-width: 1700px) {
  .header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px 72px;
    max-width: 100%;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .price-now {
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: #000;
  }
  .ctl__box {
    padding: 0 10px;
  }
  .vcard__play::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-left: 25px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }
  .cat-tile__btn {
    border-radius: 8px;
    padding: 20px 40px;
    max-width: 144px;
    height: 30px;
    font-weight: 400;
    font-size: 10px;
    letter-spacing: -0.01em;
    color: #000;
  }
  .cat-tile__title--light {
    color: #fff;
    max-width: 100%;
  }
  .cat-tile__title--light {
    padding-top: 25px;
  }
  .meta-rating svg {
    transform: translate(0px, 6px);
    width: 15px;
  }
  .catalog__title {
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.01em;
    color: #000;
    margin-top: 25px;
  }
  .popular-products__title {
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.01em;
    color: #000;
  }
  .btn-primary2 {
    display: none;
  }
  .contacts__info .btn {
    border-radius: 15px;
    padding: 20px 40px;
    width: 303px;
    height: 54px;
  }
  .catalog__title {
    margin: 0 0 20px;
  }
  .popular-products__title {
    padding-top: 40px;
    margin: 0 0 20px;
  }
  .popular-swiper {
    padding: 0 !important;
  }
  .product-card {
    margin-right: 15px;
  }
  .news {
    padding: 40px 0;
  }
  .contacts__info .btn {
    border-radius: 15px;
    padding: 20px 40px;
    width: 100%;
    height: 54px;
  }
  .contacts__subscribe {
    width: 100%;
  }
  .contacts__info {
    border-radius: 15px;
  }
  .catalog__title {
    margin-top: 40px;
  }
}

/* ======= Мобилки: карта сверху ======= */
@media (max-width: 1024px) {
  .contacts__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* переносим карту вверх */
  .contacts__map {
    order: -1;
    width: 100%;
    height: 320px;
  }
}
.cat-tile__title--light {
  color: #fff;
}
@media (min-width: 1825px) {
  .btn-catalog {
    margin-left: 45px;
  }
  .container {
    padding-left: 240px;
    padding-right: 215px;
  }
}

@media (max-width: 1300px) {
  .header-actions {
    column-gap: 5px;
    grid-template-columns: auto;
  }
}
@media (min-width: 1825px) {
  .btn-cta {
    flex: 0 0 auto;
    transform: translate(0px, 0px);
  }
}
/* Карточка и блок изображения */
.card {
  position: relative;
}
.card__link {
  display: block;
}

/* Контейнер с фото: слой выше бэйджа */
.card__img {
  position: relative;
  z-index: 2; /* фото выше бэйджа */
  overflow: visible; /* чтобы бэйдж мог выглядывать */
}

/* Само изображение наверху стека */
.card__img img {
  display: block;
  position: relative;
  z-index: 2;
}

/* Бэйдж ниже по слою — "за фото" */
.card__badge {
  position: absolute;
  z-index: 10; /* НИЖЕ картинки */
  top: 8px;
  left: 8px;

  /* оформление как было/пример */
  background: #009fed;
  color: #fff;
  border-radius: 12px;
  padding: 10px 15px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
  /* можно добавить лёгкий сдвиг, чтобы "заглядывал" из-под фото */
  transform: translate(-20px, -6px);
  margin-top: 50px;
}
.card__price {
  font-weight: 500;
  font-size: 28px;
  letter-spacing: -0.01em;
  color: #000;
  font-family: "Roboto", sans-serif;
} /* ====== Блок цен ====== */
.card__price {
  display: flex;
  align-items: baseline;
  gap: 8px; /* расстояние между ценами */
  flex-wrap: wrap;
}

/* Новая (действующая) цена */
.card__price ins {
  order: 1;
  font-size: 22px;
  font-weight: 700;
  color: #000;
  text-decoration: none; /* WooCommerce иногда сам добавляет */
  line-height: 1;
}

/* Старая цена (зачеркнутая) */
.card__price del {
  order: 2;
  font-size: 15px;
  font-weight: 400;
  color: #999;
  text-decoration: line-through;
  line-height: 1;
  opacity: 0.8;
  transform: translateY(-1px); /* визуально приподнимает */
}

/* Убираем лишние паддинги WooCommerce */
.card__price .amount {
  margin: 0;
  line-height: 1;
}
.card__title {
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* ограничение в 2 строки */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; /* добавляет троеточие */
  line-height: 1.2;
  height: 3.6em; /* 2 строки * line-height */
}
/* Телефоны */
@media (max-width: 767px) {
  .plist__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* ровно 2 по ширине */
    gap: 16px;
  }

  /* карточка аккуратнее */
  .card {
    padding: 12px;
    border-radius: 12px;
  }

  .card__img img {
    width: 100%;
    height: auto;
  }

  .card__price ins {
    font-size: 18px;
  }

  .card__price del {
    font-size: 13px;
  }

  .card__title {
    font-size: 14px;
    line-height: 1.3;
  }
  .card__badge {
    position: absolute;
    z-index: 10;
    top: 8px;
    left: 8px;
    border-radius: 7px;
    padding: 5px 8px;
    width: 38px;
    height: 22px;
    font-weight: 500;
    font-size: 10px;
    letter-spacing: -0.01em;
    color: #fff;
    transform: translate(-20px, -6px);
    margin-top: 0px;
  }
  .card__badge {
    margin-left: 20px;
  }
  .card {
    height: auto;
  }
} /* Блок действий выключен по умолчанию */
.card__actions--mobile {
  display: none;
}

/* Только телефоны: включаем и оформляем */
@media (max-width: 767px) {
  .card__actions--mobile {
    display: flex;
    gap: 12px;
    margin-top: 12px;
    align-items: center;
  }

  /* Кнопка «В корзину» слева — широкая */
  .card__actions--mobile .btn-addtocart,
  .card__actions--mobile .add_to_cart_button {
    flex: 1 1 auto;
    height: 48px;
    border-radius: 15px;
    background: #009fed;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }
  .card__actions--mobile .add_to_cart_button.added {
    background: #17a1ff;
  }

  /* Сердце справа — квадратная иконкокнопка */
  .card__actions--mobile .card__wish {
    flex: 0 0 auto;
  }
  .card__actions--mobile .yith-wcwl-add-to-wishlist,
  .card__actions--mobile .tinv-wraper {
    /* если вдруг другой плагин — не помешает */
    margin: 0;
  }
  .card__actions--mobile .yith-wcwl-add-button > a,
  .card__actions--mobile .yith-wcwl-wishlistaddedbrowse > a,
  .card__actions--mobile .yith-wcwl-wishlistexistsbrowse > a {
    width: 48px;
    height: 48px;
    border: 1px solid #009fed;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #009fed;
    text-decoration: none;
  }
  /* убираем подписи у YITH на мобиле, оставляем только иконку */
  .card__actions--mobile .yith-wcwl-add-button a span,
  .card__actions--mobile .yith-wcwl-wishlistaddedbrowse a span,
  .card__actions--mobile .yith-wcwl-wishlistexistsbrowse a span {
    display: none;
  }
}

/* На всякий: чтобы огромный <a.card__link> не перекрывал нижние кнопки */
.card__link {
  position: relative;
  z-index: 1;
}
.card__actions--mobile {
  position: relative;
  z-index: 2;
}
/* ====== Кнопки под карточкой только на мобилках ====== */
@media (max-width: 767px) {
  .card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 16px;
    padding: 16px;
    background: #fff;
    border: 1px solid #009fed20;
    box-sizing: border-box;
    overflow: hidden;
  }

  .card__actions--mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding-top: 12px;
  }

  .card__actions--mobile .btn-addtocart,
  .card__actions--mobile .add_to_cart_button {
    flex: 1;
    height: 44px;
    border-radius: 12px;
    background: #009fed;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: none;
    text-align: center;
    line-height: 44px;
    text-wrap: nowrap;
  }

  .card__actions--mobile .card__wish {
    flex: 0 0 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .card__actions--mobile .yith-wcwl-add-to-wishlist a {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid #009fed;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
  }

  /* чтобы не вылезали из карточки */
  .card__actions--mobile {
    position: relative;
    z-index: 3;
  }
}
/* Телефоны: фильтры по 2 в ряд */
@media (max-width: 767px) {
  /* обычные контролы занимают по 1 колонке */
  #catalogFilters .ctl {
    margin: 0;
  }
	.catalog-page {
		padding-top: 30px;
	}
  /* чуть компактнее поля на мобиле */
  #catalogFilters .ctl__box {
    width: 100%;
  }
  .ctl__input {
    font-weight: 400;
    font-size: 12px;
    letter-spacing: -0.01em;
    color: #000;
    text-wrap: inherit;
  }
  .catalog-page__title {
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.01em;
    color: #000;
  }
  .catalog-swiper .cat-tile__title {
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.01em;
    color: #000;
  }
}
/* Список новостей слева */
.news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 20px; /* расстояние между карточками */
}

/* Карточка: вертикальная компоновка */
.news-card-sm {
  display: flex;
  flex-direction: column; /* картинка сверху, текст снизу */
  gap: 12px; /* расстояние между фото и текстом */
}

/* Превью — на всю ширину карточки, с обрезкой по краям */
.news-card-sm__thumb {
  display: block;
}
.news-card-sm__thumb img {
  display: block;
  width: 306px;
  height: 231px;
  object-fit: cover; /* как на втором скрине */
  border-radius: 30px; /* скругления фото */
}

/* Текстовая часть */
.news-card-sm__title {
  display: block;
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
  text-decoration: none;
  line-height: 1.2;
  margin: 0;
}
.news-card-sm__excerpt {
  margin: 6px 0 0;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #000;
}
.news-card-sm__date {
  display: block;
  margin-top: 8px;
  color: #9aa0a6;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: -0.01em;
  color: #000;
  opacity: 0.5;
}

.new-swiper .product-card__badge1 {
  position: absolute;
  left: 14px;
  top: -34px; /* «лежит» поверх фото */
  background: #009fed;
  border-radius: 12px;
  padding: 10px 15px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #fff;
}
.meta1 {
  transform: translate(0, 10px);
}
.post-single {
  display: grid;
  padding-block: 80px;
}

.post-single__in {
  margin: 0;
  display: grid;
  gap: 40px;
}

.post-entry__title {
  font-weight: 700;
  font-size: 44px;
  line-height: 1.2;
  color: #000;
}

.post-entry__thumb img {
  width: auto;
  height: auto;
  border-radius: 16px;
  display: block;
}

.post-entry__content {
  display: grid;
  gap: 24px;
  color: #000;
  font-size: 18px;
  line-height: 1.6;
}
.pdp__sku {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #000;
}
.pdp__warranty {
  font-weight: 400;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: #009fed;
} /* Паддинг справа только на странице товара */
.single-product .container {
  padding-right: 215px;
}

.single-product p {
  margin: 0;
}
.spec-k span {
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: #000;
}
.spec-v span {
  font-weight: 400;
  font-size: 24px;
  letter-spacing: -0.01em;
  color: #000;
} /* Размер и зазоры превью */
:root {
  --th-size: 90px; /* сторона квадрата превью */
  --th-gap: 12px; /* расстояние между превью */
}

.pdp__thumbs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* видим ровно 5 штук по высоте контейнера */
#pdpThumbs {
  width: var(--th-size);
  height: calc(var(--th-size) * 5 + var(--th-gap) * 4);
  overflow: hidden;
  border-radius: 12px;
}
#pdpThumbs .swiper-wrapper {
  align-items: flex-start;
}
.pdp__thumb.swiper-slide {
  width: var(--th-size);
  height: var(--th-size);
  border: 1px solid #009fed33;
  border-radius: 12px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pdp__thumb.is-active {
  border-color: #009fed;
  box-shadow: 0 0 0 2px #009fed33 inset;
}
.pdp__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Стрелки */
.pdp-th-nav {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid #009fed33;
  background: #fff;
  cursor: pointer;
  position: relative;
}
.pdp-th-prev::before,
.pdp-th-next::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 2px solid #009fed;
  border-bottom: 2px solid #009fed;
  transform: rotate(-135deg);
}
.pdp-th-next::before {
  transform: rotate(45deg);
}
.pdp-th-nav.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}

/* Мобилки: делаем горизонтальный слайдер под основной картинкой */
@media (max-width: 767.98px) {
  .pdp__thumbs {
    flex-direction: row;
    align-items: center;
    gap: 8px;
  }
  #pdpThumbs {
    width: auto;
    height: var(--th-size);
  }
  .pdp__thumb.swiper-slide {
    width: var(--th-size);
    height: var(--th-size);
  }
}
/* СКИДКА под фото */
.rel-card__off {
  display: inline-block;
  margin-top: 8px;
  background: #009fed;
  color: #fff;
  border-radius: 12px;
  padding: 10px 15px;
  width: 74px;
}

@media (max-width: 1300px) {
  .single-product .container {
    padding-right: 20px;
  }
}

@media (min-width: 1800px) and (max-width: 1903px) {
  .container {
    padding-left: 180px;
    padding-right: 180px;
  }
}

@media (min-width: 1400px) and (max-width: 1799px) {
  .container {
    padding-left: 100px;
    padding-right: 100px;
  }
}

.search .i--search {
  cursor: pointer;
  pointer-events: auto;
}

@media (max-width: 768px) {
  .news-card__title {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    font-size: 10px;
    letter-spacing: -0.01em;
    color: #000;
  }
  .news-card__thumb {
    height: 131px;
  }
  .news-card__thumb img {
    height: 131px;
  }
  .news-card__date {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 10px;
    letter-spacing: -0.01em;
  }
  .news-card__body {
    padding: 15px 5px 5px;
  }
}

.news__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* по умолчанию иконку скрываем на больших экранах */
.news__hint {
  display: none;
}

.news__hint svg {
  width: 22px;
  height: 24px;
}
.news__hint svg path {
  fill: #009fed; /* нужный цвет */
}

/* ТОЛЬКО телефоны: показываем иконку; по желанию прячем кнопку */
@media (max-width: 767.98px) {
  .news__hint {
    display: inline-flex;
  }
  /* если нужно спрятать кнопку "Все новости" на телефонах — раскомментируй: */
  /* .news__all{ display:none; } */
}

/* Новости: по умолчанию — 1 карточка с "подсмотром" края (мобилки) */
.news .news-swiper .swiper-slide {
  width: 85%; /* можно 90–95% на вкус */
}

/* С 576px и выше — РОВНО ДВЕ карточки во вьюпорте */
@media (min-width: 576px) {
  .news .news-swiper .swiper-slide {
    width: calc((100% - 20px) / 2); /* 20px = твой spaceBetween в JS */
  }
}

/* Если у тебя spaceBetween другой — подставь то же значение сюда */
/* контейнер для заголовка + иконка (если обернули в .new-head) */
.new-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-left: 0 !important;
}

/* иконка по умолчанию скрыта на десктопе */
.head-hint {
  display: none;
}
.head-hint svg {
  width: 22px;
  height: 24px;
  margin-top: 30px;
}
.head-hint svg path {
  fill: #009fed;
}

/* показываем только на телефонах */
@media (max-width: 767.98px) {
  .head-hint {
    display: inline-flex;
  }
  /* при желании можно скрыть рядом кнопку в этом блоке */
  /* .new-head .btn { display:none; } */
}

/* иконка по умолчанию скрыта на десктопе */
.head-hint1 {
  display: none;
}
.head-hint1 svg {
  width: 22px;
  height: 24px;
  margin-top: 10px;
}
.head-hint1 svg path {
  fill: #009fed;
}

/* показываем только на телефонах */
@media (max-width: 767.98px) {
  .head-hint1 {
    display: inline-flex;
  }
  /* при желании можно скрыть рядом кнопку в этом блоке */
  /* .new-head .btn { display:none; } */
  .vcard__media video {
    border-radius: 15px;
    background: #d9d9d9;
  }
}

/* иконка по умолчанию скрыта на десктопе */
.head-hint2 {
  display: none;
}
.head-hint2 svg {
  width: 22px;
  height: 24px;
  margin-top: -25px;
}
.head-hint2 svg path {
  fill: #009fed;
}

/* показываем только на телефонах */
@media (max-width: 767.98px) {
  .head-hint2 {
    display: inline-flex;
  }
  /* при желании можно скрыть рядом кнопку в этом блоке */
  /* .new-head .btn { display:none; } */
  .vcard__media video {
    border-radius: 15px;
    background: #d9d9d9;
  }
}
.mega-left__item {
  display: grid; /* 1 */
  grid-template-columns: 1fr auto; /* имя | счетчик */
  align-items: center;
  justify-items: start;
  text-align: left; /* 2 */
}

.mega-left__name {
  justify-self: start; /* 3 */
  text-align: left;
  overflow-wrap: anywhere; /* 4: перенос длинных слов */
  white-space: normal; /* 5: разрешить перенос */
} /* Контейнер — по центру */
.plist__pagi {
  margin-top: 32px;
}

.pagination {
  display: flex;
  justify-content: center; /* центр */
}

.pagination__list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap; /* на маленьких ширинах переносится */
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Кнопки страниц (WP отдаёт .page-numbers для <a> и <span>) */
.pagination__list .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  font-weight: 600;
  line-height: 1;
  border: 1px solid #333; /* рамка */
  border-radius: 15px; /* скругление */
  background: #fff; /* белый фон */
  color: #111;
  text-decoration: none;
  transition: background 0.15s, color 0.15s, border-color 0.15s,
    box-shadow 0.15s;
}

.pagination__list a.page-numbers:hover {
  border-color: #009fed;
  box-shadow: 0 0 0 3px rgba(0, 159, 237, 0.12);
}

/* Активная страница */
.pagination__list .page-numbers.current {
  background: #009fed; /* активная */
  color: #fff;
  border-color: #009fed;
}

/* Стрелки */
.pagination__list .page-numbers.prev,
.pagination__list .page-numbers.next {
  color: #000;
  width: 44px; /* квадратные кнопки со стрелкой */
  padding: 0;
  border: 0;
}

/* Неактивные стрелки (когда страницы нет) */
.pagination__list .page-numbers.prev[aria-disabled="true"],
.pagination__list .page-numbers.next[aria-disabled="true"],
.pagination__list .page-numbers.prev.disabled,
.pagination__list .page-numbers.next.disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* Многоточие */
.pagination__list .page-numbers.dots {
  border: none;
  background: transparent;
  min-width: auto;
  height: auto;
  padding: 0 6px;
  color: #666;
}

/* Адаптив */
@media (max-width: 768px) {
  .pagination__list {
    gap: 8px;
  }
  .pagination__list .page-numbers,
  .pagination__list .page-numbers.prev,
  .pagination__list .page-numbers.next {
    min-width: 38px;
    height: 38px;
    border-radius: 12px;
    font-size: 14px;
  }
}

@media (max-width: 420px) {
  .pagination__list {
    gap: 6px;
  }
  .pagination__list .page-numbers,
  .pagination__list .page-numbers.prev,
  .pagination__list .page-numbers.next {
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 13px;
  }
}
@media (max-width: 1020px) {
  .pdp__sku {
    font-size: 13px;
  }
  .pdp__meta {
    font-size: 14px;
    gap: 12px;
  }
  .pdp__warranty {
    font-size: 13px;
  }
  .pdp__manual a {
    font-size: 13px;
    padding: 6px 14px;
  }
  .iconbtn {
    width: 40px;
    height: 40px;
  }
  .pdp__header {
    margin-top: 30px;
  }
  .pdp-specs__k {
    font-size: 14px;
  }
  .pdp-specs__v {
    font-size: 14px;
  }
  .pdp-specs__row {
    gap: 12px;
  }
  .pdp__price ins {
    font-size: 20px;
  }
  .pdp__price del {
    font-size: 13px;
  }
  .pdp__thumbs {
    gap: 6px;
  }
  .pdp__specs {
    height: auto;
  }
  .pdp-tech__title {
    font-size: 18px;
  }
  .spec-k span {
    font-size: 15px;
  }
  .spec-v span {
    font-size: 15px;
  }
  .pdp-rcard h3 {
    font-size: 20px;
  }
  .contacts-card__phone {
    font-size: 16px;
  }
  .contacts-card__mail {
    font-size: 16px;
  }
  .np-left__title {
    font-size: 20px;
  }
  .news-card-sm__title {
    font-size: 16px;
  }
  .review-video__poster {
    min-width: 50px;
    width: auto;
    height: auto;
    max-width: 270px;
  }
  .review-video {
    width: auto;
    height: auto;
  }
  .np-right__title {
    font-size: 25px;
  }
  .np-right__all {
    width: 120px;
    height: 45px;
    font-size: 14px;
  }
  .reviews-swiper .swiper-wrapper {
    gap: 12px;
  }
  .np-articles__title {
    font-size: 25px;
  }
  .article-row__thumb img {
    height: auto;
    width: auto;
  }
  .news-card-sm {
    align-items: center;
  }
  /* === Mobile overflow fixes (без правок твоих медиa) === */

  .product-card__actions {
    margin-top: 20px;
  }
  /* Swiper и обёртки, чтобы лента не раздувала контейнер */
  .swiper,
  .reviews-swiper {
    width: 100%;
    overflow: clip;
  }

  /* Колонки и карточки во flex/grid — разрешаем сжатие контента */
  .np-left,
  .np-right,
  .news-card-sm,
  .news-card-sm__body,
  .article-row,
  .article-row__body,
  .review-card,
  .review-video,
  .contacts-card,
  .contacts-page__grid > * {
    min-width: 0;
  }

  /* Текст: безопасные переносы на мобилках */
  .news-card-sm__title,
  .article-row__title,
  .pdp-rcard h3,
  .pdp__sku,
  .pdp__meta,
  .pdp-specs__k,
  .pdp-specs__v {
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
  }

  /* Карточка статьи: не давать превью тянуть строку */
  .article-row__thumb,
  .article-row__thumb img {
    width: 100%;
    max-width: 100%;
  }
  .post-entry__thumb img {
    width: 100%;
  }
  .article-row {
    gap: 60px;
  }
  /* Мелкие иконки в нижней панели — не должны создавать nowrap */
  .bottom-nav,
  .bottom-nav * {
    min-width: 0;
  }
  .bottom-nav__item {
    white-space: normal;
  }
  .post-entry__title {
    font-weight: 700;
    font-size: 26px;
  }

  .about-timeline__year {
    font-weight: 700;
    font-size: 32px;
  }
  .about-timeline__label {
    font-weight: 400;
    font-size: 15px;
  }
  .about-title {
    font-weight: 600;
    font-size: 32px;
  }
  .about-subtitle {
    font-weight: 400;
    font-size: 16px;
  }
  .about-title {
    padding-top: 40px;
  }

  .about-subtitle {
    margin: 0 0 40px;
  }
  .about-stat__num {
    font-weight: 700;
    font-size: 80px;
  }

  .about-stat__label {
    font-weight: 400;
    font-size: 20px;
  }

  .about-info__row {
    grid-template-columns: 1fr;
  }
}

:root {
  --av-gap: 16px;
  --av-w: clamp(260px, 28vw, 420px);
  --av-radius: 20px;
  --av-pad: 16px;
  --av-play: 64px;
}

.av {
  display: grid;
  gap: 24px;
}
.av .container {
  display: grid;
  gap: 24px;
}

.av__head {
  display: grid;
  grid-auto-flow: column;
  justify-content: space-between;
  align-items: center;
}
.av__title {
  font-family: var(--font-family);
  font-weight: 500;
  font-size: 32px;
  line-height: 110%;
  letter-spacing: -0.02em;
  color: var(--chernyy-osnovnoy);
}
.av__nav {
  display: grid;
  grid-auto-flow: column;
  gap: 12px;
}
.av__prev,
.av__next {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--servyy-osnovnoy, #dde3ea);
  background: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.av__prev::before,
.av__next::before {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("/assets/icons/left_arrow.svg") no-repeat center/contain;
  background: currentColor;
  color: #000;
}
.av__next::before {
  transform: scaleX(-1);
}
.av__prev:disabled,
.av__next:disabled {
  opacity: 0.4;
  pointer-events: none;
}

.av__swiper {
  width: 100%;
  overflow: clip;
}
.av__swiper .swiper-wrapper {
  display: flex;
  gap: var(--av-gap);
}
.av__slide {
  width: var(--av-w);
  flex: 0 0 var(--av-w);
}

.av-card {
  display: grid;
  grid-template-rows: auto 1fr;
  border-radius: var(--av-radius);
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.av-card__media {
  position: relative;
  aspect-ratio: 16/9;
  background: #f2f4f7;
}
.av-card__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.av-card__play {
  position: absolute;
  inset: auto 0 0 0;
  margin: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: var(--av-play);
  height: var(--av-play);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.6);
  display: grid;
  place-items: center;
  border: 0;
  cursor: pointer;
}
.av-card__play svg {
  fill: #fff;
  display: block;
}
.av-card__title {
  padding: var(--av-pad);
  font-family: var(--font-family);
  font-weight: 600;
  font-size: 16px;
  line-height: 130%;
  color: var(--chernyy-osnovnoy);
  overflow-wrap: anywhere;
  min-width: 0;
}

@media (hover: hover) {
  .av__prev:hover,
  .av__next:hover {
    background: #f7fafc;
  }
  .av-card__play:hover {
    filter: brightness(1.1);
  }
}

@media (max-width: 1024px) {
  :root {
    --av-gap: 14px;
    --av-w: clamp(280px, 40vw, 380px);
  }
  .av__title {
    font-size: 28px;
  }
}

@media (max-width: 540px) {
  :root {
    --av-gap: 12px;
  }
  .av__title {
    font-size: 24px;
  }
  .av__slide {
    width: calc(100% - var(--av-gap));
  }
  .av__prev,
  .av__next {
    width: 40px;
    height: 40px;
  }
  .av-card__title {
    font-size: 15px;
  }
  .card__name {
    font-size: 15px;
  }
}

.news-page {
  overflow: hidden;
}

#ytrail-li3V5k .ytrail__container {
  padding: 0;
}

/* верхняя полоска */
.header-top__bar {
  display: flex;
  align-items: center;
  justify-content: space-between; /* <-- разносит список влево, телефон вправо */
  gap: 16px;
  min-height: 40px;
}

/* список слева как было */
.header-top__list {
  display: flex;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.header-top__list a {
  text-decoration: none;
  color: #111;
}

/* телефон справа */
.header-top__phone {
  text-decoration: none;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 15px;
  letter-spacing: -0.01em;
  color: #000;
  white-space: nowrap; /* не переносить номер */
}

/* мобильная адаптация: можно скрыть номер, если не влезает */
@media (max-width: 600px) {
  .header-top__phone {
    display: none;
  }
}
/* контейнер с иконкой и кнопкой */
.header-call {
  display: flex;
  align-items: center;
  justify-content: flex-end; /* <-- прижимаем всё содержимое вправо */
  gap: 12px;
  flex: 1; /* тянется на всю ширину родителя */
}

/* иконка телефона */
.call-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  flex-shrink: 0;
}

/* hover-эффект */
.call-icon:hover svg path {
  stroke: #009fed;
  transition: stroke 0.25s ease;
}
.call-icon {
  display: none;
}
/* адаптив: на мобильных (до 540px) номер скрыт, блок остаётся */
@media (max-width: 540px) {
  .header-top__phone {
    display: none;
  }
  .call-icon {
    display: grid;
  }
}
/* 2 карточки на телефонах */
@media (max-width: 767.98px) {
  .news-swiper .swiper-slide {
    width: 164px !important;
    margin-right: 15px !important;
  }
}

@media (max-width: 1520px) and (min-width: 1100px) {
  .header-main {
    grid-template-columns: auto auto clamp(20px, 24vw, 270px) 1fr;
  }
}

@media (max-width: 720px) {
  .flt__wrap {
    grid-template-columns: 1fr 1fr;
  }
  .priceNum {
    width: 25px;
  }
  .ctl--price .ctl__box {
    gap: 0px;
    padding: 0 5px;
  }
  .priceHint {
    font-size: 12px;
  }
  .priceNum {
    font-size: 11px;
    padding: 0;
  }

  .flt__wrap {
    row-gap: 8px;
    column-gap: 9px;
  }
  .ctl__box--price .price__bar {
    height: 2px;
  }
}

.chip--close {
  text-decoration: none;
}
.cat-chipbar {
  padding-top: 16px;
}
.chipbar__row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 8px;
  align-items: center;
}
.chip {
  display: inline-grid;
  place-items: center;
  height: 36px;
  padding: 0 12px;
  border-radius: 10px;
  font: 500 14px/1 Inter, Roboto, sans-serif;
}
.chip--ghost {
  background: #fff;
  border: 1px solid #e1e4ea;
  color: #111827;
}
.chip--current {
  background: #009fed;
  color: #fff;
}
.chip--close {
  background: #f3f4f6;
  color: #111827;
  width: 36px;
  padding: 0;
  text-align: center;
}
@media (max-width: 540px) {
  .chipbar__row {
    grid-auto-flow: row;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .chip--close {
    justify-self: start;
  }
  .chip {
    font: 500 10px / 1 Inter, Roboto, sans-serif;
  }
  .ctl__box--price .price {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 0;
    height: 22px;
    z-index: 1;
  }
  .pdp-bullets li {
    font-size: 15px;
  }
  .related-products {
    padding: 0;
  }
  .pdp-tech {
    margin: 75px 0 18px;
  }
  .related-title {
    font-size: 20px;
  }
  .single-product .container {
    padding-bottom: 30px;
    margin: 0;
  }
  .pdp-tech__grid {
    gap: 25px;
  }
}

/* По умолчанию мягкий снап (не mandatory) */
.reviews-swiper .swiper-wrapper {
  scroll-snap-type: x proximity;
  scrollbar-gutter: stable both-edges;
  touch-action: pan-x;
  cursor: grab;
}

/* Во время драга — полностью выключаем снап и события поверх карточек */
.reviews-swiper .swiper-wrapper.is-drag {
  scroll-snap-type: none;
  cursor: grabbing;
  user-select: none;
}
.reviews-swiper .swiper-wrapper.is-drag .review-card__overlay {
  pointer-events: none;
}

/* На всякий случай — браузер не «тащит» картинки/ссылки */
.reviews-swiper a,
.reviews-swiper img {
  -webkit-user-drag: none;
  user-select: none;
}
/* ==== BLOG REVIEWS: канонический вариант, без Swiper ==== */

/* 0) Глушим старые конфликты */
.reviews-swiper,
.reviews-swiper .swiper-wrapper {
  overflow: visible !important;
}
.reviews-swiper .swiper-wrapper {
  gap: 16px !important;
}

/* 1) Трек = горизонтальная лента */
.reviews-swiper .swiper-wrapper {
  display: flex !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px; /* дорожка под нативный скроллбар */
}

/* 2) Карточки не растягиваются, щёлкаются к началу */
.review-slide {
  flex: 0 0 auto !important;
  width: clamp(280px, 46vw, 560px) !important;
  scroll-snap-align: start;
  box-sizing: border-box;
}

/* 3) Единый медиа-блок — БЕЗ жёстких ширин/высот */

/* 4) Состояние перетаскивания (UX) */
.reviews-swiper .swiper-wrapper.is-drag {
  cursor: grabbing;
  user-select: none;
}
/* Page: Блог / Новости — только контейнер, внутри которого есть карусель */
.news-page .container:has(.reviews-swiper) {
  padding-right: 0 !important;
}
.reviews-swiper .swiper-wrapper::-webkit-scrollbar {
  display: none;
} /* WebKit */
.reviews-swiper .swiper-wrapper {
  display: flex !important;
  gap: 16px !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x; /* жёстты по оси X */
  scroll-snap-type: none; /* отключаем автодолистывание */
  scrollbar-width: none; /* Firefox: спрятать */
}
.review-video {
  width: 100%;
}
/* Переключение: когда открыт полный список */
.np-right.is-open .reviews-swiper {
  display: none;
}
.np-right.is-open .reviews-all {
  display: block;
}
.reviews-all[hidden] {
  display: none !important;
}

/* Сетка полного списка */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
@media (max-width: 1024px) {
  .reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 540px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

/* Берём твои карточки/видео из текущих стилей */
.review-card {
  display: grid;
  gap: 12px;
}
.review-video {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 24px;
  overflow: hidden;
  background: #f2f4f7;
}
.review-video__poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.review-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  border: 0;
  display: none;
}
.review-slide.has-video .review-video__play,
.reviews-grid .review-video + .review-card__overlay + .review-video__play {
  display: block;
} /* если нужно — можешь убрать */
.reviews-swiper .swiper-wrapper.is-drag {
  cursor: grabbing;
  user-select: none;
}
.reviews-swiper .swiper-wrapper.is-drag .review-card__overlay {
  pointer-events: none; /* во время перетаскивания ссылка молчит */
}

/* на всякий: кликабельность по умолчанию включена */
.review-card__overlay {
  pointer-events: auto;
}
.reviews-swiper a,
.reviews-swiper img {
  -webkit-user-drag: none;
  user-select: none;
}
.feature-card {
  position: relative;
  display: grid;
  row-gap: 8px;
  cursor: pointer;
  outline: 0;
}
.feature-card:focus-visible {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2) inset;
  border-radius: 12px;
}
.feature-card a.feature-card__more {
  position: relative;
  z-index: 2;
}
:root {
  --header-h: 0px;
  --glass-bg: rgba(255, 255, 255, 0.68);
  --glass-brd: rgba(0, 0, 0, 0.08);
  --glass-blur: 18px;
  --glass-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  border-bottom: 1px solid transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  transition: background 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, backdrop-filter 0.18s ease,
    -webkit-backdrop-filter 0.18s ease;
}

body {
  padding-top: var(--header-h);
}

body.admin-bar .site-header {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}

body.is-glassy .site-header {
  background: var(--glass-bg);
  border-bottom: 1px solid var(--glass-brd);
  backdrop-filter: blur(var(--glass-blur)) saturate(140%);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(140%);
  box-shadow: var(--glass-shadow);
}

/* Фолбэк, если нет backdrop-filter */
@supports not (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  body.is-glassy .site-header {
    background: rgba(255, 255, 255, 0.9);
  }
}
.site-header {
  padding-top: 0px;
}
:root {
  --header-h: 0px;
  --head-top: 32px; /* стартовый зазор сверху */
  --adminbar-offset: 0px; /* заполним ниже для admin-bar */
  --head-pt: 16px; /* верхний внутренний отступ контейнера */
  --head-pb: 16px; /* нижний внутренний отступ контейнера (увеличим при скролле) */

  --glass-bg: rgba(255, 255, 255, 0.68);
  --glass-brd: rgba(0, 0, 0, 0.08);
  --glass-blur: 18px;
  --glass-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

.site-header {
  position: fixed;
  top: calc(var(--head-top) + var(--adminbar-offset));
  left: 0;
  right: 0;
  z-index: 1000;
  background: transparent;
  border-bottom: 1px solid transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  transition: top 0.18s ease, background 0.18s ease, border-color 0.18s ease,
    box-shadow 0.18s ease, backdrop-filter 0.18s ease,
    -webkit-backdrop-filter 0.18s ease;
}

/* ваш внутренний контейнер — чуть больше «воздуха» снизу при скролле */
.site-header .container {
  padding-block: var(--head-pt) var(--head-pb);
  transition: padding 0.18s ease;
}

body {
  padding-top: var(--header-h);
}

/* WP admin bar смещение в переменную */
body.admin-bar {
  --adminbar-offset: 32px;
}
@media (max-width: 782px) {
  body.admin-bar {
    --adminbar-offset: 46px;
  }
}

/* стеклянное состояние при скролле + увеличиваем нижний зазор */
body.is-glassy {
  --head-top: 0px; /* схлопнули верхний зазор */
  --head-pb: 22px; /* добавили «чуть-чуть» снизу, чтобы логотип не упирался */
}
body.is-glassy .site-header {
  background: var(--glass-bg);
  border-bottom: 1px solid var(--glass-brd);
  backdrop-filter: blur(var(--glass-blur)) saturate(140%);
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(140%);
  box-shadow: var(--glass-shadow);
}

/* Фолбэк, если нет backdrop-filter */
@supports not (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  body.is-glassy .site-header {
    background: rgba(255, 255, 255, 0.9);
  }
}
:root {
  --mob-accent: #1aa7ff; /* ваш синий */
  --mob-text: #1a1a1a; /* обычный цвет иконок/текста */
}

/* базовое состояние: всё чёрное, без подчёркивания */
.mobile-nav__btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: var(--mob-text) !important;
}

/* подчёркивание у активного пункта */
.mobile-nav__btn::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -2px;
  height: 2px;
  border-radius: 2px;
  background: var(--mob-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.18s ease;
}

/* активный — синяя подпись и иконка + подчёркивание */
.mobile-nav__btn.is-active {
  color: var(--mob-accent) !important;
}
.mobile-nav__btn.is-active::after {
  transform: scaleX(1);
}

/* Inline SVG: тащим цвет из currentColor */
.mobile-nav__btn svg {
  width: 1.4em;
  height: 1.4em;
  display: block;
}
.mobile-nav__btn svg [stroke] {
  stroke: currentColor !important;
}
.mobile-nav__btn svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

/* Маска/спрайт в .i — красим фоном */
.mobile-nav__btn .i {
  width: 24px;
  height: 24px;
  display: block;
  background-color: transparent; /* работает с mask-image */
}

/* Перестраховка: если где-то насильно красили домик синим — гасим, кроме активного */
.mobile-nav__btn:not(.is-active) .i--main,
.mobile-nav__btn:not(.is-active) .i--main svg [stroke],
.mobile-nav__btn:not(.is-active) .i--main svg [fill]:not([fill="none"]) {
  color: var(--mob-text) !important;
  stroke: var(--mob-text) !important;
  fill: var(--mob-text) !important;
}
.review-video {
  position: relative;
}
.review-video__go {
  position: absolute;
  inset: 0; /* кликабельно всё поле по центру SVG */
  display: grid;
  place-items: center;
  z-index: 20;
  pointer-events: auto;
}
.review-video__go svg {
  width: 130px;
  height: 130px;
  display: block;
}
.review-video__play {
  display: none;
} /* если старая кнопка осталась */
/* Жесткое ограничение высоты для внутренней части меню */
#megaCatalog .mega__inner {
  /* Высота = 80% от высоты экрана. Оставляем 20% на шапку */
  max-height: 80vh !important;

  /* Включаем вертикальную прокрутку */
  overflow-y: auto !important;

  /* Гарантируем, что колонки стоят рядом */
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
}

/* На всякий случай фиксируем левую и правую колонки, чтобы они не ломались */
#megaCatalog .mega-left,
#megaCatalog .mega-right {
  height: auto !important;
  overflow: visible !important;
}

/* Косметический (стандартный серый) скроллбар, чтобы было понятно, что можно крутить */
#megaCatalog .mega__inner::-webkit-scrollbar {
  width: 8px;
}
#megaCatalog .mega__inner::-webkit-scrollbar-track {
  background: #f1f1f1;
}
#megaCatalog .mega__inner::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}
/* Настройки для выпадающего меню каталога */
#megaCatalog .mega__inner {
  /* Уменьшили высоту до 70% от экрана, чтобы снизу был воздух */
  max-height: 70vh !important;

  /* Скролл и отображение */
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;

  /* Добавим скругление снизу, чтобы выглядело аккуратно */
  border-radius: 0 0 12px 12px !important;

  /* Немного тени, чтобы меню "парило" над контентом */
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2) !important;
}

/* Фиксация колонок */
#megaCatalog .mega-left,
#megaCatalog .mega-right {
  height: auto !important;
  overflow: visible !important;
}

/* Красивый скроллбар */
#megaCatalog .mega__inner::-webkit-scrollbar {
  width: 8px;
}
#megaCatalog .mega__inner::-webkit-scrollbar-track {
  background: #f1f1f1;
}
#megaCatalog .mega__inner::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}
/* === 1. ПОЗИЦИОНИРОВАНИЕ МЕНЮ (чтобы было на всю ширину) === */
#megaCatalog {
  position: absolute !important; /* Вырываем из сетки хедера */
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999 !important; /* Поверх всего */
}

/* === 2. КОНТЕЙНЕР (Высота и структура) === */
#megaCatalog .mega__inner {
  /* Фиксированная высота (65% экрана), чтобы не прыгало */
  height: 65vh !important;
  min-height: 400px !important;
  max-height: 800px !important;

  /* Структура */
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;

  /* Скрываем скролл у самой рамки, скроллить будем колонки внутри */
  overflow: hidden !important;

  background: #fff !important;
  border-radius: 0 0 12px 12px !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
}

/* === 3. ЛЕВАЯ КОЛОНКА (Фикс ширины и скролл) === */
#megaCatalog .mega-left {
  /* Жесткая ширина 260px - исправляет "много места" */
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;

  height: 100% !important;
  overflow-y: auto !important; /* Включаем скролл */
  border-right: 1px solid #eee !important;
}

/* === 4. ПРАВАЯ КОЛОНКА (Скролл) === */
#megaCatalog .mega-right {
  flex: 1 !important; /* Занимает всё оставшееся место */
  height: 100% !important;
  overflow-y: auto !important; /* Включаем скролл */
  padding-bottom: 40px !important;
}

/* === 5. КРАСИВЫЙ СКРОЛЛБАР === */
#megaCatalog .mega-left::-webkit-scrollbar,
#megaCatalog .mega-right::-webkit-scrollbar {
  width: 6px;
}
#megaCatalog .mega-left::-webkit-scrollbar-track,
#megaCatalog .mega-right::-webkit-scrollbar-track {
  background: #f1f1f1;
}
#megaCatalog .mega-left::-webkit-scrollbar-thumb,
#megaCatalog .mega-right::-webkit-scrollbar-thumb {
  background: #009fed;
  border-radius: 4px;
}
/* --- Сетка --- */
.mega-grid-layout {
  display: grid;
  /* Автоматические колонки: минимум 240px, максимум - сколько влезут */
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 40px 30px; /* 40px между рядами, 30px между колонками */
  padding-bottom: 40px;
}

/* --- Группа (Подкатегория) --- */
.mega-group {
  display: flex;
  flex-direction: column;
  gap: 12px; /* Отступ от заголовка до списка */
}

/* Заголовок группы (Уровень 2) - жирный и заметный */
.mega-group__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #111; /* Почти черный */
  text-decoration: none;
  transition: color 0.2s ease;
  /* Небольшая черточка снизу для акцента (опционально, можно убрать) */
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
  display: inline-block;
  width: 100%;
}

.mega-group__title:hover {
  color: #007bff; /* Твой акцентный цвет (синий) */
  border-color: #007bff;
}

/* --- Список ссылок (Уровень 3) --- */
.mega-group__list {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Расстояние между ссылками */
}

/* Ссылка списка */
.mega-group__link {
  font-size: 14px;
  color: #666; /* Серый цвет для иерархии */
  text-decoration: none;
  line-height: 1.4;
  transition: all 0.2s ease;
  position: relative;
  padding-left: 0;
}

.mega-group__link:hover {
  color: #000; /* При наведении становится черным */
  padding-left: 5px; /* Небольшой сдвиг вправо при наведении */
}

/* --- Заголовок всей панели (справа сверху) --- */
.mega-panel__head {
  margin-bottom: 30px; /* Отступ до сетки */
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 15px;
}

.mega-panel__title-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.mega-panel__main-title {
  font-size: 24px;
  font-weight: 800;
  color: #000;
  margin: 0; /* Убираем дефолтные маржины */
}

.mega-panel__link-all {
  font-size: 14px;
  font-weight: 600;
  color: #007bff;
  text-decoration: none;
  background: #f0f7ff;
  padding: 8px 16px;
  border-radius: 6px;
  transition: background 0.2s;
}

.mega-panel__link-all:hover {
  background: #e1efff;
}
.mega-panel__head {
  border-bottom: none; /* Убирает линию под главным заголовком панели */
}
.related-swiper .swiper-wrapper {
  align-items: stretch;
}

.related-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.rel-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.rel-card__pic {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 12px;
}

.rel-card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.rel-card__off {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
}

.rel-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 10px;
  padding-top: 12px;
}

.rel-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.25;
  min-height: calc(1.25em * 2);
}

.rel-card__reviews {
  margin-top: auto;
}
/* рамка для всех твоих blog-свайперов */
.blog-strip,
.blog-home__wrap,
.blog-swiper {
  min-width: 0;
}

.blog-swiper.swiper {
  width: 100%;
  overflow: hidden;
}

/* на всякий случай: чтобы грид/флекс не раздувал */
.blog-strip {
  max-width: 100%;
}
/* Растягиваем слайды постов по высоте */
.blog-swiper[data-kind="post"] .swiper-wrapper {
  align-items: stretch;
}

.blog-swiper[data-kind="post"] .swiper-slide {
  height: auto;
  display: flex;
}

/* Карточка занимает всю высоту слайда */
.blog-swiper[data-kind="post"] .blog-card {
  height: 100%;
}

/* Фиксим “пляску” высоты текстом */
.blog-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.blog-card__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.blog-nav {
  top: 54%;
  transform: translateY(-50%);
}

/* Не даём :active перетирать transform */
.blog-nav:active {
  transform: translateY(-50%) !important;
}

/* На всякий случай — если глобально кнопкам задают transform при клике */
.pp-nav:active {
  transform: none !important;
}
.blog-strip {
  padding-top: 50px;
}
.contacts__title {
  padding-top: 50px;
}
/* фикс именно для стрелок в блог-слайдере */
.blog-strip .pp-nav.blog-nav {
  top: 54%;
  transform: translateY(-50%);
  transition: none !important;
}

.blog-strip .pp-nav.blog-nav:active,
.blog-strip .pp-nav.blog-nav:focus {
  transform: translateY(-50%) !important; /* сохраняем то же самое */
}

/* если в теме есть глобальное button:active { transform: ... } — перебьём точечно */
.blog-strip .pp-nav.blog-nav:active {
  top: 54% !important;
}
p.stock.available-on-backorder {
	display: none !important;
}
.pdp-navbox{
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff;
}

.pdp-navbox__row{
  display: grid;
  gap: 10px;
}

.pdp-crumbs{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.2;
}

.pdp-crumbs__item{
  color: #0a3a5a;
  text-decoration: none;
}

@media (hover:hover){
  .pdp-crumbs__item:hover{ text-decoration: underline; }
}

.pdp-crumbs__sep{
  opacity: .35;
}

.pdp-crumbs__current{
  opacity: .65;
}

.pdp-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pdp-chip{
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,159,237,.28);
  background: rgba(0,159,237,.06);
  color: #0a3a5a;
  text-decoration: none;
  font-size: 13px;
  white-space: nowrap;
}

@media (hover:hover){
  .pdp-chip:hover{
    background: rgba(0,159,237,.12);
    border-color: rgba(0,159,237,.42);
  }
}

@media (max-width: 540px){
  .pdp-navbox{ padding: 12px 12px; border-radius: 14px; }
  .pdp-chip{ height: 28px; padding: 0 10px; font-size: 12px; }
}
.pdp-crumbs__current{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pdp-crumbs__current::before{
  content: "/";
  opacity: .35;
}


/* ≤1200: если есть слайды — включаем ту же картинку/слои, что на ПК */
@media (max-width: 1200px){
  .hero.has-slides{
    background-image: none !important;
    background: none !important;
  }
  .hero.has-slides .hero__art{
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
    margin: 0 !important;
  }
  .hero.has-slides .hero__left{
    position: relative;
    z-index: 2;
  }
}



.contacts__map{
  aspect-ratio: auto;
  width: 100%;
  height: 100%;
  min-height: 520px;
}
.contacts__grid{
  align-items: stretch;
}





.site-header{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  transform: translateY(0);
  will-change: transform;
  transition: transform .22s ease;
}

.site-header.is-hidden{
  transform: translateY(calc(-1 * var(--header-h, 0px)));
}

/* чтобы контент не прятался под фиксированной шапкой */
body{
  padding-top: var(--header-h, 0px);
}

@media (prefers-reduced-motion: reduce){
  .site-header{ transition: none; }
}

.card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.card__link{
  display:block;
}

.card__meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.card__code{
  align-self:flex-end;
  font-size:14px;
  line-height:1.1;
  color: rgba(0, 0, 0, 0.5);
  font-weight:500;
  white-space:nowrap;
}

.card__stock{
  font-size:14px;
  line-height:1.1;
  color: #3fbe5b;
	margin-bottom: 10px;
  font-weight:500;
}

.card__buyline{
  width:100%;
  display:flex;
  justify-content:flex-start;
}

.card__buyline .btn,
.card__buyline a.button,
.card__buyline .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  font-size:16px;
	color: #fff;
  line-height:1;
	border: 1px solid #009fed;
	border-radius: 30px;
	background: #009fed;
	height: auto;
}
@media (max-width: 768px) {
	.card__buyline .btn,
.card__buyline a.button,
.card__buyline .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  font-size:13px;
	color: #fff;
  line-height:1;
	border: 1px solid #009fed;
	border-radius: 30px;
	background: #009fed;
	height: auto;
}
}

/* отключаем “слайдерную” геометрию и делаем сетку */
.catalog-swiper.is-grid .swiper-wrapper{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  transform: none !important;
}

/* swiper-slide часто имеет фикс-ширину — убираем */
.catalog-swiper.is-grid .swiper-slide{
  width: auto !important;
  margin: 0 !important;
}

/* на мобиле 2 в ряд */
@media (max-width: 1024px){
  .catalog-swiper.is-grid .swiper-wrapper{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.catalog-swiper.is-grid .swiper-wrapper{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  gap: 18px !important;            /* <- сразу и row и column */
  row-gap: 18px !important;
  column-gap: 18px !important;

  transform: none !important;
}

.catalog-swiper.is-grid .swiper-slide{
  width: auto !important;
  margin: 0 !important;
}

/* планшет/моб — 2 в ряд */
@media (max-width: 1024px){
  .catalog-swiper.is-grid .swiper-wrapper{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}
/* Оставляем p.stock над кнопкой, убираем дубликат внутри блока действий */
.pdp-buy__actions > p.stock{
  display:none !important;
}

.stock.in-stock,
.stock.out-of-stock{
  font-family: var(--font-family);
  font-weight: 700;
  color: #3fbe5b;
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}
/* СИНГЛ: прячем стандартный woo-availability внутри формы,
   оставляем только твой <p class="stock ..."> над кнопкой */
.single-product form.cart .stock,
.single-product form.cart .woocommerce-availability,
.single-product form.cart .availability{
  display: none !important;
}
:root{
  --ip-accent: #009fed;
  --ip-cookie-radius: 14px;
  --ip-cookie-shadow: 0 12px 40px rgba(0,0,0,.18);
  --ip-cookie-z: 9999;
  --ip-cookie-pad: 14px;
}

.ip-cookie{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--ip-cookie-z);
  padding: 12px;
  pointer-events: none;
  transform: translateY(110%);
  opacity: 0;
  transition: transform .25s ease, opacity .25s ease;
}

.ip-cookie.is-open{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.ip-cookie__inner{
  max-width: 1240px;
  margin: 0 auto;
  background: #111;
  color: #fff;
  border-radius: var(--ip-cookie-radius);
  box-shadow: var(--ip-cookie-shadow);
  padding: var(--ip-cookie-pad);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
}

.ip-cookie__text{
  font-size: 14px;
  line-height: 1.35;
  display: inline;
}

.ip-cookie__link{
  color: var(--ip-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity .3s ease;
}

.ip-cookie__link:hover{
  opacity: .85;
}

.ip-cookie__actions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ip-cookie__btn{
  appearance: none;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease;
  white-space: nowrap;
}

.ip-cookie__btn--accept{
  background: var(--ip-accent);
  color: #fff;
}

.ip-cookie__btn--accept:hover{
  background: #fff;
  color: #000;
}

.ip-cookie__btn--deny{
  background: #fff;
  color: #000;
  border-color: rgba(255,255,255,.25);
}

.ip-cookie__btn--deny:hover{
  background: #000;
  color: #fff;
  border-color: #000;
}

@media (max-width: 1024px){
  .ip-cookie__inner{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .ip-cookie__actions{
    justify-content: flex-start;
  }
}

@media (max-width: 540px){
  .ip-cookie{
    padding: 10px;
  }
  .ip-cookie__inner{
    padding: 12px;
    border-radius: 12px;
  }
  .ip-cookie__btn{
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 12px 14px;
  }
  .ip-cookie__actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.footer-bottom{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
}

.footer-bottom__left{
  display: grid;
  gap: 6px;
}

.footer-requisites{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;

  font-size: 12px;
  line-height: 1.35;
  opacity: .78;
}

.footer-requisites__sep{
  opacity: .5;
}

.footer-requisites__addr{
  opacity: .9;
}

@media (max-width: 1024px){
  .footer-bottom{
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

@media (max-width: 540px){
  .footer-requisites{
    font-size: 11.5px;
    gap: 6px;
  }
}
/* iOS Safari: убираем автоподсветку “номеров/адресов” */
.footer-requisites,
.footer-requisites *{
  -webkit-tap-highlight-color: transparent;
}

.footer-requisites a,
.footer-requisites a:visited{
  color: inherit;
  text-decoration: none;
}

/* если Safari превратил текст в авто-ссылку */
.footer-requisites a[x-apple-data-detectors],
.footer-requisites a[href^="tel"],
.footer-requisites a[href^="mailto"]{
  color: inherit !important;
  text-decoration: none !important;
}

.footer-requisites a[x-apple-data-detectors] *{
  color: inherit !important;
  text-decoration: none !important;
}


@media (max-width: 767.98px){

  /* важно: эти контейнеры должны уметь СЖИМАТЬСЯ */
  .pdp__media,
  .pdp__thumbs{
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* строка с превью: стрелка | swiper | стрелка */
  .pdp__thumbs{
    width: 100% !important;
    overflow: hidden !important; /* чтобы внутренности не раздували страницу */
  }

  /* ключ: в flex-строке ставим width:0 и flex-basis:0 */
  #pdpThumbs,
  .pdp-thumbs.swiper{
    flex: 1 1 0 !important;
    width: 0 !important;        /* да, именно 0 — это “магия” для flex */
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* на всякий случай */
  #pdpThumbs .swiper-wrapper{
    max-width: 100% !important;
  }
}
.pdp__hero{
  align-items: start;
}

.pdp__media{
  align-self: start;
}

/* sticky только на устройствах с hover (обычно десктоп/ноут) */
@media (hover: hover) and (pointer: fine){
  .pdp__hero.is-desc-open .pdp__media{
    position: sticky;
    top: 150px;
    height: fit-content;
    align-self: start;
  }
}

/* на телефонах/тачах — никакого sticky */
@media (hover: none), (pointer: coarse), (max-width: 740px){
  .pdp__hero.is-desc-open .pdp__media{
    position: static;
    top: auto;
  }
}
@media (max-width: 767.98px){
  .pdp__image{ position: relative; }

  .pdp-main-swiper{
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 16px; /* если нужно */
  }

  .pdp-main-swiper .swiper-slide{
    width: 100%;
    height: 100%;
  }

  .pdp-main-swiper img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain; /* если надо cover — поменяй на cover */
  }
}
@media (max-width: 640px) {
  .catalog-swiper .swiper-slide.cat-tile {
    width: 164px;
    height: 162px;
  }

  .catalog-swiper .cat-tile {
    height: 162px;
    padding: 14px;
  }

  .catalog-swiper .cat-tile__link {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }

  .catalog-swiper .cat-tile__title {
    max-width: 72%;
    font-size: 16px;
    line-height: 1.2;
  }

  .catalog-swiper .cat-tile__img {
    position: absolute;
    right: 8px;
    bottom: 0;
    width: 82px;
    height: 102px;
    max-height: none;
    object-fit: contain;
    z-index: 1;
  }
}
.head-hint2 svg {
	display: none;
}