/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.3.1754649164
Updated: 2025-08-08 13:32:44

*/

.full-width-grid {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, auto) !important;
}

.full-width-grid>div {
  text-align: center !important;
  padding-left: 90px !important;
  padding-right: 90px !important;
  position: relative;

}
a{
  outline: none !important;
}

.full-width-grid>div::after {
  content: "" !important;
  display: block !important;
  width: 101% !important;
  height: 1px !important;
  background-color: #999999 !important;
  position: absolute !important;
  left: 0%;
  top: -20px;
}

.full-width-grid>div:not(:last-child)::before {
  content: "" !important;
  display: block !important;
  width: 1px !important;
  height: 80% !important;
  background-color: #999999 !important;
  position: absolute !important;
  right: -20px;
  top: 10%;

}

.page-title-strong strong {
  color: #999999 !important;
}

.tablist {
  width: auto !important;
  display: flex !important;
  padding: 5px !important;
  border-radius: 10px;
  background-color: #F0F0F0;

}

.tablist button {
  padding-left: 28px !important;
  padding-right: 28px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  display: flex;
  align-self: center;
  justify-content: center;
  background-color: #F0F0F0;
  border: none;
  outline: none;
  border-radius: 10px;
  transition: 0.3s;
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;


}

.tabs.home-tabs {
  display: flex;
  flex-wrap: wrap;
  outline: none !important;
}
.tabs.home-tabs div{
  outline: none !important;

}
.zadac-item .zadac-item-img img{
  transition: 0.3s;
}
.zadac-item:hover .zadac-item-img img{
  transform: scale(1.05);

}
/* Активная вкладка */
.tablist [role="tab"][aria-selected="true"] {
  color: #101010;
  /* цвет текста активной */
  background: #ffffff;
  /* фон активной (можно поменять) */
  border-color: #101010;
  /* если есть бордер — окрасим его */
}

/* Необязательно: hover/фокус для лучшего UX */
.tablist [role="tab"]:hover,
.tablist [role="tab"]:focus-visible {
  outline-offset: 2px;
}

/* Если хотите, чтобы НЕактивные были бледнее */
.tablist [role="tab"][aria-selected="false"] {
  color: #6b7280;
}

.tabs.home-tabs h3 {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -2%;
  color: #101010;

}

.tabs.home-tabs p {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;
  color: #2B2B2B;

}

body {
  background-color: #F7F7F7 !important;
}

.zadac-item-img {
  position: relative;
  height: 240px;
  width: 100%;
}

.zadac-item-img img {
  height: 240px !important;
  width: auto !important;
  max-width: max-content;
  right: 0 !important;
  left: auto;
  position: absolute;

}

.zadac-item {
  overflow: hidden;
}

.zadac-item {
  display: inline-block;
  cursor: pointer;
}

.arrow {
  display: inline-block;
  width: 30px;
  /* начальная длина стрелки */
  height: 2px;
  background-color: black;
  position: relative;
  transition: width 0.3s ease;
}

.arrow::after {
  content: "";
  position: absolute;
  top: -5px;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid black;
  border-right: 2px solid black;
  transform: rotate(45deg);
}

.zadac-item:hover .arrow {
  width: 45px;
  /* на 15px длиннее */
}






/* контейнер можно не менять */
.anim-slider-hand {
  position: relative;
  overflow: visible;
}

/* svg: готовим анимацию, но держим на паузе до сигнала от JS */
.anim-slider-hand .anim-slider-handsvg {
  --hand-range: 32px;
  /* амплитуда хода (подстрой при желании) */
  display: block;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .15));
  transform-origin: 50% 70%;
  will-change: transform;
  animation: hand-once 3s ease-in-out forwards;
  animation-play-state: paused;
  /* запустим из JS при появлении во вьюпорте */
}

/* цвет анимируем на path отдельно */
.anim-slider-hand .anim-slider-handsvg path {
  will-change: fill;
  animation: hand-color 3s ease-in-out forwards;
  animation-play-state: paused;
}

/* когда JS скажет "играть" — снимаем паузу */
.anim-slider-hand.is-playing .anim-slider-handsvg,
.anim-slider-hand.is-playing .anim-slider-handsvg path {
  animation-play-state: running;
}

/* предпочитающим без анимаций — статичное серое положение слева */
@media (prefers-reduced-motion: reduce) {

  .anim-slider-hand .anim-slider-handsvg,
  .anim-slider-hand .anim-slider-handsvg path {
    animation: none !important;
  }

  .anim-slider-hand .anim-slider-handsvg {
    transform: translateX(calc(var(--hand-range) * -1)) !important;
  }

  .anim-slider-hand .anim-slider-handsvg path {
    fill: #878787 !important;
  }
}

/* движение: старт справа → финиш слева, и так остаётся (forwards) */
@keyframes hand-once {
  0% {
    transform: translateX(var(--hand-range));
  }

  100% {
    transform: translateX(calc(var(--hand-range) * -1));
  }
}

/* цвет: почти весь путь чёрный, в самом конце серый */
@keyframes hand-color {

  0%,
  95% {
    fill: #101010;
  }

  100% {
    fill: #878787;
  }
}

/* чуть меньшая амплитуда на узких экранах */
@media (max-width: 480px) {
  .anim-slider-hand .anim-slider-handsvg {
    --hand-range: 20px;
  }
}



/* Brands Slider */
.brands-slider {
  width: 100%;
}

.brands-slider .swiper-wrapper {
  align-items: center;
}

.brand-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.brand-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.brand-logo-img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
  filter: grayscale(0.2);
}

.brand-name {
  font-size: 12px;
  opacity: 0.8;
}

.brands-slider {
  width: 100% !important;
  max-width: 100% !important;
}

.swiper-slide.brand-slide {
  height: 250px;
  opacity: 1;
  border-radius: 3px;
  background-color: #FFFFFF;
}

.brand-card {
  height: 100%;
  display: flex;
  position: relative;

}

.brand-logo {
  height: 60% !important;
  display: flex;
  align-items: center;
}

.brand-name {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;
  text-align: left;
  width: 90%;
}

.brand-card::after {
  content: "";
  display: inline-block;
  width: 92px;
  height: 92px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 4C92 1.79086 90.2091 0 88 0L0 0L48.1905 49.0667L92 92L92 4Z" fill="%23F7F7F7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  top: 0;
  position: absolute;
}

.brand-card:not(.pagebrand)::before {
  content: "";
  display: inline-block;
  width: 32px;
  /* ширина как у SVG */
  height: 32px;
  /* высота как у SVG */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.0067 22.0613H15.0067L14.9933 20.0613H17.0067V22.0613ZM14.9933 17.8307H16.9933V9.93867H14.9933V17.8307ZM16 3C8.832 3 3 8.832 3 16C3 23.168 8.832 29 16 29C23.168 29 29 23.168 29 16C29 8.832 23.168 3 16 3Z" fill="%23CCCCCC"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  right: 10px;
  top: 10px;
  position: absolute;
  z-index: 5;
}

.item-company {
  position: relative;
}

.arrow-company {
  position: absolute;
  bottom: 14px;
  right: 15px;
  z-index: 2;
}

.item-company::after {
  content: "";
  display: inline-block;
  width: 92px;
  height: 92px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 88C92 90.2091 90.2091 92 88 92L0 92L48.1905 42.9333L92 0L92 88Z" fill="%23F7F7F7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  right: 0;
  bottom: 0;
  position: absolute;
}

a {
  text-decoration: none !important;
}

.project-card {
  position: relative;
}

.project-background {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 500px;

}

.project-content {
  position: relative;
  z-index: 2;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0);
  border-radius: 10px;
  max-width: 100%;
  margin: auto;
  height: 600px;
  display: flex;
  align-items: flex-end;
  align-content: flex-end;

  flex-wrap: wrap;
}

.project-text {
  width: 100%;
  padding-right: 65%;
  color: #fff;
}

.projects-swiper-navigation {
  position: absolute;
  bottom: 58px;
  right: 38px;
  width: 120px;
}

.projects-swiper-navigation .swiper-button-prev:after,
.projects-swiper-navigation .swiper-rtl .swiper-button-next:after,
.projects-swiper-navigation .swiper-button-next:after,
.projects-swiper-navigation .swiper-rtl .swiper-button-prev:after {
  display: none !important;
}

.projects-swiper-navigation .swiper-button-prev.projects-swiper-prev {
  width: 40px;
  height: 40px;
  background-color: #FFFFFF;
  border-radius: 50px;
}

.projects-swiper-navigation .swiper-button-next.projects-swiper-next {
  width: 40px;
  height: 40px;
  background-color: #FFFFFF;
  border-radius: 50px;
}

.projects-swiper-navigation .swiper-button-prev svg {
  width: 20px;
  height: 20px;
}

.projects-swiper-navigation .swiper-button-next svg {
  width: 20px;
  height: 20px;
}




.project-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 92H0L92 0V92Z" fill="%23f7f7f7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2222;
  position: absolute;
}

.project-title {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -2%;
  margin-bottom: 15px;
}

.project-description {
  font-family: 'GolosText-Regular';

  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;

}

.project-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  width: 100%;
  padding-right: 45%;
}

.fact-item {
  min-width: 40%;
  background: #4D4D4DB2;
  backdrop-filter: blur(4px);
  border-radius: 4px;
  padding-top: 16px;
  padding-right: 18px;
  padding-bottom: 16px;
  padding-left: 18px;
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 14px;
  line-height: 145%;
  letter-spacing: 0%;
  color: #FFFFFF;
  text-align: center;

}

.project-facts-ones {
  display: flex;
  width: auto;
  gap: 20px;
  min-width: 60%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}




.plist-container{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin-top: 50px;
  padding-top: 50px;
}
.plist-card{
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
.plist-card__media{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 650px;
}
.plist-card__media img{
  width: 100%;
  height: 100%;
}
/* zzzzzzzzz */
.plist-card__content{
  position: relative;
    z-index: 2;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0);
    border-radius: 10px;
    max-width: 100%;
    margin: auto;
    height: 600px;
    display: flex
;
    align-items: flex-end;
    align-content: flex-end;
    flex-wrap: wrap;
    top: 0px;
    padding-bottom: 50px;

}



.plist-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 92H0L92 0V92Z" fill="%23f7f7f7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2222;
  position: absolute;
}

.plist-title {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -2%;
  margin-bottom: 15px;
  color: #fff;
  width: 100%;
}

.plist-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  width: 100%;
  padding-right: 45%;
}

.plist-fact-item {
  min-width: 40%;
  background: #4D4D4DB2;
  backdrop-filter: blur(4px);
  border-radius: 4px;
  padding-top: 16px;
  padding-right: 18px;
  padding-bottom: 16px;
  padding-left: 18px;
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 14px;
  line-height: 145%;
  letter-spacing: 0%;
  color: #FFFFFF;
  text-align: center;

}

.plist-facts-ones {
  display: flex;
  width: auto;
  gap: 20px;
  min-width: 60%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}


.plist-description{
    font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  color: #fff;

  letter-spacing: 0%;
  width: 40%;
}



.btn-prev-bread a {
  display: flex;
  height: 59px;
  align-items: center;
}

.bread-text {
  height: 59px;
  padding-left: 26px;
  padding-right: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: #EAEAEA 1px solid;
}

.bread-full {
  border-top: #EAEAEA 1px solid;
  border-bottom: #EAEAEA 1px solid;

}

.uslugi-card-border {
  border: 3px solid #F7F7F7;
  position: relative;
}

.uslugi-card-border::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 38px;
  height: 38px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="38" height="38" viewBox="0 0 38 38" fill="none"><path d="M38 0L0 -3.32207e-06L19.9048 20.2667L38 38L38 0Z" fill="%23F7F7F7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2222;
}

.sticky-block-parrent {
  position: relative;
}

.sticky-block {
  position: sticky;
  top: 0;
}

.grid-25-75 {
  display: grid !important;
  grid-template-columns: 25% 75% !important;
  width: 100% !important;
  max-width: 100% !important;
}





.catalog-layout {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 24px;
  align-items: start;
}

/* Липкий сайдбар */
.catalog-sidebar {
  position: sticky;
  top: 20px;
  height: max-content;
  padding: 32px 25px;
  padding-top: 48px;
}

.filter-title {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;
  color: #4D4D4D;

}

.filter-list .check-row span {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;
  color: #101010;

}

.filter-group {
  margin-bottom: 40px;
}

.catalog-filter .filter-group+.filter-group {
  margin-top: 20px;
}

.filter-title {
  font-weight: 600;
  margin-bottom: 15px;
}

.check-row,
.radio-row {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1.3;
  margin: 8px 0;
}

/* <<< КАСТОМНЫЙ ЧЕКБОКС >>> */
.check-row {
  display: flex;
  align-items: center;
  gap: 12px;
  /* расстояние между квадратиком и текстом */
  margin: 8px 0;
  cursor: pointer;
}

/* сам input превращаем в квадрат */
.check-row input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border: 1.5px solid #D9D9D9;
  /* светло‑серый бордер как в примере */
  border-radius: 2px;
  /* лёгкое скругление */
  background: #fff;
  display: grid;
  place-content: center;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
  outline: none;
}

/* галочка (рисуем псевдоэлементом) */
.check-row input[type="checkbox"]::before {
  content: "";
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg) scale(0);
  transform-origin: center;
  transition: transform .12s ease-in-out;
  margin-top: -2px;
}

/* hover/focus стиль рамки */
.check-row input[type="checkbox"]:hover {
  border-color: #004584;
}

.check-row input[type="checkbox"]:focus-visible {
  box-shadow: 0 0 0 3px rgba(11, 78, 141, .2);
  border-color: #004584;
}

/* состояние checked — синий квадрат и белая галка */
.check-row input[type="checkbox"]:checked {
  background: #004584;
  border-color: #004584;
}

.check-row input[type="checkbox"]:checked::before {
  transform: rotate(-45deg) scale(1);
}

/* disabled – серый */
.check-row input[type="checkbox"]:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.filter-submit {
  width: 100%;
  margin-top: 12px;
  padding: 10px 14px;
  border: 0;
  border-radius: 6px;
  background: #0d6efd;
  color: #fff;
  cursor: pointer;
}
.header-svg-btn-content figure{
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-svg-btn-content figure svg{
  padding-top: 3px;
}
/* Блок бренда сверху справа */
.brand-hero {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: center;
  gap: 16px;
  padding: 16px;
  padding-left: 0px;
  background: #f7f7f7;
  border-radius: 8px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  padding-top: 0px;
}

.brand-meta {
  grid-column: span 3;
}

.brand-logo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.brand-name {
  font-size: 20px;
  font-weight: 700;
}

/* КАСТОМНЫЕ RADIO */
.radio-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 0;
  cursor: pointer;
}

/* скрываем стандарт */
.radio-row input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  border: 5px solid #D9D9D9;
  /* серый контур */
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-content: center;
  transition: border-color .15s ease, box-shadow .15s ease;
  outline: none;
}

/* внутренний кружок */
.radio-row input[type="radio"]::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  /* пустой по умолчанию */
  transition: background-color .15s ease, transform .15s ease;
  transform: scale(0);
}

.filter-list span {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  color: #101010;
  letter-spacing: 0%;

}

/* hover/focus */
.radio-row input[type="radio"]:hover {
  border-color: #0B4E8D;
}

.radio-row input[type="radio"]:focus-visible {
  box-shadow: 0 0 0 3px rgba(11, 78, 141, .2);
  border-color: #0B4E8D;
}

/* выбранный */
.radio-row input[type="radio"]:checked {
  border-color: #0B4E8D;
  /* синяя обводка */
}

.radio-row input[type="radio"]:checked::before {
  background: #0b4e8d00;
  transform: scale(.6);
  /* маленький кружок внутри */
}

/* disabled */
.radio-row input[type="radio"]:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* Сетка товаров (используем стандартный вывод Woo) */
ul.products {
  --gap: 20px;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
}

@media (max-width:1200px) {
  ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width:768px) {
  .catalog-layout {
    grid-template-columns: 1fr;
  }

  ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  .catalog-sidebar {
    position: static;
  }
}

@media (max-width:480px) {
  ul.products {
    grid-template-columns: 1fr;
  }
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
  display: none !important;
}

.custom-content li.product {
  width: 100% !important;
  max-width: 100% !important;

}









.motor-block {
  width: 100%;
  height: 390px;
  background: #ffffff00;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}

.motor-block .content {
  padding-top: 15px;
  margin-bottom: -10px;
}

.motor-block .image-container {
  height: 304px;
  width: 100%;
  display: block;
  background-color: #fff;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  position: relative;
}

.motor-image {
  position: absolute;
  width: 80%;
  height: auto;
  top: 43%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  border-radius: 2px;
}

.hover-button {
  position: absolute;
  bottom: 12px;
  left: 6px;
  width: calc(100% - 12px);
  height: 48px;
  background: #004584;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.3s ease;
}

.motor-block:hover .hover-button {
  opacity: 1;
  transform: translateY(0);
}

.hover-button-text {
  color: #FFFFFF;
  font-family: 'GolosText-Regular', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
}

.content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 12px 20px 0;
}

.brand {
  color: #4D4D4D;
  font-family: 'GolosText-Regular', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 8px;
}

.description {
  color: #101010;
  font-family: 'GolosText-Regular', sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.4;
  width: 100%;
  height: 36px;
}

/* Alternative version with different image */
.motor-block.alternative .motor-image {
  width: 100%;
}

.motor-block.alternative .description {
  content: "Плоский цилиндрический мотор-редуктор серии D с полым валом";
}

.motor-block.brand {}

.catalog-content.custom-content {
  border-left: 1px solid #EAEAEA;
  padding-left: 16px;
  padding-top: 48px;
}

.brand-logo-con {
  background-color: #fff;
  width: 100%;
  height: 218px;
  position: relative;
  display: flex;
  justify-content: center;
  border-radius: 3px;
  align-items: center;
}

.brand-logo-con img {
  height: 56px;
}

.brand-logo-con .brand-name {
  position: absolute;
  bottom: 20px;
  left: 20px;
  color: #2B2B2B;
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;


}

.brand-meta {
  padding-left: 60px;
}

.brand-meta {
  font-family: 'GolosText-Regular';
  color: #101010;
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;
  display: flex;
  justify-content: space-between;
  align-content: space-between;
  flex-wrap: wrap;
  height: 100%;
  width: 80%;

}

.brand-meta>div {
  width: 46%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  flex-wrap: wrap;
  padding-top: 18px;
  box-sizing: border-box;
  padding-bottom: 20px;
  gap: 16px;
}

.brand-meta>div>div {
  width: 100%;

}

.brand-meta strong {
  font-family: 'GolosText-Regular';
  color: #999999;
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;
}

.custom-content .products.columns-4 {
  box-sizing: border-box;
  width: calc(100% - 20px);
}

.custom-cart-header #header,
.custom-cart-header hr  ,.custom-cart-header #footer{
  display: none;
}

.header-full-parrent {
  display: flex;
  justify-content: space-between;
  padding: 10px 32px !important;
}



/* Блок-родитель с заголовком и панелью */
.header-nav-link-subtitle-block {
  position: relative;
  /* якорь для абсолютного меню */
}

/* Кнопка/заголовок */
.header-nav-link-subtitle-block-title {
  cursor: pointer;
}

/* Выпадающее меню (по умолчанию скрыто) */
.header-nav-link-subtitle-block-content {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translate(-50%, 8px);
  min-width: 320px;
  /* подгони по макету */
  max-width: 560px;
  padding: 16px;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, .12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1000;
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}

/* маленькая «стрелочка» сверху */
.header-nav-link-subtitle-block-content::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 14px;
  background: #ffffff00;
  box-shadow: -2px -2px 6px rgba(0, 0, 0, .04);
  transform-origin: center;
  rotate: 45deg;
  border-radius: 2px;
}

/* показать при hover (десктоп) или когда JS добавил .is-open */
.header-nav-link-subtitle-block:hover .header-nav-link-subtitle-block-content,
.header-nav-link-subtitle-block.is-open .header-nav-link-subtitle-block-content {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
  transition-delay: 0s;
  margin-top: 0px !important;
}

/* Элементы внутри выпадающего (пример оформления пунктов) */
.header-nav-link-subtitle-block-content p {
  margin: 0;
  padding: 0px 16px;
  border-radius: 2px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #2b2b2b;
  
}

.header-nav-link-subtitle-block-content p+p {
  margin-top: 6px;
}

.header-nav-link-subtitle-block-content p:hover {
  background: #F5F7FA;
}
 .news-slider-container {
    position: relative;
    margin: 30px 0;
}
.news-card {
    background: #ffffff00;
    border-radius: 3px;
    overflow: hidden;
    padding: 5px;
}
.news-thumb img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}
.news-meta {
    margin: 10px 0 5px;
    font-family: 'GolosText-Regular';
    font-weight: 400;
    font-size: 14px;
    line-height: 145%;
    color: #999999;
    letter-spacing: 0%;

}
.news-title {
    font-family: 'GolosText-Regular';
    font-weight: 400;
    font-size: 17px;
    line-height: 140%;
    letter-spacing: 0%;
    color: #101010;
    margin: 0px !important;
    margin-bottom: 10px !important;

}
.news-title a {
    text-decoration: none;
    color: #222;
}
.slider-btn-gutenberg-img{
  height: 15px  !important;
  display: flex;
  justify-content: center;
  align-items: center;

}
.slider-btn-gutenberg-img img{
  height: 15px  !important;
  max-width: none;
}
.slider-btn-gutenberg{
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.dis-par-mob-con{
  margin-left: 0px !important;
  width: 90% !important;
  max-width: 90% !important;
}

.news-excerpt {
    color: #101010;
    font-family: 'GolosText-Regular';
    font-weight: 400;
    font-size: 14px;
    line-height: 145%;
    letter-spacing: 0%;

}
.swiper-button-next,
.swiper-button-prev {
    color: #000;
}

.btn-news-slider{
  position: absolute;
  top: 0px;
  right: 0px;
}
.news-slider-container .news-swiper{

}
.news-con-row{
  position: relative;
}
/* Мобильный — делаем панель потоком ниже */
@media (max-width: 960px) {
  .header-nav-link-subtitle-block-content {
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    margin-top: 8px;
  }

  .header-nav-link-subtitle-block.is-open .header-nav-link-subtitle-block-content {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.header-nav-link-subtitle-block-content p {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 14px;
  line-height: 145%;
  letter-spacing: 0%;

}

.header-nav-link-subtitle-block-title {
  color: #4C4C4C;
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;

}

.custom-catalog-breadcrumbs,
.custom-catalog-breadcrumbs-con,
.custom-catalog-breadcrumbs-con>div,
.custom-catalog-breadcrumbs-con>p,
.custom-catalog-breadcrumbs-con>div>div,
.custom-catalog-breadcrumbs-con>div>div>a {
  height: 58px !important;
  box-sizing: border-box;
}



.wc-specs {
  margin: 24px 0 32px;
}

.wc-specs__title {
  font-family: 'GolosText-Medium';
  ;
  font-weight: 500;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;
  color: #101010;

}

.wc-specs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  /* ставь 2fr 2fr для двух колонок */
  gap: 10px;
  max-width: 100%;
  /* подгони ширину под правую колонку */
}

.wc-specs__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 8px;
  font-size: 16px;
  line-height: 1.4;
}

.wc-specs__item span {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0%;
  color: #101010;


}

.wc-specs__name {
  white-space: nowrap;
  color: #111;
}

.wc-specs__value {
  white-space: nowrap;
  color: #111;
  font-weight: 500;
}

/* пунктир между названием и значением */
.wc-specs__dots {
  align-self: end;
  border-bottom: 1px dashed rgba(0, 0, 0, .2);
  height: 1px;
  margin-bottom: 4px;
}

.wc-specs__item br {
  display: none;
}


.wc-images-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
  /* отступы между картинками */
  max-width: 100%;
  /* подгони под дизайн */
}

.wc-images-item img {
  width: 100%;
  height: auto;
  display: block;
}

.wp-block-group.woocommerce.product.is-layout-flow.wp-block-group-is-layout-flow {
  margin-top: 0px !important;
}

.product-page-conteiner {
  position: relative;
}

.product-page-conteiner-sticky {
  position: sticky;
  top: 0;
  z-index: 10;
  height: min-content;
  transition: 0.3s;
}








/* Заголовок секции */
.rs-section {
  padding: 8px 0 24px;
}

.rs-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.rs-title {
  /* из фигмы */
  font-family: Onest, system-ui, sans-serif;
  font-weight: 400;
  font-size: 42px;
  line-height: 110%;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0;
}

/* Навигация */
.rs-nav {
  display: flex;
  gap: 8px;
}

.rs-btn {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: #101010;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.rs-btn[disabled] {
  background: #EAEAEA;
  cursor: default;
}

.rs-btn[disabled] svg path {
  fill: #999999 !important;
}

/* Слайдер */
.rs-swiper {
  overflow: hidden;
}

.swiper-slide {
  height: auto;
}

.swiper-slide>p {
  display: none;

}

.rs-header>p {
  display: none;
}

.rs-card {
  display: block;
  width: 452px;
  /* из фигмы */
  max-width: 100%;
  height: 390px;
  /* из фигмы */
  background: #ffffff00;
  border-radius: 6px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: box-shadow .2s ease, transform .2s ease;
}

.rs-card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, .08);
  transform: translateY(-2px);
}

.rs-media {
  width: 100%;
  aspect-ratio: 16/10;
  /* подгоняй, если нужно другое окно */
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
}

.rs-media img {
  max-width: 90%;
  height: auto;
  display: block;
}

.rs-meta {
  padding: 16px 14px 18px;
}

.rs-brand {
  font-family: 'GolosText-Regular', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 145%;
  color: #4D4D4D;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.rs-name {
  font-family: 'GolosText-Regular', system-ui, sans-serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  color: #101010;
}

/* адаптивная ширина карточки, чтобы влезало N штук */
@media (max-width: 1279.98px) {
  .rs-card {
    width: 420px;
    height: 460px;
  }
}

@media (max-width: 1023.98px) {
  .rs-card {
    width: 360px;
    height: 440px;
  }
}

@media (max-width: 767.98px) {
  .rs-card {
    width: 100%;
    height: auto;
  }

  .rs-media {
    aspect-ratio: 16/12;
  }
}

.contact-page-item {
  position: relative; /* чтобы ::after позиционировался относительно элемента */
}

/* .contact-page-item::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 42px;
  height: 42px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="42" height="42" viewBox="0 0 42 42" fill="none"><path d="M42 0L3.8147e-06 -3.67176e-06L22 22.4L42 42L42 0Z" fill="%23F7F7F7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
} */
.contact-page-item {
  clip-path: polygon(
    0 0,                 /* верхний левый */
    calc(100% - 40px) 0, /* немного левее от правого края */
    100% 40px,           /* смещаем вниз */
    100% 100%,           /* нижний правый */
    0 100%               /* нижний левый */
  );
}
/* сетка */
.brands-section {
  --brands-cols: 5;
}
.text-nowrap{
  white-space: nowrap;
}

.brands-grid {
  display: grid;
  grid-template-columns: repeat(var(--brands-cols), minmax(0, 1fr));
  gap: 15px;
}
.contact-page-item-txt{
  height: 48px !important;
}
.contact-page-item .custom-input{
  margin-left: 0px !important;

  margin-right: 0px !important;
  width: 100% !important;
  max-width: 100% !important;
}
@media (max-width: 1579.98px) and (min-width: 720px) {
.full-width-grid.hero-grid-block > div{
  padding-left: 50px !important;
  padding-right: 50px !important;
}
}
@media (max-width: 1379.98px) and (min-width: 720px) {
  .hero-text-title-row{
    margin-left: 10% !important;
    width: 80% !important;
    margin-right: 0px !important;
    max-width: 80%;
  }

}
@media (max-width: 1279.98px) {
  .brands-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1023.98px) {
  .brands-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

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

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

}
.about-page-history-row-item{
  position: relative; /* якорь для абсолютного after */
  padding-top: 100px;
  margin-top: 0px;
}

.about-page-history-row-item::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:839px;      /* как в SVG */
  height:38px;      /* как в SVG */
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='839' height='38' viewBox='0 0 839 38' fill='none'><path d='M19 19L839 19.0001' stroke='%23EAEAEA'/><circle opacity='0.2' cx='19' cy='19' r='19' fill='%23004584'/><circle opacity='0.7' cx='19' cy='19' r='13' fill='%23004584'/><circle cx='19' cy='19' r='6' fill='white'/><circle cx='429' cy='19' r='6' fill='%23CCCCCC'/></svg>") no-repeat;
  background-size: contain;
  pointer-events: none; /* чтобы не мешать кликам */
  z-index: 1;
}


.contact-form {
  max-width: 400px;
  margin: 0 auto;
  font-family: sans-serif;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 25px !important;
}

.contact-form input {
  width: 100%;
  background: transparent;   /* прозрачный фон */
  border: none;
  border-bottom: 1px solid #666; /* нижняя линия */
  padding: 12px 0;
  color: #fff;              /* текст белый */
  font-size: 16px;
  outline: none;
  margin-bottom: 20px;
}

.contact-form input::placeholder {
  color: rgba(255, 255, 255, 0.6); /* полупрозрачный плейсхолдер */
}

.contact-form button {
  width: 100%;
  padding: 14px;
  border: none;
  background: #fff;
  color: #000;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
}

.contact-form button:hover {
  background: #f2f2f2;
}

.contact-form .form-note {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  margin-top: 12px;
  text-align: center;
}






/* ===== КАРТОЧКА ===== */
.brands-section .brand-card.pagebrand {
  position: relative;
  display: block;
  /* чтобы темы не делали inline/ flex */
  box-sizing: border-box;
  background: #fff !important;
  /* перебиваем возможные .page стили */
  border-radius: 3px;
  height: 218px;
  cursor: pointer;
  outline: none;
  margin: 0;
  padding: 0;
  color: inherit;
  text-decoration: none;
  box-shadow: none;
  isolation: isolate;
  /* чтобы ::after не смешивался с чужими */
}

.brands-section .brand-card.pagebrand:focus-visible {
  box-shadow: 0 0 0 2px #2F80ED;
}

/* ВНУТРЕННОСТИ */
.brands-section .brand-card__inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 20px 25px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  justify-content: flex-end;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

/* ЛОГОТИП */
.brands-section .brand-card__logo {
  position: absolute;
  inset: 28% 14px auto 14px;
  display: grid;
  place-items: center;
  height: 65px;
}

.brand-card__name {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;

}

.brands-section .brand-card__logo img {
  max-height: 90px;
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
}

.brands-section .brand-card__placeholder {
  font-size: 18px;
  opacity: .6;
}

/* ИМЯ */
.brands-section .brand-card__name {

  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 17px;
  line-height: 140%;
  letter-spacing: 0%;
  color: #2B2B2B;

}

/* СЕРЫЙ УГОЛОК */
.brands-section .brand-card.pagebrand::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 92px;
  height: 92px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 4C92 1.79086 90.2091 0 88 0L0 0L48.1905 49.0667L92 92L92 4Z" fill="%23F7F7F7"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

/* КНОПКА "!" */
.brands-section .brand-card__info {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: transparent;
  color: #CCCCCC;
  /* SVG fill="currentColor" */
  transition: color .2s ease;
  padding: 0;
  appearance: none;
  box-shadow: none;
  z-index: 222;
}

.brands-section .brand-card.pagebrand:hover .brand-card__info,
.brands-section .brand-card__info:focus {
  color: #2F80ED;
  /* синий при наведении/фокусе */
}

.brands-section .brand-card__info svg {
  display: block;
}

/* ====== МОДАЛКА ====== */
.brands-section .brand-modal[aria-hidden="true"] {
  display: none;
}

.brands-section .brand-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
}

.brands-section .brand-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
}

.brands-section .brand-modal__dialog {
  position: absolute;
  inset: 40px;
  margin: auto;
  max-width: 600px;
  background: #fff;
  border-radius: 10px;
  padding: 36px 36px 28px;
  overflow: auto;
  box-sizing: border-box;
  height: min-content;
}

@media (max-width: 767.98px) {
  .brands-section .brand-modal__dialog {
    inset: 12px;
    padding: 22px 16px;
  }
}

/* КНОПКА ЗАКРЫТЬ */
.brands-section .brand-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: transparent;
  border: none;
  color: #101010;
  font-size: 16px;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
  appearance: none;
}

/* ШРИФТЫ В МОДАЛКЕ */
.brands-section .brand-modal__logo {
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}

.brands-section .brand-modal__logo img {
  max-height: 90px;
  width: auto;
}

.brands-section .brand-modal__title {
  font-family: 'GolosText-Regular';
  font-weight: 400;
  font-size: 24px;
  line-height: 140%;
  letter-spacing: -2%;
  color: #101010;
  text-align: center;


}

.brands-section .brand-row {
  font-family: 'GolosText-Regular', system-ui, sans-serif;
  font-size: 15px;
  line-height: 150%;
  color: #4D4D4D;
  margin: 8px 0;
}

.brands-section .brand-row span {
  color: #9aa0a6;
}

.brands-section .brand-row strong {
  color: #101010;
  font-weight: 600;
}

.brand-modal__logo {
  height: 230px;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-title-strong strong{
  color:#999999 !important;

}
.angle-container {
  position: relative;
}

.angle-container::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 92px;
  height: 92px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 88C92 90.2091 90.2091 92 88 92L7.62939e-06 92L48.1905 42.9333L92 -7.62939e-06L92 88Z" fill="%23F7F7F7"/><path fill-rule="evenodd" clip-rule="evenodd" d="M66.4653 72L65.1992 70.7396L71.4671 64.5L65.1992 58.2604L66.4653 57L73.9994 64.5L66.4653 72Z" fill="%23101010"/><path d="M72.2808 63.6177V65.3824H49V63.6177H72.2808Z" fill="%23101010"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
  transition: background-image 0.3s ease-in-out; /* плавность */
}

/* Hover */
.about-company-item:hover .angle-container::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="92" height="92" viewBox="0 0 92 92" fill="none"><path d="M92 88C92 90.2091 90.2091 92 88 92L7.62939e-06 92L48.1905 42.9333L92 -7.62939e-06L92 88Z" fill="%23004584"/><path fill-rule="evenodd" clip-rule="evenodd" d="M66.4653 72L65.1992 70.7396L71.4671 64.5L65.1992 58.2604L66.4653 57L73.9994 64.5L66.4653 72Z" fill="%23FFFFFF"/><path d="M72.2808 63.6177V65.3824H49V63.6177H72.2808Z" fill="%23FFFFFF"/></svg>');
}
.about-page-history {
  overflow: hidden;
  position: relative;
}

.about-page-history-row {
  display: flex !important;
  gap: 32px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch; /* инерция на iOS */
  /* без snap — скролл пропорционально движению */
  scroll-snap-type: none;
  padding: 0 24px 16px;
  padding-left: 0px ;

  /* скроем скроллбар */
  scrollbar-width: none; 
  -ms-overflow-style: none;
  cursor: grab;
}
.about-page-history-row::-webkit-scrollbar { display: none; }

/* 2.3 карточки в видимой области */
.about-page-history-row-item {
  flex: 0 0 calc(100% / 2.3);
  min-width: 0;
}

/* во время драга */
.about-page-history-row.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;   /* чтобы не мешала плавность браузера */
  user-select: none;       /* чтобы текст не выделялся */
}
.about-page-pricips-item {
  position: relative; /* чтобы псевдоэлемент позиционировался внутри */
}

.about-page-pricips-item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 38px;
  height: 38px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38' fill='none'><path d='M38 0L0 -3.32207e-06L19.9048 20.2667L38 38L38 0Z' fill='%23F7F7F7'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none; /* чтобы не мешал кликам */
}
.grass-img {
  position: relative; /* обязательно */
}

.grass-img::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50' fill='none'><path d='M50 0H-3.8147e-06L26.1905 26.6667L50 50V0Z' fill='%23F7F7F7'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none; /* чтобы не перекрывал клики */
}
/* Вьюпорт — без snap, скролл пиксель-в-пиксель */
.overflow-slider-sert{
  overflow-x: auto !important;
  overflow-y: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  scroll-snap-type: none !important; /* <-- отключаем прилипание */
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 48px !important;
}
.overflow-slider-sert::-webkit-scrollbar{ display:none; }

/* Дорожка */
.overflow-slider-sert-row{
  display: flex !important;
  gap: var(--sert-gap, 24px);
  width: max-content !important;
  max-width: none !important;
  user-select: none;
}

/* Ровно 4 карточки в зоне видимости.
   Не поштучно: никакого scroll-snap-align. */
.overflow-slider-sert-row > div{
  flex: 0 0 calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)*3) / 4 );
  max-width: calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)*3) / 4 );
}

/* Если у контейнера есть внутренние паддинги — укажи их один раз: */
.overflow-slider-sert{
  --sert-side-pad: 36px;    /* подгони под свои отступы слева/справа */
  --sert-gap: 24px;         /* расстояние между карточками */
  padding-inline: var(--sert-side-pad);
}

/* Картинка растягивается по карточке, игнорируя inline-width у <img> */
.overflow-slider-sert-row figure{ margin: 0 0 12px 0; }
.overflow-slider-sert-row img{
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}

/* (Опционально) адаптив на меньших ширинах */
@media (max-width: 1200px){
  .overflow-slider-sert-row > div{
    flex-basis: calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)*2) / 3 );
    max-width: calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)*2) / 3 );
  }
}
@media (max-width: 900px){
  .overflow-slider-sert-row > div{
    flex-basis: calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)) / 2 );
    max-width: calc( (100vw - var(--sert-side-pad, 0px)*2 - var(--sert-gap, 24px)) / 2 );
  }
}
@media (max-width: 560px){
  .overflow-slider-sert-row > div{
    flex-basis: calc(100vw - var(--sert-side-pad, 0px)*2);
    max-width: calc(100vw - var(--sert-side-pad, 0px)*2);
  }
}

/* сетка */
.clients-grid {
  --cols: 6; /* теперь 6 колонок */
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0,1fr));
  gap: 0;
}

/* карточка */
.client-card{
  position: relative;
}
.client-card__inner{
  position: relative;
  padding: clamp(24px, 4vw, 48px);
  min-height: 170px;           /* подгони при желании */
  display: grid;
  place-items: center;
}
.client-card:nth-last-child(-n+3) {
  grid-column: span 2; /* занимает 2 колонки */
}

/* логотип */
.client-card__logo img{
  max-width: 95%;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: saturate(1); /* по вкусу */
}

/* общие параметры линий */
.cc-line{
  position: absolute;
  pointer-events: none;
  background: #EAEAEA;
}

/* вертикальный разделитель (между колонками) – ~80% высоты, по центру */
.cc-line--v{
  top: 10%;
  bottom: 10%;
  width: 1px;
  right: 0;                 /* уходит в правый край карточки */
  transform: translateX(.5px); /* антиалиасинг, чтобы не было «щелей» */
}

/* горизонтальный разделитель (между рядами) – ~80% ширины, по центру */
.cc-line--h{
  left: 10%;
  right: 10%;
  height: 1px;
  bottom: 0;                /* уходит в низ карточки */
  transform: translateY(.5px);
}

/* мягкая «фигмовская» рамка внутри карточки */
.cc-line--box{
  inset: 16px;              /* отступы от краёв – рамка визуально «внутри» */
  background: transparent;
  /* трюк: делаем из span рамку */
  width: auto; height: auto;
  /* превратим фон-спан в рамку */
  content: "";
  box-sizing: border-box;
}

/* доступность фокуса для клавиатуры (tabindex="0" уже есть) */
.client-card:focus-visible .cc-line--box{
  outline: 2px solid #9ecbff;
  outline-offset: 4px;
}

/* адаптив: меньше колонок на узких экранах */
@media (max-width: 1200px){ .clients-section{ --clients-cols: 4; } }
@media (max-width: 900px){  .clients-section{ --clients-cols: 3; } }
@media (max-width: 640px){  .clients-section{ --clients-cols: 2; } }
@media (max-width: 420px){  .clients-section{ --clients-cols: 1; } }

/* тонкая ретина-подправка, чтобы линии были crisp */
@media (min-resolution: 2dppx){
  .cc-line--v{ transform: none; }
  .cc-line--h{ transform: none; }
}

.client-card:nth-child(-n+5) .cc-line--box::before {
  width: 90%;
  height: 1px;
  background-color: #EAEAEA;
  content: '';
  position: absolute;
  top: 0;
  left: 5%;
}
.full-width{
  width: 100% !important;
  max-width: 100% !important;
}



.map-wrap{
  position: relative;
  max-width: 100%;
  width: 100%;
  /* необязательные поля вокруг карты */
  /* padding: 24px 0; */
}
.map-img{
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none; /* чтобы клики ловили пины */
}

/* Пин */
.map-pin{
  --dot: #004584;
  --ring: #fff;
  --halo: rgba(255,255,255,.25);
  --tt-bg:#fff;
  --tt-text:#1b1b1b;
  --tt-shadow: 0 8px 24px rgba(0,0,0,.12);

  position: absolute;
  left: var(--x);
  top: var(--y);
  transform: translate(-50%, -50%);
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--dot);
  border: 3px solid var(--ring);
  box-shadow: 0 0 0 10px var(--halo);
  cursor: pointer;

  /* accessibility */
  outline: none;
}
.map-pin::before{
  /* пульсация */
  content:"";
  position:absolute; inset:-10px;
  border-radius:50%;
  border:1px solid var(--ring);
  opacity:.7;
}
@keyframes pulse { from{ transform:scale(1); opacity:.8 } to{ transform:scale(1.25); opacity:0 } }
.map-pin::after{
  /* тултип */
  content: attr(data-label);
  position: absolute;
  left: 24px; top: -8px;
  transform: translateY(-100%);
  white-space: nowrap;
  background: var(--tt-bg);
  color: var(--tt-text);
  font: 500 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  padding: 8px 10px;
  border-radius: 8px;
  box-shadow: var(--tt-shadow);
  opacity: 0;
  visibility: hidden;
  transition: .18s ease;
}
.map-pin:hover::after,
.map-pin:focus-visible::after,
.map-pin[aria-expanded="true"]::after{
  opacity: 1; visibility: visible;
}

/* «хвостик» тултипа */
.map-pin span{ display:none } /* чтоб не мешать */
.map-pin::after{
  /* уже есть выше — хвостик сделаем отдельным псевдоэлементом */
}
.map-pin:has(+ .tail) {} /* не нужно, ниже отдельный элемент */

/* треугольный хвостик */
.map-pin .tt-tail{ display:none }
.map-pin::before{
  animation: pulse 1.8s ease-out infinite;
}

/* маленький хвост тултипа */
.map-pin:hover::after,
.map-pin:focus-visible::after{
  background:
    radial-gradient(circle at 0 100%, transparent 8px, var(--tt-bg) 8px) left calc(24px - 8px) bottom -8px / 16px 16px no-repeat,
    var(--tt-bg);
}

/* мобильные размеры/отступы */
@media (max-width: 640px){
  .map-pin{ width: 14px; height: 14px; border-width: 2px; box-shadow: 0 0 0 8px var(--halo); }
  .map-pin::after{ font-size: 13px; }
}


.header-proz{
  background-color: #ffffff00 !important;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: background-color 0.3s ease-in-out;
}
.header-proz::after{
  width: 90%;
  height: 1px;
  background-color: #BABABA;

}
#wp--skip-link--target{
  margin-top: 0px !important;
}
.header-nav-link-subtitle-block-content img{
  width: 40px !important;
  max-width: 40px !important;

}
.header-nav-link-subtitle-block-content > div{
  gap: 8px;
}


.region-modal[hidden]{display:none}

.region-modal{
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, .35);
    z-index: 9999;
    width: 583px;
    top: 60px;
    height: 302px;
    right: 5%;
    left: auto;
}
.region-modal__panel{
  background:#1f252b00;
  color:#fff;
  border-radius:10px;
  padding:20px;
  min-width:520px
}
.region-modal__cols{display:flex;gap:24px}

.region-modal__col{
  flex:1;
  background:#2a323800;
  border-radius:8px;
  padding:16px;
}
.region-save{
  margin-top:16px;
  padding:15px 0;
  border:0;
  border-radius:8px;
  background:#2B2B2B;
  color:#fff;
  cursor:pointer;
  width: 100%;

}
.region-close{
  position:absolute;top:10px;right:14px;background:transparent;border:0;color:#fff;font-size:22px;cursor:pointer;
  display: none;
}
.multi-sklad-btn-trigger{
  background-color: #ffffff00;
  border: none;
  outline: none;
  padding: 0px;
}
.region-modal__col:nth-child(2){
  border-left: 1px solid #99999952

}
.region-modal__panel{
  height: 100%;
}
.region-modal__cols{
  height: 100%;
}





/* === REGION OPTIONS (плитки с флагами) === */
.region-modal .region-list{
  display:grid;
  gap:8px;
  margin:0; /* чтобы не прыгало в разных темах */
  padding:0;
}

/* плитка-лейбл */
.region-modal .region-item{
  --tile-bg: rgba(43,47,53,.95);      /* фон плитки */
  --tile-bg-hover: rgba(52,58,65,.95);
  --tile-text: #fff;

  display:grid;
  grid-template-columns: 34px 1fr 20px; /* флаг | текст | чек-точка */
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  user-select:none;
}
.region-modal__col:nth-child(2) .region-item{
  grid-template-columns: 20px 1fr; /* флаг | текст | чек-точка */
  padding-left: 0;

}
/* скрытый radio (сохраняем доступность) */
.region-modal .region-item > input[type="radio"]{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}

/* флаг */
.region-modal .region-item .flag{
  display:inline-flex;
  width:34px; height:22px;
  align-items:center; justify-content:center;
  border-radius:2px; overflow:hidden;
}
.region-modal .region-item .flag svg{
  width:34px; height:22px; display:block;
}

/* подпись */
.region-modal .region-item .label{
  color: var(--tile-text);
  font-size:14px; line-height:1;
}

/* чек-кружок справа */
.region-modal .region-item .check{
  width:16px; height:16px;
  border-radius:50%;
  border:2px solid #8a8f97;
  justify-self:end;
}

/* выбранное состояние */
.region-modal .region-item > input[type="radio"]:checked ~ .check{
  border-color:#4da3ff;
  box-shadow: inset 0 0 0 5px #4da3ff;
}

/* фокус с клавиатуры */
.region-modal .region-item > input[type="radio"]:focus-visible ~ .check{
  outline:2px solid #4da3ff;
  outline-offset:2px;
}

/* заголовки внутри колонок чуть компактнее */
.region-modal .region-modal__col > h3{
  margin:0 0 12px;
  color:#fff;
  font-size:16px;
  font-weight:600;
}

.region-item{
  font-family: 'GolosText-Regular', system-ui, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 145%;
  letter-spacing: 0%;

}























/* CSS */
.custom-input {
  display: flex;
  flex-direction: column;
  width: 280px; /* можно менять ширину */
  font-family: Arial, sans-serif;
}

.custom-input__label {
  font-size: 14px;
  color: #333;
  margin-bottom: 6px;
}

.custom-input__field {
  border: none;
  border-bottom: 1px solid #666;
  outline: none;
  font-size: 14px;
  padding: 4px 0;
  background: transparent;
  transition: border-color 0.3s;
}

.custom-input__field:focus {
  border-bottom: 1px solid #000;
}
.header-proz {
  transition: background-color 0.3s ease;
  background: transparent; /* обычный фон */
}

.header-proz.scrolled {
  background: #fff !important ; /* фон после скролла */
}
.header-proz.scrolled p , .header-proz.scrolled a{
	color: #000 !important;
}

.about-page-uslugi-list{
  display: grid !important;
  grid-template-columns: 30% 20% 20% 30% !important;
  width: 100% !important;
  box-sizing: border-box;
  gap: 0px !important;
}
.krug-btn-list{
  width: 102px;
  height: 102px;
  border-radius: 50%;
}
.krug-btn-list a{
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.border-radius-tre-img figure {
  position: relative;
  width: min-content;
}
.border-radius-tre-img figure img{
    max-width: 250px;
}
.border-radius-tre-img figure::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><path d='M32 0L0 0L16.7619 17.0667L32 32L32 0Z' fill='%23F7F7F7'/></svg>") no-repeat center/contain;
  pointer-events: none; /* чтобы не мешало кликам */
}

/* сетка оставляем как есть, добавим только позиционирование */
.about-page-uslugi-list{
  position: relative;
  transition: 0.3s;

}

/* резервируем место под круговую кнопку, чтобы ничего не прыгало */
.about-page-uslugi-list .wp-block-buttons{
  min-height: 102px;             /* высота под .krug-btn-list */
  display: grid;
  place-items: center;            /* центрируем в колонке */
}

/* скрытая по умолчанию круглая кнопка — плавное появление */
/* --- кнопка --- */
.krug-btn-list{
  width: 102px;
  height: 102px;
  border-radius: 50%;
  opacity: 0;
  transform: scale(.9);
  transition: opacity .28s ease, transform .3s ease;
  pointer-events: none;           /* не ловит клики пока скрыта */
  will-change: transform, opacity;
}
.krug-btn-list a{
  padding-left: 5px !important;
  padding-right: 5px !important;
}

/* блок с картинкой — фиксируем высоту, фигуру делаем абсолютной */
/* --- картинка --- */
.border-radius-tre-img{
  position: relative;
  transition: 0.3s;
}

/* фигура не участвует в потоке — не дёргает сетку */
.border-radius-tre-img figure{
  position: absolute;
  top: -50%;
  right: 0;
  width: min-content;
  opacity: 0;
  transition: opacity .28s ease, transform .32s ease;
  will-change: transform, opacity;
  z-index: 22;
}
/* уголок в правом верхнем */
.border-radius-tre-img figure::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><path d='M32 0L0 0L16.7619 17.0667L32 32L32 0Z' fill='%23F7F7F7'/></svg>") no-repeat center/contain;
  pointer-events: none;
}

/* Показ при ховере ИЛИ когда JS добавит класс .is-hover */

/* Показ при ховере ИЛИ когда JS добавит класс .is-hover */
.about-page-uslugi-list:hover .krug-btn-list,
.about-page-uslugi-list.is-hover .krug-btn-list{
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.about-page-uslugi-list:hover .border-radius-tre-img figure,
.about-page-uslugi-list.is-hover .border-radius-tre-img figure{
  opacity: 1;
  transform: translateY(0);
}
.about-page-uslugi-list:hover .border-radius-tre-img {
  height: 100px;
}
/* уважение к людям с reduced motion */
@media (prefers-reduced-motion: reduce){
  .krug-btn-list,
  .border-radius-tre-img figure{
    transition: none;
  }
}
.about-page-uslugi-list{
  padding: 10px 0px !important;
}
.mobile-header-block , .mobile-footer-block{
  display: none !important;
}
@media (max-width: 767.98px) {
  .rs-title{
    font-size: 22px;
  }
  /* .mobile-def-slider{
 display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: auto;
    padding-bottom: 15px !important;
  }
  .mobile-def-slider-con{
    display: flex !important;
    gap: 15px !important;
    width: max-content !important;
    max-width: none !important;
    overflow: auto !important;
  }
  .mobile-def-slider-con > div{
    width: 100vw !important;
    max-width: none !important;
  } */
   .max-width-mob-100{
    width: 95vw !important;
    max-width: 95vw !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
   }

  .mobile-def-slider { width:100%; overflow:auto !important; }
  .mobile-def-slider-con {
    display: flex !important;
    gap: 15px !important;           /* можно менять */
    width: max-content !important;
    max-width: none !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 12px;
    scrollbar-width: none; /* firefox */
  }

  .mobile-def-slider-con::-webkit-scrollbar { display: none; } /* chrome */
  .mobile-def-slider-con > .about-company-item {
    scroll-snap-align: start;
    flex: 0 0 auto;                /* не растягиваемся */
    width: calc(95vw - 40px);      /* пример: карточка ~80% viewport; подбери под дизайн */
    min-width: 220px;              /* ограничение */
    box-sizing: border-box;
  }





  .hover-mob-none-parrent .desk-header , .hover-mob-none-parrent .border-radius-tre-img{
    display: none !important;
    
  }
  .order2{
    display: block;
    order: 2 !important;
  }
  .page-title-strong{
    font-size: 26px !important;
  }


  .cen-grid-mob{
    gap: 15px !important;
  }
  .cen-grid-mob > div > div{
    min-height: 200px !important;
  }
  .paddings-none{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .desk-header-block , .desk-footer-block{
    display: none !important;
  }
  .mobile-header-block{
    display: block  !important;
  }
  .mobile-header-block{
    background-color: transparent !important;
  }
  .mobile-footer-block{
    display: block !important;
  }
  .hero-text-title{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .hero-text-title-row{
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-text-title-row-title{
    font-size: 32px !important;
  }
  .hero-text-title-row-subtitle{
    font-size: 16px !important;
  }
  .hero-grid-block{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .hero-grid-block > div{
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: flex-start;
  }
  .full-width-grid>div:not(:last-child)::before{
    display: none !important;
  }
  .full-width-grid>div::after{
    display: none !important;
  }
  .full-width-grid>div{
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 15px !important;
    padding-bottom: 0px !important;
  }
  .full-width-grid.hero-grid-block{
    border-top: 1px solid #999999 !important;

    margin-top: 10px !important;
    padding-top: 5px !important;
  }
  .second-block{
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .second-block-con{
    max-width: 100vw !important;
    width: 100vw !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
  .tablist button{
    font-size: 14px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
    width: 33% !important;
    max-width: 33% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

  }
  main > div{
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  main > div > div{
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  .tablist{
    width: 100% !important;
  }
  .full-width-btn{
    width: 100% !important;
    max-width: 100% !important;
  }

  .padding-top-xs{
    padding-top: 30px !important;
  }
  .page-title-strong.left-txt{
    text-align: start !important;
    font-size: 26px !important;
  }
  .grid-proiz{
    grid-template-columns: 1fr !important;
  }
  .grid-proiz-item{
    position: relative;

    display: grid;
    grid-template-columns: 80% 20% !important;
  }
  .grid-proiz-item-left{
    grid-column: 1 span !important;
  }
  .zadac-item-img img{
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    height: 120px !important;
    width: auto !important;
  }
  .grid-proiz-item-left-title{
    font-weight: 400;
    font-size: 14px !important;
    line-height: 140%;
    letter-spacing: 0%;
    color: #101010 !important;
  }
  .grid-proiz-item-left-txt{
    color: #2B2B2B !important;
    font-size: 12px !important;
  }
  .zadac-item-img{
    height: 200px !important;
  }
  .brand-name{
    font-size: 12px !important;
  }
  .swiper-slide.brand-slide{
    height: 188px !important;
  }
  .brand-card::after{
    display: none !important;
  }
  .grid-other-company{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .grid-other-company > div{
    min-height: 220px !important;
  }
  .projects-swiper-navigation{
    display: none !important;
  }
  .project-text , .project-text{
    padding-right: 0px !important;
  }
  .project-facts{
    padding-right: 0px !important;
  }
  .project-card::after{
    bottom: -3px !important;
    right: -3px !important;
  }
  .project-title{
    font-size: 20px !important;
  }
  .project-description{
    font-size: 14px !important;
  }
  .grid-row-paddings {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 30px;
    margin-left: 0px !important;
    margin-right: 0px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body .wp-site-blocks{
    overflow-x: hidden !important;

  }
  .title-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .fact-item{
    font-size: 12px !important;
  }
  .project-facts-ones{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .clients-section{
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: auto;
  }
  .clients-grid{
    display: flex !important;
    width: max-content !important;
    max-width: none !important;

  }
  .client-card{
    width: 60vw;
  }
  .client-card__inner{
    width: 100% !important;
  }
  .grid-maps{
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .padding-top-text{
    padding-top: 5px !important;
    margin-top: 5px !important;

  }
  .footer-top{
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}


/* ===== Мобайл: шапка бренда как «аккордеон» ===== */
@media (max-width: 768px){
  .brand-hero{
    border: 1px solid #EAEAEA;
    border-radius: 10px;
    padding: 14px 16px;
    background: #fff;
  }
  .brand-hero .brand-logo-con{ margin-bottom: 8px; }

  /* кликабельная строка с названием бренда */
  .brand-hero .brand-name{
    display: flex; align-items: center; justify-content: space-between;
    font-weight: 600; font-size: 18px; line-height: 1.2;
    cursor: pointer; user-select: none;
  }
  .brand-hero .brand-name::after{
    content: '';
    width: 10px; height: 10px; margin-left: 10px;
    border-right: 2px solid #101010; border-bottom: 2px solid #101010;
    transform: rotate(45deg); transition: transform .2s ease;
  }
  .brand-hero.is-open .brand-name::after{ transform: rotate(-135deg); }

  /* блок с полями бренда скрыт по умолчанию */
  .brand-hero .brand-meta{
    overflow: hidden; max-height: 0; transition: max-height .25s ease;
    padding-top: 0; /* чтобы не прыгало при закрытии */
  }
  .brand-hero.is-open .brand-meta{
    max-height: 800px; /* достаточно большая «крыша» для разворота */
    padding-top: 12px;
  }
  .brand-hero , .brand-meta{
    display: grid;
    grid-template-columns: 1fr;
  }
  .brand-meta>div{
    width: 100%;
  }
  /* лёгкая стилизация подписей */
  .brand-hero .brand-field strong{ color: #9B9B9B; font-weight: 600; }
}








/* Плавающая FAB, открывается ВВЕРХ */
.cfab{
  position: fixed;
  z-index: 9999;
  /* bottom / left|right и --gap приходят инлайном из шорткода */
  --gap: 12px;
  width: 44px;
  height: 44px;
}

/* Базовая круглая кнопка */
.cfab-main{
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: grid;
  place-items: center;
  background: #10101052;               /* ваш полупрозрачный фон */
  box-shadow: 0 0 7px 0 #2B2B2B17;     /* ваша тень */
  backdrop-filter: blur(8px);          /* ваш blur */
  -webkit-backdrop-filter: blur(8px);
  transition: transform .2s ease;
  border: none !important;
  outline: none !important;
}
.cfab-main br{
  display: none !important;
}
.cfab-main:active{ transform: scale(.96); }

/* Иконки «чат/крест» */
.cfab-icon-close{ display: none; }
.cfab.cfab--open .cfab-icon-chat{ display: none; }
.cfab.cfab--open .cfab-icon-close{ display: block; }

/* Кнопки сервисов — абсолютно позиционируем и сдвигаем ВВЕРХ */
.cfab-item{
  position: absolute;
  bottom: 0;
  /* сторона берём из data-side (через наследование от контейнера) */
  /* чтобы совпало и для left, и для right, привязываемся к краю контейнера */
  left: 0;
  right: 0;
  margin: 0 auto; /* чтобы круги стояли ровно над основной */
  width: 44px;
  height: 44px;

  opacity: 0;
  pointer-events: none;
  transform: translateY(0);
  transition: transform .22s ease, opacity .22s ease;
}

/* При открытии сдвигаем вверх на i*(44 + gap) */
.cfab.cfab--open .cfab-item{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(calc(-1 * var(--i) * (44px + var(--gap))));
}

/* Для позиции слева/справа — фиксируем контейнер к нужному краю */
.cfab[data-side="right"]{ right: 0; }
.cfab[data-side="left"] { left: 0; }

/* === Desktop default === */
.desk-header-block { display: flex; }
.mobile-header-block,
.header-mobile-menu { display: none; }

/* === Mobile only === */
@media (max-width: 991.98px) {
  /* Прячем десктопный хедер */
  .desk-header-block { display: none !important; }

  /* Блок с бургером/кнопкой закрытия */
  .mobile-header-block {
    display: flex !important;
    align-items: center;
    gap: 12px;
  }

  /* Изначально: показать бургер, скрыть крестик */
  .header-mobile-burger { display: block !important; cursor: pointer; }
  .header-mobile-close  { display: none  !important; cursor: pointer; }

  /* Полноэкранное мобильное меню (закрыто по умолчанию) */
  .header-mobile-menu {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff;
    overflow: auto;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    /* на всякий случай уберём внутренние глобальные паддинги, если мешают */
    /* padding: 16px; */
  }

  /* Когда меню открыто (класс вешаем на <html> из JS) */
  html.is-mobile-menu-open .header-mobile-menu {
    display: block;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    top: 63px;
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 15px !important;
  }

  /* Меняем кнопки местами при открытом меню */
  html.is-mobile-menu-open .header-mobile-burger { display: none !important; }
  html.is-mobile-menu-open .header-mobile-close  { display: block !important; }

  /* Лочим скролл страницы при открытом меню */
  html.is-mobile-menu-open body { overflow: hidden; }
  .header-mobile-close{
    margin-top: 0px !important;
  }
  .header-full-parrent{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .center-img{
    display: flex;
    align-items: center;
  }
    /* Контент разделов моб.меню закрыт по умолчанию */
  .header-mobile-menu-parrent-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height .25s ease;
  }

  /* Поворот стрелки (если есть .center-img внутри заголовка) */
  .header-mobile-menu-parrent .center-img {
    transition: transform .25s ease;
  }
  .header-mobile-menu-parrent.is-open .center-img {
    transform: rotate(180deg);
  }
  .header-mobile-menu-parrent{
    outline: none !important;
  }
}

@media (max-width: 640px){
  .bread-head-con{
    padding-left: 0px !important;
    margin-left: 0px !important;
    padding-right: 0px !important;
    margin-right: 0px !important;
  }
  .bread-head-con-row{
    margin-left: 0px !important;
    margin-right: 0px !important;
    padding-left: 0px !important;
  }
  .bread-text{
    font-size: 13px !important;
  }
  .btn-prev-bread a{
    width: 50px !important;
  }
  .bread-text{
      padding-left: 15px;
      padding-right: 15px;
  }
  .grid-mobile1fr{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .desk-block{
    display: none !important;
  }
  .paddings-mobile-s{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .slider-motors-gears{
    padding-left: 10px !important;
    padding-right: 10px !important;

  }
  .slider-motors-gears .rs-title{
    font-size: 22px !important;
  }
  .resultproject-con{
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

}