/*
Theme Name: hansunrus
Author: paluba
Author URI: https://paluba.media
Description: Тема для сайта hansunrus
*/

@charset "UTF-8";


.slick-prev:before,
.slick-next:before {
	display: none;
}

:root {
	--Y1: #FFF794;
	--Y2: #FFF100;
	--Y3: #F39800;
	
	--B1: #3BA1D5;
	--B2: #007AC3;
	--B3: #0055A7;
	--B4: #1A345A;

	--black: #000;
	--white: #FFF;
	--gray: #BDBDBD;
	--yellow: #F39800;
	
	--background: #EFEFEF;
	--background-gray: #DDDDDD;
	
	/* вторичный текст на светлом фоне: 4,6:1 к --background */
	--text-muted: #6B6B6B;
}

img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

h1,
h2,
h3,
h4,
li,
p,
a,
ul {
	padding: 0;
	margin: 0;
}


html {
	font-size: 93.75%;
}

body {
	background: var(--background);
	display: flex;
    flex-direction: column;
    min-height: 100vh;
	font-family: 'Roboto', sans-serif;
}

h1 {
	color: var(--B4);
	font-weight: 700;
	font-size: clamp(1.75rem, 1.2rem + 2.4vw, 3rem);
	line-height: 1.2;
}

h2 {
	color: var(--B4);
	font-weight: 700;
	font-size: clamp(1.6rem, 1.15rem + 1.9vw, 2.4rem);
	line-height: 1.2;
}

h3 {
	color: var(--black);
	font-weight: 700;
	font-size: clamp(1.3rem, 1.05rem + 1vw, 1.7rem);
	line-height: 1.25;
}

.lid {
	color: var(--black);
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.5rem;
}

.nav {
	color: var(--black);
	font-weight: 500;
	font-size: 1.3rem;
	line-height: 1.6rem;
}

p {
	color: var(--black);
	font-weight: 300;
	font-size: 1.1rem;
    line-height: 1.35rem;
}

.bold700 {
	font-weight: 700;
}

.count {
	color: var(--B4);
	font-weight: 700;
	font-size: clamp(2.75rem, 2rem + 3vw, 4rem);
	line-height: 1.2;
}

.fs1_07 p {
	font-size: 1.07rem;
	line-height: 1.3rem;
}

.mt0_33 {
	margin-top: 0.333333rem;
}

.mt0_66 {
	margin-top: 0.666666rem;
}

.mt1 {
	margin-top: 1rem;
}

.mt1_33 {
	margin-top: 1.333333rem;
}

.mt2 {
	margin-top: 2rem;
}

.mt2_33 {
	margin-top: 2.333333rem;
}

.mt3 {
	margin-top: 3rem;
}

.mt4 {
	margin-top: 4rem;
}

.mt5 {
	margin-top: 5rem;
}

.mb5 {
	margin-bottom: 5rem;
}

.pt2 {
	padding-top: 2rem;
}

.pt4 {
	padding-top: 4rem;
}

.pt5 {
	padding-top: 5rem;
}

.pb2 {
	padding-bottom: 2rem;
}

.pb2_6 {
	padding-bottom: 2.666666rem;
}

.pb4 {
	padding-bottom: 4rem;
}

.pb5 {
	padding-bottom: 5rem;
}

@media (min-width: 992px) {
	.container.container_small {
		max-width: 885px;
	}
}

@media (min-width: 1400px) {
	.container {
		max-width: 1310px;
	}
}

.row,
.container {
    --bs-gutter-x: 2rem;
}

.blue_block {
	background-color: var(--B4);
}

header .first_line section {
    margin: 1rem 0;
}

header .first_line section div {
	display: flex;
	align-items: center;
	gap: 4rem;
}

header .first_line section div a {
	color: var(--white);
	font-size: 1rem;
	line-height: 1.2rem;
	font-weight: 500;
	text-decoration: none;
}

header .first_line section div a:hover {
	color: var(--yellow);
}

header .first_line section div a svg {
	margin-right: 1rem;
}

.navbar-toggler {
	display: none;
}

.navbar-toggler svg rect {
	transform-box: view-box;
	transform-origin: 16px 13.5px;
	transition: transform 0.2s, opacity 0.2s;
}

.navbar-toggler[aria-expanded="true"] svg rect:nth-child(1) {
	transform: rotate(45deg) translateY(9.85px);
}

.navbar-toggler[aria-expanded="true"] svg rect:nth-child(2) {
	opacity: 0;
}

.navbar-toggler[aria-expanded="true"] svg rect:nth-child(3) {
	transform: rotate(-45deg) translateY(-9.85px);
}

@media (min-width: 992px) {
	#navbarMenu.collapse:not(.show) {
		display: block;
	}
}

.header_menu {
	margin: 2rem 0;
}

.header_menu section {
	display: flex;
    align-items: center;
}

.header_menu .navbar {
	margin-left: 10rem;
}

.header_menu .navbar a {
	color: var(--B4);
	font-weight: 700;
	line-height: 1.6rem;
	text-decoration: none;
}

.header_menu .navbar a:hover,
.header_menu .navbar .current_page_item a,
.header_menu .navbar .current-menu-item a,
.header_menu .navbar .current_page_parent a {
	color: var(--yellow);
}

.header_menu .navbar .nav {
	display: flex;
	gap: 2.7rem;
	flex-direction: row;
    align-items: center;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.header_menu .navbar {
		margin-left: 2.5rem;
	}

	.header_menu .navbar .nav {
		gap: 1.6rem;
		flex-wrap: nowrap;
	}
}

.header_menu img {
	max-width: 300px;
}

.contacts_column img {
	max-width: min(300px, 100%);
}

.front_page_slide {
	background-color: var(--B4);
	background-image: url('/wp-content/uploads/2024/04/slide-min.png');
	/* WebP 148 КБ вместо PNG 685 КБ; браузеры без type() в image-set берут PNG из строки выше */
	background-image: image-set(url('images/front-slide.webp') type('image/webp'), url('/wp-content/uploads/2024/04/slide-min.png') type('image/png'));
	background-size: cover;
	min-height: 33.3rem;
	min-height: min(33.3rem, calc(100svh - 56px));
	display: flex;
    align-items: end;
	padding-top: 4rem;
    padding-bottom: 5rem;
}

.separator {
	background: var(--Y3);
	height: 0.66rem;
	margin: 0.66rem 0;
}

.front_page_slide p,
.front_page_slide h1 {
	color: var(--white);
}

.front_page_slide section {
	max-width: 53.1rem;
}

.button {
	border: 2px solid var(--Y3);
	padding: 0.66rem 3.33rem;
	display: block;
    width: fit-content;
	background: none;
	text-decoration: none;
	color: var(--B4);
	font-size: 1.2rem;
	line-height: 1.45rem;
	font-weight: 500;
}

.button:hover {
	border: 2px solid var(--B4);
	color: var(--white);
	background: var(--B4);
}

.footer_company_info {
	background: var(--B2);
	padding: 1.33rem;
	color: var(--white);
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.45rem;
	text-align: center;
}

.footer_legal {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 2rem;
	margin-top: 0.66rem;
	font-size: 1rem;
	line-height: 1.2rem;
	font-weight: 400;
}

/* поля по вертикали — цель для пальца не меньше 24px; жёлтый при наведении на голубом фоне не читается */
.footer_legal a {
	display: inline-block;
	padding-block: 0.3rem;
	color: var(--white);
}

.footer_legal a:hover {
	text-decoration: none;
}

/* sticky, а не fixed: пока страница прокручивается, баннер прижат к низу окна, а в конце встаёт под подвал
   и ничего не закрывает. 1010 — ниже липкой шапки (1020): открытое мобильное меню перекрывает баннер */
.cookie_notice {
	position: sticky;
	bottom: 0;
	z-index: 1010;
	display: flex;
	max-height: 50vh;
	background: var(--white);
	box-shadow: 0 -12px 24px rgba(26, 52, 90, 0.2);
}

.cookie_notice .container {
	display: flex;
	align-items: center;
	gap: 1rem 2rem;
	padding-block: 1.33rem;
}

/* Высоты не хватает (телефон боком, увеличение 300–400%) — прокручивается только текст, «Принять» остаётся на виду.
   Поля 0.4rem с отрицательным отступом — место под рамку фокуса ссылок, иначе край прокрутки её обрежет */
.cookie_notice p {
	max-height: calc(100% + 0.8rem);
	overflow-y: auto;
	padding: 0.4rem;
	margin: -0.4rem;
	font-size: 1rem;
	line-height: 1.35;
}

.cookie_notice a {
	color: var(--B4);
}

.cookie_notice a:hover {
	color: var(--yellow);
}

.cookie_notice .button {
	flex: none;
}

/* В режиме высокой контрастности тень и фон баннера не видны: верхнюю границу показывает рамка */
@media (forced-colors: active) {
	.cookie_notice {
		border-top: 1px solid CanvasText;
	}
}

.blue_block h1,
.blue_block h2 {
	color: var(--white);
}

.blue_block h3 {
	color: var(--Y3);
}

.count_block,
.count_block .count {
	color: var(--white);
}

.count_block .row {
	display: flex;
    align-items: center;
}

.count_holder {
	display: flex;
	gap: 6.2rem;
    justify-content: end;
	font-size: 1.2rem;
	line-height: 1.45rem;
}

.count_holder span {
	display: block;
}

.count_holder > div {
	min-width: 17.4rem;
}

.slider,
.certs_slider {
	margin-left: -1rem;
    margin-right: -1rem;
}

.slider .slide,
.certs_slider .slide {
	padding: 0 1rem;
}

.slider .slide p,
.certs_slider .slide p {
	color: var(--Y3);
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.93rem;
}

.slider .slide p + p,
.certs_slider .slide p + p {
	color: var(--B4);
	font-weight: 500;
	font-size: 1.33rem;
	line-height: 1.6rem;
}

.certs_slider a {
	text-decoration: none;
}

.certs_slider .slide img {
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: contain;
	background: var(--white);
}

.certs_slider .slide > a {
	display: block;
}

/* рамка для увеличения при наведении, как у картинок каталога и новостей */
.certs_image {
	display: block;
	overflow: hidden;
}

.certs_image img {
	display: block;
}

.certs_slider .slide > a:focus-visible,
.slick-slide:focus-visible {
	outline: 3px solid var(--B2);
	outline-offset: -3px;
}

/* Точки слайдера на телефоне — под слайдами, а не поверх */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-dots {
	position: static;
	margin-top: 1rem;
}

.slick-dots li button:before {
	font-size: 10px;
	color: var(--B4);
}

.slick-dots li.slick-active button:before {
	color: var(--Y3);
	opacity: 1;
}

footer {
	background: var(--B4);
	margin-top: auto;
}

.equipment_carts div {
	text-decoration: none;
	position: relative;
}

.equipment_carts span {
	transition: background-color 0.2s;
}

@media (hover: hover) {
	.equipment_carts a:hover span {
		background: var(--B2);
	}
}

.equipment_carts span {
	background: var(--Y3);
    padding: 2rem;
    color: var(--white);
    display: flex;
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-right: calc(var(--bs-gutter-x)* .5);
    margin-left: calc(var(--bs-gutter-x)* .5);
	font-weight: 700;
	font-size: 1.47rem;
	line-height: 1.78rem;
	min-height: 7.6rem;
    align-items: center;
}

/* «Вспомогательное» не помещалось в оранжевую плашку плитки на главной */
@media (min-width: 992px) and (max-width: 1199.98px) {
	.equipment_carts span {
		padding: 1.33rem;
		font-size: 1.27rem;
		min-height: 8rem;
	}
}

/* плитки по две в ряд на 576–767: подписи помещаются в две строки, плашки одной высоты */
@media (min-width: 576px) and (max-width: 767.98px) {
	.equipment_carts span {
		padding: 1.33rem;
		font-size: 1.27rem;
		min-height: 6.25rem;
	}
}

footer .contacts_column,
footer .menu_column ul,
footer .terms_column ul {
	list-style: none;
	display: flex;
    flex-direction: column;
    gap: 1.33rem;
}

footer .contacts_column a {
	color: var(--white);
    font-size: 1.2rem;
    line-height: 1.45rem;
    font-weight: 500;
    text-decoration: none;
}

footer .contacts_column a:hover,
footer .menu_column a:hover,
footer .terms_column a:hover {
	color: var(--yellow);
}

footer .contacts_column a svg {
    margin-right: 1rem;
}

footer .menu_column a,
footer .terms_column a {
	color: var(--white);
    font-size: 1.33rem;
    line-height: 1.6rem;
    font-weight: 700;
    text-decoration: none;
}

footer .menu_column ul li,
footer .terms_column ul li,
.activity_block ul li,
.equipment_technical ul li {
	position: relative;
	padding-left: 1.66rem;
}

footer .menu_column ul li::before,
footer .terms_column ul li::before,
.activity_block ul li::before,
.equipment_technical ul li::before {
	position: absolute;
	left: 0;
	top: 0.2em;
}

footer .menu_column ul li::before {
	content: url('data:image/svg+xml; utf8, <svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.968291 5.66234C-0.322764 6.95342 -0.322764 9.04661 0.968291 10.3377L5.16235 14.5317C6.4534 15.8228 8.54661 15.8228 9.83765 14.5317L14.0317 10.3377C15.3228 9.04661 15.3228 6.95342 14.0317 5.66234L9.83765 1.46829C8.54661 0.177235 6.4534 0.177235 5.16235 1.46829L0.968291 5.66234Z" fill="%233BA1D5"/></svg>');
}

footer .terms_column ul li::before {
	content: url('data:image/svg+xml; utf8, <svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.968291 5.66234C-0.322764 6.95342 -0.322764 9.04661 0.968291 10.3377L5.16235 14.5317C6.4534 15.8228 8.54661 15.8228 9.83765 14.5317L14.0317 10.3377C15.3228 9.04661 15.3228 6.95342 14.0317 5.66234L9.83765 1.46829C8.54661 0.177235 6.4534 0.177235 5.16235 1.46829L0.968291 5.66234Z" fill="%23F39800"/></svg>');
}

.slick-prev,
.slick-next {
	top: -3rem;
	width: auto;
	height: auto;
}

.slick-prev {
	left: unset;
	right: 6rem;
}

.slick-next {
	right: calc(var(--bs-gutter-x) * .5);
}

.slick-prev:hover svg path,
.slick-next:hover svg path {
	fill: var(--B4);
}

.slick-prev:hover svg rect,
.slick-next:hover svg rect {
	stroke: var(--B4);
}

.breadcrumbs a,
.breadcrumbs span {
	font-size: 1.07rem;
	line-height: 1.3rem;
	text-decoration: none;
	color: var(--text-muted);
}

.breadcrumbs a {
	display: inline-block;
	padding-block: 0.6rem;
	margin-block: -0.6rem;
}

.blue_block .breadcrumbs a:not(:hover),
.blue_block .breadcrumbs span {
	color: var(--gray);
}

.breadcrumbs a:hover {
	color: var(--yellow);
}

.about_block {
	display: grid;
}

.about_block > * {
	grid-area: 1 / 1;
}

.about_block > picture img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* z-index обязателен: картинка идёт в разметке позже и иначе перекроет текст */
.about_block > div {
	align-self: center;
	z-index: 1;
	max-width: 55rem;
	background: var(--white);
	padding: 1.5rem 2.33rem;
	font-size: 0.93rem;
	line-height: 1.13rem;
	font-weight: 300;
}

/* В контейнере 930px плашка 55rem закрывала 89% фото */
@media screen and (min-width: 992px) and (max-width: 1199.98px) {
	.about_block > div {
		max-width: 60%;
	}
}

.activity_block ul {
	list-style: none;
	display: flex;
	gap: 1.33rem;
	flex-direction: column;
	color: var(--white);
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.45rem;
}

.activity_block ul li::before {
	content: url('data:image/svg+xml; utf8, <svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.968291 5.66234C-0.322764 6.95342 -0.322764 9.04661 0.968291 10.3377L5.16235 14.5317C6.4534 15.8228 8.54661 15.8228 9.83765 14.5317L14.0317 10.3377C15.3228 9.04661 15.3228 6.95342 14.0317 5.66234L9.83765 1.46829C8.54661 0.177235 6.4534 0.177235 5.16235 1.46829L0.968291 5.66234Z" fill="%23F39800"/></svg>');
}

.certificates_block {
	display: flex;
	gap: 6.33rem;
}

.blue_block .certificates_block {
	justify-content: center;
}

.certificates_block a {
	display: flex;
	gap: 2rem;
	font-weight: 700;
	text-decoration: none;
	font-size: clamp(1.2rem, 1rem + 0.8vw, 1.6rem);
	line-height: 1.25;
	color: var(--B4);
	align-items: center;
}

.blue_block .certificates_block a {
	color: var(--white);
}

.certificates_block a:hover {
	color: var(--yellow);
}

.certificates_block svg {
	flex-grow: 0;
	flex-shrink: 0;
}

.contacts_block {
	display: flex;
    flex-direction: column;
    gap: 1.66rem;
}

.contacts_block a,
.contacts_block div {
	display: flex;
	gap: 2rem;
	text-decoration: none;
	font-size: 1.2rem;
	line-height: 1.45rem;
	font-weight: 500;
	color: var(--B4);
	align-items: center;
}

.contacts_block a:hover {
	color: var(--yellow);
}

.contacts_block svg {
	flex-grow: 0;
	flex-shrink: 0;
}

/* Колонок столько, сколько влезает карточек не уже 24rem: три с 1400px, две на 992–1399px, ниже — одна */
.team_block {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr));
	gap: 2rem;
}

.team_block > div {
	display: flex;
	min-width: 0;
	background: var(--background-gray);
}

.team_block img {
	width: 10.7rem;
	height: auto;
	aspect-ratio: 3 / 4;
	align-self: flex-start;
	flex-shrink: 0;
	object-fit: cover;
	object-position: 50% 25%;
}

.team_block > div > div {
	padding: 1.33rem 2.4rem;
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.team_block .name {
	font-weight: 500;
	font-size: 0.93rem;
	line-height: 1.13rem;
}

.team_block .job_title {
	font-weight: 300;
	font-size: 0.93rem;
	line-height: 1.13rem;
}

.team_block .phone,
.team_block .email {
	display: flex;
	gap: 0.66rem;
	align-items: center;
	text-decoration: none;
	font-weight: 300;
	font-size: 0.93rem;
	line-height: 1.13rem;
	color: var(--black);
}

.team_block .phone:hover,
.team_block .email:hover {
	color: var(--yellow);
}

.team_block svg {
	flex-grow: 0;
	flex-shrink: 0;
}

.categories {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}

@media (min-width: 992px) {
	.categories {
		flex-wrap: nowrap;
	}
}

.categories li {
	border: 2px solid var(--B4);
	font-weight: 500;
	font-size: 1.13rem;
	line-height: 1.37rem;
	background: none;
	display: flex;
    align-items: center;
}

.categories .active {
	border: 2px solid var(--B3);
	background: var(--B3);
}

.categories li a {
	display: block;
	padding: 0.66rem 1rem;
	text-decoration: none;
	color: var(--B4);
}

.categories li:not(.active):hover {
	border: 2px solid var(--yellow);
}

.categories .active a {
	color: var(--white);
}

/* Пять фильтров в одну строку до 1400px; если подпись всё же не влезет, она перенесётся внутри кнопки */
@media (min-width: 992px) and (max-width: 1399.98px) {
	.categories {
		gap: 1rem;
	}

	.categories li {
		font-size: 1rem;
	}

	.categories li a {
		padding: 0.6rem 0.8rem;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.categories {
		gap: 0.5rem;
	}

	.categories li {
		font-size: 0.93rem;
	}

	.categories li a {
		padding: 0.6rem;
	}
}

/* На 404 чипы — просто ссылки: переносятся целиком, подписи в одну строку */
.categories.categories_wrap {
	flex-wrap: wrap;
}

.categories_wrap li a {
	white-space: nowrap;
}

.white_text {
	color: var(--white);
}

.equipment_item {
	background: var(--white);
	padding: 2rem;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.equipment_item .info_holder {
	display: flex;
	gap: 3rem;
	flex: 1;
}

.equipment_item .info {
	display: flex;
	flex-direction: column;
}

@media (min-width: 1200px) {
	.equipment_item .info .description {
		flex: 1 0 auto;
	}
}

.news_image_holder,
.equipment_item .info_holder .image {
	display: block;
	overflow: hidden;
}

.equipment_item .info_holder .image img {
	display: block;
}

@media (min-width: 576px) {
	.equipment_item .info_holder .image {
		align-self: flex-start;
	}
}

.news_image_holder img,
.equipment_item .info_holder .image img,
.certs_image img {
	transition: transform 0.3s;
}

@media (hover: hover) {
	.news_image_holder:hover img,
	.equipment_item .info_holder .image:hover img,
	.certs_slider .slide > a:hover .certs_image img {
		transform: scale(1.04);
	}

	/* при фокусе с клавиатуры не увеличиваем: увеличенная картинка перекрывает внутреннюю рамку ссылки */
	.certs_slider .slide > a:focus-visible .certs_image img {
		transform: none;
	}
}

.equipment_item .info_holder .name {
	color: var(--B4);
	font-weight: 700;
	font-size: 1.7rem;
	line-height: 2.1rem;
	text-decoration: none;
}

.equipment_item .info_holder .name:hover {
	color: var(--yellow);
}

.equipment_item .info_holder .image {
	flex: 0 0 clamp(8rem, 45%, 15rem);
}

@media (min-width: 1200px) {
	.equipment_item .info_holder .image {
		flex-basis: 15rem;
	}
}

.equipment_item .info_holder img {
	width: 100%;
	height: auto;
}

.equipment_item .info {
	flex: 1 1 0;
	min-width: 0;
}

.equipment_item .info_holder .name {
	overflow-wrap: break-word;
}

/* Слова вроде «нефтесодержащими» шире колонки текста — такие названия переносим по слогам */
.equipment_item .info_holder .name.long_words {
	-webkit-hyphens: auto;
	hyphens: auto;
	hyphenate-limit-chars: 15 6 6;
}

/* колонка текста 360–600px шире любого слова: перенос не экономит строк */
@media (min-width: 768px) and (max-width: 1199.98px) {
	.equipment_item .info_holder .name.long_words {
		-webkit-hyphens: manual;
		hyphens: manual;
	}
}

.equipment_item .button {
	max-width: 100%;
}

.equipment_description,
.equipment_description p,
.equipment_description h3 {
	color: var(--white);
}

.equipment_description ul {
	margin-left: 1.5rem;
}

.equipment_technical ul {
	list-style: none;
	display: flex;
	gap: 1.33rem;
	flex-direction: column;
	color: var(--white);
	font-weight: 500;
	font-size: 1.2rem;
	line-height: 1.45rem;
	margin-left: 1rem;
}

.equipment_technical ul li::before {
	content: url('data:image/svg+xml; utf8, <svg width="15" height="16" viewBox="0 0 15 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.968291 5.66234C-0.322764 6.95342 -0.322764 9.04661 0.968291 10.3377L5.16235 14.5317C6.4534 15.8228 8.54661 15.8228 9.83765 14.5317L14.0317 10.3377C15.3228 9.04661 15.3228 6.95342 14.0317 5.66234L9.83765 1.46829C8.54661 0.177235 6.4534 0.177235 5.16235 1.46829L0.968291 5.66234Z" fill="%23F39800"/></svg>');
}

.equipment_table {
	overflow-x: auto;
}

.equipment_table table {
	width: 100%;
	border-collapse: collapse;
	font-weight: 300;
	font-variant-numeric: tabular-nums;
}

.equipment_table table td,
.equipment_table table th {
    padding: 0.5rem 1.33rem;
}

.equipment_table thead td,
.equipment_table thead th,
.equipment_table table > tbody:first-child > tr:first-child > td {
	background: var(--B4);
	color: var(--white);
	font-weight: 700;
}

/* Тень у правого края, пока таблицу можно прокрутить дальше (класс ставит js/main.js) */
.equipment_table_wrap {
	position: relative;
}

.equipment_table_wrap.has_more::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 1rem;
	pointer-events: none;
	background: linear-gradient(to left, rgba(0, 0, 0, 0.15), transparent);
}

.equipment_table table tbody tr:nth-child(2n + 1) {
    background: #D1D1D1;
}

.equipment_holder {
	gap: 2rem 0;
}

@media (min-width: 992px) {
	.single_equipment_first_block .col-lg-5 {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* высокое фото не вытягивает синий блок: не выше ширины колонки на ≥1400 (516px), пропорции сохраняет object-fit */
	.single_equipment_first_block .col-lg-5 img {
		max-height: 34.4rem;
	}

	.service_page section + section img {
		position: sticky;
		top: 2rem;
	}
}

header .first_line section div a.logo {
	display: none;
}

.news_holder .row {
	--bs-gutter-y: 4rem;
}

.post .post_small_date {
	color: var(--text-muted);
	font-weight: 300;
    font-size: 0.9333333rem;
}

.post .nav {
	text-decoration: none;
}

.post .nav:hover {
	color: var(--yellow);
}

.entry-content p {
	margin-bottom: 1rem;
}

.entry-content ul,
.entry-content ol {
	padding-left: 1.5rem;
	margin-bottom: 1rem;
}

.entry-content li {
	font-size: 1.07rem;
}

.entry-content li + li {
	margin-top: 0.35rem;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	color: var(--B4);
	margin: 2rem 0 0.75rem;
}

.entry-content h4 {
	font-size: clamp(1.13rem, 1rem + 0.4vw, 1.33rem);
	line-height: 1.25;
	font-weight: 700;
}

.entry-content h3 + h4 {
	margin-top: 0.75rem;
}

.entry-content hr {
	margin: 2rem 0;
}

.entry-content > :first-child {
	margin-top: 0;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft {
	float: left;
	margin: 0 1.5rem 1rem 0;
}

.alignright {
	float: right;
	margin: 0 0 1rem 1.5rem;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	font-size: 0.9rem;
	margin-top: 0.5rem;
}

.news_page .entry-content img {
	max-height: 80vh;
	width: auto;
}

.news_page p {
	margin-bottom: 1.33333rem;
}

.slick-lightbox-close {
	top: 8px;
	right: 8px;
	width: 44px;
	height: 44px;
}

.slick-lightbox-close:before {
	font-size: 32px;
}

/* Бургер и одноколоночная раскладка — до брейкпоинта lg Bootstrap, вместе с колонками col-lg-* */
@media (max-width: 991.98px) {
	/* sticky вместо fixed: шапка остаётся в потоке, отступ под неё не нужен; 1020 — шкала Bootstrap, ниже лайтбокса */
	header {
		position: sticky;
		top: 0;
		z-index: 1020;
	}
	
	header .first_line section {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0.4rem 0;
	}
	
	.navbar-toggler {
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		margin-right: calc((29px - 44px) / 2);
		padding: 0;
		border: 0;
	}
	
	.navbar-toggler:focus-visible {
		outline: 2px solid var(--Y3);
		outline-offset: 2px;
	}
	
	.header_menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
        margin: 0;
		background: var(--background);
		box-shadow: 0 12px 24px rgba(26, 52, 90, 0.2);
    }
	
	.header_menu.show {
		max-height: calc(100vh - 56px);
		max-height: calc(100dvh - 56px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	
	header .first_line section div {
		gap: 1rem;
		justify-content: space-between;
		margin-right: 1rem;
	}
	
	header .first_line section div a.logo {
		display: block;
	}
	
	/* логотип 464×47: при 320px около 140px в ширину, с 400px — 178px */
	header .first_line section div a.logo img {
		height: clamp(14px, 4.5vw, 18px);
		width: auto;
		max-width: none;
	}
	
	header .first_line section div a:not(.logo) {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
	
	/* шапка липкая: при переходе по якорю или Tab элемент не прячется под ней */
	html {
		scroll-padding-top: 72px;
	}
	
	h1,
	h2,
	h3 {
		text-wrap: balance;
	}
	
	h2 {
		margin-bottom: 1rem;
	}
	
	.mb5 {
		margin-bottom: 3rem;
	}
	
	.mt5 {
		margin-top: 3rem;
	}
	
	.pb5 {
    	padding-bottom: 3rem;
	}
	
	.front_page_slide {
		padding-bottom: 3rem;
	}
	
	.equipment_carts {
		row-gap: 1rem;
	}
	
	.count_holder {
		margin-top: 3rem;
		flex-direction: column;
		gap: 2rem;
	}
	
	footer .row {
		row-gap: 2rem;
	}
	
	.header_menu .navbar {
		margin: 0;
		width: 100%;
        padding: 2rem 0;
	}
	
	.header_menu .col-lg-12 > a {
		display: none;
	}
	
	.header_menu .navbar .nav {
		flex-direction: column;
		align-items: stretch;
		gap: 0.33rem;
		width: 100%;
	}
	
	.header_menu .navbar a {
		display: block;
		padding-block: 0.7rem;
	}
	
	.service_page .row {
		row-gap: 2rem;
	}
	
	.about_block > picture {
		display: none;
	}
	
	.about_block > div {
		margin: 0;
		max-width: none;
	}
	
	.activity_block {
		margin-top: 2rem;
	}
	
	.certificates_block {
		flex-direction: column;
    	gap: 1.5rem;
	}
	
	.certificates_block a {
		gap: 1.33rem;
	}
	
	.certificates_block svg {
		width: 40px;
		height: auto;
	}
	
	.contacts_block {
		margin-bottom: 2rem;
	}

	.breadcrumbs {
		margin-top: 2rem;
	}
	
	.blue_block .breadcrumbs {
		margin-top: 0;
	}
	
	.single_equipment_first_block img {
		margin-top: 2rem;
	}
	
	/* Фото товара под описанием не растягивается на весь экран планшета.
	   Ширина берётся из атрибута width и только ограничивается: место под фото занято
	   ещё до загрузки, а object-fit: contain из базового правила img сохраняет пропорции */
	.single_equipment_first_block .col-lg-5 img {
		display: block;
		max-height: 24rem;
		max-height: min(24rem, max(12rem, calc(100svh - 56px - 2rem)));
		margin-inline: auto;
	}
	
	.news_holder .row {
		--bs-gutter-y: 2rem;
	}
}

@media (min-width: 576px) and (max-width: 991.98px) {
	.equipment_carts {
		row-gap: var(--bs-gutter-x);
	}
}

/* Горизонтальная карточка каталога в контейнере 540px: колонке текста нужно больше места */
@media (min-width: 576px) and (max-width: 767.98px) {
	.equipment_item .info_holder {
		gap: 1.5rem;
	}
	
	.equipment_item .info_holder .image {
		flex-basis: clamp(8rem, 38%, 15rem);
	}
}

/* На узких экранах в верхней полосе остаются логотип, иконка телефона и бургер */
@media (max-width: 767.98px) {
	header .first_line section div a:last-child {
		display: none;
	}

	.cookie_notice .container {
		flex-direction: column;
		align-items: stretch;
		padding-block: 1rem;
	}

	.cookie_notice p {
		font-size: 0.93rem;
	}

	.cookie_notice .button {
		width: auto;
	}
	
	.equipment_table table td,
	.equipment_table table th {
		padding: 0.5rem 0.55rem;
	}
	
	.equipment_table table td:first-child {
		white-space: nowrap;
	}
}

@media (max-width: 575.98px) {
	header .first_line section div a {
		font-size: 0;
	}
	
	header .first_line section > div {
		flex: 1 1 auto;
		min-width: 0;
	}
	
	header .first_line section div a:not(.logo) {
		justify-content: center;
		min-width: 44px;
	}
	
	.slider .slide,
	.certs_slider .slide {
		padding: 0 0.5rem;
	}
	
	.slider .slide p,
	.certs_slider .slide p {
		font-size: 1.33rem;
		line-height: 1.25;
	}
	
	.slider .slide p + p,
	.certs_slider .slide p + p {
		font-size: 1.07rem;
		line-height: 1.35;
	}
	
	header .first_line section div a:not(.logo) svg {
		margin-right: 0;
	}
	
	.alignleft,
	.alignright {
		float: none;
		margin: 1rem 0;
	}
	

	
	.categories {
		gap: 0.5rem;
	}
	
	.categories li {
		font-size: 0.95rem;
		line-height: 1.2rem;
	}
	
	.categories li a {
		padding: 0.5rem 0.75rem;
	}
	
	.equipment_item .info_holder {
		flex-direction: column;
	}
	
	.equipment_item .info_holder .image {
		flex: none;
	}
	
	.about_block > div {
		padding: 1.25rem 1rem;
	}
	
	.team_block img {
		width: 6.5rem;
	}

	.team_block > div > div {
		padding: 1rem;
	}
}

.error_contacts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
}

.error_contacts a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--B4);
	font-weight: 500;
	text-decoration: none;
}

.error_contacts a:hover {
	color: var(--yellow);
	text-decoration: underline;
}

/* Видимый фокус с клавиатуры: на светлом фоне синий, на тёмном оранжевый */
a:focus-visible,
button:focus-visible,
.slick-prev:focus-visible,
.slick-next:focus-visible {
	outline: 3px solid var(--B2);
	outline-offset: 3px;
}

.blue_block a:focus-visible,
.blue_block button:focus-visible,
footer a:focus-visible {
	outline-color: var(--Y3);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	header,
	footer,
	.breadcrumbs,
	.slick-arrow,
	.slick-dots,
	.about_block > picture,
	.equipment_table_wrap::after,
	.cookie_notice {
		display: none !important;
	}
	
	.blue_block {
		background: none !important;
	}
	
	.blue_block h1,
	.blue_block h2,
	.blue_block h3,
	.count_block,
	.count_block .count,
	.activity_block ul,
	.equipment_description,
	.equipment_description p,
	.equipment_technical ul {
		color: var(--black) !important;
	}
	
	.equipment_table {
		overflow: visible;
	}
	
	.front_page_slide {
		min-height: 0 !important;
		padding: 0 0 1rem !important;
		background: none !important;
	}
	
	.front_page_slide h1,
	.front_page_slide p,
	.blue_block .certificates_block a,
	.categories .active a,
	.equipment_carts span,
	.equipment_table thead td,
	.equipment_table thead th,
	.equipment_table table > tbody:first-child > tr:first-child > td {
		color: var(--black) !important;
	}
	
	.categories .active,
	.equipment_carts span,
	.equipment_table thead td,
	.equipment_table thead th,
	.equipment_table table > tbody:first-child > tr:first-child > td {
		background: none !important;
	}
	
	.equipment_carts span {
		position: static;
		margin: 0;
		min-height: 0;
		padding: 0.5rem 0;
	}
}
