* {
	box-sizing: border-box;
	outline: none!important;
}
html {
	font-size: 16px;
	font-family: "Ubuntu", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #000;
	overflow-x: clip;
}
body {
	margin:0;
}
.container {
	max-width: 1440px;
	width: 100%;
	margin:0 auto;
	padding:0 15px;
}
header {
	color: #fff;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 110;
	padding: 25px 0;
	background: -webkit-gradient(linear, left top, left bottom, from(#FF003D), color-stop(97.92%, #000000));
    background: -o-linear-gradient(top, #FF003D 0%, #000000 97.92%);
    background: linear-gradient(180deg, #FF003D 0%, #000000 97.92%);
	@media screen and (max-width:1025px) {
		padding:15px 0;
	}
	@media screen and (max-width:575px) {
		padding:5px 0;
	}
}
.header_grid {
	display: grid;
	gap:15px;
}
.header_grid .header_contacts_line {
	display: grid;
    grid-template-columns: 1fr 390px;
	align-items: center;
}
.header_grid .phone_link {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.header_main_line {
	display: grid;
	grid-template-columns: 125px 4fr 250px 170px 160px;
	align-items: center;
	gap:30px;
	@media screen and (max-width:1025px) {
		grid-template-columns: 125px 205px 145px 40px;
		gap:15px;
		justify-content: space-between;
	}
	@media screen and (max-width:768px) {
		grid-template-columns: 93.5px 1fr 145px 40px;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 93.5px 130px 30px;
	}
}

.header_main_line .logotype img {
	width:100%;
	object-fit: contain;
	display: block;
}
.search_form_header {
	@media screen and (max-width:1025px) {
		display: none;
	}
}
.header_main_line form.search_form_header input {
	width:100%;
	border-radius: 255px;
	border:none;
	box-shadow: 0 0 14px 0 rgba(0,0,0,.15);
	background:#fff;
	padding:15px 40px 15px 15px;
	height: 40px;
	background-image: url('../template-image/search.svg');
	background-size: 20px;
	background-position:calc( 100% - 10px) center;
	background-repeat: no-repeat;
}
.header_main_line .btns_header {
	display: grid;
	grid-template-columns: repeat(4, 40px);
	align-items: center;
	justify-content: center;
	gap:30px;
	@media screen and (max-width:1025px) {
		gap:15px;
	}
	@media screen and (max-width:768px) {
		order:2;
	}
	@media screen and (max-width:575px) {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		justify-content: stretch;
		gap: 0;
		padding: 8px 10px;
		background: -webkit-gradient(linear, left top, left bottom, from(#FF003D), color-stop(97.92%, #000000));
    	background: -o-linear-gradient(top, #FF003D 0%, #000000 97.92%);
    	background: linear-gradient(180deg, #FF003D 0%, #000000 97.92%);
	}
}
@media screen and (max-width:575px) {
	.header_main_line .btns_header a {
		width: auto;
		height: 36px;
		justify-self: center;
	}
	body {
		padding-bottom: 45px;
	}
}
.header_main_line .btns_header a {
	width: 40px;
	height: 40px;
	@media screen and (max-width:575px) {
		width:30px;
		height: 30px;
	}
}
.header_main_line .btns_header a img {
	width:100%;
	height:100%;
	object-fit: contain;
}
.btn {
	cursor: pointer;
	color:#000;
	background: #fff;
	border:none;
	height: 40px;
	transition: all .6s;
}
.btn:hover {
	transition: all .6s;
}
.header_navi_line {
	position: relative;
	@media screen and (max-width:1025px) {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 320px;
		max-width: 85vw;
		background: #1a1a1a;
		padding: 70px 20px 90px;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		transform: translateX(-100%);
		transition: transform .35s ease;
		z-index: 100;
	}
}
.header_navi_line.is-open {
	@media screen and (max-width:1025px) {
		transform: translateX(0);
	}
}
.header_navi_line .search_form_header.in-mobile-nav {
	display: block;
	margin: 0 0 20px;
}
.header_navi_line .search_form_header.in-mobile-nav input {
	width: 100%;
	border-radius: 255px;
	border: none;
	background: #fff;
	padding: 12px 40px 12px 15px;
	height: 40px;
	background-image: url('../template-image/search.svg');
	background-size: 20px;
	background-position: calc(100% - 12px) center;
	background-repeat: no-repeat;
	font-family: inherit;
	box-shadow: none;
}
.header_navi_line > button.callback.in-mobile-nav {
	display: block;
	width: 100%;
	margin-top: 15px;
	border-radius: 4px;
}
body.nav-open {
	overflow: hidden;
}
body.nav-open::before {
	content: '';
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.5);
	z-index: 90;
}
.mobile_menu {
	cursor: pointer;
}
.mobile_menu.is-active {
	position: relative;
	z-index: 110;
}
.header_navi_line ul.main_nav {
	list-style: none;
	padding: 0;
	margin:0;
	display: flex;
	align-items: center;
	gap:15px;
	@media screen and (max-width:1200px) {
		gap:5px;
	}
	@media screen and (max-width:1025px) {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}
}
.header_navi_line ul.main_nav > li {
	position: static;
}
.submenu-toggle {
	display: none;
}
@media screen and (max-width:1025px) {
	.header_navi_line ul.main_nav li {
		position: relative;
	}
	.header_navi_line .submenu-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		background: transparent;
		border: none;
		cursor: pointer;
		color: #fff;
	}
	.header_navi_line .submenu-toggle::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 10px;
		height: 10px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translate(-50%, -75%) rotate(45deg);
		transition: transform .2s ease;
	}
	.header_navi_line li.open > .submenu-toggle::before {
		transform: translate(-50%, -25%) rotate(-135deg);
	}
	.header_navi_line ul.main_nav > li > a,
	.header_navi_line ul.main_nav ul.submenu > li > a {
		padding-right: 50px;
	}
}
.header_navi_line ul.main_nav > li > a {
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	padding: 3px 6px;
	display: inline-block;
	@media screen and (max-width:1025px) {
		display: block;
		padding: 12px 0;
		font-size: 17px;
		border-bottom: 1px solid rgba(255,255,255,.12);
	}
}
.header_navi_line ul.main_nav ul.submenu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.header_navi_line ul.main_nav > li > ul.submenu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: #1a1a1a;
	padding: 30px max(15px, calc(50vw - 720px));
	display: none;
	grid-template-columns: repeat(6, 1fr);
	gap: 30px 25px;
	z-index: 50;
	max-height: calc(100vh - 130px);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: #a07d4f #1a1a1a;
	@media screen and (max-width:1025px) {
		position: static;
		width: auto;
		transform: none;
		padding: 0 0 0 15px;
		grid-template-columns: 1fr;
		gap: 0;
		box-shadow: none;
		background: transparent;
	}
}
@media screen and (min-width:1026px) {
	.header_navi_line ul.main_nav > li:hover > ul.submenu,
	.header_navi_line ul.main_nav > li:focus-within > ul.submenu {
		display: grid;
	}
}
@media screen and (max-width:1025px) {
	.header_navi_line ul.main_nav > li.open > ul.submenu {
		display: block;
	}
	.header_navi_line ul.main_nav > li > ul.submenu > li.open > ul.submenu {
		display: flex;
	}
	.header_navi_line ul.main_nav > li > ul.submenu > li > ul.submenu {
		display: none;
		padding-left: 15px;
	}
}
.header_navi_line ul.main_nav > li > ul.submenu > li > a {
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	display: block;
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,.2);
	@media screen and (max-width:1025px) {
		padding: 10px 0;
		margin: 0;
		font-size: 15px;
		border-bottom: 1px solid rgba(255,255,255,.08);
	}
}
.header_navi_line ul.main_nav > li > ul.submenu > li > a:hover {
	color: #FF003D;
}
.header_navi_line ul.main_nav > li > ul.submenu ul.submenu {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.header_navi_line ul.main_nav > li > ul.submenu ul.submenu a {
	color: rgba(255,255,255,.75);
	text-decoration: none;
	font-size: 14px;
	display: block;
	padding: 3px 0;
}
.header_navi_line ul.main_nav > li > ul.submenu ul.submenu a:hover {
	color: #fff;
}
.contacts_links_header {
	display: grid;
	color: #fff;
	font-size: 12px;
	@media screen and (max-width:768px) {
		order:3;
	}
}
.contacts_links_header a {
	color: #fff;
	text-decoration: none;
	font-size: 20px;
	font-weight: 500;
	@media screen and (max-width:1025px) {
		font-size: 18px;
	}
	@media screen and (max-width:575px) {
		font-size: 16px;
	}
}
.mobile_menu {
	display: none;
	width:40px;
	height:40px;
	@media screen and (max-width:1025px) {
		display: block;
	}
	@media screen and (max-width:768px) {
		order: 4;
	}
	@media screen and (max-width:575px) {
		width: 30px;
		height: 30px;
	}
}
.mobile_menu img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.header_main_line .logotype {
	@media screen and (max-width:768px) {
		order: 1;
	}
}
.header_main_line > button.btn {
	@media screen and (max-width:768px) {
		display: none;
	}
}

main {
	display: block;
}

.page_section {
	padding: 30px 0 50px;
	@media screen and (max-width:768px) {
		padding: 20px 0 35px;
	}
	@media screen and (max-width:575px) {
		padding: 15px 0 25px;
	}
}
.breadcrumbs ol {
	list-style: none;
	margin: 0 0 15px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	font-size: 13px;
	color: #888;
}
.breadcrumbs li {
	display: inline-flex;
	align-items: center;
}
.breadcrumbs li + li::before {
	content: '/';
	margin-right: 8px;
	color: #ccc;
}
.breadcrumbs a {
	color: #888;
	text-decoration: none;
	transition: color .2s;
}
.breadcrumbs a:hover {
	color: #FF003D;
}
.breadcrumbs li[aria-current="page"] {
	color: #000;
}
.page_title {
	font-size: 32px;
	font-weight: 500;
	margin: 0 0 25px;
	@media screen and (max-width:768px) {
		font-size: 26px;
		margin-bottom: 20px;
	}
	@media screen and (max-width:575px) {
		font-size: 22px;
		margin-bottom: 15px;
	}
}

.contacts_grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 40px;
	align-items: start;
	@media screen and (max-width:1200px) {
		gap: 30px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}
.contacts_info {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.contacts_block {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.contacts_city {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 5px;
}
.contacts_address {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #333;
}
.contacts_metro {
	margin: 0;
	font-size: 14px;
	color: #555;
	padding-left: 22px;
	background: url('../template-image/search.svg') no-repeat left center / 0;
	position: relative;
}
.contacts_metro::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #FF003D;
}
.contacts_map {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f0eb;
	@media screen and (max-width:768px) {
		aspect-ratio: 4 / 3;
	}
}
.contacts_map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.contacts_note {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #444;
	padding: 14px 16px;
	background: #fafafa;
	border-left: 3px solid #FF003D;
	border-radius: 4px;
}

.contacts_form_wrap {
	background: #f5f0eb;
	border-radius: 8px;
	padding: 30px;
	position: sticky;
	top: 180px;
	@media screen and (max-width:1200px) {
		padding: 25px;
	}
	@media screen and (max-width:1025px) {
		position: static;
		padding: 25px;
	}
	@media screen and (max-width:575px) {
		padding: 20px 18px;
		border-radius: 6px;
	}
}
.contacts_form_title {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 8px;
	@media screen and (max-width:575px) {
		font-size: 19px;
	}
}
.contacts_form_text {
	margin: 0 0 20px;
	font-size: 14px;
	color: #555;
}
.contacts_form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.form_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.form_label {
	font-size: 13px;
	color: #555;
	font-weight: 500;
}
.form_field input,
.form_field textarea {
	width: 100%;
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	padding: 11px 14px;
	font-family: inherit;
	font-size: 14px;
	color: #000;
	transition: border-color .2s, box-shadow .2s;
}
.form_field textarea {
	resize: vertical;
	min-height: 110px;
}
.form_field input::placeholder,
.form_field textarea::placeholder {
	color: #aaa;
}
.form_field input:focus,
.form_field textarea:focus {
	border-color: #FF003D;
	box-shadow: 0 0 0 3px rgba(255,0,61,.12);
}
.form_field input.is-invalid,
.form_field textarea.is-invalid {
	border-color: #d10031;
	background: #fff5f7;
}
.form_field input.is-invalid:focus,
.form_field textarea.is-invalid:focus {
	box-shadow: 0 0 0 3px rgba(209,0,49,.18);
}
.form_field input.is-valid,
.form_field textarea.is-valid {
	border-color: #6cbf6c;
}
.form_error {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: #d10031;
	line-height: 1.3;
}
.form_check.is-invalid input[type="checkbox"] {
	border-color: #d10031;
	box-shadow: 0 0 0 3px rgba(209,0,49,.15);
}
.form_check.is-invalid > span {
	color: #d10031;
}
.form_check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 13px;
	line-height: 1.45;
	color: #444;
	cursor: pointer;
	user-select: none;
}
.form_check input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin: 1px 0 0;
	background: #fff;
	border: 1px solid #c4baa8;
	border-radius: 3px;
	cursor: pointer;
	position: relative;
	transition: background .2s, border-color .2s;
}
.form_check input[type="checkbox"]:checked {
	background: #FF003D;
	border-color: #FF003D;
}
.form_check input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.form_check_link {
	color: #FF003D;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.form_check_link:hover {
	text-decoration: none;
}
.contacts_form_submit {
	background: #FF003D;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	border-radius: 4px;
	padding: 0 24px;
	height: 44px;
	border: none;
	cursor: pointer;
	margin-top: 5px;
	transition: background .2s;
}
.contacts_form_submit:hover {
	background: #d10031;
}

.pay_content {
	max-width: 920px;
	display: flex;
	flex-direction: column;
	gap: 35px;
	@media screen and (max-width:768px) {
		gap: 28px;
	}
}
.pay_intro p {
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}
.pay_phones {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	margin: 18px 0 22px;
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
		gap: 10px;
	}
}
.pay_phone {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 20px;
	background: #f5f0eb;
	border-radius: 6px;
	text-decoration: none;
	color: #000;
	border: 1px solid transparent;
	transition: border-color .2s, background .2s;
}
.pay_phone:hover {
	border-color: #FF003D;
	background: #fff5f7;
}
.pay_phone__label {
	font-size: 13px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.pay_phone__num {
	font-size: 22px;
	font-weight: 500;
	color: #000;
	@media screen and (max-width:575px) {
		font-size: 19px;
	}
}
.pay_phone:hover .pay_phone__num {
	color: #FF003D;
}

.pay_block__title {
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 16px;
	@media screen and (max-width:575px) {
		font-size: 17px;
	}
}
.pay_pickup {
	display: flex;
	gap: 16px;
	padding: 20px 22px;
	background: #fafafa;
	border-radius: 6px;
	border-left: 3px solid #FF003D;
	@media screen and (max-width:575px) {
		padding: 16px 18px;
		gap: 12px;
	}
}
.pay_pickup__pin {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	border-radius: 50% 50% 50% 0;
	background: #FF003D;
	transform: rotate(-45deg);
	position: relative;
}
.pay_pickup__pin::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 8px;
	height: 8px;
	background: #fff;
	border-radius: 50%;
}
.pay_pickup__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.pay_pickup__city {
	font-size: 16px;
	font-weight: 500;
}
.pay_pickup__address {
	font-size: 15px;
	color: #333;
	line-height: 1.45;
}
.pay_pickup__address span {
	color: #777;
}
.pay_pickup__warn {
	margin-top: 4px;
	font-size: 13px;
	color: #FF003D;
	font-weight: 500;
}

.pay_methods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	@media screen and (max-width:1025px) {
		grid-template-columns: 1fr 1fr;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
	}
}
.pay_method {
	display: flex;
	gap: 14px;
	padding: 18px;
	border: 1px solid #ececec;
	border-radius: 6px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.pay_method:hover {
	border-color: #FF003D;
	box-shadow: 0 6px 18px rgba(255,0,61,.08);
}
.pay_method__icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff5f7;
	color: #FF003D;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pay_method__icon svg {
	width: 22px;
	height: 22px;
}
.pay_method__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.pay_method__title {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}
.pay_method__desc {
	font-size: 13px;
	color: #777;
	line-height: 1.4;
}

.pay_attention {
	background: #fff8e6;
	border: 1px solid #f3d97a;
	border-radius: 6px;
	padding: 22px 24px;
	@media screen and (max-width:575px) {
		padding: 18px;
	}
}
.pay_attention__head {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #b07f00;
	margin-bottom: 12px;
}
.pay_attention__head svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.pay_attention__head h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
}
.pay_attention__list {
	margin: 0;
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.pay_attention__list li {
	font-size: 14px;
	line-height: 1.55;
	color: #4a3b00;
}
.pay_attention__list li::marker {
	color: #b07f00;
	font-weight: 500;
}

.optom_content {
	display: flex;
	flex-direction: column;
	gap: 40px;
	@media screen and (max-width:768px) {
		gap: 30px;
	}
}
.optom_intro {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 40px;
	@media screen and (max-width:992px) {
		grid-template-columns: 1fr;
		gap: 15px;
	}
}
.optom_intro p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
}

.optom_advantages {
	list-style: none;
	margin: 0;
	padding: 30px;
	background: #f5f0eb;
	border-radius: 8px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	@media screen and (max-width:1025px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
		padding: 20px;
		gap: 18px;
	}
}
.optom_adv {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.optom_adv__icon {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff;
	color: #FF003D;
	display: flex;
	align-items: center;
	justify-content: center;
}
.optom_adv__icon svg {
	width: 28px;
	height: 28px;
}
.optom_adv__title {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}
.optom_adv__body p {
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}

.optom_grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 40px;
	align-items: start;
	@media screen and (max-width:1200px) {
		gap: 30px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}
.optom_section_title {
	font-size: 24px;
	font-weight: 500;
	margin: 0 0 20px;
	@media screen and (max-width:575px) {
		font-size: 20px;
	}
}
.optom_steps_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.optom_steps_list li {
	display: flex;
	gap: 18px;
	padding: 18px 20px;
	background: #fafafa;
	border-radius: 6px;
	border-left: 3px solid #FF003D;
	@media screen and (max-width:575px) {
		padding: 15px 16px;
		gap: 14px;
	}
}
.optom_step__num {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #FF003D;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 16px;
}
.optom_steps_list li p {
	margin: 6px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}
.optom_steps_list li p a {
	color: #FF003D;
	text-decoration: none;
	font-weight: 500;
}
.optom_steps_list li p a:hover {
	text-decoration: underline;
}
.optom_form_wrap {
	position: sticky;
	top: 180px;
	@media screen and (max-width:1025px) {
		position: static;
	}
}

.faq_content {
	max-width: 920px;
	display: flex;
	flex-direction: column;
	gap: 35px;
	@media screen and (max-width:768px) {
		gap: 25px;
	}
}
.faq_group__title {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 16px;
	padding-left: 14px;
	border-left: 3px solid #FF003D;
	@media screen and (max-width:575px) {
		font-size: 18px;
	}
}
.faq_list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.faq_item {
	background: #fff;
	border: 1px solid #e8e3da;
	border-radius: 6px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s;
}
.faq_item[open] {
	border-color: #FF003D;
	box-shadow: 0 4px 14px rgba(255,0,61,.08);
}
.faq_item__question {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 22px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
	user-select: none;
	transition: background .2s, color .2s;
	@media screen and (max-width:575px) {
		padding: 14px 16px;
		font-size: 15px;
		gap: 10px;
	}
}
.faq_item__question::-webkit-details-marker {
	display: none;
}
.faq_item__question::marker {
	content: '';
}
.faq_item__question::before {
	content: '';
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f5f0eb;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 14px;
	transition: transform .25s ease, background-color .2s;
}
.faq_item:hover .faq_item__question {
	color: #FF003D;
}
.faq_item:hover .faq_item__question::before,
.faq_item[open] .faq_item__question::before {
	background-color: #FF003D;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/></svg>");
}
.faq_item[open] .faq_item__question::before {
	transform: rotate(180deg);
}
.faq_item[open] .faq_item__question {
	color: #FF003D;
	border-bottom: 1px solid #f0e6e8;
}
.faq_item__answer {
	padding: 18px 22px 20px;
	font-size: 14px;
	line-height: 1.6;
	color: #333;
	@media screen and (max-width:575px) {
		padding: 14px 16px 16px;
	}
}
.faq_item__answer p {
	margin: 0 0 10px;
}
.faq_item__answer p:last-child {
	margin-bottom: 0;
}
.faq_item__answer ul,
.faq_item__answer ol {
	margin: 0 0 10px;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.faq_item__answer ul li::marker {
	color: #FF003D;
}
.faq_item__answer ol li::marker {
	color: #FF003D;
	font-weight: 500;
}
.faq_item__answer strong {
	font-weight: 500;
	color: #000;
}

.sitemap_grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	align-items: start;
	gap: 20px;
	@media screen and (max-width:1024px) {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}
.sitemap_card {
	background: #fff;
	border: 1px solid #e8e3da;
	border-radius: 8px;
	padding: 22px 24px;
	transition: border-color .2s, box-shadow .2s;
	@media screen and (max-width:575px) {
		padding: 18px 18px;
	}
}
.sitemap_card:hover {
	border-color: #f0c6cd;
	box-shadow: 0 4px 18px rgba(0,0,0,.04);
}
.sitemap_card--wide {
	grid-column: auto;
}
.sitemap_card__title {
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid #FF003D;
	@media screen and (max-width:575px) {
		font-size: 16px;
	}
}
.sitemap_card__title a {
	color: #000;
	text-decoration: none;
	transition: color .2s;
}
.sitemap_card__title a:hover {
	color: #FF003D;
}
.sitemap_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.sitemap_list a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
	transition: color .2s;
}
.sitemap_list a::before {
	content: '';
	flex-shrink: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #d1c8b8;
	transition: background .2s, transform .2s;
}
.sitemap_list a:hover {
	color: #FF003D;
}
.sitemap_list a:hover::before {
	background: #FF003D;
	transform: scale(1.6);
}
.sitemap_list ul {
	list-style: none;
	margin: 8px 0 4px;
	padding: 0 0 0 14px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	border-left: 1px dashed #e2dccf;
}
.sitemap_list ul a {
	font-size: 13px;
	color: #555;
}
.sitemap_list ul a::before {
	width: 3px;
	height: 3px;
}
.sitemap_sub__title {
	font-size: 14px !important;
	font-weight: 500;
	color: #000 !important;
	margin-top: 4px;
}
.sitemap_sub__title::before {
	background: #FF003D !important;
}
.sitemap_list--columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px 22px;
	@media screen and (max-width:1024px) {
		grid-template-columns: repeat(2, 1fr);
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
	}
}
.sitemap_list--columns > li {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.blog_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	margin-bottom: 40px;
	@media screen and (max-width:1025px) {
		gap: 20px;
	}
	@media screen and (max-width:768px) {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-bottom: 30px;
	}
}
.blog_post {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 20px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	overflow: hidden;
	transition: border-color .2s, box-shadow .2s, transform .2s;
	@media screen and (max-width:1200px) {
		grid-template-columns: 180px 1fr;
		gap: 16px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: 160px 1fr;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
		gap: 0;
	}
}
.blog_post:hover {
	border-color: #FF003D;
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
	transform: translateY(-2px);
}
.blog_post__image {
	display: block;
	overflow: hidden;
	background: #fafafa;
	@media screen and (max-width:575px) {
		aspect-ratio: 16 / 9;
	}
}
.blog_post__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
.blog_post:hover .blog_post__image img {
	transform: scale(1.05);
}
.blog_post__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px 22px 18px 0;
	@media screen and (max-width:1025px) {
		padding: 16px 18px 16px 0;
	}
	@media screen and (max-width:575px) {
		padding: 16px 18px 18px;
	}
}
.blog_post__date {
	font-size: 12px;
	color: #888;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.blog_post__title {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	@media screen and (max-width:575px) {
		font-size: 17px;
	}
}
.blog_post__title a {
	color: #000;
	text-decoration: none;
	transition: color .2s;
}
.blog_post__title a:hover {
	color: #FF003D;
}
.blog_post__excerpt {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #555;
	flex: 1;
}
.blog_post__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #FF003D;
	text-decoration: none;
	align-self: flex-start;
}
.blog_post__more svg {
	width: 16px;
	height: 16px;
	transition: transform .2s ease;
}
.blog_post__more:hover svg {
	transform: translateX(4px);
}

.pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 10px;
	@media screen and (max-width:575px) {
		gap: 4px;
	}
}
.pagination__page,
.pagination__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	font-size: 14px;
	font-weight: 500;
	color: #333;
	text-decoration: none;
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 6px;
	transition: border-color .2s, background .2s, color .2s;
	@media screen and (max-width:575px) {
		min-width: 34px;
		height: 34px;
		font-size: 13px;
		padding: 0 8px;
	}
}
.pagination__page:hover,
.pagination__btn:hover {
	border-color: #FF003D;
	color: #FF003D;
}
.pagination__page.is-active {
	background: #FF003D;
	border-color: #FF003D;
	color: #fff;
	cursor: default;
}
.pagination__page.is-active:hover {
	background: #FF003D;
	color: #fff;
}
.pagination__btn svg {
	width: 16px;
	height: 16px;
}
.pagination__btn--prev,
.pagination__btn--next {
	padding: 0;
	min-width: 38px;
	@media screen and (max-width:575px) {
		min-width: 34px;
	}
}
.pagination__dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	color: #888;
	font-weight: 500;
	letter-spacing: 1px;
}
.pagination__page--hide-sm {
	@media screen and (max-width:575px) {
		display: none;
	}
}
.pagination--reviews {
	margin-top: 18px;
	justify-content: flex-start;
}

.reviews_summary_block {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 22px 26px;
	background: #f5f0eb;
	border-radius: 8px;
	margin-bottom: 30px;
	@media screen and (max-width:575px) {
		padding: 18px 18px;
		gap: 16px;
		flex-wrap: wrap;
	}
}
.reviews_summary_block__rating {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}
.reviews_summary_block__score {
	font-size: 30px;
	font-weight: 500;
	color: #FF003D;
	line-height: 1;
}
.reviews_summary_block__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.reviews_summary_block__count {
	font-size: 16px;
	font-weight: 500;
}
.reviews_summary_block__hint {
	font-size: 13px;
	color: #666;
}

.product_review__photos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.product_review__photo {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #ececec;
	transition: border-color .2s, transform .2s;
}
.product_review__photo:hover {
	border-color: #FF003D;
	transform: scale(1.04);
}
.product_review__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.otziv_form_text {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.5;
	color: #555;
}

.photo_upload {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.photo_upload__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 22px 16px;
	border: 2px dashed #d8cdba;
	border-radius: 8px;
	background: #fff;
	color: #888;
	cursor: pointer;
	text-align: center;
	transition: border-color .2s, background .2s, color .2s;
}
.photo_upload__placeholder:hover {
	border-color: #FF003D;
	background: #fff5f7;
	color: #FF003D;
}
.photo_upload__placeholder svg {
	width: 36px;
	height: 36px;
}
.photo_upload__title {
	font-size: 14px;
	font-weight: 500;
}
.photo_upload__hint {
	font-size: 12px;
}
.photo_upload__previews {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.photo_upload__previews:empty {
	display: none;
}
.photo_preview {
	position: relative;
	width: 80px;
	height: 80px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #ececec;
	background: #fafafa;
}
.photo_preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.photo_preview__remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	border: none;
	border-radius: 50%;
	background: rgba(0,0,0,.6);
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .2s;
}
.photo_preview__remove:hover {
	background: #FF003D;
}

.lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .85);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 60px 60px;
	z-index: 200;
	@media screen and (max-width:768px) {
		padding: 60px 15px;
	}
}
.lightbox.is-open {
	display: flex;
	animation: lightbox-fade .2s ease both;
}
@keyframes lightbox-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}
body.lightbox-open {
	overflow: hidden;
}
.lightbox__figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 100%;
	max-height: 100%;
}
.lightbox__img {
	max-width: 100%;
	max-height: calc(100vh - 140px);
	object-fit: contain;
	display: block;
	border-radius: 6px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, .5);
	background: #1a1a1a;
}
.lightbox__counter {
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .04em;
}
.lightbox__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .2s;
	@media screen and (max-width:575px) {
		top: 12px;
		right: 12px;
		width: 36px;
		height: 36px;
	}
}
.lightbox__close:hover {
	background: #FF003D;
}
.lightbox__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
	@media screen and (max-width:575px) {
		width: 40px;
		height: 40px;
	}
}
.lightbox__nav svg {
	width: 22px;
	height: 22px;
}
.lightbox__nav:hover {
	background: #FF003D;
}
.lightbox__nav--prev { left: 18px; }
.lightbox__nav--next { right: 18px; }
@media screen and (max-width:575px) {
	.lightbox__nav--prev { left: 8px; }
	.lightbox__nav--next { right: 8px; }
}

.catalog_grid {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	@media screen and (max-width:1200px) {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 25px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: minmax(0, 1fr);
	}
}

.filter_toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 38px;
	background: #FF003D;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 0 16px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	flex-shrink: 0;
	@media screen and (max-width:1025px) {
		display: inline-flex;
	}
}
.filter_toggle svg { width: 16px; height: 16px; }
.filter_toggle:hover { background: #d10031; }

.catalog_filter {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	padding: 18px 20px;
	@media screen and (max-width:1025px) {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 320px;
		max-width: 85vw;
		height: 100%;
		z-index: 130;
		border-radius: 0;
		border: none;
		transform: translateX(-100%);
		transition: transform .3s ease;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 16px 18px 90px;
	}
}
.catalog_filter.is-open {
	@media screen and (max-width:1025px) {
		transform: translateX(0);
	}
}
.catalog_filter__head {
	display: none;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #ececec;
	@media screen and (max-width:1025px) {
		display: flex;
	}
}
.catalog_filter__title {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
}
.catalog_filter__close {
	width: 36px;
	height: 36px;
	border: none;
	background: #f5f0eb;
	color: #000;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.catalog_filter__close:hover {
	background: #FF003D;
	color: #fff;
}

.mse2_mfilter {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mse2_filters {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.mse2_mf_filter {
	border-bottom: 1px solid #f0e9dd;
}
.mse2_mf_filter:last-child {
	border-bottom: none;
}
.mse2_mf_title {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	transition: color .2s;
}
.mse2_mf_title::after {
	content: '';
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	margin-right: 4px;
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.mse2_mf_filter.is-collapsed .mse2_mf_title::after {
	transform: rotate(-45deg);
}
.mse2_mf_title:hover {
	color: #FF003D;
}
.mse2_mf_content {
	overflow: hidden;
	transition: max-height .25s ease;
	padding-bottom: 14px;
}
.mse2_mf_filter.is-collapsed .mse2_mf_content {
	display: none;
}
.mse2_mf_options {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-height: 240px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding-right: 4px;
}
.mse2_mf_options::-webkit-scrollbar { width: 6px; }
.mse2_mf_options::-webkit-scrollbar-thumb { background: #d8cdba; border-radius: 4px; }
.mse2_mf_options::-webkit-scrollbar-track { background: transparent; }
.mse2_mf_option label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 4px;
	font-size: 13px;
	cursor: pointer;
	color: #333;
	border-radius: 4px;
	transition: background .15s, color .15s;
}
.mse2_mf_option label:hover {
	background: #f5f0eb;
}
.mse2_mf_option input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #c4baa8;
	border-radius: 3px;
	cursor: pointer;
	position: relative;
	transition: background .2s, border-color .2s;
}
.mse2_mf_option input[type="checkbox"]:checked {
	background: #FF003D;
	border-color: #FF003D;
}
.mse2_mf_option input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.mse2_mf_label {
	flex: 1;
}
.mse2_mf_count {
	color: #999;
	font-size: 12px;
}

.price_range__inputs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 14px;
}
.price_range__input {
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	padding: 6px 10px;
	font-size: 13px;
}
.price_range__input span {
	color: #888;
	flex-shrink: 0;
}
.price_range__input input {
	width: 100%;
	border: none;
	background: transparent;
	font-size: 13px;
	font-family: inherit;
	min-width: 0;
}
.price_range__slider {
	position: relative;
	height: 24px;
	margin: 0 8px;
}
.price_range__track {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	background: #e8e2d4;
	border-radius: 2px;
}
.price_range__progress {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	height: 4px;
	background: #FF003D;
	border-radius: 2px;
	left: 0;
	right: 0;
}
.price_range__slider input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
	position: absolute;
	left: -8px;
	right: -8px;
	width: calc(100% + 16px);
	height: 24px;
	background: transparent;
	margin: 0;
}
.price_range__slider input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	pointer-events: auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #FF003D;
	cursor: grab;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.price_range__slider input[type="range"]::-moz-range-thumb {
	pointer-events: auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #FF003D;
	cursor: grab;
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.price_range__slider input[type="range"]::-webkit-slider-runnable-track {
	background: transparent;
}

.mse2_mf_actions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-top: 12px;
	padding-top: 14px;
	border-top: 1px solid #f0e9dd;
}
.mse2_submit {
	background: #FF003D;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0 18px;
	height: 40px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
}
.mse2_submit:hover {
	background: #d10031;
}
.mse2_reset {
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	height: 36px;
	cursor: pointer;
	font-size: 13px;
	font-family: inherit;
	color: #555;
	transition: border-color .2s, color .2s;
}
.mse2_reset:hover {
	border-color: #FF003D;
	color: #FF003D;
}

body.filter-open {
	overflow: hidden;
	@media screen and (min-width:1026px) {
		overflow: auto;
	}
}
body.filter-open::after {
	@media screen and (max-width:1025px) {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,.5);
		z-index: 120;
	}
}

.filter_fab {
	display: none;
	position: fixed;
	left: 18px;
	bottom: 80px;
	height: 46px;
	padding: 0 18px 0 14px;
	background: #FF003D;
	color: #fff;
	border: none;
	border-radius: 999px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(255, 0, 61, .35);
	align-items: center;
	gap: 8px;
	z-index: 95;
	opacity: 0;
	transform: translateY(15px);
	transition: opacity .25s, transform .25s, background .2s;
	pointer-events: none;
	@media screen and (max-width:1025px) {
		display: inline-flex;
	}
	@media screen and (max-width:575px) {
		bottom: 70px;
		left: 14px;
		height: 42px;
		font-size: 13px;
	}
}
.filter_fab svg { width: 18px; height: 18px; }
.filter_fab.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.filter_fab:hover { background: #d10031; }
body.filter-open .filter_fab { opacity: 0; pointer-events: none; }

.catalog_content {
	min-width: 0;
}
.catalog_title {
	margin-bottom: 20px;
}
.catalog_subcats {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
	margin-bottom: 30px;
	@media screen and (max-width:1200px) {
		grid-template-columns: repeat(4, 1fr);
	}
	@media screen and (max-width:768px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media screen and (max-width:575px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}
.cat_tile {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: #000;
}
.cat_tile__image {
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 1;
	background: #fafafa;
	border: 1px solid #ececec;
}
.cat_tile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.cat_tile:hover .cat_tile__image {
	border-color: #FF003D;
}
.cat_tile:hover .cat_tile__image img {
	transform: scale(1.05);
}
.cat_tile__name {
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
}
.cat_tile:hover .cat_tile__name {
	color: #FF003D;
}

.catalog_toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	margin-bottom: 20px;
	padding: 12px 16px;
	background: #f5f0eb;
	border-radius: 6px;
}
.catalog_toolbar__count {
	font-size: 13px;
	color: #555;
	flex: 1;
	min-width: 130px;
}
.catalog_toolbar > .filter_toggle {
	order: -1;
}
.catalog_toolbar__sort {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #555;
}
.catalog_toolbar__sort select {
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	padding: 6px 10px;
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
}

.catalog_products {
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	@media screen and (max-width:1025px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media screen and (max-width:768px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	@media screen and (max-width:575px) {
		gap: 12px;
	}
}
.catalog_products + .pagination {
	margin-top: 30px;
}

.catalog_seo {
	padding: 50px 0;
	background: #fafafa;
	border-top: 1px solid #ececec;
	@media screen and (max-width:768px) {
		padding: 35px 0;
	}
	@media screen and (max-width:575px) {
		padding: 25px 0;
	}
}
.catalog_seo > .container {
	max-width: 960px;
}
.catalog_seo h2 {
	font-size: 26px;
	font-weight: 500;
	margin: 0 0 18px;
	@media screen and (max-width:768px) {
		font-size: 22px;
	}
	@media screen and (max-width:575px) {
		font-size: 19px;
	}
}
.catalog_seo h3 {
	font-size: 19px;
	font-weight: 500;
	margin: 28px 0 12px;
	@media screen and (max-width:575px) {
		font-size: 17px;
		margin-top: 22px;
	}
}
.catalog_seo p {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.7;
	color: #333;
	@media screen and (max-width:575px) {
		font-size: 14px;
		line-height: 1.6;
	}
}
.catalog_seo ul,
.catalog_seo ol {
	margin: 0 0 14px;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
	line-height: 1.6;
	color: #333;
}
.catalog_seo ul li::marker,
.catalog_seo ol li::marker {
	color: #FF003D;
}
.catalog_seo a {
	color: #FF003D;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.catalog_seo a:hover {
	text-decoration: none;
}
.catalog_seo strong {
	font-weight: 500;
	color: #000;
}
.catalog_seo em {
	font-style: italic;
}
.catalog_seo img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 22px auto;
}

.compare_toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	margin-bottom: 22px;
	padding: 14px 18px;
	background: #f5f0eb;
	border-radius: 6px;
	@media screen and (max-width:575px) {
		gap: 10px 16px;
		padding: 12px 14px;
	}
}
.compare_toolbar__count {
	font-size: 14px;
	color: #555;
	flex: 1;
	min-width: 130px;
}
.compare_toolbar__diff {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #444;
	cursor: pointer;
}
.compare_toolbar__diff input {
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	background: #fff;
	border: 1px solid #c4baa8;
	border-radius: 3px;
	cursor: pointer;
	position: relative;
}
.compare_toolbar__diff input:checked {
	background: #FF003D;
	border-color: #FF003D;
}
.compare_toolbar__diff input:checked::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 1px;
	width: 4px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.compare_toolbar__clear {
	background: transparent;
	border: 1px solid #e2dccf;
	color: #555;
	padding: 7px 14px;
	border-radius: 4px;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
}
.compare_toolbar__clear:hover {
	border-color: #FF003D;
	color: #FF003D;
}

.compare_table_wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #ececec;
	border-radius: 8px;
	background: #fff;
}
.compare_table_wrap::-webkit-scrollbar { height: 8px; }
.compare_table_wrap::-webkit-scrollbar-thumb { background: #d8cdba; border-radius: 4px; }
.compare_table {
	border-collapse: collapse;
	min-width: 100%;
}
.compare_table th,
.compare_table td {
	padding: 14px 16px;
	border-bottom: 1px solid #f0e9dd;
	font-size: 14px;
	text-align: left;
	vertical-align: middle;
	min-width: 200px;
	@media screen and (max-width:768px) {
		padding: 12px 12px;
		min-width: 170px;
		font-size: 13px;
	}
	@media screen and (max-width:575px) {
		padding: 10px 10px;
		min-width: 150px;
		font-size: 12px;
		line-height: 1.4;
	}
}
.compare_table tr:last-child th,
.compare_table tr:last-child td {
	border-bottom: none;
}
.compare_table__label {
	background: #fafafa;
	color: #777;
	font-size: 13px;
	font-weight: 500;
	width: 200px;
	min-width: 200px;
	position: sticky;
	left: 0;
	z-index: 2;
	box-shadow: 4px 0 8px -4px rgba(0,0,0,.08);
	@media screen and (max-width:768px) {
		width: 130px;
		min-width: 130px;
		font-size: 12px;
	}
	@media screen and (max-width:575px) {
		width: 110px;
		min-width: 110px;
	}
	@media screen and (max-width:360px) {
		width: 95px;
		min-width: 95px;
		padding: 10px 8px;
	}
}
.compare_table tr:nth-child(odd) .compare_table__label {
	background: #fafafa;
}
.compare_table tr:nth-child(even) .compare_table__label {
	background: #fff;
}
.compare_card_cell {
	padding: 18px !important;
	background: #fff;
	border-bottom: 1px solid #f0e9dd;
	min-width: 220px;
	@media screen and (max-width:768px) {
		min-width: 190px;
		padding: 14px 12px !important;
	}
	@media screen and (max-width:575px) {
		min-width: 165px;
		padding: 12px 10px !important;
	}
	@media screen and (max-width:360px) {
		min-width: 150px;
	}
}
.compare_card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
	word-break: break-word;
}
.compare_card__remove {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: none;
	background: #f5f0eb;
	color: #555;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .2s, color .2s;
}
.compare_card__remove:hover {
	background: #FF003D;
	color: #fff;
}
.compare_card__image {
	width: 100%;
	max-width: 160px;
	aspect-ratio: 1;
	background: #fafafa;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
	box-sizing: border-box;
	overflow: hidden;
	@media screen and (max-width:575px) {
		max-width: 120px;
		padding: 8px;
	}
}
.compare_card__image img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.compare_card__name {
	color: #000;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	@media screen and (max-width:575px) {
		font-size: 12px;
	}
}
.compare_card__name:hover {
	color: #FF003D;
}
.compare_card__price {
	font-size: 16px;
	font-weight: 500;
	color: #FF003D;
	@media screen and (max-width:575px) {
		font-size: 14px;
	}
}
.compare_card__cart {
	background: #FF003D;
	color: #fff;
	border-radius: 4px;
	padding: 0 14px;
	height: 32px;
	font-size: 12px;
	font-weight: 500;
	border: none;
	cursor: pointer;
	@media screen and (max-width:575px) {
		height: 28px;
		padding: 0 10px;
		font-size: 11px;
	}
}
.compare_card__cart:hover {
	background: #d10031;
}
.compare_stock {
	font-size: 13px;
	font-weight: 500;
	@media screen and (max-width:575px) {
		font-size: 12px;
	}
}
.compare_stock--in { color: #27AE60; }
.compare_stock--low { color: #FF8800; }
.compare_stock--out { color: #999; }
.compare_table .product_card__rating--lg span {
	@media screen and (max-width:575px) {
		width: 14px;
		height: 14px;
	}
}

.checkout_grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	grid-template-areas:
		"cart summary"
		"form summary";
	gap: 25px 30px;
	align-items: start;
	@media screen and (max-width:1200px) {
		gap: 25px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"cart"
			"summary"
			"form";
		gap: 20px;
	}
}
.checkout_left {
	display: contents;
	min-width: 0;
}
.checkout_left > .checkout_block:first-child { grid-area: cart; min-width: 0; }
.checkout_left > .checkout_block:last-child { grid-area: form; min-width: 0; }
.checkout_summary { grid-area: summary; min-width: 0; }
.checkout_block {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	padding: 24px 26px;
	@media screen and (max-width:575px) {
		padding: 18px 16px;
	}
}
.checkout_block__title {
	display: flex;
	align-items: baseline;
	gap: 12px;
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 16px;
	@media screen and (max-width:575px) {
		font-size: 18px;
	}
}
.checkout_block__sub {
	font-size: 14px;
	color: #888;
	font-weight: 400;
}

.ms_cart_items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.ms_cart_item {
	display: grid;
	grid-template-columns: 80px 1fr auto auto auto;
	gap: 16px;
	align-items: center;
	padding: 16px 0;
	border-bottom: 1px solid #f0e9dd;
	position: relative;
	@media screen and (max-width:768px) {
		grid-template-columns: 70px 1fr auto;
		grid-template-areas:
			"image body remove"
			"qty qty total";
		gap: 10px 14px;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 60px 1fr auto;
		grid-template-areas:
			"image . remove"
			"body body body"
			"qty qty total";
		gap: 10px 12px;
		align-items: start;
	}
}
.ms_cart_item:last-child {
	border-bottom: none;
}
.ms_cart_item__image {
	display: block;
	width: 80px;
	height: 80px;
	border-radius: 6px;
	overflow: hidden;
	background: #fafafa;
	border: 1px solid #ececec;
	@media screen and (max-width:768px) {
		grid-area: image;
		width: 70px;
		height: 70px;
	}
	@media screen and (max-width:575px) {
		width: 60px;
		height: 60px;
	}
}
.ms_cart_item__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	padding: 6px;
	box-sizing: border-box;
}
.ms_cart_item__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	@media screen and (max-width:768px) {
		grid-area: body;
	}
	@media screen and (max-width:575px) {
		gap: 6px;
	}
}
.ms_cart_item__name {
	color: #000;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	word-break: break-word;
}
.ms_cart_item__name:hover {
	color: #FF003D;
}
.ms_cart_item__meta {
	font-size: 12px;
	color: #888;
	line-height: 1.4;
}
.ms_cart_item__price {
	display: none;
	font-size: 14px;
	font-weight: 500;
	color: #FF003D;
	@media screen and (max-width:768px) {
		display: block;
	}
	@media screen and (max-width:575px) {
		font-size: 15px;
		margin-top: 2px;
	}
}
.ms_cart_item__qty {
	@media screen and (max-width:768px) {
		grid-area: qty;
		justify-self: start;
	}
}
.ms_cart_item__qty .qty_input { height: 36px; }
.ms_cart_item__qty .qty_btn { width: 32px; font-size: 16px; }
.ms_cart_item__qty .qty_input input { width: 42px; font-size: 14px; }
.ms_cart_item__total {
	font-size: 16px;
	color: #000;
	min-width: 110px;
	text-align: right;
	@media screen and (max-width:768px) {
		grid-area: total;
		text-align: right;
	}
	@media screen and (max-width:575px) {
		font-size: 15px;
	}
}
.ms_cart_item__remove {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: #888;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s, color .2s;
	@media screen and (max-width:768px) {
		grid-area: remove;
		justify-self: end;
	}
}
.ms_cart_item__remove:hover {
	background: #FF003D;
	color: #fff;
}
.checkout_continue {
	display: inline-block;
	margin-top: 14px;
	color: #FF003D;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
}
.checkout_continue:hover {
	text-decoration: underline;
}

.checkout_form .checkout_form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}
.checkout_form .form_label em {
	color: #FF003D;
	font-style: normal;
	font-weight: 500;
}
.checkout_submit {
	background: #FF003D;
	color: #fff;
	border: none;
	border-radius: 4px;
	height: 50px;
	padding: 0 24px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	margin-top: 6px;
}
.checkout_submit:hover {
	background: #d10031;
}
.checkout_form__note {
	margin: 6px 0 0;
	font-size: 12px;
	color: #888;
	line-height: 1.5;
}

.checkout_summary {
	@media screen and (min-width:1026px) {
		position: sticky;
		top: 120px;
	}
}
.checkout_summary__inner {
	background: #f5f0eb;
	border-radius: 8px;
	padding: 24px 26px;
	@media screen and (max-width:575px) {
		padding: 18px 16px;
	}
}
.checkout_summary__title {
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 16px;
}
.checkout_promo .form_label {
	font-size: 13px;
	font-weight: 500;
	margin-bottom: 6px;
}
.checkout_promo__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	@media screen and (max-width:575px) {
		grid-template-columns: minmax(0, 1fr);
	}
}
.checkout_promo__row input {
	width: 100%;
	min-width: 0;
	height: 40px;
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	padding: 0 14px;
	font-family: inherit;
	font-size: 14px;
	box-sizing: border-box;
}
.checkout_promo__row input:focus {
	border-color: #FF003D;
	outline: none;
}
.checkout_promo__submit {
	background: #fff;
	border: 1px solid #FF003D;
	border-radius: 4px;
	color: #FF003D;
	padding: 0 16px;
	height: 40px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	font-family: inherit;
	transition: background .2s, color .2s;
	white-space: nowrap;
	@media screen and (max-width:575px) {
		width: 100%;
	}
}
.checkout_promo__submit:hover {
	background: #FF003D;
	color: #fff;
}
.checkout_promo__hint {
	margin-top: 8px;
	font-size: 12px;
	color: #888;
	line-height: 1.4;
}

.checkout_summary__list {
	margin: 22px 0 18px;
	padding: 18px 0 0;
	border-top: 1px solid #e2dccf;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.checkout_summary__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	font-size: 14px;
	margin: 0;
}
.checkout_summary__row dt {
	color: #555;
	margin: 0;
}
.checkout_summary__row dd {
	margin: 0;
	color: #000;
	font-weight: 500;
}
.checkout_summary__row--discount dd {
	color: #27AE60;
}
.checkout_summary__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid #e2dccf;
	border-bottom: 1px solid #e2dccf;
	font-size: 16px;
}
.checkout_summary__total strong {
	font-size: 24px;
	font-weight: 500;
	color: #FF003D;
}
.checkout_summary__total .rub {
	font-size: 14px;
	color: #777;
	font-weight: 400;
}
.checkout_summary__small {
	margin-top: 12px;
	font-size: 12px;
	color: #888;
	line-height: 1.5;
}

.callback_modal {
	border: none;
	padding: 0;
	background: transparent;
	max-width: 440px;
	width: calc(100vw - 32px);
	box-sizing: border-box;
}
.callback_modal::backdrop {
	background: rgba(0, 0, 0, .55);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}
.callback_modal[open] {
	animation: callback-modal-in .25s ease both;
}
.callback_modal[open]::backdrop {
	animation: callback-backdrop-in .25s ease both;
}
@keyframes callback-modal-in {
	from { opacity: 0; transform: scale(.96) translateY(8px); }
	to { opacity: 1; transform: none; }
}
@keyframes callback-backdrop-in {
	from { opacity: 0; }
	to { opacity: 1; }
}
.callback_modal__inner {
	position: relative;
	background: #fff;
	border-radius: 12px;
	padding: 32px 30px 26px;
	box-shadow: 0 12px 40px rgba(0,0,0,.25);
	@media screen and (max-width:575px) {
		padding: 26px 18px 20px;
		border-radius: 10px;
	}
}
.callback_modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: #f5f0eb;
	color: #000;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .2s, color .2s;
}
.callback_modal__close:hover {
	background: #FF003D;
	color: #fff;
}
.callback_modal__title {
	font-size: 22px;
	font-weight: 500;
	margin: 0 0 8px;
	padding-right: 36px;
	@media screen and (max-width:575px) {
		font-size: 19px;
	}
}
.callback_modal__text {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.5;
	color: #555;
}
.callback_modal__form {
	gap: 12px;
}
.callback_modal__submit {
	background: #FF003D;
	color: #fff;
	border: none;
	border-radius: 4px;
	height: 46px;
	padding: 0 22px;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	margin-top: 4px;
	width: 100%;
	font-family: inherit;
	transition: background .2s;
}
.callback_modal__submit:hover {
	background: #d10031;
}

.post_section {
	padding: 30px 0 50px;
	@media screen and (max-width:768px) {
		padding: 20px 0 35px;
	}
	@media screen and (max-width:575px) {
		padding: 15px 0 25px;
	}
}
.post_section .breadcrumbs ol li[aria-current="page"] {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-width: 100%;
}
.post_title {
	max-width: 880px;
	margin-bottom: 16px;
}
.post_meta {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	@media screen and (max-width:575px) {
		gap: 8px 16px;
	}
}
.post_meta__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #666;
}
.post_meta__icon {
	width: 16px;
	height: 16px;
	color: #FF003D;
}
.post_excerpt {
	max-width: 880px;
	font-size: 17px;
	line-height: 1.55;
	color: #333;
	font-weight: 500;
	margin: 0 0 25px;
	padding: 18px 22px;
	background: #f5f0eb;
	border-radius: 6px;
	border-left: 3px solid #FF003D;
	@media screen and (max-width:575px) {
		font-size: 15px;
		padding: 15px 18px;
	}
}
.post_cover {
	margin: 0 0 30px;
	max-width: 100%;
}
.post_cover img {
	width: 100%;
	max-height: 460px;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}
.post_cover figcaption {
	margin-top: 10px;
	font-size: 13px;
	color: #888;
	text-align: center;
	font-style: italic;
}

.post_content {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.7;
	color: #2a2a2a;
	@media screen and (max-width:575px) {
		font-size: 15px;
	}
}
.post_content h2 {
	font-size: 24px;
	font-weight: 500;
	margin: 32px 0 14px;
	@media screen and (max-width:575px) {
		font-size: 20px;
		margin-top: 24px;
	}
}
.post_content h2:first-child {
	margin-top: 0;
}
.post_content h3 {
	font-size: 20px;
	font-weight: 500;
	margin: 24px 0 10px;
}
.post_content p {
	margin: 0 0 14px;
}
.post_content ul,
.post_content ol {
	margin: 0 0 18px;
	padding-left: 22px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.post_content ul li::marker,
.post_content ol li::marker {
	color: #FF003D;
}
.post_content strong {
	font-weight: 500;
	color: #000;
}
.post_content em {
	font-style: italic;
	color: #555;
}
.post_content a:not(.btn) {
	color: #FF003D;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.post_content a:not(.btn):hover {
	text-decoration: none;
}
.post_quote {
	margin: 25px 0;
	padding: 22px 28px;
	background: #fafafa;
	border-left: 4px solid #FF003D;
	border-radius: 6px;
	font-size: 17px;
	line-height: 1.55;
	color: #333;
	font-style: italic;
	display: flex;
	flex-direction: column;
	gap: 10px;
	@media screen and (max-width:575px) {
		padding: 18px 20px;
		font-size: 15px;
	}
}
.post_quote cite {
	font-style: normal;
	font-size: 14px;
	color: #888;
	font-weight: 500;
}

.post_author {
	margin-top: 40px;
	padding: 25px 28px;
	background: #f5f0eb;
	border-radius: 8px;
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 22px;
	align-items: start;
	@media screen and (max-width:575px) {
		grid-template-columns: 80px 1fr;
		gap: 16px;
		padding: 20px;
	}
}
.post_author__avatar {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	border: 3px solid #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,.06);
	@media screen and (max-width:575px) {
		width: 80px;
		height: 80px;
	}
}
.post_author__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.post_author__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.post_author__label {
	font-size: 12px;
	color: #888;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.post_author__name {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 4px;
}
.post_author__bio {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #444;
}

.post_related_products,
.post_related_articles {
	padding-top: 50px;
	@media screen and (max-width:768px) {
		padding-top: 35px;
	}
}

.page_lead {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.6;
	color: #555;
	margin: -10px 0 25px;
	@media screen and (max-width:575px) {
		font-size: 14px;
		margin-top: -5px;
	}
}

.product_card__badges {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	z-index: 2;
}
.product_card__badges .product_card__badge {
	position: static;
}
.product_card__badge--discount {
	background: #FF003D;
	color: #fff;
}
.product_card__badge--new {
	background: #27AE60;
	color: #fff;
}
.product_card__badge--sale {
	background: #FF8800;
	color: #fff;
}

.product_card__prices {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 10px;
}
.product_card__price--new {
	color: #FF003D;
	font-weight: 500;
}
.product_card__price--old {
	font-size: 14px;
	color: #999;
	font-weight: 400;
	text-decoration: line-through;
}

.products_grid--sales {
	margin-bottom: 35px;
	@media screen and (max-width:768px) {
		margin-bottom: 25px;
	}
}

.product_layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	@media screen and (max-width:1200px) {
		gap: 30px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: minmax(0, 1fr);
		gap: 25px;
	}
}
.product_layout > * {
	min-width: 0;
}
.product_left {
	min-width: 0;
}
.product_gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}
.product_slider {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	border: 1px solid #ececec;
	border-radius: 8px;
	background: #fafafa;
	overflow: hidden;
}
.product_slider__track {
	display: flex;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.product_slider__track::-webkit-scrollbar {
	display: none;
}
.product_slide {
	flex: 0 0 100%;
	scroll-snap-align: start;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
	box-sizing: border-box;
	cursor: zoom-in;
	text-decoration: none;
	color: inherit;
	@media screen and (max-width:575px) {
		padding: 20px;
		aspect-ratio: 1;
	}
}
.product_slide img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	display: block;
}
.product_slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #ececec;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	z-index: 3;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
	transition: background .2s, color .2s, opacity .2s;
	@media screen and (max-width:575px) {
		width: 36px;
		height: 36px;
	}
}
.product_slider__nav svg {
	width: 18px;
	height: 18px;
}
.product_slider__nav--prev { left: 12px; }
.product_slider__nav--next { right: 12px; }
.product_slider__nav:hover {
	background: #FF003D;
	color: #fff;
	border-color: #FF003D;
}
.product_slider__nav[disabled] {
	opacity: .35;
	cursor: not-allowed;
}
.product_slider__dots {
	position: absolute;
	left: 50%;
	bottom: 12px;
	transform: translateX(-50%);
	display: flex;
	gap: 6px;
	z-index: 3;
}
.product_slider__dot {
	width: 8px;
	height: 8px;
	border: none;
	padding: 0;
	border-radius: 50%;
	background: rgba(0,0,0,.2);
	cursor: pointer;
	transition: background .2s, transform .2s;
}
.product_slider__dot.is-active {
	background: #FF003D;
	transform: scale(1.3);
}
.product_thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 8px;
	@media screen and (max-width:575px) {
		grid-template-columns: repeat(5, 1fr);
		gap: 6px;
	}
}
.product_thumb {
	border: 2px solid transparent;
	border-radius: 6px;
	background: #fafafa;
	cursor: pointer;
	padding: 6px;
	overflow: hidden;
	aspect-ratio: 1;
	transition: border-color .2s;
}
.product_thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.product_thumb.is-active {
	border-color: #FF003D;
}

.product_info {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	padding: 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	@media screen and (max-width:1200px) {
		padding: 22px;
	}
	@media screen and (max-width:575px) {
		padding: 20px 18px;
		gap: 14px;
	}
}
.product_info__title {
	font-size: 22px;
	font-weight: 500;
	margin: 0;
	line-height: 1.3;
	@media screen and (max-width:575px) {
		font-size: 19px;
	}
}
.product_info__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	font-size: 13px;
	color: #777;
}
.product_info__meta strong {
	color: #000;
	font-weight: 500;
}
.product_info__meta a {
	color: #FF003D;
	text-decoration: none;
}
.product_info__meta a:hover {
	text-decoration: underline;
}
.product_info__rating {
	display: flex;
	align-items: center;
	gap: 10px;
}
.product_card__rating--lg span {
	width: 18px;
	height: 18px;
}
.product_card__rating--4 span:last-child {
	background: #ddd;
}
.product_card__rating--3 span:nth-last-child(-n+2) {
	background: #ddd;
}
.product_card__rating--2 span:nth-last-child(-n+3) {
	background: #ddd;
}
.product_card__rating--1 span:nth-last-child(-n+4) {
	background: #ddd;
}
.product_card__rating--0 span:nth-child(n) {
	background: #ddd;
}
.product_info__reviews_link {
	font-size: 13px;
	color: #777;
	text-decoration: none;
	border-bottom: 1px dashed #aaa;
}
.product_info__reviews_link:hover {
	color: #FF003D;
	border-color: #FF003D;
}
.product_info__stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
}
.product_info__stock--available { color: #27AE60; }
.product_info__stock--out { color: #999; }
.product_card__stock {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	padding: 2px 8px;
	border-radius: 10px;
	margin-top: 6px;
}
.product_card__stock--out { background: #f3e2e2; color: #b04545; }
.product_card__stock--preorder { background: #f3ece2; color: #8d6f3a; }
.product_card__cart_placeholder { flex: 1; }
.product_info__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 3px rgba(39, 174, 96, .15);
}
.product_info__price_block {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 14px;
	padding: 14px 16px;
	background: #f5f0eb;
	border-radius: 6px;
}
.product_info__price {
	font-size: 28px;
	font-weight: 500;
	color: #FF003D;
	@media screen and (max-width:575px) {
		font-size: 24px;
	}
}
.product_info__price_old {
	font-size: 16px;
	color: #999;
	text-decoration: line-through;
}
.product_info__price_block .product_card__badge {
	position: static;
	margin-left: auto;
}

.product_info__options .form_label {
	display: block;
	margin-bottom: 8px;
}
.option_pills {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.option_pills input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	left: 0;
	top: 0;
}
.option_pills label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border: 1px solid #e2dccf;
	border-radius: 999px;
	background: #fff;
	font-size: 13px;
	cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.option_pills label:hover {
	border-color: #FF003D;
	color: #FF003D;
}
.option_pills input[type="radio"]:checked + label {
	background: #FF003D;
	border-color: #FF003D;
	color: #fff;
}

.product_info__qty_row {
	display: flex;
	gap: 10px;
	align-items: stretch;
}
.qty_input {
	display: flex;
	align-items: stretch;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	overflow: hidden;
}
.qty_btn {
	width: 38px;
	background: #fff;
	border: none;
	cursor: pointer;
	font-size: 18px;
	color: #555;
	transition: background .2s, color .2s;
}
.qty_btn:hover {
	background: #FF003D;
	color: #fff;
}
.qty_input input {
	width: 50px;
	border: none;
	border-left: 1px solid #e2dccf;
	border-right: 1px solid #e2dccf;
	text-align: center;
	font-size: 15px;
	font-family: inherit;
}
.product_info__cart {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: #FF003D;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	height: 44px;
	border-radius: 4px;
	border: none;
	cursor: pointer;
	transition: background .2s;
}
.product_info__cart svg {
	width: 18px;
	height: 18px;
}
.product_info__cart:hover {
	background: #d10031;
}

.product_info__actions {
	display: flex;
	gap: 10px;
}
.product_info__action_btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 38px;
	background: #fff;
	border: 1px solid #e2dccf;
	border-radius: 4px;
	cursor: pointer;
	font-size: 13px;
	color: #444;
	font-family: inherit;
	transition: border-color .2s, color .2s;
}
.product_info__action_btn img {
	width: 16px;
	height: 16px;
	filter: brightness(0);
	transition: filter .2s;
}
.product_info__action_btn:hover {
	border-color: #FF003D;
	color: #FF003D;
}
.product_info__action_btn:hover img,
.product_info__action_btn.is-active img {
	filter: brightness(0) saturate(100%) invert(20%) sepia(96%) saturate(7404%) hue-rotate(338deg) brightness(95%) contrast(112%);
}
.product_info__action_btn.is-active {
	border-color: #FF003D;
	color: #FF003D;
}

.product_info__specs {
	margin: 0;
	display: flex;
	flex-direction: column;
	border-top: 1px solid #f0e9dd;
	padding-top: 16px;
}
.spec_row {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px dashed #f0e9dd;
	font-size: 13px;
}
.spec_row:last-child {
	border-bottom: none;
}
.spec_row dt {
	color: #888;
	margin: 0;
}
.spec_row dd {
	margin: 0;
	color: #000;
	font-weight: 500;
}

.product_reviews_block {
	margin-top: 50px;
	@media screen and (max-width:768px) {
		margin-top: 35px;
	}
}
.product_reviews_head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px 20px;
	margin-bottom: 20px;
}
.product_reviews_head .section_heading {
	margin: 0;
}
.product_reviews_summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.product_reviews_count {
	font-size: 14px;
	color: #555;
}
.product_reviews_grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	@media screen and (max-width:1200px) {
		gap: 25px;
	}
	@media screen and (max-width:768px) {
		grid-template-columns: minmax(0, 1fr);
		gap: 25px;
	}
}
.product_reviews_list {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
}
.product_review {
	display: grid;
	grid-template-columns: 50px 1fr;
	gap: 16px;
	padding: 18px 20px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 6px;
	@media screen and (max-width:575px) {
		grid-template-columns: 40px 1fr;
		gap: 12px;
		padding: 14px 16px;
	}
}
.product_review__avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #f5f0eb;
	color: #FF003D;
	font-weight: 500;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	@media screen and (max-width:575px) {
		width: 40px;
		height: 40px;
		font-size: 14px;
	}
}
.product_review__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.product_review__head {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	align-items: baseline;
}
.product_review__name {
	font-weight: 500;
}
.product_review__date {
	font-size: 12px;
	color: #888;
}
.product_review__text {
	margin: 4px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}

.product_review_form_wrap {
	background: #f5f0eb;
	border-radius: 8px;
	padding: 24px 26px;
	@media screen and (max-width:575px) {
		padding: 20px 18px;
	}
}
.product_review_form_title {
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 14px;
}
.product_review_form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
	}
}
.rating_input {
	position: relative;
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 4px;
	justify-content: flex-end;
}
.rating_input input[type="radio"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	left: 0;
	top: 0;
}
.rating_input label {
	width: 26px;
	height: 26px;
	background: #ddd;
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	cursor: pointer;
	transition: background .2s;
}
.rating_input label:hover,
.rating_input label:hover ~ label,
.rating_input input[type="radio"]:checked ~ label {
	background: #FFB800;
}

.product_similar {
	padding-top: 50px !important;
	@media screen and (max-width:768px) {
		padding-top: 35px !important;
	}
}

.section_heading {
	font-size: 28px;
	font-weight: 500;
	margin: 0 0 25px;
	@media screen and (max-width:768px) {
		font-size: 24px;
		margin-bottom: 20px;
	}
	@media screen and (max-width:575px) {
		font-size: 20px;
		margin-bottom: 15px;
	}
}

.banners_section {
	padding: 35px 0 0;
	@media screen and (max-width:575px) {
		padding-top: 20px;
	}
}
.banners_grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 15px;
	@media screen and (max-width:1200px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media screen and (max-width:768px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}
.banner_card {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px;
	text-decoration: none;
	aspect-ratio: 447 / 280;
}
.banner_card img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.banner_card:hover img {
	transform: scale(1.05);
}
.banner_label {
	position: absolute;
	left: 50%;
	bottom: 12px;
	transform: translateX(-50%);
	background: #fff;
	color: #000;
	font-size: 14px;
	font-weight: 500;
	padding: 6px 14px;
	border-radius: 4px;
	white-space: nowrap;
}

.intro_section {
	padding: 45px 0;
	@media screen and (max-width:768px) {
		padding: 30px 0;
	}
}
.intro_grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	@media screen and (max-width:992px) {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}
.intro_text h1 {
	font-size: 28px;
	font-weight: 500;
	margin: 0 0 18px;
	@media screen and (max-width:768px) {
		font-size: 22px;
	}
}
.intro_text p {
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 12px;
	color: #333;
}
.intro_features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.intro_features li {
	border: 1px solid #e6e6e6;
	border-radius: 4px;
	transition: border-color .2s, background .2s;
}
.intro_features li:hover {
	border-color: #FF003D;
	background: #fff5f7;
}
.intro_features a {
	display: block;
	padding: 14px 18px;
	color: #000;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
}

.products_section {
	padding: 30px 0;
}
.products_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	@media screen and (max-width:1025px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media screen and (max-width:768px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	@media screen and (max-width:575px) {
		gap: 12px;
	}
}
.product_card {
	display: flex;
	flex-direction: column;
	border: 1px solid #ececec;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
	transition: box-shadow .25s, border-color .25s;
}
.product_card:hover {
	box-shadow: 0 8px 24px rgba(0,0,0,.08);
	border-color: #ddd;
}
.product_card__media {
	position: relative;
	aspect-ratio: 1;
	background: #fafafa;
	padding: 18px;
	box-sizing: border-box;
	overflow: hidden;
}
.product_card__image {
	display: block;
	width: 100%;
	height: 100%;
}
.product_card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
.product_card__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #FF003D;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 4px 10px;
	border-radius: 3px;
	z-index: 2;
}
.product_card__icons {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity .25s, transform .25s;
}
.product_card:hover .product_card__icons {
	opacity: 1;
	transform: translateX(0);
}
@media (hover: none) {
	.product_card__icons {
		opacity: 1;
		transform: none;
	}
}
.product_card__icon {
	width: 34px;
	height: 34px;
	border: none;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.1);
	cursor: pointer;
	padding: 7px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .2s;
}
.product_card__icon:hover {
	background: #FF003D;
}
.product_card__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0);
	transition: filter .2s;
}
.product_card__icon:hover img {
	filter: brightness(0) invert(1);
}
.product_card__body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.product_card__price {
	font-size: 18px;
	font-weight: 500;
}
.product_card__name {
	color: #000;
	text-decoration: none;
	font-size: 13px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 54px;
}
.product_card__name:hover {
	color: #FF003D;
}
.product_card__footer {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	flex-wrap: wrap;
}
.product_card__cart {
	flex: 0 0 auto;
	background: #FF003D;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	border-radius: 4px;
	padding: 0 12px;
	height: 30px;
	cursor: pointer;
	border: none;
	transition: background .2s;
}
.product_card__cart:hover {
	background: #d10031;
}
.product_card__rating {
	display: inline-flex;
	gap: 2px;
	margin-left: auto;
}
.product_card__rating span {
	width: 16px;
	height: 16px;
	background: #FFB800;
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.catalog_section {
	background: #f5f0eb;
	padding: 40px 0;
	@media screen and (max-width:768px) {
		padding: 30px 0;
	}
}
.catalog_section .catalog_grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 25px;
	@media screen and (max-width:1025px) {
		grid-template-columns: repeat(3, 1fr);
		gap: 25px 20px;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px 15px;
	}
}
.catalog_section .catalog_col__title {
	display: block;
	font-size: 16px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #d8d2cb;
}
.catalog_section .catalog_col__title:hover {
	color: #FF003D;
}
.catalog_section .catalog_col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.catalog_section .catalog_col ul a {
	color: #555;
	text-decoration: none;
	font-size: 13px;
}
.catalog_section .catalog_col ul a:hover {
	color: #FF003D;
}

.blog_section {
	padding: 40px 0;
	@media screen and (max-width:768px) {
		padding: 30px 0;
	}
}
.blog_grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	@media screen and (max-width:1025px) {
		grid-template-columns: repeat(3, 1fr);
	}
	@media screen and (max-width:768px) {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}
	@media screen and (max-width:575px) {
		gap: 12px;
	}
}
.blog_card {
	display: block;
	color: #000;
	text-decoration: none;
}
.blog_card__image {
	overflow: hidden;
	border-radius: 6px;
	aspect-ratio: 4 / 3;
	margin-bottom: 12px;
	background: #fafafa;
}
.blog_card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .4s ease;
}
.blog_card:hover .blog_card__image img {
	transform: scale(1.05);
}
.blog_card__title {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}
.blog_card:hover .blog_card__title {
	color: #FF003D;
}

footer {
	background: #111;
	color: #fff;
	padding: 50px 0 25px;
	margin-top: 60px;
	@media screen and (max-width:1025px) {
		padding: 40px 0 20px;
		margin-top: 40px;
	}
	@media screen and (max-width:575px) {
		padding: 30px 0 20px;
		margin-top: 30px;
	}
}
.footer_grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1.5fr;
	gap: 50px;
	@media screen and (max-width:1200px) {
		gap: 35px;
	}
	@media screen and (max-width:1025px) {
		grid-template-columns: 1fr 1fr;
		gap: 30px 40px;
	}
	@media screen and (max-width:768px) {
		gap: 30px;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}
.footer_subscribe {
	@media screen and (max-width:1025px) {
		grid-column: 1 / -1;
	}
}
.footer_col {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.footer_logo {
	display: block;
	width: 160px;
	margin-bottom: 5px;
}
.footer_logo img {
	width: 100%;
	display: block;
}
.footer_contact {
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	transition: color .2s;
}
.footer_contact:hover {
	color: #FF003D;
}
.footer_copyright {
	margin-top: 10px;
	font-size: 13px;
	color: rgba(255,255,255,.55);
}
.footer_links ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
	@media screen and (max-width:768px) {
		grid-template-columns: 1fr 1fr;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
	}
}
.footer_links a {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	transition: color .2s;
}
.footer_links a:hover {
	color: #FF003D;
}
.footer_subscribe_title {
	font-size: 22px;
	font-weight: 500;
}
.footer_subscribe_text {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255,255,255,.7);
}
.subscribe_form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
	margin-top: 5px;
	max-width: 480px;
	@media screen and (max-width:1025px) {
		max-width: 100%;
	}
	@media screen and (max-width:575px) {
		grid-template-columns: 1fr;
	}
}
.subscribe_form input {
	height: 40px;
	border: 1px solid rgba(255,255,255,.2);
	background: transparent;
	color: #fff;
	border-radius: 255px;
	padding: 0 18px;
	font-family: inherit;
	font-size: 14px;
}
.subscribe_form input::placeholder {
	color: rgba(255,255,255,.5);
}
.subscribe_form input:focus {
	border-color: #FF003D;
}
.subscribe_form button {
	height: 40px;
	border: none;
	border-radius: 255px;
	padding: 0 22px;
	background: #FF003D;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background .2s;
}
.subscribe_form button:hover {
	background: #d10031;
}
.footer_socials_title {
	margin-top: 10px;
	font-size: 14px;
	color: rgba(255,255,255,.7);
}
.footer_socials {
	display: flex;
	gap: 12px;
}
.footer_socials .social_link {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.footer_socials .social_link:hover {
	background: #FF003D;
}
.footer_socials .social_link svg {
	width: 22px;
	height: 22px;
}
.footer_disclaimer {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.12);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 12px;
	color: rgba(255,255,255,.55);
	line-height: 1.5;
	@media screen and (max-width:1025px) {
		margin-top: 30px;
	}
	@media screen and (max-width:768px) {
		font-size: 11px;
		gap: 6px 15px;
	}
	@media screen and (max-width:575px) {
		flex-direction: column;
		gap: 8px;
		margin-top: 25px;
	}
}
.footer_disclaimer span:first-child {
	color: rgba(255,255,255,.85);
	font-weight: 500;
}

.btn_up {
	position: fixed;
	right: 25px;
	bottom: 25px;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: #FF003D;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: opacity .3s, transform .3s, visibility .3s, background .2s;
	z-index: 95;
	@media screen and (max-width:575px) {
		right: 15px;
		bottom: 75px;
		width: 42px;
		height: 42px;
	}
}
.btn_up.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.btn_up:hover {
	background: #d10031;
}
.btn_up svg {
	width: 22px;
	height: 22px;
}
/* ===== Избранное (favorites) ===== */
.product_card__icon.is-active {
	background: #FF003D;
}
.product_card__icon.is-active img {
	filter: brightness(0) invert(1);
}
.product_card.is-fav .product_card__icons {
	opacity: 1;
	transform: translateX(0);
}
.icon_favorite {
	position: relative;
}
.favorite_count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	box-sizing: border-box;
	border-radius: 9px;
	background: #FF003D;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.favorite_count[hidden] {
	display: none;
}
.favorites_empty {
	padding: 40px 0 60px;
	text-align: center;
}
.favorites_empty p {
	margin: 0 0 18px;
	font-size: 16px;
	color: #555;
}

/* ===== Сравнение (comparison) ===== */
.icon_compare {
	position: relative;
}
.compare_count {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	box-sizing: border-box;
	border-radius: 9px;
	background: #FF003D;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.compare_count[hidden] {
	display: none;
}
.product_card.is-cmp .product_card__icons {
	opacity: 1;
	transform: translateX(0);
}

/* ===== Сравнение — фикс. ширина колонок (не растягивать при малом числе товаров) ===== */
.compare_table {
	min-width: 0;
	width: auto;
}
.compare_table .compare_card_cell,
.compare_table td:not(.compare_table__label) {
	width: 220px;
}
@media screen and (max-width: 768px) {
	.compare_table .compare_card_cell,
	.compare_table td:not(.compare_table__label) {
		width: 190px;
	}
}
@media screen and (max-width: 575px) {
	.compare_table .compare_card_cell,
	.compare_table td:not(.compare_table__label) {
		width: 165px;
	}
}
