/*
Theme Name: БОБЁР
Author: aka_Koren
Author URI: https://vk.com/aka_koren
Description: Фейерверки
Tags: aka_koren
Text Domain: akaKoren
*/
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fonts/Inter-Variable.ttf) format("truetype"); }
@font-face { font-family: Jost; font-style: normal; font-weight: 100 900; font-display: swap; src: url(fonts/Jost-Variable.ttf) format("truetype"); }
button:hover, input[type="submit"]:hover { cursor: pointer; }
input, button, select, textarea, a, img {
	transition: 250ms;
	text-decoration: none !important;
	font-family: Inter;
	font-size: 14px;
}
p { margin: 0 0 10px 0; }
.tac { text-align: center; }
.tal { text-align: left; }
.tar { text-align: right; }
.ttu { text-transform: uppercase; }
.m0 { margin: 0; }
.p0 { padding: 0; }
.posr { position: relative; }
.mb0 { margin-bottom: 0 !important; }
.db { display: block; }
.dib { display: inline-block; }
img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	vertical-align: middle;
}
:root {
	--blue: #006CB5;
	--light: #E9F6FE;
	--black: #252525;
	--red: #E31E24;
	--gray: #636363;
	--border: #EDEDED;
}
body, main, section, header, footer {
	font-family: Inter;
	font-weight: 400;
	color: var(--black);
	overflow-x: hidden !important;
	font-size: 14px;
}
body.mobile_menu, body.popup_open { overflow-y: hidden; }
*, *:hover, *:focus, *:active { outline: none !important; }
h1, h2, h3, h4, h5, h6 {
	font-family: Jost;
	line-height: 1.1;
	font-weight: 500;
	margin: 0 0 24px 0;
}
h1 { font-size: 38px; }
h2 { font-size: 28px; }
h3 { font-size: 24px; }
h4 { font-size: 22px; }
h5 { font-size: 20px; }
h6 { font-size: 18px; }
.row {
	display: flex;
	flex-flow: row wrap;
}

header .row { align-items: center; }

.header_black {
	color: white;
	background-color: #252525;
	height: 40px;
	display: flex;
	align-items: center;
}

.header_black a { color: white; }

.header_black a:hover { color: var(--blue); }

.header_black a:hover img { opacity: 0.7; }

header ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
}

header .header_white ul { gap: 30px; }

.header_black ul a {
	font-size: 12px;
	text-transform: uppercase;
}

header .links {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 30px;
}

header .links a {
	display: flex;
	align-items: center;
	gap: 6px;
}

.header_white {
	height: 80px;
	display: flex;
	align-items: center;
	background-color: white;
}

header .siteinfo {
	display: flex;
	align-items: center;
	gap: 15px;
	max-width: 200px;
}

header .logo img {
	width: 52px;
	height: 60px;
	object-fit: contain;
}

header .siteinfo p {
	width: calc(100% - 66px);
	margin: 0;
	font-size: 12px;
	color: var(--gray);
}

.header_white ul a { color: var(--black); }

.header_white ul a:hover { color: var(--blue); }

header .call_order, #mobile_menu .call_order {
	color: white;
	background-color: var(--black);
	border: 2px solid var(--black);
	padding: 0;
	width: 166px;
	height: 44px;
	border-radius: 50px;
	font-weight: 600;
}

header .call_order:hover, #mobile_menu .call_order:hover {
	color: var(--black);
	background-color: white;
}

header .menu_button {
	cursor: pointer;
	flex-flow: column wrap;
	justify-content: space-between;
	align-items: center;
	width: 28px;
	height: 17px;
}

header .menu_button span {
	display: block;
	width: 100%;
	height: 3px;
	background-color: var(--black);
	border-radius: 2px;
}

#mobile_menu {
	position: fixed;
	z-index: 99999;
	width: 100%;
	height: calc(100% - 120px);
	top: 120px;
	left: -100%;
	overflow-y: auto;
	background-color: #f6f6f6;
	padding: 20px 16px 100px 16px;
}

body.mobile_menu #mobile_menu { left: 0; }

#mobile_menu ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-flow: column wrap;
	gap: 15px;
}

#mobile_menu ul a {
	color: var(--black);
	font-size: 18px;
	min-height: 24px;
	display: flex;
	align-items: center;
}

#mobile_menu ul.sub-menu { display: none; }

#mobile_menu li.menu-item-has-children { position: relative; }

#mobile_menu li.menu-item-has-children > button.menu_open {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 15px;
	border: none;
	background-color: transparent;
	padding: 0;
}

#mobile_menu .menu_back {
	border: none;
	background-color: transparent;
	padding: 0;
	margin-bottom: 5px;
	height: 20px;
	display: flex;
	gap: 8px;
	font-size: 18px;
	font-weight: 500;
	align-items: center;
}

#mobile_menu .call_order {
	position: absolute;
	bottom: 30px;
	right: 0;
	left: 0;
	margin: auto;
	width: calc(100% - 32px);
	height: 50px;
	font-size: 14px;
}

section#first {
	background-color: var(--light);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
	padding-top: 64px;
	text-align: center;
}

#first .container { position: relative; }

#first .text, .section_text {
	margin-bottom: 24px;
	color: var(--gray);
	font-size: 18px;
	line-height: 1.45;
	text-align: center;
}

.section_text { margin-bottom: 48px; }

.btn_blue {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: white;
	background-color: var(--blue);
	border: 2px solid var(--blue);
	border-radius: 50px;
	padding: 12px 24px;
	width: fit-content;
	font-size: 14px;
	font-weight: 600;
}

.btn_blue:hover {
	background-color: white;
	color: var(--blue);
}

.btn_blue:hover img { filter: brightness(0.5); }

#first .btn_blue { margin: 0 auto 68px auto; }

#first .block {
	position: absolute;
	right: -44px;
	top: 272px;
	width: 320px;
	height: 90px;
	display: flex;
	align-items: center;
	gap: 15px;
	background-color: white;
	border-radius: 16px;
	padding: 20px;
	text-align: left;
}

#first .block:last-child {
	top: 244px;
	right: unset;
	left: -56px;
}

#first .block img {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 10px;
}

#first .block p {
	margin-bottom: 0;
	width: calc(100% - 65px);
	font-weight: 500;
	font-size: 14px;
	color: black;
}

section#h_catalog {
	overflow: visible !important;
	position: relative;
	padding: 64px 0;
	overflow: hidden;
	z-index: 2;
	background-color: white;
	margin-top: -40px;
}

#h_catalog:before {
	position: absolute;
	content: url(img/ellipse.svg);
	top: -68px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}

#h_catalog .container {
	position: relative;
	z-index: 2;
}

#h_catalog h2 { text-align: center; }

#h_catalog .btn_blue { margin: 0 auto; }

#h_catalog .categs_list { margin-bottom: 32px; }

.slider_4 { position: relative; }

.categ_card {
	border-radius: 16px;
	border: 1px solid var(--border);
	overflow: hidden;
}

.categ_card .img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 210px;
}

.categ_card .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.categ_card .img:hover img { opacity: 0.8; }

.categ_card .content { padding: 20px; }

.categ_card .title {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 500;
	font-family: Jost;
	color: var(--black);
}

.categ_card .title:hover { color: var(--blue); }

.categ_card .text {
	margin-bottom: 24px;
	color: var(--gray);
}

.categ_card .line {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.categ_card .line .sub {
	margin-bottom: 0;
	color: var(--gray);
	font-size: 12px;
}

.categ_card .line a:hover img { filter: brightness(0.5); }

section#solutions {
	background-color: var(--light);
	border-radius: 60px;
	padding: 64px 0 100px 0;
}

#solutions h2 { text-align: center; }

.solution {
	margin-bottom: 24px;
	background-color: white;
	border-radius: 16px;
	overflow: hidden;
}

.solution .img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 340px;
}

.solution .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.solution .img:hover img { opacity: 0.8; }

.solution .content { padding: 32px; }

.solution .title {
	display: inline-block;
	margin-bottom: 16px;
	color: var(--black);
	font-family: Jost;
	font-size: 24px;
	font-weight: 500;
}

.solution .title:hover { color: var(--blue); }

.solution .text {
	margin-bottom: 16px;
	color: var(--gray);
	font-size: 16px;
}

.solution a.link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--blue);
	font-size: 16px;
	font-weight: 500;
}

.solution a.link:hover { color: black; }

.solution a.link:hover img { filter: brightness(0.5); }

section#h_products { padding: 64px 0; }

#h_products h2 { text-align: center; }

.product_card {
	overflow: hidden;
	position: relative;
	border: 1px solid var(--border);
	background-color: white;
	border-radius: 16px;
}

.product_card .mark {
	position: absolute;
	z-index: 2;
	top: 12px;
	left: 12px;
	padding: 4px 12px;
	border-radius: 16px;
}

.product_card .img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 290px;
}

.product_card .img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.product_card .img:hover img { opacity: 0.8; }

.product_card .content { padding: 20px; }

.product_card .title {
	color: var(--black);
	display: inline-block;
	font-size: 18px;
	font-family: Jost;
	font-weight: 500;
	margin-bottom: 12px;
}

.product_card .title:hover { color: var(--blue); }

.product_card .price {
	color: var(--blue);
	font-size: 20px;
}

.product_card .info {
	color: var(--gray);
	font-size: 12px;
	margin-bottom: 12px;
}

.product_card .sub {
	margin-bottom: 40px;
	font-size: 12px;
	color: var(--gray);
}

.product_card .btn_blue { width: 100%; }

section#joy {
	background-color: var(--light);
	border-radius: 60px;
	padding: 64px 0;
}

#joy h2 { text-align: center; }

.joy_block {
	background-color: white;
	border-radius: 16px;
	padding: 24px;
	border: 1px solid var(--border);
}

.joy_block img {
	width: 48px;
	height: 48px;
	object-fit: contain;
}

.joy_block .title {
	margin: 16px 0;
	font-family: Jost;
	font-size: 18px;
	font-weight: 500;
}

.joy_block .text {
	margin-bottom: 0;
	color: var(--gray);
}

section#h_payment { padding: 64px 0; }

#h_payment h2 { text-align: center; }

.pay_block {
	background-color: white;
	padding: 32px;
	border: 1px solid var(--border);
	border-radius: 16px;
	margin-bottom: 32px;
}

.pay_block img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.pay_block .title {
	margin: 16px 0;
	font-family: Jost;
	font-size: 20px;
	font-weight: 500;
}

.pay_block .text {
	font-size: 16px;
	margin-bottom: 0;
	color: var(--gray);
}

#h_payment .btn_blue { margin: 0 auto; }

section#faq {
	background-color: var(--light);
	border-radius: 60px;
	padding: 64px 0;
}

#faq h2 { text-align: center; }

.faq_list {
	display: flex;
	flex-flow: column wrap;
	max-width: 768px;
	gap: 12px;
	margin: 0 auto 32px auto;
}

#faq .btn_blue { margin: 0 auto; }

.faq_block {
	background-color: white;
	padding: 20px;
	border-radius: 14px;
}

.faq_block .title {
	position: relative;
	margin: 0;
	font-size: 16px;
	padding-right: 36px;
	cursor: pointer;
}

.faq_block .title:after {
	position: absolute;
	content: url(img/expand.svg);
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 250ms;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	line-height: 0;
}

.faq_block.active .title:after { transform: rotate(180deg); }

.faq_block .text {
	margin: 0;
	opacity: 0;
	height: 0;
	overflow: hidden;
	color: var(--gray);
	transition: 250ms;
}

.faq_block.active .text {
	height: auto;
	opacity: 1;
	margin-top: 12px;
}

section#h_banners { padding: 64px 0; }

.banner_block {
	margin-bottom: 16px;
	background-color: var(--light);
	padding: 32px;
	border-radius: 16px;
}

.banner_block > img {
	width: 56px;
	height: 56px;
	object-fit: contain;
}

.banner_block .title {
	margin: 16px 0;
	font-family: Jost;
	font-size: 24px;
	font-weight: 500;
}

.banner_block .text {
	font-size: 16px;
	margin-bottom: 16px;
	color: var(--gray);
}

.banner_block a {
	color: var(--blue);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
}

.banner_block a:hover { color: var(--black); }

.banner_block a:hover img { filter: brightness(0.5); }

#h_banners .col-xs-12:nth-child(odd) .banner_block {
	color: white;
	background-color: var(--red);
}

#h_banners .col-xs-12:nth-child(odd) .banner_block .text, #h_banners .col-xs-12:nth-child(odd) .banner_block a { color: white; }

#h_banners .col-xs-12:nth-child(odd) .banner_block a:hover { color: var(--black); }

section#cta {
	background-color: var(--light);
	border-radius: 60px;
	padding: 64px 0;
	background-repeat: no-repeat;
	background-position: center right;
	background-size: cover;
}

#cta .section_text { text-align: left; }

.cta_form {
	background-color: white;
	padding: 20px;
	border-radius: 16px;
}

form { width: 100%; }

form .input_label {
	display: block;
	margin-bottom: 16px;
}

form .input_label p {
	margin-bottom: 8px;
	font-weight: 500;
}

form .input_label input, form .input_label textarea {
	width: 100%;
	height: 50px;
	padding: 0 16px;
	border-radius: 14px;
	border: 1px solid var(--border);
}

form input.wpcf7-not-valid { border-color: red; }

form .input_label textarea {
	resize: none;
	height: 106px;
	padding: 12px 16px;
}

form button {
	width: 100%;
	height: 50px;
	background-color: var(--blue);
	border: 2px solid var(--blue);
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: white;
	font-weight: 600;
	margin-bottom: 16px;
}

form button:hover {
	color: var(--blue);
	background-color: white;
}

form button:hover img { filter: brightness(0.5); }

form .accept_label input { display: none; }

form .accept_label .wpcf7-list-item { margin-left: 0 !important; }

form .accept_label input + span {
	position: relative;
	padding-left: 30px;
	color: var(--gray);
	font-weight: 500;
	display: block;
}

form .accept_label input + span:before {
	position: absolute;
	left: 0;
	top: 0;
	box-sizing: border-box;
	content: url(img/check.svg);
	width: 20px;
	height: 20px;
	border-radius: 4px;
	border: 2px solid var(--blue);
	background-color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	transition: 250ms;
}

form .accept_label input:checked + span:before { background-color: var(--blue); }

form .accept_label input + span a {
	text-decoration: underline !important;
	color: var(--gray);
}

form .accept_label input + span a:hover { color: var(--blue); }

form .wpcf7-not-valid-tip { display: none !important; }

form .wpcf7-response-output {
	width: calc(100% - 64px);
	bottom: 12px;
	left: 0;
	right: 0;
	margin: auto !important;
	text-align: center;
	font-weight: 500;
	font-size: 13px;
	margin: 12px auto 0 auto !important;
}

.popup form .wpcf7-response-output {
	margin: 0 auto !important;
	position: absolute;
}

footer {
	color: white;
	background-color: var(--black);
	padding: 48px 0;
}

footer .title {
	margin-bottom: 16px;
	font-size: 16px;
	font-weight: 500;
	font-family: Jost;
}

footer a { color: white; }

footer a:hover { color: var(--blue); }

footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-flow: column wrap;
	gap: 8px;
}

footer .links {
	display: flex;
	flex-flow: column wrap;
	margin-bottom: 12px;
	gap: 12px;
}

footer .links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
}

footer .links a:hover img { filter: brightness(0.5); }

footer .last {
	position: relative;
	margin-top: 32px;
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
}

footer .last p { margin-bottom: 0; }

footer .last a { text-decoration: underline !important; }

.popup {
	display: none;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
}

.popup .wrap {
	overflow-y: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-color: white;
	border-radius: 16px;
	padding: 30px;
	width: calc(100% - 32px);
	height: calc(100% - 32px);
	max-width: 600px;
	max-height: 490px;
}

#popup_request .wrap {
	max-width: 800px;
	max-height: 700px;
}

#popup_order .wrap {
	max-width: 800px;
	max-height: 820px;
}

.popup .popup_close {
	position: absolute;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 30px;
	right: 30px;
}

.popup .popup_close:hover img { opacity: 0.6; }

.popup .title {
	padding-right: 30px;
	margin-bottom: 16px;
	font-family: Jost;
	font-size: 26px;
	font-weight: 500;
}

.popup .text {
	margin-bottom: 24px;
	color: var(--gray);
	font-size: 18px;
	padding-right: 30px;
}

section#page404 .wrap {
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 28px;
	min-height: 600px;
}

#page404 h1 {
	margin-bottom: 0;
	font-size: 34px;
}

#page404 p.text {
	margin-bottom: 0;
	color: var(--gray);
	font-size: 17px;
	max-width: 620px;
}

#page404 .buttons {
	display: flex;
	align-items: center;
	gap: 12px;
}

#page404 a {
	display: flex;
	min-height: 54px;
	padding: 2px 32px;
	border-radius: 50px;
	border: 1px solid var(--black);
	background-color: var(--black);
	color: white;
	font-size: 14px;
	font-weight: 600;
	align-items: center;
	text-align: center;
	justify-content: center;
}

#page404 a:hover {
	color: var(--black);
	background-color: white;
}

#page404 a:nth-child(even) {
	border-color: var(--border);
	color: var(--black);
	background-color: white;
}

#page404 a:nth-child(even):hover {
	border-color: var(--blue);
	background-color: var(--blue);
	color: white;
}

a.logo:hover img { opacity: 0.8; }

.crumbs {
	gap: 8px;
	color: var(--gray);
	display: flex;
	min-height: 48px;
	align-items: center;
	margin-bottom: 40px;
}

.crumbs a { color: var(--gray); }

.crumbs a:hover { color: var(--blue); }

.crumbs .current-item {
	font-weight: 500;
	color: var(--black);
}

.page_title {
	display: flex;
	gap: 20px;
	align-items: flex-end;
	margin-bottom: 48px;
}

.page_title h1 {
	line-height: 1;
	margin: 0;
}

.page_title span {
	color: var(--gray);
	font-size: 18px;
	display: inline-flex;
	min-height: 26px;
	align-items: center;
}

section#catalog_page { margin-bottom: 64px; }

#catalog_page .product_card { margin-bottom: 24px; }

/* ===================== CATALOG FILTER ===================== */
.catalog_filter {
	margin-bottom: 24px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border);
}

.filter_mobile_title {
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	margin: 0;
	transition: 250ms;
	min-height: 18px;
	gap: 8px;
	border-radius: 8px;
	background: white;
	transition: 250ms;
}
.filter_mobile_title:hover { opacity: 0.7; }

section#product_main { margin-bottom: 64px; }

.product_gallery .slider_big, .product_gallery .slider_nav { position: relative; }

.product_gallery .slider_big .slick-slide { margin: 0; }

.product_gallery .slider_big .slick-arrow { top: 51%; }

.product_gallery .slider_big .slick-prev { left: 28px; }

.product_gallery .slider_big .slick-next { right: 28px; }

.product_gallery .slider_big .slick-slide img {
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 20px;
}

.product_gallery .slider_nav {
	margin: 16px 0 32px -6px;
	width: calc(100% + 12px);
}

.product_gallery .slider_nav .slick-slide {
	cursor: pointer;
	margin: 0 6px;
}

.product_gallery .slider_nav .slick-slide img {
	width: 100%;
	height: 156px;
	border-radius: 12px;
	object-fit: cover;
	opacity: 0.8;
}

.product_gallery .slider_nav .slick-slide:hover img { opacity: 0.9; }

.product_gallery .slider_nav .slick-slide.slick-current img { opacity: 1 !important; }

.product_wrap {
	max-width: 520px;
	margin: 0 auto;
}

.prod_meta {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
	gap: 12px;
}

.prod_meta .mark {
	min-height: 22px;
	padding: 2px 12px;
	border-radius: 6px;
}

.prod_meta .art {
	font-size: 13px;
	color: var(--gray);
}

.product_wrap h1 {
	font-weight: 600;
	color: black;
	margin-bottom: 16px;
}

.prod_price {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-bottom: 32px;
}

.prod_price p {
	margin-bottom: 0;
	display: flex;
	align-items: center;
	gap: 16px;
	font-weight: 700;
	font-size: 32px;
}

.prod_price p span {
	color: var(--gray);
	font-size: 20px;
	font-weight: 400;
	text-decoration: line-through;
}

.prod_price .discount {
	height: 24px;
	padding: 2px 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--light);
	color: var(--blue);
	font-size: 13px;
	font-weight: 700;
	border-radius: 6px;
}

.prod_order {
	margin-bottom: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background-color: #F8F9FA;
	border-radius: 20px;
}

.prod_order button {
	width: 100%;
	height: 48px;
}

.product_wrap p.title {
	margin-bottom: 12px;
	font-weight: 600;
	font-size: 16px;
	color: black;
}

.product_wrap .parameters {
	display: flex;
	flex-flow: column wrap;
	gap: 10px;
}

.product_wrap .parameters .line {
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	position: relative;
}

.product_wrap .parameters .line:before {
	position: absolute;
	content: '';
	z-index: 0;
	width: 100%;
	height: 1px;
	background-color: #EDEDED;
	bottom: 2px;
	z-index: 1;
}

.product_wrap .parameters .line span {
	line-height: 1;
	background-color: white;
	position: relative;
	z-index: 2;
	padding-left: 2px;
}

.product_wrap .parameters .line span:first-child {
	color: var(--gray);
	padding: 0 2px 0 0;
}

section#product_info {
	margin-bottom: 64px;
	padding: 48px 0;
	background-color: #F8F9FA;
}

#product_info .title {
	margin-bottom: 32px;
	border-bottom: 1px solid #EDEDED;
	display: flex;
	align-items: flex-end;
	gap: 40px;
}

#product_info .title button {
	background-color: transparent;
	border: none;
	border-bottom: 2px solid transparent;
	padding: 0 0 16px 0;
	font-weight: 500;
	color: var(--gray);
}

#product_info .title button.active {
	border-bottom-color: var(--blue);
	color: var(--black);
	font-weight: 600;
}

#product_info .tab { display: none; }

#product_info .tab.active { display: block; }

#product_info .tab .text {
	font-size: 16px;
	color: #111827;
	margin-bottom: 16px;
}

#product_info .tab .blocks {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 12px;
}

#product_info .tab .blocks .block {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 500;
	border-radius: 999px;
	background-color: #E9F6FE;
	border: 1px solid #D4EFFF;	
}

.parameters_big {
	max-width: 800px;
	border-radius: 12px;
	border: 1px solid var(--border);
	overflow: hidden;
}

.parameters_big .line {
	display: flex;
	min-height: 40px;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--border);
	padding: 0 16px;
	gap: 16px;
	font-weight: 500;
}

.parameters_big .line span:last-child { font-weight: 600; }

.parameters_big .line:last-child { border-bottom: none; }

.parameters_big .line:nth-child(odd) { background-color: white; }

section#product_other { margin-bottom: 64px; }

#product_other h2 {
	text-align: center;
	margin-bottom: 48px;
}

section#news_list { margin-bottom: 64px; }

.news_card {
	background-color: white;
	margin-bottom: 24px;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	border: 1px solid var(--border);
	height: 452px;
}

.news_card a.img {
	display: block;
	width: 100%;
	height: 220px;
}

.news_card a.img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news_card a.img:hover img { opacity: 0.8; }

.news_card .content { padding: 20px; }

.news_card .date {
	margin-bottom: 12px;
	color: var(--gray);
}

.news_card .title {
	display: inline-block;
	width: fit-content;
	margin-bottom: 12px;
	color: var(--black);
	font-size: 20px;
	font-weight: 600;
}

.news_card .title:hover { color: var(--blue); }

.news_card .text {
	color: var(--gray);
	height: 60px;
	line-height: 20px;
	overflow: hidden;
	margin-bottom: 0;
}

.news_card a.link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--blue);
	font-weight: 600;
	position: absolute;
	left: 20px;
	bottom: 20px;
}

.news_card a.link:hover { opacity: 0.7; }

body.filter-open { overflow: hidden; }

.filter_type {
	background-color: #E9F6FE;
	border-radius: 70px;
	height: 40px;
	width: 100%;
	display: flex;
	margin-bottom: 24px;
}
.filter_type button {
	flex: 1;
	width: 50%;
	height: 100%;
	border-radius: 70px;
	border: 1px solid #E9F6FE;
	color: var(--blue);
	font-weight: 600;
	font-size: 14px;
	background-color: #E9F6FE;
}
.filter_type button:hover { font-size: 13px; }
.filter_type button.active {
	border-color: var(--border);
	background-color: white;
	color: var(--gray);
	font-weight: 400;
	font-size: 14px !important;
}

.filter_block {
	border-bottom: 1px solid var(--border);
	padding-bottom: 24px;
	margin-bottom: 24px;
}
.filter_block:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}

.filter_title {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	user-select: none;
	margin-bottom: 16px;
}
.filter_title p {
	margin: 0;
	font-weight: 600;
	font-size: 15px;
	flex: 1;
}
.filter_title .arrow {
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s ease;
}
.filter_block.collapsed .arrow {
	transform: rotate(-180deg);
}

.filter_block.collapsed .filter_params {
	display: none;
}

.filter_title .hint {
	position: relative;
	margin-right: 4px;
}
.filter_title .hint .icon {
	display: inline-flex;
	cursor: pointer;
}
.filter_title .hint .icon:hover img { opacity: 0.8; }
.filter_title .hint_text {
	display: none;
	position: absolute;
	left: 0;
	top: 22px;
	background: white;
	border: 1px solid var(--border);
	padding: 20px 50px 20px 20px;
	font-size: 12px;
	width: max-content;
	max-width: 240px;
	z-index: 10;
	border-radius: 16px;
	box-shadow: 0 0 15px 0 rgba(0,0,0,0.1);
}
.filter_title .hint_text .hint_close {
	position: absolute;
	width: 20px;
	height: 20px;
	top: 20px;
	right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.filter_title .hint_text .hint_close img { height: 10px; }
.filter_title .hint_text .hint_close:hover img { opacity: 0.5; }


.filter_range {
	margin-top: 0;
	padding: 0 2px;
}
.range_labels {
	display: flex;
	justify-content: space-between;
	color: var(--gray);
	margin-bottom: 20px;
	gap: 8px;
}
.range_labels > span {
	font-size: 13px;
	white-space: nowrap;
}
.range_labels .range-input {
	position: relative;
	width: calc(50% - 6px);
}
.range-input input[type="number"] {
	width: 100%;
	padding: 3px 6px 3px 28px;
	font-weight: 600;
	color: var(--black);
	border: 1px solid var(--border);
	border-radius: 8px;
	background: #fff;
	text-align: left;
	height: 36px;
}
.range-input input[type="number"]::-webkit-outer-spin-button, .range-input input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
.range-input input[type="number"]:focus {
	border-color: var(--blue);
	outline: none;
}
.range-input.min::before {
	content: "от";
	position: absolute;
	left: 10px;
	top: 9px;
	color: var(--black);
	pointer-events: none;
}
.range-input.max::before {
	content: "до";
	position: absolute;
	left: 10px;
	top: 9px;
	color: var(--black);
	pointer-events: none;
}

.filter_select {
	margin-top: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.filter_select label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
}
.filter_select input[type="checkbox"] { display: none; }

.filter_select input[type="checkbox"] + span {
	position: relative;
	padding-left: 32px;
	min-height: 20px;
	display: flex;
	align-items: center;
	cursor: pointer;
	transition: 250ms;
}

.filter_select input[type="checkbox"] + span:hover { color: var(--blue); }

.filter_select input[type="checkbox"] + span:before {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	content: url(img/check.svg);
	line-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--border);
	border-radius: 4px;
	box-sizing: border-box;
	transition: 250ms;
}

.filter_select input[type="checkbox"]:checked + span:before {
	background-color: var(--blue);
	border-color: var(--blue);
}

.filter_categories {
	margin-top: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.filter_categories a {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	color: var(--black);
	text-decoration: none;
	padding: 2px 0;
}
.filter_categories a:hover {
	color: var(--blue);
}
.filter_categories a span {
	color: var(--gray);
	font-size: 13px;
}

.filter_effect_images {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}
.filter_effect_images label {
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	width: calc(25% - 8px);
	border: 2px solid transparent;
	transition: 250ms;
}
.filter_effect_images label:hover { opacity: 0.7; }
.filter_effect_images label input {
	display: none;
}
.filter_effect_images label:has(input:checked) {
	opacity: 1;
	border-color: var(--blue);
	background: var(--light);
}
.filter_effect_images img {
	max-width: 100%;
	max-height: 100%;
}

.filter_color {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 0;
}
.filter_color label {
	cursor: pointer;
	width: calc(25% - 8px);
	height: 52px;
}
.filter_color label input { display: none; }
.filter_color input + span {
	display: inline-block;
	transition: 250ms;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 8px;
	font-size: 9px;
	font-weight: 600;
	text-align: center;
	border: 1px solid transparent;
	opacity: 0.9;
}
.filter_color input + span:hover { opacity: 1; }
.filter_color label:has(input:checked) span {
	box-shadow: 0 0 6px 2px var(--blue);
	opacity: 1;
}

.filter_buttons {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.filter_buttons button {
	width: 100%;
	background: var(--black);
	color: white;
	border: 2px solid var(--black);
	border-radius: 50px;
	font-size: 14px;
	font-weight: 600;
	height: 40px;
	padding: 0;
}
.filter_buttons button:hover {
	color: var(--black);
	background-color: white;
}
.filter_buttons a {
	text-align: center;
	color: var(--gray);
	text-decoration: underline !important;
}

.filter_buttons a:hover { color: var(--blue); }

/* jQuery UI Slider overrides */
.filter_range .ui-slider {
	background: #E8F0F8;
	border: none;
	height: 4px;
	border-radius: 2px;
	width: calc(100% - 16px);
	margin-left: 8px;
	border: none !important;
}
.filter_range .ui-slider .ui-slider-range {
	background: var(--blue);
	cursor: pointer;
	border-radius: 2px;
}
.filter_range .ui-slider .ui-slider-handle {
	width: 16px;
	height: 16px;
	border: 2px solid white;
	border-radius: 100%;
	background: var(--blue);
	top: -6px;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* ===================== CATALOG FILTER END ===================== */

.catalog_sort {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
	align-items: flex-start;
}

.catalog_sort p {
	color: var(--gray);
	margin-bottom: 0;
}

.catalog_sort .sort_block { position: relative; }

.catalog_sort .sort_block span.selected {
	cursor: pointer;
	color: #151E3D;
	font-weight: 600;
	padding-right: 20px;
	position: relative;
	transition: 250ms;
}

.catalog_sort .sort_block span.selected:hover { opacity: 0.7; }

.catalog_sort .sort_block span.selected::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	width: 12px;
	height: 12px;
	background: url(img/sort.svg) no-repeat center / contain;
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}

.catalog_sort .sort_block.open span.selected::after {
	transform: translateY(-50%) rotate(180deg);
}

.catalog_sort .sort_block .variants {
	display: none;
	position: absolute;
	left: 0;
	top: 20px;
	background-color: white;
	border-radius: 16px;
	padding: 10px 12px;
	width: 180px;
	font-size: 12px;
	border: 1px solid var(--border);
	z-index: 10;
}

.catalog_sort .sort_block.open .variants {
	display: block;
}

.catalog_sort .sort_block .variants span {
	cursor: pointer;
	display: block;
	padding: 2px 0;
	margin-bottom: 2px;
}

.catalog_sort .sort_block .variants span:last-child { margin-bottom: 0; }

.catalog_sort .sort_block .variants span:hover { color: var(--blue); }

section#news_page { margin-bottom: 48px; }

#news_page .date {
	margin-bottom: 12px;
	color: var(--gray);
}

#news_page h1 { margin-bottom: 40px; }

#news_page .thumb {
	display: block;
	text-align: center;
	border-radius: 20px;
	margin: 0 auto 40px auto;
}

.news_content {
	font-size: 18px;
	margin-bottom: 16px;
	line-height: 1.3;
}

.news_content p { margin-bottom: 16px; }

.news_content h3 {
	font-size: 22px;
	font-weight: 600;
}

.news_content ul, .news_content ol {
	padding-left: 20px;
	margin: 0 0 32px 0;
	display: flex;
	flex-flow: column wrap;
	gap: 10px;
	font-size: 14px;
}

.news_content ul { max-width: 400px; }

.news_content li::marker { color: var(--blue); }

.news_content .block {
	background-color: #F5F5F5;
	padding: 20px 20px 20px 24px;
	border-left: 4px solid var(--blue);
	font-size: 16px;
	font-style: italic;
}

.news_contact {
	background-color: white;
	margin-bottom: 24px;
	padding: 24px;
	border-radius: 16px;
	border: 1px solid var(--border);
	box-shadow: 0 4px 22px 0 rgba(0,0,0,0.04);
}

.news_contact .title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
}

.news_contact .text {
	margin-bottom: 4px;
	color: var(--gray);
}

.news_contact .tel {
	font-size: 20px;
	display: inline-block;
	font-weight: 700;
	color: var(--black);
	margin-bottom: 20px;
}

.news_contact .tel:hover { color: var(--blue); }

.news_contact .buttons {
	display: flex;
	flex-flow: column wrap;
	gap: 12px;
	width: 100%;
}

.news_contact .buttons a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 100%;
	height: 44px;
	border: 2px solid var(--blue);
	background-color: var(--blue);
	color: white;
	border-radius: 50px;
	font-weight: 600;
}

.news_contact .buttons a:nth-child(even) {
	color: var(--blue);
	background-color: white;
}

.news_contact .buttons a:hover {
	color: white;
	background-color: var(--black);
	border-color: var(--black);
}

.news_tags .title {
	margin-bottom: 16px;
	font-size: 12px;
	font-weight: 600;
}

.news_tags .tag_list {
	display: flex;
	flex-flow: row wrap;
	gap: 8px;
}

.news_tags .tag_list a {
	display: flex;
	min-height: 28px;
	align-items: center;
	padding: 2px 12px;
	color: var(--gray);
	border-radius: 8px;
	font-size: 13px;
	border: 1px solid var(--border);
	background-color: #F8F9FA;
}

.news_tags .tag_list a:hover {
	border-color: var(--black);
	color: var(--black);
}

section#news_other {
	border-radius: 60px 60px 0 0;
	background-color: var(--light);
	padding: 64px 0;
}

#news_other h2 {
	text-align: center;
	margin-bottom: 48px;
}

section#production_main {
	background-color: var(--light);
	padding: 64px 0;
	border-radius: 60px;
}

#production_main .row { align-items: center; }

#production_main .thumb {
	display: block;
	margin: auto;
	border-radius: 30px;
}

#production_main .content { max-width: 554px; }

#production_main h1 { margin-bottom: 20px; }

#production_main .text {
	margin-bottom: 32px;
	color: var(--gray);
	font-size: 18px;
}

#production_main .text p { margin-bottom: 20px; }

#production_main .text p:last-child { margin-bottom: 0; }

#production_main .info {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

#production_main .info .block {
	display: flex;
	align-items: center;
	gap: 12px;
	width: calc(50% - 12px);
}

#production_main .info .block img { width: 32px; }

#production_main .info .block span {
	width: calc(100% - 44px);
	font-size: 16px;
	font-weight: 600;
}

section#production_numbers { padding: 64px 0 44px 0; }

.number_block {
	text-align: center;
	margin-bottom: 20px;
}

.number_block .title {
	margin-bottom: 4px;
	color: var(--blue);
	font-weight: 700;
	font-size: 36px;
}

.number_block .text {
	margin-bottom: 0;
	color: var(--gray);
	font-weight: 500;
}

section#production_advants { padding: 64px 0 52px 0; }

#production_advants h2 {
	text-align: center;
	margin-bottom: 16px;
}

.advant_block {
	margin-bottom: 12px;
	padding: 32px;
	border-radius: 20px;
	border: 1px solid var(--border);
	min-height: 312px;
}

.advant_block img {
	width: 56px;
	height: 56px;
	margin-bottom: 20px;
}

.advant_block .title {
	margin-bottom: 20px;
	font-size: 22px;
	font-weight: 600;
}

.advant_block .text {
	margin-bottom: 0;
	color: var(--gray);
	font-size: 15px;
	line-height: 1.3;
}

section#production_process {
	padding: 64px 0 44px 0;
	background-color: var(--light);
	border-radius: 60px;
}

#production_process h2 {
	text-align: center;
	margin-bottom: 56px;
}

.process_block {
	margin-bottom: 20px;
	position: relative;
	background-color: white;
	border-radius: 16px;
	padding: 20px;
	max-width: 264px;
	min-height: 230px;
}

.process_block:after {
	position: absolute;
	content: url(img/arr_blue.svg);
	top: 30px;
	right: -36px;
}

.process_row .col-xs-12:last-child .process_block:after { content: none; }

.process_block .head {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
	gap: 12px;
}

.process_block .head img { height: 32px; }

.process_block .head span {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	width: 40px;
	height: 40px;
	border-radius: 100%;
	color: white;
	background-color: var(--blue);
	font-size: 18px;
	font-weight: 700;
}

.process_block .title {
	margin-bottom: 16px;
	font-size: 20px;
	font-weight: 600;
}

.process_block .text {
	margin-bottom: 0;
	color: var(--gray);
}

section#production_quality { padding: 64px 0 40px 0; }

#production_quality h2 {
	text-align: center;
	margin-bottom: 16px;
}

#production_quality img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	border-radius: 20px;
	margin-bottom: 20px;
}

section#production_docs { padding: 64px 0 48px 0; }

#production_docs h2 {
	text-align: center;
	margin-bottom: 16px;
}

.doc_block {
	margin-bottom: 16px;
	text-align: center;
	padding: 32px;
	border: 1px solid var(--border);
	border-radius: 16px;
}

.doc_block .icon {
	margin: 0 auto 16px auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F8F9FA;
	border: 1px solid var(--border);
	border-radius: 8px;
	width: 80px;
	height: 100px;
	padding: 8px;
}

.doc_block .title {
	margin-bottom: 16px;
	font-weight: 600;
	font-size: 18px;
}

.doc_block .sub {
	margin-bottom: 16px;
	color: var(--gray);
}

.doc_block a {
	text-decoration: underline !important;
	color: var(--blue);
	font-size: 13px;
	font-weight: 600;
}

.doc_block a:hover { color: black; }

.popup_product_card {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 300px;
	padding: 12px 16px;
	margin-bottom: 20px;
	border-radius: 16px;
	border: 1px solid var(--border);
}

.popup_product_card .icon {
	width: 74px;
	height: 74px;
}

.popup_product_card .info { width: calc(100% - 86px); }

.popup_product_card p {
	font-family: Jost;
	font-weight: 500;
	margin-bottom: 10px;
}

.popup_product_card span {
	color: var(--blue);
	font-size: 16px;
}

section#promos_main { margin-bottom: 48px; }

#promos_main h1 { margin-bottom: 16px; }

#promos_main .text {
	color: var(--gray);	
	font-size: 18px;
	margin-bottom: 24px;
}

#promos_main .text p:last-child { margin-bottom: 0; }

.promo_big {
	color: white;
	background-color: var(--black);
	border-radius: 24px;
	padding: 48px 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.promo_big .val {
	margin: 0;
	color: var(--blue);
	font-size: 96px;
	font-family: Jost;
	font-weight: 500;
	line-height: 1;
}

.promo_big .content {
	width: calc(100% - 240px);
	max-width: 600px;
}

.promo_big .sub {
	margin-bottom: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 14px;
	background-color: var(--blue);
	color: white;
	font-size: 12px;
	font-weight: 700;
	border-radius: 60px;
	width: fit-content;
	min-height: 28px;
}

.promo_big .title {
	margin-bottom: 12px;
	font-size: 34px;
	font-weight: 500;
	font-family: Jost;
	line-height: 1.12;
}

.promo_big .info {
	margin-bottom: 12px;
	font-size: 16px;
	color: #CCD9E5;
}

.promo_big a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--black);
	background-color: white;
	width: 124px;
	height: 50px;
	border-radius: 50px;
	font-weight: 600;
}

.promo_big a:hover {
	color: white;
	background-color: var(--blue);
}

section#promos_list { margin-bottom: 48px; }

.promo_block {
	padding: 28px;
	border: 1px solid var(--border);
	border-radius: 20px;
	margin-bottom: 16px;
}

.promo_block span {
	margin-bottom: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	text-align: center;
	border-radius: 12px;
	background-color: var(--light);
	color: var(--blue);
	padding: 2px 14px;
	min-height: 38px;
	font-weight: 700;
	font-size: 18px;
}

.promo_block .title {
	margin-bottom: 16px;
	font-weight: 600;
	font-size: 20px;
}

.promo_block .text {
	margin-bottom: 16px;
	border-bottom: 1px solid var(--border);
	color: var(--gray);
	font-size: 15px;
	min-height: 85px;
}

.promo_block .sub {
	margin: 0;
	line-height: 1;
	padding-left: 12px;
	position: relative;
	font-size: 13px;
	font-weight: 600;
	color: var(--gray);
}

.promo_block .sub:before {
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 100%;
	background-color: var(--blue);
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

section#discounts { margin-bottom: 64px; }

#discounts h2 { margin-bottom: 32px; }

#discounts .text {
	color: var(--gray);
	margin-bottom: 32px;
	font-size: 16px;
}

table.table1 {
	overflow: hidden;
	width: 100%;
	border-radius: 16px;
	border: 1px solid var(--border);
}

table.table1 thead {
	background-color: var(--light);
	font-weight: 700;
}

table.table1 tbody { font-size: 16px; }

table.table1 td:first-child { padding-left: 20px; }

table.table1 tbody td:first-child { font-weight: 600; }

table.table1 tbody td:nth-child(2) {
	font-weight: 700;
	color: var(--blue);
}

table.table1 tbody td:last-child {
	font-size: 15px;
	color: var(--gray);
}

table.table1 tr { height: 58px; }

table.table1 tr td {
	padding-right: 12px;
	border-bottom: 1px solid var(--border);
}

table.table1 tr:last-child td { border-bottom: none; }

section#promos_code { margin-bottom: 64px; }

.promocode {
	padding: 32px 40px;
	background-color: var(--light);
	border-radius: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.promocode .code {
	background-color: white;
	border: 1px dashed var(--blue);
	color: var(--blue);
	font-size: 24px;
	font-weight: 500;
	font-family: Jost;
	min-height: 56px;
	padding: 2px 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 12px;
	max-width: 220px;
}

.promocode .info { width: calc(100% - 240px); }

.promocode .title {
	margin-bottom: 6px;
	font-weight: 600;
	font-size: 22px;
}

.promocode .text {
	margin-bottom: 0;
	color: var(--gray);
	font-size: 15px;
}

section#promos_rules { margin-bottom: 64px; }

#promos_rules h2 { margin-bottom: 20px; }

#promos_rules ul {
	padding-left: 20px;
	margin: 0;
	display: flex;
	flex-flow: column wrap;
	gap: 20px;
	color: var(--gray);
	font-size: 16px;
}

#promos_rules ul li::marker { color: var(--blue); }

section#contacts { margin-bottom: 88px; }

#contacts h1 { margin-bottom: 16px; }

#contacts .content {
	color: var(--gray);
	margin-bottom: 8px;
}

#contacts .content p { margin-bottom: 16px; }

.contact_block {
	margin-bottom: 24px;
	border: 1px solid var(--border);
	padding: 28px 24px;
	border-radius: 20px;
}

.contact_block .icon {
	width: 45px;
	height: 45px;
	margin-bottom: 16px;
}

.contact_block .title {
	margin-bottom: 4px;
	color: var(--gray);
	font-size: 13px;
}

.contact_block a {
	display: inline-block;
	margin-bottom: 4px;
	font-size: 18px;
	font-weight: 600;
	color: var(--black);
}

.contact_block a:hover { color: var(--blue); }

.contact_block .text {
	margin-bottom: 0;
	font-size: 13px;
	color: var(--gray);
}

#map {
	width: 100%;
	height: calc(100% - 20px);
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 20px;
}

#contacts form {
	border: 1px solid var(--border);
	padding: 20px;
	border-radius: 16px;
	margin-bottom: 20px;
}

.contact_time {
	padding: 32px;
	border-radius: 20px;
	border: 1px solid var(--border);
	min-height: 100%;
}

.contact_time .title {
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 20px;
}

.contact_time .time_list {
	display: flex;
	flex-flow: column wrap;
	gap: 20px;
}

.contact_time .time_list .line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
	border-bottom: 1px solid var(--border);
	font-size: 15px;
	font-weight: 600;
}

.contact_time .time_list .line:last-child { border-bottom: none; }

.contact_time .time_list .line span:first-child {
	font-weight: 400;
	color: var(--gray);
}

.contact_requsites {
	background-color: var(--light);
	padding: 32px;
	border-radius: 20px;
}

.contact_requsites .title {
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 20px;
}

.contact_requsites .requsites {
	display: flex;
	flex-flow: column wrap;
	gap: 16px;
}

.contact_requsites .requsites .block span {
	display: inline-block;
	margin-bottom: 2px;
	color: var(--gray);
	font-size: 13px;
}

.contact_requsites .requsites .block p {
	margin-bottom: 0;
	font-weight: 600;
	font-size: 16px;
}

section#delivery_main { margin-bottom: 48px; }

#delivery_main .content {
	font-size: 18px;
	color: var(--gray);
}

#delivery_main .content p { margin-bottom: 16px; }

#delivery_main .content p:last-child { margin-bottom: 0; }

section#delivery_methods { margin-bottom: 52px; }

#delivery_methods h2 { margin-bottom: 32px; }

.method_block {
	text-align: center;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	gap: 20px;
	border: 1px solid var(--border);
	border-radius: 20px;
	padding: 32px;
	margin-bottom: 12px;
}

.method_block img { max-height: 64px; }

.method_block .title {
	margin-bottom: 0;
	font-weight: 600;
	font-size: 22px;
}

.method_block .text {
	margin-bottom: 0;
	color: var(--gray);
	font-size: 15px;
}

section#delivery_tariffs { margin-bottom: 64px; }

#delivery_tariffs h2 { margin-bottom: 32px; }

section#pay_methods { margin-bottom: 52px; }

#pay_methods h2 { margin-bottom: 32px; }

.methods_list {
	display: flex;
	flex-flow: row wrap;
	gap: 12px 16px;
}

.payment_block {
	display: flex;
	align-items: center;
	gap: 14px;
	justify-content: center;
	min-height: 56px;
	padding: 4px 24px;
	border: 1px solid var(--border);
	border-radius: 12px;
}

.payment_block img { max-width: 24px; }

.payment_block span {
	width: calc(100% - 34px);
	font-weight: 600;
	letter-spacing: 0.4px;
}

section#delivery_rules { margin-bottom: 48px; }

#delivery_rules h2 { margin-bottom: 32px; }

#delivery_rules ul {
	display: flex;
	flex-flow: column wrap;
	gap: 16px;
	margin: 0 0 16px 0;
	padding-left: 20px;
	color: var(--gray);
}

#delivery_rules ul li::marker { color: var(--blue); }

section#opt_main { margin-bottom: 64px; }

#opt_main h1 { margin-bottom: 20px; }

#opt_main .content {
	color: var(--gray);
	margin-bottom: 20px;
	font-size: 16px;
}

#opt_main .content p { margin-bottom: 16px; }

#opt_main .content p:last-child { margin-bottom: 0; }

#opt_main .blocks {
	display: flex;
	flex-flow: column wrap;
	gap: 14px;
	margin-bottom: 16px;
}

#opt_main .blocks .block {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 2px 12px;
	min-height: 58px;
	border: 1px solid var(--border);
	border-radius: 20px;
}

#opt_main .blocks .block img { max-width: 35px; }

#opt_main .blocks .block span {
	width: calc(100% - 44px);
	font-weight: 600;
	font-size: 18px;
}

#opt_main .thumb {
	display: block;
	margin: auto;
	border-radius: 20px;
}

section#opt_rules {
	margin-bottom: 64px;
	background-color: var(--light);
	border-radius: 60px;
	padding: 64px 0;
}

#opt_rules .col-xs-12:first-child h2 { margin-bottom: 32px; }

#opt_rules ul {
	display: flex;
	flex-flow: column wrap;
	gap: 16px;
	margin: 0 0 32px 0;
	padding-left: 20px;
	font-size: 16px;
	color: var(--gray);
}

#opt_rules ul li::marker { color: var(--blue); }

#opt_rules table td:last-child { text-align: right; }

#opt_rules table thead {
	color: white;
	background-color: var(--blue);
}

#opt_rules table tbody { background-color: white; }

section#opt_steps { margin-bottom: 48px; }

#opt_steps h2 {
	margin-bottom: 12px;
	text-align: center;
}

#opt_steps .section_text {
	font-size: 16px;
	margin-bottom: 40px;
}

.opt_step {
	margin-bottom: 16px;
	position: relative;
	display: flex;
	flex-flow: column wrap;
	gap: 12px;
	background-color: var(--light);
	padding: 20px;
	border-radius: 16px;
	border: 1px solid #D6E6FF;
	max-width: 270px;
}

.opt_step span {
	display: flex;
	width: 45px;
	height: 45px;
	text-align: center;
	align-items: center;
	justify-content: center;
	color: white;
	line-height: 1;
	font-size: 16px;
	font-weight: 800;
	background-color: var(--blue);
	border-radius: 100%;
}

.opt_step p {
	margin-bottom: 0;
	font-size: 16px;
	font-weight: 500;
}

.opt_step:after {
	position: absolute;
	content: url(img/step.svg);
	top: 0;
	bottom: 0;
	right: -34px;
	margin: auto;
	width: 24px;
	height: 24px;
}

#opt_steps .col-xs-12:last-child .opt_step:after { content: none; }

section#help { margin-bottom: 64px; }

#help h1 { margin-bottom: 16px; }

#help .content {
	color: var(--gray);
	font-size: 18px;
	margin-bottom: 32px;
}

#help .content p { margin-bottom: 16px; }

#help .content p:last-child { margin-bottom: 0; }

.help_btns {
	display: flex;
	flex-flow: row wrap;
	gap: 12px;
	margin-bottom: 32px;
}

.help_btns button {
	height: 40px;
	padding: 4px 24px;
	border: 1px solid var(--border);
	font-weight: 500;
	border-radius: 999px;
	background-color: white;
	letter-spacing: 0.2px;
}

.help_btns button:hover { border-color: var(--blue); }

.help_btns button.active {
	color: white;
	border-color: var(--blue);
	background-color: var(--blue);
}

.help_tabs { margin-bottom: 32px; }

.help_tabs .help_tab { display: none; }

.help_tabs .help_tab.active { display: block; }

.help_tabs .help_tab h3 {
	font-size: 28px;
	margin-bottom: 20px;
	font-weight: 600;
}

.help_list {
	display: flex;
	flex-flow: column wrap;
	gap: 16px;
}

.help_list .help_block {
	padding: 24px 28px;
	border: 1px solid var(--border);
	border-radius: 16px;
}

.help_list .help_block .title {
	margin: 0;
	cursor: pointer;
	position: relative;
	padding-right: 32px;
	font-weight: 600;
	font-size: 18px;
}

.help_list .help_block .title:after {
	position: absolute;
	content: '+';
	width: 28px;
	height: 28px;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	border-radius: 100%;
	background-color: var(--light);
	color: var(--blue);
	font-weight: 500;
	line-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 24px;
	transition: 250ms;
	box-sizing: border-box;
}

.help_list .help_block .title:hover:after { color: var(--black); }

.help_list .help_block.active .title:after {
	transform: rotate(180deg);
	content: '-';
	padding-bottom: 3px;
}

.help_list .help_block .text {
	transition: 250ms;
	margin: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
	font-size: 16px;
	color: var(--gray);
}

.help_list .help_block.active .text {
	height: auto;
	opacity: 1;
	margin-top: 12px;
}

.help_cta {
	background-color: var(--blue);
	color: white;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	gap: 16px;
	padding: 48px;
	text-align: center;
	border-radius: 20px;
}

.help_cta .title {
	margin: 0;
	font-size: 26px;
	font-weight: 600;
}

.help_cta .text {
	margin: 0;
	font-size: 17px;
}

.help_cta button {
	background-color: white;
	color: var(--blue);
	border: 2px solid var(--blue);
	width: 172px;
	height: 44px;
	font-weight: 600;
	letter-spacing: 0.2px;
	border-radius: 999px;
}

.help_cta button:hover {
	color: white;
	border-color: var(--black);
	background-color: var(--black);
}

section#garant_main { margin-bottom: 64px; }

#garant_main h1 { margin-bottom: 16px; }

#garant_main .content {
	color: var(--gray);
	font-size: 18px;
	margin-bottom: 32px;
}

#garant_main .content p { margin-bottom: 16px; }

#garant_main .content p:last-child { margin-bottom: 0; }

#garant_main .blocks {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	background-color: var(--light);
	min-height: 140px;
	padding: 36px 48px;
	border-radius: 20px;
	text-align: center;
}

#garant_main .blocks .block span {
	color: var(--blue);
	font-weight: 500;
	font-family: Jost;
	font-size: 36px;
	line-height: 1;
}

#garant_main .blocks .block p {
	margin: 6px 0 0 0;
	color: var(--gray);
	font-size: 15px;
}

section#garant_terms { margin-bottom: 52px; }

#garant_terms h2 { margin-bottom: 32px; }

.garant_block {
	margin-bottom: 12px;
	padding: 32px;
	border: 1px solid var(--border);
	border-radius: 20px;
	display: flex;
	flex-flow: column wrap;
	align-items: flex-start;
	gap: 20px;
	min-height: 250px;
}

.garant_block img { max-height: 45px; }

.garant_block .title {
	margin: 0;
	font-weight: 600;
	font-size: 18px;
}

.garant_block .text {
	font-size: 15px;
	margin: 0;
	color: var(--gray);
}

section#garant_covers { margin-bottom: 48px; }

#garant_covers h2 { margin-bottom: 32px; }

.garant_list {
	margin-bottom: 16px;
	padding: 28px;
	border-radius: 16px;
	border: 1px solid var(--border);
}

.garant_list p {
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: 600;
}

.garant_list ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-flow: column wrap;
	gap: 20px;
}

.garant_list ul li {
	position: relative;
	min-height: 20px;
	padding-left: 34px;
	color: var(--gray);
	font-size: 15px;
}

.garant_list ul li:before {
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 100%;
	left: 0;
	top: 0;
	background-color: var(--blue);
	border: 7px solid var(--light);
	box-sizing: border-box;
}

#garant_covers .col-xs-12:last-child .garant_list ul li:before {
	background-color: var(--gray);
	border-color: #EDEDED;
}

#garant_refund { margin-bottom: 48px; }

#garant_refund h2 { margin-bottom: 32px; }

.refund_block {
	position: relative;
	padding: 24px;
	background-color: var(--light);
	border-radius: 16px;
	max-width: 270px;
	margin-bottom: 16px;
}

.refund_block:after {
	position: absolute;
	content: url(img/arr_blue.svg);
	top: 40px;
	right: -32px;
}

#garant_refund .col-xs-12:last-child .refund_block:after { content: none; }

.refund_block span {
	display: flex;
	width: 48px;
	height: 48px;
	color: var(--blue);
	font-family: Jost;
	font-size: 22px;
	font-weight: 500;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: white;
	border-radius: 100%;
	margin-bottom: 16px;
}

.refund_block .title {
	margin-bottom: 16px;
	font-size: 18px;
	font-weight: 600;
}

.refund_block .text {
	margin: 0;
	color: var(--gray);
}

.info_block {
	margin-bottom: 64px;
	display: flex;
	align-items: center;
	background-color: var(--light);
	border-radius: 16px;
	padding: 32px;
	gap: 20px;
}

.info_block img { max-width: 56px; }

.info_block .content { width: calc(100% - 76px); }

.info_block .title {
	margin-bottom: 6px;
	font-size: 17px;
	font-weight: 600;
}

.info_block .text {
	margin: 0;
	color: var(--gray);
	font-size: 15px;
}

.garant_cta {
	margin-bottom: 64px;
	color: white;
	background-color: var(--black);
	padding: 40px 48px;
	display: flex;
	align-items: center;
	gap: 20px;
	border-radius: 20px;
}

.garant_cta button {
	width: 174px;
	height: 52px;
	color: white;
	background-color: var(--blue);
	border: 2px solid var(--blue);
	font-weight: 600;
	letter-spacing: 0.2px;
	border-radius: 50px;
	font-size: 14px;
}

.garant_cta button:hover {
	color: var(--blue);
	background-color: white;
}

.garant_cta .content { width: calc(100% - 194px); }

.garant_cta .title {
	margin-bottom: 8px;
	font-size: 24px;
	font-weight: 600;
}

.garant_cta .text {
	font-size: 15px;
	margin: 0;
	color: #CCD9E5;
}

.pagination {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 8px;
}

.pagination * {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	border: 1px solid var(--border);
	font-weight: 600;
	color: var(--black);
}

.pagination a:hover {
	color: var(--blue);
	border-color: var(--blue);
}

.pagination .current {
	color: white;
	background-color: var(--blue);
	border-color: var(--blue);
}

body.page-template-page-production .section_text {
	max-width: 770px;
	margin-left: auto;
	margin-right: auto;
}

#cookies {
	position: fixed;
	z-index: 999999;
	width: 98%;
	max-width: 1256px;
	right: 0;
	left: 0;
	bottom: 42px;
	margin: auto;
	padding: 30px;
	background-color: white;
	border-radius: 16px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	box-shadow: 0 0 20px 0 rgba(0,0,0,0.1);
}

#cookies .content { width: calc(100% - 126px); }

#cookies .title {
	margin-bottom: 14px;
	font-family: Jost;
	font-weight: 500;
	font-size: 22px;
}

#cookies .text { margin-bottom: 0; }

#cookies a {
	color: var(--black);
	text-decoration: underline !important;
}

#cookies a:hover { color: var(--blue); }

#cookies button {
	letter-spacing: 0.1px;
	width: 106px;
	height: 44px;
	color: white;
	background-color: var(--blue);
	border: 1px solid var(--blue);
	border-radius: 500px;
	font-size: 14px;
	font-weight: 500;
	font-family: Jost;
}

#cookies button:hover {
	color: var(--blue);
	background-color: white;
}

section#default_page { margin-bottom: 40px; }

@media(min-width: 1256px) and (max-width: 1369px) {
	#first .block { right: -10px; }
	#first .block:last-child { left: -10px; }
}

@media(min-width: 1256px) {
	.header_white .col-lg-2 { width: 21%; }
	.header_white .col-lg-8 { width: 62%; }
	#product_main .col-md-6 { width: 53%; }
	#product_main .col-md-6:last-child { width: 47%; }
}

@media(min-width: 992px) and (max-width: 1255px) {
	header .links a { font-size: 12px; }
	header .header_white ul { gap: 20px; }
	#h_catalog:before { left: -100px; }
	body .slick-next { right: -10px; }
	body .slick-prev { left: -10px; }
	.product_gallery .slider_big .slick-slide img { height: 440px; }
	.product_gallery .slider_nav .slick-slide img { height: 100px; }
	.news_card { height: 440px; }
	.news_card a.img { height: 200px; }
	.news_card .content { padding: 16px; }
	.news_card .title { font-size: 18px; }
	.news_card .text { height: 80px; }
	.news_card a.link {
		left: 16px;
		bottom: 16px;
	}
	.news_contact { padding: 12px; }
	.news_contact .title, .news_contact .tel { font-size: 18px; }
	.news_contact .buttons a { height: 40px; }
	#production_main .info { gap: 12px; }
	#production_main .info .block { width: calc(50% - 6px); }
	.advant_block { min-height: 200px; }
	.advant_block img {
		display: inline-block;
		vertical-align: middle;
		margin: 0 12px 0 0;
	}
	.advant_block .title {
		margin-bottom: 0;
		width: calc(100% - 72px);
		display: inline-block;
		vertical-align: middle;
	}
	.advant_block .text { margin-top: 16px; }
	.process_block {
		min-height: 200px;
		max-width: 400px;
	}
	.process_row .col-xs-12:nth-child(even) .process_block:after { content: none; }
	.opt_step { padding: 12px; }
	.opt_step:after { right: -25px; }
	.opt_step p { font-size: 14px; }
	.refund_block:after { right: -22px; }
}

@media(min-width: 1px) and (max-width: 991px) {
	.catalog_filter {
		border: none;
		border-radius: 0px;
		padding: 0;
	}
	.catalog_filter {
		padding: 0;
		border: none;
	}

	.catalog_filter .filter_content {
		display: none;
	}

	.catalog_filter .filter_mobile {
		display: none;
	}

	.catalog_filter.open {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 99999;
		background-color: white;
		overflow-y: auto;
		padding: 24px;
		margin: 0;
		border: none;
		border-radius: 0;
	}

	.catalog_filter.open .filter_content {
		display: block;
	}

	.catalog_filter.open .filter_mobile {
		display: block;
	}

	.catalog_filter.open .filter_mobile_title {
		display: none;
	}

	.catalog_filter.open .filter_mobile {
		margin-bottom: 20px;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		font-weight: 600;
		font-size: 16px;
	}
	.catalog_filter.open .filter_mobile a:hover img { opacity: 0.7; }
}

@media(min-width: 768px) and (max-width: 991px) {
	.header_white {
		height: auto;
		padding: 10px 0;
	}
	header .links {
		justify-content: space-between;
		gap: 2px;
		width: 320px;
		margin-left: -30px;
	}
	header .links a {
		color: var(--black);
		font-size: 12px;
	}
	header .links a img { filter: brightness(0); }
	header nav { padding: 6px 0; }
	header nav.nav_big {
		text-transform: uppercase;
		font-size: 12px;
		padding-top: 10px;
	}
	header ul { justify-content: center; }
	h1 { font-size: 32px; }
	#first .text, .section_text { font-size: 16px; }
	#first .blocks {
		margin: 24px 0 32px 0;
		display: flex;
		flex-flow: row wrap;
		gap: 0 12px;
		justify-content: space-between;
		align-items: center;
	}
	#first .block {
		position: initial;
		width: 49%;
	}
	section#h_catalog { margin-top: 0; }
	#h_catalog:before { content: none; }
	body .slick-next { right: -10px; }
	body .slick-prev { left: -10px; }
	.joy_block { margin-bottom: 24px; }
	.pay_block { padding: 16px; }
	.pay_block .title { font-size: 18px; }
	.pay_block .text { font-size: 14px; }
	footer a.logo {
		display: inline-block;
		margin-bottom: 12px;
		height: 120px;
	}
	.product_gallery {
		display: flex;
		gap: 4%;
		margin-bottom: 16px;
	}
	.product_gallery .slider_big {
		width: 80%;
		height: 440px;
	}
	.product_gallery .slider_nav {
		width: 16%;
		height: 440px;
		margin: 0;
	}
	.product_gallery .slider_big .slick-slide img { height: 440px; }
	.product_gallery .slider_nav .slick-slide { margin: 0 0 6px; }
	.product_gallery .slider_nav .slick-slide img {
		height: 78px;
		width: 100%;
	}
	.news_contact .buttons { flex-flow: row wrap; }
	.news_contact .buttons a { width: calc(50% - 6px); }
	section#production_main {
		border-radius: 20px;
		padding: 24px 0;
	}
	#production_main .content { max-width: 100%; }
	#production_main .info { margin-bottom: 20px; }
	section#production_numbers { padding: 24px 0 4px 0; }
	.advant_block { min-height: 220px; }
	.advant_block img {
		display: inline-block;
		vertical-align: middle;
		margin: 0 12px 0 0;
	}
	.advant_block .title {
		margin-bottom: 0;
		width: calc(100% - 72px);
		display: inline-block;
		vertical-align: middle;
	}
	.advant_block .text { margin-top: 16px; }
	section#production_process {
		border-radius: 20px;
		padding: 24px 0;
	}
	.process_block {
		min-height: 200px;
		max-width: 320px;
	}
	.process_row .col-xs-12:nth-child(even) .process_block:after { content: none; }
	section#production_docs { padding: 32px 0 16px 0; }
	.doc_block { padding: 24px 16px; }
	footer { padding: 36px 0 28px 0; }
	.promo_big { padding: 20px; }
	.promo_big .title { font-size: 24px; }
	.promo_big .info { font-size: 14px; }
	.promo_big .val { font-size: 80px; }
	.promo_block { padding: 16px; }
	.promo_block .title { font-size: 18px; }
	.promo_block .text { font-size: 13px; }
	.promocode { padding: 24px; }
	.promocode .code { font-size: 20px; }
	.contact_block { padding: 16px 12px; }
	.contact_block a { font-size: 14px; }
	.contact_block .text { font-size: 12px; }
	.contact_time, .contact_requsites { padding: 24px; }
	.contact_time .time_list .line { font-size: 14px; }
	.method_block { padding: 16px; }
	.method_block .title { font-size: 18px; }
	.method_block .text { font-size: 13px; }
	.payment_block { width: calc(50% - 8px); }
	section#opt_main { margin-bottom: 32px; }
	section#opt_rules { padding: 32px 0; }
	.opt_step { max-width: 100%; }
	.opt_step:after { content: none; }
	#garant_main .blocks { padding: 32px; }
	.garant_block { padding: 16px; }
	.refund_block { max-width: 334px; }
	#garant_refund .col-xs-12:nth-child(2) .refund_block:after { content: none; }
}

@media(min-width: 1px) and (max-width: 767px) {
	.crumbs {
		min-height: 20px;
		margin: 12px 0 16px 0;
	}
	.page_title { margin-bottom: 16px; }
	.slider_4, .slider_3 {
		margin-left: -6px;
		width: 90%;
	}
	.slider_4 .slick-arrow, .slider_3 .slick-arrow { display: none !important; }
	.slider_4 .slick-list, .slider_3 .slick-list { overflow: visible; }
	header .menu_button { display: flex !important; }
	h1, h2, h3, h4, h5, h6 { margin-bottom: 16px; }
	h1, h2 { font-size: 26px; }
	header .container { width: 100%; }
	header .links {
		width: 100%;
		justify-content: space-between;
		gap: 2px;
	}
	header .links a { font-size: 12px; }
	section#first {
		padding-top: 32px;
		background-image: none;
	}
	#first .text, .section_text { font-size: 16px; }
	.section_text { margin-bottom: 20px; }
	#first .blocks {
		margin: 24px 0 32px 0;
		display: flex;
		flex-flow: column wrap;
		gap: 12px;
		justify-content: space-between;
		align-items: center;
	}
	#first .block {
		position: initial;
		width: 100%;
	}
	#first .btn_blue { margin-bottom: 24px; }
	section#h_catalog, section#h_products, section#h_payment, section#h_banners {
		margin-top: 0;
		padding: 32px 0;
	}
	#h_catalog:before { content: none; }
	body .slick-slide { margin: 0 6px; }
	section#solutions, section#joy, section#faq, section#cta {
		border-radius: 0;
		padding: 32px 0;
	}
	.solution .img { height: 200px; }
	.solution .content { padding: 20px; }
	.solution .title { font-size: 22px; }
	.joy_block { margin-bottom: 12px; }
	.joy_block img {
		display: inline-block;
		vertical-align: middle;
		margin-right: 12px;
	}
	.joy_block .title {
		margin: 0;
		display: inline-flex;
		width: calc(100% - 64px);
		min-height: 48px;
		vertical-align: middle;
		align-items: center;
		line-height: 1.1;
		justify-content: center;
	}
	.joy_block .text { margin-top: 16px; }
	.pay_block {
		padding: 24px;
		margin-bottom: 12px;
	}
	.pay_block img {
		display: inline-block;
		vertical-align: middle;
		margin-right: 12px;
	}
	.pay_block .title {
		margin: 0;
		display: inline-flex;
		width: calc(100% - 72px);
		min-height: 56px;
		vertical-align: middle;
		align-items: center;
		line-height: 1.1;
		justify-content: center;
	}
	.pay_block .text { margin-top: 16px; }
	.banner_block { padding: 24px; }
	.banner_block img {
		display: inline-block;
		vertical-align: middle;
		margin-right: 12px;
	}
	.banner_block .title {
		margin: 0;
		display: inline-flex;
		width: calc(100% - 72px);
		min-height: 56px;
		vertical-align: middle;
		align-items: center;
		line-height: 1.1;
		justify-content: center;
		font-size: 20px;
	}
	.banner_block .text { margin-top: 16px; }
	footer { padding: 36px 0 28px 0; }
	footer a.logo {
		display: inline-block;
		vertical-align: top;
		width: 90px;
		margin-right: 28px;
	}
	footer a.logo + div {
		display: inline-block;
		vertical-align: top;
		width: calc(100% - 122px);
	}
	footer a.logo + div .title { display: none; }
	.btn_blue {
		padding: 0;
		width: 100%;
		height: 40px;
	}
	footer .title { margin-top: 28px; }
	footer .last {
		margin-top: 28px;
		flex-flow: column wrap;
		align-items: center;
		justify-content: center;
		gap: 12px;
	}
	.popup .wrap { padding: 24px; }
	#popup_request .wrap { max-height: 740px; }
	.popup .popup_close {
		top: 24px;
		right: 24px;
	}
	.popup .title { font-size: 24px; }
	.popup .text { font-size: 14px; }
	section#page404 { padding: 50px 20px; }
	section#page404 .wrap {
		min-height: 530px;
		gap: 20px;
	}
	#page404 h1 {
		max-width: 320px;
		font-size: 34px;
	}
	#page404 p.text { max-width: 320px; }
	#page404 .buttons {
		width: 100%;
		flex-flow: column wrap;
	}
	#page404 a {
		width: 100%;
		text-align: center;
	}
	.product_gallery .slider_big .slick-slide img {
		border-radius: 12px;
		height: 300px;
	}
	.product_gallery .slider_big .slick-next { right: 10px; }
	.product_gallery .slider_big .slick-prev { left: 10px; }
	.product_gallery .slider_nav .slick-slide img {
		border-radius: 12px;
		height: 80px;
	}
	.product_wrap h1 { font-size: 22px; }
	.prod_price, .prod_price p { gap: 10px; }
	.prod_price p {
		font-size: 26px;
		color: var(--blue);
	}
	.prod_price p span {
		font-size: 14px;
		text-decoration: none;
	}
	#news_page h1 { margin-bottom: 16px; }
	#news_page .thumb {
		margin-bottom: 16px;
		border-radius: 12px;
	}
	section#news_other {
		padding: 40px 0;
		border-radius: 20px 20px 0 0;
	}
	#news_other h2 { margin-bottom: 16px; }
	section#production_main {
		border-radius: 20px;
		padding: 24px 0;
	}
	#production_main .content { max-width: 100%; }
	#production_main .text { font-size: 16px; }
	#production_main .info {
		flex-flow: column wrap;
		gap: 16px;
		margin-bottom: 20px;
	}
	#production_main .info .block { width: 100%; }
	section#production_numbers { padding: 24px 0 4px 0; }
	.number_block .title { font-size: 22px; }
	.advant_block {
		min-height: 1px;
		padding: 20px;
	}
	.advant_block img {
		width: 40px;
		height: 40px;
		display: inline-block;
		vertical-align: middle;
		margin: 0 12px 0 0;
	}
	.advant_block .title {
		margin-bottom: 0;
		width: calc(100% - 56px);
		display: inline-block;
		vertical-align: middle;
	}
	.advant_block .title { font-size: 17px; }
	.advant_block .text { margin-top: 16px; }
	section#production_process {
		border-radius: 20px;
		padding: 24px 0;
	}
	#production_process h2 { margin-bottom: 20px; }
	.process_block {
		min-height: 1px;
		max-width: 100%;
	}
	.process_block:after { content: none; }
	section#production_docs { padding: 32px 0 16px 0; }
	#production_quality img {
		height: 130px;
		border-radius: 10px;
	}
	.doc_block {
		padding: 20px;
		display: flex;
		align-items: center;
		gap: 16px;
	}
	.doc_block .icon {
		padding: 4px;
		width: 38px;
		height: 48px;
	}
	.doc_block .info {
		text-align: left;
		width: calc(100% - 44px);
	}
	.doc_block .title {
		font-size: 18px;
		letter-spacing: -0.2px;
		margin-bottom: 8px;
	}
	.doc_block .sub { margin-bottom: 8px; }
	.promo_big {
		flex-flow: column wrap;
		padding: 20px;
		gap: 24px;
	}
	.promo_big .content {
		width: 100%;
		max-width: 100%;
	}
	.promo_big a { width: 100%; }
	section#promos_list { margin-bottom: 24px; }
	.promo_block { padding: 20px; }
	.promo_block .text {
		min-height: 1px;
		padding-bottom: 16px;
	}
	section#discounts { margin-bottom: 40px; }
	#discounts h2 { margin-bottom: 24px; }
	table.table1 td:first-child { padding-left: 16px; }
	section#promos_code { margin-bottom: 40px; }
	.promocode {
		flex-flow: column wrap;
		gap: 16px;
		padding: 20px;
	}
	.promocode .info { width: 100%; }
	.promocode .code {
		width: 100%;
		max-width: 100%;
		min-height: 45px;
	}
	section#promos_rules { margin-bottom: 32px; }
	section#contacts { margin-bottom: 32px; }
	.contact_block {
		margin-bottom: 20px;
		display: flex;
		align-items: center;
		flex-flow: row wrap;
		gap: 16px;
		padding: 20px;
	}
	.contact_block .icon {
		width: 40px;
		height: 40px;
	}
	.contact_block .info { width: calc(100% - 56px); }
	#map {
		height: 500px;
		border-radius: 12px;
	}
	.contact_time {
		min-height: 1px;
		margin-bottom: 20px;
	}
	.contact_time .time_list .line {
		min-height: 1px;
		padding: 8px 0;
		justify-content: space-between;
	}
	.contact_time .time_list .line span { width: 49%; }
	.method_block {
		gap: 14px;
		padding: 20px;
	}
	.method_block img { max-height: 46px; }
	#delivery_tariffs table td {
		font-size: 12px;
		padding: 20px;
	}
	#delivery_tariffs table td:nth-child(2) { text-align: center; }
	#delivery_methods h2, #delivery_tariffs h2, #pay_methods h2, #delivery_rules h2 { margin-bottom: 24px; }
	.methods_list {
		flex-flow: column wrap;
		gap: 12px;
	}
	.payment_block { width: 100%; }
	section#opt_main { margin-bottom: 32px; }
	#opt_main .thumb {
		border-radius: 12px;
		max-height: 320px;
	}
	section#opt_rules {
		margin-bottom: 40px;
		border-radius: 20px;
		padding: 24px 0;
	}
	#opt_rules h2, #opt_rules .col-xs-12:first-child h2 { margin-bottom: 24px; }
	section#opt_steps { margin-bottom: 24px; }
	.opt_step { max-width: 100%; }
	.opt_step:after { content: none; }
	section#help { margin-bottom: 32px; }
	.help_btns, .help_tabs { margin-bottom: 24px; }
	.help_list .help_block { padding: 20px; }
	.help_cta { padding: 20px; }
	section#garant_main { margin-bottom: 40px; }
	#garant_main h1, #garant_terms h2, #garant_covers h2, #garant_refund h2 { margin-bottom: 24px; }
	#garant_main .blocks {
		padding: 20px;
		flex-flow: column wrap;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
	#garant_main .blocks .block span { font-size: 24px; }
	section#garant_terms { margin-bottom: 28px; }
	.garant_block {
		margin-bottom: 12px;
		padding: 20px;
		display: block;
		min-height: 1px;
	}
	.garant_block img {
		width: 40px;
		height: 40px;
		display: inline-block;
		vertical-align: middle;
		margin-right: 12px;
	}
	.garant_block .title {
		display: inline-block;
		vertical-align: middle;
		width: calc(100% - 56px);
	}
	.garant_block .text { margin-top: 16px; }
	section#garant_covers { margin-bottom: 24px; }
	.garant_list { padding: 20px; }
	#garant_refund { margin-bottom: 24px; }
	.refund_block {
		padding: 20px;
		max-width: 100%;
	}
	.refund_block:after { conent: none; }
	.refund_block span {
		display: inline-flex;
		margin: 0 12px 0 0;
		vertical-align: middle;
	}
	.refund_block .title {
		margin: 0;
		display: inline-block;
		vertical-align: middle;
		width: calc(100% - 64px);
	}
	.refund_block .text { margin-top: 16px; }
	.info_block, .garant_cta {
		flex-flow: column wrap;
		gap: 20px;
		margin-bottom: 40px;
		align-items: flex-start;
		padding: 20px;
	}
	.info_block .content, .garant_cta .content { width: 100%; }
	#cookies {
		flex-flow: column wrap;
		gap: 20px;
		padding: 20px;
		width: calc(100% - 32px);
	}
	#cookies .content, #cookies button { width: 100%; }
	form .wpcf7-response-output {
		position: initial;
		width: 100%;
		margin: 16px 0 0 0 !important;
	}
}