/*
  ADAPTIVE.CSS
  Подключать <link> ПОСЛЕ основного style.css — правила ниже переопределяют
  фиксированные ширины через порядок каскада (без !important, кроме тех мест,
  где !important уже стоит в оригинале).

  ВАЖНО, что этот файл сам по себе НЕ решает:
  1) Нужен <meta name="viewport" content="width=device-width, initial-scale=1">
     в <head> — без него медиа-запросы браузер на телефоне просто проигнорирует
     (страница будет рендериться и зумиться как десктопная).
  2) Выпадающее меню .top_menu .sub_menu держится на :hover — на тач-устройствах
     оно физически не откроется. Здесь оно на мобильном скрыто совсем; чтобы
     разделы были доступны, нужен JS: по тапу на .main_item вешать класс,
     например .sub_menu_opened, и добавить правило
     .header_after .top_menu > li.sub_menu_opened > .sub_menu { display: block; }
  3) Слайдеры на bxSlider (.main_slider, .items_slider, .detail_gallery_slider,
     .thumbnails-wrap) считают ширины через JS при инициализации. Проверь опции
     плагина (auto/slideWidth) и вызови resize/reloadSlider на смену ориентации,
     иначе слайды "поедут" при пересчёте по этим медиа-запросам.
*/

/* ===== 0. Базовые правила ===== */
img, table, iframe, video {
  max-width: 100%;
  height: auto;
}

.grecaptcha-badge {
	display: none;
}

/* ===== 1. Контейнеры 1000px -> резиновые =====
   Работает без медиа-запроса: на десктопе (>1000px) ничего визуально не меняется
   (max-width всё так же 1000), а ниже 1000 контейнер просто сжимается вместе
   с окном вместо горизонтального скролла. */
.header_inner,
.header_after_inner,
.main_page_news .section_header,
.main_page_news .items,
.main_items_slider,
.content_inner,
.footer_inner,
.footer_info,
.main_support_inner,
.main_page_catalog-download {
  width: 100%;
  max-width: 1000px;
}


.button_order_outer {
	width: 190px;}
	
	
.header-line {
	display: inline;
}

.icon.mail {
	background: url(../img/phone.svg) center no-repeat;
	background-size: cover;
	width: 18px;
    height: 24px;
}


.modal {
	z-index: 100000000;
}

.wrapper {
	min-width: 340px;
}


.column-news__text img {
	max-width: 100% !important;
	width: 100% !important;
}

.column-news__text figure {
		max-width: 100% !important;
	width: 100% !important;
}




  .b-catalog-block {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 20px;
}

.b-catalog-block .good {
  display: flex;
  flex-direction: column;
  height: auto; /* сбросить возможный float/inline-block из оригинала */
}

.b-catalog-block .good .description {
  flex: 1; /* растягивает описание, чтобы кнопка всегда внизу */
}

.b-catalog-block .good .new_request {
  margin-top: auto;
}

.header_links li .header_button {
	display: flex;
    align-items: center;
}
.icon.mail {
	top:-1px;
}


@media (max-width: 1280px) {

	.faq-answer {
		overflow: hidden;
	}
	
	.b-vacancies-contact__grptitle {
		white-space: pre-wrap !important;
	}

}
  

/* ===================== ПЛАНШЕТ ≤ 1024px ===================== */
@media (max-width: 1024px) {
	
	
	.header_links  {
		top: 0;
	}
	
	.header_links li .header_button {
		height: initial;
	}
	
	
	.main_support_inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 15px;
		padding-top: 8px;
	}
	
	.main_support_inner .item:nth-child(odd) {
		margin-right: 0;
	}
	
	.top_menu {
		display:none;
	}
	
	.top_menu.mm-menu {
		display:block;
	}
	
	.header_outer {
		height: auto;
	}
	
	
	.main_slider .slide_image {
		background-position: center;
		background-size: contain;
	}

  .e-base-tabs__header,
  .b-knowledge-base,
  .b-catalog-table {
    width: 100%;
  }

  .e-contact__map {
    width: 100%;
    height: auto;
    margin-left: 0;
  }
  .e-contact__map > div {
    width: 100%;
  }
  
  .main_page_catalog-download {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
  }
  
  .main_page_catalog-download button {
	  margin-right: 0;
  }
  
  
  .main_support_inner .item {
	  float: none;
	  display: block;
	  text-align: center;
  }
  
  
  .main_page_news {
    margin-bottom: 32px;
    padding-top: 10px;
    background: #f2f2f2;
}

	.header-line {
		display: flex;
		justify-content: space-between;
	}
	
	.heder_top_phone {
		text-align: left;
	}
	
	
	._phone {
		font-size: 16pt;
	}
	
	._code {
		font-size: 13pt;
	}
	
	.header_links li a {
		padding: 3px;
		height: initial;
	}
	
	.header_links li a.header_button_white {
		margin-right: 20px;
		padding: 3px 13px;
	}
	
	.heder_phone {
    width: 205px;}
	
	
	.heder_phone:hover .hidden_phone {
		display: block;
		text-align: left;
	}
  
  
	.content_inner .b-content-column .active .section .text:after {
		bottom: 22px;
	}
	
	
	
	.l-pressroom__top {
		margin-bottom: 40px;
	}
	
	.l-pressroom__left {
		margin-bottom: 40px;
	}
	
	.news_list .item {
		padding: 25px 0px;
	}
	
	.news_list .item .date {
		width: 100px;
	}
	
	.news_list .item .content {
    padding-left: 100px;
}

	.news-archive .form_box {
    width: 240px;
    margin-left: 0px;
	}	
	
	.news_list .item {
		margin-top: 0;
	}
	
	
	/*
	.bx-wrapper {
		width: calc(100% - 140px);
	}*/
	
	.bx-controls {
		display: none;
	}
	
	.bx-wrapper {
		width: 100%;
		max-width: 100% !important;
	}
	
	.header-line {
		padding-right: 50px;
	}
	
	.main_support_outer { height: auto; margin-bottom: 0; }
	
	.main_support_inner .item {
    width: 48%;
    margin-left: 0;
    margin-bottom: 8px;
   display: flex;
  } 
  
  
  
  .solutions_outer .link_col {
	width: 50%;
  }
  
  
  .link_col {
	width: 100%;
  }
  
  .link_col .link_catalog {
    width: 50%;
    float: left;
  }
  
  
  
  
  
  
  
  

  
  
  .content_inner {
    display: flex;
    flex-wrap: wrap;

  }
  
  .content_inner .content_text { order: 1; display: flex;
        flex-direction: column; }
  .content_inner .b-content-column_left,
  .content_inner .b-content-column_right { order: 2; }
  
  
  .content_inner .b-content-column_left {
    width: 100%;
    padding-right: 0px;
    margin-top: 6px;
    float: left;
}
  
 .content_inner .b-content-column .content_block_menu li {
	 width: 50%;
	 float: left;
 }
  
  .faq-answer {
    overflow: hidden;
}


.main_slider {
	top: 10px;
	height: 320px;
}

.main_slider li {
    height: auto;
    min-height: 300px;
	
	display: flex;
    flex-direction: column;
        align-items: center;
}

    .main_slider .slide_image {
        position: relative;
        height: 245px;
    }
  
    
  .main_slider .slide_button {
	display: inline-block;
	  font: normal 16px / 40px 'PT Sans Bold';
	  padding: 0 3px;
	  position: relative;
	  width: 190px;
	  text-align: center;
	  margin: 10px 0 10px 0px;
	  height: 40px;
	  bottom: 0;
  }
  
  
  
}





/* ===================== ПЛАНШЕТ / МОБИЛЬНЫЙ ≤ 768px ===================== */
@media (max-width: 768px) {
	
	

	
	.header-line {
		padding-right: 0px;
	}

  body { font-size: 13px; }

  /* --- шапка --- */
  .header_inner {
    padding: 0 12px;
	width: 100%;
  }
  .header_logo {
    width: 180px;
    height: 30px;
  }
  .header_choose_lang,
  .search_input,
  .heder_phone,
  .topbar-flags {
    
  }
  
  .topbar-flags {
	  margin-top: 3px;
  }
  
  .header_links {
    float: none;
    text-align: right;
	top: 0;
	display: flex;
    justify-content: center;
	margin-bottom: 10px;
  }
  
  .header_links li {
	  float: none;
  }


	.search_input {
		border-radius: 3px;
		width: 100%;
	}
	
	.search_input input[type='text'] {
		width: 100%;
	}

  /* --- главное меню --- */
  .header_after_inner {
    padding: 0 12px;
  }
  .header_after .top_menu {
    float: none;
  }
  .header_after .top_menu > li {
    float: none;
    display: inline-block;
    margin: 0 4px 4px 0;
    left: 0;
  }
  .header_after .top_menu .sub_menu {
    position: static;
    display: none;
  }
  .header_after .top_menu .sub_menu .col {
    display: block;
    min-width: 0;
    border-left: 0;
  }

  /* --- главный слайдер --- */
  
  .main_slider {
	  top: 7px;
  }
  .main_slider,
  .main_slider li {
    height: auto;
    min-height: 370px;
	
	display: flex;
    flex-direction: column;
        align-items: center;
  }
  
  .main_slider .slide_image {
	  position: relative;
	  height: 370px;
  }
  
  
  .main_slider .slide_button {
	  font: normal 16px / 40px 'PT Sans Bold';
	  padding: 0 3px;
	  position: relative;
	  width: 190px;
	  text-align: center;
	  margin: 10px 0 10px 0px;
	  height: 40px;
	  bottom: 0;
  }
  
  .main_slider .slide_name {
    font: normal 40px/44px 'PT Sans Bold';
  }
  .main_slider .slide_item {
    font: normal 20px/28px 'Uni Sans';
    margin-top: 20px;
  }
  .main_slider .left {
    max-width: 100%;
  }
  .main_slider .controls {
    display: none; /* на тач и так свайп, стрелки только занимают место */
  }

  /* --- новости на главной --- */
  .main_page_news .items li {
    width: 50%;
  }

  /* --- три колонки внутренней страницы (сайдбар + контент + сайдбар) ---
     Делаем content_inner флекс-контейнером: колонки становятся 100%-ной
     ширины (стекуются друг под друга), а через order можно визуально
     поставить content_text первым без правки разметки. */
  
  .content_inner .b-content-column_left,
  .content_inner .b-content-column_right,
  .content_inner .content_text {
    width: 100%;
    max-width: 100%;
    float: none;
    padding: 40px 0 24px;
    margin: 0;
    border: 0;
  }
  .content_inner .content_text { order: 1; display: flex;
        flex-direction: column; }
  .content_inner .b-content-column_left,
  .content_inner .b-content-column_right { order: 2; }

  /* --- карточки товаров --- */
  .item_list .good {
    
    margin: 0 1% 16px;
  }
  
  
  .content_inner .b-content-column .point_icon {
	  flex-shrink: 0;
  }

  /* --- таблица характеристик в каталоге --- */
  .b-catalog-table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  /* --- три плашки поддержки на главной --- */
  .main_support_outer { height: auto; margin-bottom: 0; }
  

  /* --- футер --- */
  .footer_inner .footer_menu_col {
    width: 50%;
    margin-bottom: 20px;
  }
  .footer_info .contact {
    float: none;
	display: flex;
        flex-direction: column;
  }
  .footer_info .copyright {
    display: block;
  }

  /* --- страница контактов --- */
  .e-contact__info,
  .e-contact__button {
    width: 100%;
    position: static;
  }
  .e-contact__group-name {
    width: 140px;
    padding-left: 0;
  }

  /* --- модальные окна --- */
  .modal,
  .modal.message,
  .modal.message._short,
  .modal._short {
    min-width: 0;
    width: 90%;
    left: 5%;
    margin-left: 0;
    padding: 24px 16px;
  }
  .e-modal__inputs,
  .e-modal__description {
    width: 100%;
    float: none;
  }
  .e-modal__inputs {
	  margin-bottom: 15px;
  }
  .modal input[type="text"],
  .modal input[type="email"],
  .modal input[type="tel"],
  .modal select,
  .modal textarea {
    width: 100%;
  }

  /* --- галерея товара (bxSlider) --- */
  .thumbnails-wrap .bx-viewport {
    width: 100% !important;
  }

  /* --- FAQ --- */
  .faq-menu-col-2 {
    width: 100%;
    display: block;
  }
  
  
  .content_text .h1 {
	  display: flex;
    flex-direction: column;
  }
  
  .h1__r {
    margin-top: 15px
  }
  
  .e-base-tabs__header {
	  display: flex;
  }
  
  .e-knowledge-base-help__input {
	  font: normal 13px / 48px 'PT Sans';
  }
  
  
  .e-base-tabs__tab {
	  margin-left: 41px;
	      font: normal 18px / 10px 'PT Sans Bold';
  }
  
  .e-base-tabs__icon_kbase, .e-base-tabs__icon_dcenter {
    width: 60px;
	height: 60px;
    background-size: contain;
	margin-bottom: 5px;
}

e-base-tabs__tab_active:before {
    width: 100%;
}

.e-base-tabs__tab:before {
    content: '';
	width: 100%;
}

.e-base-tabs__tab {
	width: 140px;
}

.e-knowledge-base__title {
    float: left;
    max-width: 390px;
    margin-bottom: 15px;
}


.e-modal__close {
    width: 30px;
    height: 30px;
	background-size: cover;
}

.modal.support {
	padding: 40px 16px 24px 16px;
}
  
  
  .modal.support  .submit {
	  position: relative;
	  float: none;
	  bottom: 0px;
    right: 0px;
  }
  
  .b-knowledge-base__column {
  width: 100%;
  }
  
  .b-knowledge-base {
	  order: 1;
  }
  
  .b-knowledge-base__column_right {
	  order: 2;
  }
  
  .e-knowledge-base__select {
	width: 100%;
	margin-bottom: 10px;
	margin-left: 0px;
  }
  
  
  .e-knowledge-base__aqlist {
	  padding-left: 0;
  }
  
  
      .content_inner .b-content-column .content_block_menu ul.submenu li {
        width: 100%;
        float: left;
    }
  
  
  
  .doc_block {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    left: 0px;
  }
  
.button_order_outer {
	width: 100%;
}
  
  
.baloon {
	display: none;
}

.content_inner .content_text.left_border {
	width: 100%;
	padding-left: 0;
}

.e-modal__name {
	margin-bottom: 20px;
}

.modal.subscribe .submit {
	margin-top: 0px;
	right: initial;
	position: relative;
	bottom: 0;
	width: 100%;
}


.faq-answer {
    overflow: hidden;
}
  
 .faq-block pre {
	     white-space: normal;
 }
  
  
  
  .e-metka {
	  height: auto;
  }
  
  .e-contact__info {
	  padding: 31px 0 17px;
  }
  
  .e-contact__content {
    letter-spacing: 0;
    display: flex;
    flex-direction: column;
}




.link_col .link_catalog .section:has(~ .item) {
	margin-bottom: 20px;
}
  
  .content_inner .b-content-column .section {
	  display: flex;
  }
  
	  .category_item_list {
		margin-top: 10px;
	}
	
	
	.definition__description {
		overflow: hidden;
	}
	
	
	.b-content-column.b-content-column_right {
		display: flex;
		flex-wrap: wrap;
	}
	
	.b-content-column.b-content-column_right > :first-child {
		flex-basis: 100%;
	}

	.b-content-column.b-content-column_right .good {
    width: 50%;
	}
	
	.content_text.left_border {
		height: auto !important;
		min-height: auto !important;
	}
	
	.e-pressroom__title {
		margin-bottom: 20px;
	}
	
	.news-archive .years {
		margin-bottom: 20px;
	}
	
	.news-archive .form_box {
		margin-bottom: 20px;
	}
	
	.news-archive .form_box {
		margin-top: 0;
	}
	
	
	.header_button_text {
		display: none;
	}
	
	.icon.mail {
		margin-right: 0;
	}
	
	.icon.support {
		margin-right: 0;
	}
	
	.header_links li {
		margin-left: 20px;
	}
	
	.header_links li a.header_button_white {
		padding: 2px 12px;
	}
	
	.heder_phone {
		width: 202px;
	}
	
	.header_links li .header_button {
		width: initial;
		padding: 4px 12px;
	}
  
}

/* ===================== ТЕЛЕФОН ≤ 480px ===================== */
@media (max-width: 480px) {
	
	
		.link_col .link_catalog {
		width: 100%;
		float: left;
	  }
	

  h1, .h1 { font: normal 20px/24px 'PT Sans Narrow Bold'; }
  h2 { font: normal 20px/24px 'PT Sans Narrow Bold'; }

  .main_page_news .items li {
    width: 100%;
  }
  .main_page_news .items li:before { border: 0; }

  .item_list .good {
    width: 100%;
    margin: 0 0 16px;
  }

  .main_support_inner .item {
    width: 100%;
    margin-right: 0 !important;
  }

  .footer_inner .footer_menu_col {
    width: 100%;
  }

  .footer_info .contact > span {
    display: block;
    border-left: 0;
    padding: 8px 0;
  }

  /* остальные блоки на %-ширине (детальные/второстепенные страницы) —
     тот же приём: на телефоне просто убираем float и делаем 100% */
  .link_col,
  .category_item_list .item,
  .e-mediakit,
  .e-demo-list,
  .e-dealers,
  .l-pressroom__left,
  .l-pressroom__right {
    width: 100%;
    float: none;
    padding-right: 0;
  }

  .e-dealers__logo {
    float: none;
    margin-bottom: 12px;
  }
  .e-dealers__info {
    margin-left: 0;
  }
}