/* =========================
   ABOUT / О ПРОЕКТЕ
   ========================= */

#main-page-about-project-block{
  /* управляем отступами секции через переменные */
  --about-pt: 0px;
  --about-pb: 0px;

  position: relative;
  overflow: hidden;                 /* кадрируем фото */
  padding: var(--about-pt) 0 var(--about-pb);
  background: transparent;
}

/* фон на всю ширину окна, контент остаётся в сетке */
#main-page-about-project-block::before{
  content:"";
  position:absolute;
  left:50%; top:0; bottom:0;
  width:100vw; transform:translateX(-50%);
  background:#ae804f;
  z-index:0;
}

/* типографика/цвета в блоке */
#main-page-about-project-block .main-page-block-subheading,
#main-page-about-project-block h1,
#main-page-about-project-block h2,
#main-page-about-project-block p{
  color:#F7F5CA;
}

#main-page-about-project-block .main-page-block-subheading{
  font-weight:400; font-size:18px; line-height:16px; letter-spacing:.24px;
  text-transform:uppercase; opacity:.5; margin:0 0 15px;
}
#main-page-about-project-block h1,
#main-page-about-project-block h2{
  font-weight:600; font-size:40px; line-height:40px; letter-spacing:1px; margin:0 0 28px;
}
#main-page-about-project-block p{
  font-weight:400; font-size:20px; line-height:24px; letter-spacing:.24px; margin:0 0 16px;
}

/* контент гарантированно над фоном/фото */
#main-page-about-project-block > *,
#main-page-about-project-block .wpb_column{
  position:relative; z-index:1;
}

/* фото: строго по правому/нижнему краю секции */
#main-page-about-project-block .about-photo,
#main-page-about-project-block .about-photo figure{ margin:0; }
#main-page-about-project-block .about-photo img{
  position:absolute;
  right:0;
  bottom: calc(-1 * var(--about-pb));
  height: calc(100% + var(--about-pb));
  width:auto; max-width:none;
  z-index:0;
  pointer-events:none; user-select:none;
  transition: transform .6s ease, opacity .6s ease;
}

/* входная анимация по желанию (через .animation-visible) */
#main-page-about-project-block:not(.animation-visible) .about-photo img{
  transform: translateX(2%); opacity:.01;
}
#main-page-about-project-block.animation-visible .about-photo img{
  transform:none; opacity:1;
}

/* мобилка */
@media (max-width: 767.98px){
  #main-page-about-project-block{
    --about-pt: 28px; --about-pb: 0px;
    padding: var(--about-pt) 0 var(--about-pb);
  }
  #main-page-about-project-block .about-photo img{
    position: static; display:block;
    height:auto; width:140%; max-width:none;
    transform: translateX(-25vw);
    margin:10px 0 0;
  }
  #main-page-about-project-block .main-page-block-subheading{ font-size:14px; margin-bottom:9px; }
  #main-page-about-project-block h1,
  #main-page-about-project-block h2{ font-size:22px; line-height:26px; letter-spacing:.5px; margin-bottom:10px; }
  #main-page-about-project-block p{ font-size:15px; line-height:20px; letter-spacing:.2px; }
}



/* =========================
   STATISTICS / СТАТИСТИКА
   ========================= */

#main-page-statistics-block{
  position: relative;
  overflow: hidden;
  padding: 0 0 0;       /* отступы секции задаём в шаблоне/редакторе */
  color:#23342A;
  z-index: 0;
}

/* фон на 100vw, строго под всем контентом/картинками секции */
#main-page-statistics-block::before{
  content:"";
  position:absolute; left:50%; top:0; bottom:0;
  width:100vw; transform:translateX(-50%);
  background:#90B37F;
  z-index:-1;
}

/* контент поверх фона и подвижных картинок */
#main-page-statistics-block > *,
#main-page-statistics-block .wpb_column{ position:relative; z-index:2; }

/* заголовки */
#main-page-statistics-block .main-page-block-subheading{
  opacity:.5; text-transform:uppercase; margin-bottom:15px;
}
#main-page-statistics-block h2{
  font-weight:600; font-size:40px; line-height:40px; letter-spacing:1px; margin-bottom:40px;
}

/* цифры + подписи */
#main-page-statistics-block .stat-number{
  font-weight:400; font-size:100px; line-height:1; letter-spacing:-5px;
}
#main-page-statistics-block .counter-suffix{
  display:inline-block; font-weight:300; font-style:italic; font-size:100px; line-height:1; letter-spacing:2.03px;
}
#main-page-statistics-block .stat-text{
  margin-top:20px; font-size:22px; line-height:22px; letter-spacing:.5px; max-width:300px;
}

/* небольшой отступ перед «50 000+» */
#main-page-statistics-block .small-stat{ margin-top:48px; }

/* пунктир у верхнего ряда */
#main-page-statistics-block .stats-row{ position:relative; }
#main-page-statistics-block .stats-row::after{
  content:""; position:absolute; left:0; right:25%; bottom:0;
  border-bottom:2px dotted #363636; z-index:1;
}

/* базовые правила для плавающих изображений */
#main-page-statistics-block .stats-floating img{
  position:absolute; z-index:1;
  pointer-events:none; user-select:none;
  transition: transform .6s ease, opacity .6s ease, top .6s ease;
}

/* 1) гриб слева — вплотную к левому краю окна */
#main-page-statistics-block .stats-img--1 img{
  left: calc(100% - 50vw);
  bottom: 0;
  max-width: 537px;
}

/* 2) лист — старт за пределами секции; далее top правит JS по пунктиру */
#main-page-statistics-block .stats-img--2 img{
  left: 30%;
  top: -420px;                 /* стартовая позиция вне секции */
  max-width: 493px;
  z-index: 1;
}

/* 3) рейши справа — вплотную к правому краю окна */
#main-page-statistics-block .stats-img--3 img{
  right: calc(0% - 50vw);
  top: -520px;
  max-width: 360px;
}

/* стартовые состояния для «въезда», если добавлен .animate-on-scroll */
#main-page-statistics-block.animate-on-scroll:not(.animation-visible) .stats-img--1 img{ transform: translate(-60%,30%); opacity:0; }
#main-page-statistics-block.animate-on-scroll:not(.animation-visible) .stats-img--3 img{ transform: translate(60%,0);   opacity:0; }
#main-page-statistics-block.animate-on-scroll:not(.animation-visible) .stats-img--2 img{ transform: translateX(-40px);  opacity:0; }

/* element-divider (если используется отдельным блоком) */
#main-page-statistics-block .stats-divider{
  position: relative; z-index: 2;
  height: 0; width: 75%;
  border-bottom: 2px dotted #363636;
  margin-top: 12px;
  pointer-events: none;
}

/* мобилка */
@media (max-width: 768px){
  #main-page-statistics-block{ padding:0px 0 0px; }
  #main-page-statistics-block h2{ font-size:22px; line-height:26px; letter-spacing:.5px; margin-bottom:10px; }
  #main-page-statistics-block .main-page-block-subheading{ font-size:14px; margin-bottom:9px; }
  #main-page-statistics-block .stat-number{ font-size:60px; letter-spacing:-2px; }
  #main-page-statistics-block .counter-suffix{ font-size:60px; }
  #main-page-statistics-block .stat-text{ font-size:16px; line-height:20px; max-width:none; }

  /* на мобиле показываем только правый гриб, пунктир убираем 
  #main-page-statistics-block .stats-img--1{ display:none; } */
  #main-page-statistics-block .stats-img--1 img{ left: calc(100% - 100vw); bottom: 0; max-width: 427px;}
  #main-page-statistics-block .stats-img--2 img{ left: 10%;top:-380px;max-width:293px;z-index: 1;}
  #main-page-statistics-block .stats-img--3 img{ right:auto; max-width:272px !important; top: -650px;}
  #main-page-statistics-block .stats-row::after{ display:none; }
}



/* =========================
   REVIEWS / ОТЗЫВЫ (карусель)
   ========================= */

#main-page-reviews-block{
  position:relative;
  padding:60px 0 80px;
}
#main-page-reviews-block h2{
  font-weight:600; font-size:40px; line-height:40px; letter-spacing:1px;
  margin:0 0 30px; color:#23342A; text-align:left;
}

/* заголовок + стрелки в одной линии (стрелки добавляет JS) */
#main-page-reviews-block .reviews-header{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  margin-bottom:30px;
}
#main-page-reviews-block .reviews-header h2{ margin:0; }
#main-page-reviews-block .reviews-header .reviews-nav{ position:static; display:flex; gap:10px; }

#main-page-reviews-block .reviews-btn{
  width:36px; height:36px; border-radius:10px; border:none; cursor:pointer;
  background:#B0A049; color:#fff; font-size:18px; line-height:36px; text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
#main-page-reviews-block .reviews-btn:disabled{ opacity:.4; cursor:default; }

/* горизонтальный скроллер из WPBakery-обёртки */
#main-page-reviews-wrap .vc_column-inner > .wpb_wrapper{
  --rv-gap:24px;
  display:flex; gap:var(--rv-gap);
  overflow-x:auto; overflow-y:visible;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding-bottom:10px;
}
#main-page-reviews-wrap .vc_column-inner > .wpb_wrapper::-webkit-scrollbar{ display:none; }

/* карточка */
#main-page-reviews-wrap .review-item-wrap{
  flex: 0 0 calc((100% - 3 * var(--rv-gap)) / 4); /* 4 на десктопе */
  scroll-snap-align:start;
  background:#F2F3F3;
  border-radius:16px;
  padding:16px;
  height:550px;
  position:relative;
  overflow:hidden;
  transition:box-shadow .25s ease, transform .25s ease, opacity .45s ease;
  opacity:0; transform:translateY(12px);           /* появление (JS снимет) */
  padding-bottom:100px;                             /* запас под кнопку */
}
#main-page-reviews-wrap .review-item-wrap:hover{
  box-shadow:0 8px 26px rgba(0,0,0,.08); transform:translateY(0);
}

/* внутренняя колонка */
#main-page-reviews-wrap .review-item-wrap > .wpb_wrapper{
  display:flex; flex-direction:column; height:100%;
}

/* превью товара */
#main-page-reviews-wrap .review-img-wrap{
  background:#fff; border-radius:9px; padding:12px; margin-bottom:20px; text-align:center;
}
#main-page-reviews-wrap .review-img-wrap img{
  display:block; max-width:193px; height:auto; margin:0 auto;
}

/* тексты */
#main-page-reviews-wrap .review-title{
  color:#3B3939; font-weight:500; font-size:20px; line-height:22px; letter-spacing:.24px; margin:0 0 10px;
}
#main-page-reviews-wrap .review-excerpt{
  color:#718277; font-size:16px; line-height:20px; letter-spacing:.24px; margin:0 0 10px;
}
#main-page-reviews-wrap .review-author{
  color:#718277; opacity:.5; font-size:16px; line-height:20px; letter-spacing:.24px;
  display:block; margin-bottom:14px;
}

/* ссылка «Купить …» */
#main-page-reviews-wrap .product-link{
  position:absolute; left:16px; bottom:20px;
  color:#B0A049; font-size:16px;
  text-decoration:underline; text-underline-offset:3px;
  background:#F2F3F3; padding:0 2px;   /* не «заезжает» на текст */
}

/* адаптив ширины карточек: 3 / 2 */
@media (max-width:1199px){
  #main-page-reviews-wrap .review-item-wrap{
    flex-basis: calc((100% - 2 * var(--rv-gap)) / 3);
  }
}
@media (max-width:768px){
  #main-page-reviews-block{ padding:0px 0 0px; }
  #main-page-reviews-wrap .review-item-wrap{
    flex-basis: calc((100% - 1 * var(--rv-gap)) / 2);
    height:auto;
  }
  #main-page-reviews-block .reviews-header .reviews-btn{
    width:32px; height:32px; border-radius:8px; font-size:16px; line-height:32px;
  }
}

/* ===== Reviews: 1 card per screen on mobile ===== */
@media (max-width: 768px){
  #main-page-reviews-wrap .vc_column-inner > .wpb_wrapper{
    padding-left: 16px;
    padding-right: 16px;
    scroll-padding-left: 16px; /* чтобы снап попадал в начало карточки */
  }

  /* одна карточка в ряд */
  #main-page-reviews-wrap .review-item-wrap{
    flex: 0 0 100%;
    max-width: 100%;
    height: 550px;
  }
}



/* =========================
   SCIENCE / НАУЧНАЯ БАЗА
   ========================= */

#main-page-science-block{
  position: relative;
  background:#23342A;
  padding:0px 0 0px;
  overflow: hidden;
}

/* левый столбец поверх картинки */
#main-page-science-block .vc_column_container:first-child{ position:relative; z-index:1; }

/* заголовок/сабтайтл */
#main-page-science-block .main-page-block-subheading{
  font-weight:400; font-size:18px; line-height:16px; letter-spacing:.4px;
  text-transform:uppercase; color:#F7F5CA80; margin:0 0 15px;
}
#main-page-science-block h2{
  color:#F7F5CA; font-weight:600; font-size:40px; line-height:40px; letter-spacing:1px; margin:0 0 0px;
}

/* список (если делаешь простым HTML) */
#main-page-science-block .science-list{
  list-style:none; margin:0; padding:0;
}
#main-page-science-block .science-list li{
  display:flex; align-items:flex-start; gap:20px; max-width:450px;
}
#main-page-science-block .science-list li:not(:last-child){ margin-bottom:60px; }
#main-page-science-block .science-icon{
  width:48px; height:48px; flex:0 0 48px; display:inline-flex;
}
#main-page-science-block .science-icon img{
  width:48px; height:48px; object-fit:contain; display:block;
}
#main-page-science-block .science-text{
  font-family:"SF Pro Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-weight:600; font-size:20px; line-height:24px; letter-spacing:.24px; color:#C7C484;
}

/* если используешь wd-list — подхватим те же значения */
#main-page-science-block ul.wd-list{ list-style:none; margin:0; padding:0; }
#main-page-science-block ul.wd-list > li{
  display:flex; align-items:flex-start; gap:20px; max-width:450px;
}
#main-page-science-block ul.wd-list > li:not(:last-child){ margin-bottom:60px; }
#main-page-science-block .wd-icon{ width:48px; height:48px; flex:0 0 48px; display:inline-flex; }
#main-page-science-block .wd-icon img{ width:48px; height:48px; object-fit:contain; display:block; }
#main-page-science-block .wd-list-content{
  font-weight:600; font-size:20px; line-height:24px; letter-spacing:.24px; color:#C7C484;
}

/* правая картинка: на десктопе без скруглений и на всю высоту колонки/секции */
#main-page-science-block .science-image-col,
#main-page-science-block .wpb_column.vc_col-sm-6:last-child{ position:relative; }
#main-page-science-block .science-image-col .wpb_single_image,
#main-page-science-block .science-image-col .vc_figure,
#main-page-science-block .science-image-col .vc_single_image-wrapper,
#main-page-science-block .science-image-col .vc_single_image-wrapper img,
#main-page-science-block .wpb_column.vc_col-sm-6:last-child .wpb_single_image,
#main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_figure,
#main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_single_image-wrapper,
#main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_single_image-wrapper img{
  border-radius:0 !important; box-shadow:none !important; overflow:visible !important;
}

@media (min-width:769px){
  #main-page-science-block .science-image-col .vc_column-inner,
  #main-page-science-block .science-image-col .wpb_wrapper,
  #main-page-science-block .science-image-col .wpb_single_image,
  #main-page-science-block .science-image-col .vc_single_image-wrapper,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_column-inner,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .wpb_wrapper,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .wpb_single_image,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_single_image-wrapper{
    height:100%; position:relative;
  }
  #main-page-science-block .science-image-col .vc_single_image-wrapper img,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_single_image-wrapper img{ inset:0;
    width:100%; height:100%;
    object-fit:cover; object-position:center; max-width:none;
  }
}

/* мобилка: картинка над текстом, шириной во вьюпорт */
@media (max-width:768px){
  #main-page-science-block{ padding:0 0 0px; margin-bottom:60px; }
  #main-page-science-block .vc_column_container:first-child{ padding-top:0px; }
  #main-page-science-block .main-page-block-subheading{ color:#fff; opacity:.5; }
  #main-page-science-block h2{ font-size:40px; line-height:38px; margin-bottom:30px; }

  #main-page-science-block .science-list li,
  #main-page-science-block ul.wd-list > li{
    flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:30px;
  }
  #main-page-science-block .science-text,
  #main-page-science-block .wd-list-content{ font-size:16px; line-height:24px; }

  #main-page-science-block .science-image-col .vc_single_image-wrapper img,
  #main-page-science-block .wpb_column.vc_col-sm-6:last-child .vc_single_image-wrapper img{
    position:relative; left:50%; transform:translateX(-50%);
    width:100vw; height:500px; object-fit:cover; object-position:center;
  }
}


/* ===== Категории: фон на всю ширину и сетка карточек ===== */
/* ===== Главная → Категории ===== */

/* Секция */
#main-page-categories-block{
  position: relative;
  padding: 40px 0 80px;
}

/* Заголовок */
#main-page-categories-block h2{
  margin: 0 0 32px;
  color: #F7F5CA;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.05;
  letter-spacing: .5px;
}
@media (max-width:1024px){ #main-page-categories-block h2{ font-size:38px; } }
@media (max-width:768px){
  #main-page-categories-block{ padding:28px 0 56px; }
  #main-page-categories-block h2{ font-size:30px; line-height:1.12; margin-bottom:22px; }
}

/* ===== Сетка карточек: ВКЛЮЧАЕМ GRID (перебиваем flex темы) ===== */
#categories-row{
  --cats-gap: 34px;
  display: grid !important;                         /* критично */
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: var(--cats-gap);
  margin-bottom: 0 !important;                      /* глушим лишние отступы */
}

/* Брэйкпоинты: 5 → 4 → 3 → 2 */
@media (max-width:1280px){
  #categories-row{ --cats-gap:28px; grid-template-columns:repeat(4, minmax(0,1fr)); }
}
@media (max-width:1024px){
  #categories-row{ grid-template-columns:repeat(3, minmax(0,1fr)); }
}
@media (max-width:768px){
  #categories-row{ --cats-gap:16px; grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:420px){
  #categories-row{ --cats-gap:12px; }
}

/* Внутренняя плитка */
#categories-row > .cat-card > .vc_column-inner{
  background:#30382B;
  border-radius:24px;
  padding:15px;
  height:100%;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  transition:transform .2s ease, box-shadow .2s ease;
}
#categories-row > .cat-card:hover > .vc_column-inner{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,0,0,.26);
}

/* Гигиена WPBakery */
#categories-row .cat-card .image{ margin:0 0 14px !important; }
#categories-row .cat-card .title{ margin:0 !important; }
#categories-row .cat-card figure.vc_figure{ margin:0 !important; display:block; }

/* Квадратное окно под картинку */
#categories-row .cat-card .image .vc_single_image-wrapper{
  display:block !important;
  width:100% !important;
  aspect-ratio:1/1;
  border-radius:18px;
  overflow:hidden;
  background:#0E0F0E;
}

/* Картинка заполняет окно без искажений */
#categories-row .cat-card .image .vc_single_image-wrapper picture,
#categories-row .cat-card .image .vc_single_image-wrapper img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  display:block !important;
}
#categories-row .cat-card .image .vc_single_image-wrapper img{
  object-fit:cover !important;
}

/* Фолбэк для старых браузеров без aspect-ratio */
@supports not (aspect-ratio: 1 / 1){
  #categories-row .cat-card .image .vc_single_image-wrapper{ position:relative; padding-top:100%; }
  #categories-row .cat-card .image .vc_single_image-wrapper picture,
  #categories-row .cat-card .image .vc_single_image-wrapper img{
    position:absolute; inset:0; width:100% !important; height:100% !important; object-fit:cover !important;
  }
}

/* Заголовок карточки — сбрасываем «пилюли» темы */
#categories-row .cat-card .title p{
  margin:16px 0 0 !important;
  padding:0 !important;
  display:block !important;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  border-radius:0 !important;

  color:#FFFFFF !important;
  font-weight:700;
  font-size:20px;
  line-height:1.1;
  letter-spacing:.2px;
  text-align:center;
}

/* Чуть компактнее на узких */
@media (max-width:1280px){ #categories-row .cat-card .title p{ font-size:20px; } }
@media (max-width:768px){
  #main-page-categories-block .vc_row.vc_inner {margin: 1px; }
  #categories-row > .cat-card > .vc_column-inner{ padding:14px 14px 18px; border-radius:18px; }
  #categories-row .cat-card .image .vc_single_image-wrapper{ border-radius:14px; }
  #categories-row .cat-card .title p{ font-size:16px; margin-top:12px !important; }
}
@media (max-width:420px){ #categories-row .cat-card .title p{ font-size:14px; } }

/* Убираем возможные нижние отступы, чтобы не было «пустого хвоста» */
#main-page-categories-block .wpb_single_image,
#main-page-categories-block .title,
#main-page-categories-block .category-grid{
  margin-bottom:0 !important;
}

/* ===== Категории: глушим ширину/float от WPBakery (20% у 1/5) ===== */
#categories-row > .vc_column_container[class*="vc_col-sm-1/5"],
#categories-row > .vc_column_container[class*="vc_col-md-1/5"],
#categories-row > .vc_column_container[class*="vc_col-lg-1/5"],
#categories-row > .cat-card{
  width: auto !important;       /* вместо 20% */
  max-width: none !important;
  float: none !important;       /* WPBakery ставит float:left */
  flex: none !important;        /* на всякий случай */
}

/* ====== Категории: убираем пустой просвет сверху и лишние отступы ====== */

/* убираем верхний паддинг/маржин у блока и внутреннего ряда */
#main-page-categories-block{
  padding-top: 0 !important;              /* если нужен небольшой отступ — поставь, например, 14px */
}
#main-page-categories-block .category-grid{
  margin-top: 0 !important;
}

/* WPBakery обычно даёт внутренним элементам большой margin-bottom.
   Обнуляем внутри карточек, чтобы не набегал вертикальный зазор */
#categories-row .wpb_single_image,
#categories-row .wpb_text_column,
#categories-row .wpb_content_element,
#categories-row .wpb_wrapper > *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* у самих колонок тоже не должно быть «хвоста» снизу */
#categories-row > .vc_column_container{
  margin-bottom: 0 !important;
}

/* на некоторых сборках у .vc_row/.vc_section есть общий внешний отступ сверху —
   принудительно убираем его только для этого блока */
#main-page-categories-block .vc_row.vc_inner{
  padding-top: 0 !important;
}

/* ====== Категории: фикс ширины колонок от WPBakery (20% у 1/5) ====== */
#categories-row > .vc_column_container[class*="vc_col-sm-1/5"],
#categories-row > .vc_column_container[class*="vc_col-md-1/5"],
#categories-row > .vc_column_container[class*="vc_col-lg-1/5"]{
  width: auto !important;
  max-width: none !important;
  float: none !important;
}

/* оставляем управление раскладкой за гридом (если уже используешь мои правила грида) */
#categories-row{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 34px;
  row-gap: 28px;
}
@media (max-width: 1280px){
  #categories-row{ grid-template-columns: repeat(4, minmax(0,1fr)); column-gap:28px; }
}
@media (max-width: 1024px){
  #categories-row{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 768px){
  #categories-row{ grid-template-columns: repeat(2, minmax(0,1fr)); column-gap:16px; row-gap:16px; }
}

/* Блок категорий: убираем служебные псевдо-элементы VC,
   чтобы они не занимали ячейки грида */
#categories-row::before,
#categories-row::after{
  content: none !important;
  display: none !important;
}

#categories-row{
  margin-top: 0 !important;
}

/* ==== Научная база (правое фото = cover на всю колонку) ==== */
#main-page-science-block{
  position: relative;
  overflow: hidden;                 /* чтобы не было просветов/вылезаний */
}

/* Правая колонка: убираем паддинги и даём ей роль "рамки" для фото */
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child{
  position: relative;
}
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child .vc_column-inner{
  height: 100%;
  padding: 0 !important;
}

/* Вся цепочка обёрток должна растягиваться на 100% */
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child .wpb_wrapper,
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child .wpb_single_image,
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child .vc_single_image-wrapper{
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden; /* чтобы не было скроллов/углов */
}

/* Само изображение — абсолютом, cover по всей колонке */
#main-page-science-block .vc_column_container.vc_col-sm-6:last-child .vc_single_image-wrapper img{
  position: absolute;
  inset: 0;                 /* top:0; right:0; bottom:0; left:0 */
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;  /* можно поменять на left/center/right по вкусу */
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* На всякий случай: убираем скругления/тени, если тема добавляет */
#main-page-science-block .wpb_single_image .vc_figure,
#main-page-science-block .wpb_single_image .vc_single_image-wrapper{
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Минимальная высота секции (чтобы слева текст не "сжимал" фото) */
@media (min-width: 992px){
  #main-page-science-block{ min-height: 560px; }
}
/* Мобилка: фото сверху, на всю ширину экрана */
@media (max-width: 768px){
  #main-page-science-block .vc_column_container.vc_col-sm-6:last-child .vc_single_image-wrapper img{
    position: relative;
    width: 100vw;             /* растянем к краям экрана */
    height: 420px;            /* комфортная высота в блоке */
    left: 50%;
    transform: translateX(-50%); /* центрируем относительно вьюпорта */
  }
}
