/* Общие стили */

/* Контейнер страницы и заголовок (как в остальных блоках сайта) */
.vd-page{max-width:1240px;margin:0 auto;padding:0 24px;}
.vd-breadcrumbs{margin:6px 0 12px;font-size:13px;color:#666;}
.vd-title{
  color:#161616;font-family:"Liberation Sans", Arial, sans-serif;
  font-size:70px;font-weight:400;line-height:120%;letter-spacing:-3.5px;
  text-transform:uppercase;margin:0 0 16px;
}

/* Grid */
.vd-contacts__grid{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;margin:12px 0 18px;
}
@media (max-width:1024px){ .vd-contacts__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){  .vd-contacts__grid{grid-template-columns:1fr;} }

.vd-contacts__label{
  color:#6F6F6F;font:400 14px/1.2 "Liberation Sans", Arial, sans-serif;margin:0 0 6px;
}
.vd-contacts__value{margin:0 0 12px;font:400 16px/1.45 "Liberation Sans", Arial, sans-serif;}
.vd-contacts__value a{color:#111;text-decoration:none;border-bottom:1px solid #ddd;}
.vd-contacts__value a:hover{border-bottom-color:#111;}

.vd-contacts__links{margin:8px 0 0;font:400 14px/1.5 "Liberation Sans", Arial, sans-serif;}
.vd-contacts__links a{color:#111;text-decoration:none;border-bottom:1px solid #ddd;}
.vd-contacts__links a:hover{border-bottom-color:#111;}

.vd-contacts__social{list-style:none;margin:0;padding:0;}
.vd-contacts__social li+li{margin-top:6px;}
.vd-contacts__social a{color:#111;text-decoration:none;border-bottom:1px solid #ddd;}
.vd-contacts__social a:hover{border-bottom-color:#111;}

/* Карта (адаптивная высота) */
.vd-map{margin:8px 0 12px;}
.vd-map__wrap{
  width:100%; height:460px; border:1px solid #e6e6e6; border-radius:12px; overflow:hidden;
}
@media (max-width:768px){ .vd-map__wrap{height:360px;} }

.vd-contacts__note{
  margin:10px 0 24px;color:#888;font:400 12px/1.4 "Liberation Sans", Arial, sans-serif;
}













/* ======= DELIVERY (vd-ship) ======= */
/* контейнер и общие отступы */
.vd-page.ship-page{
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
  color:#111;
  font-family:"Liberation Sans","LiberationSansVD",Arial,system-ui,sans-serif;
}

/* крошки компактно */
.vd-breadcrumbs{margin:8px 0 10px; font-size:13px; color:#666;}
.vd-breadcrumbs a{color:#666; text-decoration:none}

/* огромный заголовок как в макете */
.ship-title{
  margin:0 0 6px;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:-0.03em;
  line-height:1.15;
  font-size: clamp(40px, 9vw, 96px); /* близко к вашему крупному */
}

/* тонкая линия под заголовком */
.ship-rule{
  border:0;
  border-top:1px solid #e5e5e5;
  margin:0 0 18px;
}

/* вводные абзацы */
.ship-intro{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.5;
  color:#333;
}

/* список блоков */
.ship-list{
  margin-top:18px;
  border-top:1px solid #eaeaea;
}
.ship-item{
  display:grid;
  grid-template-columns: 84px 1fr; /* колонка номера + текст */
  align-items:start;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid #eaeaea;
}

/* зелёные квадратные скобки с номером — как в макете */
.ship-num{
  display:flex; align-items:center; justify-content:center;
  height:72px; width:72px;
        /* зелёный контур */
  border-radius:12px;             /* лёгкое скругление (почти квадрат) */
  color:#16b31f;
  font-weight:800;
  font-size:32px;
}
.ship-num span{
  position:relative; line-height:1;
}
.ship-num span::before,
.ship-num span::after{
  content:"[";                     /* откроем скобку */
  position:absolute; left:-18px; top:0; color:#16b31f;
}
.ship-num span::after{
  content:"]"; left:auto; right:-18px;
}

/* заголовок пункта и текст */
.ship-head{
  margin:4px 0 8px;
  font-size:20px;
  font-weight:800;
  line-height:1.25;
}
.ship-text{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#333;
}

/* адаптив */
@media (max-width: 768px){
  .ship-title{ font-size: clamp(32px, 8vw, 42px); letter-spacing:-0.02em; }
  .ship-item{ grid-template-columns: 58px 1fr; gap:14px; padding:16px 0; }
  .ship-num{ width:56px; height:56px; font-size:26px; border-radius:10px; }
  .ship-head{ font-size:18px; }
  .ship-text{ font-size:13.5px; }
}










.mrow a{
	    display: block;
    padding: 16px 8px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
}




.menu-item-type-custom a{
	    display: block;
    padding: 8px 8px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
}

/* Контейнер и сетка */
/* ---------- обёртка страницы ---------- */
.vd-page{
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;                 /* приятные боковые отступы */
}

/* чтобы везде были одинаковые отступы между блоками */
.vd-single{ --gap:28px; }

/* хлебные крошки чуть компактнее */
.vd-breadcrumbs{ margin:6px 0 12px; font-size:13px; color:#666; }
.woocommerce-breadcrumb a{ color:#666; }

/* сетка товара: галерея + правая колонка */
.vd-single__grid{
  display:grid;
  grid-template-columns: 1fr 380px;
  gap: var(--gap);
  align-items:start;
}
@media (max-width:1024px){
  .vd-single__grid{ grid-template-columns:1fr; }
}

/* ---------- галерея ---------- */
.vd-gallery{ position:relative; }

/* ГЛАВНЫЙ СЛАЙДЕР
   - ограничиваем высоту, оставляем чёрный фон;
   - изображение умещается, центрируется
*/
.vd-swiper-main{
  width:100%;
  aspect-ratio: 4 / 3;            /* стабильная высота без «ковра» */
  max-height:70vh;                /* не выше окна */
  border-radius:12px;
  background:#000;
  overflow:hidden;
}

/* центровка содержимого слайда */
.vd-swiper-main .swiper-slide{
  display:flex; align-items:center; justify-content:center;
  background:#000;
}

/* zoom-контейнер на весь слайд */
.vd-swiper-main .swiper-zoom-container{
  width:100% !important; height:100% !important;
  display:flex; align-items:center; justify-content:center;
}

/* изображение ВСЕГДА ВМЕЩАЕТСЯ */
.vd-swiper-main .swiper-zoom-container img,
.vd-swiper-main img{
  max-width:100%; max-height:100%;
  width:auto; height:auto;
  object-fit:contain;
  display:block;
}

/* кнопки навигации */
.vd-swiper__btn{
position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
   
    cursor: pointer;
    z-index: 5;
    background: #000000;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
    border: 2px solid #ccc;
}

.vd-swiper__btn--prev{ left:10px; }
.vd-swiper__btn--next{ right:10px; }
.vd-swiper__btn::before{
content: "";
    display: block;
    width: 12px;
    height: 12px;
    margin: 0 auto;
    border: 2px solid #ffffff;
    border-top: 0;
    border-right: 0;
    transform: rotate(45deg);
    position: relative;
    top: 0px;
	
}
.vd-swiper__btn--next::before{ transform:rotate(-135deg); }

@media (max-width: 768px){
  .vd-swiper-main{ aspect-ratio: 4 / 3; max-height:58vh; }
}

/* превьюшки */
.vd-swiper-thumbs{ margin-top:10px; }
.vd-swiper-thumbs .swiper-slide{
  width:96px; height:72px;
  border-radius:10px; overflow:hidden;
  opacity:.6; cursor:pointer;
}
.vd-swiper-thumbs .swiper-slide-thumb-active{
  opacity:1; box-shadow:0 0 0 2px #02ad02 inset;
}

/* ---------- правая колонка ---------- */
.vd-title{
color: #161616;
leading-trim: both;
text-edge: cap;
font-family: "Liberation Sans";
font-size: 70px;
font-style: normal;
font-weight: 400;
line-height: 120%; /* 84px */
letter-spacing: -3.5px;
text-transform: uppercase;
}
.vd-meta__row{
	color: #6F6F6F;
leading-trim: both;
text-edge: cap;
font-family: "Liberation Sans";
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 140%; /* 25.2px */
}

.vd-meta{ margin:8px 0 12px; color:#555; font-size:14px; }
.vd-meta__row + .vd-meta__row{ margin-top:4px; }
.vd-price{ font:700 22px/1 "LiberationSansVD", Arial, sans-serif; margin:12px 0 16px; }

.vd-qty{ display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.vd-qty__btn{
  width:36px; height:36px; border-radius:10px; border:0; background:#f2f2f2; cursor:pointer;
  font:700 20px/36px Arial, sans-serif;
}
.vd-qty__input{
  width:74px; height:36px; text-align:center; border:1px solid #ddd; border-radius:10px; font:600 16px/36px Arial, sans-serif;
}
.vd-btn{ display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 18px; border-radius:12px; border:0; cursor:pointer; }
.vd-btn--primary{ background:#02AD02; color:#fff; font:700 15px/44px Arial, sans-serif; }
.vd-out{ color:#c00; font-weight:700; }

/* ---------- доставка / оплата ---------- */
.vd-info{
  display:grid; grid-template-columns:1fr 1fr; gap: var(--gap);
  margin-top:24px;
}
.vd-info__block{
  border:1px solid #e6e6e6; border-radius:12px; padding:16px; background:#fafafa;
}
.vd-info__block h2{ margin:0 0 10px; font:800 20px/1.2 "LiberationSansVD", Arial, sans-serif; }
@media (max-width:768px){ .vd-info{ grid-template-columns:1fr; } }

/* ---------- убираем ненужные сайдбарные виджеты ---------- */
.woocommerce .widget-area,
#secondary,
.sidebar,
.site-sidebar{ display:none !important; }



/* --- override: убираем чёрный фон у слайдера, картинка остаётся contain --- */
.vd-swiper-main,
.vd-swiper-main .swiper-slide{
  background: transparent !important;
}
.vd-swiper-main .swiper-zoom-container img,
.vd-swiper-main img{
  object-fit: contain;
}


/* Главный контейнер должен иметь фиксированную высоту на мобилке */
@media (max-width: 768px){
  .vd-swiper-main{
    /* 4:3 от ширины экрана, но не выше 420px */
    height: calc(100vw * 0.75);
    max-height: 420px;
    aspect-ratio: auto;       /* отключаем, т.к. задаём высоту напрямую */
  }
}

/* Внутренности Swiper всегда занимают эту высоту */
.vd-swiper-main .swiper-wrapper,
.vd-swiper-main .swiper-slide{
  height: 100% !important;
}


/* контейнер галереи точно относительный */
.vd-swiper-main{ position: relative; }

/* стрелки гарантированно поверх слайда */
.vd-swiper__btn{
  z-index: 50;          /* было 5 — могло прятаться под слайдом */
  pointer-events: auto; /* на всякий случай */
}

/* фикс высоты и заполнение слайда */
.vd-swiper-main .swiper-wrapper,
.vd-swiper-main .swiper-slide{ height:100% !important; }

/* grid-ячейки по умолчанию имеют min-width:auto → нельзя ужаться.
   Даем право ужиматься, чтобы Swiper считал реальную ширину контейнера. */
.vd-single__grid > * { min-width: 0; }
.vd-gallery,
.vd-swiper-main { min-width: 0; }

/* На всякий случай фикс для ширины слайдов, если кто-то уже успел сломать расчёты. */
#vdSwiperMain .swiper-slide { width: auto !important; }





/* ===== Преимущества ===== */


/* ===== Преимущества ===== */
/* ===== СЕКЦИЯ «ПРЕИМУЩЕСТВА» ===== */
/* ===== СЕКЦИЯ ===== */
.advantages{ background:#fff; }
.advantages__wrap{
  max-width:1240px;      /* ширина блока по макету */
  margin:0 auto;
  padding:0 24px;
}

/* ===== ЗАГОЛОВОК ===== */
.advantages__title{
  margin:0;
  padding:22px 0 16px;
  text-transform:uppercase;
  font:700 38px/1 "LiberationSansVD", Arial, sans-serif;
  color:#111;
  border-bottom:1px solid #EDEDED;
}

/* ===== СПИСОК ===== */
.advantages__list{ margin:0; padding:0; list-style:none; }

/* ===== СТРОКА ПРЕИМУЩЕСТВА =====
   фиксируем одинаковую высоту и центрирование текста */
.adv-item{
  display:grid;
  grid-template-columns: 64px 1fr;  /* узкая колонка под номер+скобки */
  align-items:center;               /* центр по вертикали */
  column-gap:18px;
  min-height:64px;                  /* высота строки как на макете */
  padding:18px 0;
  border-bottom:1px solid #EDEDED;
}

/* контейнер текста */
.adv-body{ max-width:900px; }

/* заголовок пункта */
.adv-title{
  margin:0;
  font:700 20px/1.30 "LiberationSansVD", Arial, sans-serif;
  color:#111;
}

/* ===== НОМЕР В УЗКИХ СКОБКАХ =====
   цифра меньше, скобки узкие и «резкие» (2px) */
.adv-num{
  position:relative;
  display:block;
  text-align:center;
  color:#02AD02;
  font:800 34px/1 "LiberationSansVD", Arial, sans-serif; /* МЕНЬШЕ */
  padding:0 8px;                  /* УЖЕ скобки */
}

/* скобки: верх/низ по 2px, стойка 2px, без размытия */
.adv-num::before,
.adv-num::after{
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:10px;                     /* узкая «полка» скобки */
  pointer-events:none;
  background:
    linear-gradient(#02AD02,#02AD02) left 0 top 0/100% 2px no-repeat,     /* верх */
    linear-gradient(#02AD02,#02AD02) left 0 bottom 0/100% 2px no-repeat,  /* низ  */
    linear-gradient(#02AD02,#02AD02) left 0 top 0/2px 100% no-repeat;     /* стойка */
}
.adv-num::before{ left:0; }                  /* левая [ */
.adv-num::after{ right:0; transform:scaleX(-1); }  /* правая ] */

/* ===== АДАПТИВ — чтобы на телефоне всё осталось аккуратным ===== */
@media (max-width:1024px){
  .advantages__wrap{ padding:0 20px; }
  .adv-item{ grid-template-columns: 60px 1fr; min-height:60px; padding:16px 0; }
  .adv-num{ font-size:32px; padding:0 7px; }
  .adv-num::before, .adv-num::after{ width:9px; }
}
@media (max-width:768px){
  .adv-item{ grid-template-columns: 56px 1fr; min-height:56px; }
  .adv-num{ font-size:30px; padding:0 6px; }
  .adv-num::before, .adv-num::after{ width:8px; }
}
@media (max-width:480px){
  .advantages__wrap{ padding:0 16px; }
  .adv-item{ grid-template-columns: 52px 1fr; min-height:52px; }
  .adv-num{ font-size:28px; padding:0 6px; }
}

#vdSwiperMain .swiper-slide { width: auto !important; }



/* ПК/планшет: строго один слайд в кадре */
.vd-swiper-main .swiper-wrapper{
  display:flex;              /* на всякий случай */
}
.vd-swiper-main .swiper-slide{
  flex: 0 0 100% !important; /* ширина кадра = ширина контейнера */
  max-width: 100% !important;
}

/* Мобильная «подстройка» (оставляем прежнюю логику) */
@media (max-width: 768px){
  /* на мобилке позволяем авто-ширину, чтобы не «распирало» */
  #vdSwiperMain .swiper-slide{ 
    width: auto !important;
    flex: 0 0 auto !important;
  }
}







/* === Преимущества: тексты под заголовками (по макету) === */
#advantages .adv-body{
  display:flex;
  flex-direction:column;
  gap: 30px;                 /* расстояние заголовок → текст */
  min-width:0;              /* чтобы текст не обрезался внутри grid */
}

/* одинаковый стиль и для старого .adv-text, и для нового .adv-texta */
#advantages .adv-text,
#advantages .adv-texta{
  display:block;
  margin: 0;                /* убираем наследованные внешние отступы браузера */
  color:#4C4F52;            /* спокойный серый как в макете */
  font: 400 14px/1.55 "LiberationSansVD", Arial, sans-serif;
  max-width: 760px;         /* «колонка» текста, чтобы не расползалась */
  height:auto;
  overflow:visible;
  white-space:normal;
}

/* для компактности на мобилках даём 100% ширины */
@media (max-width: 768px){
  #advantages .adv-text,
  #advantages .adv-texta{
    max-width: 100%;
    line-height: 1.6;
  }
}


/* выравнивание пункта по центру по вертикали и одинаковые отступы */
#advantages .adv-item{
     align-items: flex-start;
    padding: 22px 0;
    gap: 81px;
}













/* ===== О КОМПАНИИ — full-bleed секции ===== */

/* =========================
   ABOUT (О компании)
   ========================= */

/* универсальная "обёртка" — ровные боковые поля и ограничение ширины контента */
/* =========================
   О КОМПАНИИ (full-bleed)
   ========================= */

/* чёрный блок на всю ширину экрана */

html, body{
	margin:0px;
}
.about-hero{
  position: relative;
  background:#111;
  color:#fff;
  /* делаем «вылет» за пределы контейнера */
  width:100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* внутренние поля и ограничение ширины контента */
.about-hero__inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 36px 24px 48px;
}

/* Крошки/любой верхний служебный текст внутри чёрного блока */
.about-hero__breadcrumbs{ 
  margin: 0 0 10px;
  font: 400 14px/1.3 "LiberationSansVD", Arial, sans-serif;
  opacity:.85;
}

/* Заголовок — внутри чёрного блока, как в макете */
.about-hero__title{
  margin: 0 0 22px;
  text-transform: uppercase;
  color:#fff;
  font: 700 64px/1.05 "LiberationSansVD", Arial, sans-serif;
  letter-spacing:.01em;
}

/* тонкая разделительная линия под заголовком */
.about-hero__title + .about-hero__rule{
  height:1px; background:rgba(255,255,255,.14);
  margin: 0 0 28px;
}

/* Цитата */
.about-hero__quote{
  position: relative;
   /* чтобы строки были такой же длины как на макете */
  font: 400 22px/1.5 "LiberationSansVD", Arial, sans-serif;
  margin: 0;
	text-align: right;
}

/* зелёные кавычки в углах */
.about-hero__quote::before,
.about-hero__quote::after{
  content:"“";
  position:absolute;
  color:#02AD02;
  font: 700 44px/1 "LiberationSansVD", Arial, sans-serif;
}
.about-hero__quote::before{
  left:-6px; top:-8px;           /* левый верхний угол */
}
.about-hero__quote::after{
  content:"”";
  right:-33px; bottom:-6px;       /* правый нижний угол */
}

/* Выделение бренда в цитате */
.about-hero__quote .brand{ color:#02AD02; font-weight:700; }

/* Автор */
.about-hero__author{
  margin-top: 22px;
	text-align: right;
}
.about-hero__author .name{
  display:block;
  font: 700 22px/1.3 "LiberationSansVD", Arial, sans-serif;
}
.about-hero__author .role{
  display:block;
  margin-top: 6px;
  font: 400 14px/1.3 "LiberationSansVD", Arial, sans-serif;
  opacity:.9;
}

/* Фото сразу после чёрного блока без зазоров */
.about-hero__image{
  display:block;
  width:100vw;                   /* на всю ширину экрана */
  max-width:100vw;
  height:auto;
  margin: 0 calc(50% - 50vw);    /* «вылет» за пределы контейнера */
}

/* =========================
   Адаптив
   ========================= */
@media (max-width: 1200px){
  .about-hero__title{ font-size: 56px; }
}
@media (max-width: 992px){
  .about-hero__title{ font-size: 44px; }
  .about-hero__quote{ font-size:20px; }
  .about-hero__quote::before,
  .about-hero__quote::after{ font-size:38px; }
}
@media (max-width: 640px){
  .about-hero__inner{ padding: 28px 16px 36px; }
  .about-hero__title{ font-size: 34px; margin-bottom:16px; }
  .about-hero__quote{ font-size:18px; max-width: 100%; }
  .about-hero__author .name{ font-size:18px; }
}
















/* =========================
   БРЕНДЫ
   ========================= */
.brands{ background:#F0F0F0; padding:80px 0; }
.brands__head{
  display:flex; align-items:flex-end; gap:24px; margin:0 0 20px;
}
.brands__title{
  margin:0; text-transform:uppercase;
  font:700 35px/1.2 "LiberationSansVD", Arial, sans-serif; color:#161616;
}

/* Навигация: ровная двунаправленная стрелка */
.brands__nav{
  position:relative;
  width:112px;
  height:28px;
  margin-left:auto;
}
.brands__rail{
  position:absolute;
  left:8px;
  right:8px;
  top:calc(50% - 1px);
  height:2px;
  background:#02AD02;
}
.brands__rail::before,
.brands__rail::after{
  content:"";
  position:absolute; top:50%;
  width:10px; height:10px;
  border-top:2px solid #02AD02;
  border-right:2px solid #02AD02;
  transform-origin:50% 50%;
}
.brands__rail::before{
  left:-2px;
  transform:translateY(-50%) rotate(-135deg);
}
.brands__rail::after{
  right:-2px;
  transform:translateY(-50%) rotate(45deg);
}

/* Половины-кнопки */
.brands__prev, .brands__next{
  position:absolute; top:0; bottom:0; width:50%;
  border:0; background:transparent; cursor:pointer;
}
.brands__prev{ left:0; }
.brands__next{ right:0; }

/* Карточка бренда */
.brands-swiper .swiper-wrapper{ align-items:stretch; }
.brands-swiper .swiper-slide{ height:auto; }
.brands-card{
  height:180px; border:1px solid #E6E6E6; border-radius:12px;
  background:#F7F7F7;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.brands-card img{
  max-width: 75%; max-height: 70px; height:auto; object-fit:contain;
}

/* Адаптив по брендам */
@media (max-width:1200px){
  .brands-card{ height:160px; }
}
@media (max-width:768px){
  .brands{ padding:50px 0; }
  .brands__nav{ width:96px; height:24px; }
  .brands__rail{ left:6px; right:6px; top:calc(50% - 1px); height:2px; }
  .brands__rail::before, .brands__rail::after{ width:8px; height:8px; border-width:2px; }
  .brands-card{ height:140px; }
}







/* === Liberation Sans (TTF) === */
/* style.css находится в корне темы, поэтому путь начинается с 'asset/font/...' */
@font-face{
  font-family: "LiberationSansVD";
  src: url("asset/font/LiberationSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "LiberationSansVD";
  src: url("asset/font/LiberationSans-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face{
  font-family: "LiberationSansVD";
  src: url("asset/font/LiberationSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: "LiberationSansVD";
  src: url("asset/font/LiberationSans-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* применяем глобально */


	body{ font-family:"LiberationSansVD", Arial, sans-serif !important; }


/* ===== Бренды ===== */
.brands{ background:#F0F0F0; padding:80px 0; }
.brands__head{
  display:flex; align-items:flex-end; gap:24px; margin:0 0 20px;
}
.brands__title{
  margin:0; text-transform:uppercase;
  font:700 35px/1.2 "Liberation Sans", Arial, sans-serif; color:#161616;
}

/* Навигация: ровная двунаправленная стрелка */
.brands__nav{
  position:relative;
  width:112px;                    /* можно 96–120 */
  height:28px;
  margin-left:auto;
}
.brands__rail{
  position:absolute;
  left:8px;                       /* небольшие поля от краёв */
  right:8px;
  top:calc(50% - 1px);            /* строгий центр для высоты 2px */
  height:2px;                     /* чётная высота -> без «полупикселей» */
  background:#02AD02;
}
/* наконечники одной толщины с линией */
.brands__rail::before,
.brands__rail::after{
  content:"";
  position:absolute; top:50%;
  width:10px; height:10px;
  border-top:2px solid #02AD02;
  border-right:2px solid #02AD02;
  transform-origin:50% 50%;
}
.brands__rail::before{
  left:-2px;
  transform:translateY(-50%) rotate(-135deg);
}
.brands__rail::after{
  right:-2px;
  transform:translateY(-50%) rotate(45deg);
}

/* Половины-кнопки */
.brands__prev, .brands__next{
  position:absolute; top:0; bottom:0; width:50%;
  border:0; background:transparent; cursor:pointer;
}
.brands__prev{ left:0; }
.brands__next{ right:0; }

/* Карточка бренда */
.brands-swiper .swiper-wrapper{ align-items:stretch; }
.brands-swiper .swiper-slide{ height:auto; }
.brands-card{
  height:180px; border:1px solid #E6E6E6; border-radius:12px;
  background:#F7F7F7;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.brands-card img{
  max-width: 75%; max-height: 70px; height:auto; object-fit:contain;
}

/* Адаптив */
@media (max-width:1200px){
  .brands-card{ height:160px; }
}
@media (max-width:768px){
  .brands{ padding:50px 0; }
  .brands__nav{ width:96px; height:24px; }
  .brands__rail{ left:6px; right:6px; top:calc(50% - 1px); height:2px; }
  .brands__rail::before, .brands__rail::after{ width:8px; height:8px; border-width:2px; }
  .brands-card{ height:140px; }
}



/* ===== Доставка ===== */
.shipping{
  background:#F0F0F0;
  color:#161616;
  padding:150px 0;
}

/* заголовок + полоска */
.shipping__head{
  display:flex; align-items:flex-end; gap:24px; margin:0 0 16px;
}
.shipping__title{
  margin:0;
  font:700 35px/1.2 "Liberation Sans", Arial, sans-serif;
  text-transform:uppercase;
  white-space:nowrap;
}
.shipping__rule{
  height:1px; background:#C6C6C6; opacity:.9; flex:1; transform:translateY(-4px);
}

/* лид + кнопка */
.shipping__lead{ max-width:820px; font-size:18px; color:#555; margin:0 0 14px; }
.shipping__btn{ margin:8px 0 22px; }

/* медиа */
.shipping__media{
  margin:0; border-radius:12px; overflow:hidden; background:#000;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.shipping__media img{ display:block; width:100%; height:auto; }

/* «play» как заглушка под видео */
.shipping__play{
  position:relative; display:block; width:64px; height:64px; border-radius:50%;
  margin: -96px 0 32px 32px;               /* смещаем в левый верх «над» фото */
  background:rgba(22,22,22,.75);
  outline:1px solid rgba(255,255,255,.4);
  backdrop-filter:saturate(120%) blur(1px);
}
.shipping__play::before{
     content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 18px;
    border-color: transparent transparent transparent #fff;
    left: 8px;
    top: 1px;
}

/* ===== Сертификаты ===== */
.certs{ margin-top:36px; }
.certs__head{ display:flex; align-items:flex-end; gap:24px; margin:0 0 10px; }
.certs__title{
  margin:0;
  font:700 28px/1.2 "Liberation Sans", Arial, sans-serif;
  text-transform:uppercase;
}
.certs__rule{ height:1px; background:#C6C6C6; opacity:.9; flex:1; transform:translateY(-3px); }

.certs__list{
  list-style:none; margin:0; padding:0; counter-reset: certs;
  border-top:1px solid rgba(0,0,0,.08);
  background:#F4F4F4;
  border-radius:8px; overflow:hidden;
}
.certs__item{
  display:grid; grid-template-columns: 56px 1fr auto;
  align-items:center; gap:16px;
  padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.certs__item:last-child{ border-bottom:none; }
.certs__item::before{
  counter-increment: certs;
  content:"[" counter(certs) "]";
  color:#8a8a8a; font-weight:600;
}
.certs__name{ font-size:18px; color:#161616; }
.certs__link{
  font-size:14px; color:#02AD02; text-decoration:none; border-bottom:1px solid rgba(2,173,2,.35);
}
.certs__link:hover{ color:#161616; border-color:#161616; }

/* ===== Адаптив ===== */
@media (max-width:1200px){
  .shipping{ padding:100px 0; }
}
@media (max-width:768px){
  .shipping{ padding:80px 0; }
  .shipping__head{ gap:16px; }
  .shipping__rule{ transform:translateY(-3px); }
  .shipping__play{ width:56px; height:56px; margin:-88px 0 24px 16px; }
  .shipping__play::before{ left:21px; top:18px; border-width:11px 0 11px 16px; }
  .certs__item{ grid-template-columns: 44px 1fr auto; }
  .certs__name{ font-size:16px; }
}



/* ===== форма конс ===== */
:root{
  --c-bg:#111; --c-text:#fff; --c-muted:#C6C6C6; --c-field:#1a1a1a; --c-border:#2A2A2A; --c-accent:#02AD02;
}

/* Секция */
.consult{ background:#0f0f0f; padding:150px 0; color:var(--c-text); }
.consult__grid{ display:grid; grid-template-columns: 1.15fr 1fr; gap:40px; align-items:start; }

/* Фото */
.consult__media{ margin:0; border-radius:12px; overflow:hidden; background:#000; }
.consult__media img{ display:block; width:100%; height:auto; }

/* Текст и форма */
.consult__title{
  margin:0 0 14px; font:800 56px/1.05 "Liberation Sans", Arial, sans-serif; text-transform:uppercase; color:#fff;
}
.consult__lead{ margin:0 0 24px; color:#bbb; font-size:18px; max-width:720px; }

.consult-form{ display:grid; gap:14px; max-width:720px; }

/* Поля */
.c-input input, .c-input textarea{
  width:100%; border-radius:8px; border:1px solid var(--c-border); background:var(--c-field);
  color:#fff; padding:14px 16px; font-size:18px; outline:none;
}
.c-input textarea{ resize:vertical; min-height:120px; }
.c-input input::placeholder, .c-input textarea::placeholder{ color:#888; }

.c-check{ display:flex; gap:10px; align-items:flex-start; color:#bcbcbc; font-size:14px; line-height:1.35; margin-top:4px; }
.c-check input{ margin-top:4px; }

.btn-green{
  display:inline-block; background:var(--c-accent); color:#fff; font:500 18px/1 "Liberation Sans", Arial, sans-serif;
  padding:16px 28px; border-radius:6px; border:none; cursor:pointer; transition:.2s;
}
.btn-green:hover{ background:#0BA10B; }
.btn-green:disabled{ opacity:.6; cursor:wait; }

.c-status{ margin-top:10px; font-size:16px; min-height:22px; }
.c-status.--ok{ color:#6ee07b; }
.c-status.--err{ color:#ff6b6b; }

/* утилиты */
.hp{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.sr{ position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0; clip:rect(0 0 0 0); overflow:hidden; }

/* Адаптив */
@media (max-width:1200px){
  .consult{ padding:100px 0; }
  .consult__title{ font-size:48px; }
}
@media (max-width:900px){
  .consult{ padding:80px 0; }
  .consult__grid{ grid-template-columns: 1fr; }
  .consult__title{ font-size:42px; }
}






/* ===== О компании ===== */


.about{
  background:#F0F0F0;
  color:#161616;
  padding:150px 0;                 /* Desktop отступы по гайду */
}

.about__title{
  margin:0 0 24px;
  font:700 35px/1.2 "Liberation Sans", Arial, sans-serif;  /* H3 */
  text-transform:uppercase;
  position:relative;               /* NEW: чтобы позиционировать линию */
  padding-bottom:12px;             /* NEW: зазор между текстом и линией */
}
.about__title::after{              /* NEW: сама «полоска» */
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  background:#C6C6C6;
  opacity:.9;
}

/* Верхняя сетка: 3 колонки */
.about__top{
  display:grid;
  grid-template-columns: 1fr 1.2fr 1fr;   /* текст | фото | текст */
  gap:40px;
  align-items:start;
}
.about__media{
  margin:0; border-radius:12px; overflow:hidden; background:#000;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.about__media img{ display:block; width:100%; height:auto; }
.about__text p{ margin:0 0 12px; font-size:18px; }

/* Слоган */
.about__slogan{
  margin:60px 0 16px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.05;
  font-size:70px;                   /* H2 по гайду */
  letter-spacing:.01em;
}
.about__slogan span{
  color:#02AD02;                    /* зелёный акцент */
  font-weight:800;
}

/* Нижняя сетка: 2 колонки */
.about__bottom{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:40px;
  margin-top:10px;
}
.about__cta{
  margin-top:24px;
}

/* Кнопка из гайда */
.btn-green{
  display:inline-block;
  background:#02AD02;
  color:#fff;
  font:500 18px/1 "Liberation Sans", Arial, sans-serif;
  padding:14px 28px;
  border-radius:4px;
  text-decoration:none;
  transition:.2s ease;
}
.btn-green:hover{ background:#161616; }

/* ===== Адаптив ===== */
@media (max-width:1200px){
  .about{ padding:100px 0; }
  .about__top{ grid-template-columns: 1fr 1fr; }          /* текст | фото; правый текст вниз */
  .about__top > .about__text:last-child{ grid-column: 1 / -1; }
  .about__slogan{ font-size:56px; }
}
@media (max-width:768px){
  .about{ padding:80px 0; }
  .about__top{ grid-template-columns: 1fr; }              /* всё в колонку */
  .about__slogan{ font-size:38px; }
  .about__bottom{ grid-template-columns:1fr; }
  .about__cta{ text-align:center; }
}



/* форм отправки стили */
:root{
  --c-bg:#161616; --c-panel:#0f0f0f; --c-text:#fff; --c-muted:#C6C6C6; --c-accent:#02AD02;
}

.diag{ background:#111; padding:150px 0; }
.diag__grid{
  display:grid; grid-template-columns: 1.1fr 1fr; gap:40px; align-items:start;
}
.diag__media{
  margin:0; border-radius:12px; overflow:hidden; background:#000;
  box-shadow:0 1px 0 rgba(0,0,0,.35);
}
.diag__media img{ display:block; width:100%; height:auto; }

.diag__formwrap{ color:#fff; }
.diag__title{
  margin:0 0 14px; color:#fff; font:800 56px/1.05 "Liberation Sans", Arial, sans-serif; text-transform:uppercase;
}
.diag__lead{ margin:0 0 24px; color:#bbb; font-size:18px; }

.diag-form{ display:grid; gap:14px; max-width:640px; }
.diag-input input, .diag-input select{
  width:100%; height:52px; border-radius:8px; border:1px solid #2A2A2A;
  background:#1a1a1a; color:#fff; padding:0 16px; font-size:18px; outline:none;
}
.diag-input select{ appearance:none; background-image:
  linear-gradient(45deg, transparent 50%, #fff 50%),
  linear-gradient(135deg, #fff 50%, transparent 50%),
  linear-gradient(to right, transparent, transparent);
  background-position: calc(100% - 22px) 22px, calc(100% - 14px) 22px, 100% 0;
  background-size: 8px 8px, 8px 8px, 2.5em 100%; background-repeat:no-repeat;
}
.diag-input input::placeholder{ color:#888; }

.diag-check{ display:flex; gap:10px; align-items:flex-start; color:#bbb; font-size:14px; line-height:1.35; margin-top:4px;}
.diag-check input{ margin-top:4px; }

.btn-green{
  display:inline-block; background:var(--c-accent); color:#fff;
  font:500 18px/1 "Liberation Sans", Arial, sans-serif; padding:16px 28px;
  border-radius:6px; border:none; cursor:pointer; transition:.2s;
}
.btn-green:hover{ background:#0BA10B; }
.btn-green:disabled{ opacity:.6; cursor:wait; }

.diag-status{ margin-top:10px; font-size:16px; min-height:22px; }
.diag-status.--ok{ color:#6ee07b; }
.diag-status.--err{ color:#ff6b6b; }

/* утилиты */
.hp{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.sr{ position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0; clip:rect(0 0 0 0); overflow:hidden; }

/* Адаптив */
@media (max-width:1200px){
  .diag{ padding:100px 0; }
  .diag__title{ font-size:48px; }
}
@media (max-width:900px){
  .diag{ padding:80px 0; }
  .diag__grid{ grid-template-columns: 1fr; }
  .diag__title{ font-size:42px; }
}



/* swiper стили */
:root{
  --bg:#F0F0F0; --text:#161616; --gray:#C6C6C6; --accent:#02AD02;
}

.section-catalog{ background:var(--bg); padding:150px 0; }
.section-catalog .section-head{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px;
}
.section-catalog .h2{
  margin:0; font:700 35px/1.2 "Liberation Sans", Arial, sans-serif; color:var(--text); text-transform:uppercase;
}

/* Навигация как в макете — зелёная «лента» со стрелками по краям */
.catalog-arrows{
  position:relative; display:flex; align-items:center; gap:48px; padding:6px 0;
}
.catalog-arrows::before{
  content:""; position:absolute; left: 26px; right: 15px; top:50%; height:2px; background:var(--accent); transform:translateY(-50%);
}
.cat-prev, .cat-next{
  width:28px; height:28px; border:0; background:transparent; cursor:pointer; position:relative; z-index:1;
}
.cat-prev svg, .cat-next svg{ width:28px; height:28px; display:block; stroke:var(--accent); }
.cat-prev[disabled], .cat-next[disabled]{ opacity:.4; cursor:default; }

/* Слайдер */
.catalog-swiper{ overflow:visible; }
.catalog-swiper .swiper-slide{ height:auto; }

.catalog-card{
  display:block; text-decoration:none; color:var(--text);
}
.catalog-card .img{
  position:relative; border-radius:12px; overflow:hidden; background:#000; aspect-ratio: 4/3;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}
.catalog-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.catalog-card .plus{
  position:absolute; right:12px; bottom:12px; width:36px; height:36px; border-radius:50%;
  background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700;
  transition:.2s; box-shadow:0 0 0 1px rgba(0,0,0,.1) inset;
}
.catalog-card:hover .plus{ transform:scale(1.08); }

.catalog-card .title{
  margin:10px 0 0; color:#555; font:400 18px/1.35 "Liberation Sans", Arial, sans-serif;
}

/* Кнопка */
.catalog-cta{ margin-top:22px; display:flex; justify-content:flex-end; }
.catalog-cta .btn{
  display:inline-block; background:var(--accent); color:#fff; font:500 18px/1 "Liberation Sans", Arial, sans-serif;
  padding:14px 28px; border-radius:4px; text-decoration:none; transition:.2s;
}
.catalog-cta .btn:hover{ background:#161616; }

/* Адаптив */
@media (max-width:1200px){ .section-catalog{ padding:100px 0; } }
@media (max-width:768px){
  .section-catalog{ padding:80px 0; }
  .catalog-cta{ justify-content:center; }
}





/* ===== Услуги ===== */
.services{
  background:#161616;
  color:#fff;
  padding:150px 0;              /* внешние отступы: Desktop */
}
.services__title{
  margin:0 0 24px;
  font:700 35px/1.2 "Liberation Sans", Arial, sans-serif; /* H3 по гайду */
  text-transform:uppercase;
  letter-spacing:.01em;
}
.services__list{
  list-style:none; margin:0; padding:0;
  counter-reset: svc;
  border-top:1px solid rgba(255,255,255,.12);
}

/* Строка услуги */
.service{
  display:grid;
  grid-template-columns: 52px 1fr auto;  /* [№] | Название | Цена */
  align-items:center;
  gap:16px;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.service::before{
  counter-increment: svc;
  content:"[" counter(svc) "]";
  color:#C6C6C6;
  font-weight:600;
  opacity:.8;
}

/* Название и примечание */
.service__name{
  font-size:22px;
  line-height:1.35;
  letter-spacing:.01em;
}
.service__note{
  display:block;
  margin-top:6px;
  color:#C6C6C6;
  font-size:16px;
  font-weight:400;
}

/* Чип цены справа */
.price-chip{
  display:inline-block;
  padding:7px 12px;
  font-size:14px;
  line-height:1;
  color:#C6C6C6;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  white-space:nowrap;
}

/* Адаптив */
@media (max-width: 1200px){
  .services{ padding:100px 0; }
  .service{ grid-template-columns: 44px 1fr auto; }
  .service__name{ font-size:20px; }
}
@media (max-width: 768px){
  .services{ padding:80px 0; }
  .service{
    grid-template-columns: 36px 1fr;   /* № | контент */
    align-items:start;
  }
  .service::before{ padding-top:2px; }
  .service__meta{
    grid-column: 2 / -1;               /* переносим цену на вторую колонку */
    justify-self: end;                  /* выравниваем вправо */
    margin-top:6px;
  }
  .service__name{ font-size:18px; }
  .service__note{ font-size:14px; }
  .price-chip{ font-size:13px; padding:6px 10px; }
}




/* ===== HERO (жёсткое разделение: контент + фото-полоса) ===== */
.hero{
  display: grid;
  grid-template-rows: auto 240px;          /* 2-я строка — фото-полоса */
  background:#F0F0F0;
  overflow:hidden;
}

/* Контентная часть (строка 1) */
.hero-inner{
  grid-row: 1;
  display: grid;
  grid-template-columns: minmax(620px, 1fr) minmax(480px, 600px);
    column-gap: clamp(48px, 7vw, 160px); /* слева заголовки, справа текст+кнопка */
  column-gap: 40px;
  align-items: start;
  min-height: 560px;
  padding: 150px 0 60px !important;               /* отступы по гайду: верх 150 */
}

/* Полоса с картинкой (строка 2) */
.hero-photo{
  grid-row: 2;
  background: url('/wp-content/uploads/2025/09/rectangle-39585.png') right bottom / cover no-repeat;
}

/* Левая колонка */
.hero-left{ max-width: 820px; }
.hero-left h1{
  margin: 0 0 28px;
  line-height: 1.12;
  color: #161616;
  font-weight: 700;
  font-size: 70px;                        /* H2 по гайду */
}
.hero-left h1 span{
  display:block;
  color:#02AD02;                          /* зелёный акцент */
  font-size:135px;                         /* H1 по гайду */
  font-weight:700;
  line-height:1;
}

/* Правая колонка */
.hero-right{ max-width:420px; margin-top:6px; }
.hero-text{ margin:0 0 22px; font-size:18px; color:#161616; }
.btn-green{
  display:inline-block;
  background:#02AD02; color:#fff;
  font-size:18px; padding:14px 28px;
  border-radius:4px; text-decoration:none; transition:.2s ease;
}
.btn-green:hover{ background:#161616; }

/* ===== Адаптив ===== */
@media (max-width:1200px){
  .hero{ grid-template-rows: auto 220px; }
  .hero-inner{ padding:100px 0 36px; grid-template-columns: minmax(440px,1fr) 380px; }
  .hero-left h1{ font-size:56px; }
  .hero-left h1 span{ font-size:110px; }
}
@media (max-width:992px){
  .hero{ grid-template-rows: auto 200px; }
  .hero-inner{
    grid-template-columns:1fr;
    text-align:center;
    row-gap:24px;
    padding:100px 0 28px;                 /* верх 100 по гайду */
    min-height:auto;
  }
  .hero-left, .hero-right{ max-width:100%; }
  .hero-right{ margin-top:10px; }
}
@media (max-width:600px){
  .hero{ grid-template-rows: auto 180px; }
  .hero-inner{ padding:80px 0 24px; }     /* верх 80 по гайду */
  .hero-left h1{ font-size:38px; margin-bottom:18px; }
  .hero-left h1 span{ font-size:72px; }
}










/* =========================
   ШАПКА
   ========================= */
.site-header{background:#161616;color:#fff;position:fixed; z-index:20; width:100%; top: 0px;}
.site-header::after{content:"";display:block;height:1px;background:rgba(255,255,255,.08)}
.site-header .header-inner{
  display:grid;
  grid-template-columns:auto 1fr auto minmax(320px,640px) auto; /* logo | меню | телефон | поиск | иконки */
  align-items:center;
  gap:24px;
  min-height:72px;
}

/* Лого */
.logo a{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.02em}

/* Телефон (desktop/tablet) */
.header-phone a{color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}

/* Поиск-пилюля */
.header-search .header-search-form{position:relative;width:100%;height:44px}
.header-search .search-field{
  width:100%;height:100%;padding:0 44px 0 16px;
  border:1px solid #C6C6C6;border-radius:100px;background:transparent;color:#fff;outline:none
}
.header-search .search-field::placeholder{color:#C6C6C6}
.header-search .search-submit{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer
}

/* Иконки справа */
.header-icons{display:flex;align-items:center;gap:12px}
.cart-link{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  color:#fff;text-decoration:none
}
.cart-count{
  position:absolute;right:-4px;bottom:-4px;width:18px;height:18px;border-radius:50%;
  background:#02AD02;color:#fff;font:700 12px/18px "Liberation Sans",Arial,sans-serif;
  display:flex;align-items:center;justify-content:center
}
.menu-toggle{
  width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;
  background:transparent;color:#fff;cursor:pointer
}
.menu-toggle::before{content:"≡";font-size:20px;line-height:1}
.menu-toggle[aria-expanded="true"]::before{content:"✕";font-size:18px}

/* =========================
   DESKTOP/TABLET: горизонтальное меню в шапке
   (wp_nav_menu выводит <ul class="nav-list"> прямо в .header-inner)
   ========================= */
.site-header .header-inner > .nav-list{
  display:flex;align-items:center;gap:36px;margin:0;padding:0;list-style:none
}
.site-header .header-inner > .nav-list > li{position:relative;white-space:nowrap}
.site-header .header-inner > .nav-list > li > a{
  display:inline-flex;align-items:center;gap:8px;
  padding:18px 0;color:#fff;text-decoration:none;
  font:600 18px/1 "Liberation Sans",Arial,sans-serif;letter-spacing:.01em;
  transition:opacity .2s ease
}
.site-header .header-inner > .nav-list > li > a:hover{opacity:.85}

/* маленькая стрелка у пунктов с подменю */
.site-header .header-inner > .nav-list > li.menu-item-has-children > a::after{
  content:"";width:8px;height:8px;opacity:.9;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s ease
}
.site-header .header-inner > .nav-list > li.menu-item-has-children:hover > a::after{transform:rotate(-135deg)}

/* выпадашки по hover (только для устройств, где есть hover) */
@media (hover:hover){
  .site-header .header-inner > .nav-list > li .sub-menu{
    position:absolute;left:0;top:100%;
    min-width:340px;padding:14px 18px;margin:0;list-style:none;
    background:#161616;border:1px solid rgba(255,255,255,.18);border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.35);display:none;z-index:50
  }
  .site-header .header-inner > .nav-list > li:hover > .sub-menu{display:block}
  .site-header .header-inner > .nav-list .sub-menu > li + li{margin-top:8px}
  .site-header .header-inner > .nav-list .sub-menu a{
    display:block;padding:6px 4px;color:#fff;text-decoration:none;font-size:18px;line-height:1.35;
    opacity:.95;transition:opacity .2s ease,transform .2s ease
  }
  .site-header .header-inner > .nav-list .sub-menu a:hover{opacity:1;transform:translateX(2px)}
}

/* Чуть меньше зазор на узких десктопах */
@media (max-width:1200px){ .site-header .header-inner > .nav-list{gap:26px} }

/* =========================
   ОФФ-КАНВАС ПАНЕЛЬ (мобильное меню) — #mainNav
   ========================= */
#mainNav{
  position:fixed;inset:0;background:#111;color:#fff;
  transform:translateY(-110%);transition:transform .25s ease;
  z-index:1002;overflow-y:auto;padding:84px 18px 24px   /* место под крестик/статусбар */
}
#mainNav.is-open{transform:translateY(0)}

/* Контент панели */
#mainNav .menu-body{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1.1fr 1fr;gap:24px
}
#mainNav .nav-list{list-style:none;margin:0;padding:0}
#mainNav .nav-list > li{border-bottom:1px solid rgba(255,255,255,.08)}
#mainNav .nav-list > li > a{display:block;padding:16px 8px;color:#fff;text-decoration:none;font-size:18px}

/* строка (ссылка + кнопка) — добавляется JS */
#mainNav .mrow{display:flex;align-items:center;justify-content:space-between;gap:6px}

/* кнопка раскрытия подменю */
#mainNav .submenu-toggle{
  width:38px;height:38px;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:8px
}
#mainNav .submenu-toggle::before{content:"▾";font-size:18px;display:inline-block;transition:transform .2s ease}
#mainNav .submenu-toggle.is-open::before{transform:rotate(-180deg)}

/* аккордеон */
#mainNav .sub-menu{
  max-height:0;overflow:hidden;transition:max-height .25s ease;padding-left:14px;
  border-left:2px solid rgba(255,255,255,.1)
}
#mainNav .sub-menu.is-open{max-height:800px}
#mainNav .sub-menu a{padding:12px 8px;font-size:16px}

/* правая колонка (контакты) */
#mainNav .nav-aside{border-left:1px solid rgba(255,255,255,.08);padding-left:24px}
#mainNav .nav-aside__block + .nav-aside__block{margin-top:18px}
#mainNav .nav-aside__label{color:#9AA0A3;font-size:14px;margin:0 0 4px}
#mainNav .nav-aside__val{font-size:18px;line-height:1.4}
#mainNav .nav-aside__val a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18)}
#mainNav .nav-aside__val a:hover{border-color:#fff}

/* крестик */
#mainNav .menu-close{
  position:fixed;right:14px;top:14px;width:44px;height:44px;
  border:1px solid rgba(255,255,255,.4);border-radius:50%;
  background:transparent;color:#fff;z-index:1003
}

/* затемнение фона */
.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1001}
.menu-backdrop[hidden]{display:none}

/* сдвиг под админ-бар WP */
html.admin-bar #mainNav{inset:32px 0 0 0}
html.admin-bar .menu-backdrop{inset:32px 0 0 0}
html.admin-bar #mainNav .menu-close{top:46px}

/* =========================
   АДАПТИВ
   ========================= */
/* Desktop/Tablet (>=992px): показываем горизонтальное меню + телефон.
   Панель #mainNav не скрываем display'ем — она просто вне экрана (transform). */
@media (min-width:992px){
	.header-icons{justify-content: end;}
  .site-header .header-inner > .nav-list{display:flex}
}

@media (max-width:768px){
	.header-icons{justify-content: end;}
	    .site-header .header-inner{grid-template-rows:unset !important;}
	.site-header .header-inner{gap: 0px !important;}

}

/* Mobile (<992px): прячем горизонтальное меню и телефон, поиск — во всю ширину. */
@media (max-width:991.98px){
  .site-header .header-inner{
    grid-template-columns:auto 1fr auto;
    grid-template-rows:auto auto;
  }
  .site-header .header-inner > .nav-list,
  .header-phone{display:none}
  .header-search{grid-column:1 / -1}

  /* колонки панели: на широких мобилках — 2, на узких — 1 */
  #mainNav .menu-body{grid-template-columns:1.1fr .9fr}
}
@media (max-width:640px){
  #mainNav .menu-body{grid-template-columns:1fr}
  #mainNav .nav-aside{border-left:0;padding-left:0}
}




/* ===== DESKTOP/TABLET: горизонтальное меню (СТАТИЧНОЕ) ===== */
.inline-nav{ align-self: center; }                       /* сам контейнер меню */
.inline-nav .nav-list{
  display:flex; align-items:center; gap:36px;
  margin:0; padding:0; list-style:none;                  /* убираем буллиты */
}
.inline-nav .nav-list > li{ position:relative; white-space:nowrap; }
.inline-nav .nav-list > li > a{
  display:inline-flex; align-items:center; gap:8px;
  padding:18px 0; color:#fff; text-decoration:none;
  font:600 18px/1 "Liberation Sans", Arial, sans-serif; letter-spacing:.01em;
  transition:opacity .2s ease;
}
.inline-nav .nav-list > li > a:hover{ opacity:.85; }

/* маленькая стрелка у пунктов с подменю */
.inline-nav .nav-list > li.menu-item-has-children > a::after{
  content:""; width:8px; height:8px; opacity:.9;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform .2s ease;
}
.inline-nav .nav-list > li.menu-item-has-children:hover > a::after{
  transform:rotate(-135deg);
}

/* выпадашка по hover (только на устройствах с hover) */
@media (hover:hover){
  .inline-nav .nav-list > li .sub-menu{
    position:absolute; left:0; top:100%;
    min-width:340px; padding:14px 18px; margin:0; list-style:none;
    background:#161616; border:1px solid rgba(255,255,255,.18); border-radius:12px;
    box-shadow:0 8px 22px rgba(0,0,0,.35); display:none; z-index:50;
  }
  .inline-nav .nav-list > li:hover > .sub-menu{ display:block; }
  .inline-nav .nav-list .sub-menu > li + li{ margin-top:8px; }
  .inline-nav .nav-list .sub-menu a{
    display:block; padding:6px 4px; color:#fff; text-decoration:none; font-size:18px; line-height:1.35;
    opacity:.95; transition:opacity .2s ease, transform .2s ease;
  }
  .inline-nav .nav-list .sub-menu a:hover{ opacity:1; transform:translateX(2px); }
}

/* чуть теснее на узких десктопах */
@media (max-width:1200px){
  .inline-nav .nav-list{ gap:26px; }
}

/* на мобилке статичное меню прячем — работаем через off-canvas */
@media (max-width:991.98px){
  .inline-nav{ display:none; }
}


/* ===== Отзывы (тёмный блок) ===== */
/* ===== ОТЗЫВЫ ===== */
.reviews{
  background:#161616;           /* чёрный фон */
  color:#fff;
  padding:80px 0 72px;
}
.reviews__head{
  display:flex; align-items:flex-end; gap:24px; margin:0 0 24px;
}
.reviews__title{
  margin:0; text-transform:uppercase;
  font:700 35px/1.2 "Liberation Sans", Arial, sans-serif;
}

/* Навигация — зелёная двунаправленная стрелка */
.reviews__nav{ position:relative; width:112px; height:28px; margin-left:auto; }
.reviews__rail{
  position:absolute; left:8px; right:8px; top:calc(50% - 1px);
  height:2px; background:#02AD02;
}
.reviews__rail::before, .reviews__rail::after{
  content:""; position:absolute; top:50%;
  width:10px; height:10px; border-top:2px solid #02AD02; border-right:2px solid #02AD02;
  transform-origin:50% 50%;
}
.reviews__rail::before{ left:-2px;  transform:translateY(-50%) rotate(-135deg); }
.reviews__rail::after { right:-2px; transform:translateY(-50%) rotate(45deg); }
.reviews__prev, .reviews__next{
  position:absolute; top:0; bottom:0; width:50%;
  border:0; background:transparent; cursor:pointer;
}
.reviews__prev{ left:0; } .reviews__next{ right:0; }

/* слайды (делаем «peek» третьего) */
.reviews__track{ overflow:hidden; padding-right:24px; }
.reviews-swiper .swiper-wrapper{ align-items:stretch; }
.reviews-swiper .swiper-slide{ height:auto; }

/* карточка превью */
.review-card{
  margin:0; position:relative; border-radius:12px; overflow:hidden;
  background:#0f0f0f;
}
.review-card img{
  display:block; width:100%; height:360px; object-fit:cover;
  filter:grayscale(100%);
}
.review-card__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%;
  background:rgba(255,255,255,.16); outline:2px solid rgba(255,255,255,.35);
}
.review-card__play::before{
  content:""; position:absolute; left:26px; top:21px;
  width:0; height:0; border-style:solid; border-width:11px 0 11px 16px;
  border-color:transparent transparent transparent #fff;
}
.review-card__caption{
  margin-top:10px; color:#CFCFCF; font-size:16px;
}

/* низ блока (сетка 2 колонки как на макете) */
.reviews__bottom{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:40px; margin-top:36px;
}
.reviews__grade{
  font:700 70px/1.05 "Liberation Sans", Arial, sans-serif;
  letter-spacing:.01em; color:#F9F9F9;
}
.reviews__desc{ color:#CFCFCF; font-size:18px; }
.reviews__links{ list-style:none; padding:14px 0 0; margin:0; }
.reviews__links li + li{ margin-top:8px; }
.reviews__links a{
  color:#02AD02; text-decoration:none; border-bottom:1px solid rgba(2,173,2,.35);
}
.reviews__links a:hover{ color:#fff; border-color:#fff; }

/* адаптив */
@media (max-width:1200px){
  .review-card img{ height:320px; }
  .reviews__grade{ font-size:56px; }
}
@media (max-width:768px){
  .reviews{ padding:56px 0 48px; }
  .reviews__nav{ width:96px; height:24px; }
  .review-card img{ height:260px; }
  .reviews__bottom{ grid-template-columns:1fr; gap:22px; }
  .reviews__grade{ font-size:40px; }
  .reviews__desc{ font-size:16px; }
}







/* ===== FAQ ===== */
.faq{
  background:#F0F0F0;
  padding:80px 0;
  color:#161616;
}
.faq__container{
  max-width:1200px; margin:0 auto;
  display:grid; grid-template-columns: 360px 1fr; gap:40px;
  padding:0 20px;
}

/* Заголовок слева (как на макете — 2 строки, caps, большой) */
.faq__title{
  font:800 70px/0.95 "Liberation Sans", Arial, sans-serif;
  text-transform:uppercase;
}
.faq__title span{ display:inline-block; }

/* Список справа */
.faq__list{ width:100%; }

/* Элемент списка */
.faq-item{
  border-top:1px solid #DCDCDC;
  padding:22px 0;
}
.faq-item:last-child{ border-bottom:1px solid #DCDCDC; }

/* Первая строка: номер – вопрос – плюс */
.faq-item__row{
  display:grid;
  grid-template-columns: 48px 1fr 48px;
  align-items:center;
  gap:16px;
}
.faq-item__num{
  color:#9A9A9A; font-size:14px; line-height:1;
}
.faq-item__question{
  margin:0; font:700 28px/1.25 "Liberation Sans", Arial, sans-serif;
}

/* Кнопка-переключатель */
.faq-item__toggle{
  justify-self:end;
  width:40px; height:40px; border-radius:50%;
  background:#02AD02; border:none; cursor:pointer; position:relative;
}
.faq-item__plus, .faq-item__plus::before, .faq-item__plus::after{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  content:""; display:block; background:#fff; border-radius:1px;
}
.faq-item__plus{ width:18px; height:2px; }
.faq-item__plus::before{ width:2px; height:18px; }          /* вертикальная черта = плюс */
.faq-item__toggle:focus-visible{ outline:2px solid #111; outline-offset:2px; }

/* Ответ (контейнер, раскрытие плавно) */
.faq-item__answer{
  max-height:0; overflow:hidden;
  transition:max-height .35s ease;
  padding-left:64px;               /* как в макете — текст под вопросом */
  color:#5C5C5C; font-size:16px; line-height:1.5;
}
.faq-item__answer p{ margin:10px 0; }

/* Состояние «открыт»: показываем ответ и меняем плюс на минус */
.faq-item.is-open .faq-item__answer{
  max-height:600px;                /* достаточно для текста; можно больше */
}
.faq-item.is-open .faq-item__toggle .faq-item__plus::before{
  display:none;                    /* убираем вертикальную — получается «минус» */
}

/* ===== Адаптив ===== */
@media (max-width:992px){
  .faq__container{ grid-template-columns:1fr; }
  .faq__title{ font-size:56px; }
  .faq-item__question{ font-size:22px; }
  .faq-item__answer{ padding-left:48px; }
}
@media (max-width:600px){
  .faq{ padding:56px 0; }
  .faq__title{ font-size:42px; }
  .faq-item__row{ grid-template-columns: 40px 1fr 40px; }
  .faq-item__toggle{ width:36px; height:36px; }
  .faq-item__answer{ font-size:15px; padding-left:44px; }
}






/* ====== FOOTER ====== */
.site-footer{
  background:#0F0F10; color:#EDEDED;
  font-family:"Liberation Sans", Arial, sans-serif;
}

.hero-inner.container{
	 max-width: min(var(--page-max), 100%);
  margin-inline: auto;
  padding-inline: var(--page-pad);
}

/* контейнер (если у вас уже есть .container — используйте его) */
.container{ max-width:1200px; margin:0 auto; padding:0 20px; }

/* — фикс для футера: собственные паддинги по краям  */
.site-footer .container{
  padding-left:24px;
  padding-right:24px;
}

.footer__top{ padding:48px 0 28px; border-bottom:1px solid rgba(255,255,255,.08); }
.footer__title{
  margin:0 0 18px;
  text-transform:uppercase;
  font:800 35px/1.15 "Liberation Sans", Arial, sans-serif;
  letter-spacing:.01em;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:48px 40px;
}

/* подписи и значения */
.footer__label{
  color:#9AA0A3; font-size:14px; margin:10px 0 8px;
}
.footer__value{
  margin:0 0 18px; font-size:20px; line-height:1.4;
}
.footer__value a{ color:#fff; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.18); }
.footer__value a:hover{ border-color:#fff; }

.footer__address{ font-style:normal; }
.footer__schedule{ white-space:pre-line; }

.footer__copy{
  margin-top:16px; color:#8A8F92; font-size:12px;
}

/* соцсети / ссылки */
.footer__social, .footer__links{ list-style:none; margin:0; padding:0; }
.footer__social li + li, .footer__links li + li{ margin-top:8px; }
.footer__social a, .footer__links a{
  color:#02AD02; text-decoration:none; border-bottom:1px solid rgba(2,173,2,.35);
}
.footer__social a:hover, .footer__links a:hover{ color:#fff; border-color:#fff; }

/* нижняя полка */
.footer__bottom{ padding:36px 0 22px; }
.footer__tagline{
  margin:0 0 8px; color:#CFCFCF; font-size:16px;
}
.footer__brand{
  margin:6px 0 10px;
  color:#02AD02; text-transform:uppercase;
  font:800 90px/1 "Liberation Sans", Arial, sans-serif;
  letter-spacing:.01em;
}
.footer__note{
  margin:6px 0 0; color:#8A8F92; font-size:11px; line-height:1.4;
}

/* ====== Адаптив ====== */
@media (max-width:1100px){
  .footer__brand{ font-size:72px; }
}

@media (max-width:900px){
  .footer__grid{ grid-template-columns:1fr 1fr; }
  /* страхуем на планшетах — держим боковые отступы */
  .site-footer .container{
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

@media (max-width:640px){
  .footer__title{ font-size:28px; }
  .footer__grid{ grid-template-columns:1fr; gap:28px; }
  .footer__value{ font-size:18px; }
  .footer__brand{ font-size:52px; }
  .footer__tagline{ font-size:15px; }

  /* ключевая правка: слева/справа не прилипает на мобилке */
  .site-footer .container{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}









/* ===== Modal base ===== */
.vd-modal{position:fixed; inset:0; z-index:9999; display:none;}
.vd-modal[aria-hidden="false"]{display:block;}
.vd-modal__overlay{
  position:absolute; inset:0; background:rgba(0,0,0,.55);
}
.vd-modal__dialog{
  position:relative; margin:40px auto; max-width:980px; background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.vd-modal__close{
  position:absolute; top:10px; right:10px; width:36px; height:36px; border-radius:50%;
  border:0; background:rgba(0,0,0,.35); color:#fff; cursor:pointer; font-size:18px; line-height:36px; text-align:center;
}
.vd-modal__grid{display:grid; grid-template-columns:1fr 1fr;}
.vd-modal__form{padding:28px 32px;}
.vd-modal__title{margin:0 0 10px; font:700 22px/1.2 "Liberation Sans", Arial, sans-serif; color:#161616;}
.vd-modal__lead{margin:0 0 18px; color:#555; font-size:14px; line-height:1.5;}
.vd-modal__media img{display:block; width:100%; height:100%; object-fit:cover;}

/* form */
.vd-form__group{margin:0 0 12px;}
.vd-input{
  width:100%; height:44px; border:1px solid #E2E2E2; border-radius:6px; padding:0 14px; font-size:14px; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.vd-input:focus{border-color:#02AD02; box-shadow:0 0 0 3px rgba(2,173,2,.12);}

.vd-checkbox{display:flex; gap:10px; align-items:flex-start; font-size:12px; color:#555; margin:6px 0 14px;}
.vd-checkbox input{margin-top:3px;}

.vd-btn{
  display:inline-block; background:#02AD02; color:#fff; border:0; border-radius:6px; padding:12px 22px; cursor:pointer;
  font:600 14px/1 "Liberation Sans", Arial, sans-serif; transition:background .2s ease;
}
.vd-btn:hover{background:#0c900c;}

.vd-form__note{margin-top:10px; font-size:13px;}
.vd-form__note--ok{color:#178e17;}
.vd-form__note--err{color:#c02727;}

/* responsive */
@media (max-width:900px){
  .vd-modal__grid{grid-template-columns:1fr;}
  .vd-modal__media{display:none;}
  .vd-modal__dialog{margin:18px 12px;}
}

@media (max-width:768px){
  .diag-input input, .diag-input select{
  
  padding:0px !important;
}
	
	
	.c-input input, .c-input textarea {
   
    padding: 14px 3px;
    
}
	
	.vd-title {
   
    font-size: 35px;
   
}
}




